{"version":3,"file":"kendo.floatinglabel.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendofloatinglabel","js","this","$","undefined$1","kendo","window","Widget","ui","NS","EMPTY","FOCUSED","STATEDISABLED","STATEREADONLY","FloatingLabel","extend","init","element","options","that","fn","call","widget","widgetWrapper","wrapper","refresh","_editable","readonly","disable","enable","style","width","css","addClass","notify","name","floatCheck","val","inputInner","find","length","labelHeight","height","offsetX","position","left","Number","parseInt","offsetY","top","setProperty","removeClass","floating","document","activeElement","input","destroy","off","toggleClass","on","bind","plugin","jQuery"],"sources":["kendo.floatinglabel.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendofloatinglabel = global.kendofloatinglabel || {}, global.kendofloatinglabel.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"floatinglabel\",\n name: \"FloatingLabel\",\n category: \"framework\",\n depends: [\"core\"],\n hidden: true\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n ui = kendo.ui,\n NS = \".kendoFloatingLabel\",\n FLOATINGLABELCONTAINER = \"k-floating-label-container\",\n EMPTY = \"k-empty\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n STATEREADONLY = \"k-readonly\",\n FLOATINGLABEL_OFFSET_Y = \"--kendo-floating-label-offset-y\",\n FLOATINGLABEL_OFFSET_X = \"--kendo-floating-label-offset-x\",\n FLOATINGLABEL_FOCUS_OFFSET_Y = \"--kendo-floating-label-focus-offset-y\",\n FLOATINGLABEL_FOCUS_OFFSET_X = \"--kendo-floating-label-focus-offset-x\";\n\n var FloatingLabel = 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.widget = that.options.widget;\n that.widgetWrapper = that.widget.wrapper[0];\n\n that.refresh();\n that._editable({\n readonly: that.options.widget.options.readonly !== undefined$1 ? that.options.widget.options.readonly : false,\n disable: that.options.widget.options.enable !== undefined$1 ? !(that.options.widget.options.enable) : false\n });\n\n if (that.widgetWrapper.style.width) {\n that.element.css(\"width\", that.widgetWrapper.style.width);\n that.widgetWrapper.style.width = \"100%\";\n }\n\n that.element.addClass(FLOATINGLABELCONTAINER);\n\n kendo.notify(that);\n },\n\n options: {\n name: 'FloatingLabel',\n widget: null,\n floatCheck: ({ element }) => !element.val()\n },\n\n readonly: function(readonly) {\n this._editable({\n readonly: readonly === undefined$1 ? true : readonly,\n disable: false\n });\n },\n\n enable: function(enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined$1 ? true : enable)\n });\n },\n\n refresh: function() {\n var that = this;\n var element = that.element;\n var inputInner = that.options.widget.wrapper.find(\".k-input-inner\");\n if (inputInner.length > 0) {\n var labelHeight = that.element.find(\"> .k-floating-label\").height();\n var offsetX = inputInner.position().left + Number.parseInt(inputInner.css('padding-left'));\n var offsetY = inputInner.position().top + Number.parseInt(inputInner.css('padding-top')) + labelHeight;\n element[0].style.setProperty(FLOATINGLABEL_OFFSET_X, offsetX + \"px\");\n element[0].style.setProperty(FLOATINGLABEL_OFFSET_Y, offsetY + \"px\");\n }\n\n element\n .removeClass(EMPTY)\n .removeClass(FOCUSED);\n\n if (that.options.floatCheck({ element: that.options.widget.element, floating: that.element })) {\n element.addClass(EMPTY);\n }\n\n if (document.activeElement === that.options.widget.element[0]\n || (that.options.widget.input && document.activeElement === that.options.widget.input[0])) {\n\n element.addClass(FOCUSED);\n }\n },\n\n destroy: function() {\n var that = this;\n\n that.element.off(NS);\n Widget.fn.destroy.call(that);\n },\n\n _editable: function(options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n\n element.off(NS);\n\n if (!readonly && !disable) {\n element\n .removeClass(STATEDISABLED)\n .removeClass(STATEREADONLY);\n\n element.on(\"focusin\" + NS, that.refresh.bind(that));\n element.on(\"focusout\" + NS, that.refresh.bind(that));\n } else {\n element\n .toggleClass(STATEDISABLED, disable)\n .toggleClass(STATEREADONLY, readonly);\n }\n }\n });\n ui.plugin(FloatingLabel);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}