making notifcations closable by adding function to props
This commit is contained in:
parent
0cc21f83d9
commit
4c80ca619f
@ -1,14 +1,22 @@
|
|||||||
const React = require('react');
|
const React = require('react');
|
||||||
const Styled = require('styled-components');
|
const Styled = require('styled-components');
|
||||||
const closeIcon = require('../../shared/assets/close.png');
|
const closeIcon = require('../../shared/assets/close.png');
|
||||||
|
const fns = require('../../shared/functions');
|
||||||
|
|
||||||
const {
|
const {
|
||||||
default: styled
|
default: styled
|
||||||
} = Styled;
|
} = Styled;
|
||||||
|
|
||||||
|
const {
|
||||||
|
remcalc
|
||||||
|
} = fns;
|
||||||
|
|
||||||
const StyledButton = styled.button`
|
const StyledButton = styled.button`
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
|
position: absolute;
|
||||||
|
top: ${remcalc(16)};
|
||||||
|
right: ${remcalc(16)};
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const Close = ({
|
const Close = ({
|
||||||
|
@ -3,6 +3,7 @@ const fns = require('../../shared/functions');
|
|||||||
const composers = require('../../shared/composers');
|
const composers = require('../../shared/composers');
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const Styled = require('styled-components');
|
const Styled = require('styled-components');
|
||||||
|
const Close = require('../close');
|
||||||
|
|
||||||
const {
|
const {
|
||||||
colors
|
colors
|
||||||
@ -51,14 +52,19 @@ const Notificaton = ({
|
|||||||
children,
|
children,
|
||||||
className,
|
className,
|
||||||
style,
|
style,
|
||||||
type
|
type,
|
||||||
|
close
|
||||||
}) => {
|
}) => {
|
||||||
|
const renderClose = close ? (<Close onClick={close} />) : null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<StyledNotification
|
<StyledNotification
|
||||||
className={className}
|
className={className}
|
||||||
style={style}
|
style={style}
|
||||||
type={type}
|
type={type}
|
||||||
>
|
>
|
||||||
|
{ renderClose }
|
||||||
|
|
||||||
<StyledContent>
|
<StyledContent>
|
||||||
{children}
|
{children}
|
||||||
</StyledContent>
|
</StyledContent>
|
||||||
@ -69,6 +75,7 @@ const Notificaton = ({
|
|||||||
Notificaton.propTypes = {
|
Notificaton.propTypes = {
|
||||||
children: React.PropTypes.object,
|
children: React.PropTypes.object,
|
||||||
className: React.PropTypes.str,
|
className: React.PropTypes.str,
|
||||||
|
close: React.PropTypes.func,
|
||||||
style: React.PropTypes.object,
|
style: React.PropTypes.object,
|
||||||
type: React.PropTypes.string
|
type: React.PropTypes.string
|
||||||
};
|
};
|
||||||
|
@ -260,8 +260,11 @@ storiesOf('Notificaton', module)
|
|||||||
))
|
))
|
||||||
.add('Success', () => (
|
.add('Success', () => (
|
||||||
<Base>
|
<Base>
|
||||||
<Notificaton type="success">
|
<Notificaton
|
||||||
<span>This is the success content</span>
|
close={function noop() {}}
|
||||||
|
type="success"
|
||||||
|
>
|
||||||
|
<span>This is a success notification that is closable</span>
|
||||||
</Notificaton>
|
</Notificaton>
|
||||||
</Base>
|
</Base>
|
||||||
))
|
))
|
||||||
|
Loading…
Reference in New Issue
Block a user