All files / publisher/builds/components select.js

100% Statements 5/5
100% Branches 2/2
100% Functions 3/3
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30      2x 5x 1x         14x                     2x                
import React from "react";
import PropTypes from "prop-types";
 
const Select = ({ options, updateSelection, disabled, selectedOption }) => (
  <select
    onChange={(e) => updateSelection(e.target.value)}
    disabled={disabled}
    value={selectedOption}
  >
    {options.map((item, i) => (
      <option
        disabled={item.disabled}
        value={i === 0 ? "" : item.value}
        key={i}
      >
        {item.value}
      </option>
    ))}
  </select>
);
 
Select.propTypes = {
  options: PropTypes.array.isRequired,
  selectedOption: PropTypes.string,
  updateSelection: PropTypes.func,
  disabled: PropTypes.bool,
};
 
export default Select;