import _ from 'lodash'; import classnames from 'classnames'; import React from 'react'; export default class Modal extends React.Component { getModalButtons(actions) { let buttons = actions.map((action, index) => { let classes = classnames('button', { [action.supplementalClassName]: action.supplementalClassName, 'button--deemphasize': action.type === 'secondary', 'button--primary': action.type === 'primary' }); return ( ); }); return (
{buttons}
); } getClickHandler(action) { return () => { if (action.triggerDismiss) { this.props.dismiss(); } if (action.clickHandler) { action.clickHandler(); } } } handleMenuWrapperClick(event) { event.stopPropagation(); } render() { let contentClasses = classnames('modal__content', `modal__content--align-${this.props.alignment}`); return (
{this.props.heading}
{this.props.content}
{this.getModalButtons(this.props.actions)}
); } } Modal.defaultProps = { alignment: 'left' };