{"version":3,"file":"kendo.switch.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoswitch","js","this","$","undefined$1","kendo","window","ui","NS","Widget","support","CHANGE","switchStyles","widget","track","thumbWrapper","thumb","checked","checkedLabel","unchecked","uncheckedLabel","disabled","readonly","active","DISABLED","ARIA_DISABLED","READONLY","ARIA_READONLY","ARIA_HIDDEN","CHECKED","CLICK","click","TOUCHEND","pointers","KEYDOWN","DOT","SWITCH_TEMPLATE","template","styles","SWITCH_TRACK_TEMPLATE","SWITCH_THUMB_TEMPLATE","Switch","extend","init","element","options","that","fn","call","_wrapper","_initSettings","_aria","_attachEvents","notify","wrapper","type","wrap","parent","style","cssText","hide","append","messages","addClass","className","removeClass","rounded","trackRounded","_applyCssClasses","_applyRoundedClasses","action","cssProperties","getValidClass","name","propName","value","thumbRounded","find","on","_click","bind","_touchEnd","_keydown","setOptions","_clearCssClasses","text","width","css","enabled","enable","check","_tabindex","attr","id","labelFor","ariaLabel","ariaLabelledBy","length","labelId","guid","events","size","toggleClass","removeAttr","prop","apply","destroy","off","toggle","_check","trigger","e","keyCode","keys","SPACEBAR","preventDefault","_isTouch","event","test","originalEvent","pointerType","which","target","registerPrefix","registerValues","values","roundedValues","concat","plugin","jQuery"],"sources":["kendo.switch.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.kendoswitch = global.kendoswitch || {}, global.kendoswitch.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"switch\",\n name: \"Switch\",\n category: \"web\",\n description: \"The Switch widget is used to display two exclusive choices.\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n NS = \".kendoSwitch\",\n Widget = ui.Widget,\n support = kendo.support,\n CHANGE = \"change\",\n switchStyles = {\n widget: \"k-switch\",\n track: \"k-switch-track\",\n thumbWrapper: \"k-switch-thumb-wrap\",\n thumb: \"k-switch-thumb\",\n checked: \"k-switch-on\",\n checkedLabel: \"k-switch-label-on\",\n unchecked: \"k-switch-off\",\n uncheckedLabel: \"k-switch-label-off\",\n disabled: \"k-disabled\",\n readonly: \"k-readonly\",\n active: \"k-active\"\n },\n DISABLED = \"disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n READONLY = \"readonly\",\n ARIA_READONLY = \"aria-readonly\",\n ARIA_CHECKED = \"aria-checked\",\n ARIA_HIDDEN = \"aria-hidden\",\n CHECKED = \"checked\",\n CLICK = support.click + NS,\n TOUCHEND = support.pointers ? \"pointerup\" : \"touchend\",\n KEYDOWN = \"keydown\" + NS,\n LABELIDPART = \"_label\",\n DOT = \".\";\n\n var SWITCH_TEMPLATE = kendo.template(({ styles }) => ``);\n\n var SWITCH_TRACK_TEMPLATE = kendo.template(({ styles, checked, unchecked }) => `` +\n `${checked}` +\n `${unchecked}` +\n ``);\n\n var SWITCH_THUMB_TEMPLATE = kendo.template(({ styles }) => `` +\n `` +\n ``);\n\n var Switch = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that._wrapper();\n\n that._initSettings();\n\n that._aria();\n\n that._attachEvents();\n\n kendo.notify(that, kendo.ui);\n },\n\n _wrapper: function() {\n var that = this,\n options = that.options,\n element = that.element[0],\n wrapper = $(SWITCH_TEMPLATE({\n styles: switchStyles\n }));\n\n element.type = \"checkbox\";\n\n that.wrapper = that.element.wrap(wrapper).parent();\n\n that.wrapper[0].style.cssText = that.element[0].style.cssText;\n that.element.hide();\n\n that.wrapper\n .append($(SWITCH_TRACK_TEMPLATE({\n styles: switchStyles,\n checked: options.messages.checked,\n unchecked: options.messages.unchecked\n })))\n .append($(SWITCH_THUMB_TEMPLATE({\n styles: switchStyles\n })))\n .addClass(element.className)\n .removeClass('input-validation-error');\n\n that.options.rounded = that.options.trackRounded;\n that._applyCssClasses();\n that._applyRoundedClasses();\n },\n\n _applyRoundedClasses: function(action) {\n var that = this,\n options = that.options,\n trackRounded = kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: \"rounded\",\n value: options.trackRounded\n }),\n thumbRounded = kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: \"rounded\",\n value: options.thumbRounded\n });\n\n action = action || \"addClass\";\n\n that.wrapper.find(DOT + switchStyles.track)[action](trackRounded);\n that.wrapper.find(DOT + switchStyles.thumb)[action](thumbRounded);\n },\n\n _attachEvents: function() {\n var that = this;\n\n that.wrapper\n .on(CLICK, that._click.bind(that))\n .on(TOUCHEND, that._touchEnd.bind(that))\n .on(KEYDOWN, that._keydown.bind(that));\n },\n\n setOptions: function(options) {\n var that = this,\n messages = options.messages,\n checkedLabel,\n uncheckedLabel;\n\n that._clearCssClasses(options);\n that._applyRoundedClasses(\"removeClass\");\n\n that.options = $.extend(that.options, options);\n\n if (messages && messages.checked !== undefined$1) {\n checkedLabel = that.wrapper.find(DOT + switchStyles.checkedLabel);\n checkedLabel.text(messages.checked);\n }\n\n if (messages && messages.unchecked !== undefined$1) {\n uncheckedLabel = that.wrapper.find(DOT + switchStyles.uncheckedLabel);\n uncheckedLabel.text(messages.unchecked);\n }\n\n if (options.width) {\n that.wrapper.css({\n width: options.width\n });\n }\n\n if (options.enabled !== undefined$1) {\n that.enable(options.enabled);\n }\n\n if (options.readonly !== undefined$1) {\n that.readonly(options.readonly);\n }\n\n that.check(options.checked);\n\n that.options.rounded = that.options.trackRounded;\n that._applyCssClasses();\n that._applyRoundedClasses();\n },\n\n _initSettings: function() {\n var that = this,\n element = that.element[0],\n options = that.options;\n\n if (options.enabled) {\n that._tabindex();\n }\n\n if (options.width) {\n that.wrapper.css({\n width: options.width\n });\n }\n\n if (options.checked === null) {\n options.checked = element.checked;\n }\n\n that.check(options.checked);\n\n options.enabled = options.enabled && !that.element.attr(DISABLED);\n that.enable(options.enabled);\n\n options.readonly = options.readonly || !!that.element.attr(READONLY);\n that.readonly(options.readonly);\n },\n\n _aria: function() {\n var that = this,\n element = that.element,\n wrapper = that.wrapper,\n id = element.attr(\"id\"),\n labelFor = $(\"label[for=\\\"\" + id + \"\\\"]\"),\n ariaLabel = element.attr(\"aria-label\"),\n ariaLabelledBy = element.attr(\"aria-labelledby\");\n\n if (ariaLabel) {\n wrapper.attr(\"aria-label\", ariaLabel);\n } else if (ariaLabelledBy) {\n wrapper.attr(\"aria-labelledby\", ariaLabelledBy);\n } else if (labelFor.length) {\n var labelId = labelFor.attr(\"id\");\n\n if (!labelId) {\n labelId = (id || kendo.guid()) + LABELIDPART;\n labelFor.attr(\"id\", labelId);\n }\n\n wrapper.attr(\"aria-labelledby\", labelId);\n }\n },\n\n events: [\n CHANGE\n ],\n\n options: {\n name: \"Switch\",\n messages: {\n checked: \"On\",\n unchecked: \"Off\"\n },\n width: null,\n checked: null,\n enabled: true,\n readonly: false,\n size: \"medium\",\n rounded: \"full\",\n trackRounded: \"full\",\n thumbRounded: \"full\"\n },\n\n check: function(checked) {\n var that = this,\n element = that.element[0];\n\n if (checked === undefined$1) {\n return element.checked;\n }\n\n if (element.checked !== checked) {\n that.options.checked = element.checked = checked;\n }\n\n that.wrapper\n .attr(ARIA_CHECKED, checked)\n .toggleClass(switchStyles.checked, checked)\n .toggleClass(switchStyles.unchecked, !checked)\n .find(\"[aria-hidden='true']\")\n .removeAttr(ARIA_HIDDEN);\n\n if (checked) {\n that.element\n .attr(CHECKED, CHECKED);\n\n that.wrapper.find(DOT + switchStyles.uncheckedLabel)\n .attr(ARIA_HIDDEN, true);\n } else {\n that.element\n .prop(CHECKED, false);\n\n that.wrapper.find(DOT + switchStyles.checkedLabel)\n .attr(ARIA_HIDDEN, true);\n }\n },\n\n // alias for check, NG support\n value: function(value) {\n if (typeof value === \"string\") {\n value = (value === \"true\");\n } else if (value === null) {\n value = false;\n }\n return this.check.apply(this, [value]);\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.wrapper.off(NS);\n },\n\n toggle: function() {\n var that = this;\n\n that.check(!that.element[0].checked);\n },\n\n enable: function(enable) {\n var element = this.element,\n wrapper = this.wrapper;\n\n if (typeof enable == \"undefined\") {\n enable = true;\n }\n\n this.options.enabled = enable;\n\n if (enable) {\n element.prop(DISABLED, false);\n wrapper.removeAttr(ARIA_DISABLED);\n } else {\n element.attr(DISABLED, DISABLED);\n wrapper.attr(ARIA_DISABLED, true);\n }\n\n wrapper.toggleClass(switchStyles.disabled, !enable);\n },\n\n readonly: function(readonly) {\n var that = this,\n element = that.element,\n wrapper = that.wrapper;\n\n if (typeof readonly == \"undefined\") {\n readonly = true;\n }\n\n that.options.readonly = readonly;\n\n if (readonly) {\n element.attr(READONLY, true);\n wrapper.attr(ARIA_READONLY, true);\n } else {\n element.prop(READONLY, false);\n wrapper.removeAttr(ARIA_READONLY);\n }\n\n wrapper.toggleClass(switchStyles.readonly, readonly);\n },\n\n _check: function() {\n var that = this,\n checked = that.element[0].checked = !that.element[0].checked;\n\n that.wrapper.trigger(\"focus\");\n\n if (!that.options.enabled || that.options.readonly ||\n that.trigger(CHANGE, { checked: checked })) {\n that.element[0].checked = !checked;\n return;\n }\n\n that.check(checked);\n },\n\n _keydown: function(e) {\n if (e.keyCode === kendo.keys.SPACEBAR) {\n this._check();\n e.preventDefault();\n }\n },\n\n _isTouch: function(event) {\n return /touch/.test(event.type) || (event.originalEvent && /touch/.test(event.originalEvent.pointerType));\n },\n\n _click: function(e) {\n if (!this._isTouch(e) && e.which === 1) {\n if (e.target === this.element[0]) {\n // In this case the input has been clicked directly\n // even if hidden that is possible via