1(function(){'use strict';function initPlans(root){var defaultPeriod=root.dataset.default||'monthly';var currentPeriod=defaultPeriod;var featuredIndex=parseInt(root.dataset.featuredIndex||'0',10);var tabs=Array.from(root.querySelectorAll('.li-plans__tab'));var prices=Array.from(root.querySelectorAll('.li-plans__price'));var notesByPeriod={quarterly:Array.from(root.querySelectorAll('.li-plans__price-note--quarterly')),annual:Array.from(root.querySelectorAll('.li-plans__price-note--annual')),};function swapPrices(){prices.forEach(function(el){var val=el.dataset[currentPeriod];if(!val&&val!=='0')val=el.dataset.monthly||'0';el.textContent=val})} 2function updateCtaUrls(){Array.from(root.querySelectorAll('.li-plans__cta')).forEach(function(cta){var key='url'+currentPeriod.charAt(0).toUpperCase()+currentPeriod.slice(1);var url=cta.dataset[key];if(url&&url!=='#')cta.setAttribute('href',url)})} 3function updateNotes(){Object.keys(notesByPeriod).forEach(function(period){notesByPeriod[period].forEach(function(note){note.classList.toggle('is-hidden',period!==currentPeriod)})})} 4function setPeriod(period,animate){if(period===currentPeriod&&animate)return;currentPeriod=period;tabs.forEach(function(tab){var active=tab.dataset.period===period;tab.classList.toggle('is-active',active);tab.setAttribute('aria-selected',active?'true':'false')});if(animate){prices.forEach(function(el){el.classList.add('is-changing')});setTimeout(function(){swapPrices();updateNotes();updateCtaUrls();prices.forEach(function(el){el.classList.remove('is-changing')})},200)}else{swapPrices();updateNotes();updateCtaUrls()}} 5tabs.forEach(function(tab){tab.addEventListener('click',function(){setPeriod(tab.dataset.period,!0)})});setPeriod(defaultPeriod,!1);var sliderCleanup=null;function isSliderActive(){var grid=root.querySelector('.li-plans__grid');if(!grid)return!1;var s=window.getComputedStyle(grid);return s.overflowX==='scroll'||s.overflowX==='auto'}
6function setupSlider(){if(sliderCleanup){sliderCleanup();sliderCleanup=null} 7if(!isSliderActive())return;var grid=root.querySelector('.li-plans__grid');var cards=Array.from(root.querySelectorAll('.li-plans__card'));var dots=Array.from(root.querySelectorAll('.li-plans__dot'));var prevBtn=root.querySelector('.li-plans__arrow--prev');var nextBtn=root.querySelector('.li-plans__arrow--next');if(!grid||!cards.length)return;var currentIndex=featuredIndex;function getScrollLeft(i){var gr=grid.getBoundingClientRect();var cr=cards[i].getBoundingClientRect();return grid.scrollLeft+(cr.left-gr.left)} 8function updateDots(i){dots.forEach(function(d,idx){d.classList.toggle('is-active',idx===i)})} 9function updateArrows(i){if(prevBtn)prevBtn.disabled=(i===0);if(nextBtn)nextBtn.disabled=(i===cards.length-1)} 10function goTo(i){i=Math.max(0,Math.min(cards.length-1,i));currentIndex=i;grid.scrollTo({left:getScrollLeft(i),behavior:'smooth'});updateDots(i);updateArrows(i)} 11function onPrev(){goTo(currentIndex-1)} 12function onNext(){goTo(currentIndex+1)} 13if(prevBtn)prevBtn.addEventListener('click',onPrev);if(nextBtn)nextBtn.addEventListener('click',onNext);var dotHandlers=dots.map(function(dot,i){var fn=function(){goTo(i)};dot.addEventListener('click',fn);return fn});var scrollTimer;function onScroll(){clearTimeout(scrollTimer);scrollTimer=setTimeout(function(){var closest=0,minDist=Infinity;var gr=grid.getBoundingClientRect();cards.forEach(function(c,i){var dist=Math.abs(c.getBoundingClientRect().left-gr.left);if(dist<minDist){minDist=dist;closest=i}});if(closest!==currentIndex){currentIndex=closest;updateDots(currentIndex);updateArrows(currentIndex)}},80)} 14grid.addEventListener('scroll',onScroll);requestAnimationFrame(function(){requestAnimationFrame(function(){updateDots(featuredIndex);updateArrows(featuredIndex);if(isSliderActive()){grid.scrollTo({left:getScrollLeft(featuredIndex),behavior:'auto'})}})});sliderCleanup=function(){if(prevBtn)prevBtn.removeEventListener('click',onPrev);if(nextBtn)nextBtn.removeEventListener('click',onNext);dots.forEach(function(dot,i){dot.removeEventListener('click',dotHandlers[i])});grid.removeEventListener('scroll',onScroll);dots.forEach(function(d,i){d.classList.toggle('is-active',i===featuredIndex)});if(prevBtn)prevBtn.disabled=!1;if(nextBtn)nextBtn.disabled=!1}} 15requestAnimationFrame(function(){requestAnimationFrame(function(){setupSlider()})});var resizeTimer;var lastActive=null;window.addEventListener('resize',function(){clearTimeout(resizeTimer);resizeTimer=setTimeout(function(){var active=isSliderActive();if(active!==lastActive){lastActive=active;setupSlider()}},150)})} 16function initAll(){document.querySelectorAll('.li-plans--ofertas').forEach(function(el){if(el.dataset.liPlansInit)return;el.dataset.liPlansInit='1';initPlans(el)})} 17if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',initAll)}else{initAll()} 18function bindElementorHook(){window.elementorFrontend.hooks.addAction('frontend/element_ready/li_plans_ofertas.default',function($el){var el=$el&&$el[0];if(!el)return;delete el.dataset.liPlansInit;initPlans(el);el.dataset.liPlansInit='1'})} 19if(window.elementorFrontend&&window.elementorFrontend.hooks){bindElementorHook()}else{document.addEventListener('elementor/frontend/init',bindElementorHook)}})()
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.