|  | @@ -2,6 +2,19 @@ import jquery from 'jquery';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const $ = jquery || window.jQuery || window.$;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +function getClasses(options, id) {
 | 
	
		
			
				|  |  | +  const { state, size, disabled, readonly, indeterminate, inverse } = options;
 | 
	
		
			
				|  |  | +  return [
 | 
	
		
			
				|  |  | +    state ? 'on' : 'off',
 | 
	
		
			
				|  |  | +    size,
 | 
	
		
			
				|  |  | +    disabled ? 'disabled' : undefined,
 | 
	
		
			
				|  |  | +    readonly ? 'readonly' : undefined,
 | 
	
		
			
				|  |  | +    indeterminate ? 'indeterminate' : undefined,
 | 
	
		
			
				|  |  | +    inverse ? 'inverse' : undefined,
 | 
	
		
			
				|  |  | +    id ? `id-${id}` : undefined,
 | 
	
		
			
				|  |  | +  ].filter(v => v == null);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  class BootstrapSwitch {
 | 
	
		
			
				|  |  |    constructor(element, options = {}) {
 | 
	
		
			
				|  |  |      this.$element = $(element);
 | 
	
	
		
			
				|  | @@ -13,32 +26,10 @@ class BootstrapSwitch {
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |      this.prevOptions = {};
 | 
	
		
			
				|  |  |      this.$wrapper = $('<div>', {
 | 
	
		
			
				|  |  | -      class: () => {
 | 
	
		
			
				|  |  | -        const classes = [];
 | 
	
		
			
				|  |  | -        classes.push(this.options.state ? 'on' : 'off');
 | 
	
		
			
				|  |  | -        if (this.options.size) {
 | 
	
		
			
				|  |  | -          classes.push(this.options.size);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.options.disabled) {
 | 
	
		
			
				|  |  | -          classes.push('disabled');
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.options.readonly) {
 | 
	
		
			
				|  |  | -          classes.push('readonly');
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.options.indeterminate) {
 | 
	
		
			
				|  |  | -          classes.push('indeterminate');
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.options.inverse) {
 | 
	
		
			
				|  |  | -          classes.push('inverse');
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.$element.attr('id')) {
 | 
	
		
			
				|  |  | -          classes.push(`id-${this.$element.attr('id')}`);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return classes
 | 
	
		
			
				|  |  | -          .map(this._getClass.bind(this))
 | 
	
		
			
				|  |  | -          .concat([this.options.baseClass], this._getClasses(this.options.wrapperClass))
 | 
	
		
			
				|  |  | -          .join(' ');
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | +      class: () => getClasses(this.options, this.$element.attr('id'))
 | 
	
		
			
				|  |  | +        .map(this._getClass.bind(this))
 | 
	
		
			
				|  |  | +        .concat([this.options.baseClass], this._getClasses(this.options.wrapperClass))
 | 
	
		
			
				|  |  | +        .join(' '),
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      this.$container = $('<div>', { class: this._getClass('container') });
 | 
	
		
			
				|  |  |      this.$on = $('<span>', {
 |