{"version":3,"file":"kendo.label.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendolabel","js","this","kendo","window","$","jQuery","Widget","ui","isFunction","Label","extend","options","name","widget","init","element","that","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,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQG,QAAQ,iBAAkBA,QAAQ,2BACxG,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,2BAA4BJ,KAClGD,EAA+B,oBAAfO,WAA6BA,WAAaP,GAAUQ,MAAcC,WAAaT,EAAOS,YAAc,CAAC,EAAGT,EAAOS,WAAWC,GAAKT,IACnJ,CAJD,CAIGU,MAAM,WACL,IASIC,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,EAAOf,KAEXc,EAAUA,GAAWX,EAAE,mBAEvBE,EAAOW,GAAGH,KAAKI,KAAKF,EAAMD,EAASJ,GACnCA,EAAUP,EAAEM,QAAO,EAAM,CAAC,EAAGC,GAE7BK,EAAKH,OAASF,EAAQE,OAElBF,EAAQQ,UACRH,EAAKI,iBAGTJ,EAAKK,QACT,EAEAC,QAAS,WACDrB,KAAKsB,eACLtB,KAAKsB,cAAcD,UAEvBhB,EAAOW,GAAGK,QAAQJ,KAAKjB,KAC3B,EAEAuB,gBAAiB,WACb,IAAIR,EAAOf,KAEPe,EAAKO,gBACLP,EAAKO,cAAcD,UACnBN,EAAKH,OAAOY,QAAQC,OAAOV,EAAKW,yBAExC,EAEAC,WAAY,SAASjB,GACjB,IAAIK,EAAOf,KACP4B,GAAiB,GAEG,iBAAd,GAA2BzB,EAAE0B,cAAcnB,KAAiC,IAArBA,EAAQQ,YACrEU,GAAiB,GAGrBlB,EAAUP,EAAE0B,cAAcnB,GAAWA,EAAU,CAAEoB,QAASpB,GAE1DL,EAAOW,GAAGW,WAAWV,KAAKF,EAAML,GAE5BkB,GAAkBb,EAAKO,eACvBP,EAAKQ,kBACLR,EAAKO,cAAcD,iBACZN,EAAKO,gBACgB,IAArBZ,EAAQQ,UAAsBH,EAAKO,gBAC1CP,EAAKD,QAAQiB,SACbhB,EAAKI,kBAGTJ,EAAKK,SAEDL,EAAKO,eACLP,EAAKO,cAAcU,SAE3B,EAEAZ,OAAQ,WACJ,IAAIL,EAAOf,KACPc,EAAUC,EAAKH,OAAOE,QACtBJ,EAAUK,EAAKL,QACfuB,EAAKnB,EAAQoB,KAAK,MAClBC,EAAYzB,EAAQoB,QAEpBvB,EAAW4B,KACXA,EAAYA,EAAUlB,KAAKF,IAG1BoB,IACDA,EAAY,IAGXF,IACDA,EAAKvB,EAAQC,KAAO,IAAMV,EAAMmC,OAChCtB,EAAQoB,KAAK,KAAMD,IAGvBlB,EAAKD,QAAQuB,SAzFF,yBA0FNH,KAAK,MAAOD,GACZK,KAAKH,GACLI,aAAaxB,EAAKL,QAAQ8B,WAAazB,EAAKH,OAAOY,QAC5D,EAEAL,eAAgB,WACZ,IAAIJ,EAAOf,KACPU,EAAUP,EAAEM,OAAO,CAAC,EAAGM,EAAKL,gBAGzBA,EAAQC,MAEJD,EAAQQ,WAAY,KAG3BH,EAAKW,wBAA0BX,EAAKH,OAAOY,QAAQiB,KAAK,iBAAiBC,SACzE3B,EAAKO,cAAgB,IAAIrB,EAAMK,GAAGqC,cAAc5B,EAAKW,wBAAyBvB,EAAEM,OAAO,CAAC,EAAGC,IAEnG,IAKJ,OAFAT,EAAMK,GAAGsC,OAAOpC,GAETP,CAEV","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.kendolabel = global.kendolabel || {}, global.kendolabel.js = factory()));\n})(this, (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 return kendo;\n\n}));\n"]}