this.BX=this.BX||{};(function(e,s,i,t){"use strict";let a=e=>e,l,r;const o=Object.freeze({medium:"medium",small:"small",extraSmall:"extra-small"});const c=Object.freeze({primary:"primary",green:"green"});var d=babelHelpers.classPrivateFieldLooseKey("classNameSize");var n=babelHelpers.classPrivateFieldLooseKey("classNameColor");var h=babelHelpers.classPrivateFieldLooseKey("disabled");var b=babelHelpers.classPrivateFieldLooseKey("inputName");var p=babelHelpers.classPrivateFieldLooseKey("loading");var u=babelHelpers.classPrivateFieldLooseKey("classNameOff");var v=babelHelpers.classPrivateFieldLooseKey("classNameLock");var m=babelHelpers.classPrivateFieldLooseKey("attributeName");var P=babelHelpers.classPrivateFieldLooseKey("attributeInitName");var L=babelHelpers.classPrivateFieldLooseKey("initNode");var f=babelHelpers.classPrivateFieldLooseKey("fireEvent");class H{constructor(e){Object.defineProperty(this,f,{value:F});Object.defineProperty(this,L,{value:B});Object.defineProperty(this,d,{writable:true,value:{[o.extraSmall]:"ui-switcher-size-xs",[o.small]:"ui-switcher-size-sm",[o.medium]:""}});Object.defineProperty(this,n,{writable:true,value:{[c.primary]:"",[c.green]:"ui-switcher-color-green"}});this.node=null;this.checked=false;this.id="";Object.defineProperty(this,h,{writable:true,value:false});Object.defineProperty(this,b,{writable:true,value:""});Object.defineProperty(this,p,{writable:true,value:void 0});Object.defineProperty(this,u,{writable:true,value:"ui-switcher-off"});Object.defineProperty(this,v,{writable:true,value:"ui-switcher-lock"});Object.defineProperty(this,m,{writable:true,value:"data-switcher"});this.init(e);H.list.push(this)}static getById(e){return H.list.find((s=>s.id===e))||null}static initByClassName(){const e=document.getElementsByClassName(H.className);Array.from(e).forEach((function(e){if(e.getAttribute(babelHelpers.classPrivateFieldLooseBase(H,P)[P])){return}new H({node:e})}))}static getList(){return H.list}init(e={}){babelHelpers.classPrivateFieldLooseBase(this,m)[m]=s.Type.isString(e.attributeName)?e.attributeName:babelHelpers.classPrivateFieldLooseBase(this,m)[m];this.handlers=s.Type.isPlainObject(e.handlers)?e.handlers:{};babelHelpers.classPrivateFieldLooseBase(this,b)[b]=s.Type.isString(e.inputName)?e.inputName:"";babelHelpers.classPrivateFieldLooseBase(this,p)[p]=false;this.events={toggled:"toggled",checked:"checked",unchecked:"unchecked",lock:"lock",unlock:"unlock"};if(e.node){if(!s.Type.isDomNode(e.node)){throw new Error("Parameter `node` DOM Node expected.")}this.node=e.node;let i=this.node.getAttribute(babelHelpers.classPrivateFieldLooseBase(this,m)[m]);try{i=JSON.parse(i)||{}}catch(e){i={}}if(i.id){this.id=i.id}this.checked=Boolean(i.checked);babelHelpers.classPrivateFieldLooseBase(this,b)[b]=i.inputName;if(s.Type.isString(i.color)&&Object.values(c).includes(i.color)){e.color=i.color}if(s.Type.isString(i.size)&&Object.values(o).includes(i.size)){e.size=i.size}}else{this.node=document.createElement("span")}if(babelHelpers.classPrivateFieldLooseBase(this,d)[d][e.size]){s.Dom.addClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,d)[d][e.size])}if(babelHelpers.classPrivateFieldLooseBase(this,n)[n][e.color]){s.Dom.addClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,n)[n][e.color])}if(s.Type.isString(e.id)||s.Type.isNumber(e.id)){this.id=e.id}else if(!this.id){this.id=Math.random()}if(s.Type.isString(e.inputName)){babelHelpers.classPrivateFieldLooseBase(this,b)[b]=e.inputName}this.checked=s.Type.isBoolean(e.checked)?e.checked:this.checked;babelHelpers.classPrivateFieldLooseBase(this,h)[h]=s.Type.isBoolean(e.disabled)?e.disabled:babelHelpers.classPrivateFieldLooseBase(this,h)[h];babelHelpers.classPrivateFieldLooseBase(this,L)[L]();this.check(this.checked,false);this.disable(babelHelpers.classPrivateFieldLooseBase(this,h)[h],false)}disable(e,i=true,t={}){if(this.isLoading()){return}babelHelpers.classPrivateFieldLooseBase(this,h)[h]=e;i=i!==false;if(e){s.Dom.addClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,v)[v]);i?babelHelpers.classPrivateFieldLooseBase(this,f)[f](this.events.lock,t):null}else{s.Dom.removeClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,v)[v]);i?babelHelpers.classPrivateFieldLooseBase(this,f)[f](this.events.unlock,t):null}}check(e,i=true,t={}){if(this.isLoading()){return}this.checked=!!e;if(this.inputNode){this.inputNode.value=this.checked?"Y":"N"}i=i!==false;if(this.checked){s.Dom.removeClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,u)[u]);i?babelHelpers.classPrivateFieldLooseBase(this,f)[f](this.events.unchecked,t):null}else{s.Dom.addClass(this.node,babelHelpers.classPrivateFieldLooseBase(this,u)[u]);i?babelHelpers.classPrivateFieldLooseBase(this,f)[f](this.events.checked,t):null}if(i){babelHelpers.classPrivateFieldLooseBase(this,f)[f](this.events.toggled,t)}}isDisabled(){return babelHelpers.classPrivateFieldLooseBase(this,h)[h]}isChecked(){return this.checked}toggle(e){if(this.isDisabled()){return}this.check(!this.isChecked(),true,e)}setLoading(e){babelHelpers.classPrivateFieldLooseBase(this,p)[p]=Boolean(e);const i=this.getNode().querySelector(".ui-switcher-cursor");if(babelHelpers.classPrivateFieldLooseBase(this,p)[p]){const e=s.Tag.render(l||(l=a` `));s.Dom.append(e,i)}else{i.innerHTML=""}}isLoading(){return babelHelpers.classPrivateFieldLooseBase(this,p)[p]}renderTo(e){if(!s.Type.isDomNode(e)){throw new Error("Target node must be HTMLElement")}return s.Dom.append(this.getNode(),e)}getNode(){return this.node}getAttributeName(){return babelHelpers.classPrivateFieldLooseBase(this,m)[m]}getInputName(){return babelHelpers.classPrivateFieldLooseBase(this,b)[b]}}function B(){if(this.node.getAttribute(babelHelpers.classPrivateFieldLooseBase(H,P)[P])){return}this.node.setAttribute(babelHelpers.classPrivateFieldLooseBase(H,P)[P],"y");s.Dom.addClass(this.node,H.className);this.node.innerHTML='\n'+''+s.Loc.getMessage("UI_SWITCHER_ON")+"\n"+''+s.Loc.getMessage("UI_SWITCHER_OFF")+"\n";if(babelHelpers.classPrivateFieldLooseBase(this,b)[b]){this.inputNode=s.Tag.render(r||(r=a` `),babelHelpers.classPrivateFieldLooseBase(this,b)[b]);s.Dom.append(this.inputNode,this.node)}s.bind(this.node,"click",this.toggle.bind(this))}function F(e,i){s.onCustomEvent(this,e);if(this.handlers[e]){this.handlers[e].call(this,i)}}Object.defineProperty(H,P,{writable:true,value:"data-switcher-init"});H.list=[];H.className="ui-switcher";e.SwitcherSize=o;e.SwitcherColor=c;e.Switcher=H})(this.BX.UI=this.BX.UI||{},BX,BX,BX.Event); //# sourceMappingURL=ui.switcher.bundle.map.js