@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 5.74 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("kendo.core.js"),require("kendo.floatinglabel.js"),require("kendo.icons.js"),require("kendo.prefix-suffix-containers.chunk.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.floatinglabel.min","kendo.icons.min","kendo.prefix-suffix-containers.chunk.min"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Textbox={}),e.kendo._globals.Core,e.kendo._globals.Floatinglabel,e.kendo._globals.Icons,e.kendo._globals.PrefixSuffixContainersChunk)}(this,(function(e,n,t,l,a){!function(e,n){var t=window.kendo,l=t.ui.Widget,o=t.ui,i=e.isPlainObject,s=".kendoTextBox",r="change",d="disabled",u="readonly",p="k-input-inner",c="input",f="k-focus",b="k-disabled",h="k-readonly",_="k-hidden",g="aria-disabled",m=l.extend({init:function(o,i){var r=this;l.fn.init.call(r,o,i),i=e.extend(!0,{},i),r.options.value=i.value||r.element.val(),r.options.readonly=i.readonly!==n?i.readonly:Boolean(r.element.attr("readonly")),r.options.enable=i.enable!==n?i.enable:!Boolean(r.element.attr("disabled")),r.options.placeholder=i.placeholder||r.element.attr("placeholder"),r.options.inputMode=i.inputMode||r.element.attr("inputmode")||"text",r.value(r.options.value),r._wrapper(),r._label(),r._editable({readonly:r.options.readonly,disable:!r.options.enable}),r.element.addClass(p).attr("placeholder",r.options.placeholder).attr("inputmode",r.options.inputMode).attr("autocomplete","off"),i.icon&&r._icon(),a.a({widget:r,wrapper:r.wrapper,options:r.options}),r._clearButton(),r._clear&&r._clear.on("click"+s+" touchend"+s,r._clearValue.bind(r)),t.notify(r),r._applyCssClasses(),r.floatingLabel&&r.floatingLabel.refresh()},events:[r,c],options:{name:"TextBox",value:"",readonly:!1,clearButton:!1,enable:!0,placeholder:"",label:null,rounded:"medium",size:"medium",fillMode:"solid",icon:null,prefixOptions:{separator:!0},suffixOptions:{separator:!0}},value:function(e){var t=this;if(e===n)return t._value;t._value=e,t.element.val(e),e?t._showClear():t._hideClear(),t.floatingLabel&&t.floatingLabel.refresh()},readonly:function(e){this._editable({readonly:e===n||e,disable:!1}),this.floatingLabel&&this.floatingLabel.readonly(e===n||e)},enable:function(e){this._editable({readonly:!1,disable:!(e=e===n||e)}),this.floatingLabel&&this.floatingLabel.enable(e=e===n||e)},focus:function(){this.element[0].focus()},destroy:function(){var e=this;e.floatingLabel&&e.floatingLabel.destroy(),e._clear&&(e._clear.off(s),e._clear=null),e.element.off(s),e.element[0].style.width="",e.element.removeClass(p),l.fn.destroy.call(e)},setOptions:function(e){this.destroy(),this._inputLabel&&(this._inputLabel.remove(),this._inputLabel=null),this._floatingLabelContainer?(this.floatingLabel.destroy(),this.floatingLabel=null,this.element.unwrap(),this.element.unwrap(),this._floatingLabelContainer=null):this.element.unwrap(),t.deepExtend(this.options,e),this.init(this.element,this.options)},_clearValue:function(e){this.element.val(""),this.element.focus(),this.element.trigger(r,{value:"",originalEvent:e}),this._hideClear()},_hideClear:function(){this._clear&&this._clear.addClass(_)},_showClear:function(){this._clear&&this._clear.removeClass(_)},_clearButton:function(){let n=this;n._clear||(n._clear=e(`<span unselectable="on" class="k-clear-value" title="Clear">${t.ui.icon("x")}</span>`).attr({role:"button",tabIndex:-1}),n._clear.appendTo(n.wrapper)),n.options.clearButton||n._clear.remove(),n.element.val()||n._hideClear()},_editable:function(e){var n=this,t=n.element,l=n.wrapper,a=e.disable,o=e.readonly;t.off(s),o||a?(t.attr(d,a).attr(u,o).attr(g,a),l.toggleClass(b,a).toggleClass(h,o)):(t.prop(d,!1).prop(u,!1).attr(g,!1),l.removeClass(b).removeClass(h),t.on("focusin"+s,n._focusin.bind(n)),t.on("focusout"+s,n._focusout.bind(n)),t.on(r+s,n._change.bind(n)),t.on(c+s,n._input.bind(n)))},_icon:function(){this.wrapper.prepend(t.ui.icon({icon:this.options.icon,iconClass:"k-input-icon"}))},_input:function(e){var n=this.element.val();this.trigger(c,{value:n,originalEvent:e})},_label:function(){var n,l,a=this,o=a.element,s=a.options,r=o.attr("id");null!==s.label&&(n=!!i(s.label)&&s.label.floating,l=i(s.label)?s.label.content:s.label,n&&(a._floatingLabelContainer=a.wrapper.wrap("<span></span>").parent(),a.floatingLabel=new t.ui.FloatingLabel(a._floatingLabelContainer,{widget:a})),t.isFunction(l)&&(l=l.call(a)),l||(l=""),r||(r=s.name+"_"+t.guid(),o.attr("id",r)),a._inputLabel=e("<label class='"+(n?"k-floating-label":"k-label k-input-label")+"' for='"+r+"'>"+l+"</label>'")[n?"insertAfter":"insertBefore"](a.wrapper))},_focusin:function(){this.wrapper.addClass(f)},_focusout:function(){this.wrapper.removeClass(f)},_change:function(e){var n=this,t=n.element.val();n._value=t,n.trigger(r,{value:t,originalEvent:e}),t?n._showClear():n._hideClear()},_wrapper:function(){var e,n=this.element,t=n[0];(e=n.wrap("<span class='k-input k-textbox'></span>").parent())[0].style.cssText=t.style.cssText,t.style.width="100%",this.wrapper=e.addClass(t.className).removeClass("input-validation-error")}});t.cssProperties.registerPrefix("TextBox","k-input-"),t.cssProperties.registerValues("TextBox",[{prop:"rounded",values:t.cssProperties.roundedValues.concat([["full","full"]])}]),o.plugin(m)}(window.kendo.jQuery);var o=kendo;e.__meta__={id:"textbox",name:"TextBox",category:"web",description:"The TextBox widget enables you to style and provide a floating label functionality to input elements",depends:["core","floatinglabel","icons","prefix-suffix-containers.chunk"]},e.default=o,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.textbox.min.js.map