{"version":3,"file":"kendo.textarea.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotextarea","js","this","$","undefined$1","kendo","window","Widget","ui","isPlainObject","NS","CHANGE","DISABLED","READONLY","FOCUSED","STATEDISABLED","STATEREADONLY","ARIA_DISABLED","TextArea","extend","init","element","options","that","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","jQuery"],"sources":["kendo.textarea.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.floatinglabel.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.floatinglabel'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotextarea = global.kendotextarea || {}, global.kendotextarea.js = factory()));\n})(this, (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 if (overflow) {\n overflow = \"!\" + overflow;\n }\n\n action = action || \"addClass\";\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 var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}