{"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","NOCLICKCLASS","STATEREADONLY","FloatingLabel","extend","init","element","options","that","fn","call","widget","widgetWrapper","wrapper","refresh","_editable","readonly","disable","enable","style","width","css","addClass","notify","name","useReadOnlyClass","floatCheck","ref","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 NOCLICKCLASS = \"k-no-click\",\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 useReadOnlyClass: false,\n floatCheck: function (ref) {\n var element = ref.element;\n\n return !element.val();\n }\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-input-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(that.options.useReadOnlyClass ? STATEREADONLY : NOCLICKCLASS);\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(that.options.useReadOnlyClass ? STATEREADONLY : NOCLICKCLASS, 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"]}