diff --git a/src/components/Container.js b/src/components/Container.js
new file mode 100644
index 0000000..b7362c1
--- /dev/null
+++ b/src/components/Container.js
@@ -0,0 +1,68 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import styled from '@emotion/styled'
+import { color, spacing, shadows } from './shared/styles'
+import { Paragraph } from './Paragraph'
+
+const StyleContainer = styled.div`
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+ height: 608px;
+ width: 352px;
+ border-radius: ${spacing.borderRadius.default}px;
+ background-color: ${color.moonGrey};
+ box-shadow: ${shadows.default};
+`
+
+const StyledContent = styled.div`
+ flex: 1 1 auto;
+ padding: ${spacing.padding.small}px ${spacing.padding.small}px 0
+ ${spacing.padding.small}px;
+ overflow-y: auto;
+`
+
+const StyledParagraph = styled(Paragraph)`
+ line-height: 0;
+ margin-bottom: ${spacing.padding.small}px;
+ display: block;
+ flex: 0 0 auto;
+`
+
+const StyledHeader = styled.div`
+ flex: 0 0 auto;
+`
+
+export const Container = props => {
+ const { branded, appName, children, header } = props
+
+ return (
+
+ {header && {header}}
+
+ {children}
+
+ {branded && (
+
+ {appName ? `${appName} ` : ''} ⚡️by Groove
+
+ )}
+
+ )
+}
+
+Container.propTypes = {
+ /**
+ * Specify whether branded
+ */
+ branded: PropTypes.bool,
+ /**
+ * Specify branding app name
+ */
+ appName: PropTypes.string,
+}
+
+Container.defaultProps = {
+ branded: false,
+ appName: null,
+}
diff --git a/src/components/Container.stories.js b/src/components/Container.stories.js
new file mode 100644
index 0000000..6648475
--- /dev/null
+++ b/src/components/Container.stories.js
@@ -0,0 +1,20 @@
+import React from 'react'
+import { Container } from './Container'
+import { Heading } from './Heading'
+
+export default {
+ title: 'Design System|Container',
+ parameters: {
+ component: Container,
+ },
+}
+
+export const ContainerDefault = () =>
+export const ContainerBranded = () =>
+export const ContainerWithChildren = () => (
+
+
+ Take care of your children
+
+
+)
diff --git a/src/components/Heading.js b/src/components/Heading.js
index 3ed422e..64fb430 100644
--- a/src/components/Heading.js
+++ b/src/components/Heading.js
@@ -21,7 +21,7 @@ const StyledHeading = styled.span`
font-weight: ${props => typography.sizes[SIZES[props.size]].weight};
font-size: ${props => typography.sizes[SIZES[props.size]].size}px;
line-height: ${props => typography.sizes[SIZES[props.size]].height}px;
- color: ${color.jetBlack};
+ color: ${props => color[props.color]};
text-align: ${props => ALIGNMENT[props.align]};
`
@@ -32,6 +32,10 @@ Heading.propTypes = {
* Specify size
*/
size: PropTypes.oneOf(Object.keys(SIZES)),
+ /**
+ * Specify color
+ */
+ color: PropTypes.string,
/**
* Specify alignmnet
*/
@@ -40,5 +44,6 @@ Heading.propTypes = {
Heading.defaultProps = {
size: 'medium',
+ color: 'jetBlack',
align: ALIGNMENT.left,
}
diff --git a/src/components/Paragraph.js b/src/components/Paragraph.js
index 22b2ea5..483c47d 100644
--- a/src/components/Paragraph.js
+++ b/src/components/Paragraph.js
@@ -23,7 +23,7 @@ const StyledParagraph = styled.span`
font-weight: ${props => typography.sizes[SIZES[props.size]].weight};
font-size: ${props => typography.sizes[SIZES[props.size]].size}px;
line-height: ${props => typography.sizes[SIZES[props.size]].height}px;
- color: ${color.jetBlack};
+ color: ${props => color[props.color]};
text-align: ${props => ALIGNMENT[props.align]};
`
@@ -34,6 +34,10 @@ Paragraph.propTypes = {
* Specify size
*/
size: PropTypes.oneOf(Object.keys(SIZES)),
+ /**
+ * Specify color
+ */
+ color: PropTypes.string,
/**
* Specify alignmnet
*/
@@ -46,6 +50,7 @@ Paragraph.propTypes = {
Paragraph.defaultProps = {
size: 'medium',
+ color: 'jetBlack',
align: ALIGNMENT.left,
isInline: false,
}
diff --git a/src/components/index.js b/src/components/index.js
index e40a041..f11df97 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -4,4 +4,7 @@ import * as animation from './shared/animation'
export { styles, global, animation }
+export * from './Container'
export * from './Heading'
+export * from './Paragraph'
+export * from './Icon'
diff --git a/src/components/shared/styles.js b/src/components/shared/styles.js
index 6c5ccaa..eb1838d 100644
--- a/src/components/shared/styles.js
+++ b/src/components/shared/styles.js
@@ -43,6 +43,11 @@ export const borderColor = {
default: color.ashGrey,
}
+// Shadows
+export const shadows = {
+ default: '0 4px 16px 0 rgba(0, 0, 0, 0.1)',
+}
+
// Spacing
export const spacing = {
padding: {