{children}
diff --git a/website/src/ui/DropdownList.js b/website/src/ui/DropdownList.js
new file mode 100644
index 0000000..09665fc
--- /dev/null
+++ b/website/src/ui/DropdownList.js
@@ -0,0 +1,156 @@
+import Radium from 'radium'
+import PropTypes from 'prop-types'
+import React, { Component } from 'react'
+import { Box, Icon } from '.'
+import { sizeInfo, colorInfo, fontInfo } from './style'
+import downArrowImage from './images/down-arrow.svg'
+import upArrowImage from './images/up-arrow.svg'
+import autobind from 'autobind-decorator'
+
+@Radium
+export class DropdownList extends Component {
+ static propTypes = {
+ data: PropTypes.array,
+ render: PropTypes.func.isRequired,
+ }
+
+ constructor(props) {
+ super(props)
+ this.state = {
+ open: false,
+ }
+ }
+
+ @autobind
+ handleClick(e) {
+ this.setState({ open: !this.state.open })
+ }
+
+ render() {
+ const { data, render } = this.props
+ const { open } = this.state
+ const dropDownIconSize = 20
+ const dropdownIconMargin = 8
+ const dropdownBackground = 'white'
+ const selectedItem = data ? data[0] :
+ const border = { width: sizeInfo.listBorderWidth, color: colorInfo.listBorder }
+
+ let dropdown = null
+
+ if (open) {
+ dropdown = (
+
+ )
+ }
+
+ return (
+
+
+
+ {render(selectedItem)}
+
+
+

+
+
+ {dropdown}
+
+ )
+ }
+}
+
+DropdownList.Item = Radium(class ListItem extends Component {
+ static propTypes = {
+ children: PropTypes.node,
+ active: PropTypes.bool,
+ onClick: PropTypes.func,
+ }
+
+ render() {
+ const { children, active, onClick } = this.props
+
+ return (
+
+ {children}
+
+ )
+ }
+})
+
+DropdownList.Icon = Radium(class ListIcon extends Component {
+ static propTypes = {
+ name: PropTypes.string,
+ size: PropTypes.number,
+ }
+
+ render() {
+ const { size, name } = this.props
+ let source = Icon.svgs[name] || Icon.svgs['placeholder']
+
+ return (
+

+ )
+ }
+})
+
+DropdownList.Text = Radium(class ListText extends Component {
+ static propTypes = {
+ children: PropTypes.node,
+ }
+
+ render() {
+ const { children } = this.props
+
+ return (
+
{children}
+ )
+ }
+})
diff --git a/website/src/ui/images/down-arrow.svg b/website/src/ui/images/down-arrow.svg
new file mode 100644
index 0000000..05c1ffc
--- /dev/null
+++ b/website/src/ui/images/down-arrow.svg
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/website/src/ui/images/up-arrow.svg b/website/src/ui/images/up-arrow.svg
new file mode 100644
index 0000000..8ecdc9b
--- /dev/null
+++ b/website/src/ui/images/up-arrow.svg
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/website/src/ui/index.js b/website/src/ui/index.js
index 6efe532..0931ce9 100644
--- a/website/src/ui/index.js
+++ b/website/src/ui/index.js
@@ -11,6 +11,7 @@ export { Text } from './Text'
export { Link } from './Link'
export { Icon } from './Icon'
export { List } from './List'
+export { DropdownList } from './DropdownList'
export { Modal } from './Modal'
export { Dimmer } from './Dimmer'
export { Loader } from './Loader'