aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/components/ui/island.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/website/ts/components/ui/island.tsx')
-rw-r--r--packages/website/ts/components/ui/island.tsx33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/website/ts/components/ui/island.tsx b/packages/website/ts/components/ui/island.tsx
new file mode 100644
index 000000000..da3602c3e
--- /dev/null
+++ b/packages/website/ts/components/ui/island.tsx
@@ -0,0 +1,33 @@
+import * as React from 'react';
+import { Styleable } from 'ts/types';
+import { colors } from 'ts/utils/colors';
+
+export interface IslandProps {
+ style?: React.CSSProperties;
+ children?: React.ReactNode;
+ className?: string;
+ Component?: string | React.ComponentClass<any> | React.StatelessComponent<any>;
+}
+
+const defaultStyle: React.CSSProperties = {
+ backgroundColor: colors.white,
+ borderBottomRightRadius: 10,
+ borderBottomLeftRadius: 10,
+ borderTopRightRadius: 10,
+ borderTopLeftRadius: 10,
+ boxShadow: `0px 4px 6px ${colors.walletBoxShadow}`,
+ overflow: 'hidden',
+};
+
+export const Island: React.StatelessComponent<IslandProps> = (props: IslandProps) => (
+ <props.Component style={{...defaultStyle, ...props.style}} className={props.className}>
+ {props.children}
+ </props.Component>
+);
+
+Island.defaultProps = {
+ Component: 'div',
+ style: {},
+};
+
+Island.displayName = 'Island';