From 265b0562bbda0a03f5865cc8fe4e7a7c251d8354 Mon Sep 17 00:00:00 2001 From: Damian Rachel Date: Tue, 8 Mar 2016 17:51:52 +0100 Subject: [PATCH] add possibility to override Button Height --- lib/Button.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/Button.js b/lib/Button.js index 16af964..f2bcc3f 100644 --- a/lib/Button.js +++ b/lib/Button.js @@ -12,7 +12,8 @@ export default class Button extends Component { overrides: PropTypes.shape({ textColor: PropTypes.string, backgroundColor: PropTypes.string, - rippleColor: PropTypes.string + rippleColor: PropTypes.string, + height: PropTypes.number, }), disabled: PropTypes.bool, raised: PropTypes.bool, @@ -24,7 +25,7 @@ export default class Button extends Component { theme: 'light', primary: PRIMARY, disabled: false, - raised: false + raised: false, }; constructor(props) { @@ -152,15 +153,19 @@ export default class Button extends Component { })(); const buttonStyle = (() => { + const heightStyle = (overrides && overrides.height) ? { height: overrides.height } : null; + if (raised) { + buttonStyleMap[shape][theme][type] = Object.assign(buttonStyleMap[shape][theme][type], heightStyle); + if (disabled || !(overrides && overrides.backgroundColor)) { return buttonStyleMap[shape][theme][type]; } - return Object.assign(buttonStyleMap[shape][theme][type], { backgroundColor: getColor(overrides.backgroundColor) }); + return Object.assign(buttonStyleMap[shape][theme][type], { backgroundColor: getColor(overrides.backgroundColor), height: overrides.height }); } - return null; + return heightStyle; })(); const rippleColor = (() => { @@ -177,7 +182,8 @@ export default class Button extends Component { style={[ styles.button, buttonStyle, { - backgroundColor: buttonStyle && buttonStyle.backgroundColor + backgroundColor: buttonStyle && buttonStyle.backgroundColor, + height: buttonStyle && buttonStyle.height, } ]} > @@ -199,6 +205,7 @@ export default class Button extends Component { styles.button, buttonStyle, { backgroundColor: buttonStyle && buttonStyle.backgroundColor, + height: buttonStyle && buttonStyle.height, }, raised && !isCompatible('elevation') && { borderWidth: 1, borderColor: 'rgba(0,0,0,.12)' @@ -224,6 +231,7 @@ export default class Button extends Component { styles.button, buttonStyle, { backgroundColor: buttonStyle && buttonStyle.backgroundColor, + height: buttonStyle && buttonStyle.height, elevation: raised ? elevation : 0 }]} > @@ -250,4 +258,4 @@ const styles = { position: 'relative', top: 2 } -}; \ No newline at end of file +};