PageSourceSearch

https://unifydrive.com/cdn/shop/t/30/assets/blog-posts-list.js?v=155411648466108476581766127474

js unifydrive.com collected 2026-10-04 22:07:48 UTC 3,021 bytes, 2 lines download raw bytes

1class BlogPostsList extends HTMLElement{constructor(){super()}connectedCallback(){this.mainViews=[...this.querySelectorAll("[data-main-view]")],this.listItems=[...this.querySelectorAll("[data-list-item]")],this.toggleButtons=[...this.querySelectorAll("[data-toggle-button]")],this.contentElements=[...this.querySelectorAll("[data-content]")],this.seizerElement=this.querySelector("[data-seizer]"),this.initialized=!1,this.init()}init(){this.setSeizerHeight(this.mainViews[0]),this.listItems.forEach(item=>{const header=item.querySelector(".blog-post-header");header&&header.addEventListener("click",this.onHeaderClick.bind(this))}),this.toggleButtons.forEach(button=>{button.addEventListener("click",this.onToggleButtonClick.bind(this))})}onHeaderClick(e){if(e.target.closest("[data-toggle-button]"))return;const item=e.target.closest("[data-list-item]");if(!item)return;const toggleButton=item.querySelector("[data-toggle-button]");toggleButton&&this.toggleContent(toggleButton)}onToggleButtonClick(e){e.stopPropagation();const toggleButton=e.target.closest("[data-toggle-button]");toggleButton&&this.toggleContent(toggleButton)}toggleContent(toggleButton){const expanded=toggleButton.getAttribute("aria-expanded")==="true";toggleButton.setAttribute("aria-expanded",!expanded);const contentId=toggleButton.getAttribute("aria-controls"),content=document.getElementById(contentId),iconArrow=toggleButton.querySelector(".icon-arrow img");iconArrow&&(expanded?iconArrow.src=iconArrow.src.replace("arrow-up.svg","arrow-down.svg"):iconArrow.src=iconArrow.src.replace("arrow-down.svg","arrow-up.svg")),content&&(expanded?content.classList.remove("expanded"):content.classList.add("expanded"))}onListItemHover(e){const item=e.target,articleId=item.dataset.articleId;if(!articleId)return;const mainArticleView=this.mainViews.find(view=>view.dataset.articleId===articleId);this.setActiveListItem(item),this.setActiveMainView(mainArticleView),this.setSeizerHeight(mainArticleView),this.scrollToView(mainArticleView)}setActiveListItem(activeItem){this.setAndRemoveActiveState("list-item",activeItem)}setActiveMainView(activeView){this.setAndRemoveActiveState("main-view",activeView)}setAndRemoveActiveState(type,activeElement){(type==="list-item"?this.listItems:this.mainViews).forEach(element=>{element.classList.remove("is-active")}),activeElement.classList.add("is-active")}setSeizerHeight(activeView){this.seizerElement.style.height=activeView.getBoundingClientRect().height+"px",this.initialized||(this.classList.remove("loading"),this.initialized=!0)}scrollToView(activeView){if(window.innerWidth<1024){const topSpace=activeView.getBoundingClientRect().top,headerHeight=document.querySelector("sticky-header")?document.querySelector("sticky-header").clientHeight:0;window.scrollBy({top:topSpace-15-headerHeight,behavior:"smooth"})}}}window.addEventListener("load",()=>{customElements.define("blog-posts-list",BlogPostsList)});
2//# sourceMappingURL=/cdn/shop/t/30/assets/blog-posts-list.js.map?v=155411648466108476581766127474

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.