Skip to content

rkmkk/timepicker.js

 
 

Repository files navigation

Timepicker.js

build status npm version license dependency status devDependency status

A lightweight, customizable, TimePicker. Zero dependencies.

Because <input type="time"> is not yet supported in major browsers (MS Edge and Chrome only).

Timepicker anim

Demo

See here a demo.

How to use it?

NPM
npm i timepicker.js
→ CDN Hosted - jsDelivr

Load CSS and Javascript:

<link href="//cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.css"  rel="stylesheet">
<script src="//cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.js"></script>
→ Self hosted

Download latest release and (obviously) load CSS and Javascript.

Instantiate with some options and listen to changes
var timepicker = new TimePicker(['field1', 'field2'], {
  theme: 'dark', // or 'blue-grey'
  lang: 'pt', // 'en', 'pt' for now
});
timepicker.on('change', function(evt) {
  console.info(evt);

  var value = (evt.hour || '00') + ':' + (evt.minute || '00');
  evt.element.value = value;
});

API

Constructor

new TimePicker(target, options)

target can be:

{String|Array<String>|Element|Array<Element>} String or array of string, DOM node or array of nodes.

options is an object with the following possible properties:
  • theme: 'dark'; Theme color ('dark', 'blue-grey' for now)
  • lang: 'en'; Header language ('en', 'pt' for now)

Methods

timepicker.show()

To be used programatically. Same for hide().

All targets passed to the constructor will be shown.

timepicker.hide()

timepicker.setTarget(target)

target can be: {String|Array<String>|Element|Array<Element>} String or array of string, DOM node or array of nodes.

Events

timepicker.on('open', function(evt) {});

timepicker.on('close', function(evt) {});

timepicker.on('change', function(evt) {
  var hour = evt.hour;
  var minute = evt.minute;
});

About

⌚ A lightweight, customizable, Timepicker. Zero dependencies.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 86.8%
  • CSS 11.3%
  • HTML 1.9%