PageSourceSearch

https://brave.com/js/4-details-summary-animation.2b2cb643f1890d8e7…c0d85e5982aa58a156b2362b0d84b09841668db5.js

js brave.com collected 2026-10-01 06:42:23 UTC 2,175 bytes, 1 lines download raw bytes

1(()=>{(()=>{var l=class h{static defaultGroup=[];constructor(i,t=!1){this.el=i,this.singleOpen=t,this.summary=i.querySelector("[data-accordion-heading]"),this.content=i.querySelector("[data-accordion-content]"),this.animation=null,this.isClosing=!1,this.isExpanding=!1,this.group=i.closest("[data-accordion-group]")?this.getGroup(i.closest("[data-accordion-group]")):h.defaultGroup,this.group.push(this),this.summary.addEventListener("click",e=>this.onClick(e))}getGroup(i){return i._accordionGroup||(i._accordionGroup=[]),i._accordionGroup}onClick(i){i.preventDefault(),!(this.singleOpen&&this.el.open)&&(this.isClosing||!this.el.open?(this.singleOpen&&this.closeAll(this),this.open()):(this.isExpanding||this.el.open)&&this.shrink())}animateElement(i,t,e){this.animation&&this.animation.cancel(),this.animation=this.el.animate({height:[i,t]},{duration:100,easing:"ease-out"}),this.animation.onfinish=e,this.animation.oncancel=()=>{this.isClosing=!1,this.isExpanding=!1}}shrink(){this.isClosing=!0,this.animateElement(`${this.el.offsetHeight}px`,`${this.summary.offsetHeight}px`,()=>this.onAnimationFinish(!1))}open(){this.el.style.height=`${this.el.offsetHeight}px`,this.el.open=!0,window.requestAnimationFrame(()=>this.expand())}expand(){this.isExpanding=!0;let i=`${this.summary.offsetHeight+this.content.offsetHeight-2}px`;this.animateElement(`${this.el.offsetHeight}px`,i,()=>this.onAnimationFinish(!0))}onAnimationFinish(i){this.el.open=i,this.animation=null,this.isClosing=!1,this.isExpanding=!1,this.el.style.height=""}closeAll(i){this.group.forEach(t=>{t!==i&&t.el.open&&t.shrink()})}};function o(){let s=location.hash;if(s&&!/fn:/.test(s)){let i=document.querySelector(s);i&&(i.open=!0)}}document.addEventListener("DOMContentLoaded",function(){o(),window.onhashchange=o,document.querySelectorAll("[data-accordion-heading]").forEach(i=>{i.addEventListener("click",t=>{let e=t.target.closest("details"),a=e?.id,n="";a&&!e?.open&&(n=`#${a}`),history.pushState?(n=n||location.pathname+location.search,history.pushState(null,null,n)):location.hash=n})}),document.querySelectorAll("details").forEach(i=>{let t=i.hasAttribute("data-single-open");new l(i,t)})})})();})();

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.