sifangpay/public/style/web/h5/js/SimpleSwitch.min.js

1 line
3.0 KiB
JavaScript

var SimpleSwitch=function(e){function t(n){if(i[n])return i[n].exports;var c=i[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,t),c.l=!0,c.exports}var i={};return t.m=e,t.c=i,t.i=function(e){return e},t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,i){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();t.Switch=function(){function e(t){n(this,e),this.element=t.element||document.querySelector(t.selector),this.isMaterial=void 0!==t.material&&t.material,this.checked=!1,this.element.dataset.material&&"true"===this.element.dataset.material&&(this.isMaterial=!0),this.setup()}return c(e,[{key:"setup",value:function(){this.track=document.createElement("button"),this.handle=document.createElement("span"),this.element.classList.add("_simple-switch-checkbox"),this.track.classList.add("_simple-switch-track"),this.handle.classList.add("handle"),this.isMaterial&&this.track.classList.add("_material"),this.track.setAttribute("tabindex",-1),this.bind(),this.track.appendChild(this.handle),this.element.insertAdjacentElement("afterend",this.track),this.updateSize()}},{key:"updateSize",value:function(){var e=window.getComputedStyle(this.track)["font-size"];this.track.style.setProperty("--simple-switch_size",e)}},{key:"bind",value:function(){this.track.addEventListener("click",function(e){this.trackClicked(e)}.bind(this),!1),this.element.addEventListener("focus",function(e){this.checkboxFocused(e)}.bind(this),!1),this.element.addEventListener("blur",function(e){this.checkboxBlurred(e)}.bind(this),!1),this.element.addEventListener("click",function(e){this.checkboxToggled(e)}.bind(this),!1)}},{key:"checkboxFocused",value:function(t){this.track.classList.add(e.FOCUSED_CLASS_NAME)}},{key:"checkboxBlurred",value:function(t){this.track.classList.remove(e.FOCUSED_CLASS_NAME)}},{key:"trackClicked",value:function(e){this.toggle()}},{key:"checkboxToggled",value:function(e){this.toggle()}},{key:"toggle",value:function(){this.checked=this.track.classList.toggle(e.CHECKED_CLASS_NAME),this.element.checked=this.checked}}],[{key:"CHECKED_CLASS_NAME",get:function(){return"on"}},{key:"FOCUSED_CLASS_NAME",get:function(){return"focus"}}]),e}()},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.Switch=void 0;var n=i(0);t.Switch=n.Switch;t.init=function(){var e,t,i=document.querySelectorAll("[data-type='simple-switch']");for(e=0;e<i.length;e++)t=i[e],new n.Switch({element:t})}}]);