{"version":3,"sources":["bootstrap-toggle/js/bootstrap-toggle.js"],"names":["$","Toggle","element","options","this","$element","extend","defaults","render","VERSION","DEFAULTS","on","off","onstyle","offstyle","size","style","width","height","prototype","attr","_onstyle","_offstyle","$toggleOn","html","addClass","$toggleOff","$toggleHandle","$toggleGroup","append","$toggle","prop","wrap","parent","Math","max","outerWidth","outerHeight","css","update","trigger","toggle","silent","removeClass","enable","removeAttr","disable","change","proxy","destroy","remove","removeData","unwrap","old","fn","bootstrapToggle","option","each","$this","data","Constructor","noConflict","document","e","find","preventDefault","jQuery"],"mappings":"CASE,SAAUA,GACV,aAKY,SAATC,EAAmBC,EAASC,GAC/BC,KAAKC,SAAYL,EAAEE,GACnBE,KAAKD,QAAYH,EAAEM,OAAO,GAAIF,KAAKG,WAAYJ,GAC/CC,KAAKI,SAGNP,EAAOQ,QAAW,QAElBR,EAAOS,SAAW,CACjBC,GAAI,KACJC,IAAK,MACLC,QAAS,UACTC,SAAU,UACVC,KAAM,SACNC,MAAO,GACPC,MAAO,KACPC,OAAQ,MAGTjB,EAAOkB,UAAUZ,SAAW,WAC3B,MAAO,CACNI,GAAIP,KAAKC,SAASe,KAAK,YAAcnB,EAAOS,SAASC,GACrDC,IAAKR,KAAKC,SAASe,KAAK,aAAenB,EAAOS,SAASE,IACvDC,QAAST,KAAKC,SAASe,KAAK,iBAAmBnB,EAAOS,SAASG,QAC/DC,SAAUV,KAAKC,SAASe,KAAK,kBAAoBnB,EAAOS,SAASI,SACjEC,KAAMX,KAAKC,SAASe,KAAK,cAAgBnB,EAAOS,SAASK,KACzDC,MAAOZ,KAAKC,SAASe,KAAK,eAAiBnB,EAAOS,SAASM,MAC3DC,MAAOb,KAAKC,SAASe,KAAK,eAAiBnB,EAAOS,SAASO,MAC3DC,OAAQd,KAAKC,SAASe,KAAK,gBAAkBnB,EAAOS,SAASQ,SAI/DjB,EAAOkB,UAAUX,OAAS,WACzBJ,KAAKiB,SAAW,OAASjB,KAAKD,QAAQU,QACtCT,KAAKkB,UAAY,OAASlB,KAAKD,QAAQW,SACvC,IAAIC,EAA6B,UAAtBX,KAAKD,QAAQY,KAAmB,SAClB,UAAtBX,KAAKD,QAAQY,KAAmB,SACV,SAAtBX,KAAKD,QAAQY,KAAkB,SAC/B,GACCQ,EAAYvB,EAAE,uBAAuBwB,KAAKpB,KAAKD,QAAQQ,IACzDc,SAASrB,KAAKiB,SAAW,IAAMN,GAC7BW,EAAa1B,EAAE,uBAAuBwB,KAAKpB,KAAKD,QAAQS,KAC1Da,SAASrB,KAAKkB,UAAY,IAAMP,EAAO,WACrCY,EAAgB3B,EAAE,gDACpByB,SAASV,GACPa,EAAe5B,EAAE,8BACnB6B,OAAON,EAAWG,EAAYC,GAC5BG,EAAU9B,EAAE,iDACdyB,SAAUrB,KAAKC,SAAS0B,KAAK,WAAa3B,KAAKiB,SAAWjB,KAAKkB,UAAU,QACzEG,SAASV,GAAMU,SAASrB,KAAKD,QAAQa,OAEvCZ,KAAKC,SAAS2B,KAAKF,GACnB9B,EAAEM,OAAOF,KAAM,CACd0B,QAAS1B,KAAKC,SAAS4B,SACvBV,UAAWA,EACXG,WAAYA,EACZE,aAAcA,IAEfxB,KAAK0B,QAAQD,OAAOD,GAEpB,IAAIX,EAAQb,KAAKD,QAAQc,OAASiB,KAAKC,IAAIZ,EAAUa,aAAcV,EAAWU,cAAeT,EAAcS,aAAa,EACpHlB,EAASd,KAAKD,QAAQe,QAAUgB,KAAKC,IAAIZ,EAAUc,cAAeX,EAAWW,eACjFd,EAAUE,SAAS,aACnBC,EAAWD,SAAS,cACpBrB,KAAK0B,QAAQQ,IAAI,CAAErB,MAAOA,EAAOC,OAAQA,IACrCd,KAAKD,QAAQe,SAChBK,EAAUe,IAAI,cAAef,EAAUL,SAAW,MAClDQ,EAAWY,IAAI,cAAeZ,EAAWR,SAAW,OAErDd,KAAKmC,QAAO,GACZnC,KAAKoC,SAAQ,IAGdvC,EAAOkB,UAAUsB,OAAS,WACrBrC,KAAKC,SAAS0B,KAAK,WAAY3B,KAAKQ,MACnCR,KAAKO,MAGXV,EAAOkB,UAAUR,GAAK,SAAU+B,GAC/B,GAAItC,KAAKC,SAAS0B,KAAK,YAAa,OAAO,EAC3C3B,KAAK0B,QAAQa,YAAYvC,KAAKkB,UAAY,QAAQG,SAASrB,KAAKiB,UAChEjB,KAAKC,SAAS0B,KAAK,WAAW,GACzBW,GAAQtC,KAAKoC,WAGnBvC,EAAOkB,UAAUP,IAAM,SAAU8B,GAChC,GAAItC,KAAKC,SAAS0B,KAAK,YAAa,OAAO,EAC3C3B,KAAK0B,QAAQa,YAAYvC,KAAKiB,UAAUI,SAASrB,KAAKkB,UAAY,QAClElB,KAAKC,SAAS0B,KAAK,WAAW,GACzBW,GAAQtC,KAAKoC,WAGnBvC,EAAOkB,UAAUyB,OAAS,WACzBxC,KAAK0B,QAAQe,WAAW,YACxBzC,KAAKC,SAAS0B,KAAK,YAAY,IAGhC9B,EAAOkB,UAAU2B,QAAU,WAC1B1C,KAAK0B,QAAQV,KAAK,WAAY,YAC9BhB,KAAKC,SAAS0B,KAAK,YAAY,IAGhC9B,EAAOkB,UAAUoB,OAAS,SAAUG,GAC/BtC,KAAKC,SAAS0B,KAAK,YAAa3B,KAAK0C,UACpC1C,KAAKwC,SACNxC,KAAKC,SAAS0B,KAAK,WAAY3B,KAAKO,GAAG+B,GACtCtC,KAAKQ,IAAI8B,IAGfzC,EAAOkB,UAAUqB,QAAU,SAAUE,GACpCtC,KAAKC,SAASO,IAAI,oBACb8B,GAAQtC,KAAKC,SAAS0C,SAC3B3C,KAAKC,SAASM,GAAG,mBAAoBX,EAAEgD,MAAM,WAC5C5C,KAAKmC,UACHnC,QAGJH,EAAOkB,UAAU8B,QAAU,WAC1B7C,KAAKC,SAASO,IAAI,oBAClBR,KAAKwB,aAAasB,SAClB9C,KAAKC,SAAS8C,WAAW,aACzB/C,KAAKC,SAAS+C,UAiBf,IAAIC,EAAMrD,EAAEsD,GAAGC,gBAEfvD,EAAEsD,GAAGC,gBAbL,SAAgBC,GACf,OAAOpD,KAAKqD,KAAK,WAChB,IAAIC,EAAU1D,EAAEI,MACZuD,EAAUD,EAAMC,KAAK,aACrBxD,EAA2B,iBAAVqD,GAAsBA,EAEtCG,GAAMD,EAAMC,KAAK,YAAcA,EAAO,IAAI1D,EAAOG,KAAMD,IACvC,iBAAVqD,GAAsBG,EAAKH,IAASG,EAAKH,QAOtDxD,EAAEsD,GAAGC,gBAAgBK,YAAc3D,EAKnCD,EAAEsD,GAAGb,OAAOoB,WAAa,WAExB,OADA7D,EAAEsD,GAAGC,gBAAkBF,EAChBjD,MAMRJ,EAAE,WACDA,EAAE,6CAA6CuD,oBAGhDvD,EAAE8D,UAAUnD,GAAG,kBAAmB,2BAA4B,SAASoD,GACtD/D,EAAEI,MAAM4D,KAAK,wBACnBT,gBAAgB,UAC1BQ,EAAEE,mBAvKF,CA0KAC","file":"bootstrap-toggle.min.js","sourcesContent":["/*! ========================================================================\r\n * Bootstrap Toggle: bootstrap-toggle.js v2.2.0\r\n * http://www.bootstraptoggle.com\r\n * ========================================================================\r\n * Copyright 2014 Min Hur, The New York Times Company\r\n * Licensed under MIT\r\n * ======================================================================== */\r\n\r\n\r\n +function ($) {\r\n \t'use strict';\r\n\r\n\t// TOGGLE PUBLIC CLASS DEFINITION\r\n\t// ==============================\r\n\r\n\tvar Toggle = function (element, options) {\r\n\t\tthis.$element  = $(element)\r\n\t\tthis.options   = $.extend({}, this.defaults(), options)\r\n\t\tthis.render()\r\n\t}\r\n\r\n\tToggle.VERSION  = '2.2.0'\r\n\r\n\tToggle.DEFAULTS = {\r\n\t\ton: 'On',\r\n\t\toff: 'Off',\r\n\t\tonstyle: 'primary',\r\n\t\toffstyle: 'default',\r\n\t\tsize: 'normal',\r\n\t\tstyle: '',\r\n\t\twidth: null,\r\n\t\theight: null\r\n\t}\r\n\r\n\tToggle.prototype.defaults = function() {\r\n\t\treturn {\r\n\t\t\ton: this.$element.attr('data-on') || Toggle.DEFAULTS.on,\r\n\t\t\toff: this.$element.attr('data-off') || Toggle.DEFAULTS.off,\r\n\t\t\tonstyle: this.$element.attr('data-onstyle') || Toggle.DEFAULTS.onstyle,\r\n\t\t\toffstyle: this.$element.attr('data-offstyle') || Toggle.DEFAULTS.offstyle,\r\n\t\t\tsize: this.$element.attr('data-size') || Toggle.DEFAULTS.size,\r\n\t\t\tstyle: this.$element.attr('data-style') || Toggle.DEFAULTS.style,\r\n\t\t\twidth: this.$element.attr('data-width') || Toggle.DEFAULTS.width,\r\n\t\t\theight: this.$element.attr('data-height') || Toggle.DEFAULTS.height\r\n\t\t}\r\n\t}\r\n\r\n\tToggle.prototype.render = function () {\r\n\t\tthis._onstyle = 'btn-' + this.options.onstyle\r\n\t\tthis._offstyle = 'btn-' + this.options.offstyle\r\n\t\tvar size = this.options.size === 'large' ? 'btn-lg'\r\n\t\t\t: this.options.size === 'small' ? 'btn-sm'\r\n\t\t\t: this.options.size === 'mini' ? 'btn-xs'\r\n\t\t\t: ''\r\n\t\tvar $toggleOn = $('<label class=\"btn\">').html(this.options.on)\r\n\t\t\t.addClass(this._onstyle + ' ' + size)\r\n\t\tvar $toggleOff = $('<label class=\"btn\">').html(this.options.off)\r\n\t\t\t.addClass(this._offstyle + ' ' + size + ' active')\r\n\t\tvar $toggleHandle = $('<span class=\"toggle-handle btn btn-default\">')\r\n\t\t\t.addClass(size)\r\n\t\tvar $toggleGroup = $('<div class=\"toggle-group\">')\r\n\t\t\t.append($toggleOn, $toggleOff, $toggleHandle)\r\n\t\tvar $toggle = $('<div class=\"toggle btn\" data-toggle=\"toggle\">')\r\n\t\t\t.addClass( this.$element.prop('checked') ? this._onstyle : this._offstyle+' off' )\r\n\t\t\t.addClass(size).addClass(this.options.style)\r\n\r\n\t\tthis.$element.wrap($toggle)\r\n\t\t$.extend(this, {\r\n\t\t\t$toggle: this.$element.parent(),\r\n\t\t\t$toggleOn: $toggleOn,\r\n\t\t\t$toggleOff: $toggleOff,\r\n\t\t\t$toggleGroup: $toggleGroup\r\n\t\t})\r\n\t\tthis.$toggle.append($toggleGroup)\r\n\r\n\t\tvar width = this.options.width || Math.max($toggleOn.outerWidth(), $toggleOff.outerWidth())+($toggleHandle.outerWidth()/2)\r\n\t\tvar height = this.options.height || Math.max($toggleOn.outerHeight(), $toggleOff.outerHeight())\r\n\t\t$toggleOn.addClass('toggle-on')\r\n\t\t$toggleOff.addClass('toggle-off')\r\n\t\tthis.$toggle.css({ width: width, height: height })\r\n\t\tif (this.options.height) {\r\n\t\t\t$toggleOn.css('line-height', $toggleOn.height() + 'px')\r\n\t\t\t$toggleOff.css('line-height', $toggleOff.height() + 'px')\r\n\t\t}\r\n\t\tthis.update(true)\r\n\t\tthis.trigger(true)\r\n\t}\r\n\r\n\tToggle.prototype.toggle = function () {\r\n\t\tif (this.$element.prop('checked')) this.off()\r\n\t\telse this.on()\r\n\t}\r\n\r\n\tToggle.prototype.on = function (silent) {\r\n\t\tif (this.$element.prop('disabled')) return false\r\n\t\tthis.$toggle.removeClass(this._offstyle + ' off').addClass(this._onstyle)\r\n\t\tthis.$element.prop('checked', true)\r\n\t\tif (!silent) this.trigger()\r\n\t}\r\n\r\n\tToggle.prototype.off = function (silent) {\r\n\t\tif (this.$element.prop('disabled')) return false\r\n\t\tthis.$toggle.removeClass(this._onstyle).addClass(this._offstyle + ' off')\r\n\t\tthis.$element.prop('checked', false)\r\n\t\tif (!silent) this.trigger()\r\n\t}\r\n\r\n\tToggle.prototype.enable = function () {\r\n\t\tthis.$toggle.removeAttr('disabled')\r\n\t\tthis.$element.prop('disabled', false)\r\n\t}\r\n\r\n\tToggle.prototype.disable = function () {\r\n\t\tthis.$toggle.attr('disabled', 'disabled')\r\n\t\tthis.$element.prop('disabled', true)\r\n\t}\r\n\r\n\tToggle.prototype.update = function (silent) {\r\n\t\tif (this.$element.prop('disabled')) this.disable()\r\n\t\telse this.enable()\r\n\t\tif (this.$element.prop('checked')) this.on(silent)\r\n\t\telse this.off(silent)\r\n\t}\r\n\r\n\tToggle.prototype.trigger = function (silent) {\r\n\t\tthis.$element.off('change.bs.toggle')\r\n\t\tif (!silent) this.$element.change()\r\n\t\tthis.$element.on('change.bs.toggle', $.proxy(function() {\r\n\t\t\tthis.update()\r\n\t\t}, this))\r\n\t}\r\n\r\n\tToggle.prototype.destroy = function() {\r\n\t\tthis.$element.off('change.bs.toggle')\r\n\t\tthis.$toggleGroup.remove()\r\n\t\tthis.$element.removeData('bs.toggle')\r\n\t\tthis.$element.unwrap()\r\n\t}\r\n\r\n\t// TOGGLE PLUGIN DEFINITION\r\n\t// ========================\r\n\r\n\tfunction Plugin(option) {\r\n\t\treturn this.each(function () {\r\n\t\t\tvar $this   = $(this)\r\n\t\t\tvar data    = $this.data('bs.toggle')\r\n\t\t\tvar options = typeof option == 'object' && option\r\n\r\n\t\t\tif (!data) $this.data('bs.toggle', (data = new Toggle(this, options)))\r\n\t\t\tif (typeof option == 'string' && data[option]) data[option]()\r\n\t\t})\r\n\t}\r\n\r\n\tvar old = $.fn.bootstrapToggle\r\n\r\n\t$.fn.bootstrapToggle             = Plugin\r\n\t$.fn.bootstrapToggle.Constructor = Toggle\r\n\r\n\t// TOGGLE NO CONFLICT\r\n\t// ==================\r\n\r\n\t$.fn.toggle.noConflict = function () {\r\n\t\t$.fn.bootstrapToggle = old\r\n\t\treturn this\r\n\t}\r\n\r\n\t// TOGGLE DATA-API\r\n\t// ===============\r\n\r\n\t$(function() {\r\n\t\t$('input[type=checkbox][data-toggle^=toggle]').bootstrapToggle()\r\n\t})\r\n\r\n\t$(document).on('click.bs.toggle', 'div[data-toggle^=toggle]', function(e) {\r\n\t\tvar $checkbox = $(this).find('input[type=checkbox]')\r\n\t\t$checkbox.bootstrapToggle('toggle')\r\n\t\te.preventDefault()\r\n\t})\r\n\r\n}(jQuery);\r\n"]}