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