PageSourceSearch

https://beaglesecurity.com/js/20260907105008-pricing.js

js beaglesecurity.com collected 2026-09-24 08:46:24 UTC 17,400 bytes, 1 lines download raw bytes

1var tableWrapper=document.getElementById("pricing-table"),featuresList=[],request=new XMLHttpRequest;function setupScroll(){var e=document.getElementsByClassName("plan-footer");for(let t=0;t<e.length;t++){let n=e[t];n.onclick=function(){n.classList.contains("show-features")?n.classList.remove("show-features"):n.classList.add("show-features")}}}request.open("GET",pricingApi),request.onload=function(){var e=JSON.parse(this.response);if(request.status>=200&&request.status<400){featuresList=e;const t=document.getElementById("plan-frequency"),n=!!t&&t.checked,a=document.getElementById("toggle-offer-badge");n?(document.getElementById("yearly-text").classList.add("active-frequency"),document.getElementById("monthly-text").classList.remove("active-frequency"),a&&(a.textContent="You save 17%",a.classList.add("is-yearly"),a.style.display="block")):(document.getElementById("yearly-text").classList.remove("active-frequency"),document.getElementById("monthly-text").classList.add("active-frequency"),a&&(a.textContent="Get 2 months free",a.classList.remove("is-yearly"),a.style.display="block"));for(let e=0;e<featuresList.planDetails.length;e++){const t=featuresList.planDetails[e];if("Essential"===t.planName||"Advanced"===t.planName){const e=t.planName.toLowerCase(),a=document.getElementById(e+"-price"),i=document.getElementById(e+"-annual-amount"),o=document.getElementById(e+"-savings-amount");if(a&&(a.textContent=n?t.costPerMonthForAnnual:t.costPerMonth),i&&(i.textContent="$"+t.costPerYear),o){const e=12*t.costPerMonth-t.costPerYear;o.textContent=e}}}if(processData(featuresList),n){const e=document.getElementsByClassName("annual-bill");for(let t=0;t<e.length;t++)e[t].style.visibility="visible",e[t].style.opacity="1"}setupScroll()}},request.send();var _activePricingTimeline=null,_activeBadgeTimeline=null;function cleanupTicker(e){if(!e||!e.classList.contains("amount-ticker"))return null;const t=e.querySelectorAll("span.amount-val");if(t.length<=1)return t[0]||null;const n=t[t.length-1],a=t[0],i=a.id,o=a.getAttribute("data-plan"),l=a.getAttribute("data-monthly"),s=a.getAttribute("data-yearly");for(let e=0;e<t.length-1;e++)gsap.killTweensOf(t[e]),t[e].remove();return i&&(n.id=i),o&&n.setAttribute("data-plan",o),l&&n.setAttribute("data-monthly",l),s&&n.setAttribute("data-yearly",s),gsap.killTweensOf(n),gsap.set(n,{y:0,opacity:1,clearProps:"position"}),n.style.position="relative",n}function animatePriceSwitch(e,t,n=!1){if(!e)return;const a=String(t).replace("$","");let i=e.parentElement;if(!i||!i.classList.contains("amount-ticker")){gsap.killTweensOf(e);const n=gsap.timeline();return n.to(e,{y:-10,opacity:0,duration:.15,ease:"power2.in",onComplete:()=>{e.innerHTML=t}}),n.fromTo(e,{y:10,opacity:0},{y:0,opacity:1,duration:.15,ease:"power2.out"}),n}const o=cleanupTicker(i)||e;if(o.textContent.replace(/[^\d.]/g,"")===a)return gsap.timeline();const l=document.createElement("span");if(l.className=o.className,l.textContent=a,n){const e=document.createElement("span");e.className="per-month-text",e.textContent=" per month",l.appendChild(e)}l.style.position="absolute",l.style.top="0",l.style.left="0",l.style.width="100%",i.appendChild(l);const s=gsap.timeline({onComplete:()=>{const e=o.id,t=o.getAttribute("data-plan"),n=o.getAttribute("data-monthly"),a=o.getAttribute("data-yearly");o.remove(),l.id=e,t&&l.setAttribute("data-plan",t),n&&l.setAttribute("data-monthly",n),a&&l.setAttribute("data-yearly",a),l.style.position="relative"}}),c=parseFloat(o.textContent.replace(/[^\d.]/g,""))||0,r=(parseFloat(a)||0)>c,d=r?"-20px":"20px",p=r?"20px":"-20px";return s.to(o,{y:d,opacity:0,duration:.25,ease:"power2.in"},0),s.fromTo(l,{y:p,opacity:0},{y:"0%",opacity:1,duration:.35,ease:"back.out(1.2)"},.08),s}function generateTitle(){const e=document.createElement("div");return featuresList.features.forEach((t=>{const n=document.createElement("div");if(n.classList.add("feature"),n.textContent=t.feature,t.highLight){const e=document.createElement("span");e.classList.add("badge-common"),e.textContent=t.highLight,n.appendChild(e)}e.appendChild(n)})),e}function generatePlansBox(e){const t=document.createElement("div");
1return featuresList.planDetails.forEach((e=>{const n=document.createElement("div");n.classList.add("plan-card");const a=document.createElement("div");a.classList.add("plan-head");const i=document.createElement("div");i.classList.add("plan"),i.textContent=e.planName;const o=document.createElement("div");o.classList.add("desc"),o.textContent=e.description;const l=document.createElement("div");l.classList.add("plan-price"),l.textContent=e.price;const s=document.createElement("div");s.classList.add("desc"),s.textContent=e.billingInfo;const c=document.createElement("button");c.classList.add("btn-common","plan-btn"),c.textContent="Choose plan",a.appendChild(i),a.appendChild(o),a.appendChild(l),a.appendChild(s),a.appendChild(c);const r=document.createElement("div");r.classList.add("available-test");const d=document.createElement("div");d.textContent=`${e.testsPerMonth} test/month`;const p=document.createElement("div");p.textContent=`${e.teamMembers} team member`,r.appendChild(d),r.appendChild(p);const u=document.createElement("div");u.classList.add("includes-wrap");const m=document.createElement("div");m.textContent=`Everything in ${e.includes}, \nplus:`;const g=document.createElement("ul");g.classList.add("list"),e.additionalFeatures.forEach((e=>{const t=document.createElement("li");t.textContent=e,g.appendChild(t)})),u.appendChild(m),u.appendChild(g),n.appendChild(a),n.appendChild(r),n.appendChild(u),t.appendChild(n)})),t}function generateFeatureList(e){for(var t=[],n=0;n<e.length;n++){var a=document.createElement("div");a.classList.add("feature-block"),a.textContent=e[n].description||"",t.push(a)}return t}document.getElementById("plan-frequency").onchange=function(e){var t=e.target.checked;const n=document.getElementById("toggle-offer-badge");_activePricingTimeline&&(_activePricingTimeline.progress(1),_activePricingTimeline.kill(),_activePricingTimeline=null),_activeBadgeTimeline&&(_activeBadgeTimeline.kill(),_activeBadgeTimeline=null),n&&gsap.killTweensOf(n);const a=gsap.timeline();if(_activePricingTimeline=a,t){document.getElementById("yearly-text").classList.add("active-frequency"),document.getElementById("monthly-text").classList.remove("active-frequency"),n&&((_activeBadgeTimeline=gsap.timeline()).to(n,{opacity:0,x:26,yPercent:-50,duration:.12,onComplete:()=>{n.textContent="You save 17%",n.classList.add("is-yearly")}}),_activeBadgeTimeline.to(n,{opacity:1,x:16,yPercent:-50,duration:.15,ease:"power2.out"}));document.querySelectorAll(".amount-price").forEach((e=>{const t=e.getAttribute("data-yearly"),n=e.getAttribute("data-plan");t&&"free"!==n&&a.add(animatePriceSwitch(e,t),0)}));for(let e=0;e<featuresList.planDetails.length;e++){const t=featuresList.planDetails[e],n=t.planName.toLowerCase();if("Essential"===t.planName||"Advanced"===t.planName){const e=document.getElementById(n+"-price");e&&a.add(animatePriceSwitch(e,t.costPerMonthForAnnual),0);const i=document.querySelector(`.amount-price[data-plan="${n}"]`);i&&a.add(animatePriceSwitch(i,t.costPerMonthForAnnual),0)}}const e=document.getElementsByClassName("annual-bill");for(let t=0;t<e.length;t++)e[t].style.visibility="visible",a.to(e[t],{opacity:1,duration:.2,ease:"power2.inOut"},0)}else{document.getElementById("yearly-text").classList.remove("active-frequency"),document.getElementById("monthly-text").classList.add("active-frequency"),n&&((_activeBadgeTimeline=gsap.timeline()).to(n,{opacity:0,x:26,yPercent:-50,duration:.12,onComplete:()=>{n.textContent="Get 2 months free",n.classList.remove("is-yearly")}}),_activeBadgeTimeline.to(n,{opacity:1,x:16,yPercent:-50,duration:.15,ease:"power2.out"}));document.querySelectorAll(".amount-price").forEach((e=>{const t=e.getAttribute("data-monthly");t&&a.add(animatePriceSwitch(e,t),0)}));for(let e=0;e<featuresList.planDetails.length;e++){const t=featuresList.planDetails[e],n=t.planName.toLowerCase();if("Essential"===t.planName||"Advanced"===t.planName){const e=document.getElementById(n+"-price");e&&a.add(animatePriceSwitch(e,t.costPerMonth),0);const i=document.querySelector(`.amount-price[data-plan="${n}"]`);
1i&&a.add(animatePriceSwitch(i,t.costPerMonth),0)}}const e=document.getElementsByClassName("annual-bill");for(let t=0;t<e.length;t++)a.to(e[t],{opacity:0,duration:.2,ease:"power2.inOut",onComplete:()=>{e[t].style.visibility="hidden"}},0)}};const subHeadElements=document.querySelectorAll(".sub-head");function toggleAnswer(e){const t=e.nextElementSibling,n=e.querySelector("i");t.classList.toggle("faq-active"),n.classList.toggle("ri-arrow-down-s-line"),n.classList.toggle("ri-close-line")}function setupButtons(){let e=document.querySelectorAll(".feature-signup-button"),t=document.querySelectorAll(".feature-contact-us-button"),n=document.querySelectorAll(".feature-buy-now-button"),a=document.querySelectorAll(".plan-btn");const i=document.cookie.includes("userLoggedIn=true");i&&(n[0].innerText="Buy now"),a.forEach((e=>{e.addEventListener("click",(function(){var e=this.closest(".plan-card").querySelector(".plan");e&&(planName=e.textContent.trim())}))})),e.forEach((e=>{e.addEventListener("click",(function(){window.location=i?`${configuration.beagleAppUrl}/dashboard/settings/subscription`:`${configuration.beagleAppUrl}/signup?utm_campaign=sign_up&utm_source=lp&utm_medium=cta&utm_content=sign_up_free`}))})),t.forEach((e=>{e.addEventListener("click",(function(){window.location="/contact#demo"}))})),n.forEach((e=>{e.addEventListener("click",(function(){if(i){var e=document.getElementById("plan-frequency").checked?"YEARLY":"MONTHLY";const t=new URLSearchParams({plantype:"ADVANCED",duration:e}).toString();window.location=`${configuration.beagleAppUrl}/settings/subscription/checkout?${t}`}else window.location=`${configuration.beagleAppUrl}/signup`}))}));const o=document.getElementById("pbn");o&&o.addEventListener("click",(function(){if(i){var e=document.getElementById("plan-frequency").checked?"YEARLY":"MONTHLY";const t=new URLSearchParams({plantype:"ESSENTIAL",duration:e}).toString();window.location=`${configuration.beagleAppUrl}/settings/subscription/checkout?${t}`}else window.location=`${configuration.beagleAppUrl}/signup`}))}function processData(e){let t=e.features,n=tableWrapper;for(;n.firstChild;)n.removeChild(n.firstChild);let a=document.createElement("div");a.classList.add("plan-header"),e.planDetails.forEach((e=>{let t=document.createElement("div");t.classList.add("plan-name-box","yearly-plan");let n=document.createElement("div");n.classList.add("plan-name"),n.textContent=e.planName;let i=document.createElement("div");if(i.classList.add("amount-block"),e.isEnterprise){let e=document.createElement("div");e.classList.add("contact-sales","feature-contact-us-button"),e.textContent="Contact sales",i.appendChild(e)}else{let t=document.createElement("span");t.classList.add("currency"),t.textContent="$";let n=document.createElement("span");n.classList.add("amount-price"),n.textContent=e.costPerMonth,n.setAttribute("data-plan",e.planName.toLowerCase()),n.setAttribute("data-monthly",e.costPerMonth),n.setAttribute("data-yearly",e.costPerMonthForAnnual),i.appendChild(t),i.appendChild(n)}if(t.appendChild(n),t.appendChild(i),!e.isEnterprise&&"Free"!==e.planName){let n=document.createElement("div");n.classList.add("billing-description","annual-bill"),n.innerHTML='Billed <span id="'+e.planName.toLowerCase()+'-annual-amount">$'+e.costPerYear+"</span> annually",t.appendChild(n)}a.appendChild(t)})),n.appendChild(a),t.forEach((e=>{let t=document.createElement("div");t.classList.add("group-title");let a=document.createElement("div");a.textContent=e.group,t.appendChild(a),n.appendChild(t);let i=document.createElement("div");i.classList.add("feature-details"),e.features.forEach((e=>{let t=document.createElement("div");t.classList.add("feature-row");let n=document.createElement("div");n.classList.add("feature-detail-section");let a=document.createElement("div");a.classList.add("feature-title"),a.textContent=e.title;let o=document.createElement("div");o.classList.add("feature-sub-description"),o.textContent=e.description,n.appendChild(a),n.appendChild(o);let l=document.createElement("div");l.classList.add("feature-status-block"),e.plans.forEach((e=>{let t=document.createElement("div");t.classList.add("feature-icon-wrap");let n=document.createElement("i");n.classList.add("status-icon-common","true"===e.value?"tick-icon":"cross-icon"),t.appendChild(n),l.appendChild(t)})),t.appendChild(n),t.appendChild(l),i.appendChild(t)})),n.appendChild(i)})),setupButtons()}function pricingTemplate(e){let t=document.createElement("div");t.classList.add("group-title");let n=document.createElement("div");n.textContent=e.group,t.appendChild(n);let a=document.createElement("div");a.classList.add("feature-details");let i=pricingBox(e.features);a.appendChild(i);let o=document.createElement("div");return o.appendChild(t),o.appendChild(a),o}function pricingBox(e){let t=document.createElement("div");return e.forEach((e=>{let n=document.createElement("div");n.classList.add("feature-row");let a=document.createElement("div");a.classList.add("feature-detail-section");let i=document.createElement("div");i.classList.add("feature-title"),i.textContent=e.title;let o=document.createElement("div");o.classList.add("feature-sub-description"),o.textContent=e.description,a.appendChild(i),a.appendChild(o);
1let l=document.createElement("div");l.classList.add("feature-status-block");let s=priceRatingBox(e);l.appendChild(s),n.appendChild(a),n.appendChild(l),t.appendChild(n)})),t}function priceRatingBox(e){let t=document.createElement("div");return e.plans.forEach((e=>{let n=document.createElement("div");n.classList.add("feature-icon-wrap");let a=document.createElement("i");a.classList.add("status-icon-common","true"===e.value?"tick-icon":"cross-icon"),n.appendChild(a),t.appendChild(n)})),t}subHeadElements.forEach((e=>{e.addEventListener("click",(()=>{toggleAnswer(e)}))})),gsap.registerPlugin(ScrollTrigger),document.addEventListener("DOMContentLoaded",(()=>{"#advanced-plan"===window.location.hash&&gsap.to(window,{scrollTo:{y:"#advanced-plan",offsetY:50},duration:.2})})),gsap.from(".pricing-main-head",{y:100,opacity:0}),gsap.from(".head-content-wrap",{y:100,opacity:0,delay:.25}),gsap.from(".trial-button-wrap",{y:100,opacity:0,delay:.5}),gsap.from("#pricing-container",{y:250,opacity:0,delay:.25}),gsap.from(".see-more-wrap",{y:75,opacity:0,scrollTrigger:{trigger:".see-more-wrap",start:"top bottom-=100px",end:"+=100px",scrub:!0}}),gsap.from(".free-plan-box",{y:75,opacity:0,scrollTrigger:{trigger:".free-plan-box",start:"top bottom-=10px",end:"+=100px",scrub:!0}}),gsap.from(".manifesto-title",{y:100,opacity:0,scrollTrigger:{trigger:".manifesto-title",start:"top bottom-=100px",end:"+=50px",scrub:!0}}),gsap.from(".test-section",{x:-75,opacity:0,scrollTrigger:{trigger:".test-section",start:"top bottom-=100px",end:"+=75px",scrub:!0}}),gsap.from(".difference-container",{x:75,opacity:0,scrollTrigger:{trigger:".difference-container",start:"top bottom-=100px",end:"+=75px",scrub:!0}}),gsap.from(".addons-section-container",{y:100,opacity:0,scrollTrigger:{trigger:".addons-section-container",start:"top bottom-=100px",end:"+=100px",scrub:!0}}),gsap.from(".clients-gradient",{y:100,opacity:0,scrollTrigger:{trigger:".clients-gradient",start:"top bottom-=100px",end:"+=100px",scrub:!0}}),gsap.from(".company-logo-wrapper",{y:100,opacity:0,scrollTrigger:{trigger:".company-logo-wrapper",start:"top bottom-=100px",end:"+=100px",scrub:!0}}),gsap.from(".table-wrapper",{y:100,opacity:0,scrollTrigger:{trigger:".table-wrapper",start:"top bottom-=100px",end:"+=100px",scrub:!0}}),gsap.from(".review-head",{y:100,opacity:0,scrollTrigger:{trigger:".review-head",start:"top bottom-=50px",end:"+=75px",scrub:!0}}),gsap.from(".g2-badges-wrapper",{y:100,opacity:0,scrollTrigger:{trigger:".g2-badges-wrapper",start:"top bottom-=100px",end:"+=75px",scrub:!0}});const slides2=gsap.utils.toArray(".feedback-section .feedback-item");tween=gsap.from(slides2,{y:100,opacity:0,ease:"none",stagger:1,scrollTrigger:{trigger:".feedback-section",start:"top center+=30%",end:"+=50px",scrub:1}}),gsap.from(".cta-floating-screen",{y:100,opacity:0,scrollTrigger:{trigger:".cta-floating-screen",start:"top bottom-=50px",end:"+=100px",scrub:!0}});const track=document.querySelector(".logo-marquee-track"),items=Array.from(track.children);items.forEach((e=>{const t=e.cloneNode(!0);track.appendChild(t)}));const totalWidth=items.reduce(((e,t)=>e+t.offsetWidth),0)+72*items.length;gsap.to(track,{x:`-=${totalWidth}`,duration:60,ease:"none",repeat:-1,modifiers:{x:gsap.utils.unitize((e=>parseFloat(e)%totalWidth))}}),track.addEventListener("mouseenter",(()=>gsap.globalTimeline.pause())),track.addEventListener("mouseleave",(()=>gsap.globalTimeline.resume())),window.addEventListener("scroll",(function(){const e=document.getElementById("mobile-sticky-cta"),t=document.querySelector(".pricing-bg-container"),n=document.querySelector(".cta-container"),a=document.getElementById("footer");if(e&&t&&window.innerWidth<768){const i=t.getBoundingClientRect(),o=n?n.getBoundingClientRect():null,l=a?a.getBoundingClientRect():null,s=i.bottom<100;let c=!1;(o&&o.top<window.innerHeight||l&&l.top<window.innerHeight)&&(c=!0),s&&!c?e.classList.add("visible"):e.classList.remove("visible")}}));

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.