/react-timekeeper

Google Keep app inspired time picker for react :clock4:

Primary LanguageTypeScriptMIT LicenseMIT


React Timekeeper

build downloads license

Time picker based on the style of the Android Google Keep app.


Features

  • supports both 12 hour and 24 hour mode, and flexible time formats
  • simple to use with many customizable options
  • smooth, beautiful animations with react spring
  • typescript support
  • css variable support for custom styles

Installation

$ npm install --save react-timekeeper

Version 2+ of timekeeper requires react hooks (v16.8). If you're using an older version of react, install timekeeper v1 via

$ npm install --save react-timekeeper@^1.0.0

Usage

import React, {useState} from 'react';
import TimeKeeper from 'react-timekeeper';

function YourComponent(){
  const [time, setTime] = useState('12:34pm')

  return (
    <div>
      <TimeKeeper
        time={time}
        onChange={(data) => setTime(data.formatted12)}
      />
      <span>Time is {time}</span>
    </div>
  )
}

All styles are inlined via emotion so no css imports are required.

API

For full api and examples, see API docs and examples

Development

  1. Clone the repo
  2. nvm use v10.16.0 (or anything >10)
  3. npm install
  4. npm run docs:dev
  5. Navigate to localhost:3002

Contributing

Before submitting a PR, ensure that:

  1. you follow all eslint rules (should be automatic)
  2. all tests pass via npm run tests
  3. everything builds
    • docs - npm run docs:build
    • lib - npm run lib
  4. provide detailed info on what bug you're fixing or feature you're adding - if possible include a screenshot/gif

Other useful commands:

  • build docs: npm run docs:build
  • run all tests: npm run tests
  • watch tests: npm run tests:watch
  • create lib to publish npm: npm run lib