UNPKG

@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.44 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.core.js"),require("kendo.floatinglabel.js"),require("kendo.prefix-suffix-containers.chunk.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.floatinglabel","kendo.prefix-suffix-containers.chunk"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Textarea={}),e.kendo._globals.Core,e.kendo._globals.Floatinglabel,e.kendo._globals.PrefixSuffixContainersChunk)}(this,(function(e,t,a,l){!function(e,t){var a=window.kendo,n=a.ui.Widget,o=a.ui,i=e.isPlainObject,s=".kendoTextArea",r="change",p="disabled",d="readonly",u="k-focus",f="k-disabled",b="k-readonly",c="aria-disabled",g=n.extend({init:function(o,i){var s=this;n.fn.init.call(s,o,i),i=e.extend(!0,{},i),s.options.value=i.value||s.element.val(),s.options.readonly=i.readonly!==t?i.readonly:Boolean(s.element.attr("readonly")),s.options.enable=i.enable!==t?i.enable:!Boolean(s.element.attr("disabled")),s.options.placeholder=i.placeholder||s.element.attr("placeholder"),s.options.maxLength=i.maxLength||s.element.attr("maxlength"),s.options.inputMode=i.inputMode||s.element.attr("inputmode")||"text",s.options.value.replace(/\s/g,"").length||(s.options.value="",s.element.val("")),s.value(s.options.value),s._wrapper(),s._label(),s._editable({readonly:s.options.readonly,disable:!s.options.enable}),s._applyAttributes(),s._applyCssClasses(),s.element.attr("autocomplete","off"),s.element.attr("inputmode",s.options.inputMode),l.a({widget:s,wrapper:s.wrapper,options:s.options}),s.floatingLabel&&s.floatingLabel.refresh(),a.notify(s)},events:[r],attributes:["maxLength","rows","placeholder"],options:{name:"TextArea",value:"",readonly:!1,enable:!0,placeholder:"",label:null,resizable:"none",maxLength:null,cols:20,rows:1,rounded:"medium",size:"medium",fillMode:"solid",resize:"none",overflow:"auto",layoutFlow:"vertical",prefixOptions:{separator:!0},suffixOptions:{separator:!0}},_applyCssClasses:function(e){var t=this,l=t.options,o=a.cssProperties.getValidClass({widget:l.name,propName:"resize",value:l.resize}),i=a.cssProperties.getValidClass({widget:l.name,propName:"overflow",value:l.overflow}),s=a.cssProperties.getValidClass({widget:l.name,propName:"layoutFlow",value:l.layoutFlow});n.fn._applyCssClasses.call(t),o||"none"!==l.resize||(o="k-resize-none"),i&&(i="!"+i),e=e||"addClass",t.element[e](o),t.element[e](i),t.element[e]("k-input-inner"),t.wrapper[e](s),"vertical"==l.layoutFlow&&t.element[e]("!k-flex-none")},_applyAttributes:function(){var e,t=this,a={};for(e in t.attributes)a[t.attributes[e]]=t.options[t.attributes[e]];t.element.attr(a)},value:function(e){var a=this;if(e===t)return a._value;a._value=e,a.element.val(e)},readonly:function(e){this._editable({readonly:e===t||e,disable:!1}),this.floatingLabel&&this.floatingLabel.readonly(e===t||e)},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)}),this.floatingLabel&&this.floatingLabel.enable(e=e===t||e)},focus:function(){this.element[0].focus()},destroy:function(){var e=this;e._applyCssClasses("removeClass"),e.floatingLabel&&e.floatingLabel.destroy(),e._inputLabel&&(e._inputLabel.remove(),e._inputLabel=null),e.element[0].style.cssText=e.wrapper[0].style.cssText,e.element.off(s),e.element.unwrap(),e.wrapper=null,n.fn.destroy.call(e)},setOptions:function(e){var t=this;t.destroy(),t.init(t.element,e)},_editable:function(e){var t=this,a=t.element,l=t.wrapper,n=e.disable,o=e.readonly;a.off(s),o||n?(a.attr(p,n).attr(d,o).attr(c,n),l.toggleClass(f,n).toggleClass(b,o)):(a.prop(p,!1).prop(d,!1).attr(c,!1),l.removeClass(f).removeClass(b),a.on("focusin"+s,t._focusin.bind(t)),a.on("focusout"+s,t._focusout.bind(t)))},_label:function(){var t,l,n=this,o=n.element,s=n.options,r=o.attr("id");null!==s.label&&(t=!!i(s.label)&&s.label.floating,l=i(s.label)?s.label.content:s.label,t&&(n._floatingLabelContainer=n.wrapper.wrap("<span></span>").parent(),n.floatingLabel=new a.ui.FloatingLabel(n._floatingLabelContainer,{widget:n}),n._floatingLabelContainer.addClass("k-textarea-container")),a.isFunction(l)&&(l=l.call(n)),l||(l=""),r||(r=s.name+"_"+a.guid(),o.attr("id",r)),n._inputLabel=e("<label class='"+(t?"k-floating-label":"k-label k-input-label")+"' for='"+r+"'>"+l+"</label>'")[t?"insertAfter":"insertBefore"](n.wrapper))},_focusin:function(){this.wrapper.addClass(u)},_focusout:function(){var e=this,t=e._value,a=e.element.val();e.wrapper.removeClass(u),null===t&&(t=""),t!==a&&(e._value=a,e.trigger(r))},_wrapper:function(){var e,t=this.element,a=t[0];(e=t.wrap("<span class='k-input k-textarea'></span>").parent())[0].style.cssText=a.style.cssText,a.style.width="",this.wrapper=e.addClass(a.className).removeClass("input-validation-error")}});a.cssProperties.registerPrefix("TextArea","k-input-"),a.cssProperties.registerValues("TextArea",[{prop:"rounded",values:a.cssProperties.roundedValues.concat([["full","full"]])}]),o.plugin(g)}(window.kendo.jQuery);var n=kendo;e.__meta__={id:"textarea",name:"TextArea",category:"web",description:"The TextArea widget represents a multi-line plain-text editing control which enables you to style and provide a floating label functionality to textarea elements",depends:["core","floatinglabel","prefix-suffix-containers.chunk"]},e.default=n,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.textarea.min.js.map