Comparing version 0.1.2 to 0.1.3
@@ -27,2 +27,3 @@ import { __assign } from 'tslib'; | ||
ClockletClock.prototype.open = function (input, options) { | ||
var _this = this; | ||
var resolvedOptions = __assign(Object.create(this.defaultOptions), options); | ||
@@ -41,3 +42,3 @@ var inputRect = input.getBoundingClientRect(); | ||
setClockletData(root, 'append-to', resolvedOptions.appendTo); | ||
root.className = 'clocklet ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className; | ||
root.className = 'clocklet clocklet--showing ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className; | ||
if (resolvedOptions.placement === 'top') { | ||
@@ -75,3 +76,8 @@ root.style.top = ''; | ||
this.updateHighlight(); | ||
setTimeout(function () { return root.classList.add('clocklet--shown'); }); | ||
setTimeout(function () { | ||
root.classList.remove('clocklet--showing'); | ||
if (_this.input) { | ||
root.classList.add('clocklet--shown'); | ||
} | ||
}); | ||
dispatchCustomEvent(input, 'clocklet.opened', true, false, eventDetail); | ||
@@ -78,0 +84,0 @@ }; |
{ | ||
"name": "clocklet", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"description": "An opinionated clock-style vanilla-js timepicker", | ||
@@ -16,3 +16,3 @@ "repository": "luncheon/clocklet", | ||
"scripts": { | ||
"clean": "rimraf es/ umd/ css/ docs/demo.html", | ||
"clean": "rimraf es/ umd/ css/ .docs/ docs/demo.html", | ||
"start": "concurrently --kill-others \"npm run watch:umd\" \"npm run watch:css\" \"npm run watch:demo\"", | ||
@@ -25,4 +25,4 @@ "build": "npm run build:es && npm run build:umd && npm run build:css && npm run build:demo", | ||
"watch:css": "rimraf css/ && mkdirp css/ && stylus -w -o css/ src/style/", | ||
"build:demo": "rimraf docs/demo.html && pug -o docs/ src/demo/demo.pug", | ||
"watch:demo": "rimraf docs/demo.html && pug -w -o docs/ src/demo/demo.pug" | ||
"build:demo": "rimraf .docs/ docs/demo.html && pug -o .docs/ src/demo/demo.pug -O {cdnBaseUrl:'..'} && pug -o docs/ src/demo/demo.pug -O {cdnBaseUrl:'https://cdn.jsdelivr.net/npm/clocklet@0.1.3'}", | ||
"watch:demo": "rimraf .docs/ docs/demo.html && pug -w -o .docs/ src/demo/demo.pug -O {cdnBaseUrl:'..'}" | ||
}, | ||
@@ -29,0 +29,0 @@ "keywords": [ |
@@ -42,4 +42,4 @@ # <a name="clocklet" href="#clocklet" style="pointer-events:none">![Clocklet](https://luncheon.github.io/clocklet/docs/logo.png)</a> | ||
```html | ||
<link rel="https://cdn.jsdelivr.net/npm/clocklet@0.1.2/css/clocklet.min.css"> | ||
<script src="https://cdn.jsdelivr.net/npm/clocklet@0.1.2"></script> | ||
<link rel="https://cdn.jsdelivr.net/npm/clocklet@0.1.3/css/clocklet.min.css"> | ||
<script src="https://cdn.jsdelivr.net/npm/clocklet@0.1.3"></script> | ||
<script>/* `window.clocklet` object is available */</script> | ||
@@ -46,0 +46,0 @@ ``` |
@@ -46,3 +46,3 @@ import { __assign } from 'tslib' | ||
setClockletData(root, 'append-to', resolvedOptions.appendTo) | ||
root.className = 'clocklet ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className | ||
root.className = 'clocklet clocklet--showing ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className | ||
if (resolvedOptions.placement === 'top') { | ||
@@ -78,3 +78,8 @@ root.style.top = '' | ||
this.updateHighlight() | ||
setTimeout(() => root.classList.add('clocklet--shown')) | ||
setTimeout(() => { | ||
root.classList.remove('clocklet--showing') | ||
if (this.input) { | ||
root.classList.add('clocklet--shown') | ||
} | ||
}) | ||
dispatchCustomEvent(input, 'clocklet.opened', true, false, eventDetail) | ||
@@ -81,0 +86,0 @@ } |
@@ -860,2 +860,3 @@ (function (global, factory) { | ||
ClockletClock.prototype.open = function (input, options) { | ||
var _this = this; | ||
var resolvedOptions = __assign(Object.create(this.defaultOptions), options); | ||
@@ -874,3 +875,3 @@ var inputRect = input.getBoundingClientRect(); | ||
setClockletData(root, 'append-to', resolvedOptions.appendTo); | ||
root.className = 'clocklet ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className; | ||
root.className = 'clocklet clocklet--showing ' + (isTouchDevice ? '' : 'clocklet--hoverable ') + resolvedOptions.className; | ||
if (resolvedOptions.placement === 'top') { | ||
@@ -908,3 +909,8 @@ root.style.top = ''; | ||
this.updateHighlight(); | ||
setTimeout(function () { return root.classList.add('clocklet--shown'); }); | ||
setTimeout(function () { | ||
root.classList.remove('clocklet--showing'); | ||
if (_this.input) { | ||
root.classList.add('clocklet--shown'); | ||
} | ||
}); | ||
dispatchCustomEvent(input, 'clocklet.opened', true, false, eventDetail); | ||
@@ -911,0 +917,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.clocklet=e()}(this,function(){"use strict";function k(t,e,l){return t=String(t),!e||!isFinite(e)||t.length>=e?t:o(e-t.length,l)+t}function t(t,e,l){return t=String(t),!e||!isFinite(e)||t.length>=e?t:t+o(e-t.length,l)}function o(t,e){for(var l=e=null==e||""===e?" ":String(e);l.length<t;)l+=e;return l.substr(0,t)}function c(){for(var t=0,e=arguments.length;t<e;++t){var l=arguments[t];if("number"==typeof l)return l;if("string"==typeof l){var o=parseFloat(l);if(isFinite(o))return o}}}var n=1e3,i=60*n,a=60*i,e=12*a,r=24*a;function l(){return(Date.now()-(new Date).getTimezoneOffset()*i)%r}function u(t){var e=Math.floor(t)%r;return 0<=e?e:e+r}function s(t){return e<=t?t-e:t}function p(t){return t<e?t+e:t}function f(t,e){switch(t=u(t),e&&String(e)[0].toLowerCase()){case"a":return s(t);case"p":return p(t);default:return t}}function d(t){switch(typeof t){case"number":return u(t);case"string":return function(t){if(!(t=t&&String(t).replace(/[\uff00-\uffef]/g,function(t){return String.fromCharCode(t.charCodeAt(0)-65248)}).replace(/\s/g,"").replace(/(a|p)\.?m?\.?$/i,function(t,e){return e.toLowerCase()})))return 0;if("now"===t.toLowerCase())return l();var e=t.match(/^([+-]?[0-9]{1,2})(?:([0-9]{2})(?:([0-9]{2})([0-9]*))?)?(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.[0-9]*)()()()(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.?[0-9]*):([+-]?[0-9]*\.?[0-9]*)(?::([+-]?[0-9]*\.?[0-9]*))?()(a|p)?$/i);return e?f((e[1]?parseFloat(e[1])*a:0)+(e[2]?parseFloat(e[2])*i:0)+(e[3]?parseFloat(e[3])*n:0)+(e[4]?1e3*parseFloat("0."+e[4]):0),e[5]):NaN}(t);case"object":if(t)return function(t){if("number"==typeof t.totalMilliseconds)return u(t.totalMilliseconds);var e=c(t.h,t.hour,t.hours,0)*a+c(t.m,t.minute,t.minutes,0)*i+c(t.s,t.second,t.seconds,0)*n+c(t.S,t.millisecond,t.milliseconds,0);if(!0===t.am||!1===t.pm)return s(e);if(!0===t.pm||!1===t.am)return p(e);return f(e,t.a)}(t instanceof Array?{h:t[0],m:t[1],s:t[2],S:t[3]}:t)}return NaN}var m={H:h(0,23),HH:h(0,23,2,"0"),_H:h(0,23,2),h:h(1,12),hh:h(1,12,2,"0"),_h:h(1,12,2),k:h(0,11),kk:h(0,11,2,"0"),_k:h(0,23,2),m:h(0,59),mm:h(0,59,2,"0"),_m:h(0,59,2),s:h(0,59),ss:h(0,59,2,"0"),_s:h(0,59,2),S:h(0,9),SS:h(0,99,2,"0"),SSS:h(0,999,3,"0"),a:function(e){return function(t){return"pm"===e?"am":"pm"}},A:function(e){return function(t){return"PM"===e?"AM":"PM"}},aa:function(e){return function(t){return"p.m."===e?"a.m.":"p.m."}},AA:function(e){return function(t){return"P.M."===e?"A.M.":"P.M."}}};function h(a,r,u,s){return void 0===u&&(u=1),function(i){return function(t,e){var l,o,c,n=(l=parseInt(i,10)+t,o=a,c=r,e?(l=(l-o)%(++c-o))<0?l+c:l+o:l<o?o:c<l?c:l);return isNaN(n)?void 0:k(n,u,s)}}}function b(t,e,l){for(var o=v(t),c=0,n=0,i=0;i<o.length;++i){var a=o[i];if(a.literal){var r=e.indexOf(a.property,c);if(-1===r||l<=r){if(0===i)return;var u=e.slice(n,r);return{property:k=o[i-1].property,index:n,value:u,adjust:m[k](u)}}n=c=r+a.property.length}else"_"===a.property[0]&&" "===e[c]&&++c}var s=o[o.length-1];if(s&&!s.literal){var k;u=e.slice(c);return{property:k=s.property,index:c,value:u,adjust:m[k](u)}}}function v(t){for(var e,l=/\\.|HH?|hh?|kk?|mm?|ss?|S{1,3}|AA?|aa?|_H|_h|_k|_m|_s/g,o=[],c=0;e=l.exec(t);){var n=e.index,i=l.lastIndex;c!==n&&o.push({index:c,property:t.slice(c,n),literal:!0}),"\\"===e[0][0]?o.push({index:n,property:e[0].slice(1),literal:!0}):o.push({index:n,property:e[0],literal:!1}),c=i}return c<t.length&&o.push({index:c,property:t.slice(c),literal:!0}),o}var y=function(){function l(t){this._totalMilliseconds=t}return Object.defineProperty(l.prototype,"hour",{get:function(){return Math.floor(this._totalMilliseconds/a)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hour12",{get:function(){return(this.hour+11)%12+1},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"minute",{get:function(){return Math.floor(this._totalMilliseconds%a/i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"second",{get:function(){return Math.floor(this._totalMilliseconds%i/n)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"millisecond",{get:function(){return this._totalMilliseconds%n},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"am",{get:function(){return this.hour<12},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"pm",{get:function(){return 12<=this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hours",{get:function(){return this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hours12",{get:function(){return this.hour12},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"minutes",{get:function(){return this.minute},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"seconds",{get:function(){return this.second},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"milliseconds",{get:function(){return this.millisecond},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"H",{get:function(){return this.invalid?"-":String(this.hour)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"h",{get:function(){return this.invalid?"-":String(this.hour12)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"k",{get:function(){return this.invalid?"-":String((this.hour+23)%24+1)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"m",{get:function(){return this.invalid?"-":String(this.minute)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"s",{get:function(){return this.invalid?"-":String(this.second)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"S",{get:function(){return this.invalid?"-":String(Math.floor(this.millisecond/100))},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"SS",{get:function(){return this.invalid?"--":t(Math.floor(this.millisecond/10),2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"SSS",{get:function(){return this.invalid?"---":t(this.millisecond,3,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"a",{get:function(){return this.invalid?"--":this.am?"am":"pm"},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"A",{get:function(){return this.invalid?"--":this.am?"AM":"PM"},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"aa",{get:function(){return this.invalid?"----":this.am?"a.m.":"p.m."},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"AA",{get:function(){return this.invalid?"----":this.am?"A.M.":"P.M."},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HH",{get:function(){return this.invalid?"--":k(this.H,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_H",{get:function(){return this.invalid?"--":k(this.H,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hh",{get:function(){return this.invalid?"--":k(this.h,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_h",{get:function(){return this.invalid?"--":k(this.h,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"kk",{get:function(){return this.invalid?"--":k(this.k,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_k",{get:function(){return this.invalid?"--":k(this.k,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"mm",{get:function(){return this.invalid?"--":k(this.m,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_m",{get:function(){return this.invalid?"--":k(this.m,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"ss",{get:function(){return this.invalid?"--":k(this.s,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_s",{get:function(){return this.invalid?"--":k(this.s,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmm",{get:function(){return this.HH+":"+this.mm},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmmss",{get:function(){return this.HHmm+":"+this.ss},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmmssSSS",{get:function(){return this.HHmmss+"."+this.SSS},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalMilliseconds",{get:function(){return this._totalMilliseconds},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalSeconds",{get:function(){return Math.floor(this._totalMilliseconds/n)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalMinutes",{get:function(){return Math.floor(this._totalMilliseconds/i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"valid",{get:function(){return 0<=this._totalMilliseconds&&this._totalMilliseconds<r},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"invalid",{get:function(){return!this.valid},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfHour",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%a)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfMinute",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfSecond",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%n)},enumerable:!0,configurable:!0}),l.prototype.ifInvalid=function(t){return this.valid?this:new l(d(t))},l.prototype.startOf=function(t){switch(t){case"hour":return this.startOfHour;case"minute":return this.startOfMinute;case"second":return this.startOfSecond;default:return this}},l.prototype.toString=function(){return this.HHmmssSSS},l.prototype.format=function(t){return e=this,String(t).replace(/\\.|HH?|hh?|kk?|mm?|ss?|S{1,3}|AA?|aa?|_H|_h|_k|_m|_s/g,function(t){return"\\"===t[0]?t[1]:e[t]});var e},l.prototype.with=function(t){return new l(d({h:c(t.h,t.hour,t.hours,this.hour),m:c(t.m,t.minute,t.minutes,this.minute),s:c(t.s,t.second,t.seconds,this.second),S:c(t.S,t.millisecond,t.milliseconds,this.millisecond),am:!0===t.am||!1===t.pm||"am"===t.a||"pm"!==t.a&&void 0}))},l.prototype.plus=function(t){var e=d(t);return 0===e?this:new l(this._totalMilliseconds+e)},l.prototype.minus=function(t){var e=d(t);return 0===e?this:new l(this._totalMilliseconds-e)},l.prototype.equals=function(t){return 0===this.compareTo(t)},l.prototype.compareTo=function(t){return this._totalMilliseconds-d(t)},l.prototype.isBefore=function(t){return this.compareTo(t)<0},l.prototype.isBeforeOrEqual=function(t){return this.compareTo(t)<=0},l.prototype.isAfter=function(t){return 0<this.compareTo(t)},l.prototype.isAfterOrEqual=function(t){return 0<=this.compareTo(t)},l.prototype.isBetweenExclusive=function(t,e){return this.isAfter(t)&&this.isBefore(e)},l.prototype.isBetweenInclusive=function(t,e){return this.isAfterOrEqual(t)&&this.isBeforeOrEqual(e)},l}(),g=new y(0),O=new y(NaN),S=function(t){if(null==t)return O;if(t instanceof y)return t;var e=d(t);return 0===e?g:isNaN(e)?O:new y(e)};function P(t,e,l){void 0===l&&(l=O);for(var o=l,c=0,n=t.length;c<n;++c){var i=S(t[c]);i.valid&&(o=e(o,i,c,t))}return o}function j(t){var e=document.createEvent("CustomEvent");e.initCustomEvent("input",!0,!1,"complete"),t.dispatchEvent(e)}S.prototype=y.prototype,S.INVALID=O,S.ZERO=g,S.now=function(){return new y(l())},S.min=function(){return P(arguments,function(t,e){return t.invalid||e.isBefore(t)?e:t})},S.max=function(){return P(arguments,function(t,e){return t.invalid||e.isAfter(t)?e:t})};var E=Object.assign||function(t){for(var e,l=1,o=arguments.length;l<o;l++)for(var c in e=arguments[l])Object.prototype.hasOwnProperty.call(e,c)&&(t[c]=e[c]);return t},_=matchMedia("(hover: none)").matches;function M(t,e,l,o,c){var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,l,o,c),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},t.dispatchEvent(n),n}function H(t,e){return t.getAttribute("data-clocklet-"+e)}function w(t,e,l){t.setAttribute("data-clocklet-"+e,l)}var x=function(){function t(t,e,l){this.dial=t,this.maxValue=e,this.setValue=l,this.hand=this.dial.getElementsByClassName("clocklet-hand")[0],this.dragging=!1,_?(t.addEventListener("touchstart",this._onDragStart.bind(this)),t.addEventListener("touchmove",this._onDrag.bind(this)),t.addEventListener("touchend",this._onDragEnd.bind(this))):(t.addEventListener("mousedown",this._onDragStart.bind(this)),addEventListener("mousemove",this._onDrag.bind(this),!0),addEventListener("mouseup",this._onDragEnd.bind(this),!0))}return t.prototype.value=function(t){this.hand.style.transform="rotate("+360*t/this.maxValue+"deg)";var e="clocklet-tick--selected",l=this.dial.getElementsByClassName(e)[0],o=this.dial.querySelector('[data-clocklet-tick-value="'+t+'"]');l!==o&&(l&&l.classList.remove(e),o&&o.classList.add(e))},t.prototype._onDragStart=function(t){if(t.touches&&1<t.touches.length)this.dragging=!1;else{this.dragging=!0;var e=H(t.target,"tick-value");e&&this.setValue(e),t.preventDefault(),M(this.dial,"clocklet.dragstart",!0,!1)}},t.prototype._onDrag=function(t){if(this.dragging){var e=t.targetTouches?t.targetTouches[0]:t,l=document.elementFromPoint(e.clientX,e.clientY),o=l&&H(l,"tick-value");if(o&&this.dial.contains(l))this.setValue(o);else{var c=this.dial.getBoundingClientRect(),n=e.clientX-c.left-c.width/2,i=e.clientY-c.top-c.height/2,a=Math.atan2(i,n);this.setValue(Math.round(a*this.maxValue/(2*Math.PI)+this.maxValue/4+this.maxValue)%this.maxValue)}t.preventDefault()}},t.prototype._onDragEnd=function(t){this.dragging=!1,t.preventDefault(),M(this.dial,"clocklet.dragend",!0,!1)},t}(),A={className:"",format:"HH:mm",placement:"bottom",alignment:"left",appendTo:"body",zIndex:"",dispatchesInputEvents:!0};function L(t){if(t){for(var e={},l=0,o=t.split(";");l<o.length;l++){var c=o[l],n=c.indexOf(":");e[c.slice(0,n).trim().replace(/[a-zA-Z0-9_]-[a-z]/g,function(t){return t[0]+t[2].toUpperCase()})]=c.slice(n+1).trim()}return e}}var N='<div class="clocklet"><div class="clocklet-plate"><div class="clocklet-dial clocklet-dial--minute"><div class="clocklet-hand clocklet-hand--minute"></div><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="1" style="left:54.8%;top:4.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="2" style="left:59.6%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="3" style="left:64.2%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="4" style="left:68.7%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="5" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="6" style="left:77%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="7" style="left:80.8%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="8" style="left:84.2%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="9" style="left:87.2%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="10" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="11" style="left:92%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="12" style="left:93.7%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="13" style="left:95%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="14" style="left:95.7%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="15" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="16" style="left:95.7%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="17" style="left:95%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="18" style="left:93.7%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="19" style="left:92%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="20" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="21" style="left:87.2%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="22" style="left:84.2%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="23" style="left:80.8%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="24" style="left:77%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="25" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="26" style="left:68.7%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="27" style="left:64.2%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="28" style="left:59.6%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="29" style="left:54.8%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="30" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="31" style="left:45.2%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="32" style="left:40.4%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="33" style="left:35.8%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="34" style="left:31.3%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="35" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="36" style="left:23%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="37" style="left:19.2%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="38" style="left:15.8%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="39" style="left:12.8%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="40" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="41" style="left:8%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="42" style="left:6.3%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="43" style="left:5%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="44" style="left:4.3%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="45" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="46" style="left:4.3%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="47" style="left:5%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="48" style="left:6.3%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="49" style="left:8%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="50" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="51" style="left:12.8%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="52" style="left:15.8%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="53" style="left:19.2%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="54" style="left:23%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="55" style="left:30.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="56" style="left:31.3%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="57" style="left:35.8%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="58" style="left:40.4%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="59" style="left:45.2%;top:4.3%"></button></div><div class="clocklet-dial clocklet-dial--hour"><div class="clocklet-hand clocklet-hand--hour"></div><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="1" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="2" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="3" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="4" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="5" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="6" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="7" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="8" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="9" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="10" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="11" style="left:30.5%;top:16.2%"></button></div><div class="clocklet-ampm"></div><div class="clocklet-hand-origin"></div></div></div>';function C(t,e){return I(t,e,/[Hhk]$/)}function D(t,e){return I(t,e,/a/i)}function I(t,e,l){for(var o=0,c=0,n=v(e);c<n.length;c++){var i=n[c];if(i.literal)o+=i.property.length;else{var a=t[i.property];if(l.test(i.property))return{index:o,value:a};o+=a.length}}}var T=function(){function t(t){var e,l=this;this.container=((e=document.createElement("div")).className="clocklet-container",e.innerHTML=N,e),this.root=this.container.firstElementChild,this.plate=this.root.firstElementChild,this.hour=new x(this.plate.getElementsByClassName("clocklet-dial--hour")[0],12,function(t){return l.value({h:t})}),this.minute=new x(this.plate.getElementsByClassName("clocklet-dial--minute")[0],60,function(t){return l.value({m:t})}),this.ampm=this.plate.getElementsByClassName("clocklet-ampm")[0],this.defaultOptions=E(Object.create(A),t),addEventListener("input",function(t){return t.target===l.input&&l.updateHighlight()},!0),this.root.addEventListener("mousedown",function(t){return t.preventDefault()}),this.ampm.addEventListener("mousedown",function(){return l.value({a:"pm"===H(l.ampm,"ampm")?"am":"pm"})}),this.root.addEventListener("clocklet.dragstart",function(){return l.root.classList.add("clocklet--dragging")}),this.root.addEventListener("clocklet.dragend",function(){return l.root.classList.remove("clocklet--dragging")})}return t.prototype.open=function(t,e){var l=E(Object.create(this.defaultOptions),e),o=t.getBoundingClientRect(),c=this.container,n=this.root,i={options:l};M(t,"clocklet.opening",!0,!0,i).defaultPrevented||(this.input=t,this.dispatchesInputEvents=l.dispatchesInputEvents,w(n,"placement",l.placement),w(n,"alignment",l.alignment),w(n,"format",l.format),w(n,"append-to",l.appendTo),n.className="clocklet "+(_?"":"clocklet--hoverable ")+l.className,"top"===l.placement?(n.style.top="",n.style.bottom="0"):(n.style.top=o.height+"px",n.style.bottom=""),"right"===l.alignment?(n.style.left="",n.style.right="-"+o.width+"px"):(n.style.left="0",n.style.right=""),c.style.zIndex=""!==l.zIndex?l.zIndex:(parseInt(getComputedStyle(t).zIndex,10)||0)+1,"parent"===l.appendTo?(c.style.position="relative",c.style.left="0",c.style.top="0",t.parentElement.insertBefore(c,t)):(c.style.position="absolute",c.style.left=document.documentElement.scrollLeft+document.body.scrollLeft+o.left+"px",c.style.top=document.documentElement.scrollTop+document.body.scrollTop+o.top+"px",c.parentElement!==document.body&&document.body.appendChild(c)),this.updateHighlight(),setTimeout(function(){return n.classList.add("clocklet--shown")}),M(t,"clocklet.opened",!0,!1,i))},t.prototype.close=function(){var t=this.input,e={};t&&(M(t,"clocklet.closing",!0,!0,e).defaultPrevented?t.focus():(this.input=void 0,this.root.classList.remove("clocklet--shown"),M(t,"clocklet.closed",!0,!1,e)))},t.prototype.value=function(t){if(this.input){void 0===t.a&&(t={h:t.h,m:t.m,a:H(this.ampm,"ampm")});var e=this.input.value,l=S(this.input.value).with(void 0!==t.a?t:{h:t.h,m:t.m,a:H(this.ampm,"ampm")}),o=H(this.root,"format");if(this.input.value=l.format(o),"text"===this.input.type){var c=void 0!==t.h?C(l,o):void 0!==t.m?I(l,o,/m$/):void 0!==t.a?D(l,o)||C(l,o):void 0;c&&this.input.setSelectionRange(c.index,c.index+c.value.length)}this.dispatchesInputEvents&&this.input.value!==e&&M(this.input,"input",!0,!1,void 0)}},t.prototype.updateHighlight=function(){if(this.input){var t=this.input.value?S(this.input.value):S.INVALID;t.valid?(w(this.root,"value",t.HHmm),this.hour.value(t.hour%12),this.minute.value(t.minute),w(this.ampm,"ampm",t.a)):(w(this.root,"value",""),this.hour.value(-1),this.minute.value(-1),w(this.ampm,"ampm","am"));var e=D(t.valid?t:S.ZERO,H(this.root,"format"));w(this.ampm,"ampm-formatted",e&&e.value||"")}},t}();var B,V,F,z,R,q,$={dataAttributeName:"clocklet",formatSelector:function(t){var e=L(t.getAttribute("data-clocklet"));return e&&e.format}};return R=(z=$)&&z.dataAttributeName||"lenientime",q=z&&z.formatSelector||function(t){return t.dataset.lenientime},addEventListener("change",function(t){var e=t.target,l=e.value,o=e.dataset;if(l&&R in o){var c=S(l),n=c.valid?c.format(q(e)||"HH:mm"):"";n!==l&&(e.value=n,j(e))}},!0),V=(B=$)&&B.dataAttributeName||"lenientime",F=B&&B.formatSelector||function(t){return t.dataset.lenientime},B&&B.amountSelector,addEventListener("keydown",function(t){var e=t.which;if(!(38!==e&&40!==e||t.altKey||t.ctrlKey||t.metaKey)){var l=t.target,o=l.dataset;if(V in o){t.preventDefault();var c=F(l)||"HH:mm",n=l.value;if(n){var i=l.selectionStart;if(s=null===i?void 0:b(c,n,i)){var a=(38===e?1:-1)*(B&&B.amountSelector&&B.amountSelector(l)||1),r=s.adjust(a,!0);if(void 0!==r){var u=s.index;l.value=n.slice(0,u)+r+n.slice(u+s.value.length),l.setSelectionRange(u,u+r.length),j(l)}}}else{var s;l.value=S.ZERO.format(c),(s=b(c,l.value,0))&&l.setSelectionRange(s.index,s.index+s.value.length),j(l)}}}},!0),function(t){void 0===t&&(t={});var l=new T(t.defaultOptions),e=t.target||"input[data-clocklet]",o=t.optionsSelector||function(t){return L(t.getAttribute("data-clocklet"))},c=l.close.bind(l);if(e instanceof Element)e.addEventListener("focus",function(t){return l.open(t.target,o(t.target))}),e.addEventListener("blur",c);else{var n="function"==typeof e?e:function(t){return(Element.prototype.matches||Element.prototype.msMatchesSelector).call(t,e)};document.body.addEventListener("focus",function(t){var e=t.target;n(e)&&l.open(e,o(e))},!0),document.body.addEventListener("blur",c,!0)}return l}()}); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.clocklet=e()}(this,function(){"use strict";function k(t,e,l){return t=String(t),!e||!isFinite(e)||t.length>=e?t:o(e-t.length,l)+t}function t(t,e,l){return t=String(t),!e||!isFinite(e)||t.length>=e?t:t+o(e-t.length,l)}function o(t,e){for(var l=e=null==e||""===e?" ":String(e);l.length<t;)l+=e;return l.substr(0,t)}function c(){for(var t=0,e=arguments.length;t<e;++t){var l=arguments[t];if("number"==typeof l)return l;if("string"==typeof l){var o=parseFloat(l);if(isFinite(o))return o}}}var n=1e3,i=60*n,a=60*i,e=12*a,r=24*a;function l(){return(Date.now()-(new Date).getTimezoneOffset()*i)%r}function u(t){var e=Math.floor(t)%r;return 0<=e?e:e+r}function s(t){return e<=t?t-e:t}function p(t){return t<e?t+e:t}function f(t,e){switch(t=u(t),e&&String(e)[0].toLowerCase()){case"a":return s(t);case"p":return p(t);default:return t}}function d(t){switch(typeof t){case"number":return u(t);case"string":return function(t){if(!(t=t&&String(t).replace(/[\uff00-\uffef]/g,function(t){return String.fromCharCode(t.charCodeAt(0)-65248)}).replace(/\s/g,"").replace(/(a|p)\.?m?\.?$/i,function(t,e){return e.toLowerCase()})))return 0;if("now"===t.toLowerCase())return l();var e=t.match(/^([+-]?[0-9]{1,2})(?:([0-9]{2})(?:([0-9]{2})([0-9]*))?)?(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.[0-9]*)()()()(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.?[0-9]*):([+-]?[0-9]*\.?[0-9]*)(?::([+-]?[0-9]*\.?[0-9]*))?()(a|p)?$/i);return e?f((e[1]?parseFloat(e[1])*a:0)+(e[2]?parseFloat(e[2])*i:0)+(e[3]?parseFloat(e[3])*n:0)+(e[4]?1e3*parseFloat("0."+e[4]):0),e[5]):NaN}(t);case"object":if(t)return function(t){if("number"==typeof t.totalMilliseconds)return u(t.totalMilliseconds);var e=c(t.h,t.hour,t.hours,0)*a+c(t.m,t.minute,t.minutes,0)*i+c(t.s,t.second,t.seconds,0)*n+c(t.S,t.millisecond,t.milliseconds,0);if(!0===t.am||!1===t.pm)return s(e);if(!0===t.pm||!1===t.am)return p(e);return f(e,t.a)}(t instanceof Array?{h:t[0],m:t[1],s:t[2],S:t[3]}:t)}return NaN}var m={H:h(0,23),HH:h(0,23,2,"0"),_H:h(0,23,2),h:h(1,12),hh:h(1,12,2,"0"),_h:h(1,12,2),k:h(0,11),kk:h(0,11,2,"0"),_k:h(0,23,2),m:h(0,59),mm:h(0,59,2,"0"),_m:h(0,59,2),s:h(0,59),ss:h(0,59,2,"0"),_s:h(0,59,2),S:h(0,9),SS:h(0,99,2,"0"),SSS:h(0,999,3,"0"),a:function(e){return function(t){return"pm"===e?"am":"pm"}},A:function(e){return function(t){return"PM"===e?"AM":"PM"}},aa:function(e){return function(t){return"p.m."===e?"a.m.":"p.m."}},AA:function(e){return function(t){return"P.M."===e?"A.M.":"P.M."}}};function h(a,r,u,s){return void 0===u&&(u=1),function(i){return function(t,e){var l,o,c,n=(l=parseInt(i,10)+t,o=a,c=r,e?(l=(l-o)%(++c-o))<0?l+c:l+o:l<o?o:c<l?c:l);return isNaN(n)?void 0:k(n,u,s)}}}function b(t,e,l){for(var o=v(t),c=0,n=0,i=0;i<o.length;++i){var a=o[i];if(a.literal){var r=e.indexOf(a.property,c);if(-1===r||l<=r){if(0===i)return;var u=e.slice(n,r);return{property:k=o[i-1].property,index:n,value:u,adjust:m[k](u)}}n=c=r+a.property.length}else"_"===a.property[0]&&" "===e[c]&&++c}var s=o[o.length-1];if(s&&!s.literal){var k;u=e.slice(c);return{property:k=s.property,index:c,value:u,adjust:m[k](u)}}}function v(t){for(var e,l=/\\.|HH?|hh?|kk?|mm?|ss?|S{1,3}|AA?|aa?|_H|_h|_k|_m|_s/g,o=[],c=0;e=l.exec(t);){var n=e.index,i=l.lastIndex;c!==n&&o.push({index:c,property:t.slice(c,n),literal:!0}),"\\"===e[0][0]?o.push({index:n,property:e[0].slice(1),literal:!0}):o.push({index:n,property:e[0],literal:!1}),c=i}return c<t.length&&o.push({index:c,property:t.slice(c),literal:!0}),o}var y=function(){function l(t){this._totalMilliseconds=t}return Object.defineProperty(l.prototype,"hour",{get:function(){return Math.floor(this._totalMilliseconds/a)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hour12",{get:function(){return(this.hour+11)%12+1},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"minute",{get:function(){return Math.floor(this._totalMilliseconds%a/i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"second",{get:function(){return Math.floor(this._totalMilliseconds%i/n)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"millisecond",{get:function(){return this._totalMilliseconds%n},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"am",{get:function(){return this.hour<12},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"pm",{get:function(){return 12<=this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hours",{get:function(){return this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hours12",{get:function(){return this.hour12},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"minutes",{get:function(){return this.minute},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"seconds",{get:function(){return this.second},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"milliseconds",{get:function(){return this.millisecond},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"H",{get:function(){return this.invalid?"-":String(this.hour)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"h",{get:function(){return this.invalid?"-":String(this.hour12)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"k",{get:function(){return this.invalid?"-":String((this.hour+23)%24+1)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"m",{get:function(){return this.invalid?"-":String(this.minute)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"s",{get:function(){return this.invalid?"-":String(this.second)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"S",{get:function(){return this.invalid?"-":String(Math.floor(this.millisecond/100))},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"SS",{get:function(){return this.invalid?"--":t(Math.floor(this.millisecond/10),2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"SSS",{get:function(){return this.invalid?"---":t(this.millisecond,3,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"a",{get:function(){return this.invalid?"--":this.am?"am":"pm"},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"A",{get:function(){return this.invalid?"--":this.am?"AM":"PM"},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"aa",{get:function(){return this.invalid?"----":this.am?"a.m.":"p.m."},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"AA",{get:function(){return this.invalid?"----":this.am?"A.M.":"P.M."},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HH",{get:function(){return this.invalid?"--":k(this.H,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_H",{get:function(){return this.invalid?"--":k(this.H,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"hh",{get:function(){return this.invalid?"--":k(this.h,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_h",{get:function(){return this.invalid?"--":k(this.h,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"kk",{get:function(){return this.invalid?"--":k(this.k,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_k",{get:function(){return this.invalid?"--":k(this.k,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"mm",{get:function(){return this.invalid?"--":k(this.m,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_m",{get:function(){return this.invalid?"--":k(this.m,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"ss",{get:function(){return this.invalid?"--":k(this.s,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"_s",{get:function(){return this.invalid?"--":k(this.s,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmm",{get:function(){return this.HH+":"+this.mm},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmmss",{get:function(){return this.HHmm+":"+this.ss},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"HHmmssSSS",{get:function(){return this.HHmmss+"."+this.SSS},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalMilliseconds",{get:function(){return this._totalMilliseconds},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalSeconds",{get:function(){return Math.floor(this._totalMilliseconds/n)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"totalMinutes",{get:function(){return Math.floor(this._totalMilliseconds/i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"valid",{get:function(){return 0<=this._totalMilliseconds&&this._totalMilliseconds<r},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"invalid",{get:function(){return!this.valid},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfHour",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%a)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfMinute",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%i)},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"startOfSecond",{get:function(){return new l(this._totalMilliseconds-this._totalMilliseconds%n)},enumerable:!0,configurable:!0}),l.prototype.ifInvalid=function(t){return this.valid?this:new l(d(t))},l.prototype.startOf=function(t){switch(t){case"hour":return this.startOfHour;case"minute":return this.startOfMinute;case"second":return this.startOfSecond;default:return this}},l.prototype.toString=function(){return this.HHmmssSSS},l.prototype.format=function(t){return e=this,String(t).replace(/\\.|HH?|hh?|kk?|mm?|ss?|S{1,3}|AA?|aa?|_H|_h|_k|_m|_s/g,function(t){return"\\"===t[0]?t[1]:e[t]});var e},l.prototype.with=function(t){return new l(d({h:c(t.h,t.hour,t.hours,this.hour),m:c(t.m,t.minute,t.minutes,this.minute),s:c(t.s,t.second,t.seconds,this.second),S:c(t.S,t.millisecond,t.milliseconds,this.millisecond),am:!0===t.am||!1===t.pm||"am"===t.a||"pm"!==t.a&&void 0}))},l.prototype.plus=function(t){var e=d(t);return 0===e?this:new l(this._totalMilliseconds+e)},l.prototype.minus=function(t){var e=d(t);return 0===e?this:new l(this._totalMilliseconds-e)},l.prototype.equals=function(t){return 0===this.compareTo(t)},l.prototype.compareTo=function(t){return this._totalMilliseconds-d(t)},l.prototype.isBefore=function(t){return this.compareTo(t)<0},l.prototype.isBeforeOrEqual=function(t){return this.compareTo(t)<=0},l.prototype.isAfter=function(t){return 0<this.compareTo(t)},l.prototype.isAfterOrEqual=function(t){return 0<=this.compareTo(t)},l.prototype.isBetweenExclusive=function(t,e){return this.isAfter(t)&&this.isBefore(e)},l.prototype.isBetweenInclusive=function(t,e){return this.isAfterOrEqual(t)&&this.isBeforeOrEqual(e)},l}(),g=new y(0),O=new y(NaN),S=function(t){if(null==t)return O;if(t instanceof y)return t;var e=d(t);return 0===e?g:isNaN(e)?O:new y(e)};function P(t,e,l){void 0===l&&(l=O);for(var o=l,c=0,n=t.length;c<n;++c){var i=S(t[c]);i.valid&&(o=e(o,i,c,t))}return o}function j(t){var e=document.createEvent("CustomEvent");e.initCustomEvent("input",!0,!1,"complete"),t.dispatchEvent(e)}S.prototype=y.prototype,S.INVALID=O,S.ZERO=g,S.now=function(){return new y(l())},S.min=function(){return P(arguments,function(t,e){return t.invalid||e.isBefore(t)?e:t})},S.max=function(){return P(arguments,function(t,e){return t.invalid||e.isAfter(t)?e:t})};var E=Object.assign||function(t){for(var e,l=1,o=arguments.length;l<o;l++)for(var c in e=arguments[l])Object.prototype.hasOwnProperty.call(e,c)&&(t[c]=e[c]);return t},_=matchMedia("(hover: none)").matches;function M(t,e,l,o,c){var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,l,o,c),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},t.dispatchEvent(n),n}function H(t,e){return t.getAttribute("data-clocklet-"+e)}function w(t,e,l){t.setAttribute("data-clocklet-"+e,l)}var x=function(){function t(t,e,l){this.dial=t,this.maxValue=e,this.setValue=l,this.hand=this.dial.getElementsByClassName("clocklet-hand")[0],this.dragging=!1,_?(t.addEventListener("touchstart",this._onDragStart.bind(this)),t.addEventListener("touchmove",this._onDrag.bind(this)),t.addEventListener("touchend",this._onDragEnd.bind(this))):(t.addEventListener("mousedown",this._onDragStart.bind(this)),addEventListener("mousemove",this._onDrag.bind(this),!0),addEventListener("mouseup",this._onDragEnd.bind(this),!0))}return t.prototype.value=function(t){this.hand.style.transform="rotate("+360*t/this.maxValue+"deg)";var e="clocklet-tick--selected",l=this.dial.getElementsByClassName(e)[0],o=this.dial.querySelector('[data-clocklet-tick-value="'+t+'"]');l!==o&&(l&&l.classList.remove(e),o&&o.classList.add(e))},t.prototype._onDragStart=function(t){if(t.touches&&1<t.touches.length)this.dragging=!1;else{this.dragging=!0;var e=H(t.target,"tick-value");e&&this.setValue(e),t.preventDefault(),M(this.dial,"clocklet.dragstart",!0,!1)}},t.prototype._onDrag=function(t){if(this.dragging){var e=t.targetTouches?t.targetTouches[0]:t,l=document.elementFromPoint(e.clientX,e.clientY),o=l&&H(l,"tick-value");if(o&&this.dial.contains(l))this.setValue(o);else{var c=this.dial.getBoundingClientRect(),n=e.clientX-c.left-c.width/2,i=e.clientY-c.top-c.height/2,a=Math.atan2(i,n);this.setValue(Math.round(a*this.maxValue/(2*Math.PI)+this.maxValue/4+this.maxValue)%this.maxValue)}t.preventDefault()}},t.prototype._onDragEnd=function(t){this.dragging=!1,t.preventDefault(),M(this.dial,"clocklet.dragend",!0,!1)},t}(),L={className:"",format:"HH:mm",placement:"bottom",alignment:"left",appendTo:"body",zIndex:"",dispatchesInputEvents:!0};function A(t){if(t){for(var e={},l=0,o=t.split(";");l<o.length;l++){var c=o[l],n=c.indexOf(":");e[c.slice(0,n).trim().replace(/[a-zA-Z0-9_]-[a-z]/g,function(t){return t[0]+t[2].toUpperCase()})]=c.slice(n+1).trim()}return e}}var N='<div class="clocklet"><div class="clocklet-plate"><div class="clocklet-dial clocklet-dial--minute"><div class="clocklet-hand clocklet-hand--minute"></div><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="1" style="left:54.8%;top:4.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="2" style="left:59.6%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="3" style="left:64.2%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="4" style="left:68.7%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="5" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="6" style="left:77%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="7" style="left:80.8%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="8" style="left:84.2%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="9" style="left:87.2%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="10" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="11" style="left:92%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="12" style="left:93.7%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="13" style="left:95%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="14" style="left:95.7%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="15" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="16" style="left:95.7%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="17" style="left:95%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="18" style="left:93.7%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="19" style="left:92%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="20" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="21" style="left:87.2%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="22" style="left:84.2%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="23" style="left:80.8%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="24" style="left:77%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="25" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="26" style="left:68.7%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="27" style="left:64.2%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="28" style="left:59.6%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="29" style="left:54.8%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="30" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="31" style="left:45.2%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="32" style="left:40.4%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="33" style="left:35.8%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="34" style="left:31.3%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="35" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="36" style="left:23%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="37" style="left:19.2%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="38" style="left:15.8%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="39" style="left:12.8%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="40" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="41" style="left:8%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="42" style="left:6.3%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="43" style="left:5%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="44" style="left:4.3%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="45" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="46" style="left:4.3%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="47" style="left:5%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="48" style="left:6.3%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="49" style="left:8%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="50" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="51" style="left:12.8%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="52" style="left:15.8%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="53" style="left:19.2%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="54" style="left:23%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="55" style="left:30.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="56" style="left:31.3%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="57" style="left:35.8%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="58" style="left:40.4%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" data-clocklet-tick-value="59" style="left:45.2%;top:4.3%"></button></div><div class="clocklet-dial clocklet-dial--hour"><div class="clocklet-hand clocklet-hand--hour"></div><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="1" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="2" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="3" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="4" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="5" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="6" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="7" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="8" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="9" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="10" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" data-clocklet-tick-value="11" style="left:30.5%;top:16.2%"></button></div><div class="clocklet-ampm"></div><div class="clocklet-hand-origin"></div></div></div>';function C(t,e){return I(t,e,/[Hhk]$/)}function D(t,e){return I(t,e,/a/i)}function I(t,e,l){for(var o=0,c=0,n=v(e);c<n.length;c++){var i=n[c];if(i.literal)o+=i.property.length;else{var a=t[i.property];if(l.test(i.property))return{index:o,value:a};o+=a.length}}}var T=function(){function t(t){var e,l=this;this.container=((e=document.createElement("div")).className="clocklet-container",e.innerHTML=N,e),this.root=this.container.firstElementChild,this.plate=this.root.firstElementChild,this.hour=new x(this.plate.getElementsByClassName("clocklet-dial--hour")[0],12,function(t){return l.value({h:t})}),this.minute=new x(this.plate.getElementsByClassName("clocklet-dial--minute")[0],60,function(t){return l.value({m:t})}),this.ampm=this.plate.getElementsByClassName("clocklet-ampm")[0],this.defaultOptions=E(Object.create(L),t),addEventListener("input",function(t){return t.target===l.input&&l.updateHighlight()},!0),this.root.addEventListener("mousedown",function(t){return t.preventDefault()}),this.ampm.addEventListener("mousedown",function(){return l.value({a:"pm"===H(l.ampm,"ampm")?"am":"pm"})}),this.root.addEventListener("clocklet.dragstart",function(){return l.root.classList.add("clocklet--dragging")}),this.root.addEventListener("clocklet.dragend",function(){return l.root.classList.remove("clocklet--dragging")})}return t.prototype.open=function(t,e){var l=this,o=E(Object.create(this.defaultOptions),e),c=t.getBoundingClientRect(),n=this.container,i=this.root,a={options:o};M(t,"clocklet.opening",!0,!0,a).defaultPrevented||(this.input=t,this.dispatchesInputEvents=o.dispatchesInputEvents,w(i,"placement",o.placement),w(i,"alignment",o.alignment),w(i,"format",o.format),w(i,"append-to",o.appendTo),i.className="clocklet clocklet--showing "+(_?"":"clocklet--hoverable ")+o.className,"top"===o.placement?(i.style.top="",i.style.bottom="0"):(i.style.top=c.height+"px",i.style.bottom=""),"right"===o.alignment?(i.style.left="",i.style.right="-"+c.width+"px"):(i.style.left="0",i.style.right=""),n.style.zIndex=""!==o.zIndex?o.zIndex:(parseInt(getComputedStyle(t).zIndex,10)||0)+1,"parent"===o.appendTo?(n.style.position="relative",n.style.left="0",n.style.top="0",t.parentElement.insertBefore(n,t)):(n.style.position="absolute",n.style.left=document.documentElement.scrollLeft+document.body.scrollLeft+c.left+"px",n.style.top=document.documentElement.scrollTop+document.body.scrollTop+c.top+"px",n.parentElement!==document.body&&document.body.appendChild(n)),this.updateHighlight(),setTimeout(function(){i.classList.remove("clocklet--showing"),l.input&&i.classList.add("clocklet--shown")}),M(t,"clocklet.opened",!0,!1,a))},t.prototype.close=function(){var t=this.input,e={};t&&(M(t,"clocklet.closing",!0,!0,e).defaultPrevented?t.focus():(this.input=void 0,this.root.classList.remove("clocklet--shown"),M(t,"clocklet.closed",!0,!1,e)))},t.prototype.value=function(t){if(this.input){void 0===t.a&&(t={h:t.h,m:t.m,a:H(this.ampm,"ampm")});var e=this.input.value,l=S(this.input.value).with(void 0!==t.a?t:{h:t.h,m:t.m,a:H(this.ampm,"ampm")}),o=H(this.root,"format");if(this.input.value=l.format(o),"text"===this.input.type){var c=void 0!==t.h?C(l,o):void 0!==t.m?I(l,o,/m$/):void 0!==t.a?D(l,o)||C(l,o):void 0;c&&this.input.setSelectionRange(c.index,c.index+c.value.length)}this.dispatchesInputEvents&&this.input.value!==e&&M(this.input,"input",!0,!1,void 0)}},t.prototype.updateHighlight=function(){if(this.input){var t=this.input.value?S(this.input.value):S.INVALID;t.valid?(w(this.root,"value",t.HHmm),this.hour.value(t.hour%12),this.minute.value(t.minute),w(this.ampm,"ampm",t.a)):(w(this.root,"value",""),this.hour.value(-1),this.minute.value(-1),w(this.ampm,"ampm","am"));var e=D(t.valid?t:S.ZERO,H(this.root,"format"));w(this.ampm,"ampm-formatted",e&&e.value||"")}},t}();var B,V,F,z,R,q,$={dataAttributeName:"clocklet",formatSelector:function(t){var e=A(t.getAttribute("data-clocklet"));return e&&e.format}};return R=(z=$)&&z.dataAttributeName||"lenientime",q=z&&z.formatSelector||function(t){return t.dataset.lenientime},addEventListener("change",function(t){var e=t.target,l=e.value,o=e.dataset;if(l&&R in o){var c=S(l),n=c.valid?c.format(q(e)||"HH:mm"):"";n!==l&&(e.value=n,j(e))}},!0),V=(B=$)&&B.dataAttributeName||"lenientime",F=B&&B.formatSelector||function(t){return t.dataset.lenientime},B&&B.amountSelector,addEventListener("keydown",function(t){var e=t.which;if(!(38!==e&&40!==e||t.altKey||t.ctrlKey||t.metaKey)){var l=t.target,o=l.dataset;if(V in o){t.preventDefault();var c=F(l)||"HH:mm",n=l.value;if(n){var i=l.selectionStart;if(s=null===i?void 0:b(c,n,i)){var a=(38===e?1:-1)*(B&&B.amountSelector&&B.amountSelector(l)||1),r=s.adjust(a,!0);if(void 0!==r){var u=s.index;l.value=n.slice(0,u)+r+n.slice(u+s.value.length),l.setSelectionRange(u,u+r.length),j(l)}}}else{var s;l.value=S.ZERO.format(c),(s=b(c,l.value,0))&&l.setSelectionRange(s.index,s.index+s.value.length),j(l)}}}},!0),function(t){void 0===t&&(t={});var l=new T(t.defaultOptions),e=t.target||"input[data-clocklet]",o=t.optionsSelector||function(t){return A(t.getAttribute("data-clocklet"))},c=l.close.bind(l);if(e instanceof Element)e.addEventListener("focus",function(t){return l.open(t.target,o(t.target))}),e.addEventListener("blur",c);else{var n="function"==typeof e?e:function(t){return(Element.prototype.matches||Element.prototype.msMatchesSelector).call(t,e)};document.body.addEventListener("focus",function(t){var e=t.target;n(e)&&l.open(e,o(e))},!0),document.body.addEventListener("blur",c,!0)}return l}()}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
162993
2249