UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 4.3 kB
module.exports=function(e){function t(c){if(n[c])return n[c].exports;var a=n[c]={exports:{},id:c,loaded:!1};return e[c].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1350)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1006:function(e,t){e.exports=require("./kendo.core")},1350:function(e,t,n){var c,a,r;!function(i,define){a=[n(1006)],c=i,r="function"==typeof c?c.apply(t,a):c,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){var n=window.kendo,c=n.ui,a=".kendoSwitch",r=c.Widget,i=n.support,o="change",s={widget:"k-switch k-widget",container:"k-switch-container",handle:"k-switch-handle",checked:"k-switch-on",checkedLabel:"k-switch-label-on",unchecked:"k-switch-off",uncheckedLabel:"k-switch-label-off",disabled:"k-state-disabled",readonly:"k-state-readonly",active:"k-state-active"},l="disabled",d="aria-disabled",h="readonly",p="aria-readonly",k="aria-checked",u="checked",f=i.click+a,w=i.pointers?"pointerup":"touchend",y="keydown"+a,b="_label",m=e.proxy,g=n.template('<span class="#=styles.widget#" role="switch"></span>'),v=n.template("<span class='#=styles.container#'><span class='#=styles.checkedLabel#'>#=checked#</span><span class='#=styles.uncheckedLabel#'>#=unchecked#</span><span class='#=styles.handle#'></span></span>"),_=r.extend({init:function(t,c){var a,i=this;r.fn.init.call(i,t,c),c=i.options,t=i.element[0],t.type="checkbox",a=e(g({styles:s})),i.wrapper=i.element.wrap(a).parent(),i.wrapper.append(e(v({styles:s,checked:c.messages.checked,unchecked:c.messages.unchecked}))).addClass(t.className),i.wrapper.on(f,m(i._click,i)).on(w,m(i._touchEnd,i)).on(y,m(i._keydown,i)),i.options.enabled&&i._tabindex(),i._initSettings(),i._aria(),n.notify(i,n.ui)},setOptions:function(n){var c,a,r=this,i=n.messages;r.options=e.extend(r.options,n),i&&i.checked!==t&&(c=r.wrapper.find("."+s.checkedLabel),c.text(i.checked)),i&&i.unchecked!==t&&(a=r.wrapper.find("."+s.uncheckedLabel),a.text(i.unchecked)),n.width&&r.wrapper.css({width:n.width}),n.enabled!==t&&r.enable(n.enabled),n.readonly!==t&&r.readonly(n.readonly),r.check(n.checked)},_initSettings:function(){var e=this,t=e.element[0],n=e.options;n.width&&e.wrapper.css({width:n.width}),null===n.checked&&(n.checked=t.checked),e.check(n.checked),n.enabled=n.enabled&&!e.element.attr(l),e.enable(n.enabled),n.readonly=n.readonly||!!e.element.attr(h),e.readonly(n.readonly)},_aria:function(){var t,c=this,a=c.element,r=c.wrapper,i=a.attr("id"),o=e('label[for="'+i+'"]'),s=a.attr("aria-label"),l=a.attr("aria-labelledby");s?r.attr("aria-label",s):l?r.attr("aria-labelledby",l):o.length&&(t=o.attr("id"),t||(t=(i||n.guid())+b,o.attr("id",t)),r.attr("aria-labelledby",t))},events:[o],options:{name:"Switch",messages:{checked:"On",unchecked:"Off"},width:null,checked:null,enabled:!0,readonly:!1},check:function(e){var n=this,c=n.element[0];return e===t?c.checked:(c.checked!==e&&(n.options.checked=c.checked=e),n.wrapper.attr(k,e).toggleClass(s.checked,e).toggleClass(s.unchecked,!e),e?n.element.attr(u,u):n.element.removeAttr(u),t)},value:function(e){return"string"==typeof e&&(e="true"===e),this.check.apply(this,[e])},destroy:function(){r.fn.destroy.call(this),this.wrapper.off(a)},toggle:function(){var e=this;e.check(!e.element[0].checked)},enable:function(e){var n=this.element,c=this.wrapper;t===e&&(e=!0),this.options.enabled=e,e?(n.removeAttr(l),c.removeAttr(d)):(n.attr(l,l),c.attr(d,!0)),c.toggleClass(s.disabled,!e)},readonly:function(e){var n=this,c=n.element,a=n.wrapper;t===e&&(e=!0),n.options.readonly=e,e?(c.attr(h,!0),a.attr(p,!0)):(c.removeAttr(h),a.removeAttr(p)),a.toggleClass(s.readonly,e)},_check:function(){var e=this,n=e.element[0].checked=!e.element[0].checked;return e.wrapper.focus(),!e.options.enabled||e.options.readonly||e.trigger(o,{checked:n})?(e.element[0].checked=!n,t):(e.check(n),t)},_keydown:function(e){e.keyCode===n.keys.SPACEBAR&&(this._check(),e.preventDefault())},_isTouch:function(e){return/touch/.test(e.type)||e.originalEvent&&/touch/.test(e.originalEvent.pointerType)},_click:function(e){this._isTouch(e)||1!==e.which||this._check()},_touchEnd:function(e){this._isTouch(e)&&(this._check(),e.preventDefault())}});c.plugin(_)}(window.kendo.jQuery),window.kendo},n(3))}});