node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey ยป



React Component to render a React Bootstrap dropdown list pre-filled with localizable times formatted by ReactIntl. Requires react v0.14+.

var TimeSelect = require('react-time-select');
React.render(<TimeSelect label="Choose time" />, document.getElementById('container'));


  • className - class attribute to be applied to element. Default "input-sm".
  • label - Label for field. Default "Time".
  • name - Name for field. Default "Time".
  • value - JS Date instance representing the time to be displayed.
  • onChange - Event handler for when a time is selected. It will be passed a date instance set to that time, with years/months/days to match the date you provided as value, or today's date if it was not present.
  • start - Time to start from when generating range, for example start={1230}. Default is {30} (00:30).
  • end - Time to stop generating range. Default is {2359}. Will not be listed as an option if your "step" value overruns it.
  • step - Number of minutes between each option. Default is {30}.
  • locale - Locale ReactIntl should attempt to use for formatting. Default is 'en-GB'
  • id - id attribute applied to the input element.
  • seperateHourMins - Toggle for splitting hour and minutes into seperate inputs. Default is 'false'.
  • time - Object with 'hours' and 'minutes' for specifying current hour / minute input values.


Clone the repo and npm install.

npm start will create and watchify an example which you can open in your browser, at doc/example.html

npm test for the unit tests.

npm run coverage gets coverage with istanbul, report is output to the coverage directory. It will exit nonzero if any metric is below 95%

npm run lint checks the code against our guidelines