console.log('%cWebEasyPH Console', 'font-size: 20px; font-weight: bold; color: #0d6efd;');
console.log('%c👋 Hey developer! Curious ka ah 😄', 'font-size: 14px;');
console.log('%cWe build fast, SEO-optimized websites.', 'font-size: 13px; color: #666;');
console.log('%c👉 Need one? https://www.webeasyph.com', 'font-size: 13px; color: green;');
(function (){
'use strict';
function splitHeading(heading){
if(heading.dataset.egRtSplit==='1'){
return Array.prototype.slice.call(heading.querySelectorAll('.eg-rt-char'));
}
function isEmoji(char){
return /\p{Extended_Pictographic}/u.test(char);
}
function processTextNode(textNode){
var text=textNode.textContent||'';
var fragment=document.createDocumentFragment();
var parts=text.match(/\S+|\s+/g)||[];
parts.forEach(function (part){
if(part.trim()===''){
fragment.appendChild(document.createTextNode(part));
return;
}
var wordSpan=document.createElement('span');
wordSpan.className='eg-rt-word';
Array.from(part).forEach(function (char){
if(/\p{Extended_Pictographic}/u.test(char)){
wordSpan.appendChild(document.createTextNode(char));
return;
}
var span=document.createElement('span');
span.className='eg-rt-char';
span.textContent=char;
wordSpan.appendChild(span);
});
fragment.appendChild(wordSpan);
});
textNode.parentNode.replaceChild(fragment, textNode);
}
function walk(node){
Array.prototype.slice.call(node.childNodes).forEach(function (child){
if(child.nodeType===3){
processTextNode(child);
}else if(child.nodeType===1 &&
!child.matches('i, svg, img, .bi, .eg-ignore-icon')
){
walk(child);
}});
}
walk(heading);
heading.dataset.egRtSplit='1';
return Array.prototype.slice.call(heading.querySelectorAll('.eg-rt-char'));
}
function runAnimation(heading){
if(heading.dataset.egRtDone==='1'){
return;
}
heading.dataset.egRtDone='1';
var startDelay=parseInt(heading.getAttribute('data-eg-start-delay')||'0', 10);
setTimeout(function (){
var chars=splitHeading(heading);
var yellowIndex=0;
var blackIndex=0;
var speed=parseInt(heading.getAttribute('data-eg-speed')||'250', 10);
var blackStartDelay=parseInt(heading.getAttribute('data-eg-black-delay')||'3000', 10);
var underlineDelay=parseInt(heading.getAttribute('data-eg-underline-delay')||'200', 10);
var resetDelay=parseInt(heading.getAttribute('data-eg-reset-delay')||'1200', 10);
if(!chars.length){
return;
}
var yellowDone=false;
var blackStarted=false;
var blackInterval=null;
var yellowInterval=window.setInterval(function (){
if(yellowIndex > 0){
chars[yellowIndex - 1].classList.remove('active');
chars[yellowIndex - 1].classList.add('done');
}
if(yellowIndex < chars.length){
chars[yellowIndex].classList.add('active');
yellowIndex++;
return;
}
window.clearInterval(yellowInterval);
yellowDone=true;
}, speed);
window.setTimeout(function (){
blackStarted=true;
blackInterval=window.setInterval(function (){
if(blackIndex < yellowIndex){
chars[blackIndex].classList.remove('done');
chars[blackIndex].classList.remove('active');
blackIndex++;
}
if(yellowDone&&blackIndex >=chars.length){
window.clearInterval(blackInterval);
window.setTimeout(function (){
heading.classList.add('eg-underline');
}, underlineDelay);
window.setTimeout(function (){
heading.classList.remove('eg-underline');
}, resetDelay);
}}, speed);
}, blackStartDelay);
}, startDelay);
}
function initRunningText(){
var headings=document.querySelectorAll('.eg-running-text');
if(!headings.length){
return;
}
if(!('IntersectionObserver' in window)){
Array.prototype.forEach.call(headings, runAnimation);
return;
}
var observer=new IntersectionObserver(function (entries, obs){
entries.forEach(function (entry){
if(entry.isIntersecting){
runAnimation(entry.target);
obs.unobserve(entry.target);
}});
}, {
threshold: 0.4
});
Array.prototype.forEach.call(headings, function (heading){
observer.observe(heading);
});
}
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', initRunningText);
}else{
initRunningText();
}}());