aboutsummaryrefslogtreecommitdiffstats
path: root/src/react/ModalHeader.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/react/ModalHeader.js')
-rw-r--r--src/react/ModalHeader.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/react/ModalHeader.js b/src/react/ModalHeader.js
new file mode 100644
index 0000000..c6be5ef
--- /dev/null
+++ b/src/react/ModalHeader.js
@@ -0,0 +1,41 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import SVGIcon from './SVGIcon.js';
+
+const iconMaper = {
+ error: 'error',
+ info: 'errorCircle',
+ alert: 'exclamationTriangleLine'
+};
+
+const headerTypes = {
+ error: 'sdc-error__header',
+ info: 'sdc-info__header',
+ alert: 'sdc-alert__header',
+ custom: 'sdc-custom__header'
+}
+
+
+
+const Header = ({children, onClose, type}) => (
+ <div className={ headerTypes[type] + ' sdc-modal__header'} >
+ {type !== 'custom'
+ &&
+ <SVGIcon iconClassName='sdc-modal__icon' className='sdc-modal__svg-use' name={iconMaper[type]}/>
+
+ }
+ {children}
+ <SVGIcon iconClassName ='sdc-modal__close-button-svg' className='sdc-modal__close-button' onClick={onClose} name='close'/>
+ </div>
+);
+
+Header.propTypes = {
+ children: PropTypes.node,
+ onClose: PropTypes.func
+};
+
+Header.defaultProps = {
+ type: 'info'
+};
+
+export default Header; \ No newline at end of file