@@ -3,16 +3,22 @@ import styled from 'styled-components';
33import PropTypes from 'prop-types' ;
44import { prop , remSize } from '../../theme' ;
55
6- const background = transparent => prop ( transparent ? 'backgroundColor' : 'MobilePanel.default.background' ) ;
7- const textColor = prop ( 'primaryTextColor' ) ;
6+
7+ const background = ( { transparent, inverted } ) => prop ( transparent === true
8+ ? 'backgroundColor'
9+ : `MobilePanel.default.${ inverted === true ? 'foreground' : 'background' } ` ) ;
10+
11+ const textColor = ( { transparent, inverted } ) => prop ( ( transparent === false && inverted === true )
12+ ? 'MobilePanel.default.background'
13+ : 'primaryTextColor' ) ;
814
915
1016const HeaderDiv = styled . div `
1117 position: fixed;
1218 width: 100%;
13- background: ${ props => background ( props . transparent === true ) } ;
19+ background: ${ props => background ( props ) } ;
1420 color: ${ textColor } ;
15- padding: ${ remSize ( 12 ) } ;
21+ padding: ${ props => remSize ( props . slim === true ? 2 : 12 ) } ;
1622 padding-left: ${ remSize ( 16 ) } ;
1723 padding-right: ${ remSize ( 16 ) } ;
1824 z-index: 1;
@@ -25,8 +31,10 @@ const HeaderDiv = styled.div`
2531
2632 svg {
2733 max-height: ${ remSize ( 32 ) } ;
28- padding: ${ remSize ( 4 ) }
34+ padding: ${ remSize ( 4 ) } ;
2935 }
36+
37+ & svg path { fill: ${ textColor } !important; }
3038` ;
3139
3240const IconContainer = styled . div `
@@ -48,9 +56,10 @@ const TitleContainer = styled.div`
4856` ;
4957
5058const Header = ( {
51- title, subtitle, leftButton, children, transparent
59+ title, subtitle, leftButton, children,
60+ transparent, inverted, slim
5261} ) => (
53- < HeaderDiv transparent = { transparent } >
62+ < HeaderDiv transparent = { transparent } slim = { slim } inverted = { inverted } >
5463 { leftButton }
5564 < TitleContainer padded = { subtitle === null } >
5665 { title && < h2 > { title } </ h2 > }
@@ -67,15 +76,19 @@ Header.propTypes = {
6776 subtitle : PropTypes . string ,
6877 leftButton : PropTypes . element ,
6978 children : PropTypes . oneOfType ( [ PropTypes . element , PropTypes . arrayOf ( PropTypes . element ) ] ) ,
70- transparent : PropTypes . bool
79+ transparent : PropTypes . bool ,
80+ inverted : PropTypes . bool ,
81+ slim : PropTypes . bool ,
7182} ;
7283
7384Header . defaultProps = {
7485 title : null ,
7586 subtitle : null ,
7687 leftButton : null ,
7788 children : [ ] ,
78- transparent : false
89+ transparent : false ,
90+ inverted : false ,
91+ slim : false
7992} ;
8093
8194export default Header ;
0 commit comments