{"version":3,"file":"kendo.textbox.min.js","names":["factory","define","amd","$","undefined$1","kendo","Widget","ui","isPlainObject","NS","CHANGE","DISABLED","READONLY","INPUT","FOCUSED","STATEDISABLED","NOCLICKCLASS","ARIA_DISABLED","TextBox","window","jQuery","extend","init","element","options","that","this","fn","call","value","val","readonly","Boolean","attr","enable","placeholder","_wrapper","_label","_editable","disable","addClass","notify","_applyCssClasses","events","name","label","rounded","size","fillMode","_value","floatingLabel","refresh","focus","destroy","off","style","width","removeClass","setOptions","_inputLabel","remove","_floatingLabelContainer","unwrap","deepExtend","wrapper","toggleClass","prop","on","_focusin","bind","_focusout","_change","floating","labelText","id","content","wrap","parent","FloatingLabel","widget","isFunction","guid","insertBefore","e","newValue","trigger","originalEvent","DOMElement","cssText","className","cssProperties","registerPrefix","registerValues","values","roundedValues","concat","plugin"],"sources":["kendo.textbox.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.floatinglabel'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"textbox\",\n name: \"TextBox\",\n category: \"web\",\n description: \"The TextBox widget enables you to style and provide a floating label functionality to input 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 = \".kendoTextBox\",\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 NOCLICKCLASS = \"k-no-click\",\n ARIA_DISABLED = \"aria-disabled\";\n\n var TextBox = 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 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\n that.element\n .addClass(INPUT)\n .attr(\"placeholder\", that.options.placeholder)\n .attr(\"autocomplete\", \"off\");\n\n kendo.notify(that);\n that._applyCssClasses();\n },\n\n events: [\n CHANGE\n ],\n\n options: {\n name: 'TextBox',\n value: '',\n readonly: false,\n enable: true,\n placeholder: '',\n label: null,\n rounded: \"medium\",\n size: \"medium\",\n fillMode: \"solid\"\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 if (that.floatingLabel) {\n that.floatingLabel.refresh();\n }\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 that.element[0].style.width = \"\";\n that.element.removeClass(INPUT);\n Widget.fn.destroy.call(that);\n },\n\n setOptions: function(options) {\n this.destroy();\n\n if (this._inputLabel) {\n this._inputLabel.remove();\n this._inputLabel = null;\n }\n\n if (this._floatingLabelContainer) {\n this.floatingLabel.destroy();\n this.floatingLabel = null;\n this.element.unwrap();\n this.element.unwrap();\n this._floatingLabelContainer = null;\n } else {\n this.element.unwrap();\n }\n\n kendo.deepExtend(this.options, options);\n this.init(this.element, this.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(NOCLICKCLASS);\n\n element.on(\"focusin\" + NS, that._focusin.bind(that));\n element.on(\"focusout\" + NS, that._focusout.bind(that));\n element.on(\"change\" + NS, that._change.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(NOCLICKCLASS, 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 });\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\n that.wrapper.removeClass(FOCUSED);\n },\n\n _change: function(e) {\n var that = this;\n var newValue = that.element.val();\n\n that._value = newValue;\n\n that.trigger(CHANGE, { value: newValue, originalEvent: e });\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 that.wrapper = wrapper.addClass(DOMElement.className).removeClass('input-validation-error');\n }\n });\n\n kendo.cssProperties.registerPrefix(\"TextBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"TextBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n ui.plugin(TextBox);\n })(window.kendo.jQuery);\n\n}));\n"]}