kioskboard
Version:
A pure JavaScript library for using virtual keyboards.
3 lines (2 loc) • 19.3 kB
JavaScript
/* KioskBoard - Virtual Keyboard (https://github.com/furcan/KioskBoard) - Version: 2.3.0 - Author: Furkan (https://github.com/furcan) - Copyright 2022 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,keysSpecialCharsArrayOfStrings:null,keysNumpadArrayOfNumbers:null,language:"en",theme:"light",autoScroll:!0,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",keysEnterText:"Enter",keysEnterCallback:void 0,keysEnterCanClose:!0},g="https://github.com/furcan/KioskBoard",h={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:"`"},i={0:"7",1:"8",2:"9",3:"4",4:"5",5:"6",6:"1",7:"2",8:"3",9:"0"},j={0:"1",1:"2",2:"3",3:"4",4:"5",5:"6",6:"7",7:"8",8:"9",9:"0"},k={All:"all",Keyboard:"keyboard",Numpad:"numpad"},l={Bottom:"bottom",Top:"top"},m=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])?m(a[d],c[d]):c[d])};c<arguments.length;c++)d(arguments[c]);return a},n=function(a){if(Array.isArray(a)&&0<a.length){var b=a[0];if("object"==typeof b&&!Array.isArray(b))for(var c in b)if(Object.prototype.hasOwnProperty.call(b,c))return!0}return!1},o=function(a){return console.error("%c KioskBoard (Error) ","padding:2px;border-radius:20px;color:#fff;background:#f44336","\n"+a)},p=function(a){return console.log("%c KioskBoard (Info) ","padding:2px;border-radius:20px;color:#fff;background:#00bcd4","\n"+a)},q=function(a,b){a||(a=25),b||(b="#707070");var c=" <svg id=\"KioskBoardIconBackspace\" xmlns=\"http://www.w3.org/2000/svg\" width=\""+a+"\" height=\""+a+"\" viewBox=\"0 0 612 612\" style=\"width:"+a+";height:"+a+";fill:"+b+";\"><path d=\"M561,76.5H178.5c-17.85,0-30.6,7.65-40.8,22.95L0,306l137.7,206.55c10.2,12.75,22.95,22.95,40.8,22.95H561c28.05,0,51-22.95,51-51v-357C612,99.45,589.05,76.5,561,76.5z M484.5,397.8l-35.7,35.7L357,341.7l-91.8,91.8l-35.7-35.7l91.8-91.8l-91.8-91.8l35.7-35.7l91.8,91.8l91.8-91.8l35.7,35.7L392.7,306L484.5,397.8z\"/></svg>";return c},r=function(a,b){a||(a=25),b||(b="#707070");var c=" <svg id=\"KioskBoardIconCapslock\" xmlns=\"http://www.w3.org/2000/svg\" width=\""+a+"\" height=\""+a+"\" style=\"width:"+a+";height:"+a+";fill:"+b+";shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\" viewBox=\"0 0 200 200\"><path d=\"M61.8 148.97l76.4 0c6,0 10.91,4.9 10.91,10.9l0 27.24c0,5.99 -4.91,10.89 -10.91,10.89l-76.4 0c-6,0 -10.91,-4.9 -10.91,-10.89l0 -27.24c0,-6 4.91,-10.9 10.91,-10.9zm105.7 -60.38l-18.39 0 0 37.36c0,5.99 -4.91,10.89 -10.91,10.89l-76.4 0c-6,0 -10.91,-4.9 -10.91,-10.89l0 -37.36 -18.39 0c-2.65,0 -4.91,-1.47 -5.97,-3.89 -1.07,-2.42 -0.63,-5.08 1.16,-7.02l67.5 -73.57c1.28,-1.39 2.91,-2.11 4.81,-2.11 1.9,0 3.53,0.72 4.81,2.11l67.5 73.57c1.79,1.94 2.23,4.6 1.16,7.02 -1.06,2.42 -3.32,3.89 -5.97,3.89z\"/></svg>";return c},s=function(a,b,c){a||(a=50),b||(a=25),c||(c="#707070");var d=" <svg id=\"KioskBoardIconSpecialCharacters\" xmlns=\"http://www.w3.org/2000/svg\" width=\""+a+"\" height=\""+b+"\" style=\"width:"+a+";height:"+b+";fill:"+c+";shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\" viewBox=\"0 0 300 150\"><path d=\"M34.19 79.43l1.99 -10.86 10.8 0 -1.96 10.86 -10.83 0zm264.98 -17.22l0 -9.63c0,-1.23 -1,-2.23 -2.24,-2.23l-74.48 0c-1.24,0 -2.24,1 -2.24,2.23l0 9.63c0,1.23 1,2.23 2.24,2.23l74.48 0c1.24,0 2.24,-1 2.24,-2.23zm0 35.22l0 -9.62c0,-1.23 -1,-2.23 -2.24,-2.23l-74.48 0c-1.24,0 -2.24,1 -2.24,2.23l0 9.62c0,1.23 1,2.24 2.24,2.24l74.48 0c1.24,0 2.24,-1.01 2.24,-2.24zm-153.98 -61.91l9.63 0c1.23,0 2.23,1.01 2.23,2.25l0 30.19 30.19 0c1.25,0 2.25,1.01 2.25,2.23l0 9.63c0,1.23 -1,2.23 -2.25,2.23l-30.19 0 0 30.19c0,1.25 -1,2.25 -2.23,2.25l-9.63 0c-1.23,0 -2.23,-1 -2.23,-2.25l0 -30.19 -30.19 0c-1.24,0 -2.25,-1 -2.25,-2.23l0 -9.63c0,-1.22 1.01,-2.23 2.25,-2.23l30.19 0 0 -30.19c0,-1.24 1,-2.25 2.23,-2.25zm-67.7 33.05c1.28,0 2.31,-1.03 2.31,-2.31l0 -9.2c0,-1.27 -1.03,-2.31 -2.31,-2.31l-13.93 0 2.95 -16.51c0.12,-0.68 -0.07,-1.37 -0.51,-1.89 -0.44,-0.53 -1.09,-0.83 -1.77,-0.83l-9.36 -0.01c0,0 0,0 0,0 -1.12,0 -2.08,0.8 -2.28,1.9l-3.12 17.34 -10.74 0 3.03 -16.49c0.12,-0.67 -0.06,-1.37 -0.5,-1.89 -0.44,-0.53 -1.09,-0.84 -1.77,-0.84l-9.48 -0.01c0,0 0,0 0,0 -1.12,0 -2.08,0.8 -2.28,1.9l-3.16 17.33 -21.43 0c-1.28,0 -2.31,1.04 -2.31,2.32l0 9.19c0,1.28 1.03,2.31 2.31,2.31l18.91 0 -1.98 10.86 -16.93 0c-1.28,0 -2.31,1.04 -2.31,2.31l0 9.2c0,1.28 1.03,2.31 2.31,2.31l14.41 0 -3.35 18.36c-0.12,0.67 0.06,1.37 0.5,1.89 0.44,0.53 1.09,0.84 1.78,0.84l9.36 0c1.12,0 2.08,-0.8 2.28,-1.9l3.53 -19.19 10.88 0 -3.31 18.42c-0.13,0.67 0.06,1.36 0.49,1.89 0.44,0.52 1.08,0.83 1.76,0.84l9.49 0.09c0,0 0.01,0 0.02,0 1.12,0 2.08,-0.81 2.28,-1.91l3.44 -19.33 20.79 0c1.28,0 2.31,-1.03 2.31,-2.31l0 -9.2c0,-1.27 -1.03,-2.31 -2.31,-2.31l-18.32 0 1.93 -10.86 16.39 0z\"/></svg>";return d},t=function(a,b){a||(a=18),b||(b="#707070");var c="<svg id=\"KioskBoardIconClose\" width=\""+a+"\" height=\""+a+"\" style=\"width:"+a+";height:"+a+";fill:"+b+";\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 348.333 348.334\"><path d=\"M336.559,68.611L231.016,174.165l105.543,105.549c15.699,15.705,15.699,41.145,0,56.85c-7.844,7.844-18.128,11.769-28.407,11.769c-10.296,0-20.581-3.919-28.419-11.769L174.167,231.003L68.609,336.563c-7.843,7.844-18.128,11.769-28.416,11.769c-10.285,0-20.563-3.919-28.413-11.769c-15.699-15.698-15.699-41.139,0-56.85l105.54-105.549L11.774,68.611c-15.699-15.699-15.699-41.145,0-56.844c15.696-15.687,41.127-15.687,56.829,0l105.563,105.554\tL279.721,11.767c15.705-15.687,41.139-15.687,56.832,0C352.258,27.466,352.258,52.912,336.559,68.611z\"/></svg>";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 u=function(a,b){if(a.target===b)return!0;var c=b.querySelectorAll("*");if(c&&0<c.length)for(var d,e=0;e<c.length;e++)if(d=c[e],a.target===d)return!0;return!1},v={init:function(a){a="object"==typeof a&&0<Object.keys(a).length?a:{},c=m(!0,f,a),e()},run:function(d,e){var w=[],x=["input","textarea"],y=-1<x.indexOf(((d||{}).nodeName||"").toLocaleLowerCase("en"));if(y)w.push(d);else{var z="string"==typeof d&&0<d.length;if(!z)return o("\""+d+"\" is not a valid selector."),!1;if(w=a.document.querySelectorAll(d),1>w.length)return o("You called the KioskBoard with the \""+d+"\" selector, but there is no such element on the document."),!1}if("object"==typeof e&&0<Object.keys(e).length)c?c=m(!0,f,e):v.init(e);else if(!c)return o("You have to initialize the KioskBoard first. \n\nVisit to learn more: "+g),!1;var A=c,B=A.keysArrayOfObjects,C=!1;if(n(B)&&(C=!0,b=B),!C){var D="string"==typeof A.keysJsonUrl&&0<A.keysJsonUrl.length;if(!D)return o("You have to set the path of KioskBoard Keys JSON file to \"keysJsonUrl\" option. \n\nVisit to learn more: "+g),!1}for(var E=function(b,c){var d=[c],f=null!==c.getAttribute("readonly"),g=!0===A.allowMobileKeyboard,m=function(c){var f=c.currentTarget,m=0,n=[],o=[k.All,k.Keyboard,k.Numpad],p=(f.dataset.kioskboardType||"").toLocaleLowerCase("en"),v=-1<o.indexOf(p)?p:k.All,w=(f.dataset.kioskboardPlacement||"").toLocaleLowerCase("en"),x=w===l.Top?w:l.Bottom,y="true"===(f.dataset.kioskboardSpecialcharacters||"").toLocaleLowerCase("en"),z="string"==typeof A.language&&0<A.language.length?A.language.toLocaleLowerCase("en"):"en";g||(f.setAttribute("readonly","readonly"),f.blur());var B=(f.value||"").length;m=f.selectionStart||B,n=f.value.split("");var C="",D="string"==typeof A.keysFontFamily&&0<A.keysFontFamily.length?A.keysFontFamily:"sans-serif",E="string"==typeof A.keysFontSize&&0<A.keysFontSize.length?A.keysFontSize:"22px",F="string"==typeof A.keysFontWeight&&0<A.keysFontWeight.length?A.keysFontWeight:"normal",G=!0===A.capsLockActive,H="string"==typeof A.keysIconSize&&0<A.keysIconSize.length?A.keysIconSize:"25px",I=!0===A.keysAllowSpacebar,J=I?" ":"",K="string"==typeof A.keysSpacebarText&&0<A.keysSpacebarText.length?A.keysSpacebarText:"Space",L="string"==typeof A.keysEnterText&&0<A.keysEnterText.length?A.keysEnterText:"Enter",M="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key kioskboard-key-space "+(I?"spacebar-allowed":"spacebar-denied")+"\" data-value=\""+J+"\">"+K+"</span>",N="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key-capslock "+(G?"capslock-active":"")+"\">"+r(H,"#707070")+"</span>",O="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key-backspace\">"+q(H,"#707070")+"</span>",P="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key-enter\">"+L+"</span>",Q="",R="";if(y){var S=parseInt(H)||25;Q="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key-specialcharacter\">"+s(2*S+"px",S+"px","#707070")+"</span>";var T=A.keysSpecialCharsArrayOfStrings;for(var U in Array.isArray(T)&&0<T.length&&(h=T.reduce(function(a,b,c){return a[c]=b,a},{})),h)if(Object.prototype.hasOwnProperty.call(h,U)){var V=h[U],W="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key\" data-index=\""+U.toString()+"\" data-value=\""+V.toString()+"\">"+V.toString()+"</span>";R+=W}}if(v===k.Numpad){var X=A.keysNumpadArrayOfNumbers;Array.isArray(X)&&10===X.length&&(i=X.reduce(function(a,b,c){return a[c]=b,a},{}));var Y="";for(var Z in i)if(Object.prototype.hasOwnProperty.call(i,Z)){var $=Z,_=i[Z],aa="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key kioskboard-key-"+_.toString()+" "+("9"===$?"kioskboard-key-last":"")+"\" data-index=\""+$.toString()+"\" data-value=\""+_.toString()+"\">"+_.toString()+"</span>";Y+=aa}C+="<div class=\"kioskboard-row kioskboard-row-numpad\">"+Y+O+P+"</div>"}if(v===k.Keyboard||v===k.All){if(v===k.All){var ba="";for(var ca in j)if(Object.prototype.hasOwnProperty.call(j,ca)){var da=j[ca],ea="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key kioskboard-key-"+da.toString()+"\" data-index=\""+ca.toString()+"\" data-value=\""+da.toString()+"\">"+da.toString()+"</span>";ba+=ea}C+="<div class=\"kioskboard-row kioskboard-row-top\">"+ba+"</div>"}for(var fa=0;fa<b.length;fa++){var e=b[fa],ga="";for(var ha in e)if(Object.prototype.hasOwnProperty.call(e,ha)){var ia=e[ha],ja="<span style=\"font-family:"+D+",sans-serif;font-weight:"+F+";font-size:"+E+";\" class=\"kioskboard-key kioskboard-key-"+ia.toString().toLocaleLowerCase(z)+"\" data-index=\""+ha.toString()+"\" data-value=\""+ia.toString()+"\">"+ia.toString()+"</span>";ga+=ja}C+="<div class=\"kioskboard-row kioskboard-row-dynamic\">"+ga+"</div>"}if(C+="<div class=\"kioskboard-row kioskboard-row-bottom "+(y?"kioskboard-with-specialcharacter":"")+"\">"+N+Q+M+P+O+"</div>",y){var ka="<span class=\"kioskboard-specialcharacter-close\">"+t("18px","#707070")+"</span>",la="<div class=\"kioskboard-specialcharacters-content\">"+R+"</div>";C+="<div class=\"kioskboard-row kioskboard-row-specialcharacters\">"+ka+la+"</div>"}}var ma=function(b){var c=a.document.createElement("div");return c.className="kioskboard-wrapper",c.innerHTML=b.trim(),c}(C),na=!0===A.cssAnimations,oa="no-animation",pa="no-animation",qa=0;na&&(oa="kioskboard-with-animation",pa="kioskboard-fade",qa="number"==typeof A.cssAnimationsDuration?A.cssAnimationsDuration:360,"slide"===A.cssAnimationsStyle&&(pa="kioskboard-slide"));var ra="string"==typeof A.theme&&0<A.theme.length?A.theme.trim():"light",sa=a.document.createElement("div");sa.id="KioskBoard-VirtualKeyboard",sa.classList.add("kioskboard-theme-"+ra),sa.classList.add("kioskboard-placement-"+x),sa.classList.add(oa),sa.classList.add(pa),sa.classList.add(G?"kioskboard-touppercase":"kioskboard-tolowercase"),sa.lang=z,sa.style.webkitLocale="\""+z+"\"",sa.style.animationDuration=na?qa+"ms":"",sa.appendChild(ma);var ta=function(){var b=a.document.getElementById("KioskBoard-VirtualKeyboard");if(b){b.classList.add(pa+"-remove");var c=setTimeout(function(){null!==b.parentNode&&(b.parentNode.removeChild(b),a.document.body.classList.remove("kioskboard-body-padding")),clearTimeout(c)},qa)}},ua=new Event("change",{bubbles:!0,cancelable:!0});f.addEventListener("keypress",function(a){var b=!0===A.allowRealKeyboard;return b?void(n=a.currentTarget.value.split("")):(a.stopPropagation(),a.preventDefault(),a.returnValue=!1,a.cancelBubble=!0,!1)},!1);var va=function(b,c){if(b){var d=("ontouchend"in a)||0<a.navigator.maxTouchPoints;d&&(b.addEventListener("contextmenu",function(a){a.preventDefault()},!1),b.addEventListener("touchend",c)),b.addEventListener("click",c)}},wa=function(b){var c=a.document.querySelectorAll(".kioskboard-key");if(c&&0<c.length)for(var d,e=0;e<c.length;e++)d=c[e],va(d,function(a){a.preventDefault();var c=1*(b.getAttribute("maxlength")||""),d=1*(b.getAttribute("max")||""),e=(b.value||"").length||0;if(0<c&&e>=c)return!1;if(0<d&&e>=d)return!1;b.focus();var f=a.currentTarget.dataset.value||"";f=G?f.toLocaleUpperCase(z):f.toLocaleLowerCase(z);for(var g=f.split(""),h=0;h<g.length;h++)m=b.selectionStart||(b.value||"").length,n.splice(m,0,g[h]),b.value=n.join(""),"number"!==b.type&&b.setSelectionRange(m+1,m+1),b.dispatchEvent(ua)});var f=a.document.querySelector(".kioskboard-key-capslock");f&&va(f,function(a){a.preventDefault(),b.focus(),a.currentTarget.classList.contains("capslock-active")?(a.currentTarget.classList.remove("capslock-active"),sa.classList.add("kioskboard-tolowercase"),sa.classList.remove("kioskboard-touppercase"),G=!1):(a.currentTarget.classList.add("capslock-active"),sa.classList.remove("kioskboard-tolowercase"),sa.classList.add("kioskboard-touppercase"),G=!0)});var g=a.document.querySelector(".kioskboard-key-backspace");g&&va(g,function(a){a.preventDefault(),m=b.selectionStart||(b.value||"").length,b.focus(),n.splice(m-1,1),b.value=n.join(""),"number"!==b.type&&b.setSelectionRange(m-1,m-1),b.dispatchEvent(ua)});var h=a.document.querySelector(".kioskboard-key-specialcharacter"),i=a.document.querySelector(".kioskboard-row-specialcharacters");h&&i&&va(h,function(a){a.preventDefault(),b.focus(),a.currentTarget.classList.contains("specialcharacter-active")?(a.currentTarget.classList.remove("specialcharacter-active"),i.classList.remove("kioskboard-specialcharacter-show")):(a.currentTarget.classList.add("specialcharacter-active"),i.classList.add("kioskboard-specialcharacter-show"))});var j=a.document.querySelector(".kioskboard-specialcharacter-close");j&&h&&i&&va(j,function(a){a.preventDefault(),b.focus(),h.classList.remove("specialcharacter-active"),i.classList.remove("kioskboard-specialcharacter-show")});var k=a.document.querySelector(".kioskboard-key-enter");k&&va(k,function(){!0===A.keysEnterCanClose&&ta(),"function"==typeof A.keysEnterCallback&&A.keysEnterCallback()})},xa=a.document.getElementById("KioskBoard-VirtualKeyboard");if(!xa){a.document.body.appendChild(sa);var ya=Math.round(a.innerHeight),za=Math.round(a.document.body.clientHeight),Aa=Math.round(a.document.getElementById("KioskBoard-VirtualKeyboard").offsetHeight);if(Aa>Math.round(2*(ya/3))){var Ba=a.document.querySelector(".kioskboard-wrapper");Ba.style.maxHeight=Math.round(4*(ya/5))+"px",Ba.style.overflowX="hidden",Ba.style.overflowY="auto",Ba.classList.add("kioskboard-overflow")}var Ca=x===l.Top,Da=(Ca?f.getBoundingClientRect().top:f.getBoundingClientRect().bottom)||0,Ea=a.document.documentElement.scrollTop||0,Fa=Math.round(Da+Ea),Ga=Fa<Aa&&Ca;if(Ga||za<=Fa+Aa&&!Ca){var Ha=a.document.getElementById("KioskboardBodyPadding");Ha&&null!==Ha.parentNode&&Ha.parentNode.removeChild(Ha);var Ia="<style id=\"KioskboardBodyPadding\">.kioskboard-body-padding {padding-"+(Ga?"top":"bottom")+":"+Aa+"px !important;}</style>",Ja=a.document.createRange();Ja.selectNode(a.document.head);var Ka=Ja.createContextualFragment(Ia);a.document.head.appendChild(Ka),a.document.body.classList.add("kioskboard-body-padding")}var La=!0===A.autoScroll;if(La){var Ma=Ca?20:50,Na=f.getBoundingClientRect().top||0,Oa=Math.round(Na+Ea),Pa=!0===A.cssAnimations?"smooth":"auto",Qa=!0===A.cssAnimations&&"number"==typeof A.cssAnimationsDuration?A.cssAnimationsDuration:0,Ra=Oa-Ma-(Ca?Aa:0),Sa=a.navigator.userAgent.toLocaleLowerCase("en"),Ta=-1<Sa.indexOf(".net4"),Ua=-1<Sa.indexOf("edge"),Va=Ua&&-1<Sa.indexOf("webview");if((!Ua||Va)&&!Ta)var Wa=setTimeout(function(){Va?a.scrollBy(0,Oa):a.scrollTo({top:Ra,left:0,behavior:Pa}),clearTimeout(Wa)},Qa);else a.document.documentElement.scrollTop=Ra}wa(f);var Xa=function(b){var c=setTimeout(function(){var e=a.document.getElementById("KioskBoard-VirtualKeyboard");if(!e||b.target===f||u(b,e)||b.target.classList.contains("kioskboard-body-padding")||(ta(),a.document.removeEventListener("click",Xa)),-1<d.indexOf(f))var g=setTimeout(function(){b.target.blur(),b.target.focus(),clearTimeout(g)},qa);clearTimeout(c)},qa)};a.document.addEventListener("click",Xa)}};c.addEventListener("focus",m);c.addEventListener("focusout",function(a){g||f||a.currentTarget.removeAttribute("readonly")})},F=function(a,c){if(!b){var d=new XMLHttpRequest;d.open("GET",a,!0),d.setRequestHeader("Content-type","application/json; charset=utf-8"),d.send(),d.onreadystatechange=function(){if(4===d.readyState)if(200===d.status){var a=d.responseText||[];if("string"==typeof a&&0<a.length){var e=JSON.parse(a);if(n(e))b=e,E(e,c);else return o("Array of objects of the keys are not valid. \n\nVisit to learn more: "+g),!1}}else return o("XMLHttpRequest has been failed. Please check your URL path or protocol."),!1}}},G=0;G<w.length;G++){var H=w[G],I=((H||{}).tagName||"").toLocaleLowerCase("en");-1<x.indexOf(I)?b?E(b,H):F(A.keysJsonUrl,H):p("You have to call the \"KioskBoard\" with an ID/ClassName of an Input or a TextArea element. Your element's tag name is: \""+I+"\". \n\nYou can visit the Documentation page to learn more. \n\nVisit: "+g)}}};return v}});