/* KioskBoard - Virtual Keyboard (https://github.com/furcan/KioskBoard) - Version: 1.4.0 - Author: Furkan MT (https://github.com/furcan) - Copyright 2021 KioskBoard - Virtual Keyboard, MIT Licence (https://opensource.org/licenses/MIT) */ (function(a,b){"function"==typeof define&&define.amd?define([],function(){return b(a)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=b(a):a.KioskBoard=b(a)})("undefined"==typeof global?"undefined"==typeof window?this:window:global,function(a){'use strict';if("undefined"!=typeof a||"undefined"!=typeof a.document){var b,c,d=function(){return null},e=function(){if(null!==d()&&!a.document.getElementById("KioskBoardInternalCSS")){var b=a.document.createElement("style");b.id="KioskBoardInternalCSS",b.innerHTML=d(),a.document.head.appendChild(b)}},f={keysArrayOfObjects:null,keysJsonUrl:null,specialCharactersObject:null,language:"en",theme:"light",capsLockActive:!0,allowRealKeyboard:!1,allowMobileKeyboard:!1,cssAnimations:!0,cssAnimationsDuration:360,cssAnimationsStyle:"slide",keysAllowSpacebar:!0,keysSpacebarText:"Space",keysFontFamily:"sans-serif",keysFontSize:"22px",keysFontWeight:"normal",keysIconSize:"25px",autoScroll:!0},g="https://github.com/furcan/KioskBoard",h=function(){var a={},b=!1,c=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(b=arguments[0],c++);for(var d=function(c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=b&&"[object Object]"===Object.prototype.toString.call(c[d])?h(a[d],c[d]):c[d])};c";return c},m=function(a,b){a||(a=25),b||(b="#707070");var c=" ";return c},n=function(a,b,c){a||(a=50),b||(a=25),c||(c="#707070");var d=" ";return d},o=function(a,b){a||(a=18),b||(b="#707070");var c="";return c};(function(){function b(b,c){c=c||{bubbles:!1,cancelable:!1,detail:void 0};var d=a.document.createEvent("CustomEvent");return d.initCustomEvent(b,c.bubbles,c.cancelable,c.detail),d}return"function"!=typeof a.Event&&void(b.prototype=a.Event.prototype,a.Event=b)})();var p=function(a,b){if(a.target===b)return!0;var c=b.querySelectorAll("*");if(c&&0r.length)return j("You called the KioskBoard with the \""+d+"\" selector, but there is no such element on the document."),!1}if("object"==typeof e&&0"+C+"",E=""+m(z,"#707070")+"",F=""+l(z,"#707070")+"",G="",H="";if(q){var I=parseInt(z)||25;G=""+n(2*I+"px",I+"px","#707070")+"";var J={0:"!",1:"'",2:"^",3:"#",4:"+",5:"$",6:"%",7:"\xBD",8:"&",9:"/",10:"{",11:"}",12:"(",13:")",14:"[",15:"]",16:"=",17:"*",18:"?",19:"\\",20:"-",21:"_",22:"|",23:"@",24:"\u20AC",25:"\u20BA",26:"~",27:"\xE6",28:"\xDF",29:"<",30:">",31:",",32:";",33:".",34:":",35:"`"},K=v.specialCharactersObject;if("object"==typeof K)for(var L in K)Object.prototype.hasOwnProperty.call(K,L)&&(J=K);for(var M in J)if(Object.prototype.hasOwnProperty.call(J,M)){var N=J[M],O=""+N.toString()+"";H+=O}}if("numpad"===k){var P={0:"7",1:"8",2:"9",3:"4",4:"5",5:"6",6:"1",7:"2",8:"3",9:"0"},Q="";for(var R in P)if(Object.prototype.hasOwnProperty.call(P,R)){var S=P[R],T=""+S.toString()+"";Q+=T}t+="
"+Q+F+"
"}if("keyboard"===k||"all"===k){if("all"===k){var U={0:"1",1:"2",2:"3",3:"4",4:"5",5:"6",6:"7",7:"8",8:"9",9:"0"},V="";for(var W in U)if(Object.prototype.hasOwnProperty.call(U,W)){var X=U[W],Y=""+X.toString()+"";V+=Y}t+="
"+V+"
"}for(var Z=0;Z"+aa.toString()+"";$+=ba}t+="
"+$+"
"}if(t+="
"+E+G+D+F+"
",q){var ca=""+o("18px","#707070")+"",da="
"+H+"
";t+="
"+ca+da+"
"}}var ea=function(b){var c=a.document.createElement("div");return c.className="kioskboard-wrapper",c.innerHTML=b.trim(),c}(t),fa=!0===v.cssAnimations,ga="no-animation",ha="no-animation",ia=0;fa&&(ga="kioskboard-with-animation",ha="kioskboard-fade",ia="number"==typeof v.cssAnimationsDuration?v.cssAnimationsDuration:360,"slide"===v.cssAnimationsStyle&&(ha="kioskboard-slide"));var ja="string"==typeof v.theme&&0=c)return!1;if(0=d)return!1;g=b.selectionStart||(b.value||"").length,b.focus();var f=this.dataset.value||"";f=y?f.toLocaleUpperCase(r):f.toLocaleLowerCase(r),h.splice(g,0,f),b.value=h.join(""),b.setSelectionRange(g+1,g+1),b.dispatchEvent(la)},!1);var f=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-key-capslock")[0];f&&f.addEventListener("click",function(a){a.preventDefault(),b.focus(),this.classList.contains("capslock-active")?(this.classList.remove("capslock-active"),ka.classList.add("kioskboard-tolowercase"),ka.classList.remove("kioskboard-touppercase"),y=!1):(this.classList.add("capslock-active"),ka.classList.remove("kioskboard-tolowercase"),ka.classList.add("kioskboard-touppercase"),y=!0)},!1);var i=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-key-backspace")[0];i&&i.addEventListener("click",function(a){a.preventDefault(),g=b.selectionStart||(b.value||"").length,b.focus(),h.splice(g-1,1),b.value=h.join(""),b.setSelectionRange(g-1,g-1),b.dispatchEvent(la)},!1);var j=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-key-specialcharacter")[0],k=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-row-specialcharacters")[0];j&&k&&j.addEventListener("click",function(a){a.preventDefault(),b.focus(),this.classList.contains("specialcharacter-active")?(this.classList.remove("specialcharacter-active"),k.classList.remove("kioskboard-specialcharacter-show")):(this.classList.add("specialcharacter-active"),k.classList.add("kioskboard-specialcharacter-show"))},!1);var l=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-specialcharacter-close")[0];l&&j&&k&&l.addEventListener("click",function(a){a.preventDefault(),b.focus(),j.classList.remove("specialcharacter-active"),k.classList.remove("kioskboard-specialcharacter-show")},!1)},na=a.document.getElementById(ka.id);if(!na){a.document.body.appendChild(ka),na=a.document.getElementById(ka.id);var oa=Math.round(a.innerHeight),pa=Math.round(a.document.body.clientHeight),qa=Math.round(a.document.getElementById(ka.id).offsetHeight);if(qa>Math.round(2*(oa/3))){var ra=a.document.getElementById(ka.id).getElementsByClassName("kioskboard-wrapper")[0];ra.style.maxHeight=Math.round(4*(oa/5))+"px",ra.style.overflowX="hidden",ra.style.overflowY="auto",ra.classList.add("kioskboard-overflow")}var sa=c.getBoundingClientRect().top||0,ta=a.document.documentElement.scrollTop||0,ua=Math.round(sa+ta)-50;if(pa<=ua+qa){var va=a.document.getElementById("KioskboardBodyPadding");va&&null!==va.parentNode&&va.parentNode.removeChild(va);var wa=a.document.createRange();wa.selectNode(a.document.head);var xa=wa.createContextualFragment("");a.document.head.appendChild(xa),a.document.body.classList.add("kioskboard-body-padding")}var ya=!0===v.autoScroll,za=!0===v.cssAnimations?"smooth":"auto",Aa=!0===v.cssAnimations&&"number"==typeof v.cssAnimationsDuration?v.cssAnimationsDuration:0;if(ya){var Ba=navigator.userAgent.toLocaleLowerCase("en");if(-1>=Ba.indexOf("edge")&&-1>=Ba.indexOf(".net4"))var Ca=setTimeout(function(){a.scrollTo({top:ua,left:0,behavior:za}),clearTimeout(Ca)},Aa);else a.document.documentElement.scrollTop=ua}ma(c);var Da=function(b){if(b.target!==c&&!p(b,na)){ka.classList.add(ha+"-remove");var e=setTimeout(function(){null!==na.parentNode&&(na.parentNode.removeChild(na),a.document.body.classList.remove("kioskboard-body-padding"),a.document.removeEventListener("click",Da)),clearTimeout(e)},ia)}if(-1=["http:","data:","chrome:","chrome-extension:","https:"].indexOf(e))return j("The Browser has blocked this request by CORS policy."),!1;if(!b){var f=new XMLHttpRequest;f.open("GET",c,!0),f.setRequestHeader("Content-type","application/json; charset=utf-8"),f.send(),f.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){var a=this.responseText||[];if("string"==typeof a&&0