{"version":3,"file":"kendo.label.min.js","names":["factory","define","amd","kendo","window","$","jQuery","Widget","ui","isFunction","Label","extend","options","name","widget","init","element","that","this","fn","call","floating","_floatingLabel","_label","destroy","floatingLabel","_unwrapFloating","wrapper","unwrap","_floatingLabelContainer","setOptions","removeFloating","isPlainObject","content","remove","refresh","id","attr","labelText","guid","addClass","text","insertBefore","beforeElm","wrap","parent","FloatingLabel","plugin"],"sources":["kendo.label.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,2BAA4BD,GACnGA,IAFJ,EAGG,WACC,IASIG,EAAQC,OAAOD,MACfE,EAAIF,EAAMG,OAEVC,EADKJ,EAAMK,GACCD,OACZE,EAAaN,EAAMM,WAInBC,EAAQH,EAAOI,OAAO,CACtBC,QAAS,CACLC,KAAM,QACNC,OAAQ,MAGZC,KAAM,SAASC,EAASJ,GACpB,IAAIK,EAAOC,KAEXF,EAAUA,GAAWX,EAAE,mBAEvBE,EAAOY,GAAGJ,KAAKK,KAAKH,EAAMD,EAASJ,GACnCA,EAAUP,EAAEM,QAAO,EAAM,GAAIC,GAE7BK,EAAKH,OAASF,EAAQE,OAElBF,EAAQS,UACRJ,EAAKK,iBAGTL,EAAKM,UAGTC,QAAS,WACDN,KAAKO,eACLP,KAAKO,cAAcD,UAEvBjB,EAAOY,GAAGK,QAAQJ,KAAKF,OAG3BQ,gBAAiB,WACb,IAAIT,EAAOC,KAEPD,EAAKQ,gBACLR,EAAKQ,cAAcD,UACnBP,EAAKH,OAAOa,QAAQC,OAAOX,EAAKY,2BAIxCC,WAAY,SAASlB,GACjB,IAAIK,EAAOC,KACPa,GAAiB,GAEG,iBAAd,GAA2B1B,EAAE2B,cAAcpB,KAAiC,IAArBA,EAAQS,YACrEU,GAAiB,GAGrBnB,EAAUP,EAAE2B,cAAcpB,GAAWA,EAAU,CAAEqB,QAASrB,GAE1DL,EAAOY,GAAGW,WAAWV,KAAKH,EAAML,GAE5BmB,GAAkBd,EAAKQ,eACvBR,EAAKS,kBACLT,EAAKQ,cAAcD,iBACZP,EAAKQ,gBACgB,IAArBb,EAAQS,UAAsBJ,EAAKQ,gBAC1CR,EAAKD,QAAQkB,SACbjB,EAAKK,kBAGTL,EAAKM,SAEDN,EAAKQ,eACLR,EAAKQ,cAAcU,WAI3BZ,OAAQ,WACJ,IAAIN,EAAOC,KACPF,EAAUC,EAAKH,OAAOE,QACtBJ,EAAUK,EAAKL,QACfwB,EAAKpB,EAAQqB,KAAK,MAClBC,EAAY1B,EAAQqB,QAEpBxB,EAAW6B,KACXA,EAAYA,EAAUlB,KAAKH,IAG1BqB,IACDA,EAAY,IAGXF,IACDA,EAAKxB,EAAQC,KAAO,IAAMV,EAAMoC,OAChCvB,EAAQqB,KAAK,KAAMD,IAGvBnB,EAAKD,QAAQwB,SAzFF,yBA0FNH,KAAK,MAAOD,GACZK,KAAKH,GACLI,aAAazB,EAAKL,QAAQ+B,WAAa1B,EAAKH,OAAOa,UAG5DL,eAAgB,WACZ,IAAIL,EAAOC,KACPN,EAAUP,EAAEM,OAAO,GAAIM,EAAKL,gBAGzBA,EAAQC,MAEJD,EAAQS,WAAY,KAG3BJ,EAAKY,wBAA0BZ,EAAKH,OAAOa,QAAQiB,KAAK,iBAAiBC,SACzE5B,EAAKQ,cAAgB,IAAItB,EAAMK,GAAGsC,cAAc7B,EAAKY,wBAAyBxB,EAAEM,OAAO,GAAIC,QAKvGT,EAAMK,GAAGuC,OAAOrC","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.floatinglabel'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: 'label',\n name: 'Label',\n category: 'framework',\n description: 'Abstraction of label rendering for inputs',\n depends: ['core', 'floatinglabel'],\n hidden: true\n };\n\n var kendo = window.kendo;\n var $ = kendo.jQuery;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var isFunction = kendo.isFunction;\n\n var LABELCLASSES = \"k-label k-input-label\";\n\n var Label = Widget.extend({\n options: {\n name: \"Label\",\n widget: null\n },\n\n init: function(element, options) {\n var that = this;\n\n element = element || $(\"\");\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n\n that.widget = options.widget;\n\n if (options.floating) {\n that._floatingLabel();\n }\n\n that._label();\n },\n\n destroy: function() {\n if (this.floatingLabel) {\n this.floatingLabel.destroy();\n }\n Widget.fn.destroy.call(this);\n },\n\n _unwrapFloating: function() {\n var that = this;\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n that.widget.wrapper.unwrap(that._floatingLabelContainer);\n }\n },\n\n setOptions: function(options) {\n var that = this;\n var removeFloating = false;\n\n if (typeof(options) === 'string' || ($.isPlainObject(options) && options.floating === false )) {\n removeFloating = true;\n }\n\n options = $.isPlainObject(options) ? options : { content: options };\n\n Widget.fn.setOptions.call(that, options);\n\n if (removeFloating && that.floatingLabel) {\n that._unwrapFloating();\n that.floatingLabel.destroy();\n delete that.floatingLabel;\n } else if (options.floating === true && !that.floatingLabel) {\n that.element.remove();\n that._floatingLabel();\n }\n\n that._label();\n\n if (that.floatingLabel) {\n that.floatingLabel.refresh();\n }\n },\n\n _label: function() {\n var that = this;\n var element = that.widget.element;\n var options = that.options;\n var id = element.attr(\"id\");\n var labelText = options.content;\n\n if (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.element.addClass(LABELCLASSES)\n .attr(\"for\", id)\n .text(labelText)\n .insertBefore(that.options.beforeElm || that.widget.wrapper);\n },\n\n _floatingLabel: function() {\n var that = this;\n var options = $.extend({}, that.options);\n var floating;\n\n delete options.name;\n\n floating = options.floating || false;\n\n if (floating) {\n that._floatingLabelContainer = that.widget.wrapper.wrap(\"\").parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, $.extend({}, options));\n }\n }\n });\n\n kendo.ui.plugin(Label);\n\n}));\n"]}