diff --git a/ui/src/components/input/readme.md b/ui/src/components/input/readme.md
index ac4cde82..e199c638 100644
--- a/ui/src/components/input/readme.md
+++ b/ui/src/components/input/readme.md
@@ -39,7 +39,7 @@ nmodule.exports = ReactDOM.renderToString(
```js
const React = require('react');
-const Radio = require('ui/radio');
+const Input = require('ui/input');
module.exports = () => {
return (
diff --git a/ui/src/components/input/style.css b/ui/src/components/input/style.css
index 30fe6f77..d91a9c43 100644
--- a/ui/src/components/input/style.css
+++ b/ui/src/components/input/style.css
@@ -9,26 +9,24 @@
--inset-box-shadow: ~boxes.insetShaddow;
}
-.input-group {
- & .input {
- background: var(--background-color);
- border: 1px solid var(--border-color);
- box-shadow: var(--inset-box-shadow);
- border-radius: var(--border-radius);
- height: 50px;
- width: 100%;
- display: block;
- visibility: visible;
- padding-left: 15px;
- padding-right: 15px;
+.input {
+ background: var(--background-color);
+ border: 1px solid var(--border-color);
+ box-shadow: var(--inset-box-shadow);
+ border-radius: var(--border-radius);
+ height: 50px;
+ width: 100%;
+ display: block;
+ visibility: visible;
+ padding-left: 15px;
+ padding-right: 15px;
- &:focus {
- border-color: var(--border-selected-color);
- outline: none;
- }
- }
-
- & .label {
- color: #464646;
+ &:focus {
+ border-color: var(--border-selected-color);
+ outline: none;
}
}
+
+.label {
+ color: #464646;
+}
\ No newline at end of file
diff --git a/ui/src/components/select/index.js b/ui/src/components/select/index.js
index 661073c0..2942df65 100644
--- a/ui/src/components/select/index.js
+++ b/ui/src/components/select/index.js
@@ -1,11 +1,58 @@
-// const classNames = require('classnames');
+const classNames = require('classnames');
const React = require('react');
-// const styles = require('./style.css');
+const styles = require('./style.css');
-const Select = () => {
- return (
);
+const Select = ({
+ autoFocus,
+ children,
+ className,
+ disabled,
+ form,
+ id,
+ label,
+ multiple,
+ name,
+ required,
+ selected
+}) => {
+ const cn = classNames(
+ className,
+ styles['select-group']
+ );
+
+ return (
+
+
+
+
+ );
};
-Select.propTypes = {};
+Select.propTypes = {
+ autoFocus: React.PropTypes.bool,
+ children: React.PropTypes.node,
+ className: React.PropTypes.string,
+ disabled: React.PropTypes.bool,
+ form: React.PropTypes.string,
+ id: React.PropTypes.string,
+ label: React.PropTypes.string,
+ multiple: React.PropTypes.bool,
+ name: React.PropTypes.string,
+ required: React.PropTypes.bool,
+ selected: React.PropTypes.bool
+};
module.exports = Select;
diff --git a/ui/src/components/select/readme.md b/ui/src/components/select/readme.md
index 9dfe3fd8..78684710 100644
--- a/ui/src/components/select/readme.md
+++ b/ui/src/components/select/readme.md
@@ -1 +1,60 @@
# Select
+
+
+## demo
+
+```embed
+const React = require('react');
+const ReactDOM = require('react-dom/server');
+const Base = require('../base');
+const Container = require('../container');
+const Row = require('../row');
+const Column = require('../column');
+const Select = require('./index.js');
+
+nmodule.exports = ReactDOM.renderToString(
+
+
+
+
+
+
+
+
+
+
+
+
+);
+```
+
+## usage
+
+```js
+const React = require('react');
+const Select = require('ui/select');
+
+module.exports = () => {
+ return (
+
+ );
+}
+```
diff --git a/ui/src/components/select/style.css b/ui/src/components/select/style.css
index e69de29b..04e441d6 100644
--- a/ui/src/components/select/style.css
+++ b/ui/src/components/select/style.css
@@ -0,0 +1,25 @@
+.select {
+ composes: input from '../input/style.css';
+
+ &[multiple] {
+ padding-left: 0;
+ padding-right: 0;
+
+ & :global option {
+ padding-left: 15px;
+ padding-right: 15px;
+ width: 100%;
+ }
+
+/* this doesn't seem to work, research further
+ &:-internal-list-box :global option:checked,
+ & :global option:checked {
+ background-color: white;
+ }
+*/
+ }
+}
+
+.label {
+ composes: label from '../input/style.css';
+}
\ No newline at end of file
diff --git a/ui/src/docs.js b/ui/src/docs.js
index be156257..0a8d004a 100644
--- a/ui/src/docs.js
+++ b/ui/src/docs.js
@@ -12,6 +12,7 @@ module.exports = {
Input: require('./components/input/readme.md'),
Radio: require('./components/radio/readme.md'),
'Radio Group': require('./components/radio-group/readme.md'),
+ Select: require('./components/select/readme.md'),
Column: require('./components/column/readme.md'),
Button: require('./components/button/readme.md'),
'Range Slider': require('./components/range-slider/readme.md'),
diff --git a/ui/src/index.js b/ui/src/index.js
index 0f7f21f9..7fa21642 100644
--- a/ui/src/index.js
+++ b/ui/src/index.js
@@ -13,5 +13,6 @@ module.exports = {
'Range Slider': require('./components/range-slider/'),
Radio: require('./components/radio'),
RadioGroup: require('./components/radio-group'),
+ Select: require('./components/select'),
Widget: require('./components/widget')
};