@@ -3,6 +3,7 @@ import classnames from 'classnames';
33
44export type Padding = 'none' | 'sm' | 'md' | 'lg' ;
55export type Align = 'left' | 'center' | 'right' ;
6+ export type TileAppearance = 'shadow' | 'dashed' | 'flat' ;
67
78export interface TileProps {
89 /** The amount of padding to apply: 'none' | 'sm' | 'md' | 'lg' */
@@ -19,17 +20,24 @@ export interface TileProps {
1920 success ?: boolean ;
2021 /** An optional class name for the tile * */
2122 className ?: string ;
23+ /** CSS styling: 'shadow' | 'dashed' | 'flat' */
24+ appearance ?: TileAppearance ;
25+ /** Border radius. Include unit */
26+ radius ?: string ;
2227}
2328
2429export const Tile : React . StatelessComponent < TileProps > = ( {
25- padding, align, children, disabled, selected, alert, success, className,
30+ padding, align, children, disabled, selected, alert, success, className, appearance , radius ,
2631} ) : JSX . Element => {
27- const classes = classnames ( 'tile' , className , `padding-${ padding } ` , {
28- selected, alert, disabled, success,
32+ const classes = classnames ( 'tile' , className , `padding-${ padding } ` , `tile--${ appearance } ` , {
33+ 'tile--selected' : selected ,
34+ 'tile--alert' : alert ,
35+ 'tile--disabled' : disabled ,
36+ 'tile--success' : success ,
2937 } ) ;
3038
3139 return (
32- < div className = { classes } style = { { textAlign : align } } >
40+ < div className = { classes } style = { { textAlign : align , borderRadius : radius } } >
3341 < div className = "cover" />
3442 { children }
3543 </ div >
@@ -39,6 +47,7 @@ export const Tile: React.StatelessComponent<TileProps> = ({
3947Tile . defaultProps = {
4048 padding : 'md' ,
4149 align : 'left' ,
50+ appearance : 'shadow' ,
4251} ;
4352
4453Tile . displayName = 'Tile' ;
0 commit comments