{"version":3,"file":"kendo.timedurationpicker.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotimedurationpicker","js","this","$","undefined$1","kendo","window","ui","Widget","html","map","extend","mediaQuery","OPEN","CLOSE","CHANGE","FOCUSED","ARIA_EXPANDED","HOVEREVENTS","NS","STATEDISABLED","ARIA_HIDDEN","ARIA_DISABLED","ARIA_READONLY","DISABLED","READONLY","STATEINVALID","MASKCHAR","caret","keys","defaultColumns","hours","name","format","divider","min","max","step","minutes","seconds","milliseconds","days","TimeDurationPicker","init","element","options","columns","that","fn","call","_columns","column","extended","selectorFormat","repeat","match","length","readonly","Boolean","attr","enable","is","parents","bigScreenMQL","adaptiveMode","onChange","_timeSelector","destroy","_popupView","_wrapper","_button","_applyCssClasses","_input","_buildMask","_validation","_editable","disable","_ariaLabel","_listsContainer","value","_old","_maskedInput","val","_canUpdateLast","notify","separator","shortcuts","size","fillMode","rounded","messages","set","cancel","events","wrapper","off","_value","parseInt","_updateValueFromTimeSelector","_toggleHover","e","currentTarget","toggleClass","type","add","addClass","removeClass","on","removeAttr","_attachHandlers","TimeSelector","id","anchor","mediaQueryList","matches","focus","trigger","_selectNearestSection","_lastCaret","close","preventDefault","open","change","_removeInvalidState","button","next","renderButton","icon","shape","insertAfter","role","part","toAdd","_emtpyMask","_maskParts","i","replace","end","mask","symbolsLength","start","indexOf","numberEnd","lastIndexOf","numberStart","push","autocomplete","insertBefore","hide","wrap","parent","_keydown","bind","_inputHandler","_focus","_focusout","_paste","_mouseDown","_mouseUp","_click","_mouseOnInput","selection","_triggerChange","_lastValue","_updateValueFromInput","setTimeout","index","_getPartValue","startSeparator","lastSeparator","substring","_getEmptyPart","_fillParts","clipNumber","symbols","parts","split","join","_clearParts","endBoundary","_updatePart","oldValue","entered","emrtyPart","current","search","_replacePart","newPart","toggle","_switchPart","future","past","key","keyCode","_backward","BACKSPACE","LEFT","RIGHT","popup","visible","_scrollerKeyDownHandler","UP","DOWN","altKey","ENTER","partValue","masksToAdd","valueParts","rest","Math","floor","getTimeParts","_validationIcon","iconClass","_addInvalidState","colValue","values","valid","emptyPart","_isPasted","_pasted","clipboardData","originalEvent","getData","_replaceEntire","_activeElement","validEntry","updatedPart","endSubstring","startSubstring","deletedPart","canUpdate","restored","oldpartValue","nextSeparator","old","lengthDiff","test","cssProperties","registerPrefix","registerValues","prop","roundedValues","concat","plugin","jQuery"],"sources":["kendo.timedurationpicker.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.timeselector.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.timeselector', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotimedurationpicker = global.kendotimedurationpicker || {}, global.kendotimedurationpicker.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"timedurationpicker\",\n name: \"TimeDurationPicker\",\n category: \"web\",\n description: \"The TimeDurationPicker widget allows the end user to select a time range stored in milliseconds.\",\n docsCategory: \"editors\",\n depends: [ \"timeselector\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n html = kendo.html,\n map = $.map,\n extend = $.extend,\n mediaQuery = kendo.mediaQuery,\n OPEN = \"open\",\n FOCUS = \"focus\",\n CLOSE = \"close\",\n CHANGE = \"change\",\n CLICK = \"click\",\n SPAN = \"\",\n KEYDOWN = \"keydown\",\n FOCUSOUT = \"focusout\",\n FOCUSED = \"k-focus\",\n MOUSEUP = \"mouseup\",\n MOUSEDOWN = \"mousedown\",\n PASTE = \"paste\",\n NS = \".kendoTimeDurationPicker\",\n ARIA_EXPANDED = \"aria-expanded\",\n HOVEREVENTS = \"mouseenter\" + NS + \" mouseleave\" + NS,\n STRING = \"string\",\n INPUT = \"input\",\n HOVER = \"k-hover\",\n STATEDISABLED = \"k-disabled\",\n ARIA_HIDDEN = \"aria-hidden\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n ARIA_READONLY = \"aria-readonly\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n STATEINVALID = \"k-invalid\",\n MASKCHAR = \"_\",\n caret = kendo.caret,\n keys = kendo.keys,\n NS = \".kendoTimeDurationPicker\";\n html = kendo.html;\n\n var defaultColumns = {\n \"hours\": {\n name: \"hours\",\n format: \"## hours\",\n divider: 3600000,\n min: 0,\n max: 23,\n step: 1\n },\n \"minutes\": {\n name: \"minutes\",\n format: \"## mins\",\n divider: 60000,\n min: 0,\n max: 59,\n step: 1\n },\n \"seconds\": {\n name: \"seconds\",\n format: \"## sec\",\n divider: 1000,\n min: 0,\n max: 59,\n step: 1\n },\n \"milliseconds\": {\n name: \"milliseconds\",\n format: \"### msec\",\n min: 0,\n max: 999,\n step: 1\n },\n \"days\": {\n format: \"## days\",\n name: \"days\",\n divider: 86400000,\n min: 0,\n max: 365,\n step: 1\n }\n };\n\n function convertToMsec(value) {\n return ((value.days || 0) * 86400000) + ((value.hours || 0) * 3600000) + ((value.minutes || 0) * 60000) + ((value.seconds || 0) * 1000) + (value.milliseconds || 0);\n }\n\n function getTimeParts(value) {\n var rest;\n var days = Math.floor(value / 86400000);\n rest = value % 86400000;\n var hours = Math.floor(rest / 3600000);\n rest = value % 3600000;\n var minutes = Math.floor(rest / 60000);\n rest = value % 60000;\n var seconds = Math.floor(rest / 1000);\n rest = value % 1000;\n\n return {\n days: days,\n hours: hours,\n minutes: minutes,\n seconds: seconds,\n milliseconds: rest\n };\n }\n\n function normalizeColumns(columns) {\n return map(columns, function(column) {\n column = typeof column === STRING ? { name: column } : column;\n var extended = extend(true, {}, defaultColumns[column.name], column);\n extended.selectorFormat = \"{0:\" + \"0\".repeat(extended.format.match(/#/g).length) + \"}\";\n return extended;\n });\n }\n\n var TimeDurationPicker = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n options = options || {};\n\n Widget.fn.init.call(that, element, options);\n\n that._columns = normalizeColumns(options.columns);\n that.options.columns = that._columns;\n that.options.readonly = options.readonly !== undefined$1 ? options.readonly : Boolean(that.element.attr(\"readonly\"));\n that.options.enable = options.enable !== undefined$1 ? options.enable : !(Boolean(that.element.is(\"[disabled]\") || $(element).parents(\"fieldset\").is(':disabled')));\n\n that.bigScreenMQL = mediaQuery(\"large\");\n if (that.options.adaptiveMode == \"auto\") {\n that.bigScreenMQL.onChange(function (){\n if (that._timeSelector) {\n that._timeSelector.destroy();\n that._timeSelector = null;\n }\n\n that._popupView();\n });\n }\n\n that._wrapper();\n that._button();\n that._applyCssClasses();\n that._input();\n that._popupView();\n\n that._buildMask();\n that._validation();\n that._editable({\n readonly: that.options.readonly,\n disable: !that.options.enable\n });\n that._ariaLabel(that._timeSelector._listsContainer);\n if (that.options.value) {\n that.value(options.value);\n that._old = that._maskedInput.val();\n }\n that._canUpdateLast = true;\n\n kendo.notify(that);\n },\n\n options: {\n name: \"TimeDurationPicker\",\n columns: [],\n separator: \",\",\n shortcuts: [],\n value: null,\n adaptiveMode: \"none\",\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n messages: {\n set: \"Set\",\n cancel: \"Cancel\",\n days: \"Days\",\n hours: \"Hours\",\n minutes: \"Minutes\",\n milliseconds: \"Milliseconds\",\n seconds: \"Seconds\"\n }\n },\n\n events: [\n OPEN,\n CLOSE,\n CHANGE\n ],\n\n destroy: function() {\n var that = this;\n\n that.wrapper.off(NS);\n that._maskedInput.off(NS);\n if (that._timeSelector) {\n that._timeSelector.destroy();\n that._timeSelector = null;\n }\n\n\n if (that.bigScreenMQL) {\n that.bigScreenMQL.destroy();\n }\n },\n\n value: function(value) {\n var that = this;\n\n if (value === undefined$1) {\n return that._value;\n }\n\n if (typeof value === \"number\") {\n value = parseInt(value);\n } else {\n value = null;\n }\n\n that._value = value;\n that.element.val(that._value);\n that._timeSelector._value = that._value;\n that._updateValueFromTimeSelector();\n },\n\n _toggleHover: function(e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === \"mouseenter\");\n },\n\n _editable: function(options) {\n var that = this,\n disable = options.disable,\n readonly = options.readonly,\n element = that._maskedInput.add(that.element).off(NS),\n wrapper = that.wrapper.off(NS);\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n if (element && element.length) {\n element.removeAttr(DISABLED);\n element.removeAttr(READONLY);\n }\n element.attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false);\n\n that._attachHandlers();\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n element.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable)\n .attr(ARIA_READONLY, readonly);\n }\n },\n\n readonly: function(readonly) {\n this._editable({\n readonly: readonly === undefined$1 ? true : readonly,\n disable: false\n });\n },\n\n enable: function(enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined$1 ? true : enable)\n });\n },\n\n _popupView: function() {\n var that = this;\n var options = that.options;\n\n if (!that._timeSelector) {\n that._timeSelector = new kendo.ui.TimeSelector(that._maskedInput, {\n id: that.element.attr(\"id\") + \"_timeSelector\",\n anchor: that.wrapper,\n adaptiveMode: options.adaptiveMode,\n columns: options.columns,\n shortcuts: options.shortcuts,\n value: options.value,\n size: options.adaptiveMode != \"auto\" || that.bigScreenMQL.mediaQueryList.matches ? options.size : \"large\",\n fillMode: options.fillMode,\n rounded: options.rounded,\n messages: options.messages,\n focus: function() {\n that._maskedInput.trigger(\"focus\");\n that._selectNearestSection(that._lastCaret || 0);\n },\n close: function(e) {\n if (that.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n that._maskedInput.attr(ARIA_EXPANDED, false);\n that._timeSelector._listsContainer.attr(ARIA_HIDDEN, true);\n }\n },\n open: function(e) {\n if (that.trigger(OPEN)) {\n e.preventDefault();\n } else {\n that._maskedInput.attr(ARIA_EXPANDED, true);\n that._timeSelector._listsContainer.attr(ARIA_HIDDEN, false);\n that._lastCaret = caret(that._maskedInput)[0];\n if (that._lastCaret === that._maskedInput.val().length) {\n that._lastCaret = 0;\n }\n }\n },\n change: function(value) {\n that._value = value;\n that._updateValueFromTimeSelector();\n that._removeInvalidState();\n that.trigger(CHANGE);\n }\n });\n }\n },\n\n _button: function() {\n var that = this,\n element = that.element,\n options = that.options,\n button;\n\n button = element.next(\"button.k-input-button\");\n\n if (!button[0]) {\n button = $(html.renderButton('', {\n icon: \"clock-arrow-rotate\",\n size: options.size,\n fillMode: options.fillMode,\n shape: \"none\",\n rounded: \"none\"\n })).insertAfter(element);\n }\n\n that._button = button.attr({\n \"role\": \"button\"\n });\n },\n\n _buildMask: function() {\n var columns = this.options.columns;\n var format;\n var toAdd = \"\";\n var part;\n\n this._emtpyMask = \"\";\n this._maskParts = [];\n\n for (var i = 0; i < columns.length; i++) {\n part = {};\n format = columns[i].format;\n\n if (i) {\n toAdd = this.options.separator;\n }\n\n toAdd += format.replace(/#/g, '_');\n this._emtpyMask += toAdd;\n part.end = this._emtpyMask.length - 1;\n part.mask = format.replace(/#/g, '_');\n part.symbolsLength = part.mask.match(/_/g).length;\n part.start = this._emtpyMask.indexOf(part.mask);\n part.numberEnd = this._emtpyMask.lastIndexOf(MASKCHAR) + 1;\n part.numberStart = this._emtpyMask.indexOf(MASKCHAR, part.start);\n\n this._maskParts.push(part);\n }\n\n this._old = this._emtpyMask;\n this._maskedInput.val(this._emtpyMask);\n },\n\n _input: function() {\n var that = this;\n\n that._maskedInput = $(\"\")\n .attr(kendo.attr(\"validate\"), false)\n .attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false,\n \"aria-controls\": that.element.attr(\"id\") + \"_timeSelector\",\n \"autocomplete\": \"off\"\n })\n .addClass(\"k-input-inner\")\n .insertBefore(that.element);\n\n that.element.hide();\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n wrapper;\n\n wrapper = element.parents(\".k-timedurationpicker\");\n\n if (!wrapper[0]) {\n wrapper = element.wrap(SPAN).parent();\n }\n\n that.wrapper = wrapper.addClass(\"k-timedurationpicker k-input\");\n },\n\n _attachHandlers: function() {\n var that = this;\n\n that._maskedInput\n .on(KEYDOWN + NS, that._keydown.bind(that))\n .on(INPUT + NS, that._inputHandler.bind(that))\n .on(FOCUS + NS, that._focus.bind(that))\n .on(FOCUSOUT + NS, that._focusout.bind(that))\n .on(PASTE + NS, that._paste.bind(that))\n .on(MOUSEDOWN + NS, that._mouseDown.bind(that))\n .on(MOUSEUP + NS, that._mouseUp.bind(that));\n\n that.wrapper.on(CLICK + NS, \".k-input-button\", that._click.bind(that));\n },\n\n _mouseDown: function() {\n this._mouseOnInput = true;\n },\n\n _mouseUp: function() {\n var selection = caret(this._maskedInput[0]);\n var value = this._maskedInput[0].value;\n if (selection[0] === selection[1]) {\n this._selectNearestSection(selection[1] == value.length ? value.length - 1 : selection[1]);\n }\n },\n\n _triggerChange: function() {\n if ((this._lastValue == undefined$1 && this._value) || this._lastValue != this._value) {\n this._lastValue = this._value;\n this.trigger(CHANGE);\n }\n },\n\n _focusout: function() {\n this._updateValueFromInput();\n this._triggerChange();\n\n this._canUpdateLast = true;\n this.wrapper.removeClass(FOCUSED);\n },\n\n _focus: function() {\n var that = this;\n if (!that._mouseOnInput) {\n setTimeout(function() {\n that._selectNearestSection(0);\n }, 10);\n }\n that._mouseOnInput = false;\n that.wrapper.addClass(FOCUSED);\n },\n\n _selectNearestSection: function(index) {\n var part;\n\n for (var i = 0; i < this._maskParts.length; i++ ) {\n part = this._maskParts[i];\n if (index >= part.start && index <= part.end) {\n caret(this._maskedInput[0], part.numberStart, part.numberEnd);\n }\n }\n },\n\n _getPartValue: function(value, index) {\n var that = this;\n var separator = that.options.separator;\n var startSeparator = value.indexOf(separator,index);\n var lastSeparator = value.lastIndexOf(separator,index);\n return value.substring(lastSeparator < 0 ? 0 : lastSeparator + 1 , startSeparator < 0 ? value.length : startSeparator );\n },\n\n _getEmptyPart: function(index) {\n return this._getPartValue(this._emtpyMask, index);\n },\n\n _fillParts: function(clipNumber) {\n var parts = this._emtpyMask.split(this.options.separator);\n var symbols;\n clipNumber = clipNumber + \"\";\n\n for (var i = 0; i < parts.length; i++) {\n symbols = parts[i].match(/_/g).length;\n if (symbols > clipNumber.length) {\n parts[i] = parts[i].replace(MASKCHAR.repeat(symbols), \"0\".repeat(symbols - clipNumber.length) + clipNumber);\n } else {\n parts[i] = parts[i].replace(MASKCHAR.repeat(symbols), clipNumber.substring(0, symbols));\n clipNumber = clipNumber.substring(symbols, symbols.length);\n }\n }\n return parts.join(this.options.separator);\n },\n\n _clearParts: function(value, start, end) {\n var parts = value.split(this.options.separator);\n var index = 0;\n var endBoundary;\n\n for (var i = 0; i < parts.length; i++) {\n endBoundary = index + parts[i].length;\n if ((index <= start && endBoundary >= start) || (index <= end && endBoundary >= end)) {\n parts[i] = this._getEmptyPart(index);\n }\n index += (parts[i].length + 1);\n }\n return parts.join(this.options.separator);\n },\n\n _updatePart: function(oldValue, entered) {\n var emrtyPart = this._getEmptyPart(this._old.indexOf(oldValue));\n var current = oldValue.substring(emrtyPart.indexOf(MASKCHAR), emrtyPart.lastIndexOf(MASKCHAR) + 1);\n var format = \"{0:\" + \"0\".repeat(current.length) + \"}\";\n\n if (current.indexOf(MASKCHAR) >= 0 || !(oldValue[oldValue.search(/[0-9]/)] === \"0\") || entered.length > 1) {\n return oldValue.replace(current, kendo.format(format, parseInt(entered)));\n } else {\n return oldValue.replace(current, kendo.format(format, parseInt(current + entered)));\n }\n },\n\n _replacePart: function(oldValue, newPart, index) {\n return oldValue.replace(this._getPartValue(oldValue, index), newPart);\n },\n\n _click: function() {\n var that = this;\n\n if (!that._timeSelector) {\n return;\n }\n\n that._timeSelector.toggle();\n },\n\n _switchPart: function(options) {\n var separator = this.options.separator;\n var selection = options.caret != undefined$1 ? options.caret : caret(this._maskedInput[0])[0];\n var value = this._maskedInput.val();\n var index;\n\n if (options.next) {\n index = value.indexOf(separator, selection);\n if (index < 0) {\n index = value.length - 1;\n } else {\n index++;\n }\n } else {\n index = value.lastIndexOf(separator, selection);\n if (index < 0 ) {\n index = 0;\n } else {\n index--;\n }\n }\n this._selectNearestSection(index);\n },\n\n _keydown: function(e) {\n var key = e.keyCode;\n var separator = this.options.separator;\n var selection;\n var value;\n var index;\n var future;\n var past;\n\n this._backward = key === keys.BACKSPACE;\n if (key == keys.LEFT || key == keys.RIGHT) {\n e.preventDefault();\n selection = caret(this._maskedInput[0])[0];\n value = this._maskedInput.val();\n future = value.indexOf(separator, selection);\n past = value.lastIndexOf(separator, selection);\n\n if ((future < 0 && key == keys.RIGHT) || (past < 0 && key == keys.LEFT)) {\n return;\n }\n\n index = (key == keys.LEFT) ? (past - 1) : (future + 1);\n this._selectNearestSection(index);\n if (key == keys.LEFT) {\n this._canUpdateLast = true;\n }\n } else if (this._timeSelector.popup.visible()) {\n this._timeSelector._scrollerKeyDownHandler(e);\n } else if (key == keys.UP || key == keys.DOWN) {\n e.preventDefault();\n if (e.altKey) {\n this._timeSelector.toggle();\n }\n } else if (key == keys.ENTER) {\n this._updateValueFromInput();\n this._triggerChange();\n }\n },\n\n _updateValueFromTimeSelector: function() {\n var that = this;\n var valueParts = getTimeParts(that._value);\n var value = \"\";\n var column = this._columns[i];\n var part;\n var partValue;\n var masksToAdd;\n\n for (var i = 0; i < this._columns.length; i++) {\n column = this._columns[i];\n partValue = valueParts[column.name] + '';\n part = this._maskParts[i];\n\n if (i) {\n value += that.options.separator;\n }\n\n if (!valueParts[column.name]) {\n value += part.mask;\n continue;\n }\n\n masksToAdd = part.symbolsLength - partValue.length;\n value += part.mask.replace(MASKCHAR.repeat(part.symbolsLength), \"0\".repeat(masksToAdd < 0 ? 0 : masksToAdd) + partValue);\n }\n\n that._maskedInput.val(value);\n that._old = value;\n },\n\n _validation: function() {\n var that = this;\n var element = that.element;\n\n that._validationIcon = $(kendo.ui.icon({ icon: \"exclamation-circle\", iconClass: \"k-input-validation-icon k-hidden\" })).insertAfter(element);\n },\n\n _addInvalidState: function() {\n this.wrapper.addClass(STATEINVALID);\n this._validationIcon.removeClass('k-hidden');\n },\n\n _removeInvalidState: function() {\n this.wrapper.removeClass(STATEINVALID);\n this._validationIcon.addClass('k-hidden');\n },\n\n _updateValueFromInput: function() {\n var val = this._maskedInput.val();\n var values = {};\n var valid = true;\n var column;\n var part;\n var colValue;\n\n for (var i = 0; i < this._columns.length; i++) {\n column = this._columns[i];\n part = this._maskParts[i];\n colValue = val.substring(part.numberStart, part.numberEnd).replace(/_/g, \"\");\n colValue = kendo.parseInt(colValue || 0);\n\n if (colValue >= column.min && colValue <= column.max) {\n values[column.name] = colValue;\n } else {\n valid = false;\n break;\n }\n }\n\n if (valid) {\n this._value = convertToMsec(values);\n this.element.val(this._value || \"\");\n this._timeSelector._value = this._value;\n this._removeInvalidState();\n } else {\n this._addInvalidState();\n }\n },\n\n _paste: function(e) {\n this._isPasted = true;\n this._pasted = (e.clipboardData || e.originalEvent.clipboardData).getData('Text');\n var emptyPart;\n\n var selection = caret(this._maskedInput);\n\n if (this._maskedInput.val().length == selection[1] && !selection[0]) {\n this._replaceEntire = true;\n } else {\n emptyPart = this._getEmptyPart(selection[0]);\n this._pasted = this._pasted.substring(0, emptyPart.match(/_/g).length);\n }\n },\n\n _inputHandler: function() {\n if (kendo._activeElement() !== this._maskedInput[0]) {\n return;\n }\n\n var that = this;\n var old = that._old;\n var separator = that.options.separator;\n var value = that._maskedInput[0].value;\n var selection = caret(that._maskedInput)[0];\n var lengthDiff = old.length - value.length;\n var entered;\n var validEntry;\n var updatedPart;\n var endSubstring;\n var startSubstring;\n var deletedPart;\n var emptyPart;\n var canUpdate;\n var restored;\n var oldpartValue;\n var nextSeparator;\n\n entered = that._isPasted ? that._pasted : value.substring(selection - 1, selection);\n validEntry = /\\d/.test(entered);\n\n if (that._isPasted && that._replaceEntire && validEntry) {\n that._old = that._fillParts(parseInt(entered));\n that._maskedInput.val(that._old);\n that._selectNearestSection(0);\n that._isPasted = that._replaceEntire = false;\n return;\n }\n\n if (that._isPasted) {\n lengthDiff = 0;\n }\n\n that._isPasted = false;\n\n if ((entered === separator && !that._backward)) {\n that._maskedInput.val(that._old);\n that._switchPart({ caret: selection, next: true });\n return;\n }\n\n if (!value && that._backward) {\n that._old = that._emtpyMask;\n that._maskedInput.val(that._old);\n that._selectNearestSection(selection);\n return;\n }\n\n if ((!validEntry && !that._backward)) {\n that._maskedInput.val(that._old);\n that._selectNearestSection(selection);\n return;\n }\n\n if (!lengthDiff || lengthDiff > 0) {\n endSubstring = value.substring(selection, value.length);\n startSubstring = value.substring(0, selection);\n deletedPart = that._emtpyMask.substring(startSubstring.length, old.indexOf(endSubstring));\n\n restored = startSubstring + deletedPart + endSubstring;\n oldpartValue = that._getPartValue(that._old, selection);\n nextSeparator = that._old.indexOf(separator, that._old.indexOf(oldpartValue) + 1);\n\n if (that._backward) {\n // if multiple parts\n if (deletedPart.split(separator).length > 1) {\n that._old = this._clearParts(restored, selection, selection + deletedPart.length);\n } else {\n emptyPart = this._getEmptyPart(selection);\n if (emptyPart == oldpartValue) {\n that._maskedInput.val(that._old);\n that._switchPart({ caret: selection });\n return;\n }\n that._old = that._replacePart(restored, emptyPart, selection);\n }\n that._maskedInput.val(that._old);\n that._selectNearestSection(selection);\n return;\n }\n\n if (nextSeparator < 0 && oldpartValue.indexOf(MASKCHAR) === -1 && !that._canUpdateLast) {\n that._maskedInput.val(that._old);\n that._selectNearestSection(selection);\n return;\n }\n\n if (validEntry) {\n updatedPart = that._updatePart(oldpartValue, entered);\n canUpdate = updatedPart[updatedPart.search(/[0-9]/)] === \"0\";\n restored = that._replacePart(restored, updatedPart, selection);\n that._maskedInput.val(restored);\n if (nextSeparator > 0 && !canUpdate) {\n that._selectNearestSection(nextSeparator + 1, true);\n } else {\n that._selectNearestSection(selection);\n }\n\n that._canUpdateLast = !(nextSeparator < 0 && !canUpdate);\n }\n that._old = restored;\n } else if (lengthDiff < 0) {\n that._maskedInput.val(that._old);\n that._selectNearestSection(that._old.length - 1);\n }\n },\n\n });\n\n kendo.cssProperties.registerPrefix(\"TimeDurationPicker\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"TimeDurationPicker\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n ui.plugin(TimeDurationPicker);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}