'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _styledComponents = require('styled-components');

var _styledComponents2 = _interopRequireDefault(_styledComponents);

var _arrow = require('./arrow.png');

var _arrow2 = _interopRequireDefault(_arrow);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Select = _styledComponents2.default.select.withConfig({
  displayName: 'Select__Select'
})(['padding: ', ';border: ', ';border-radius: 0;width: 100%;color: ', ';font-family: ', ';font-size: ', ';letter-spacing: ', ';line-height: ', ';cursor: pointer;box-shadow: none;background-color: ', ';appearance: none;position: relative;background-image: url(', ');background-repeat: no-repeat;background-position: right;background-size: 35px;transition: 0.2s ease all;&:focus {box-shadow: inset 0 -5px 0 ', ';border-color: ', ';outline: none;}&:disabled {background: ', ';color: ', ';}'], function (_ref) {
  var theme = _ref.theme;
  return theme.padding.medium;
}, function (_ref2) {
  var theme = _ref2.theme;
  return theme.input.border;
}, function (_ref3) {
  var theme = _ref3.theme;
  return theme.input.fg;
}, function (_ref4) {
  var theme = _ref4.theme;
  return theme.input.fontFamily;
}, function (_ref5) {
  var theme = _ref5.theme;
  return theme.input.fontSize;
}, function (_ref6) {
  var theme = _ref6.theme;
  return theme.input.letterSpacing;
}, function (_ref7) {
  var theme = _ref7.theme;
  return theme.input.lineHeight;
}, function (_ref8) {
  var theme = _ref8.theme;
  return theme.input.bg;
}, _arrow2.default, function (_ref9) {
  var theme = _ref9.theme;
  return theme.input.accentValid;
}, function (_ref10) {
  var theme = _ref10.theme;
  return theme.input.focusedBorder;
}, function (_ref11) {
  var theme = _ref11.theme;
  return theme.input.disabledBG;
}, function (_ref12) {
  var theme = _ref12.theme;
  return theme.input.disabledFG;
});

Select.usage = '\n# Select\n\nA dropdown input which lets you pick from a list of provided items. Supports default input-style props:\n\n* `input`: supplied by Redux Form\'s Field component, you can also specify this manually. Should contain `value` and `onChange` at least.\n* `label`: a renderable label to go above the component\n* `helpText`: some text to be rendered below the component\n* `disabled`: disables the component\n* `required`: adds a required mark and HTML field validation\n* `options`: an array of data\n* `renderOption`: a function to transform an option item into some text to show. Defaults to `val => \'\' + val`\n* `selectOptionKey`: a function to transform an option into a **unique** key\n\n```\n<Select label="Choose:" required helpText="Make a choice!" options={[\'a\', \'b\']}>\n```\n';

exports.default = Select;