@@ -19,7 +19,7 @@ export const styles = theme => ({
1919 padding : '8px 16px' ,
2020 borderRadius : theme . shape . borderRadius ,
2121 color : theme . palette . text . primary ,
22- transition : theme . transitions . create ( [ 'background-color' , 'box-shadow' ] , {
22+ transition : theme . transitions . create ( [ 'background-color' , 'box-shadow' , 'border' ] , {
2323 duration : theme . transitions . duration . short ,
2424 } ) ,
2525 '&:hover' : {
@@ -80,6 +80,20 @@ export const styles = theme => ({
8080 theme . palette . type === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'
8181 } `,
8282 } ,
83+ /* Styles applied to the root element if `variant="outlined"` and `color="primary"`. */
84+ outlinedPrimary : {
85+ border : `1px solid ${ fade ( theme . palette . primary . main , 0.5 ) } ` ,
86+ '&:hover' : {
87+ border : `1px solid ${ theme . palette . primary . main } ` ,
88+ } ,
89+ } ,
90+ /* Styles applied to the root element if `variant="outlined"` and `color="secondary"`. */
91+ outlinedSecondary : {
92+ border : `1px solid ${ fade ( theme . palette . secondary . main , 0.5 ) } ` ,
93+ '&:hover' : {
94+ border : `1px solid ${ theme . palette . secondary . main } ` ,
95+ } ,
96+ } ,
8397 /* Styles applied to the root element if `variant="[contained | fab]"`. */
8498 contained : {
8599 color : theme . palette . getContrastText ( theme . palette . grey [ 300 ] ) ,
@@ -228,6 +242,8 @@ function Button(props) {
228242 [ classes . raisedPrimary ] : ( contained || fab ) && color === 'primary' ,
229243 [ classes . raisedSecondary ] : ( contained || fab ) && color === 'secondary' ,
230244 [ classes . outlined ] : variant === 'outlined' ,
245+ [ classes . outlinedPrimary ] : variant === 'outlined' && color === 'primary' ,
246+ [ classes . outlinedSecondary ] : variant === 'outlined' && color === 'secondary' ,
231247 [ classes [ `size${ capitalize ( size ) } ` ] ] : size !== 'medium' ,
232248 [ classes . disabled ] : disabled ,
233249 [ classes . fullWidth ] : fullWidth ,
0 commit comments