{"version":3,"sources":["kendo.numerictextbox.js"],"names":["f","define","$","undefined","buttonHtml","direction","text","className","CLASS_ICON","truncate","value","precision","parts","parseFloat","split","POINT","substring","join","kendo","window","caret","keys","ui","Widget","activeElement","_activeElement","extractFormat","_extractFormat","parse","placeholderSupported","support","placeholder","getCulture","CHANGE","DISABLED","READONLY","INPUT","SPIN","ns","TOUCHEND","MOUSELEAVE","HOVEREVENTS","DEFAULT","FOCUSED","HOVER","FOCUS","SYMBOL","LABELCLASSES","SELECTED","STATEDISABLED","STATE_INVALID","ARIA_DISABLED","INTEGER_REGEXP","NULL","proxy","isPlainObject","extend","NumericTextBox","init","element","options","min","max","step","disabled","inputType","that","this","isStep","fn","call","on","_focusout","attr","_parse","_initialOptions","_reset","_wrapper","_arrows","_validation","_input","mobileOS","_text","browser","edge","one","_focusin","selectValue","_click","factor","format","val","enable","is","parents","readonly","angular","elements","get","_label","_ariaLabel","notify","name","decimals","restrictDecimals","round","culture","spinners","selectOnFocus","upArrowText","downArrowText","label","events","_editable","disable","add","wrapper","_inputWrapper","off","_toggleText","_upArrowEventHandler","unbind","_downArrowEventHandler","_inputLabel","addClass","removeClass","_toggleHover","removeAttr","bind","e","preventDefault","_spin","_upArrow","_downArrow","_keydown","_keyup","_paste","_inputHandler","focus","floatingLabel","setOptions","_arrowsWrap","toggle","toggleClass","prop","_placeholder","aria-valuemin","aria-valuemax","destroy","_form","_resetHandler","_option","adjusted","_value","_adjust","_update","_old","arrows","_release","clearTimeout","_spinning","siblings","insertAfter","wrapAll","parent","eq","UserEvents","release","_validationIcon","hide","_blur","_change","_focusing","setTimeout","result","groupRegExp","extractRegExp","input","target","idx","_format","group","caretPosition","RegExp","exec","replace","length","indexOf","select","_getFactorValue","_typing","trigger","_culture","_removeInvalidState","numberFormat","toLowerCase","currency","percent","CLASSNAME","show","accessKey","find","insertBefore","setAttribute","type","title","tabIndex","style","cssText","role","autocomplete","key","keyCode","NUMPAD_DOT","_numPadDot","DOWN","_step","UP","ENTER","TAB","_cachedCaret","decimalSeparator","minInvalid","charAt","_isPasted","_numericRegex","test","_oldText","_blinkInvalidState","_addInvalidState","_invalidStateTimeout","separator","fractionRule","_separator","_floatRegExp","option","labelId","inputElm","id","labelElm","ariaLabel","ariaLabelledBy","guid","timeout","originalValue","toFixed","currentTarget","_round","rounder","isNotNull","toString","floating","labelText","content","_floatingLabelContainer","wrap","FloatingLabel","widget","isFunction","DOMElement","width","css","firstChild","formId","form","closest","plugin","jQuery","amd","a1","a2","a3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;CAwBC,SAAUA,EAAGC,QACVA,OAAO,wBACH,aACA,mBACA,uBACDD,IACL,WA4oBE,MAhoBC,UAAUE,EAAGC,GAmnBV,QAASC,GAAWC,EAAWC,GAC3B,GAAIC,GAAY,cAA8B,aAAdF,EAA2B,QAAU,UACrE,OAAO,8DAAgEA,EAAY,iBAAmBC,EAAO,YAAcA,EAAO,oCAA2CE,EAAa,IAAMD,EAAY,mBAEhN,QAASE,GAASC,EAAOC,GACrB,GAAIC,IAAQC,GAAAA,WAAWH,EAAO,KAAeI,MAAMC,EAInD,OAHIH,GAAM,KACNA,EAAM,GAAKA,EAAM,GAAGI,UAAU,EAAGL,IAE9BC,EAAMK,KAAKF,GA5nBzB,GACOG,GAAQC,OAAOD,MAAOE,EAAQF,EAAME,MAAOC,EAAOH,EAAMG,KAAMC,EAAKJ,EAAMI,GAAIC,EAASD,EAAGC,OAAQC,EAAgBN,EAAMO,eAAgBC,EAAgBR,EAAMS,eAAgBC,EAAQV,EAAML,WAAYgB,EAAuBX,EAAMY,QAAQC,YAAaC,EAAad,EAAMc,WAAYC,EAAS,SAAUC,EAAW,WAAYC,EAAW,WAAYC,EAAQ,UAAWC,EAAO,OAAQC,EAAK,uBAAwBC,EAAW,WAAYC,EAAa,aAAeF,EAAIG,EAAc,aAAeH,EAAK,IAAME,EAAYE,EAAU,kBAAmBC,EAAU,kBAAmBC,EAAQ,gBAAiBC,EAAQ,QAAS9B,EAAQ,IAAK+B,EAAS,SAAUtC,EAAa,SAAUuC,EAAe,wBAAyBC,EAAW,mBAAoBC,EAAgB,mBAAoBC,EAAgB,kBAAmBC,EAAgB,gBAAiBC,EAAiB,cAAeC,EAAO,KAAMC,EAAQpD,EAAEoD,MAAOC,EAAgBrD,EAAEqD,cAAeC,EAAStD,EAAEsD,OACv7BC,EAAiBlC,EAAOiC,QACxBE,KAAM,SAAUC,EAASC,GAAnB,GAC+DC,GAAKC,EAAKC,EAAMrD,EAAOsD,EACpFC,EADAC,EAAOC,KAAMC,EAASR,GAAWA,EAAQG,OAAS5D,CAEtDoB,GAAO8C,GAAGX,KAAKY,KAAKJ,EAAMP,EAASC,GACnCA,EAAUM,EAAKN,QACfD,EAAUO,EAAKP,QAAQY,GAAG,WAAajC,EAAIgB,EAAMY,EAAKM,UAAWN,IAAOO,KAAK,OAAQ,cACrFb,EAAQ7B,YAAc6B,EAAQ7B,aAAe4B,EAAQc,KAAK,eAC1DZ,EAAMK,EAAKL,IAAIF,EAAQc,KAAK,QAC5BX,EAAMI,EAAKJ,IAAIH,EAAQc,KAAK,QAC5BV,EAAOG,EAAKQ,OAAOf,EAAQc,KAAK,SAC5Bb,EAAQC,MAAQR,GAAQQ,IAAQR,IAChCO,EAAQC,IAAMA,GAEdD,EAAQE,MAAQT,GAAQS,IAAQT,IAChCO,EAAQE,IAAMA,GAEbM,GAAUL,IAASV,IACpBO,EAAQG,KAAOA,GAEnBG,EAAKS,gBAAkBnB,KAAWI,GAClCK,EAAYN,EAAQc,KAAK,QACzBP,EAAKU,SACLV,EAAKW,WACLX,EAAKY,UACLZ,EAAKa,cACLb,EAAKc,SACA9D,EAAMY,QAAQmD,SAGff,EAAKgB,MAAMX,GAAGhC,EAAWD,EAAK,IAAMO,EAAQP,EAAI,WACxCpB,EAAMY,QAAQqD,QAAQC,KACtBlB,EAAKgB,MAAMG,IAAIxC,EAAQP,EAAI,WACvB4B,EAAKoB,aAGTpB,EAAKoB,WAETpB,EAAKqB,gBAVTrB,EAAKgB,MAAMX,GAAG1B,EAAQP,EAAIgB,EAAMY,EAAKsB,OAAQtB,IAajDP,EAAQc,KAAK,gBAAiBb,EAAQC,MAAQR,EAAOO,EAAQC,IAAMD,EAAQ6B,OAAS7B,EAAQC,KAAKY,KAAK,gBAAiBb,EAAQE,MAAQT,EAAOO,EAAQE,IAAMF,EAAQ6B,OAAS7B,EAAQE,KACrLF,EAAQ8B,OAAShE,EAAckC,EAAQ8B,QACvChF,EAAQkD,EAAQlD,MACZA,GAAS2C,IAEL3C,EADa,UAAbuD,EACQpD,WAAW8C,EAAQgC,OAEnBhC,EAAQgC,OAGxBzB,EAAKxD,MAAMA,GACXsD,GAAYJ,EAAQgC,QAAUjC,EAAQkC,GAAG,eAAiB3F,EAAEgE,EAAKP,SAASmC,QAAQ,YAAYD,GAAG,aAC7F7B,EACAE,EAAK0B,QAAO,GAEZ1B,EAAK6B,SAASpC,EAAQkC,GAAG,eAE7B3B,EAAK8B,QAAQ,UAAW,WACpB,OAASC,SAAU/B,EAAKgB,MAAMgB,SAElChC,EAAKiC,SACLjC,EAAKkC,aACLlF,EAAMmF,OAAOnC,IAEjBN,SACI0C,KAAM,iBACNC,SAAUlD,EACVuC,QAAQ,EACRY,kBAAkB,EAClB3C,IAAKR,EACLS,IAAKT,EACL3C,MAAO2C,EACPU,KAAM,EACN0C,OAAO,EACPC,QAAS,GACThB,OAAQ,IACRiB,UAAU,EACV5E,YAAa,GACb6E,eAAe,EACfnB,OAAQ,EACRoB,YAAa,iBACbC,cAAe,iBACfC,MAAO,MAEXC,QACI/E,EACAI,GAEJ4E,UAAW,SAAUrD,GACjB,GAAIM,GAAOC,KAAMR,EAAUO,EAAKP,QAASuD,EAAUtD,EAAQsD,QAASnB,EAAWnC,EAAQmC,SAAUzF,EAAO4D,EAAKgB,MAAMiC,IAAIxD,GAAUyD,EAAUlD,EAAKmD,cAAcC,IAAI7E,EAClKyB,GAAKqD,aAAY,GACjBrD,EAAKsD,qBAAqBC,OAAO,SACjCvD,EAAKwD,uBAAuBD,OAAO,SACnC9D,EAAQ2D,IAAI,UAAYhF,GAAIgF,IAAI,QAAUhF,GAAIgF,IAAI,QAAUhF,GAAIgF,IAAI,QAAUhF,GAC1E4B,EAAKyD,aACLzD,EAAKyD,YAAYL,IAAIhF,GAEpByD,GAAamB,GAkBdE,EAAQQ,SAASV,EAAUjE,EAAgBP,GAASmF,YAAYX,EAAUxE,EAAUO,GACpF3C,EAAKmE,KAAKvC,EAAUgF,GAASzC,KAAKtC,EAAU4D,GAAUtB,KAAKtB,EAAe+D,KAlB1EE,EAAQQ,SAASlF,GAASmF,YAAY5E,GAAesB,GAAG9B,EAAayB,EAAK4D,cAC1ExH,EAAKyH,WAAW7F,GAAU6F,WAAW5F,GAAUsC,KAAKtB,GAAe,GACnEe,EAAKsD,qBAAqBQ,KAAK,QAAS,SAAUC,GAC9CA,EAAEC,iBACFhE,EAAKiE,MAAM,GACXjE,EAAKkE,SAASR,SAAS5E,KAE3BkB,EAAKwD,uBAAuBM,KAAK,QAAS,SAAUC,GAChDA,EAAEC,iBACFhE,EAAKiE,UACLjE,EAAKmE,WAAWT,SAAS5E,KAE7BkB,EAAKP,QAAQY,GAAG,UAAYjC,EAAIgB,EAAMY,EAAKoE,SAAUpE,IAAOK,GAAG,QAAUjC,EAAIgB,EAAMY,EAAKqE,OAAQrE,IAAOK,GAAG,QAAUjC,EAAIgB,EAAMY,EAAKsE,OAAQtE,IAAOK,GAAG,QAAUjC,EAAIgB,EAAMY,EAAKuE,cAAevE,IACzLA,EAAKyD,aACLzD,EAAKyD,YAAYpD,GAAG,QAAUjC,EAAIgB,EAAMY,EAAKwE,MAAOxE,MAOhE6B,SAAU,SAAUA,GAChB,GAAI7B,GAAOC,IACXA,MAAK8C,WACDlB,SAAUA,IAAa5F,GAAmB4F,EAC1CmB,SAAS,IAEThD,EAAKyE,eACLzE,EAAKyE,cAAc5C,SAASA,IAAa5F,GAAmB4F,IAGpEH,OAAQ,SAAUA,GACd,GAAI1B,GAAOC,IACXA,MAAK8C,WACDlB,UAAU,EACVmB,UAAWtB,EAASA,IAAWzF,GAAmByF,KAElD1B,EAAKyE,eACLzE,EAAKyE,cAAc/C,OAAOA,EAASA,IAAWzF,GAAmByF,IAGzEgD,WAAY,SAAUhF,GAClB,GAAIM,GAAOC,IACX5C,GAAO8C,GAAGuE,WAAWtE,KAAKJ,EAAMN,GAChCM,EAAK2E,YAAYC,OAAO5E,EAAKN,QAAQ+C,UACrCzC,EAAKmD,cAAc0B,YAAY,oBAAqB7E,EAAKN,QAAQ+C,UACjEzC,EAAKgB,MAAM8D,KAAK,cAAe9E,EAAKN,QAAQ7B,aAC5CmC,EAAK+E,aAAa/E,EAAKN,QAAQ7B,aAC/BmC,EAAKP,QAAQc,MACTyE,gBAAiBhF,EAAKN,QAAQC,MAAQR,EAAOa,EAAKN,QAAQC,IAAMK,EAAKN,QAAQ6B,OAASvB,EAAKN,QAAQC,IACnGsF,gBAAiBjF,EAAKN,QAAQE,MAAQT,EAAOa,EAAKN,QAAQE,IAAMI,EAAKN,QAAQ6B,OAASvB,EAAKN,QAAQE,MAEvGI,EAAKN,QAAQ8B,OAAShE,EAAcwC,EAAKN,QAAQ8B,QAC7C9B,EAAQlD,QAAUP,GAClB+D,EAAKxD,MAAMkD,EAAQlD,QAG3B0I,QAAS,WACL,GAAIlF,GAAOC,IACPD,GAAKyD,cACLzD,EAAKyD,YAAYL,IAAIhF,GACjB4B,EAAKyE,eACLzE,EAAKyE,cAAcS,WAG3BlF,EAAKP,QAAQwD,IAAIjD,EAAKgB,OAAOiC,IAAIjD,EAAKkE,UAAUjB,IAAIjD,EAAKmE,YAAYlB,IAAIjD,EAAKmD,eAAeC,IAAIhF,GACjG4B,EAAKsD,qBAAqB4B,UAC1BlF,EAAKwD,uBAAuB0B,UACxBlF,EAAKmF,OACLnF,EAAKmF,MAAM/B,IAAI,QAASpD,EAAKoF,eAEjC/H,EAAO8C,GAAG+E,QAAQ9E,KAAKJ,IAE3BL,IAAK,SAAUnD,GACX,MAAOyD,MAAKoF,QAAQ,MAAO7I,IAE/BoD,IAAK,SAAUpD,GACX,MAAOyD,MAAKoF,QAAQ,MAAO7I,IAE/BqD,KAAM,SAAUrD,GACZ,MAAOyD,MAAKoF,QAAQ,OAAQ7I,IAEhCA,MAAO,SAAUA,GACb,GAAiB8I,GAAbtF,EAAOC,IACX,OAAIzD,KAAUP,EACH+D,EAAKuF,QAEhB/I,EAAQwD,EAAKQ,OAAOhE,GACpB8I,EAAWtF,EAAKwF,QAAQhJ,GACpBA,IAAU8I,IAGdtF,EAAKyF,QAAQjJ,GACbwD,EAAK0F,KAAO1F,EAAKuF,QANjB/I,IAQJgI,MAAO,WACHvE,KAAKmB,YAEToE,QAAS,SAAUhJ,GACf,GAAIwD,GAAOC,KAAMP,EAAUM,EAAKN,QAASC,EAAMD,EAAQC,IAAKC,EAAMF,EAAQE,GAC1E,OAAIpD,KAAU2C,EACH3C,GAEPmD,IAAQR,GAAQ3C,EAAQmD,EACxBnD,EAAQmD,EACDC,IAAQT,GAAQ3C,EAAQoD,IAC/BpD,EAAQoD,GAELpD,IAEXoE,QAAS,WACL,GAAiB+E,GAAb3F,EAAOC,KAAc2F,EAAW,WAC5BC,aAAa7F,EAAK8F,WAClBH,EAAOhC,YAAY7E,IACpBY,EAAUM,EAAKN,QAAS+C,EAAW/C,EAAQ+C,SAAUhD,EAAUO,EAAKP,OAC3EkG,GAASlG,EAAQsG,SAAS,IAAMzJ,GAC3BqJ,EAAO,KACRA,EAAS3J,EAAEE,EAAW,WAAYwD,EAAQiD,aAAezG,EAAW,WAAYwD,EAAQkD,gBAAgBoD,YAAYvG,GACpHO,EAAK2E,YAAcgB,EAAOM,QAAQ,4BAA4BC,UAE7DzD,IACDkD,EAAOO,SAAStB,OAAOnC,GACvBzC,EAAKmD,cAAcO,SAAS,qBAEhC1D,EAAKkE,SAAWyB,EAAOQ,GAAG,GAC1BnG,EAAKsD,qBAAuB,GAAItG,GAAMoJ,WAAWpG,EAAKkE,UAAYmC,QAAST,IAC3E5F,EAAKmE,WAAawB,EAAOQ,GAAG,GAC5BnG,EAAKwD,uBAAyB,GAAIxG,GAAMoJ,WAAWpG,EAAKmE,YAAckC,QAAST,KAEnF/E,YAAa,WAAA,GACLb,GAAOC,KACPR,EAAUO,EAAKP,OACnBO,GAAKsG,gBAAkBtK,EAAE,gBAAmBM,EAAa,yBAA0BiK,OAAOP,YAAYvG,IAE1G+G,MAAO,WACH,GAAIxG,GAAOC,IACXD,GAAKqD,aAAY,GACjBrD,EAAKyG,QAAQzG,EAAKP,QAAQgC,QAE9BH,OAAQ,SAAUyC,GACd,GAAI/D,GAAOC,IACX4F,cAAa7F,EAAK0G,WAClB1G,EAAK0G,UAAYC,WAAW,WACxB,GAAqJC,GAAQC,EAAaC,EAAtKC,EAAQhD,EAAEiD,OAAQC,EAAM/J,EAAM6J,GAAO,GAAIvK,EAAQuK,EAAMvK,MAAMM,UAAU,EAAGmK,GAAMzF,EAASxB,EAAKkH,QAAQlH,EAAKN,QAAQ8B,QAAS2F,EAAQ3F,EAAO,KAA0C4F,EAAgB,CACrMD,KACAN,EAAkBQ,OAAO,KAAOF,EAAO,KACvCL,EAAoBO,OAAO,QAAU7F,EAAO5C,GAAU,YAAcuI,EAAQ,SAAW3F,EAAO3E,GAAS,cAEvGiK,IACAF,EAASE,EAAcQ,KAAK9K,IAE5BoK,IACAQ,EAAgBR,EAAO,GAAGW,QAAQV,EAAa,IAAIW,OAC/ChL,EAAMiL,QAAQ,UAAczH,EAAKuF,OAAS,GAC1C6B,KAGRpH,EAAKoB,WACLlE,EAAM8C,EAAKP,QAAQ,GAAI2H,GACvBpH,EAAKqB,iBAGbA,YAAa,WACLpB,KAAKP,QAAQgD,eACbzC,KAAKR,QAAQ,GAAGiI,UAGxBC,gBAAiB,SAAUnL,GACvB,GAAIwD,GAAOC,KAAMsB,EAASvB,EAAKN,QAAQ6B,MAOvC,OANIA,IAAqB,IAAXA,IACV/E,EAAQQ,EAAML,WAAWH,GACX,OAAVA,IACAA,GAAgB+E,IAGjB/E,GAEXiK,QAAS,SAAUjK,GACf,GAAIwD,GAAOC,IACXzD,GAAQwD,EAAK2H,gBAAgBnL,GAC7BwD,EAAKyF,QAAQjJ,GACbA,EAAQwD,EAAKuF,OACTvF,EAAK0F,MAAQlJ,IACbwD,EAAK0F,KAAOlJ,EACPwD,EAAK4H,SACN5H,EAAKP,QAAQoI,QAAQ9J,GAEzBiC,EAAK6H,QAAQ9J,IAEjBiC,EAAK4H,SAAU,GAEnBE,SAAU,SAAUtF,GAChB,MAAOA,IAAW1E,EAAWmC,KAAKP,QAAQ8C,UAE9CpB,SAAU,WACN,GAAIpB,GAAOC,IACXD,GAAKmD,cAAcO,SAASjF,GAC5BuB,EAAKqD,aAAY,GACjBrD,EAAKP,QAAQ,GAAG+E,SAEpBlE,UAAW,WACP,GAAIN,GAAOC,IACX4F,cAAa7F,EAAK0G,WAClB1G,EAAKmD,cAAcQ,YAAYlF,GAASkF,YAAYjF,GACpDsB,EAAKwG,QACLxG,EAAK+H,uBAETb,QAAS,SAAU1F,EAAQgB,GACvB,GAAIwF,GAAe/H,KAAK6H,SAAStF,GAASwF,YAO1C,OANAxG,GAASA,EAAOyG,cACZzG,EAAOiG,QAAQ,QACfO,EAAeA,EAAaE,SACrB1G,EAAOiG,QAAQ,UACtBO,EAAeA,EAAaG,SAEzBH,GAEXlH,OAAQ,WACJ,GAAmL1E,GAA/K4D,EAAOC,KAAMP,EAAUM,EAAKN,QAAS0I,EAAY,oBAAqB3I,EAAUO,EAAKP,QAAQiE,SAASxF,GAAOmK,OAAO,GAAIC,EAAY7I,EAAQ6I,UAAWpF,EAAUlD,EAAKkD,OAC1K9G,GAAO8G,EAAQqF,KAAK1L,EAAQuL,GACvBhM,EAAK,KACNA,EAAOJ,EAAE,wBAAwBwM,aAAa/I,GAASiE,SAAS0E,GAEpE,KACI3I,EAAQgJ,aAAa,OAAQ,QAC/B,MAAO1E,GACLtE,EAAQiJ,KAAO,OAEnBtM,EAAK,GAAGuM,MAAQlJ,EAAQkJ,MACxBvM,EAAK,GAAGwM,SAAWnJ,EAAQmJ,SAC3BxM,EAAK,GAAGyM,MAAMC,QAAUrJ,EAAQoJ,MAAMC,QACtC1M,EAAK0I,KAAK,cAAepF,EAAQ7B,aAC7ByK,IACAlM,EAAKmE,KAAK,YAAa+H,GACvB7I,EAAQ6I,UAAY,IAExBtI,EAAKgB,MAAQ5E,EAAKsH,SAASjE,EAAQpD,WAAWkE,MAC1CwI,KAAQ,aACR/D,gBAAiBtF,EAAQC,MAAQR,EAAOO,EAAQC,IAAMD,EAAQ6B,OAAS7B,EAAQC,IAC/EsF,gBAAiBvF,EAAQE,MAAQT,EAAOO,EAAQE,IAAMF,EAAQ6B,OAAS7B,EAAQE,IAC/EoJ,aAAgB,SAGxB5E,SAAU,SAAUL,GAChB,GAAI/D,GAAOC,KAAMgJ,EAAMlF,EAAEmF,OAIzB,OAHID,KAAQ9L,EAAKgM,aACbnJ,EAAKoJ,YAAa,GAElBH,GAAO9L,EAAKkM,MACZrJ,EAAKsJ,UACL,GACOL,GAAO9L,EAAKoM,IACnBvJ,EAAKsJ,MAAM,GACX,GACOL,GAAO9L,EAAKqM,OACnBxJ,EAAKyG,QAAQzG,EAAKP,QAAQgC,OAC1B,IAEAwH,GAAO9L,EAAKsM,MACZzJ,EAAK4H,SAAU,GAEnB5H,EAAK0J,aAAexM,EAAM8C,EAAKP,SAH/B,IAKJ4E,OAAQ,WACJpE,KAAK8H,uBAETxD,cAAe,WAAA,GACP9E,GAAUQ,KAAKR,QACfjD,EAAQiD,EAAQgC,MAChB9B,EAAMM,KAAKP,QAAQC,IACnBqI,EAAe/H,KAAKiH,QAAQjH,KAAKP,QAAQ8B,QACzCmI,EAAmB3B,EAAanL,GAChC+M,EAAqB,OAARjK,GAAgBA,GAAO,GAAyB,MAApBnD,EAAMqN,OAAO,EACtD5J,MAAKmJ,YAAcO,IAAqB9M,IACxCL,EAAQA,EAAM+K,QAAQ1K,EAAO8M,GAC7B1J,KAAKR,QAAQgC,IAAIjF,GACjByD,KAAKmJ,YAAa,GAElBnJ,KAAK6J,YACLtN,GAAQyD,GAAAA,KAAKO,OAAOhE,IAAkB+K,QAAQ1K,EAAOmL,EAAanL,KAElEoD,KAAK8J,cAAc/B,GAAcgC,KAAKxN,KAAWoN,EACjD3J,KAAKgK,SAAWzN,GAEhByD,KAAKiK,qBACLjK,KAAKR,QAAQgC,IAAIxB,KAAKgK,UAClBhK,KAAKyJ,eACLxM,EAAMuC,EAASQ,KAAKyJ,aAAa,IACjCzJ,KAAKyJ,aAAe,OAG5BzJ,KAAK6J,WAAY,GAErBI,mBAAoB,WAChB,GAAIlK,GAAOC,IACXD,GAAKmK,mBACLtE,aAAa7F,EAAKoK,sBAClBpK,EAAKoK,qBAAuBzD,WAAWvH,EAAMY,EAAK+H,oBAAqB/H,GAAO,MAElFmK,iBAAkB,WACd,GAAInK,GAAOC,IACXD,GAAKmD,cAAcO,SAAS1E,GAC5BgB,EAAKsG,gBAAgB+B,QAEzBN,oBAAqB,WACjB,GAAI/H,GAAOC,IACXD,GAAKmD,cAAcQ,YAAY3E,GAC/BgB,EAAKsG,gBAAgBC,OACrBvG,EAAKoK,qBAAuB,MAEhCL,cAAe,SAAU/B,GAAV,GACPhI,GAAOC,KACPoK,EAAYrC,EAAanL,GACzBJ,EAAYuD,EAAKN,QAAQ2C,SACzBiI,EAAe,GAOnB,OANID,KAAcxN,IACdwN,EAAY,KAAOA,GAEnB5N,IAAc0C,IACd1C,EAAYuL,EAAa3F,UAEX,IAAd5F,GAAmBuD,EAAKN,QAAQ4C,iBACzBpD,GAEPc,EAAKN,QAAQ4C,mBACbgI,EAAe,MAAQ7N,EAAY,KAEnCuD,EAAKuK,aAAeF,IACpBrK,EAAKuK,WAAaF,EAClBrK,EAAKwK,aAAmBnD,OAAO,gBAAkBgD,EAAY,MAAQC,EAAe,QAAUD,EAAY,MAAQC,EAAe,UAE9HtK,EAAKwK,eAEhBlG,OAAQ,SAAUP,GAAV,GACA/D,GAAOC,KACPR,EAAUsE,EAAEiD,OACZxK,EAAQiD,EAAQjD,MAChBwL,EAAehI,EAAKkH,QAAQlH,EAAKN,QAAQ8B,OAC7CxB,GAAK8J,WAAY,EACjBnD,WAAW,WACP,GAAIC,GAAS5G,EAAKQ,OAAOf,EAAQjD,MAC7BoK,KAAWzH,EACXa,EAAKyF,QAAQjJ,IAEbiD,EAAQjD,OAAQoK,GAAAA,GAAkBW,QAAQ1K,EAAOmL,EAAanL,IAC1DmD,EAAKwF,QAAQoB,KAAYA,GAAW5G,EAAK+J,cAAc/B,GAAcgC,KAAKvK,EAAQjD,SAClFA,EAAQwD,EAAK2H,gBAAgBlI,EAAQjD,OACrCwD,EAAKyF,QAAQjJ,QAK7B6I,QAAS,SAAUoF,EAAQjO,GACvB,GAAIwD,GAAOC,KAAMR,EAAUO,EAAKP,QAASC,EAAUM,EAAKN,OACxD,OAAIlD,KAAUP,EACHyD,EAAQ+K,IAEnBjO,EAAQwD,EAAKQ,OAAOhE,IACfA,GAAoB,SAAXiO,KAGd/K,EAAQ+K,GAAUjO,EAClBiD,EAAQwD,IAAIjD,EAAKgB,OAAOT,KAAK,aAAekK,EAAQjO,GACpDiD,EAAQc,KAAKkK,EAAQjO,IANrBA,IAQJ0F,WAAY,WAAA,GAQJwI,GAPA1K,EAAOC,KACP7D,EAAO4D,EAAKgB,MACZ2J,EAAW3K,EAAKP,QAChBmL,EAAKD,EAASpK,KAAK,MACnBsK,EAAW7O,EAAE,cAAiB4O,EAAK,MACnCE,EAAYH,EAASpK,KAAK,cAC1BwK,EAAiBJ,EAASpK,KAAK,kBAE/BuK,GACA1O,EAAKmE,KAAK,aAAcuK,GACjBC,EACP3O,EAAKmE,KAAK,kBAAmBwK,GACtBF,EAASrD,SAChBkD,EAAUG,EAAStK,KAAK,MACpBmK,EACAtO,EAAKmE,KAAK,kBAAmBmK,IAE7BA,EAAU1N,EAAMgO,OAChBH,EAAStK,KAAK,KAAMmK,GACpBtO,EAAKmE,KAAK,kBAAmBmK,MAIzCzG,MAAO,SAAUpE,EAAMoL,GACnB,GAAIjL,GAAOC,IACXgL,GAAUA,GAAW,IACrBpF,aAAa7F,EAAK8F,WAClB9F,EAAK8F,UAAYa,WAAW,WACxB3G,EAAKiE,MAAMpE,EAAM,KAClBoL,GACHjL,EAAKsJ,MAAMzJ,IAEfyJ,MAAO,SAAUzJ,GACb,GAAIG,GAAOC,KAAMR,EAAUO,EAAKP,QAASyL,EAAgBlL,EAAKuF,OAAQ/I,EAAQwD,EAAKQ,OAAOf,EAAQgC,QAAU,EAAGhF,EAAYuD,EAAKN,QAAQ2C,UAAY,CAChJ/E,MAAmBmC,EAAQ,IAC3BO,EAAKoB,WAELpB,EAAKN,QAAQ6B,QAAU/E,IACvBA,GAAgBwD,EAAKN,QAAQ6B,QAEjC/E,IAAUA,EAAQwD,EAAKN,QAAQG,KAAOA,GAAMsL,QAAQ1O,GACpDD,EAAQwD,EAAKwF,QAAQhJ,GACrBwD,EAAKyF,QAAQjJ,GACbwD,EAAK4H,SAAU,EACXsD,IAAkB1O,GAClBwD,EAAK6H,QAAQ1J,IAGrByF,aAAc,SAAUG,GACpB/H,EAAE+H,EAAEqH,eAAevG,YAAYnG,EAAkB,eAAXqF,EAAE2E,OAE5CrF,YAAa,SAAUuB,GACnB,GAAI5E,GAAOC,IACXD,GAAKgB,MAAM4D,OAAOA,GACdA,EACA5E,EAAKgB,MAAM6C,WAAW,eAEtB7D,EAAKgB,MAAMT,KAAK,cAAe,QAEnCP,EAAKP,QAAQmF,QAAQA,IAEzBpE,OAAQ,SAAUhE,EAAOgG,GACrB,MAAO9E,GAAMlB,EAAOyD,KAAK6H,SAAStF,GAAUvC,KAAKP,QAAQ8B,SAE7D6J,OAAQ,SAAU7O,EAAOC,GACrB,GAAI6O,GAAUrL,KAAKP,QAAQ6C,MAAQvF,EAAMqO,OAAS9O,CAClD,OAAO+O,GAAQ9O,EAAOC,IAE1BgJ,QAAS,SAAUjJ,GACf,GAAiM+O,GAA7LvL,EAAOC,KAAMP,EAAUM,EAAKN,QAAS6B,EAAS7B,EAAQ6B,OAAQC,EAAS9B,EAAQ8B,OAAQa,EAAW3C,EAAQ2C,SAAUG,EAAUxC,EAAK8H,WAAYE,EAAehI,EAAKkH,QAAQ1F,EAAQgB,EACnLH,KAAalD,IACbkD,EAAW2F,EAAa3F,UAE5B7F,EAAQwD,EAAKQ,OAAOhE,EAAOgG,GAC3B+I,EAAY/O,IAAU2C,EAClBoM,IACA/O,EAAQG,WAAWqD,EAAKqL,OAAO7O,EAAO6F,GAAW,KAErDrC,EAAKuF,OAAS/I,EAAQwD,EAAKwF,QAAQhJ,GACnCwD,EAAK+E,aAAa/H,EAAMwO,SAAShP,EAAOgF,EAAQgB,IAC5C+I,GACIhK,IACA/E,EAAQG,WAAWqD,EAAKqL,OAAO7O,EAAQ+E,EAAQc,GAAW,KAE9D7F,EAAQA,GAAAA,EACJA,EAAMiL,QAAQ,YACdjL,EAAQwD,EAAKqL,QAAQ7O,EAAO6F,IAEhC7F,EAAQA,EAAM+K,QAAQ1K,EAAOmL,EAAanL,KAE1CL,EAAQ,KAEZwD,EAAKP,QAAQgC,IAAIjF,GACjBwD,EAAKiK,SAAWzN,EAChBwD,EAAKP,QAAQwD,IAAIjD,EAAKgB,OAAOT,KAAK,gBAAiB/D,IAEvDuI,aAAc,SAAUvI,GACpB,GAAIuK,GAAQ9G,KAAKe,KACjB+F,GAAMtF,IAAIjF,GACLmB,GAAyBnB,GAC1BuK,EAAMtF,IAAIxB,KAAKP,QAAQ7B,aAE3BkJ,EAAMxG,KAAK,QAASN,KAAKR,QAAQc,KAAK,UAAYwG,EAAMtF,QAE5DQ,OAAQ,WAAA,GAKAwJ,GACAC,EALA1L,EAAOC,KACPR,EAAUO,EAAKP,QACfC,EAAUM,EAAKN,QACfkL,EAAKnL,EAAQc,KAAK,KAGA,QAAlBb,EAAQmD,QACR4I,IAAWpM,EAAcK,EAAQmD,QAASnD,EAAQmD,MAAM4I,SACxDC,EAAYrM,EAAcK,EAAQmD,OAASnD,EAAQmD,MAAM8I,QAAUjM,EAAQmD,MACvE4I,IACAzL,EAAK4L,wBAA0B5L,EAAKkD,QAAQ2I,KAAK,iBAAiB3F,SAClElG,EAAKyE,cAAgB,GAAIzH,GAAMI,GAAG0O,cAAc9L,EAAK4L,yBAA2BG,OAAQ/L,KAExFhD,EAAMgP,WAAWN,KACjBA,EAAYA,EAAUtL,KAAKJ,IAE1B0L,IACDA,EAAY,IAEXd,IACDA,EAAKlL,EAAQ0C,KAAO,IAAMpF,EAAMgO,OAChCvL,EAAQc,KAAK,KAAMqK,IAEvB5K,EAAKyD,YAAczH,EAAE,iBAAoB6C,EAAe,UAAc+L,EAAK,KAAQc,EAAY,aAAclD,aAAaxI,EAAKkD,SAC3HlD,EAAKP,QAAQc,KAAK,cAAgBtE,GAAa+D,EAAKP,QAAQc,KAAK,cAAgBtE,GACjF+D,EAAKyD,YAAYpD,GAAG,QAAUjC,EAAIgB,EAAMY,EAAKwE,MAAOxE,MAIhEW,SAAU,WACN,GAAkEuC,GAA9DlD,EAAOC,KAAMR,EAAUO,EAAKP,QAASwM,EAAaxM,EAAQ,EAC9DyD,GAAUzD,EAAQmC,QAAQ,qBACrBsB,EAAQvB,GAAG,2BACZuB,EAAUzD,EAAQ8G,OAAOsF,KAAK,mDAAmD3F,SACjFhD,EAAUA,EAAQ2I,KAAK,WAAW3F,UAEtChD,EAAQ,GAAG2F,MAAMC,QAAUmD,EAAWpD,MAAMC,QAC5CmD,EAAWpD,MAAMqD,MAAQ,GACzBlM,EAAKkD,QAAUA,EAAQQ,SAAS,6BAA6BA,SAASuI,EAAW5P,WAAWsH,YAAY,0BAA0BwI,IAAI,UAAW,IACjJnM,EAAKmD,cAAgBnH,EAAEkH,EAAQ,GAAGkJ,aAEtC1L,OAAQ,WACJ,GAAIV,GAAOC,KAAMR,EAAUO,EAAKP,QAAS4M,EAAS5M,EAAQc,KAAK,QAAS+L,EAAOD,EAASrQ,EAAE,IAAMqQ,GAAU5M,EAAQ8M,QAAQ,OACtHD,GAAK,KACLtM,EAAKoF,cAAgB,WACjBuB,WAAW,WACP3G,EAAKxD,MAAMiD,EAAQ,GAAGjD,OACtBwD,EAAKJ,IAAII,EAAKS,gBAAgBb,KAC9BI,EAAKL,IAAIK,EAAKS,gBAAgBd,QAGtCK,EAAKmF,MAAQmH,EAAKjM,GAAG,QAASL,EAAKoF,kBAe/ChI,GAAGoP,OAAOjN,IACZtC,OAAOD,MAAMyP,QACRxP,OAAOD,OACE,kBAAVjB,SAAwBA,OAAO2Q,IAAM3Q,OAAS,SAAU4Q,EAAIC,EAAIC,IACrEA,GAAMD","file":"kendo.numerictextbox.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.numerictextbox', [\n 'kendo.core',\n 'kendo.userevents',\n 'kendo.floatinglabel'\n ], f);\n}(function () {\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: [\n 'core',\n 'userevents',\n 'floatinglabel'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, caret = kendo.caret, keys = kendo.keys, ui = kendo.ui, Widget = ui.Widget, activeElement = kendo._activeElement, extractFormat = kendo._extractFormat, parse = kendo.parseFloat, placeholderSupported = kendo.support.placeholder, getCulture = kendo.getCulture, CHANGE = 'change', DISABLED = 'disabled', READONLY = 'readonly', INPUT = 'k-input', SPIN = 'spin', ns = '.kendoNumericTextBox', TOUCHEND = 'touchend', MOUSELEAVE = 'mouseleave' + ns, HOVEREVENTS = 'mouseenter' + ns + ' ' + MOUSELEAVE, DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', HOVER = 'k-state-hover', FOCUS = 'focus', POINT = '.', SYMBOL = 'symbol', CLASS_ICON = 'k-icon', LABELCLASSES = 'k-label k-input-label', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', STATE_INVALID = 'k-state-invalid', ARIA_DISABLED = 'aria-disabled', INTEGER_REGEXP = /^(-)?(\\d*)$/, NULL = null, proxy = $.proxy, isPlainObject = $.isPlainObject, extend = $.extend;\n var NumericTextBox = Widget.extend({\n init: function (element, options) {\n var that = this, isStep = options && options.step !== undefined, min, max, step, value, disabled;\n var inputType;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focusout' + ns, proxy(that._focusout, that)).attr('role', 'spinbutton');\n options.placeholder = options.placeholder || element.attr('placeholder');\n min = that.min(element.attr('min'));\n max = that.max(element.attr('max'));\n step = that._parse(element.attr('step'));\n if (options.min === NULL && min !== NULL) {\n options.min = min;\n }\n if (options.max === NULL && max !== NULL) {\n options.max = max;\n }\n if (!isStep && step !== NULL) {\n options.step = step;\n }\n that._initialOptions = extend({}, options);\n inputType = element.attr('type');\n that._reset();\n that._wrapper();\n that._arrows();\n that._validation();\n that._input();\n if (!kendo.support.mobileOS) {\n that._text.on(FOCUS + ns, proxy(that._click, 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 element.attr('aria-valuemin', options.min !== NULL ? options.min * options.factor : options.min).attr('aria-valuemax', options.max !== NULL ? options.max * options.factor : options.max);\n options.format = extractFormat(options.format);\n value = options.value;\n if (value == NULL) {\n if (inputType == 'number') {\n value = parseFloat(element.val());\n } else {\n value = element.val();\n }\n }\n that.value(value);\n disabled = !options.enable || element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n that.angular('compile', function () {\n return { elements: that._text.get() };\n });\n that._label();\n that._ariaLabel();\n kendo.notify(that);\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 },\n events: [\n CHANGE,\n SPIN\n ],\n _editable: function (options) {\n var that = this, element = that.element, disable = options.disable, readonly = options.readonly, text = that._text.add(element), wrapper = that._inputWrapper.off(HOVEREVENTS);\n that._toggleText(true);\n that._upArrowEventHandler.unbind('press');\n that._downArrowEventHandler.unbind('press');\n element.off('keydown' + ns).off('keyup' + ns).off('input' + ns).off('paste' + ns);\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n }\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n text.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false);\n that._upArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(1);\n that._upArrow.addClass(SELECTED);\n });\n that._downArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(-1);\n that._downArrow.addClass(SELECTED);\n });\n that.element.on('keydown' + ns, proxy(that._keydown, that)).on('keyup' + ns, proxy(that._keyup, that)).on('paste' + ns, proxy(that._paste, that)).on('input' + ns, proxy(that._inputHandler, that));\n if (that._inputLabel) {\n that._inputLabel.on('click' + ns, proxy(that.focus, that));\n }\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n text.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n },\n readonly: function (readonly) {\n var that = this;\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined ? true : readonly);\n }\n },\n enable: function (enable) {\n var that = this;\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined ? true : enable);\n }\n },\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n that._arrowsWrap.toggle(that.options.spinners);\n that._inputWrapper.toggleClass('k-expand-padding', !that.options.spinners);\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 that.options.format = extractFormat(that.options.format);\n if (options.value !== undefined) {\n that.value(options.value);\n }\n },\n destroy: function () {\n var that = this;\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n }\n that.element.add(that._text).add(that._upArrow).add(that._downArrow).add(that._inputWrapper).off(ns);\n that._upArrowEventHandler.destroy();\n that._downArrowEventHandler.destroy();\n if (that._form) {\n that._form.off('reset', that._resetHandler);\n }\n Widget.fn.destroy.call(that);\n },\n min: function (value) {\n return this._option('min', value);\n },\n max: function (value) {\n return this._option('max', value);\n },\n step: function (value) {\n return this._option('step', value);\n },\n value: function (value) {\n var that = this, adjusted;\n if (value === undefined) {\n return that._value;\n }\n value = that._parse(value);\n adjusted = that._adjust(value);\n if (value !== adjusted) {\n return;\n }\n that._update(value);\n that._old = that._value;\n },\n focus: function () {\n this._focusin();\n },\n _adjust: function (value) {\n var that = this, options = that.options, min = options.min, max = options.max;\n if (value === NULL) {\n return value;\n }\n if (min !== NULL && value < min) {\n value = min;\n } else if (max !== NULL && value > max) {\n value = max;\n }\n return value;\n },\n _arrows: function () {\n var that = this, arrows, _release = function () {\n clearTimeout(that._spinning);\n arrows.removeClass(SELECTED);\n }, options = that.options, spinners = options.spinners, element = that.element;\n arrows = element.siblings('.' + CLASS_ICON);\n if (!arrows[0]) {\n arrows = $(buttonHtml('increase', options.upArrowText) + buttonHtml('decrease', options.downArrowText)).insertAfter(element);\n that._arrowsWrap = arrows.wrapAll('').parent();\n }\n if (!spinners) {\n arrows.parent().toggle(spinners);\n that._inputWrapper.addClass('k-expand-padding');\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 _validation: function () {\n var that = this;\n var element = that.element;\n that._validationIcon = $('').hide().insertAfter(element);\n },\n _blur: function () {\n var that = this;\n that._toggleText(true);\n that._change(that.element.val());\n },\n _click: function (e) {\n var that = this;\n clearTimeout(that._focusing);\n that._focusing = setTimeout(function () {\n var input = e.target, idx = caret(input)[0], value = input.value.substring(0, idx), format = that._format(that.options.format), group = format[','], result, groupRegExp, extractRegExp, caretPosition = 0;\n if (group) {\n groupRegExp = new RegExp('\\\\' + group, 'g');\n extractRegExp = new RegExp('(-)?(' + format[SYMBOL] + ')?([\\\\d\\\\' + group + ']+)(\\\\' + format[POINT] + ')?(\\\\d+)?');\n }\n if (extractRegExp) {\n result = extractRegExp.exec(value);\n }\n if (result) {\n caretPosition = result[0].replace(groupRegExp, '').length;\n if (value.indexOf('(') != -1 && that._value < 0) {\n caretPosition++;\n }\n }\n that._focusin();\n caret(that.element[0], caretPosition);\n that.selectValue();\n });\n },\n selectValue: function () {\n if (this.options.selectOnFocus) {\n this.element[0].select();\n }\n },\n _getFactorValue: function (value) {\n var that = this, factor = that.options.factor;\n if (factor && factor !== 1) {\n value = kendo.parseFloat(value);\n if (value !== null) {\n value = value / factor;\n }\n }\n return value;\n },\n _change: function (value) {\n var that = this;\n value = that._getFactorValue(value);\n that._update(value);\n value = that._value;\n if (that._old != value) {\n that._old = value;\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n }\n that._typing = false;\n },\n _culture: function (culture) {\n return culture || getCulture(this.options.culture);\n },\n _focusin: function () {\n var that = this;\n that._inputWrapper.addClass(FOCUSED);\n that._toggleText(false);\n that.element[0].focus();\n },\n _focusout: function () {\n var that = this;\n clearTimeout(that._focusing);\n that._inputWrapper.removeClass(FOCUSED).removeClass(HOVER);\n that._blur();\n that._removeInvalidState();\n },\n _format: function (format, culture) {\n var numberFormat = this._culture(culture).numberFormat;\n format = format.toLowerCase();\n if (format.indexOf('c') > -1) {\n numberFormat = numberFormat.currency;\n } else if (format.indexOf('p') > -1) {\n numberFormat = numberFormat.percent;\n }\n return numberFormat;\n },\n _input: function () {\n var that = this, options = that.options, CLASSNAME = 'k-formatted-value', element = that.element.addClass(INPUT).show()[0], accessKey = element.accessKey, wrapper = that.wrapper, text;\n text = wrapper.find(POINT + CLASSNAME);\n if (!text[0]) {\n text = $('').insertBefore(element).addClass(CLASSNAME);\n }\n try {\n element.setAttribute('type', 'text');\n } catch (e) {\n element.type = 'text';\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 if (accessKey) {\n text.attr('accesskey', accessKey);\n element.accessKey = '';\n }\n that._text = text.addClass(element.className).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 _keydown: function (e) {\n var that = this, key = e.keyCode;\n if (key === keys.NUMPAD_DOT) {\n that._numPadDot = true;\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 if (key != keys.TAB) {\n that._typing = true;\n }\n that._cachedCaret = caret(that.element);\n },\n _keyup: function () {\n this._removeInvalidState();\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 if (this._numPadDot && decimalSeparator !== POINT) {\n value = value.replace(POINT, decimalSeparator);\n this.element.val(value);\n this._numPadDot = false;\n }\n if (this._isPasted) {\n value = this._parse(value).toString().replace(POINT, numberFormat[POINT]);\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 this._isPasted = false;\n },\n _blinkInvalidState: function () {\n var that = this;\n that._addInvalidState();\n clearTimeout(that._invalidStateTimeout);\n that._invalidStateTimeout = setTimeout(proxy(that._removeInvalidState, that), 100);\n },\n _addInvalidState: function () {\n var that = this;\n that._inputWrapper.addClass(STATE_INVALID);\n that._validationIcon.show();\n },\n _removeInvalidState: function () {\n var that = this;\n that._inputWrapper.removeClass(STATE_INVALID);\n that._validationIcon.hide();\n that._invalidStateTimeout = null;\n },\n _numericRegex: function (numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\n var fractionRule = '*';\n if (separator === POINT) {\n separator = '\\\\' + separator;\n }\n if (precision === NULL) {\n precision = numberFormat.decimals;\n }\n if (precision === 0 && that.options.restrictDecimals) {\n return INTEGER_REGEXP;\n }\n if (that.options.restrictDecimals) {\n fractionRule = '{0,' + precision + '}';\n }\n if (that._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp('^(-)?(((\\\\d+(' + separator + '\\\\d' + fractionRule + ')?)|(' + separator + '\\\\d' + fractionRule + ')))?$');\n }\n return that._floatRegExp;\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 that._isPasted = true;\n setTimeout(function () {\n var result = that._parse(element.value);\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 _option: function (option, value) {\n var that = this, element = that.element, options = that.options;\n if (value === undefined) {\n return options[option];\n }\n value = that._parse(value);\n if (!value && option === 'step') {\n return;\n }\n options[option] = value;\n element.add(that._text).attr('aria-value' + option, value);\n element.attr(option, value);\n },\n _ariaLabel: function () {\n var that = this;\n var text = that._text;\n var inputElm = that.element;\n var id = inputElm.attr('id');\n var labelElm = $('label[for=\\'' + id + '\\']');\n var ariaLabel = inputElm.attr('aria-label');\n var ariaLabelledBy = inputElm.attr('aria-labelledby');\n var labelId;\n if (ariaLabel) {\n text.attr('aria-label', ariaLabel);\n } else if (ariaLabelledBy) {\n text.attr('aria-labelledby', ariaLabelledBy);\n } else if (labelElm.length) {\n labelId = labelElm.attr('id');\n if (labelId) {\n text.attr('aria-labelledby', labelId);\n } else {\n labelId = kendo.guid();\n labelElm.attr('id', labelId);\n text.attr('aria-labelledby', labelId);\n }\n }\n },\n _spin: function (step, timeout) {\n var that = this;\n timeout = timeout || 500;\n clearTimeout(that._spinning);\n that._spinning = setTimeout(function () {\n that._spin(step, 50);\n }, timeout);\n that._step(step);\n },\n _step: function (step) {\n var that = this, element = that.element, originalValue = that._value, value = that._parse(element.val()) || 0, precision = that.options.decimals || 2;\n if (activeElement() != element[0]) {\n that._focusin();\n }\n if (that.options.factor && value) {\n value = value / that.options.factor;\n }\n value = +(value + that.options.step * step).toFixed(precision);\n value = that._adjust(value);\n that._update(value);\n that._typing = false;\n if (originalValue !== value) {\n that.trigger(SPIN);\n }\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _toggleText: function (toggle) {\n var that = this;\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 _parse: function (value, culture) {\n return parse(value, this._culture(culture), this.options.format);\n },\n _round: function (value, precision) {\n var rounder = this.options.round ? kendo._round : truncate;\n return rounder(value, precision);\n },\n _update: function (value) {\n var that = this, options = that.options, factor = options.factor, format = options.format, decimals = options.decimals, culture = that._culture(), numberFormat = that._format(format, culture), isNotNull;\n if (decimals === NULL) {\n decimals = numberFormat.decimals;\n }\n value = that._parse(value, culture);\n isNotNull = value !== NULL;\n if (isNotNull) {\n value = parseFloat(that._round(value, decimals), 10);\n }\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\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 value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = null;\n }\n that.element.val(value);\n that._oldText = value;\n that.element.add(that._text).attr('aria-valuenow', value);\n },\n _placeholder: function (value) {\n var input = this._text;\n input.val(value);\n if (!placeholderSupported && !value) {\n input.val(this.options.placeholder);\n }\n input.attr('title', this.element.attr('title') || input.val());\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 if (options.label !== null) {\n floating = isPlainObject(options.label) ? options.label.floating : false;\n labelText = isPlainObject(options.label) ? options.label.content : options.label;\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap('').parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that });\n }\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n if (!labelText) {\n labelText = '';\n }\n if (!id) {\n id = options.name + '_' + kendo.guid();\n element.attr('id', id);\n }\n that._inputLabel = $('\\'').insertBefore(that.wrapper);\n if (that.element.attr('disabled') === undefined && that.element.attr('readonly') === undefined) {\n that._inputLabel.on('click' + ns, proxy(that.focus, that));\n }\n }\n },\n _wrapper: function () {\n var that = this, element = that.element, DOMElement = element[0], wrapper;\n wrapper = element.parents('.k-numerictextbox');\n if (!wrapper.is('span.k-numerictextbox')) {\n wrapper = element.hide().wrap('').parent();\n wrapper = wrapper.wrap('').parent();\n }\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = '';\n that.wrapper = wrapper.addClass('k-widget k-numerictextbox').addClass(DOMElement.className).removeClass('input-validation-error').css('display', '');\n that._inputWrapper = $(wrapper[0].firstChild);\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), form = formId ? $('#' + formId) : element.closest('form');\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 that._form = form.on('reset', that._resetHandler);\n }\n }\n });\n function buttonHtml(direction, text) {\n var className = 'k-i-arrow-' + (direction === 'increase' ? '60-up' : '60-down');\n return '' + '' + '';\n }\n function truncate(value, precision) {\n var parts = parseFloat(value, 10).toString().split(POINT);\n if (parts[1]) {\n parts[1] = parts[1].substring(0, precision);\n }\n return parts.join(POINT);\n }\n ui.plugin(NumericTextBox);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}