2 lines
3.8 KiB
JavaScript
2 lines
3.8 KiB
JavaScript
var KTK=KTK||{};KTK.CSSA=function(){var e={observeNodeConfig:{attributeFilter:["style","class","id"]},observeDOMConfig:{childList:!0},processDOM:!0,observeDOM:!0,selectors:["active","hover","focus","checked"]},o=new MutationObserver(function(e){for(var o of e)for(var t=0;t<o.addedNodes.length;t++)d(o.addedNodes[t]),n(o.addedNodes[t])}),t=new MutationObserver(function(e){for(var o of e)d(o.target)}),a=["--audio-src","--audio-state","--audio-playback","--audio-offset","--audio-duration","--audio-ontrigger","--audio-loop","--audio-volume"];function u(){o.observe(document.body,e.observeDOMConfig)}function i(){for(var e=document.body.querySelectorAll("*"),o=0;o<e.length;o++)d(e[o]),n(e[o])}function n(o){t.observe(o,e.observeNodeConfig)}function d(o){var t;window.getComputedStyle(o,null).getPropertyValue("--audio-src")&&((t=o).last_state=c(t,a),f(t,c(t,a)),function(o){var t;-1!==e.selectors.indexOf("active")&&s(r(o)+":active")&&(t=c(o,a),o.addEventListener("mousedown",function(e){t=c(o,a)}),o.addEventListener("mouseup",function(e){f(o,t)})),-1!==e.selectors.indexOf("hover")&&s(r(o)+":hover")&&(o.addEventListener("mouseover",function(e){f(o,c(o,a))}),o.addEventListener("mouseout",function(e){f(o,c(o,a))})),-1!==e.selectors.indexOf("focus")&&s(r(o)+":focus")&&(o.addEventListener("focus",function(e){f(o,c(o,a))}),o.addEventListener("blur",function(e){f(o,c(o,a))})),-1!==e.selectors.indexOf("checked")&&s(r(o)+":checked")&&o.addEventListener("change",function(e){f(o,c(o,a))})}(t))}function r(e){return e.tagName.toLowerCase()+(e.id?"#"+e.id:"")+(e.className?"."+e.className.replace(" ","."):"")}function s(e){for(var o=0;o<document.styleSheets.length;o++)for(var t=document.styleSheets[o].cssRules,a=0;a<t.length;a++)if(-1!==t[a].selectorText.indexOf(e,t[a].selectorText.length-e.length))return!0;return!1}function c(e,o){for(var t={},a=window.getComputedStyle(e,null),u=0;u<o.length;u++){t[o[u]]=a.getPropertyValue(o[u]).split(",");for(var i=0;i<t[o[u]].length;i++)t[o[u]][i]=t[o[u]][i].trim()}return t}function l(e,o,t){var u=/(?:\(['"]?)(.*?)(?:['"]?\))/.exec(o["--audio-src"][t]),i=u?u[1]:"",n=o["--audio-state"][t]||"stopped",d=o["--audio-playback"][t]||"playthrough",r=o["--audio-ontrigger"][t],s=o["--audio-loop"][t]||1,l=o["--audio-offset"][t]||"0s",v=parseInt(o["--audio-volume"][t]||100)/100;if(-1!==l.lastIndexOf("ms")?l=1e3*parseFloat(l):-1!==l.lastIndexOf("s")&&(l=parseFloat(l)),e.audio&&e.audio[t]||function(e,o){e.audio=e.audio||[],e.audio[o]||(e.audio[o]=new Audio,e.audio[o].autoplay=!1,e.audio[o].loop_count=0,e.audio[o].addEventListener("abort",function(e){}),e.audio[o].addEventListener("play",function(e){}),e.audio[o].addEventListener("pause",function(e){}),e.audio[o].addEventListener("ended",function(o){var t=c(e,a);f(e,t)}),e.audio[o].addEventListener("loadeddata",function(e){}))}(e,t),e.audio[t].origSrc!==i&&(e.audio[t].origSrc=i,e.audio[t].src=i),e.audio[t].volume=v,"default"==n&&(n=e.last_state["--audio-state"][t],o["--audio-state"][t]=n),"playing"==n&&e.audio[t].paused)("infinite"===s||(s=parseInt(s))>0&&e.audio[t].loop_count<s)&&(e.audio[t].ended&&(e.audio[t].currentTime=l),e.audio[t].play(),e.audio[t].loop_count++);else if("playing"!=n||e.audio[t].paused)"paused"==n&&e.audio[t].paused||("paused"!=n||e.audio[t].paused?"stopped"==n&&e.audio[t].paused?(e.audio[t].currentTime=l,e.audio[t].loop_count=0):"stopped"!=n||e.audio[t].paused||"playthrough"===d||(e.audio[t].currentTime=l,e.audio[t].pause(),e.audio[t].loop_count=0):e.audio[t].pause());else if("reset"==r)e.audio[t].currentTime=l,e.audio[t].play();else if("multi"==r){var p=e.audio[t].cloneNode(!1);p.currentTime=l,p.volume=e.audio[t].volume,p.play()}}function f(e,o){var t=0;for(var a in o)o[a].length>t&&(t=o[a].length);for(a=0;a<t;a++)l(e,o,a);e.last_state=o}return{processNode:d,observeNode:n,observeDOM:u,processDOM:i,init:function(o){Object.assign(e,o),e.processDOM&&i(),e.observeDOM&&u()}}}();
|