document.addEventListener("touchstart", function (){
}, true);
if(typeof widget_shopping_hide_if_empty==='undefined'){
widget_shopping_hide_if_empty=true;
}
forAny('.lipotype-toggle-hidden-trigger', element=> element.addEventListener('click', lipotype_toggle_hidden));
function lipotype_toggle_hidden(event){
let trigger=event.target;
if(!trigger.classList.contains('lipotype-toggle-hidden-trigger')){
trigger=trigger.closest('.lipotype-toggle-hidden-trigger');
}
let targetSelector=trigger.dataset.target;
let targetClass=trigger.dataset.targetClass ?? 'lipotype-hidden';
let parent=trigger.closest('.lipotype-toggle-group');
if(parent){
parent.querySelectorAll('.lipotype-toggle-hidden-trigger:not([data-target="' + targetSelector + '"])').forEach(elementToClose=> {
let innerTargetSelector=elementToClose.dataset.target;
let innerTargetClass=elementToClose.dataset.targetClass ?? 'lipotype-hidden';
parent.querySelectorAll(innerTargetSelector + ':not(.closed)').forEach(element=> element.classList.add(innerTargetClass));
parent.querySelectorAll(innerTargetSelector + '.closed').forEach(element=> element.classList.remove(innerTargetClass));
})
}
document.querySelectorAll(targetSelector).forEach(element=> element.classList.toggle(targetClass));
}
document.querySelectorAll('[data-toggle-prefix]').forEach(element=> element.addEventListener('click', _=> {
let wasActive=element.classList.contains('active');
let id=wasActive ? '':element.dataset.toggleId;
document.querySelectorAll('[class*=' + element.dataset.togglePrefix + '-]').forEach(target=> target.classList.remove('active'));
document.querySelectorAll('[class*=' + element.dataset.togglePrefix + '-' + id + ']').forEach(target=> target.classList.add('active'));
if(wasActive){
document.querySelectorAll('[data-toggle-prefix]').forEach(element=> element.classList.remove('active'));
}}));
document.querySelectorAll('.current.init[data-toggle-prefix]').forEach(element=> element.click());
document.querySelectorAll('.lipotype-portfolio-grid > div').forEach(element=> element.addEventListener('click', _=> element.classList.toggle('active')))
document.querySelectorAll('.lipotype-tooltip').forEach(element=> {
let trigger=element.dataset.tooltipTrigger;
if(!trigger){
trigger='click';
}
let content=document.querySelector(element.dataset.tooltipContent).innerHTML;
tippy(element, {
content: content, allowHTML: true, trigger: trigger, placement: 'top-start', zIndex: 1000, popperOptions: {
strategy: 'fixed', modifiers: [{
name: 'flip', options: {
fallbackPlacements: ['top-end']
}}]
}});
});
document.querySelectorAll('.lipotype-editor-templates-buttons button').forEach(element=> element.addEventListener('click', event=> {
let target=document.querySelector(event.target.closest('.lipotype-editor-templates-buttons').dataset.templateTarget);
let content=document.querySelector(event.target.dataset.template).content;
target.value=target.value + content.textContent;
event.stopPropagation();
return false;
}));
onAny('body:not(.wp-admin) :is(.lipotype-follow-inner-link, .follow-inner-link)', 'click', (element, event)=> {
let maybeParent=event.target.closest('a');
location.href=maybeParent ? maybeParent.href:element.querySelector('a:not(.dont-follow)').href;
});
onAny('.lipotype-toggle-wrapper .toggle', 'click', element=> {
let parent=element.closest('.open-parent');
let isOpened=parent.classList.contains('opened');
parent.parentNode.querySelectorAll('.opened').forEach(element=> element.classList.remove('opened'));
if(!isOpened){
parent.classList.add('opened');
}});
whenVisible('.animate__visible', element=> {
let animationClasses=['animate__animated', 'animate__delay-1s'];
element.classList.forEach(clazz=> {
if(clazz!=='animate__visible'&&clazz.startsWith('animate__')){
animationClasses.push(clazz);
element.classList.remove(clazz);
}});
element.classList.remove('animate__visible');
element.classList.add(...animationClasses);
});
function lipotype_toggle_readmore(target){
forAny(target, element=> forAny('.button-wrapper, .read-more-content', child=> child.classList.toggle('lipotype-hidden'), element))
return false;
}
function lipotype_getUrlParameter(name){
name=name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex=new RegExp('[\\?&]' + name + '=([^&#]*)');
var results=regex.exec(location.search);
return results===null ? false:decodeURIComponent(results[1].replace(/\+/g, ' '));
}
onAny('input#quote_place_order', 'click', element=> {
element.closest('form')?.classList.add('loading');
});
function lipotype_toggle_abstract(target){
let parent=target.closest('.post-content, .toggle-wrapper');
parent.querySelectorAll('.toggle-abstract, .abstract, .toggle-target').forEach(element=> element.classList.toggle('filter-hidden'));
return false;
}
forAny('.lipotype-modal.lipotype-hidden', modal=> {
let cookie=lipotype_getCookie('lipotype_modal_' + modal.dataset.modalId);
if(cookie!=='closed'){
modal.classList.remove('lipotype-hidden');
}else{
modal.remove();
}});
onAny('.lipotype-modal-close', 'click', element=> {
let modal=element.closest('.lipotype-modal');
lipotype_setCookie('lipotype_modal_' + modal.dataset.modalId, 'closed', 7);
modal?.remove();
});
onAny('[data-toggle=collapse]', 'click', element=> {
let target=element.dataset.target;
element.classList.toggle('collapsed');
document.querySelectorAll(target).forEach(targetElement=> {
targetElement.classList.toggle('collapse');
})
})
window.addEventListener('scroll', function (){
if(window.scrollY > 250){
document.querySelector('.go-top').style.bottom='12px';
document.querySelector('.go-top').style.opacity=1;
}else{
document.querySelector('.go-top').style.bottom='-44px';
document.querySelector('.go-top').style.opacity=0;
}});
document.addEventListener('DOMContentLoaded', function (){
forAny('.wp-block-query:has(.wp-block-query-pagination a:not([href*="#"]))', queryBlock=> {
forAny('.wp-block-query-pagination a:not([href*="#"])', a=> {
let id=queryBlock.id
if(!id){
id=queryBlock.closest('[id]').id
}
a.href=a.href + "#" + id;
}, queryBlock);
})
});