1(() => { 2 // assets/js/app.js 3 document.addEventListener("DOMContentLoaded", () => { 4 if (document.querySelector(".dark_light_switch")) { 5 if (localStorage.getItem("dark_theme")) { 6 document.querySelector("body").classList.add("dark_theme"); 7 } 8 document.querySelector(".dark_light_switch").addEventListener("click", () => { 9 if (document.querySelector("body").classList.contains("dark_theme")) { 10 document.querySelector("body").classList.remove("dark_theme"); 11 localStorage.removeItem("dark_theme"); 12 } else { 13 document.querySelector("body").classList.add("dark_theme"); 14 localStorage.setItem("minimise_side_header", 1); 15 } 16 }); 17 } 18 if (document.querySelector(".searchbox")) { 19 document.querySelector(".searchbox svg").addEventListener("click", (e) => { 20 e.preventDefault(); 21 if (document.querySelector(".searchbox").classList.contains("active")) { 22 document.querySelector(".searchbox").classList.remove("active"); 23 } else { 24 document.querySelector(".searchbox").classList.add("active"); 25 } 26 }); 27 } 28 if (document.querySelector(".ajax-badge")) { 29 } 30 }); 31 var reframe = (target, cName) => { 32 var _a, _b; 33 var frames = typeof target === "string" ? document.querySelectorAll(target) : target; 34 var c = cName || "js-reframe"; 35 if (!("length" in frames)) 36 frames = [frames]; 37 for (var i = 0; i < frames.length; i += 1) { 38 var frame = frames[i]; 39 var hasClass = frame.className.split(" ").indexOf(c) !== -1; 40 if (hasClass || frame.style.width.indexOf("%") > -1) { 41 return; 42 } 43 var height = frame.getAttribute("height") || frame.offsetHeight; 44 var width = frame.getAttribute("width") || frame.offsetWidth; 45 var heightNumber = typeof height === "string" ? parseInt(height) : height; 46 var widthNumber = typeof width === "string" ? parseInt(width) : width; 47 var padding = heightNumber / widthNumber * 100; 48 var div = document.createElement("div"); 49 div.className = c; 50 var divStyles = div.style; 51 divStyles.position = "relative"; 52 divStyles.width = "100%"; 53 divStyles.paddingTop = "".concat(padding, "%"); 54 var frameStyle = frame.style; 55 frameStyle.position = "absolute"; 56 frameStyle.width = "100%"; 57 frameStyle.height = "100%"; 58 frameStyle.left = "0"; 59 frameStyle.top = "0"; 60 (_a = frame.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(div, frame); 61 (_b = frame.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(frame); 62 div.appendChild(frame); 63 } 64 }; 65 var wplms_gutneberg_resize = () => { 66 document.querySelectorAll("#main-menu > ul > li > .sub-menu >li").forEach((el) => { 67 el.addEventListener("mouseenter", function(el2) { 68 if (!el2.target.parentNode.classList.contains("openleft")) { 69 let dimensions = el2.target.getBoundingClientRect(); 70 if (dimensions.right > window.innerWidth) { 71 el2.target.parentNode.classList.add("openleft"); 72 } 73 } 74 }); 75 }); 76 document.querySelectorAll(".menu_icon_item").forEach((el) => { 77 let icon = atob(el.getAttribute("data-icon")); 78 if (icon.length < 400) { 79 icon.split(" ").map((i) => el.classList.add(i)); 80 } else { 81 el.innerHTML = icon; 82 } 83 }); 84 if (document.querySelector("header.site-header nav")) { 85 let currentMenuitem = document.querySelector("#main-menu>ul>li"); 86 if (document.querySelector("#main-menu>ul>li.current-menu-item")) { 87 currentMenuitem = document.querySelector("#main-menu>ul>li.current-menu-item"); 88 } else if (document.querySelector("#main-menu>ul>li.current-menu-ancestor")) { 89 currentMenuitem = document.querySelector("#main-menu>ul>li.current-menu-ancestor"); 90 } else if (document.querySelector("#main-menu>ul>li.current_page_item")) { 91 currentMenuitem = document.querySelector("#main-menu>ul>li.current_page_item"); 92 } 93 document.querySelectorAll("#main-menu>ul>li").forEach((el, i) => { 94 if (window.innerWidth > 960) { 95 let rect = null; 96 el.addEventListener("mouseenter", () => { 97 rect = el.getBoundingClientRect(); 98 document.querySelector(".mega_menu_root_active_highlight").style.left = "calc(" + rect.x + "px - 0.5rem)"; 99 document.querySelector(".mega_menu_root_active_highlight").style.width = "calc(" + rect.width + "px + 1rem)"; 100 }); 101 el.addEventListener("mouseleave", () => { 102 rect = currentMenuitem.getBoundingClientRect(); 103 document.querySelector(".mega_menu_root_active_highlight").style.left = "calc(" + rect.x + "px - 0.5rem)"; 104 document.querySelector(".mega_menu_root_active_highlight").style.width = "calc(" + rect.width + "px + 1rem)"; 105 }); 106 } 107 }); 108 if (currentMenuitem) { 109 let rect = currentMenuitem.getBoundingClientRect(); 110 currentMenuitem.classList.add("active"); 111 document.querySelector(".mega_menu_root_active_highlight").style.left = "calc(" + rect.x + "px - 0.5rem)"; 112 document.querySelector(".mega_menu_root_active_highlight").style.width = "calc(" + rect.width + "px + 1rem)"; 113 } 114 } 115 sticky_block(); 116 reframe("iframe"); 117 }; 118 var sticky_block = function() { 119 if (document.querySelector("#vibebpmember")) { 120 document.querySelectorAll(".sticky_block").forEach(function(el) { 121 var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); 122 if (w > 768) { 123 var cwidth = el.offsetWidth; 124 var contentHeight = document.querySelector("#vibebpmember").offsetHeight; 125 var top = 0; 126 var etop = el.getBoundingClientRect().top; 127 var endheight = top + contentHeight - el.offsetHeight - etop; 128 el.style.width = cwidth + "px"; 129 window.addEventListener("scroll", function(event) { 130 var st = window.pageYOffset; 131 if (st < endheight) { 132 if (st > etop) { 133 el.style.transform = "translateY(" + st + "px)"; 134 } else { 135 el.style.transform = "none"; 136 } 137 } 138 }, false); 139 } 140 }); 141 } 142 }; 143 window.addEventListener("scroll", (event) => { 144 document.querySelectorAll(".vibe_animate").forEach((el) => { 145 if (isInViewport(el)) { 146 el.classList.add("loaded"); 147 if (document.querySelector("." + el.getAttribute("id"))) { 148 document.querySelector("." + el.getAttribute("id")).classList.add("active"); 149 } 150 } 151 }); 152 }, false); 153 document.addEventListener("DOMContentLoaded", () => { 154 setTimeout(() => { 155 wplms_gutneberg_resize(); 156 }, 100); 157 if (document.querySelectorAll("header.site-header nav .menu-item")) { 158 document.querySelectorAll("header.site-header nav .menu-item").forEach(function(el) { 159 if (el.querySelector(".megadrop")) { 160 el.classList.add("hasmegamenu"); 161 el.style.position = "static"; 162 var attr = el.querySelector(".megadrop").getAttribute("data-width"); 163 if (attr != "100%" && attr != "container") { 164 el.style.position = "relative"; 165 let nattr = parseInt(attr.replace("px", "")); 166 if (!isNaN(nattr)) { 167 el.querySelector(".sub-menu").style.left = "-" + (Math.round(nattr / 2, 2) - 30) + "px"; 168 } 169 } 170 el.querySelector(".sub-menu").style.width = attr; 171 } 172 }); 173 if (document.querySelector(".mega_sub_posts_menu")) { 174 document.querySelector(".mega_menu_term").classList.add("active"); 175 document.querySelector(".mega_sub_posts_menu").classList.add("active"); 176 document.querySelectorAll(".mega_menu_term").forEach((el) => { 177 el.addEventListener("mouseenter", () => { 178 if (document.querySelector("." + el.getAttribute("data-id") + "_posts")) { 179 if (el.parentNode.querySelector(".mega_menu_term.active")) { 180 el.parentNode.querySelector(".mega_menu_term.active").classList.remove("active"); 181 } 182 el.classList.add("active"); 183 if (el.parentNode.parentNode.querySelector(".mega_sub_posts_menu.active")) { 184 el.parentNode.parentNode.querySelector(".mega_sub_posts_menu.active").classList.remove("active"); 185 } 186 el.parentNode.parentNode.querySelector("." + el.getAttribute("data-id") + "_posts").classList.add("active"); 187 } 188 }); 189 }); 190 } 191 } 192 if (document.querySelector(".menu-item-has-children") && window.innerWidth < 768) { 193 document.querySelectorAll(".menu-item-has-children").forEach((el) => { 194 el.addEventListener("click", function(e) { 195 if (e.target.nodeName == "LI") { 196 e.preventDefault(); 197 el.classList.toggle("active"); 198 e.stopPropagation(); 199 } 200 }); 201 }); 202 } 203 }); 204 window.addEventListener("resize", wplms_gutneberg_resize); 205 document.addEventListener("userLoaded", wplms_gutneberg_resize); 206 var CountUp = class { 207 constructor(el) { 208 const counter = el.querySelector(".counter"); 209 const trigger = el.querySelector(".start-counter"); 210 let num = 0; 211 const decimals = counter.dataset.decimals; 212 let increment = counter.dataset.increment; 213 const countUp = () => { 214 if (num < counter.dataset.stop) 215 if (decimals) { 216 if (!increment) { 217 increment = 0.01; 218 } 219 num += increment; 220 counter.textContent = new Intl.NumberFormat("en-GB", { 221 minimumFractionDigits: 2, 222 maximumFractionDigits: 2 223 }).format(num); 224 } else { 225 if (!increment) { 226 increment = 1; 227 } 228 num = num + increment; 229 counter.textContent = num; 230 } 231 }; 232 const observer = new IntersectionObserver((el2) => { 233 if (el2[0].isIntersecting) { 234 const interval = setInterval(() => { 235 num < counter.dataset.stop ? countUp() : clearInterval(interval); 236 }, counter.dataset.speed); 237 } 238 }, { threshold: [0] }); 239 observer.observe(trigger); 240 } 241 }; 242 var vibetabs = () => { 243 if (document.querySelector(".vibe_tabs")) { 244 document.querySelectorAll(".vibe_tabs").forEach((vts) => { 245 if (!vts.querySelector(".vibe_tabs_list > li.active")) { 246 let activeli = vts.querySelector(".vibe_tabs_list > li:first-child"); 247 vts.querySelector(".vibe_tab." + activeli.classList[0]).classList.add("active"); 248 activeli.classList.add("active"); 249 } 250 vts.querySelectorAll(".vibe_tabs_list > li").forEach((li) => { 251 li.addEventListener("click", () => { 252 if (!li.classList.contains("active")) { 253 vts.querySelector(".vibe_tabs_list > li.active").classList.remove("active"); 254 li.classList.add("active"); 255 let classes = li.classList; 256 if (vts.querySelector(".vibe_tab." + classes[0])) { 257 vts.querySelector(".vibe_tab.active").classList.remove("active"); 258 vts.querySelector(".vibe_tab." + classes[0]).classList.add("active"); 259 document.dispatchEvent(new Event("VibeBP_Editor_Content")); 260 } 261 } 262 }); 263 }); 264 }); 265 } 266 }; 267 document.addEventListener("DOMContentLoaded", () => { 268 vibetabs(); 269 if (document.querySelector("#open_menu_toggle")) { 270 document.querySelector("#open_menu_toggle").addEventListener("click", (e) => { 271 e.preventDefault(); 272 document.querySelector(".site_mobile_menu").classList.toggle("hidden"); 273 setTimeout(() => { 274 document.querySelector(".site_mobile_menu").classList.toggle("active"); 275 }, 300); 276 }); 277 } 278 if (document.querySelector("#close_menu_toggle")) { 279 document.querySelector("#close_menu_toggle").addEventListener("click", (e) => { 280 e.preventDefault(); 281 document.querySelector(".site_mobile_menu").classList.toggle("active"); 282 setTimeout(() => { 283 document.querySelector(".site_mobile_menu").classList.toggle("hidden"); 284 }, 300); 285 }); 286 } 287 if (document.querySelector(".white_bg")) { 288 document.querySelectorAll(".white_bg").forEach((el) => { 289 var newContent = "<div class='squares'> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> <div class='square'></div> </div>"; 290 el.insertAdjacentHTML("beforeend", newContent); 291 }); 292 } 293 if (document.querySelector(".particles_bg")) { 294 document.querySelectorAll(".particles_bg").forEach((el) => { 295 var newContent = '<div class="particles_container"><div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div></div>'; 296 el.insertAdjacentHTML("beforeend", newContent); 297 }); 298 } 299 if (document.querySelector(".counter_wrap")) { 300 document.querySelectorAll(".counter_wrap").forEach((el) => { 301 new CountUp(el); 302 }); 303 } 304 }); 305})();
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.