diff --git a/examples/client/scripts/components/ModalExamples.js b/examples/client/scripts/components/ModalExamples.js
index 1c1d895ab..0bf2743a2 100644
--- a/examples/client/scripts/components/ModalExamples.js
+++ b/examples/client/scripts/components/ModalExamples.js
@@ -21,6 +21,10 @@ const LOOKUP_DATA = [
{ label: 'Opportunity', value: '3', icon: 'standard:opportunity' },
];
+function onModalToastClose() {
+ alert('Close modal toast requested');
+}
+
export default class ModalExamples extends Component {
constructor() {
super();
@@ -28,6 +32,7 @@ export default class ModalExamples extends Component {
modal1: { opened: false },
modal2: { opened: false },
modal3: { opened: false },
+ modal4: { opened: false },
};
}
@@ -49,6 +54,16 @@ export default class ModalExamples extends Component {
const hideModal1 = this.hideModal.bind(this, 'modal1');
const hideModal2 = this.hideModal.bind(this, 'modal2');
const hideModal3 = this.hideModal.bind(this, 'modal3');
+ const hideModal4 = this.hideModal.bind(this, 'modal4');
+
+ const modalToastConfig = {
+ modalToastClose: onModalToastClose,
+ modalToastLevel: 'error',
+ modalToastIcon: 'warning',
+ modalToastAlt: 'Close',
+ modalToastText: 'This is error alert with icon and close button.',
+ };
+
return (
Modal
@@ -147,6 +162,31 @@ export default class ModalExamples extends Component {
+
+
Show Modal #4 (Modal toast)
+
+
+
+
+
+ Sit nulla est ex deserunt exercitation anim occaecat. Nostrud ullamco deserunt aute id consequat veniam incididunt duis in sint irure nisi. Mollit officia cillum Lorem ullamco minim nostrud elit officia tempor esse quis. Cillum sunt ad dolore
+ quis aute consequat ipsum magna exercitation reprehenderit magna. Tempor cupidatat consequat elit dolor adipisicing.
+
+
+ Dolor eiusmod sunt ex incididunt cillum quis nostrud velit duis sit officia. Lorem aliqua enim laboris do dolor eiusmod officia. Mollit incididunt nisi consectetur esse laborum eiusmod pariatur proident. Eiusmod et adipisicing culpa deserunt
+ nostrud ad veniam nulla aute est. Labore esse esse cupidatat amet velit id elit consequat minim ullamco mollit enim excepteur ea.
+
+
+
+
+
+
);
}
diff --git a/src/scripts/Modal.js b/src/scripts/Modal.js
index a471d63e7..53a8b467f 100644
--- a/src/scripts/Modal.js
+++ b/src/scripts/Modal.js
@@ -1,6 +1,7 @@
import React, { Component, PropTypes } from 'react';
import classnames from 'classnames';
import Button from './Button';
+import ModalToast from './ModalToast';
export class ModalHeader extends Component {
constructor() {
@@ -15,7 +16,16 @@ export class ModalHeader extends Component {
}
render() {
- const { className, title, tagline, closeButton, ...props } = this.props;
+ const { className, title, tagline, closeButton, modalToast, ...props } = this.props;
+
+ const {
+ modalToastClose,
+ modalToastLevel,
+ modalToastIcon,
+ modalToastAlt,
+ modalToastText,
+ } = modalToast || {};
+
delete props.onClose;
const hdClassNames = classnames(className, 'slds-modal__header');
return (
@@ -38,6 +48,17 @@ export class ModalHeader extends Component {
/> :
null
}
+ {
+ modalToast ?
+ :
+ null
+ }
);
}
@@ -50,6 +71,7 @@ ModalHeader.propTypes = {
onClose: PropTypes.func,
className: PropTypes.string,
closeButton: PropTypes.bool,
+ modalToast: PropTypes.shape(),
};
class Modal extends Component {
diff --git a/src/scripts/ModalToast.js b/src/scripts/ModalToast.js
new file mode 100644
index 000000000..f4318fa87
--- /dev/null
+++ b/src/scripts/ModalToast.js
@@ -0,0 +1,14 @@
+import React, { PropTypes } from 'react';
+
+import { Toast } from './Notification';
+
+const ModalToast = ({ text, ...props }) =>
+
+ { text }
+
;
+
+ModalToast.propTypes = {
+ text: PropTypes.string,
+};
+
+export default ModalToast;
diff --git a/src/scripts/index.js b/src/scripts/index.js
index d806ebb70..f3b1b240e 100644
--- a/src/scripts/index.js
+++ b/src/scripts/index.js
@@ -57,6 +57,7 @@ import Toggle from './Toggle';
import Pill from './Pill';
import FileSelector from './FileSelector';
import Card from './Card';
+import ModalToast from './ModalToast';
export {
Notification, Alert, Toast,
@@ -102,6 +103,7 @@ export {
Pill,
FileSelector,
Card,
+ ModalToast,
};
export { default as util } from './util';