UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines 15.2 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.userevents.min.js`),require(`kendo.floatinglabel.min.js`),require(`kendo.html.button.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.userevents.min`,`kendo.floatinglabel.min`,`kendo.html.button.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Numerictextbox={}),e.kendo._globals.Core,e.kendo._globals.Userevents,e.kendo._globals.Floatinglabel,e.kendo._globals.HtmlButton,e.kendo._globals.Icons))})(this,function(e,t,n,r,i,a){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let o=kendo.jQuery;function s({widget:e,wrapper:t,options:n,prefixInsertBefore:r,suffixInsertAfter:i}){var a=n.prefixOptions,s=n.suffixOptions,c=a.template||a.icon,l=s.template||s.icon,i=i||r,u=n.layoutFlow,d=u?u==`vertical`?`horizontal`:`vertical`:`horizontal`,f=`<span class="k-input-separator k-input-separator-${u==`vertical`?`horizontal`:`vertical`}"></span>`,p,m;a&&c&&(p=t.children(`.k-input-prefix`),p[0]||(n._isInInlineAIPrompt&&(d=u||`horizontal`),p=o(`<span class="k-input-prefix k-input-prefix-${d}" />`),r?p.insertBefore(r):p.prependTo(t)),a.icon&&p.html(kendo.html.renderIcon({icon:a.icon,iconClass:a.iconClass})),a.template&&p.html(kendo.template(a.template)({})),a.separator&&o(f).insertAfter(p)),s&&l&&(m=t.children(`.k-input-suffix`),m[0]||(m=o(`<span class="k-input-suffix k-input-suffix-${d}" />`).appendTo(t),i?m.insertAfter(i):m.appendTo(t)),s.icon&&m.html(kendo.html.renderIcon({icon:s.icon,iconClass:s.iconClass})),s.template&&m.html(kendo.template(s.template)({})),s.separator&&o(f).insertBefore(m)),e._prefixContainer=p,e._suffixContainer=m}let c={id:`numerictextbox`,name:`NumericTextBox`,category:`web`,description:`The NumericTextBox widget can format and display numeric, percentage or currency textbox.`,depends:[`core`,`userevents`,`floatinglabel`,`html.button`,`icons`]};(function(e,t){var n=window.kendo,r=n.caret,i=n.keys,a=n.html,o=n.ui,c=o.Widget,l=n._activeElement,u=n._extractFormat,d=n.parseFloat,f=n.getCulture,p=`change`,m=`disabled`,h=`readonly`,g=`k-input-inner`,_=`spin`,v=`.kendoNumericTextBox`,y=`touchend`,b=`mouseleave`+v,x=`mouseenter`+v+` `+b,S=`k-focus`,C=`k-hover`,w=`focus`,T=`.`,E=`symbol`,D=`k-label k-input-label`,O=`k-floating-label`,k=`k-selected`,A=`k-disabled`,j=`k-invalid`,M=`aria-disabled`,N=/^(-)?(\d*)$/,P=null,F=e.isPlainObject,I=e.extend,L=c.extend({init:function(r,i){var a=this,o=i&&i.step!==t,l,d,f,p,m,h;c.fn.init.call(a,r,i),i=a.options,r=a.element.on(`focusout`+v,a._focusout.bind(a)).attr(`role`,`spinbutton`),i.placeholder=i.placeholder||r.attr(`placeholder`),i.inputMode=i.inputMode||r.attr(`inputmode`)||`text`,l=a.min(r.attr(`min`)),d=a.max(r.attr(`max`)),f=a._parse(r.attr(`step`)),i.min===P&&l!==P&&(i.min=l),i.max===P&&d!==P&&(i.max=d),!o&&f!==P&&(i.step=f),a._initialOptions=I({},i),h=r.attr(`type`),a._reset(),a._wrapper(),a._arrows(),a._validation(),a._input(),n.support.mobileOS?a._text.on(y+v+` `+w+v,function(){n.support.browser.edge?a._text.one(w+v,function(){a._focusin()}):a._focusin(),a.selectValue()}):a._text.on(w+v,a._click.bind(a)),r.attr(`aria-valuemin`,i.min===P?i.min:i.min*i.factor).attr(`aria-valuemax`,i.max===P?i.max:i.max*i.factor),i.format=u(i.format),p=i.value,p==P&&(p=h==`number`?parseFloat(r.val()):r.val()),a.value(p),m=!i.enable||r.is(`[disabled]`)||e(a.element).parents(`fieldset`).is(`:disabled`),m?a.enable(!1):a.readonly(r.is(`[readonly]`)),a._label(),a._ariaLabel(a._text),a._applyCssClasses(),s({widget:a,wrapper:a.wrapper,options:a.options,prefixInsertBefore:a._text,suffixInsertAfter:a._validationIcon}),a.floatingLabel&&a.floatingLabel.refresh(),n.notify(a)},options:{name:`NumericTextBox`,decimals:P,autoAdjust:!0,enable:!0,restrictDecimals:!1,min:P,max:P,value:P,step:1,round:!0,culture:``,format:`n`,spinners:!0,placeholder:``,selectOnFocus:!1,factor:1,upArrowText:`Increase value`,downArrowText:`Decrease value`,label:null,size:t,fillMode:t,rounded:t,prefixOptions:{separator:!0},suffixOptions:{separator:!0}},events:[p,_],_editable:function(e){var t=this,n=t.element,r=e.disable,i=e.readonly,a=t._text.add(n),o=t.wrapper.off(x);t._toggleText(!0),t._upArrowEventHandler.unbind(`press`),t._downArrowEventHandler.unbind(`press`),n.off(`keydown`+v).off(`keyup`+v).off(`input`+v).off(`paste`+v),t._inputLabel&&t._inputLabel.off(v),!i&&!r?(o.removeClass(A).on(x,t._toggleHover),a.prop(m,!1).prop(h,!1).attr(M,!1),t._upArrowEventHandler.bind(`press`,function(e){e.preventDefault(),t._spin(1),t._upArrow.addClass(k)}),t._downArrowEventHandler.bind(`press`,function(e){e.preventDefault(),t._spin(-1),t._downArrow.addClass(k)}),t.element.on(`keydown`+v,t._keydown.bind(t)).on(`keyup`+v,t._keyup.bind(t)).on(`paste`+v,t._paste.bind(t)).on(`input`+v,t._inputHandler.bind(t)),t._inputLabel&&t._inputLabel.on(`click`+v,t.focus.bind(t))):(o.addClass(r?A:``).removeClass(r?``:A),a.attr(m,r).attr(h,i).attr(M,r))},readonly:function(e){var n=this;this._editable({readonly:e===t?!0:e,disable:!1}),n.floatingLabel&&n.floatingLabel.readonly(e===t?!0:e)},enable:function(e){var n=this;this._editable({readonly:!1,disable:!(e=e===t?!0:e)}),n.floatingLabel&&n.floatingLabel.enable(e=e===t?!0:e)},setOptions:function(e){var n=this;c.fn.setOptions.call(n,e),n._text.prop(`placeholder`,n.options.placeholder),n._placeholder(n.options.placeholder),n.element.attr({"aria-valuemin":n.options.min===P?n.options.min:n.options.min*n.options.factor,"aria-valuemax":n.options.max===P?n.options.max:n.options.max*n.options.factor}),n.options.format=u(n.options.format),n._upArrowEventHandler.destroy(),n._upArrowEventHandler=null,n._downArrowEventHandler.destroy(),n._downArrowEventHandler=null,n._arrowsWrap.remove(),n._arrows(),n._applyCssClasses(),n._inputLabel&&(n._inputLabel.off(v),n._inputLabel.remove(),n.floatingLabel&&(n.floatingLabel.destroy(),n._floatingLabelContainer&&n.wrapper.unwrap())),n._label(),e.enable!==t||e.readonly!==t?n._editable({readonly:e.readonly,disable:!e.enable}):n._editable({readonly:n.element.attr(`readonly`)===t?n.options.readonly:!!n.element.attr(`readonly`),disable:n.element.attr(`disabled`)===t?!n.options.enable:!!n.element.attr(`disabled`)}),e.value===t?n._value!==t&&n.value(n._value):n.value(e.value)},destroy:function(){var e=this;e._inputLabel&&(e._inputLabel.off(v),e.floatingLabel&&e.floatingLabel.destroy()),e.element.add(e._text).add(e._upArrow).add(e._downArrow).off(v),e._upArrowEventHandler.destroy(),e._downArrowEventHandler.destroy(),e._form&&e._form.off(`reset`,e._resetHandler),c.fn.destroy.call(e)},min:function(e){return this._option(`min`,e)},max:function(e){return this._option(`max`,e)},step:function(e){return this._option(`step`,e)},value:function(e){var n=this,r;if(e===t)return n._value;e=n._parse(e),r=n._adjust(e),e!==r&&(e=P),n._update(e),n._old=n._value,n.floatingLabel&&n.floatingLabel.refresh()},focus:function(){this._focusin(),this.selectValue()},_adjust:function(e){let t=this.options,n=t.min,r=t.max,i=t.autoAdjust;return e===P||!i||(n!==P&&e<n?e=n:r!==P&&e>r&&(e=r)),e},_arrows:function(){var t=this,r,i=function(){clearTimeout(t._spinning),r.removeClass(k)},a=t.options,o=a.spinners;r=t.element.siblings(`.k-icon-button`),r[0]||(r=e(R(`increase`,a.upArrowText,a)+R(`decrease`,a.downArrowText,a)).appendTo(t.wrapper),t._arrowsWrap=r.wrapAll(`<span class="k-input-spinner k-spin-button"/>`).parent()),o||r.parent().toggle(o),t._upArrow=r.eq(0),t._upArrowEventHandler=new n.UserEvents(t._upArrow,{release:i}),t._downArrow=r.eq(1),t._downArrowEventHandler=new n.UserEvents(t._downArrow,{release:i})},_validation:function(){var t=this,r=t.element;t._validationIcon=e(n.ui.icon({icon:`exclamation-circle`,iconClass:`k-input-validation-icon k-hidden`})).insertAfter(r)},_blur:function(){var e=this;e._toggleText(!0),e._change(e.element.val())},_click:function(e){var t=this;clearTimeout(t._focusing),t._focusing=setTimeout(function(){var n=e.target,i=r(n)[0],a=n.value.substring(0,i),o=t._format(t.options.format),s=o[`,`],c,l,u,d=0;s&&(l=RegExp(`\\`+s,`g`),u=RegExp(`(-)?(`+o[E]+`)?([\\d\\`+s+`]+)(\\`+o[T]+`)?(\\d+)?`)),u&&(c=u.exec(a)),c&&(d=c[0].replace(l,``).length,a.indexOf(`(`)!=-1&&t._value<0&&d++),t._focusin(),r(t.element[0],d),t.selectValue()})},selectValue:function(){this.options.selectOnFocus&&this.element[0].select()},_getFactorValue:function(e){var t=this.options.factor;return t&&t!==1&&(e=n.parseFloat(e),e!==null&&(e/=t)),e},_change:function(e){var t=this;e=t._getFactorValue(e),t._update(e),e=t._value,t._old!=e&&(t._old=e,t._typing||t.element.trigger(p),t.trigger(p)),t._typing=!1},_culture:function(e){return e||f(this.options.culture)},_focusin:function(){var e=this;e.wrapper.addClass(S),e._toggleText(!1),e.element.trigger(`focus`)},_focusout:function(){var e=this;clearTimeout(e._focusing),e.wrapper.removeClass(S).removeClass(C),e._blur(),e._removeInvalidState()},_format:function(e,t){var n=this._culture(t).numberFormat;return e=e.toLowerCase(),e.indexOf(`c`)>-1?n=n.currency:e.indexOf(`p`)>-1&&(n=n.percent),n},_input:function(){var t=this,r=t.options,i=t.element.addClass(g).show()[0],a=i.accessKey,o=t.wrapper.find(T+g),s;t.element.attr(`inputmode`,r.inputMode),s=o.first(),s.length<2&&(s=e(`<input type="text"/>`).attr(n.attr(`validate`),`false`).insertBefore(i));try{i.setAttribute(`type`,`text`)}catch{i.type=`text`}s[0].title=i.title,s[0].tabIndex=i.tabIndex,s[0].style.cssText=i.style.cssText,s.prop(`placeholder`,r.placeholder),a&&(s.attr(`accesskey`,a),i.accessKey=``),t._text=s.addClass(i.className).attr({role:`spinbutton`,"aria-valuemin":r.min===P?r.min:r.min*r.factor,"aria-valuemax":r.max===P?r.max:r.max*r.factor,autocomplete:`off`})},_keydown:function(e){var t=this,n=e.keyCode;if(n===i.NUMPAD_DOT&&(t._numPadDot=!0),n==i.DOWN){t._step(-1);return}else if(n==i.UP){t._step(1);return}else if(n==i.ENTER){t._change(t.element.val());return}n!=i.TAB&&(t._typing=!0),t._cachedCaret=r(t.element)},_keyup:function(){this._removeInvalidState()},_inputHandler:function(){var e=this.element,t=e.val(),n=this.options.min,i=this._format(this.options.format),a=i[T],o=n!==null&&n>=0&&t.charAt(0)===`-`;this._numPadDot&&a!==T&&(t=t.replace(T,a),this.element.val(t),this._numPadDot=!1),this._isPasted&&this._parse(t)&&(t=this._parse(t).toString().replace(T,i[T])),this._numericRegex(i).test(t)&&!o?this._oldText=t:(this._blinkInvalidState(),this.element.val(this._oldText),this._cachedCaret&&=(r(e,this._cachedCaret[0]),null)),this._isPasted=!1},_blinkInvalidState:function(){var e=this;e._addInvalidState(),clearTimeout(e._invalidStateTimeout),e._invalidStateTimeout=setTimeout(e._removeInvalidState.bind(e),100)},_addInvalidState:function(){var e=this;e.wrapper.addClass(j),e._validationIcon.removeClass(`k-hidden`)},_removeInvalidState:function(){var e=this;e.wrapper.removeClass(j),e._validationIcon.addClass(`k-hidden`),e._invalidStateTimeout=null},_numericRegex:function(e){var t=this,n=e[T],r=t.options.decimals,i=`*`;return n===T&&(n=`\\`+n),r===P&&(r=e.decimals),r===0&&t.options.restrictDecimals?N:(t.options.restrictDecimals&&(i=`{0,`+r+`}`),(t._separator!==n||t._oldPrecision!==r)&&(t._separator=n,t._floatRegExp=RegExp(`^(-)?(((\\d+(`+n+`\\d`+i+`)?)|(`+n+`\\d`+i+`)))?$`),t._oldPrecision=r),t._floatRegExp)},_paste:function(e){var t=this,n=e.target,r=n.value,i=t._format(t.options.format);t._isPasted=!0,setTimeout(function(){var e=t._parse(n.value);e===P?t._update(r):(n.value=e.toString().replace(T,i[T]),(t._adjust(e)!==e||!t._numericRegex(i).test(n.value))&&(r=t._getFactorValue(n.value),t._update(r)))})},_option:function(e,n){var r=this,i=r.element,a=r.options;if(n===t)return a[e];n=r._parse(n),!(!n&&e===`step`)&&(a[e]=n,i.add(r._text).attr(`aria-value`+e,n),i.attr(e,n))},_spin:function(e,t){var n=this;t||=500,clearTimeout(n._spinning),n._spinning=setTimeout(function(){n._spin(e,50)},t),n._step(e)},_step:function(e){var t=this,n=t.element,r=t._value,i=t._parse(n.val())||0,a=t.options.decimals||2;l()!=n[0]&&t._focusin(),t.options.factor&&i&&(i/=t.options.factor),i=+(i+t.options.step*e).toFixed(a),i=t._adjust(i),t._update(i),t._typing=!1,r!==i&&t.trigger(_)},_toggleHover:function(t){e(t.currentTarget).toggleClass(C,t.type===`mouseenter`)},_toggleText:function(e){var t=this;t._text.toggle(e),e?t._text.removeAttr(`aria-hidden`):t._text.attr(`aria-hidden`,`true`),t.element.toggle(!e)},_parse:function(e,t){return d(e,this._culture(t),this.options.format)},_round:function(e,t){return(this.options.round?n._round:z)(e,t)},_update:function(e){var t=this,r=t.options,i=r.factor,a=r.format,o=r.decimals,s=t._culture(),c=t._format(a,s),l,u;o===P&&(o=c.decimals),e=t._parse(e,s),u=e!==P,u&&(e=parseFloat(t._round(e,o),10)),t._value=e=t._adjust(e),t._placeholder(n.toString(e,a,s)),u?(i&&(e=parseFloat(t._round(e*i,o),10)),e=e.toString(),e.indexOf(`e`)!==-1&&(e=t._round(+e,o)),l=e,e=e.replace(T,c[T])):(e=null,l=null),t.element.val(e),t._oldText=e,t.element.add(t._text).attr(`aria-valuenow`,l)},_placeholder:function(e){var t=this._text;t.val(e),t.attr(`title`,this.element.attr(`title`)||t.val())},_label:function(){var r=this,i=r.element,a=r.options,o=i.attr(`id`),s,c;a.label!==null&&(s=F(a.label)?a.label.floating:!1,c=F(a.label)?a.label.content:a.label,s&&(r._floatingLabelContainer=r.wrapper.wrap(`<span></span>`).parent(),r.floatingLabel=new n.ui.FloatingLabel(r._floatingLabelContainer,{widget:r})),n.isFunction(c)&&(c=c.call(r)),c||=``,o||(o=a.name+`_`+n.guid(),i.attr(`id`,o)),r._inputLabel=e(`<label class='`+(s?O:D)+`' for='`+o+`'>`+c+`</label>'`)[s?`insertAfter`:`insertBefore`](r.wrapper),r.element.attr(`disabled`)===t&&r.element.attr(`readonly`)===t&&r._inputLabel.on(`click`+v,r.focus.bind(r)))},_wrapper:function(){var e=this,t=e.element,n=t[0],r=t.parents(`.k-numerictextbox`);r.is(`span.k-numerictextbox`)||(r=t.hide().wrap(`<span/>`).parent()),r[0].style.cssText=n.style.cssText,n.style.width=``,e.wrapper=r.addClass(`k-numerictextbox k-input`).addClass(n.className).removeClass(`input-validation-error`).css(`display`,``)},_reset:function(){var t=this,n=t.element,r=n.attr(`form`),i=r?e(`#`+r):n.closest(`form`);i[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(n[0].value),t.max(t._initialOptions.max),t.min(t._initialOptions.min)})},t._form=i.on(`reset`,t._resetHandler))}});n.cssProperties.registerPrefix(`NumericTextBox`,`k-input-`),n.cssProperties.registerValues(`NumericTextBox`,[{prop:`rounded`,values:n.cssProperties.roundedValues.concat([[`full`,`full`]])}]);function R(e,t,n){var r=e===`increase`?`caret-alt-up`:`caret-alt-down`,i=e===`increase`?`increase`:`decrease`;return a.renderButton(`<button role="button" tabindex="-1" unselectable="on" class="k-spinner-`+i+`" aria-label="`+t+`" title="`+t+`"></button>`,I({},n,{icon:r,shape:null,rounded:null}))}function z(e,t){var n=parseFloat(e,10).toString().split(T);return n[1]&&=n[1].substring(0,t),n.join(T)}o.plugin(L)})(window.kendo.jQuery);var l=kendo;e.__meta__=c,e.default=l}); //# sourceMappingURL=kendo.numerictextbox.min.js.map