{"version":3,"file":"kendo.numerictextbox.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendonumerictextbox","js","this","$","kendo","jQuery","addInputPrefixSuffixContainers","widget","wrapper","options","prefixInsertBefore","suffixInsertAfter","prefixContainer","suffixContainer","prefix","prefixOptions","suffix","suffixOptions","hasPrefixContent","template","icon","hasSuffixContent","layoutFlow","containerOrientation","INPUT_SEPARATOR","children","insertBefore","prependTo","html","renderIcon","separator","insertAfter","appendTo","_prefixContainer","_suffixContainer","undefined$1","window","caret","keys","ui","Widget","activeElement","_activeElement","extractFormat","_extractFormat","parse","parseFloat","placeholderSupported","support","placeholder","getCulture","CHANGE","DISABLED","READONLY","INPUT","SPIN","ns","HOVEREVENTS","FOCUSED","HOVER","FOCUS","POINT","SELECTED","STATEDISABLED","STATEINVALID","ARIA_DISABLED","INTEGER_REGEXP","NULL","isPlainObject","extend","NumericTextBox","init","element","min","max","step","value","inputType","that","isStep","fn","call","on","_focusout","bind","attr","_parse","_initialOptions","_reset","_wrapper","_arrows","_validation","_input","mobileOS","_text","browser","edge","one","_focusin","selectValue","_click","factor","format","val","enable","is","parents","readonly","_label","_ariaLabel","_applyCssClasses","_validationIcon","floatingLabel","refresh","notify","name","decimals","restrictDecimals","round","culture","spinners","selectOnFocus","upArrowText","downArrowText","label","size","fillMode","rounded","events","_editable","disable","text","add","off","_toggleText","_upArrowEventHandler","unbind","_downArrowEventHandler","_inputLabel","addClass","removeClass","_toggleHover","prop","e","preventDefault","_spin","_upArrow","_downArrow","_keydown","_keyup","_paste","_inputHandler","focus","setOptions","_placeholder","destroy","_arrowsWrap","remove","_floatingLabelContainer","unwrap","Boolean","_value","_form","_resetHandler","_option","_adjust","_update","_old","arrows","_release","clearTimeout","_spinning","siblings","buttonHtml","wrapAll","parent","toggle","eq","UserEvents","release","iconClass","_blur","_change","_focusing","setTimeout","result","groupRegExp","extractRegExp","input","target","idx","substring","_format","group","caretPosition","RegExp","exec","replace","length","indexOf","select","_getFactorValue","_typing","trigger","_culture","_removeInvalidState","numberFormat","toLowerCase","currency","percent","show","accessKey","find","first","setAttribute","type","title","tabIndex","style","cssText","className","role","autocomplete","key","keyCode","NUMPAD_DOT","_numPadDot","DOWN","UP","ENTER","TAB","_cachedCaret","_step","decimalSeparator","minInvalid","charAt","_isPasted","toString","_numericRegex","test","_oldText","_blinkInvalidState","_addInvalidState","_invalidStateTimeout","precision","fractionRule","_separator","_floatRegExp","option","timeout","originalValue","toFixed","currentTarget","toggleClass","removeAttr","_round","truncate","isNotNull","floating","labelText","id","content","wrap","FloatingLabel","isFunction","guid","DOMElement","hide","width","css","formId","form","closest","direction","dir","renderButton","shape","parts","split","join","cssProperties","registerPrefix","registerValues","values","roundedValues","concat","plugin"],"sources":["kendo.numerictextbox.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.userevents.js'), require('kendo.floatinglabel.js'), require('kendo.html.button.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.userevents', 'kendo.floatinglabel', 'kendo.html.button', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendonumerictextbox = global.kendonumerictextbox || {}, global.kendonumerictextbox.js = factory()));\n})(this, (function () {\n let $ = kendo.jQuery;\n\n function addInputPrefixSuffixContainers({ widget, wrapper, options, prefixInsertBefore, suffixInsertAfter }) {\n var prefix = options.prefixOptions,\n suffix = options.suffixOptions,\n hasPrefixContent = prefix.template || prefix.icon,\n hasSuffixContent = suffix.template || suffix.icon,\n suffixInsertAfter = suffixInsertAfter || prefixInsertBefore,\n layoutFlow = options.layoutFlow,\n containerOrientation = layoutFlow ? (layoutFlow == \"vertical\" ? \"horizontal\" : \"vertical\") : \"horizontal\",\n separatorOrientation = layoutFlow == \"vertical\" ? \"horizontal\" : \"vertical\",\n INPUT_SEPARATOR = ``,\n prefixContainer,\n suffixContainer;\n\n if (prefix && hasPrefixContent) {\n prefixContainer = wrapper.children(\".k-input-prefix\");\n\n if (!prefixContainer[0]) {\n prefixContainer = $(``);\n if (prefixInsertBefore) {\n prefixContainer.insertBefore(prefixInsertBefore);\n } else {\n prefixContainer.prependTo(wrapper);\n }\n }\n\n if (prefix.icon) {\n prefixContainer.html(kendo.html.renderIcon({ icon: prefix.icon }));\n }\n\n if (prefix.template) {\n prefixContainer.html(kendo.template(prefix.template)({}));\n }\n\n if (prefix.separator) {\n $(INPUT_SEPARATOR).insertAfter(prefixContainer);\n }\n }\n\n if (suffix && hasSuffixContent) {\n suffixContainer = wrapper.children(\".k-input-suffix\");\n\n if (!suffixContainer[0]) {\n suffixContainer = $(``).appendTo(wrapper);\n if (suffixInsertAfter) {\n suffixContainer.insertAfter(suffixInsertAfter);\n } else {\n suffixContainer.appendTo(wrapper);\n }\n }\n\n if (suffix.icon) {\n suffixContainer.html(kendo.html.renderIcon({ icon: suffix.icon }));\n }\n\n if (suffix.template) {\n suffixContainer.html(kendo.template(suffix.template)({}));\n }\n\n if (suffix.separator) {\n $(INPUT_SEPARATOR).insertBefore(suffixContainer);\n }\n }\n\n widget._prefixContainer = prefixContainer;\n widget._suffixContainer = suffixContainer;\n }\n\n var __meta__ = {\n id: \"numerictextbox\",\n name: \"NumericTextBox\",\n category: \"web\",\n description: \"The NumericTextBox widget can format and display numeric, percentage or currency textbox.\",\n depends: [ \"core\", \"userevents\", \"floatinglabel\", \"html.button\", \"icons\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n caret = kendo.caret,\n keys = kendo.keys,\n html = kendo.html,\n ui = kendo.ui,\n Widget = ui.Widget,\n activeElement = kendo._activeElement,\n extractFormat = kendo._extractFormat,\n parse = kendo.parseFloat,\n placeholderSupported = kendo.support.placeholder,\n getCulture = kendo.getCulture,\n CHANGE = \"change\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n INPUT = \"k-input-inner\",\n SPIN = \"spin\",\n ns = \".kendoNumericTextBox\",\n TOUCHEND = \"touchend\",\n MOUSELEAVE = \"mouseleave\" + ns,\n HOVEREVENTS = \"mouseenter\" + ns + \" \" + MOUSELEAVE,\n FOCUSED = \"k-focus\",\n HOVER = \"k-hover\",\n FOCUS = \"focus\",\n POINT = \".\",\n SYMBOL = \"symbol\",\n CLASS_ICON = \"k-icon\",\n LABELCLASSES = \"k-label k-input-label\",\n FLOATINGLABELCLASS = \"k-floating-label\",\n SELECTED = \"k-selected\",\n STATEDISABLED = \"k-disabled\",\n STATEINVALID = \"k-invalid\",\n ARIA_DISABLED = \"aria-disabled\",\n INTEGER_REGEXP = /^(-)?(\\d*)$/,\n NULL = null,\n isPlainObject = $.isPlainObject,\n extend = $.extend;\n\n var NumericTextBox = Widget.extend({\n init: function(element, options) {\n var that = this,\n isStep = options && options.step !== undefined$1,\n min, max, step, value, disabled;\n var inputType;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element\n .on(\"focusout\" + ns, that._focusout.bind(that))\n .attr(\"role\", \"spinbutton\");\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n\n min = that.min(element.attr(\"min\"));\n max = that.max(element.attr(\"max\"));\n step = that._parse(element.attr(\"step\"));\n\n if (options.min === NULL && min !== NULL) {\n options.min = min;\n }\n\n if (options.max === NULL && max !== NULL) {\n options.max = max;\n }\n\n if (!isStep && step !== NULL) {\n options.step = step;\n }\n\n that._initialOptions = extend({}, options);\n\n inputType = element.attr(\"type\");\n\n that._reset();\n that._wrapper();\n that._arrows();\n that._validation();\n that._input();\n\n if (!kendo.support.mobileOS) {\n that._text.on(FOCUS + ns, that._click.bind(that));\n } else {\n that._text.on(TOUCHEND + ns + \" \" + FOCUS + ns, function() {\n if (kendo.support.browser.edge) {\n that._text.one(FOCUS + ns, function() {\n that._focusin();\n });\n } else {\n that._focusin();\n }\n that.selectValue();\n });\n }\n\n element.attr(\"aria-valuemin\", options.min !== NULL ? options.min * options.factor : options.min)\n .attr(\"aria-valuemax\", options.max !== NULL ? options.max * options.factor : options.max);\n\n options.format = extractFormat(options.format);\n\n value = options.value;\n\n if (value == NULL) {\n if (inputType == \"number\") {\n value = parseFloat(element.val());\n } else {\n value = element.val();\n }\n }\n\n that.value(value);\n\n disabled = !options.enable || element.is(\"[disabled]\") || $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is(\"[readonly]\"));\n }\n\n that._label();\n that._ariaLabel(that._text);\n that._applyCssClasses();\n\n addInputPrefixSuffixContainers({ widget: that, wrapper: that.wrapper, options: that.options, prefixInsertBefore: that._text, suffixInsertAfter: that._validationIcon });\n if (that.floatingLabel) {\n that.floatingLabel.refresh();\n }\n\n kendo.notify(that);\n },\n\n options: {\n name: \"NumericTextBox\",\n decimals: NULL,\n enable: true,\n restrictDecimals: false,\n min: NULL,\n max: NULL,\n value: NULL,\n step: 1,\n round: true,\n culture: \"\",\n format: \"n\",\n spinners: true,\n placeholder: \"\",\n selectOnFocus: false,\n factor: 1,\n upArrowText: \"Increase value\",\n downArrowText: \"Decrease value\",\n label: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n prefixOptions: {\n separator: true\n },\n suffixOptions: {\n separator: true\n }\n },\n events: [\n CHANGE,\n SPIN\n ],\n\n _editable: function(options) {\n var that = this,\n element = that.element,\n disable = options.disable,\n readonly = options.readonly,\n text = that._text.add(element),\n wrapper = that.wrapper.off(HOVEREVENTS);\n\n that._toggleText(true);\n\n that._upArrowEventHandler.unbind(\"press\");\n that._downArrowEventHandler.unbind(\"press\");\n element\n .off(\"keydown\" + ns)\n .off(\"keyup\" + ns)\n .off(\"input\" + ns)\n .off(\"paste\" + ns);\n\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n }\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n text.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false);\n\n that._upArrowEventHandler.bind(\"press\", function(e) {\n e.preventDefault();\n that._spin(1);\n that._upArrow.addClass(SELECTED);\n });\n\n that._downArrowEventHandler.bind(\"press\", function(e) {\n e.preventDefault();\n that._spin(-1);\n that._downArrow.addClass(SELECTED);\n });\n\n that.element\n .on(\"keydown\" + ns, that._keydown.bind(that))\n .on(\"keyup\" + ns, that._keyup.bind(that))\n .on(\"paste\" + ns, that._paste.bind(that))\n .on(\"input\" + ns, that._inputHandler.bind(that));\n\n if (that._inputLabel) {\n that._inputLabel.on(\"click\" + ns, that.focus.bind(that));\n }\n\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n text.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable);\n }\n },\n\n readonly: function(readonly) {\n var that = this;\n\n this._editable({\n readonly: readonly === undefined$1 ? true : readonly,\n disable: false\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined$1 ? true : readonly);\n }\n },\n\n enable: function(enable) {\n var that = this;\n\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined$1 ? true : enable)\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined$1 ? true : enable);\n }\n },\n\n setOptions: function(options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n\n that._text.prop(\"placeholder\", that.options.placeholder);\n that._placeholder(that.options.placeholder);\n that.element.attr({\n \"aria-valuemin\": that.options.min !== NULL ? that.options.min * that.options.factor : that.options.min,\n \"aria-valuemax\": that.options.max !== NULL ? that.options.max * that.options.factor : that.options.max\n });\n\n that.options.format = extractFormat(that.options.format);\n that._upArrowEventHandler.destroy();\n that._upArrowEventHandler = null;\n that._downArrowEventHandler.destroy();\n that._downArrowEventHandler = null;\n that._arrowsWrap.remove();\n that._arrows();\n\n that._applyCssClasses();\n\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n that._inputLabel.remove();\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n if (that._floatingLabelContainer) {\n that.wrapper.unwrap();\n }\n }\n }\n\n that._label();\n\n if (options.enable !== undefined$1 || options.readonly !== undefined$1) {\n that._editable({\n readonly: options.readonly,\n disable: !options.enable\n });\n } else {\n that._editable({\n readonly: that.element.attr(\"readonly\") !== undefined$1 ? Boolean(that.element.attr(\"readonly\")) : that.options.readonly,\n disable: that.element.attr(\"disabled\") !== undefined$1 ? Boolean(that.element.attr(\"disabled\")) : !that.options.enable\n });\n }\n\n if (options.value !== undefined$1) {\n that.value(options.value);\n } else if (that._value !== undefined$1) {\n that.value(that._value);\n }\n },\n\n destroy: function() {\n var that = this;\n\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n }\n\n that.element\n .add(that._text)\n .add(that._upArrow)\n .add(that._downArrow)\n .off(ns);\n\n that._upArrowEventHandler.destroy();\n that._downArrowEventHandler.destroy();\n\n if (that._form) {\n that._form.off(\"reset\", that._resetHandler);\n }\n\n Widget.fn.destroy.call(that);\n },\n\n min: function(value) {\n return this._option(\"min\", value);\n },\n\n max: function(value) {\n return this._option(\"max\", value);\n },\n\n step: function(value) {\n return this._option(\"step\", value);\n },\n\n value: function(value) {\n var that = this, adjusted;\n\n if (value === undefined$1) {\n return that._value;\n }\n\n value = that._parse(value);\n adjusted = that._adjust(value);\n\n if (value !== adjusted) {\n value = NULL;\n }\n\n that._update(value);\n that._old = that._value;\n\n if (that.floatingLabel) {\n that.floatingLabel.refresh();\n }\n },\n\n focus: function() {\n this._focusin();\n },\n\n _adjust: function(value) {\n var that = this,\n options = that.options,\n min = options.min,\n max = options.max;\n\n if (value === NULL) {\n return value;\n }\n\n if (min !== NULL && value < min) {\n value = min;\n } else if (max !== NULL && value > max) {\n value = max;\n }\n\n return value;\n },\n\n _arrows: function() {\n var that = this,\n arrows,\n _release = function() {\n clearTimeout( that._spinning );\n arrows.removeClass(SELECTED);\n },\n options = that.options,\n spinners = options.spinners,\n element = that.element;\n\n arrows = element.siblings(\".k-icon-button\");\n\n if (!arrows[0]) {\n arrows = $(buttonHtml(\"increase\", options.upArrowText, options) + buttonHtml(\"decrease\", options.downArrowText, options))\n .appendTo(that.wrapper);\n\n that._arrowsWrap = arrows.wrapAll('').parent();\n }\n\n if (!spinners) {\n arrows.parent().toggle(spinners);\n }\n\n that._upArrow = arrows.eq(0);\n that._upArrowEventHandler = new kendo.UserEvents(that._upArrow, { release: _release });\n that._downArrow = arrows.eq(1);\n that._downArrowEventHandler = new kendo.UserEvents(that._downArrow, { release: _release });\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 _blur: function() {\n var that = this;\n\n that._toggleText(true);\n\n that._change(that.element.val());\n },\n\n _click: function(e) {\n var that = this;\n\n clearTimeout(that._focusing);\n that._focusing = setTimeout(function() {\n var input = e.target,\n idx = caret(input)[0],\n value = input.value.substring(0, idx),\n format = that._format(that.options.format),\n group = format[\",\"],\n result, groupRegExp, extractRegExp,\n caretPosition = 0;\n\n if (group) {\n groupRegExp = new RegExp(\"\\\\\" + group, \"g\");\n extractRegExp = new RegExp(\"(-)?(\" + format[SYMBOL] + \")?([\\\\d\\\\\" + group + \"]+)(\\\\\" + format[POINT] + \")?(\\\\d+)?\");\n }\n\n if (extractRegExp) {\n result = extractRegExp.exec(value);\n }\n\n if (result) {\n caretPosition = result[0].replace(groupRegExp, \"\").length;\n\n if (value.indexOf(\"(\") != -1 && that._value < 0) {\n caretPosition++;\n }\n }\n\n that._focusin();\n\n caret(that.element[0], caretPosition);\n that.selectValue();\n });\n },\n\n selectValue: function() {\n if (this.options.selectOnFocus) {\n this.element[0].select();\n }\n },\n\n _getFactorValue: function(value) {\n var that = this,\n factor = that.options.factor;\n\n if (factor && factor !== 1) {\n value = kendo.parseFloat(value);\n if (value !== null) {\n value = value / factor;\n }\n }\n\n return value;\n },\n\n _change: function(value) {\n var that = this;\n\n value = that._getFactorValue(value);\n that._update(value);\n value = that._value;\n\n if (that._old != value) {\n that._old = value;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n }\n\n that._typing = false;\n },\n\n _culture: function(culture) {\n return culture || getCulture(this.options.culture);\n },\n\n _focusin: function() {\n var that = this;\n that.wrapper.addClass(FOCUSED);\n that._toggleText(false);\n that.element[0].focus();\n },\n\n _focusout: function() {\n var that = this;\n\n clearTimeout(that._focusing);\n that.wrapper.removeClass(FOCUSED).removeClass(HOVER);\n that._blur();\n that._removeInvalidState();\n },\n\n _format: function(format, culture) {\n var numberFormat = this._culture(culture).numberFormat;\n\n format = format.toLowerCase();\n\n if (format.indexOf(\"c\") > -1) {\n numberFormat = numberFormat.currency;\n } else if (format.indexOf(\"p\") > -1) {\n numberFormat = numberFormat.percent;\n }\n\n return numberFormat;\n },\n\n _input: function() {\n var that = this,\n options = that.options,\n element = that.element.addClass(INPUT).show()[0],\n accessKey = element.accessKey,\n wrapper = that.wrapper,\n inputs = wrapper.find(POINT + INPUT),\n text;\n\n text = inputs.first();\n\n if (text.length < 2) {\n text = $('')\n .attr(kendo.attr(\"validate\"), false)\n .insertBefore(element);\n }\n\n try {\n element.setAttribute(\"type\", \"text\");\n } catch (e) {\n element.type = \"text\";\n }\n\n text[0].title = element.title;\n text[0].tabIndex = element.tabIndex;\n text[0].style.cssText = element.style.cssText;\n text.prop(\"placeholder\", options.placeholder);\n\n if (accessKey) {\n text.attr(\"accesskey\", accessKey);\n element.accessKey = \"\";\n }\n\n\n that._text = text.addClass(element.className)\n .attr({\n \"role\": \"spinbutton\",\n \"aria-valuemin\": options.min !== NULL ? options.min * options.factor : options.min,\n \"aria-valuemax\": options.max !== NULL ? options.max * options.factor : options.max,\n \"autocomplete\": \"off\"\n });\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode;\n\n if (key === keys.NUMPAD_DOT) {\n that._numPadDot = true;\n }\n\n if (key == keys.DOWN) {\n that._step(-1);\n return;\n } else if (key == keys.UP) {\n that._step(1);\n return;\n } else if (key == keys.ENTER) {\n that._change(that.element.val());\n return;\n }\n\n if (key != keys.TAB) {\n that._typing = true;\n }\n that._cachedCaret = caret(that.element);\n },\n\n _keyup: function() {\n this._removeInvalidState();\n },\n\n _inputHandler: function() {\n var element = this.element;\n var value = element.val();\n var min = this.options.min;\n var numberFormat = this._format(this.options.format);\n var decimalSeparator = numberFormat[POINT];\n var minInvalid = (min !== null && min >= 0 && value.charAt(0) === \"-\");\n\n if (this._numPadDot && decimalSeparator !== POINT) {\n value = value.replace(POINT, decimalSeparator);\n this.element.val(value);\n this._numPadDot = false;\n }\n\n if (this._isPasted && this._parse(value)) {\n value = this._parse(value)\n .toString()\n .replace(POINT, numberFormat[POINT]);\n }\n\n if (this._numericRegex(numberFormat).test(value) && !minInvalid) {\n this._oldText = value;\n } else {\n this._blinkInvalidState();\n this.element.val(this._oldText);\n if (this._cachedCaret) {\n caret(element, this._cachedCaret[0]);\n this._cachedCaret = null;\n }\n }\n\n this._isPasted = false;\n },\n\n _blinkInvalidState: function() {\n var that = this;\n\n that._addInvalidState();\n clearTimeout(that._invalidStateTimeout);\n that._invalidStateTimeout = setTimeout(that._removeInvalidState.bind(that), 100);\n },\n\n _addInvalidState: function() {\n var that = this;\n\n that.wrapper.addClass(STATEINVALID);\n that._validationIcon.removeClass('k-hidden');\n },\n\n _removeInvalidState: function() {\n var that = this;\n\n that.wrapper.removeClass(STATEINVALID);\n that._validationIcon.addClass('k-hidden');\n that._invalidStateTimeout = null;\n },\n\n _numericRegex: function(numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\n var fractionRule = \"*\";\n\n if (separator === POINT) {\n separator = \"\\\\\" + separator;\n }\n\n if (precision === NULL) {\n precision = numberFormat.decimals;\n }\n\n if (precision === 0 && that.options.restrictDecimals) {\n return INTEGER_REGEXP;\n }\n\n if (that.options.restrictDecimals) {\n fractionRule = \"{0,\" + precision + \"}\";\n }\n\n if (that._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp(\"^(-)?(((\\\\d+(\" + separator + \"\\\\d\" + fractionRule + \")?)|(\" + separator + \"\\\\d\" + fractionRule + \")))?$\");\n }\n\n return that._floatRegExp;\n },\n\n _paste: function(e) {\n var that = this;\n var element = e.target;\n var value = element.value;\n var numberFormat = that._format(that.options.format);\n\n that._isPasted = true;\n\n setTimeout(function() {\n var result = that._parse(element.value);\n\n if (result === NULL) {\n that._update(value);\n } else {\n element.value = result.toString().replace(POINT, numberFormat[POINT]);\n if (that._adjust(result) !== result || !that._numericRegex(numberFormat).test(element.value)) {\n value = that._getFactorValue(element.value);\n that._update(value);\n }\n }\n });\n },\n\n _option: function(option, value) {\n var that = this,\n element = that.element,\n options = that.options;\n\n if (value === undefined$1) {\n return options[option];\n }\n\n value = that._parse(value);\n\n if (!value && option === \"step\") {\n return;\n }\n\n options[option] = value;\n element\n .add(that._text)\n .attr(\"aria-value\" + option, value);\n\n element.attr(option, value);\n },\n\n _spin: function(step, timeout) {\n var that = this;\n\n timeout = timeout || 500;\n\n clearTimeout( that._spinning );\n that._spinning = setTimeout(function() {\n that._spin(step, 50);\n }, timeout );\n\n that._step(step);\n },\n\n _step: function(step) {\n var that = this,\n element = that.element,\n originalValue = that._value,\n value = that._parse(element.val()) || 0,\n precision = that.options.decimals || 2;\n\n if (activeElement() != element[0]) {\n that._focusin();\n }\n\n if (that.options.factor && value) {\n value = value / that.options.factor;\n }\n\n value = +(value + that.options.step * step).toFixed(precision);\n value = that._adjust(value);\n that._update(value);\n that._typing = false;\n\n if (originalValue !== value) {\n that.trigger(SPIN);\n }\n },\n\n _toggleHover: function(e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === \"mouseenter\");\n },\n\n _toggleText: function(toggle) {\n var that = this;\n\n that._text.toggle(toggle);\n if (toggle) {\n that._text.removeAttr(\"aria-hidden\");\n } else {\n that._text.attr(\"aria-hidden\", \"true\");\n }\n that.element.toggle(!toggle);\n },\n\n _parse: function(value, culture) {\n return parse(value, this._culture(culture), this.options.format);\n },\n\n _round: function(value, precision) {\n var rounder = this.options.round ? kendo._round : truncate;\n\n return rounder(value, precision);\n },\n\n _update: function(value) {\n var that = this,\n options = that.options,\n factor = options.factor,\n format = options.format,\n decimals = options.decimals,\n culture = that._culture(),\n numberFormat = that._format(format, culture),\n originalValue,\n isNotNull;\n\n if (decimals === NULL) {\n decimals = numberFormat.decimals;\n }\n\n value = that._parse(value, culture);\n\n isNotNull = value !== NULL;\n\n if (isNotNull) {\n value = parseFloat(that._round(value, decimals), 10);\n }\n\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\n\n if (isNotNull) {\n if (factor) {\n value = parseFloat(that._round(value * factor, decimals), 10);\n }\n value = value.toString();\n if (value.indexOf(\"e\") !== -1) {\n value = that._round(+value, decimals);\n }\n originalValue = value;\n value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = null;\n originalValue = null;\n }\n\n that.element.val(value);\n that._oldText = value;\n that.element.add(that._text).attr(\"aria-valuenow\", originalValue);\n },\n\n _placeholder: function(value) {\n var input = this._text;\n\n input.val(value);\n if (!placeholderSupported && !value) {\n input.val(this.options.placeholder);\n }\n\n input.attr(\"title\", this.element.attr(\"title\") || input.val());\n },\n\n _label: function() {\n var that = this;\n var element = that.element;\n var options = that.options;\n var id = element.attr(\"id\");\n var floating;\n var labelText;\n\n if (options.label !== null) {\n floating = isPlainObject(options.label) ? options.label.floating : false;\n labelText = isPlainObject(options.label) ? options.label.content : options.label;\n\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap(\"\").parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that });\n }\n\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n\n if (!labelText) {\n labelText = \"\";\n }\n\n if (!id) {\n id = options.name + \"_\" + kendo.guid();\n element.attr(\"id\", id);\n }\n\n that._inputLabel = $(\"'\")[floating ? \"insertAfter\" : \"insertBefore\"](that.wrapper);\n\n if ((that.element.attr(\"disabled\") === undefined$1) && (that.element.attr(\"readonly\") === undefined$1)) {\n that._inputLabel.on(\"click\" + ns, that.focus.bind(that));\n }\n }\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n DOMElement = element[0],\n wrapper;\n\n wrapper = element.parents(\".k-numerictextbox\");\n\n if (!wrapper.is(\"span.k-numerictextbox\")) {\n wrapper = element.hide().wrap(\"\").parent();\n }\n\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = \"\";\n that.wrapper = wrapper.addClass(\"k-numerictextbox k-input\")\n .addClass(DOMElement.className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\");\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._resetHandler = function() {\n setTimeout(function() {\n that.value(element[0].value);\n that.max(that._initialOptions.max);\n that.min(that._initialOptions.min);\n });\n };\n\n that._form = form.on(\"reset\", that._resetHandler);\n }\n }\n });\n\n kendo.cssProperties.registerPrefix(\"NumericTextBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"NumericTextBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n function buttonHtml(direction, text, options) {\n var className = direction === \"increase\" ? \"caret-alt-up\" : \"caret-alt-down\";\n var dir = direction === \"increase\" ? \"increase\" : \"decrease\";\n\n return html.renderButton('', extend({}, options, {\n icon: className,\n shape: null,\n rounded: null\n }));\n }\n\n function truncate(value, precision) {\n var parts = parseFloat(value, 10).toString().split(POINT);\n\n if (parts[1]) {\n parts[1] = parts[1].substring(0, precision);\n }\n\n return parts.join(POINT);\n\n }\n\n ui.plugin(NumericTextBox);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}