aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/components/ui/island.tsx
blob: c8abfb7e05bcd884b3723d1dd6b55c9e183995d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import * as React from 'react';
import { colors } from 'ts/style/colors';
import { styled } from 'ts/style/theme';

export interface IslandProps {
    style?: React.CSSProperties;
    className?: string;
    Component?: string | React.ComponentClass<any> | React.StatelessComponent<any>;
    borderRadius?: string;
}

const PlainIsland: React.StatelessComponent<IslandProps> = ({ Component, style, className, children }) => (
    <Component style={style} className={className} children={children} />
);

export const Island = styled(PlainIsland)`
    background-color: ${colors.white};
    border-radius: ${props => props.borderRadius};
    box-shadow: 0px 4px 6px ${colors.walletBoxShadow};
    overflow: hidden;
`;

Island.defaultProps = {
    Component: 'div',
    borderRadius: '10px',
    style: {},
};

Island.displayName = 'Island';