{"version":3,"file":"js/7775-c7f28ece2144a8f6f0f8.js","mappings":"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","sources":["webpack://camp/./node_modules/timepicker/jquery.timepicker.js"],"sourcesContent":["/*!\n * jquery-timepicker v1.14.1 - A jQuery timepicker plugin inspired by Google Calendar. It supports both mouse and keyboard navigation.\n * Copyright (c) 2021 Jon Thornton - https://www.jonthornton.com/jquery-timepicker/\n * License: MIT\n */\n(function () {\n 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n var ONE_DAY = 86400;\n var EVENT_DEFAULTS = {\n bubbles: true,\n cancelable: false,\n detail: null\n };\n\n var roundingFunction = function roundingFunction(seconds, settings) {\n if (seconds === null) {\n return null;\n }\n\n var i = 0;\n var nextVal = 0;\n\n while (nextVal < seconds) {\n i++;\n nextVal += settings.step(i) * 60;\n }\n\n var prevVal = nextVal - settings.step(i - 1) * 60;\n\n if (seconds - prevVal < nextVal - seconds) {\n return moduloSeconds(prevVal, settings);\n } else {\n return moduloSeconds(nextVal, settings);\n }\n };\n\n function moduloSeconds(seconds, settings) {\n if (seconds == ONE_DAY && settings.show2400) {\n return seconds;\n }\n\n return seconds % ONE_DAY;\n }\n\n var DEFAULT_SETTINGS = {\n appendTo: \"body\",\n className: null,\n closeOnWindow: false,\n closeOnScroll: false,\n disableTextInput: false,\n disableTimeRanges: [],\n disableTouchKeyboard: false,\n durationTime: null,\n forceRoundTime: false,\n lang: {},\n listWidth: null,\n maxTime: null,\n minTime: null,\n noneOption: false,\n orientation: \"l\",\n roundingFunction: roundingFunction,\n scrollDefault: null,\n selectOnBlur: false,\n show2400: false,\n showDuration: false,\n showOn: [\"click\", \"focus\"],\n step: 30,\n stopScrollPropagation: false,\n timeFormat: \"g:ia\",\n typeaheadHighlight: true,\n useSelect: false,\n wrapHours: true\n };\n var DEFAULT_LANG = {\n am: \"am\",\n pm: \"pm\",\n AM: \"AM\",\n PM: \"PM\",\n decimal: \".\",\n mins: \"mins\",\n hr: \"hr\",\n hrs: \"hrs\"\n };\n\n var Timepicker = /*#__PURE__*/function () {\n function Timepicker(targetEl) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Timepicker);\n\n this._handleFormatValue = this._handleFormatValue.bind(this);\n this._handleKeyUp = this._handleKeyUp.bind(this);\n this.targetEl = targetEl;\n var attrOptions = Timepicker.extractAttrOptions(targetEl, Object.keys(DEFAULT_SETTINGS));\n this.settings = this.parseSettings(_objectSpread2(_objectSpread2(_objectSpread2({}, DEFAULT_SETTINGS), options), attrOptions));\n }\n\n _createClass(Timepicker, [{\n key: \"hideMe\",\n value: function hideMe() {\n if (this.settings.useSelect) {\n this.targetEl.blur();\n return;\n }\n\n if (!this.list || !Timepicker.isVisible(this.list)) {\n return;\n }\n\n if (this.settings.selectOnBlur) {\n this._selectValue();\n }\n\n this.list.hide();\n var hideTimepickerEvent = new CustomEvent('hideTimepicker', EVENT_DEFAULTS);\n this.targetEl.dispatchEvent(hideTimepickerEvent);\n }\n }, {\n key: \"_findRow\",\n value: function _findRow(value) {\n if (!value && value !== 0) {\n return false;\n }\n\n var out = false;\n var value = this.settings.roundingFunction(value, this.settings);\n\n if (!this.list) {\n return false;\n }\n\n this.list.find(\"li\").each(function (i, obj) {\n var parsed = parseInt(obj.dataset.time);\n\n if (isNaN(parsed)) {\n return;\n }\n\n if (parsed == value) {\n out = obj;\n return false;\n }\n });\n return out;\n }\n }, {\n key: \"_hideKeyboard\",\n value: function _hideKeyboard() {\n return (window.navigator.msMaxTouchPoints || \"ontouchstart\" in document) && this.settings.disableTouchKeyboard;\n }\n }, {\n key: \"_setTimeValue\",\n value: function _setTimeValue(value, source) {\n if (this.targetEl.nodeName === \"INPUT\") {\n if (value !== null || this.targetEl.value != \"\") {\n this.targetEl.value = value;\n }\n\n var tp = this;\n var settings = tp.settings;\n\n if (settings.useSelect && source != \"select\" && tp.list) {\n tp.list.val(tp._roundAndFormatTime(tp.anytime2int(value)));\n }\n }\n\n var selectTimeEvent = new CustomEvent('selectTime', EVENT_DEFAULTS);\n\n if (this.selectedValue != value) {\n this.selectedValue = value;\n var changeTimeEvent = new CustomEvent('changeTime', EVENT_DEFAULTS);\n var changeEvent = new CustomEvent('change', Object.assign(EVENT_DEFAULTS, {\n detail: 'timepicker'\n }));\n\n if (source == \"select\") {\n this.targetEl.dispatchEvent(selectTimeEvent);\n this.targetEl.dispatchEvent(changeTimeEvent);\n this.targetEl.dispatchEvent(changeEvent);\n } else if ([\"error\", \"initial\"].indexOf(source) == -1) {\n this.targetEl.dispatchEvent(changeTimeEvent);\n }\n\n return true;\n } else {\n if ([\"error\", \"initial\"].indexOf(source) == -1) {\n this.targetEl.dispatchEvent(selectTimeEvent);\n }\n\n return false;\n }\n }\n }, {\n key: \"_getTimeValue\",\n value: function _getTimeValue() {\n if (this.targetEl.nodeName === \"INPUT\") {\n return this.targetEl.value;\n } else {\n // use the element's data attributes to store values\n return this.selectedValue;\n }\n }\n }, {\n key: \"_selectValue\",\n value: function _selectValue() {\n var tp = this;\n tp.settings;\n var list = tp.list;\n var cursor = list.find(\".ui-timepicker-selected\");\n\n if (cursor.hasClass(\"ui-timepicker-disabled\")) {\n return false;\n }\n\n if (!cursor.length) {\n return true;\n }\n\n var timeValue = cursor.get(0).dataset.time; // selected value found\n\n if (timeValue) {\n var parsedTimeValue = parseInt(timeValue);\n\n if (!isNaN(parsedTimeValue)) {\n timeValue = parsedTimeValue;\n }\n }\n\n if (timeValue !== null) {\n if (typeof timeValue != \"string\") {\n timeValue = tp._int2time(timeValue);\n }\n\n tp._setTimeValue(timeValue, \"select\");\n }\n\n return true;\n }\n }, {\n key: \"anytime2int\",\n value: function anytime2int(input) {\n if (typeof input === 'number') {\n return input;\n } else if (typeof input === 'string') {\n return this.time2int(input);\n } else if (_typeof(input) === 'object' && input instanceof Date) {\n return input.getHours() * 3600 + input.getMinutes() * 60 + input.getSeconds();\n } else if (typeof input == 'function') {\n return input();\n } else {\n return null;\n }\n }\n }, {\n key: \"time2int\",\n value: function time2int(timeString) {\n if (timeString === \"\" || timeString === null || timeString === undefined) {\n return null;\n }\n\n if (timeString === 'now') {\n return this.anytime2int(new Date());\n }\n\n if (typeof timeString != \"string\") {\n return timeString;\n }\n\n timeString = timeString.toLowerCase().replace(/[\\s\\.]/g, \"\"); // if the last character is an \"a\" or \"p\", add the \"m\"\n\n if (this.settings.lang.am === \"am\" && (timeString.slice(-1) == \"a\" || timeString.slice(-1) == \"p\")) {\n timeString += \"m\";\n }\n\n var pattern = /^(([^0-9]*))?([0-9]?[0-9])(([0-5][0-9]))?(([0-5][0-9]))?(([^0-9]*))$/;\n var hasDelimetersMatch = timeString.match(/\\W/);\n\n if (hasDelimetersMatch) {\n pattern = /^(([^0-9]*))?([0-9]?[0-9])(\\W+([0-5][0-9]?))?(\\W+([0-5][0-9]))?(([^0-9]*))$/;\n }\n\n var time = timeString.match(pattern);\n\n if (!time) {\n return null;\n }\n\n var hour = parseInt(time[3] * 1, 10);\n var ampm = time[2] || time[9];\n var minutes = this.parseMinuteString(time[5]);\n var seconds = time[7] * 1 || 0;\n\n if (!ampm && time[3].length == 2 && time[3][0] == \"0\") {\n // preceding '0' implies AM\n ampm = \"am\";\n }\n\n if (hour > 24 && !minutes) {\n // if someone types in something like \"83\", turn it into \"8h 30m\"\n hour = time[3][0] * 1;\n minutes = this.parseMinuteString(time[3][1]);\n }\n\n var hours = hour;\n\n if (hour <= 12 && ampm) {\n ampm = ampm.trim();\n var isPm = ampm == this.settings.lang.pm || ampm == this.settings.lang.PM;\n\n if (hour == 12) {\n hours = isPm ? 12 : 0;\n } else {\n hours = hour + (isPm ? 12 : 0);\n }\n } else {\n var t = hour * 3600 + minutes * 60 + seconds;\n\n if (t >= ONE_DAY + (this.settings.show2400 ? 1 : 0)) {\n if (this.settings.wrapHours === false) {\n return null;\n }\n\n hours = hour % 24;\n }\n }\n\n var timeInt = hours * 3600 + minutes * 60 + seconds; // if no am/pm provided, intelligently guess based on the scrollDefault\n\n if (hour < 12 && !ampm && this.settings._twelveHourTime && this.settings.scrollDefault()) {\n var delta = timeInt - this.settings.scrollDefault();\n\n if (delta < 0 && delta >= ONE_DAY / -2) {\n timeInt = (timeInt + ONE_DAY / 2) % ONE_DAY;\n }\n }\n\n return timeInt;\n }\n }, {\n key: \"parseMinuteString\",\n value: function parseMinuteString(minutesString) {\n if (!minutesString) {\n minutesString = 0;\n }\n\n var multiplier = 1;\n\n if (minutesString.length == 1) {\n multiplier = 10;\n }\n\n return parseInt(minutesString) * multiplier || 0;\n }\n }, {\n key: \"intStringDateOrFunc2func\",\n value: function intStringDateOrFunc2func(input) {\n var _this = this;\n\n if (input === null || input === undefined) {\n return function () {\n return null;\n };\n } else if (typeof input === 'function') {\n return function () {\n return _this.anytime2int(input());\n };\n } else {\n return function () {\n return _this.anytime2int(input);\n };\n }\n }\n }, {\n key: \"parseSettings\",\n value: function parseSettings(settings) {\n settings.lang = _objectSpread2(_objectSpread2({}, DEFAULT_LANG), settings.lang); // lang is used by other functions the rest of this depends on\n // todo: unwind circular dependency on lang\n\n this.settings = settings;\n\n if (settings.listWidth) {\n settings.listWidth = this.anytime2int(settings.listWidth);\n }\n\n settings.minTime = this.intStringDateOrFunc2func(settings.minTime);\n settings.maxTime = this.intStringDateOrFunc2func(settings.maxTime);\n settings.durationTime = this.intStringDateOrFunc2func(settings.durationTime);\n\n if (settings.scrollDefault) {\n settings.scrollDefault = this.intStringDateOrFunc2func(settings.scrollDefault);\n } else {\n settings.scrollDefault = settings.minTime;\n }\n\n if (typeof settings.timeFormat === \"string\" && settings.timeFormat.match(/[gh]/)) {\n settings._twelveHourTime = true;\n }\n\n if (typeof settings.step != 'function') {\n var curryStep = settings.step;\n\n settings.step = function () {\n return curryStep;\n };\n }\n\n settings.disableTimeRanges = this._parseDisableTimeRanges(settings.disableTimeRanges);\n\n if (settings.closeOnWindowScroll && !settings.closeOnScroll) {\n settings.closeOnScroll = settings.closeOnWindowScroll;\n }\n\n if (settings.closeOnScroll === true) {\n settings.closeOnScroll = window.document;\n }\n\n return settings;\n }\n }, {\n key: \"_parseDisableTimeRanges\",\n value: function _parseDisableTimeRanges(disableTimeRanges) {\n if (!disableTimeRanges || disableTimeRanges.length == 0) {\n return [];\n } // convert string times to integers\n\n\n for (var i in disableTimeRanges) {\n disableTimeRanges[i] = [this.anytime2int(disableTimeRanges[i][0]), this.anytime2int(disableTimeRanges[i][1])];\n } // sort by starting time\n\n\n disableTimeRanges = disableTimeRanges.sort(function (a, b) {\n return a[0] - b[0];\n }); // merge any overlapping ranges\n\n for (var i = disableTimeRanges.length - 1; i > 0; i--) {\n if (disableTimeRanges[i][0] <= disableTimeRanges[i - 1][1]) {\n disableTimeRanges[i - 1] = [Math.min(disableTimeRanges[i][0], disableTimeRanges[i - 1][0]), Math.max(disableTimeRanges[i][1], disableTimeRanges[i - 1][1])];\n disableTimeRanges.splice(i, 1);\n }\n }\n\n return disableTimeRanges;\n }\n /*\n * Filter freeform input\n */\n\n }, {\n key: \"_disableTextInputHandler\",\n value: function _disableTextInputHandler(e) {\n switch (e.keyCode) {\n case 13: // return\n\n case 9:\n //tab\n return;\n\n default:\n e.preventDefault();\n }\n }\n }, {\n key: \"_int2duration\",\n value: function _int2duration(seconds, step) {\n seconds = Math.abs(seconds);\n var minutes = Math.round(seconds / 60),\n duration = [],\n hours,\n mins;\n\n if (minutes < 60) {\n // Only show (x mins) under 1 hour\n duration = [minutes, this.settings.lang.mins];\n } else {\n hours = Math.floor(minutes / 60);\n mins = minutes % 60; // Show decimal notation (eg: 1.5 hrs) for 30 minute steps\n\n if (step == 30 && mins == 30) {\n hours += this.settings.lang.decimal + 5;\n }\n\n duration.push(hours);\n duration.push(hours == 1 ? this.settings.lang.hr : this.settings.lang.hrs); // Show remainder minutes notation (eg: 1 hr 15 mins) for non-30 minute steps\n // and only if there are remainder minutes to show\n\n if (step != 30 && mins) {\n duration.push(mins);\n duration.push(this.settings.lang.mins);\n }\n }\n\n return duration.join(\" \");\n }\n }, {\n key: \"_roundAndFormatTime\",\n value: function _roundAndFormatTime(seconds) {\n // console.log('_roundAndFormatTime')\n seconds = this.settings.roundingFunction(seconds, this.settings);\n\n if (seconds !== null) {\n return this._int2time(seconds);\n }\n }\n }, {\n key: \"_int2time\",\n value: function _int2time(timeInt) {\n if (typeof timeInt != \"number\") {\n return null;\n }\n\n var seconds = parseInt(timeInt % 60),\n minutes = parseInt(timeInt / 60 % 60),\n hours = parseInt(timeInt / (60 * 60) % 24);\n var time = new Date(1970, 0, 2, hours, minutes, seconds, 0);\n\n if (isNaN(time.getTime())) {\n return null;\n }\n\n if (typeof this.settings.timeFormat === \"function\") {\n return this.settings.timeFormat(time);\n }\n\n var output = \"\";\n var hour, code;\n\n for (var i = 0; i < this.settings.timeFormat.length; i++) {\n code = this.settings.timeFormat.charAt(i);\n\n switch (code) {\n case \"a\":\n output += time.getHours() > 11 ? this.settings.lang.pm : this.settings.lang.am;\n break;\n\n case \"A\":\n output += time.getHours() > 11 ? this.settings.lang.PM : this.settings.lang.AM;\n break;\n\n case \"g\":\n hour = time.getHours() % 12;\n output += hour === 0 ? \"12\" : hour;\n break;\n\n case \"G\":\n hour = time.getHours();\n if (timeInt === ONE_DAY) hour = this.settings.show2400 ? 24 : 0;\n output += hour;\n break;\n\n case \"h\":\n hour = time.getHours() % 12;\n\n if (hour !== 0 && hour < 10) {\n hour = \"0\" + hour;\n }\n\n output += hour === 0 ? \"12\" : hour;\n break;\n\n case \"H\":\n hour = time.getHours();\n if (timeInt === ONE_DAY) hour = this.settings.show2400 ? 24 : 0;\n output += hour > 9 ? hour : \"0\" + hour;\n break;\n\n case \"i\":\n var minutes = time.getMinutes();\n output += minutes > 9 ? minutes : \"0\" + minutes;\n break;\n\n case \"s\":\n seconds = time.getSeconds();\n output += seconds > 9 ? seconds : \"0\" + seconds;\n break;\n\n case \"\\\\\":\n // escape character; add the next character and skip ahead\n i++;\n output += this.settings.timeFormat.charAt(i);\n break;\n\n default:\n output += code;\n }\n }\n\n return output;\n }\n }, {\n key: \"_setSelected\",\n value: function _setSelected() {\n var list = this.list;\n list.find(\"li\").removeClass(\"ui-timepicker-selected\");\n var timeValue = this.anytime2int(this._getTimeValue());\n\n if (timeValue === null) {\n return;\n }\n\n var selected = this._findRow(timeValue);\n\n if (selected) {\n var selectedRect = selected.getBoundingClientRect();\n var listRect = list.get(0).getBoundingClientRect();\n var topDelta = selectedRect.top - listRect.top;\n\n if (topDelta + selectedRect.height > listRect.height || topDelta < 0) {\n var newScroll = list.scrollTop() + (selectedRect.top - listRect.top) - selectedRect.height;\n list.scrollTop(newScroll);\n }\n\n var parsed = parseInt(selected.dataset.time);\n\n if (this.settings.forceRoundTime || parsed === timeValue) {\n selected.classList.add('ui-timepicker-selected');\n }\n }\n }\n }, {\n key: \"_isFocused\",\n value: function _isFocused(el) {\n return el === document.activeElement;\n }\n }, {\n key: \"_handleFormatValue\",\n value: function _handleFormatValue(e) {\n if (e && e.detail == \"timepicker\") {\n return;\n }\n\n this._formatValue(e);\n }\n }, {\n key: \"_formatValue\",\n value: function _formatValue(e, origin) {\n if (this.targetEl.value === \"\") {\n this._setTimeValue(null, origin);\n\n return;\n } // IE fires change event before blur\n\n\n if (this._isFocused(this.targetEl) && (!e || e.type != \"change\")) {\n return;\n }\n\n var settings = this.settings;\n var seconds = this.anytime2int(this.targetEl.value);\n\n if (seconds === null) {\n var timeFormatErrorEvent = new CustomEvent('timeFormatError', EVENT_DEFAULTS);\n this.targetEl.dispatchEvent(timeFormatErrorEvent);\n return;\n }\n\n var rangeError = this._isTimeRangeError(seconds, settings);\n\n if (settings.forceRoundTime) {\n var roundSeconds = settings.roundingFunction(seconds, settings);\n\n if (roundSeconds != seconds) {\n seconds = roundSeconds;\n origin = null;\n }\n }\n\n var prettyTime = this._int2time(seconds);\n\n if (rangeError) {\n this._setTimeValue(prettyTime);\n\n var timeRangeErrorEvent = new CustomEvent('timeRangeError', EVENT_DEFAULTS);\n this.targetEl.dispatchEvent(timeRangeErrorEvent);\n } else {\n this._setTimeValue(prettyTime, origin);\n }\n }\n }, {\n key: \"_isTimeRangeError\",\n value: function _isTimeRangeError(seconds, settings) {\n // check that the time in within bounds\n if (settings.minTime !== null && settings.maxTime !== null && (seconds < settings.minTime() || seconds > settings.maxTime())) {\n return true;\n } // check that time isn't within disabled time ranges\n\n\n var _iterator = _createForOfIteratorHelper(settings.disableTimeRanges),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var range = _step.value;\n\n if (seconds >= range[0] && seconds < range[1]) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n }, {\n key: \"_generateNoneElement\",\n value: function _generateNoneElement(optionValue, useSelect) {\n var label, className, value;\n\n if (_typeof(optionValue) == \"object\") {\n label = optionValue.label;\n className = optionValue.className;\n value = optionValue.value;\n } else if (typeof optionValue == \"string\") {\n label = optionValue;\n value = \"\";\n } else {\n $.error(\"Invalid noneOption value\");\n }\n\n var el;\n\n if (useSelect) {\n el = document.createElement(\"option\");\n el.value = value;\n } else {\n el = document.createElement(\"li\");\n el.dataset.time = String(value);\n }\n\n el.innerText = label;\n el.classList.add(className);\n return el;\n }\n /*\n * Time typeahead\n */\n\n }, {\n key: \"_handleKeyUp\",\n value: function _handleKeyUp(e) {\n var _this2 = this;\n\n if (!this.list || !Timepicker.isVisible(this.list) || this.settings.disableTextInput) {\n return true;\n }\n\n if (e.type === \"paste\" || e.type === \"cut\") {\n var handler = function handler() {\n if (_this2.settings.typeaheadHighlight) {\n _this2._setSelected();\n } else {\n _this2.list.hide();\n }\n };\n\n setTimeout(handler, 0);\n return;\n }\n\n switch (e.keyCode) {\n case 96: // numpad numerals\n\n case 97:\n case 98:\n case 99:\n case 100:\n case 101:\n case 102:\n case 103:\n case 104:\n case 105:\n case 48: // numerals\n\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n case 65: // a\n\n case 77: // m\n\n case 80: // p\n\n case 186: // colon\n\n case 8: // backspace\n\n case 46:\n // delete\n if (this.settings.typeaheadHighlight) {\n this._setSelected();\n } else {\n this.list.hide();\n }\n\n break;\n }\n }\n }], [{\n key: \"extractAttrOptions\",\n value: function extractAttrOptions(element, keys) {\n var output = {};\n\n var _iterator2 = _createForOfIteratorHelper(keys),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var key = _step2.value;\n\n if (key in element.dataset) {\n output[key] = element.dataset[key];\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return output;\n }\n }, {\n key: \"isVisible\",\n value: function isVisible(elem) {\n var el = elem[0];\n return el.offsetWidth > 0 && el.offsetHeight > 0;\n }\n }, {\n key: \"hideAll\",\n value: function hideAll() {\n var _iterator3 = _createForOfIteratorHelper(document.getElementsByClassName('ui-timepicker-input')),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var el = _step3.value;\n var tp = el.timepickerObj;\n\n if (tp) {\n tp.hideMe();\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }]);\n\n return Timepicker;\n }(); // IE9-11 polyfill for CustomEvent\n\n\n (function () {\n if (typeof window.CustomEvent === \"function\") return false;\n\n function CustomEvent(event, params) {\n if (!params) {\n params = {};\n }\n\n params = Object.assign(EVENT_DEFAULTS, params);\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n })();\n\n function _getNoneOptionItems(settings) {\n if (!settings.noneOption) {\n return [];\n }\n\n var noneOptions = _getNoneOptionItemsHelper(settings.noneOption);\n\n if (Array.isArray(settings.noneOption)) {\n return noneOptions;\n } else {\n return [noneOptions];\n }\n }\n\n function _getNoneOptionItemsHelper(noneOption) {\n if (Array.isArray(noneOption)) {\n return noneOption.map(_getNoneOptionItemsHelper);\n }\n\n if (noneOption === true) {\n return {\n 'label': 'None',\n 'value': ''\n };\n }\n\n if (_typeof(noneOption) === 'object') {\n return noneOption;\n }\n\n return {\n 'label': noneOption,\n 'value': ''\n };\n }\n\n function _getDropdownTimes(tp) {\n var _settings$minTime, _settings$maxTime;\n\n var settings = tp.settings;\n var start = (_settings$minTime = settings.minTime()) !== null && _settings$minTime !== void 0 ? _settings$minTime : 0;\n var end = (_settings$maxTime = settings.maxTime()) !== null && _settings$maxTime !== void 0 ? _settings$maxTime : start + ONE_DAY - 1;\n\n if (end < start) {\n // make sure the end time is greater than start time, otherwise there will be no list to show\n end += ONE_DAY;\n }\n\n if (end === ONE_DAY - 1 && typeof settings.timeFormat === 'string' && settings.show2400) {\n // show a 24:00 option when using military time\n end = ONE_DAY;\n }\n\n var output = [];\n\n for (var i = start, j = 0; i <= end; j++, i += settings.step(j) * 60) {\n var timeInt = i;\n\n var timeString = tp._int2time(timeInt);\n\n var className = timeInt % ONE_DAY < ONE_DAY / 2 ? 'ui-timepicker-am' : 'ui-timepicker-pm';\n var item = {\n 'label': timeString,\n 'value': moduloSeconds(timeInt, settings),\n 'className': className\n };\n\n if ((settings.minTime() !== null || settings.durationTime() !== null) && settings.showDuration) {\n var _settings$durationTim;\n\n var durStart = (_settings$durationTim = settings.durationTime()) !== null && _settings$durationTim !== void 0 ? _settings$durationTim : settings.minTime();\n\n if (durStart > i) {\n durStart -= ONE_DAY;\n }\n\n var durationString = tp._int2duration(i - durStart, settings.step());\n\n item.duration = durationString;\n }\n\n var _iterator = _createForOfIteratorHelper(settings.disableTimeRanges),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var range = _step.value;\n\n if (timeInt % ONE_DAY >= range[0] && timeInt % ONE_DAY < range[1]) {\n item.disabled = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n output.push(item);\n }\n\n return output;\n }\n\n function _renderSelectItem(item) {\n var el = document.createElement('option');\n el.value = item.value || item.label;\n\n if (item.duration) {\n el.appendChild(document.createTextNode(item.label + ' (' + item.duration + ')'));\n } else {\n el.appendChild(document.createTextNode(item.label));\n }\n\n if (item.disabled) {\n el.disabled = true;\n }\n\n return el;\n }\n\n function _renderStandardItem(item) {\n var el = document.createElement('li');\n el.dataset['time'] = item.value;\n\n if (item.className) {\n el.classList.add(item.className);\n }\n\n el.className = item.className;\n el.appendChild(document.createTextNode(item.label));\n\n if (item.duration) {\n var durationEl = document.createElement('span');\n durationEl.appendChild(document.createTextNode('(' + item.duration + ')'));\n durationEl.classList.add('ui-timepicker-duration');\n el.appendChild(durationEl);\n }\n\n if (item.disabled) {\n el.classList.add('ui-timepicker-disabled');\n }\n\n return el;\n }\n\n function _renderStandardList(items) {\n var list = document.createElement('ul');\n list.classList.add('ui-timepicker-list');\n\n var _iterator2 = _createForOfIteratorHelper(items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var item = _step2.value;\n\n var itemEl = _renderStandardItem(item);\n\n list.appendChild(itemEl);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var wrapper = document.createElement('div');\n wrapper.classList.add('ui-timepicker-wrapper');\n wrapper.tabIndex = -1;\n wrapper.style.display = 'none';\n wrapper.style.position = 'absolute';\n wrapper.appendChild(list);\n return wrapper;\n }\n\n function _renderSelectList(items, targetName) {\n var el = document.createElement('select');\n el.classList.add('ui-timepicker-select');\n\n if (targetName) {\n el.name = 'ui-timepicker-' + targetName;\n }\n\n var _iterator3 = _createForOfIteratorHelper(items),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var item = _step3.value;\n\n var itemEl = _renderSelectItem(item);\n\n el.appendChild(itemEl);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return el;\n }\n\n function renderHtml(tp) {\n var items = [].concat(_getNoneOptionItems(tp.settings), _getDropdownTimes(tp));\n var el;\n\n if (tp.settings.useSelect) {\n el = _renderSelectList(items, tp.targetEl.name);\n } else {\n el = _renderStandardList(items);\n }\n\n if (tp.settings.className) {\n var _iterator4 = _createForOfIteratorHelper(tp.settings.className.split(' ')),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var token = _step4.value;\n el.classList.add(token);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n if (tp.settings.showDuration && (tp.settings.minTime !== null || tp.settings.durationTime !== null)) {\n el.classList.add(\"ui-timepicker-with-duration\");\n el.classList.add(\"ui-timepicker-step-\" + tp.settings.step());\n }\n\n return el;\n }\n\n (function (factory) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && exports && (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module && module.exports === exports) {\n // Browserify. Attach to jQuery module.\n factory(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n // AMD. Register as an anonymous module.\n define([\"jquery\"], factory);\n } else {\n // Browser globals\n factory(jQuery);\n }\n })(function ($) {\n var methods = {\n init: function init(options) {\n return this.each(function () {\n var self = $(this);\n var tp = new Timepicker(this, options);\n var settings = tp.settings;\n settings.lang;\n this.timepickerObj = tp;\n self.addClass(\"ui-timepicker-input\");\n\n if (settings.useSelect) {\n _render(self);\n } else {\n self.prop(\"autocomplete\", \"off\");\n\n if (settings.showOn) {\n for (var i in settings.showOn) {\n self.on(settings.showOn[i] + \".timepicker\", methods.show);\n }\n }\n\n self.on(\"change.timepicker\", tp._handleFormatValue);\n self.on(\"keydown.timepicker\", _keydownhandler);\n self.on(\"keyup.timepicker\", tp._handleKeyUp);\n\n if (settings.disableTextInput) {\n self.on(\"keydown.timepicker\", tp._disableTextInputHandler);\n }\n\n self.on(\"cut.timepicker\", tp._handleKeyUp);\n self.on(\"paste.timepicker\", tp._handleKeyUp);\n\n tp._formatValue(null, \"initial\");\n }\n });\n },\n show: function show(e) {\n var self = $(this);\n var tp = self[0].timepickerObj;\n var settings = tp.settings;\n\n if (e) {\n e.preventDefault();\n }\n\n if (settings.useSelect) {\n tp.list.trigger('focus');\n return;\n }\n\n if (tp._hideKeyboard()) {\n // block the keyboard on mobile devices\n self.trigger('blur');\n }\n\n var list = tp.list; // check if input is readonly\n\n if (self.prop(\"readonly\")) {\n return;\n } // check if list needs to be rendered\n\n\n _render(self);\n\n list = tp.list;\n\n if (Timepicker.isVisible(list)) {\n return;\n }\n\n if (self.is('input')) {\n tp.selectedValue = self.val();\n }\n\n tp._setSelected(); // make sure other pickers are hidden\n\n\n Timepicker.hideAll();\n\n if (typeof settings.listWidth == \"number\") {\n list.width(self.outerWidth() * settings.listWidth);\n } // position the dropdown relative to the input\n\n\n list.show();\n var listOffset = {};\n\n if (settings.orientation.match(/r/)) {\n // right-align the dropdown\n listOffset.left = self.offset().left + self.outerWidth() - list.outerWidth() + parseInt(list.css(\"marginLeft\").replace(\"px\", \"\"), 10);\n } else if (settings.orientation.match(/l/)) {\n // left-align the dropdown\n listOffset.left = self.offset().left + parseInt(list.css(\"marginLeft\").replace(\"px\", \"\"), 10);\n } else if (settings.orientation.match(/c/)) {\n // center-align the dropdown\n listOffset.left = self.offset().left + (self.outerWidth() - list.outerWidth()) / 2 + parseInt(list.css(\"marginLeft\").replace(\"px\", \"\"), 10);\n }\n\n var verticalOrientation;\n\n if (settings.orientation.match(/t/)) {\n verticalOrientation = \"t\";\n } else if (settings.orientation.match(/b/)) {\n verticalOrientation = \"b\";\n } else if (self.offset().top + self.outerHeight(true) + list.outerHeight() > $(window).height() + $(window).scrollTop()) {\n verticalOrientation = \"t\";\n } else {\n verticalOrientation = \"b\";\n }\n\n if (verticalOrientation == \"t\") {\n // position the dropdown on top\n list.addClass(\"ui-timepicker-positioned-top\");\n listOffset.top = self.offset().top - list.outerHeight() + parseInt(list.css(\"marginTop\").replace(\"px\", \"\"), 10);\n } else {\n // put it under the input\n list.removeClass(\"ui-timepicker-positioned-top\");\n listOffset.top = self.offset().top + self.outerHeight() + parseInt(list.css(\"marginTop\").replace(\"px\", \"\"), 10);\n }\n\n list.offset(listOffset); // position scrolling\n\n var selected = list.find(\".ui-timepicker-selected\");\n\n if (!selected.length) {\n var timeInt = tp.anytime2int(tp._getTimeValue());\n\n if (timeInt !== null) {\n selected = $(tp._findRow(timeInt));\n } else if (settings.scrollDefault()) {\n selected = $(tp._findRow(settings.scrollDefault()));\n }\n } // if not found or disabled, intelligently find first selectable element\n\n\n if (!selected.length || selected.hasClass(\"ui-timepicker-disabled\")) {\n selected = list.find(\"li:not(.ui-timepicker-disabled):first\");\n }\n\n if (selected && selected.length) {\n var topOffset = list.scrollTop() + selected.position().top - selected.outerHeight();\n list.scrollTop(topOffset);\n } else {\n list.scrollTop(0);\n } // prevent scroll propagation\n\n\n if (settings.stopScrollPropagation) {\n $(document).on(\"wheel.ui-timepicker\", \".ui-timepicker-wrapper\", function (e) {\n e.preventDefault();\n var currentScroll = $(this).scrollTop();\n $(this).scrollTop(currentScroll + e.originalEvent.deltaY);\n });\n } // attach close handlers\n\n\n $(document).on(\"mousedown.ui-timepicker\", _closeHandler);\n window.addEventListener('resize', _closeHandler);\n\n if (settings.closeOnScroll) {\n $(settings.closeOnScroll).on(\"scroll.ui-timepicker\", _closeHandler);\n }\n\n self.trigger(\"showTimepicker\");\n return this;\n },\n hide: function hide(e) {\n var tp = this[0].timepickerObj;\n\n if (tp) {\n tp.hideMe();\n }\n\n Timepicker.hideAll();\n return this;\n },\n option: function option(key, value) {\n if (typeof key == \"string\" && typeof value == \"undefined\") {\n var tp = this[0].timepickerObj;\n return tp.settings[key];\n }\n\n return this.each(function () {\n var self = $(this);\n var tp = self[0].timepickerObj;\n var settings = tp.settings;\n var list = tp.list;\n\n if (_typeof(key) == \"object\") {\n settings = $.extend(settings, key);\n } else if (typeof key == \"string\") {\n settings[key] = value;\n }\n\n settings = tp.parseSettings(settings);\n tp.settings = settings;\n\n tp._formatValue({\n type: \"change\"\n }, \"initial\");\n\n if (list) {\n list.remove();\n tp.list = null;\n }\n\n if (settings.useSelect) {\n _render(self);\n }\n });\n },\n getSecondsFromMidnight: function getSecondsFromMidnight() {\n var tp = this[0].timepickerObj;\n return tp.anytime2int(tp._getTimeValue());\n },\n getTime: function getTime(relative_date) {\n var tp = this[0].timepickerObj;\n\n var time_string = tp._getTimeValue();\n\n if (!time_string) {\n return null;\n }\n\n var offset = tp.anytime2int(time_string);\n\n if (offset === null) {\n return null;\n }\n\n if (!relative_date) {\n relative_date = new Date();\n } // construct a Date from relative date, and offset's time\n\n\n var time = new Date(relative_date);\n time.setHours(offset / 3600);\n time.setMinutes(offset % 3600 / 60);\n time.setSeconds(offset % 60);\n time.setMilliseconds(0);\n return time;\n },\n isVisible: function isVisible() {\n var tp = this[0].timepickerObj;\n return !!(tp && tp.list && Timepicker.isVisible(tp.list));\n },\n setTime: function setTime(value) {\n var tp = this[0].timepickerObj;\n var settings = tp.settings;\n var seconds = tp.anytime2int(value);\n\n if (tp._isTimeRangeError(seconds, settings)) {\n var timeRangeErrorEvent = new CustomEvent('timeRangeError', EVENT_DEFAULTS);\n tp.targetEl.dispatchEvent(timeRangeErrorEvent);\n }\n\n if (settings.forceRoundTime) {\n var prettyTime = tp._roundAndFormatTime(seconds);\n } else {\n var prettyTime = tp._int2time(seconds);\n }\n\n if (value && prettyTime === null && settings.noneOption) {\n prettyTime = value;\n }\n\n tp._setTimeValue(prettyTime, \"initial\");\n\n tp._formatValue({\n type: \"change\"\n }, \"initial\");\n\n if (tp && tp.list) {\n tp._setSelected();\n }\n\n return this;\n },\n remove: function remove() {\n var self = this; // check if this element is a timepicker\n\n if (!self.hasClass(\"ui-timepicker-input\")) {\n return;\n }\n\n var tp = self[0].timepickerObj;\n var settings = tp.settings;\n self.removeAttr(\"autocomplete\", \"off\");\n self.removeClass(\"ui-timepicker-input\");\n self.removeData(\"timepicker-obj\");\n self.off(\".timepicker\"); // timepicker-list won't be present unless the user has interacted with this timepicker\n\n if (tp.list) {\n tp.list.remove();\n }\n\n if (settings.useSelect) {\n self.show();\n }\n\n tp.list = null;\n return this;\n }\n }; // private methods\n\n function _render(self) {\n var tp = self[0].timepickerObj;\n var list = tp.list;\n var settings = tp.settings;\n\n if (list && list.length) {\n list.remove();\n tp.list = null;\n }\n\n var wrapped_list = $(renderHtml(tp));\n\n if (settings.useSelect) {\n list = wrapped_list;\n } else {\n list = wrapped_list.children('ul');\n }\n\n wrapped_list.data(\"timepicker-input\", self);\n tp.list = wrapped_list;\n\n if (settings.useSelect) {\n if (self.val()) {\n list.val(tp._roundAndFormatTime(tp.anytime2int(self.val())));\n }\n\n list.on(\"focus\", function () {\n $(this).data(\"timepicker-input\").trigger(\"showTimepicker\");\n });\n list.on(\"blur\", function () {\n $(this).data(\"timepicker-input\").trigger(\"hideTimepicker\");\n });\n list.on(\"change\", function () {\n tp._setTimeValue($(this).val(), \"select\");\n });\n\n tp._setTimeValue(list.val(), \"initial\");\n\n self.hide().after(list);\n } else {\n var appendTo = settings.appendTo;\n\n if (typeof appendTo === \"string\") {\n appendTo = $(appendTo);\n } else if (typeof appendTo === \"function\") {\n appendTo = appendTo(self);\n }\n\n appendTo.append(wrapped_list);\n\n tp._setSelected();\n\n list.on(\"mousedown click\", \"li\", function (e) {\n // hack: temporarily disable the focus handler\n // to deal with the fact that IE fires 'focus'\n // events asynchronously\n self.off(\"focus.timepicker\");\n self.on(\"focus.timepicker-ie-hack\", function () {\n self.off(\"focus.timepicker-ie-hack\");\n self.on(\"focus.timepicker\", methods.show);\n });\n\n if (!tp._hideKeyboard()) {\n self[0].focus();\n } // make sure only the clicked row is selected\n\n\n list.find(\"li\").removeClass(\"ui-timepicker-selected\");\n $(this).addClass(\"ui-timepicker-selected\");\n\n if (tp._selectValue()) {\n self.trigger(\"hideTimepicker\");\n list.on(\"mouseup.timepicker click.timepicker\", \"li\", function (e) {\n list.off(\"mouseup.timepicker click.timepicker\");\n wrapped_list.hide();\n });\n }\n });\n }\n } // event handler to decide whether to close timepicker\n\n\n function _closeHandler(e) {\n if (e.type == 'focus' && e.target == window) {\n // mobile Chrome fires focus events against window for some reason\n return;\n }\n\n var target = $(e.target);\n\n if (target.closest(\".ui-timepicker-input\").length || target.closest(\".ui-timepicker-wrapper\").length) {\n // active timepicker was focused. ignore\n return;\n }\n\n Timepicker.hideAll();\n $(document).off(\".ui-timepicker\");\n $(window).off(\".ui-timepicker\");\n }\n /*\n * Keyboard navigation via arrow keys\n */\n\n\n function _keydownhandler(e) {\n var self = $(this);\n var tp = self[0].timepickerObj;\n var list = tp.list;\n\n if (!list || !Timepicker.isVisible(list)) {\n if (e.keyCode == 40) {\n // show the list!\n methods.show.call(self.get(0));\n list = tp.list;\n\n if (!tp._hideKeyboard()) {\n self.trigger('focus');\n }\n } else {\n return true;\n }\n }\n\n switch (e.keyCode) {\n case 13:\n // return\n if (tp._selectValue()) {\n tp._formatValue({\n type: \"change\"\n });\n\n tp.hideMe();\n }\n\n e.preventDefault();\n return false;\n\n case 38:\n // up\n var selected = list.find(\".ui-timepicker-selected\");\n\n if (!selected.length) {\n list.find(\"li\").each(function (i, obj) {\n if ($(obj).position().top > 0) {\n selected = $(obj);\n return false;\n }\n });\n selected.addClass(\"ui-timepicker-selected\");\n } else if (!selected.is(\":first-child\")) {\n selected.removeClass(\"ui-timepicker-selected\");\n selected.prev().addClass(\"ui-timepicker-selected\");\n\n if (selected.prev().position().top < selected.outerHeight()) {\n list.scrollTop(list.scrollTop() - selected.outerHeight());\n }\n }\n\n return false;\n\n case 40:\n // down\n selected = list.find(\".ui-timepicker-selected\");\n\n if (selected.length === 0) {\n list.find(\"li\").each(function (i, obj) {\n if ($(obj).position().top > 0) {\n selected = $(obj);\n return false;\n }\n });\n selected.addClass(\"ui-timepicker-selected\");\n } else if (!selected.is(\":last-child\")) {\n selected.removeClass(\"ui-timepicker-selected\");\n selected.next().addClass(\"ui-timepicker-selected\");\n\n if (selected.next().position().top + 2 * selected.outerHeight() > list.outerHeight()) {\n list.scrollTop(list.scrollTop() + selected.outerHeight());\n }\n }\n\n return false;\n\n case 27:\n // escape\n list.find(\"li\").removeClass(\"ui-timepicker-selected\");\n tp.hideMe();\n break;\n\n case 9:\n //tab\n tp.hideMe();\n break;\n\n default:\n return true;\n }\n } // Plugin entry\n\n\n $.fn.timepicker = function (method) {\n if (!this.length) return this;\n\n if (methods[method]) {\n // check if this element is a timepicker\n if (!this.hasClass(\"ui-timepicker-input\")) {\n return this;\n }\n\n return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\n } else if (_typeof(method) === \"object\" || !method) {\n return methods.init.apply(this, arguments);\n } else {\n $.error(\"Method \" + method + \" does not exist on jQuery.timepicker\");\n }\n }; // Default plugin options.\n\n\n $.fn.timepicker.defaults = DEFAULT_SETTINGS;\n });\n\n}());\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_defineProperty","value","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelper","o","allowArrayLike","it","isArray","minLen","n","toString","call","slice","name","from","test","_unsupportedIterableToArray","F","s","done","e","f","TypeError","err","normalCompletion","didErr","step","next","return","ONE_DAY","EVENT_DEFAULTS","bubbles","cancelable","detail","moduloSeconds","seconds","settings","show2400","factory","DEFAULT_SETTINGS","appendTo","className","closeOnWindow","closeOnScroll","disableTextInput","disableTimeRanges","disableTouchKeyboard","durationTime","forceRoundTime","lang","listWidth","maxTime","minTime","noneOption","orientation","roundingFunction","nextVal","prevVal","scrollDefault","selectOnBlur","showDuration","showOn","stopScrollPropagation","timeFormat","typeaheadHighlight","useSelect","wrapHours","DEFAULT_LANG","am","pm","AM","PM","decimal","mins","hr","hrs","Timepicker","targetEl","options","undefined","instance","Constructor","_classCallCheck","this","_handleFormatValue","bind","_handleKeyUp","attrOptions","extractAttrOptions","parseSettings","protoProps","staticProps","element","_step2","output","_iterator2","dataset","elem","el","offsetWidth","offsetHeight","_step3","_iterator3","document","getElementsByClassName","tp","timepickerObj","hideMe","blur","list","isVisible","_selectValue","hide","hideTimepickerEvent","CustomEvent","dispatchEvent","out","find","each","parsed","parseInt","time","isNaN","window","navigator","msMaxTouchPoints","nodeName","val","_roundAndFormatTime","anytime2int","selectTimeEvent","selectedValue","changeTimeEvent","changeEvent","assign","indexOf","cursor","hasClass","timeValue","get","parsedTimeValue","_int2time","_setTimeValue","input","time2int","Date","getHours","getMinutes","getSeconds","timeString","toLowerCase","replace","pattern","match","hour","ampm","minutes","parseMinuteString","hours","isPm","trim","timeInt","_twelveHourTime","delta","minutesString","multiplier","_this","intStringDateOrFunc2func","curryStep","_parseDisableTimeRanges","closeOnWindowScroll","sort","a","b","Math","min","max","splice","keyCode","preventDefault","abs","round","duration","floor","join","getTime","code","charAt","removeClass","_getTimeValue","selected","_findRow","selectedRect","getBoundingClientRect","listRect","topDelta","top","height","newScroll","scrollTop","classList","add","activeElement","_formatValue","origin","_isFocused","type","rangeError","_isTimeRangeError","roundSeconds","prettyTime","timeRangeErrorEvent","timeFormatErrorEvent","_step","_iterator","range","optionValue","label","$","error","createElement","String","innerText","_this2","_setSelected","setTimeout","_getNoneOptionItemsHelper","map","_renderSelectItem","item","appendChild","createTextNode","disabled","_renderStandardItem","durationEl","renderHtml","items","concat","noneOptions","_getNoneOptionItems","_settings$minTime","_settings$maxTime","start","end","j","_settings$durationTim","durStart","durationString","_int2duration","_getDropdownTimes","targetName","itemEl","_renderSelectList","wrapper","tabIndex","style","display","position","_renderStandardList","_step4","_iterator4","split","token","event","params","evt","createEvent","initCustomEvent","methods","init","self","addClass","_render","prop","on","show","_keydownhandler","_disableTextInputHandler","trigger","_hideKeyboard","is","hideAll","width","outerWidth","listOffset","left","offset","css","outerHeight","topOffset","currentScroll","originalEvent","deltaY","_closeHandler","addEventListener","option","extend","remove","getSecondsFromMidnight","relative_date","time_string","setHours","setMinutes","setSeconds","setMilliseconds","setTime","removeAttr","removeData","off","wrapped_list","children","data","after","append","focus","closest","prev","fn","timepicker","method","defaults","exports","module"],"sourceRoot":""}