{"version":3,"file":"kendo.textarea.min.js","names":["factory","define","amd","$","undefined$1","kendo","Widget","ui","isPlainObject","NS","CHANGE","DISABLED","READONLY","FOCUSED","STATEDISABLED","STATEREADONLY","ARIA_DISABLED","TextArea","window","jQuery","extend","init","element","options","that","this","fn","call","value","val","readonly","Boolean","attr","enable","placeholder","replace","length","_wrapper","_label","_editable","disable","_applyAttributes","_applyCssClasses","addClass","css","resizable","notify","events","attributes","name","label","maxLength","cols","rows","rounded","size","fillMode","resize","overflow","action","cssProperties","getValidClass","widget","propName","wrapper","property","_value","floatingLabel","focus","destroy","off","setOptions","toggleClass","prop","removeClass","on","_focusin","bind","_focusout","floating","labelText","id","content","_floatingLabelContainer","wrap","parent","FloatingLabel","useReadOnlyClass","isFunction","guid","_inputLabel","insertBefore","newValue","trigger","DOMElement","style","cssText","width","className","registerPrefix","registerValues","values","roundedValues","concat","plugin"],"sources":["kendo.textarea.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,2BAA4BD,GACnGA,IAFJ,EAGG,WACC,IAQUG,EAAGC,EACLC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAC,EAEAC,EACAC,EACAC,EAGAC,EAjBEd,EAmSPe,OAAOb,MAAMc,OAlSRd,EAAQa,OAAOb,MACfC,EAASD,EAAME,GAAGD,OAClBC,EAAKF,EAAME,GACXC,EAAgBL,EAAEK,cAClBC,EAAK,iBACLC,EAAS,SACTC,EAAW,WACXC,EAAW,WAEXC,EAAU,UAEVC,EAAgB,aAChBC,EAAgB,aAChBC,EAAgB,gBAGhBC,EAAWX,EAAOc,OAAO,CACzBC,KAAM,SAASC,EAASC,GACpB,IAAIC,EAAOC,KAEXnB,EAAOoB,GAAGL,KAAKM,KAAKH,EAAMF,EAASC,GACnCA,EAAUpB,EAAEiB,QAAO,EAAM,GAAIG,GAE7BC,EAAKD,QAAQK,MAAQL,EAAQK,OAASJ,EAAKF,QAAQO,MACnDL,EAAKD,QAAQO,SAAWP,EAAQO,WAAa1B,EAAcmB,EAAQO,SAAWC,QAAQP,EAAKF,QAAQU,KAAK,aACxGR,EAAKD,QAAQU,OAASV,EAAQU,SAAW7B,EAAcmB,EAAQU,QAAWF,QAAQP,EAAKF,QAAQU,KAAK,aACpGR,EAAKD,QAAQW,YAAcX,EAAQW,aAAeV,EAAKF,QAAQU,KAAK,eAE/DR,EAAKD,QAAQK,MAAMO,QAAQ,MAAO,IAAIC,SACvCZ,EAAKD,QAAQK,MAAQ,GACrBJ,EAAKF,QAAQO,IAAI,KAGrBL,EAAKI,MAAMJ,EAAKD,QAAQK,OACxBJ,EAAKa,WACLb,EAAKc,SACLd,EAAKe,UAAU,CACXT,SAAUN,EAAKD,QAAQO,SACvBU,SAAWhB,EAAKD,QAAc,SAElCC,EAAKiB,mBACLjB,EAAKkB,mBACLlB,EAAKF,QACAqB,SAnCD,iBAoCCC,IAAI,SAAUpB,EAAKD,QAAQsB,WAC3Bb,KAAK,eAAgB,OAE1B3B,EAAMyC,OAAOtB,IAGjBuB,OAAQ,CACJrC,GAGJsC,WAAY,CACR,YACA,OACA,eAGJzB,QAAS,CACL0B,KAAM,WACNrB,MAAO,GACPE,UAAU,EACVG,QAAQ,EACRC,YAAa,GACbgB,MAAO,KACPL,UAAW,OACXM,UAAW,KACXC,KAAM,GACNC,KAAM,EACNC,QAAS,SACTC,KAAM,SACNC,SAAU,QACVC,OAAQ,OACRC,SAAU,QAGdhB,iBAAkB,SAASiB,GACvB,IAAInC,EAAOC,KACPF,EAAUC,EAAKD,QACfkC,EAASpD,EAAMuD,cAAcC,cAAc,CACvCC,OAAQvC,EAAQ0B,KAChBc,SAAU,SACVnC,MAAOL,EAAQkC,SAEnBC,EAAWrD,EAAMuD,cAAcC,cAAc,CACzCC,OAAQvC,EAAQ0B,KAChBc,SAAU,WACVnC,MAAOL,EAAQmC,WAGvBpD,EAAOoB,GAAGgB,iBAAiBf,KAAKH,GAE3BiC,GAA6B,SAAnBlC,EAAQkC,SACnBA,EAAS,iBAGbE,EAASA,GAAU,WAEM,SAArBpC,EAAQmC,WACRA,EAAW,sBAGflC,EAAKwC,QAAQL,GAAQF,GACrBjC,EAAKF,QAAQqC,GAAQD,IAGzBjB,iBAAkB,WACd,IACIwB,EADAzC,EAAOC,KAEPuB,EAAa,GAEjB,IAAKiB,KAAYzC,EAAKwB,WAClBA,EAAWxB,EAAKwB,WAAWiB,IAAazC,EAAKD,QAAQC,EAAKwB,WAAWiB,IAGzEzC,EAAKF,QAAQU,KAAKgB,IAGtBpB,MAAO,SAASA,GACZ,IAAIJ,EAAOC,KAEX,GAAIG,IAAUxB,EACV,OAAOoB,EAAK0C,OAGhB1C,EAAK0C,OAAStC,EACdJ,EAAKF,QAAQO,IAAID,IAGrBE,SAAU,SAASA,GAGfL,KAAKc,UAAU,CACXT,SAAUA,IAAa1B,GAAqB0B,EAC5CU,SAAS,IAJFf,KAOF0C,eAPE1C,KAQF0C,cAAcrC,SAASA,IAAa1B,GAAqB0B,IAItEG,OAAQ,SAASA,GAGbR,KAAKc,UAAU,CACXT,UAAU,EACVU,UAAWP,EAASA,IAAW7B,GAAqB6B,KAJ7CR,KAOF0C,eAPE1C,KAQF0C,cAAclC,OAAOA,EAASA,IAAW7B,GAAqB6B,IAI3EmC,MAAO,WACQ3C,KAENH,QAAQ,GAAG8C,SAGpBC,QAAS,WACL,IAAI7C,EAAOC,KAEPD,EAAK2C,eACL3C,EAAK2C,cAAcE,UAGvB7C,EAAKF,QAAQgD,IAAI7D,GACjBH,EAAOoB,GAAG2C,QAAQ1C,KAAKH,IAG3B+C,WAAY,SAAShD,GACNE,KACNiB,iBAAiB,eACtBpC,EAAOoB,GAAG6C,WAAW5C,KAFVF,KAEqBF,IAGpCgB,UAAW,SAAShB,GAChB,IAAIC,EAAOC,KACPH,EAAUE,EAAKF,QACf0C,EAAUxC,EAAKwC,QACfxB,EAAUjB,EAAQiB,QAClBV,EAAWP,EAAQO,SAEvBR,EAAQgD,IAAI7D,GAEPqB,GAAaU,GAWdlB,EAAQU,KAAKrB,EAAU6B,GACfR,KAAKpB,EAAUkB,GACfE,KAAKhB,EAAewB,GAE5BwB,EAAQQ,YAAY1D,EAAe0B,GAC1BgC,YAAYzD,EAAee,KAfpCR,EAAQmD,KAAK9D,GAAU,GACf8D,KAAK7D,GAAU,GACfoB,KAAKhB,GAAe,GAE5BgD,EAAQU,YAAY5D,GACX4D,YAAY3D,GAErBO,EAAQqD,GAAG,UAAYlE,EAAIe,EAAKoD,SAASC,KAAKrD,IAC9CF,EAAQqD,GAAG,WAAalE,EAAIe,EAAKsD,UAAUD,KAAKrD,MAWxDc,OAAQ,WACJ,IAIIyC,EACAC,EALAxD,EAAOC,KACPH,EAAUE,EAAKF,QACfC,EAAUC,EAAKD,QACf0D,EAAK3D,EAAQU,KAAK,MAIA,OAAlBT,EAAQ2B,QACR6B,IAAWvE,EAAce,EAAQ2B,QAAS3B,EAAQ2B,MAAM6B,SACxDC,EAAYxE,EAAce,EAAQ2B,OAAS3B,EAAQ2B,MAAMgC,QAAU3D,EAAQ2B,MAEvE6B,IACAvD,EAAK2D,wBAA0B3D,EAAKwC,QAAQoB,KAAK,iBAAiBC,SAClE7D,EAAK2C,cAAgB,IAAI9D,EAAME,GAAG+E,cAAc9D,EAAK2D,wBAAyB,CAAErB,OAAQtC,EAAM+D,kBAAkB,IAChH/D,EAAK2D,wBAAwBxC,SAlNrB,yBAqNRtC,EAAMmF,WAAWR,KACjBA,EAAYA,EAAUrD,KAAKH,IAG1BwD,IACDA,EAAY,IAGXC,IACDA,EAAK1D,EAAQ0B,KAAO,IAAM5C,EAAMoF,OAChCnE,EAAQU,KAAK,KAAMiD,IAGvBzD,EAAKkE,YAAcvF,EAAE,6CAA8C8E,EAAK,KAAOD,EAAY,aAAaW,aAAanE,EAAKwC,WAIlIY,SAAU,WACKnD,KAENuC,QAAQrB,SAAS9B,IAG1BiE,UAAW,WACP,IAAItD,EAAOC,KACPG,EAAQJ,EAAK0C,OACb0B,EAAWpE,EAAKF,QAAQO,MAE5BL,EAAKwC,QAAQU,YAAY7D,GAEX,OAAVe,IACAA,EAAQ,IAGRA,IAAUgE,IACVpE,EAAK0C,OAAS0B,EAEdpE,EAAKqE,QAAQnF,KAIrB2B,SAAU,WACN,IAGI2B,EAFA1C,EADOG,KACQH,QACfwE,EAAaxE,EAAQ,IAGzB0C,EAAU1C,EAAQ8D,KAAK,4CAA4CC,UAC3D,GAAGU,MAAMC,QAAUF,EAAWC,MAAMC,QAC5CF,EAAWC,MAAME,MAAQ,OAPdxE,KASNuC,QAAUA,EAAQrB,SAASmD,EAAWI,WAAWxB,YAAY,6BAI1ErE,EAAMuD,cAAcuC,eAAe,WAAY,YAE/C9F,EAAMuD,cAAcwC,eAAe,WAAY,CAAC,CAC5C3B,KAAM,UACN4B,OAAQhG,EAAMuD,cAAc0C,cAAcC,OAAO,CAAC,CAAC,OAAQ,aAG/DhG,EAAGiG,OAAOvF","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.floatinglabel'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"textarea\",\n name: \"TextArea\",\n category: \"web\",\n 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\",\n depends: [\"core\", \"floatinglabel\"]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n ui = kendo.ui,\n isPlainObject = $.isPlainObject,\n NS = \".kendoTextArea\",\n CHANGE = \"change\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n INPUT = \"k-input-inner\",\n FOCUSED = \"k-focus\",\n LABELCLASSES = \"k-label k-input-label\",\n STATEDISABLED = \"k-disabled\",\n STATEREADONLY = \"k-readonly\",\n ARIA_DISABLED = \"aria-disabled\",\n TEXTAREACONTAINER = \"k-textarea-container\";\n\n var TextArea = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n\n that.options.value = options.value || that.element.val();\n that.options.readonly = options.readonly !== undefined$1 ? options.readonly : Boolean(that.element.attr(\"readonly\"));\n that.options.enable = options.enable !== undefined$1 ? options.enable : !(Boolean(that.element.attr(\"disabled\")));\n that.options.placeholder = options.placeholder || that.element.attr(\"placeholder\");\n\n if (!that.options.value.replace(/\\s/g, '').length) {\n that.options.value = '';\n that.element.val('');\n }\n\n that.value(that.options.value);\n that._wrapper();\n that._label();\n that._editable({\n readonly: that.options.readonly,\n disable: !(that.options.enable)\n });\n that._applyAttributes();\n that._applyCssClasses();\n that.element\n .addClass(INPUT)\n .css(\"resize\", that.options.resizable)\n .attr(\"autocomplete\", \"off\");\n\n kendo.notify(that);\n },\n\n events: [\n CHANGE\n ],\n\n attributes: [\n \"maxLength\",\n \"rows\",\n \"placeholder\"\n ],\n\n options: {\n name: 'TextArea',\n value: '',\n readonly: false,\n enable: true,\n placeholder: '',\n label: null,\n resizable: \"none\",\n maxLength: null,\n cols: 20,\n rows: 1,\n rounded: \"medium\",\n size: \"medium\",\n fillMode: \"solid\",\n resize: \"none\",\n overflow: \"auto\"\n },\n\n _applyCssClasses: function(action) {\n var that = this,\n options = that.options,\n resize = kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: \"resize\",\n value: options.resize\n }),\n overflow = kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: \"overflow\",\n value: options.overflow\n });\n\n Widget.fn._applyCssClasses.call(that);\n\n if (!resize && options.resize === \"none\") {\n resize = \"k-resize-none\";\n }\n\n action = action || \"addClass\";\n\n if (options.overflow === \"auto\") {\n overflow = \"!k-overflow-y-auto\";\n }\n\n that.wrapper[action](resize);\n that.element[action](overflow);\n },\n\n _applyAttributes: function() {\n var that = this;\n var property;\n var attributes = {};\n\n for (property in that.attributes) {\n attributes[that.attributes[property]] = that.options[that.attributes[property]];\n }\n\n that.element.attr(attributes);\n },\n\n value: function(value) {\n var that = this;\n\n if (value === undefined$1) {\n return that._value;\n }\n\n that._value = value;\n that.element.val(value);\n },\n\n readonly: function(readonly) {\n var that = this;\n\n this._editable({\n readonly: readonly === undefined$1 ? true : readonly,\n disable: false\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined$1 ? true : readonly);\n }\n },\n\n enable: function(enable) {\n var that = this;\n\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined$1 ? true : enable)\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined$1 ? true : enable);\n }\n },\n\n focus: function() {\n var that = this;\n\n that.element[0].focus();\n },\n\n destroy: function() {\n var that = this;\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n\n that.element.off(NS);\n Widget.fn.destroy.call(that);\n },\n\n setOptions: function(options) {\n var that = this;\n that._applyCssClasses(\"removeClass\");\n Widget.fn.setOptions.call(that, options);\n },\n\n _editable: function(options) {\n var that = this;\n var element = that.element;\n var wrapper = that.wrapper;\n var disable = options.disable;\n var readonly = options.readonly;\n\n element.off(NS);\n\n if (!readonly && !disable) {\n element.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false);\n\n wrapper.removeClass(STATEDISABLED)\n .removeClass(STATEREADONLY);\n\n element.on(\"focusin\" + NS, that._focusin.bind(that));\n element.on(\"focusout\" + NS, that._focusout.bind(that));\n } else {\n element.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable);\n\n wrapper.toggleClass(STATEDISABLED, disable)\n .toggleClass(STATEREADONLY, readonly);\n }\n },\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\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\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap(\"\").parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that, useReadOnlyClass: true });\n that._floatingLabelContainer.addClass(TEXTAREACONTAINER);\n }\n\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n\n if (!labelText) {\n labelText = \"\";\n }\n\n if (!id) {\n id = options.name + \"_\" + kendo.guid();\n element.attr(\"id\", id);\n }\n\n that._inputLabel = $(\"'\").insertBefore(that.wrapper);\n }\n },\n\n _focusin: function() {\n var that = this;\n\n that.wrapper.addClass(FOCUSED);\n },\n\n _focusout: function() {\n var that = this;\n var value = that._value;\n var newValue = that.element.val();\n\n that.wrapper.removeClass(FOCUSED);\n\n if (value === null) {\n value = \"\";\n }\n\n if (value !== newValue) {\n that._value = newValue;\n\n that.trigger(CHANGE);\n }\n },\n\n _wrapper: function() {\n var that = this;\n var element = that.element;\n var DOMElement = element[0];\n var wrapper;\n\n wrapper = element.wrap(\"\").parent();\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = \"100%\";\n\n that.wrapper = wrapper.addClass(DOMElement.className).removeClass('input-validation-error');\n }\n });\n\n kendo.cssProperties.registerPrefix(\"TextArea\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"TextArea\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n ui.plugin(TextArea);\n })(window.kendo.jQuery);\n\n}));\n"]}