PageSourceSearch

https://rootscs.org/themes/custom/material_rcs/js/confetti-controller.min.js?v=1.0

js rootscs.org collected 2026-10-04 05:21:31 UTC 1,542 bytes, 1 lines download raw bytes

1!function(t,e){const n="confetti_element_shown_",o="data-confetti-target",i="data-confetti-container",r="data-confetti-enabled",c="0px 0px -50px 0px",a="confetti-effects-init",f={particleCount:100,spread:70,origin:{y:.5},scalar:1.2,gravity:1,ticks:200,decay:.95};function s(t){return n+function(t){let e=0;if(0===t.length)return e.toString();for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e&=e;return Math.abs(e).toString(36)}(t)}function u(t){const e=t.getAttribute(o),n=t.getAttribute(i);if(!e)return void console.warn("Confetti-enabled element missing target selector attribute",t);const r=new IntersectionObserver(t=>{t.forEach(t=>{if(!t.isIntersecting)return;if(function(t){const e=s(t);return null!==sessionStorage.getItem(e)}(e))return;const o=document.querySelector(e);if(!o)return void console.warn(`Target element not found for selector: ${e}`);let i=null;n&&(i=document.querySelector(n),i||console.warn(`Container element not found for selector: ${n}`)),function(t){const e=s(t);sessionStorage.setItem(e,(new Date).toISOString())}(e),function(t,e){if("undefined"==typeof confetti)return void console.warn("Confetti library not loaded. Skipping confetti animation.");const n=t.getBoundingClientRect(),o={x:(n.left+n.width/2)/window.innerWidth,y:(n.top+n.height/2)/window.innerHeight},i={...f,origin:o};e&&e.getBoundingClientRect().width<400&&(i.spread=45);confetti(i)}(o,i),r.unobserve(t.target)})},{rootMargin:c});r.observe(t)}t.behaviors.confettiEffects={attach(t){e(a,`[${r}="true"]`,t).forEach(t=>{u(t)})}}}(Drupal,once);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.