(function($){
"use strict";
var JetEngineRegisteredStores=window.JetEngineRegisteredStores||{};
var JetEngineStores=window.JetEngineStores||{};
var JetEngine={
currentMonth: null,
currentRequest: {},
activeCalendarDay: null,
lazyLoading: false,
addedScripts: [],
addedStyles: [],
addedPostCSS: [],
assetsPromises: [],
initDone: false,
commonInit: function(){
JetEngine.commonEvents();
$(window).on('jet-popup/render-content/ajax/success', JetEngine.initStores);
window.JetPlugins.hooks.addFilter('jet-popup.show-popup.data',
'JetEngine.popupData',
(popupData, $popup, $triggeredBy)=> {
if(! $triggeredBy){
return popupData;
}
if($triggeredBy.data('popupIsJetEngine') ){
popupData=JetEngine.prepareJetPopup(popupData, { 'is-jet-engine': true }, $triggeredBy);
}
return popupData;
}
);
JetEngine.initStores();
JetEngine.customUrlActions.init();
},
commonEvents: function($scope){
$scope=$scope||$(document);
$scope
.on('jet-filter-content-rendered', JetEngine.calendarCache.clear)
.on('change.JetEngine', '.jet-calendar-caption__date-select', JetEngine.selectCalendarMonth)
.on('click.JetEngine', '.jet-calendar-nav__link', JetEngine.switchCalendarMonth)
.on('click.JetEngine', '.jet-calendar-week__day-mobile-overlay', JetEngine.showCalendarEvent)
.on('click.JetEngine', '.jet-listing-dynamic-link__link[data-delete-link="1"]', JetEngine.showConfirmDeleteDialog)
.on('jet-filter-content-rendered', JetEngine.maybeReinitSlider)
.on('click.JetEngine', '.jet-add-to-store', JetEngine.addToStore)
.on('click.JetEngine', '.jet-remove-from-store', JetEngine.removeFromStore)
.on('click.JetEngine', '.jet-engine-listing-overlay-wrap:not([data-url*="event=hover"])', JetEngine.handleListingItemClick)
.on('jet-filter-content-rendered', JetEngine.filtersCompatibility)
.on('click.JetEngine', '.jet-container[data-url]', JetEngine.handleContainerURL)
.on('change.JetEngine', '.jet-listing-dynamic-link .qty', JetEngine.handleProductQuantityChange);
},
handleProductQuantityChange: function(event){
event.preventDefault();
event.stopPropagation();
const $this=$(this);
$this.closest(".jet-listing-dynamic-link").find(".jet-woo-add-to-cart").data("quantity", $this.val()).attr("data-quantity", $this.val());
},
handleContainerURL: function(){
var $this=$(this),
url=$this.data('url'),
target=$this.data('target');
if(! target){
window.location=url;
}else{
window.open(url, '_blank').focus();
}},
filtersCompatibility: function(event, $provider, filtersInstance, providerType){
let providers={
'jet-engine': true,
'jet-engine-calendar': true,
'jet-data-table': true,
};
if(! providers[ providerType ]){
return;
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
window.JetPopupFrontend.initAttachedPopups($provider);
}},
init: function(){
var widgets={
'jet-listing-dynamic-field.default':JetEngine.widgetDynamicField,
'jet-listing-grid.default': JetEngine.widgetListingGrid,
};
$.each(widgets, function(widget, callback){
window.elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, callback);
});
window.elementorFrontend.elements.$window.on('elementor/nested-tabs/activate',
(event, content)=> {
const $content=$(content);
setTimeout(()=> {
JetEngine.maybeReinitSlider(event, $content);
JetEngine.widgetDynamicField($content);
});
}
);
window.elementorFrontend.hooks.addFilter('jet-popup/widget-extensions/popup-data',
JetEngine.prepareJetPopup
);
window.JetPlugins.hooks.addFilter('jet-popup.show-popup.data',
'JetEngine.popupData',
(popupData, $popup, $triggeredBy)=> {
if(! $triggeredBy){
return popupData;
}
if($triggeredBy.data('popupIsJetEngine') ){
popupData=JetEngine.prepareJetPopup(popupData, { 'is-jet-engine': true }, $triggeredBy);
}
return popupData;
}
);
JetEngine.updateAddedStyles();
},
initBricks: function($scope){
if(window.bricksIsFrontend){
return;
}
$scope=$scope||$('body');
JetEngine.initBlocks($scope);
},
initBlocks: function($scope){
$scope=$scope||$('body');
window.JetPlugins.init($scope, [
{
block: 'jet-engine/listing-grid',
callback: JetEngine.widgetListingGrid
},
{
block: 'jet-engine/dynamic-field',
callback: JetEngine.widgetDynamicField
}
]);
},
initFrontStores: function($scope){
$scope=$scope||$('body');
$('.jet-add-to-store.is-front-store', $scope).each(function(){
var $this=$(this),
args=$this.data('args'),
store=JetEngineStores[ args.store.type ],
count=0;
args=JetEngine.ensureJSON(args);
if(! store){
return;
}
if(store.inStore(args.store.slug, '' + args.post_id) ){
JetEngine.switchDataStoreStatus($this);
}});
$('.jet-remove-from-store.is-front-store', $scope).each(function(){
var $this=$(this),
args=$this.data('args'),
store=JetEngineStores[ args.store.type ],
count=0;
args=JetEngine.ensureJSON(args);
if(! store){
return;
}
if(! store.inStore(args.store.slug, '' + args.post_id) ){
$this.addClass('is-hidden');
}else{
$this.removeClass('is-hidden');
}});
},
initStores: function(){
JetEngine.initFrontStores();
$.each(JetEngineRegisteredStores, function(storeSlug, storeType){
var store=JetEngineStores[ storeType ],
storeData=null,
count=0;
if(! store){
return;
}
storeData=store.getStore(storeSlug);
if(storeData&&storeData.length){
count=storeData.length;
}
$('span.jet-engine-data-store-count[data-store="' + storeSlug + '"]').text(count);
});
JetEngine.loadFrontStoresItems();
},
loadFrontStoresItems: function($scope){
$scope=$scope||$('body');
$('.jet-listing-not-found.jet-listing-grid__items', $scope).each(function(){
var $this=$(this),
nav=$this.data('nav'),
isStore=$this.data('is-store-listing'),
query=nav.query||{};
nav=JetEngine.ensureJSON(nav);
if(query&&query.post__in&&query.post__in.length&&0 >=query.post__in.indexOf('is-front') ){
var storeType=query.post__in[1],
storeSlug=query.post__in[2],
store=JetEngineStores[ storeType ],
posts=[],
$container=$this.closest('.jet-listing-grid');
if(! store){
return;
}
if(! $container.length){
$container=$this.closest('.jet-listing-grid--blocks');
}
if(! $container.length){
$container=$this.closest('.brxe-jet-engine-listing-grid')
}
posts=store.getStore(storeSlug);
if(! posts.length){
return;
}
query.post__in=posts;
query.is_front_store=true;
JetEngine.ajaxGetListing({
handler: 'get_listing',
container: $container,
masonry: false,
slider: false,
append: false,
query: query,
widgetSettings: nav.widget_settings,
}, function(response){
JetEngine.widgetListingGrid($container);
});
}else if(isStore){
$(document).trigger('jet-listing-grid-init-store', $this);
}});
},
dataStores: {
queues: {},
getQueue: function(store){
if(!(this.queues?.[ store ] instanceof Promise) ){
this.queues[ store ]=Promise.resolve();
}
return this.queues[ store ];
},
addToQueue: function(store, callback){
this.queues[ store ]=this.getQueue(store).then(callback);
},
},
removeFromStore: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this),
args=$this.data('args'),
isDataStoreBtn=$this.hasClass('jet-data-store-link');
args=JetEngine.ensureJSON(args);
if(args.store.is_front){
var store=JetEngineStores[ args.store.type ],
count=0;
if(! store){
return;
}
if(! store.inStore(args.store.slug, '' + args.post_id) ){
var storePosts=store.getStore(args.store.slug);
count=storePosts.length;
}else{
count=store.remove(args.store.slug, args.post_id);
}
$('.jet-add-to-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('.jet-data-store-link.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(count);
if(args.remove_from_listing){
$this.closest('.jet-listing-dynamic-post-' + args.post_id).remove();
}
JetEngine.dataStoreSyncListings(args);
$(document).trigger('jet-engine-data-stores-on-remove', args);
return;
}
if($this.hasClass('jet-store-processing') ){
return;
}
$this.css('opacity', 0.3);
$this.addClass('jet-store-processing');
JetEngine.dataStores.addToQueue(args.store.slug, ()=> {
return $.ajax({
url: JetEngineSettings.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'jet_engine_remove_from_store_' + args.store.slug,
store: args.store.slug,
post_id: args.post_id,
},
}).done(function(response){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
if(response.success){
if(! isDataStoreBtn){
$this.addClass('is-hidden');
}
$('.jet-add-to-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('.jet-data-store-link.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
JetEngine.dataStoreSyncListings(args);
if(args.remove_from_listing){
$this.closest('.jet-listing-grid__item[data-post="' + args.post_id + '"]').remove();
}
if(response.data.fragments){
$.each(response.data.fragments, function(selector, value){
$(selector).html(value);
});
}
$(document).trigger('jet-engine-data-stores-on-remove', args);
}else{
alert(response.data.message);
}
return response;
}).done(function(response){
if(args.remove_from_listing){
$this.closest('.jet-listing-grid__item').remove();
}
if(response.success){
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(response.data.count);
}}).fail(function(jqXHR, textStatus, errorThrown){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
alert(errorThrown);
});
});
},
triggerPopup: function(popupID, isJetEngine, postID){
if(! popupID){
return;
}
var popupData={
popupId: 'jet-popup-' + popupID,
};
if(isJetEngine){
popupData.isJetEngine=true;
popupData.postId=postID;
}
$(window).trigger({
type: 'jet-popup-open-trigger',
popupData: popupData
});
},
dataStoreSyncListings: function(args){
if(! args.synch_id||typeof args.synch_id!=='string'){
return;
}
const ids=args.synch_id.split(/[\s,]+/).map(( id)=> id.replace(/\s/, '') ).filter(( id)=> !! id);
ids.forEach(function(id){
let $container=$('#' + id),
$elemContainer=$container.find('> .elementor-widget-container');
if(! $container.length){
return;
}
let $items=$container.find('.jet-listing-grid__items'),
posts=[],
nav=$items.data('nav')||{},
query=nav.query||{},
postID=window.elementorFrontendConfig?.post?.id||0;
nav=JetEngine.ensureJSON(nav);
if($container.hasClass('brxe-jet-engine-listing-grid') ){
postID=window.bricksData.postId;
}
if($container.hasClass('jet-listing-grid--blocks')){
postID=JetEngineSettings.post_id;
}
if(args?.store?.is_front&&Object.keys(query).length){
let store=JetEngineStores[ args.store.type ];
posts=store.getStore(args.store.slug);
if(! posts.length){
posts=[ 'is-front', args.store.type, args.store.slug ];
}
query.post__in=posts;
query.is_front_store=true;
}
let options={
handler: 'get_listing',
container: $elemContainer.length ? $elemContainer:$container,
masonry: false,
slider: false,
append: false,
query: query,
widgetSettings: nav.widget_settings,
postID: postID,
elementID: $container.data('id'),
};
JetEngine.ajaxGetListing(options, function(response){
JetEngine.widgetListingGrid($container);
});
});
},
addToStore: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this),
args=$this.data('args');
args=JetEngine.ensureJSON(args);
if($this.hasClass('in-store') ){
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}else if('_blank'===$this.attr('target') ){
window.open($this.attr('href') );
}else{
window.location=$this.attr('href');
}
return;
}
if(args.store.is_front){
var store=JetEngineStores[ args.store.type ],
count=0;
if(! store){
return;
}
if(store.inStore(args.store.slug, '' + args.post_id) ){
var storePosts=store.getStore(args.store.slug);
count=storePosts.length;
}else{
count=store.addToStore(args.store.slug, args.post_id, args.store.size);
if(false===count){
return;
}}
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}
JetEngine.switchDataStoreStatus($this);
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(count);
$('.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').removeClass('is-hidden');
JetEngine.dataStoreSyncListings(args);
$(document).trigger('jet-engine-data-stores-on-add', args);
return;
}
if($this.hasClass('jet-store-processing') ){
return;
}
$this.css('opacity', 0.3);
$this.addClass('jet-store-processing');
$(document).trigger('jet-engine-on-add-to-store', [ $this, args ]);
JetEngine.dataStores.addToQueue(args.store.slug, ()=> {
return $.ajax({
url: JetEngineSettings.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'jet_engine_add_to_store_' + args.store.slug,
store: args.store.slug,
post_id: args.post_id,
},
}).done(function(response){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
if(response.success){
JetEngine.switchDataStoreStatus($this);
$('.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').removeClass('is-hidden');
if(response.data.fragments){
$.each(response.data.fragments, function(selector, value){
$(selector).html(value);
});
}
JetEngine.dataStoreSyncListings(args);
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}}else{
alert(response.data.message);
}
$(document).trigger('jet-engine-data-stores-on-add', args);
return response;
}).done(function(response){
if(response.success){
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(response.data.count);
}}).fail(function(jqXHR, textStatus, errorThrown){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
alert(errorThrown);
});
});
},
switchDataStoreStatus: function($item, toInitial){
var isDataStoreLink=$item.hasClass('jet-data-store-link'),
$label=$item.find('.jet-listing-dynamic-link__label, .jet-data-store-link__label'),
$icon=$item.find('.jet-listing-dynamic-link__icon, .jet-data-store-link__icon'),
args=$item.data('args'),
replaceLabel,
replaceURL,
replaceIcon;
args=JetEngine.ensureJSON(args);
toInitial=toInitial||false;
if(isDataStoreLink){
switch(args.action_after_added){
case 'remove_from_store':
if(toInitial){
$item.addClass('jet-add-to-store');
$item.removeClass('jet-remove-from-store');
$item.removeClass('in-store');
}else{
$item.addClass('jet-remove-from-store');
$item.removeClass('jet-add-to-store');
$item.addClass('in-store');
}
break;
case 'hide':
if(toInitial){
$item.removeClass('is-hidden');
}else{
$item.addClass('is-hidden');
}
return;
}}
if(toInitial){
replaceLabel=args.label;
replaceIcon=args.icon;
replaceURL='#';
}else{
replaceLabel=args.added_label;
replaceIcon=args.added_icon;
replaceURL=args.added_url;
}
if($label.length){
$label.replaceWith(replaceLabel);
}else{
$item.append(replaceLabel);
}
if($icon.length){
$icon.replaceWith(replaceIcon);
}else{
$item.prepend(replaceIcon);
}
if(isDataStoreLink&&'remove_from_store'===args.action_after_added){
return;
}
$item.attr('href', replaceURL);
if(toInitial){
$item.removeClass('in-store');
}else if(! $item.hasClass('in-store') ){
$item.addClass('in-store');
}},
showConfirmDeleteDialog: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this);
if(window.confirm($this.data('delete-message') )){
window.location=$this.attr('href');
}},
handleListingItemClick: function(event){
var url=$(this).data('url'),
target=$(this).data('target')||false;
if(url){
event.preventDefault();
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()){
return;
}
if(-1!==url.indexOf('#jet-engine-action') ){
JetEngine.customUrlActions.runAction(url);
}else{
if('_blank'===target){
window.open(url);
return;
}
window.location=url;
}}
},
customUrlActions: {
selectorOnClick: 'a[href^="#jet-engine-action"][href*="event=click"]',
selectorOnHover: 'a[href^="#jet-engine-action"][href*="event=hover"], [data-url^="#jet-engine-action"][data-url*="event=hover"]',
init: function(){
var timeout=null;
$(document).on('click.JetEngine', this.selectorOnClick, function(event){
event.preventDefault();
JetEngine.customUrlActions.actionHandler(event)
});
$(document).on('click.JetEngine', this.selectorOnHover, function(event){
if('A'===event.currentTarget.nodeName){
event.preventDefault();
}});
$(document).on({
'mouseenter.JetEngine': function(event){
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(function(){
JetEngine.customUrlActions.actionHandler(event)
}, window.JetEngineSettings.hoverActionTimeout);
},
'mouseleave.JetEngine': function(){
if(timeout){
clearTimeout(timeout);
timeout=null;
}},
}, this.selectorOnHover);
},
actions: {},
addAction: function(name, callback){
this.actions[ name ]=callback;
},
actionHandler: function(event){
var url=$(event.currentTarget).attr('href')||$(event.currentTarget).attr('data-url');
this.runAction(url);
},
runAction: function(url){
var queryParts=url.split('&'),
settings={};
queryParts.forEach(function(item){
if(-1!==item.indexOf('=') ){
var pair=item.split('=');
settings[ pair[0] ]=decodeURIComponent(pair[1]);
}});
if(! settings.action){
return;
}
var actionCb=this.actions[ settings.action ];
if(! actionCb){
return;
}
actionCb(settings);
}},
prepareJetPopup: function(popupData, widgetData, $scope){
var postId=null;
if(widgetData['is-jet-engine']){
popupData['isJetEngine']=true;
var $gridItems=$scope.closest('.jet-listing-grid__items'),
$gridItem=$scope.closest('.jet-listing-grid__item'),
$calendarItem=$scope.closest('.jet-calendar-week__day-event'),
$itemObject=$scope.closest('[data-item-object]'),
filterProvider=false,
filterQueryId='default';
if($gridItems.length){
popupData['listingSource']=$gridItems.data('listing-source');
popupData['listingId']=$gridItems.data('listing-id');
popupData['queryId']=$gridItems.data('query-id');
}else{
var $queryItems=$scope.closest('[data-query-id]'),
$listingSource=$scope.closest('[data-listing-source]');
if($queryItems.length){
popupData['queryId']=$queryItems.data('query-id');
}
if($listingSource.length){
popupData['listingSource']=$listingSource.data('listing-source');
}}
if($itemObject?.length){
popupData['postId']=$itemObject.data('item-object');
filterProvider=$itemObject.data('render-type');
if(! filterProvider&&$itemObject.hasClass('jet-dynamic-table__row') ){
filterProvider='jet-data-table';
}}else if($gridItem.length){
popupData['postId']=$gridItem.data('post-id');
filterProvider='jet-engine';
}else if($calendarItem.length){
popupData['postId']=$calendarItem.data('post-id');
filterProvider='jet-engine-calendar';
}else if(window.elementorFrontendConfig&&window.elementorFrontendConfig.post){
popupData['postId']=window.elementorFrontendConfig.post.id;
}
if(window.JetEngineFormsEditor&&window.JetEngineFormsEditor.hasEditor){
popupData['hasEditor']=true;
}
if(window.JetSmartFilters){
switch(filterProvider){
case 'jet-engine':
var nav=$gridItems.data('nav');
if(nav.widget_settings?._element_id){
filterQueryId=nav.widget_settings._element_id;
}
break;
case 'jet-engine-calendar':
var settings=$calendarItem.closest('.jet-listing-calendar').data('settings');
if(settings._element_id){
filterQueryId=settings._element_id;
}
break;
case 'jet-data-table':
const table=$scope.closest('.jet-dynamic-table');
const queryId=table[0].dataset.queryId;
const customIds=JetEngineSettings.query_builder.custom_ids;
if(customIds.length!==0&&customIds?.[ queryId ]){
filterQueryId=customIds[ queryId ];
}
break;
}
filterProvider=window.JetPlugins.hooks.applyFilters('jet-engine.prepareJetPopupData.filterProvider', filterProvider, $scope, widgetData);
filterQueryId=window.JetPlugins.hooks.applyFilters('jet-engine.prepareJetPopupData.filterQueryId', filterQueryId, $scope, widgetData);
if(popupData.queryId&&filterProvider
&& window.JetSmartFilters?.filterGroups?.[ filterProvider + '/' + filterQueryId ]?.currentQuery
){
popupData['filtered_query']=window.JetSmartFilters.filterGroups[ filterProvider + '/' + filterQueryId ].currentQuery;
}}
}
return popupData;
},
showCalendarEvent: function(event){
var $this=$(this),
$day=$this.closest('.jet-calendar-week__day'),
$week=$day.closest('.jet-calendar-week'),
$events=$day.find('.jet-calendar-week__day-content'),
activeClass='calendar-event-active';
if($day.hasClass(activeClass) ){
$day.removeClass(activeClass);
JetEngine.activeCalendarDay.remove();
JetEngine.activeCalendarDay=null;
return;
}
if(JetEngine.activeCalendarDay){
JetEngine.activeCalendarDay.remove();
$('.' + activeClass).removeClass(activeClass);
JetEngine.activeCalendarDay=null;
}
$day.addClass('calendar-event-active');
JetEngine.activeCalendarDay=$('<tr class="jet-calendar-week"><td colspan="7" class="jet-calendar-week__day jet-calendar-week__day-mobile"><div class="jet-calendar-week__day-mobile-event">' + $events.html() + '</div></td></tr>');
JetEngine.activeCalendarDay.find('.jet-popup-attach-event-inited').removeClass('jet-popup-attach-event-inited');
JetEngine.initElementsHandlers(JetEngine.activeCalendarDay);
JetEngine.activeCalendarDay.insertAfter($week);
},
widgetListingGrid: function($scope){
var widgetID=$scope.closest('.elementor-widget').data('id'),
$wrapper=$scope.find('.jet-listing-grid').first(),
hasLazyLoad=$wrapper.hasClass('jet-listing-grid--lazy-load'),
$listing=$scope.find('.jet-listing-grid__items').first(),
$slider=$listing.parent('.jet-listing-grid__slider'),
$masonry=$listing.hasClass('jet-listing-grid__masonry') ? $listing:false,
navSettings=$listing.data('nav'),
masonryGrid=false,
listingType='elementor';
if(! widgetID){
widgetID=$scope.data('element-id');
listingType=$scope.data('listing-type');
}
navSettings=JetEngine.ensureJSON(navSettings);
if(hasLazyLoad){
var lazyLoadOptions=$wrapper.data('lazy-load'),
$container=$scope.find('.elementor-widget-container'),
widgetSettings=false;
if(! $container.length){
$container=$scope;
}
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()
&& $wrapper.closest('.elementor[data-elementor-type]').hasClass('elementor-edit-mode')
){
widgetSettings=JetEngine.getEditorElementSettings($scope.closest('.elementor-widget') );
widgetID=false;
}
if(! widgetSettings){
widgetSettings=$scope.data('widget-settings');
}
JetEngine.lazyLoadListing({
container:      $container,
elementID:      widgetID,
postID:         lazyLoadOptions.post_id,
queriedID:      lazyLoadOptions.queried_id||false,
offset:         lazyLoadOptions.offset||'0px',
query:          lazyLoadOptions.query||{},
listingType:    listingType,
widgetSettings: widgetSettings,
extraProps:     lazyLoadOptions.extra_props||false,
});
return;
}
if($slider.length){
JetEngine.initSlider($slider);
}
if($masonry&&$masonry.length){
JetEngine.initMasonry($masonry);
if($scope.hasClass('brxe-jet-engine-listing-grid') ){
$(window).on('load', function(){
JetEngine.runMasonry($masonry);
});
}}
if(navSettings&&navSettings.enabled){
JetEngine.loadMoreListing({
container: $listing,
settings: navSettings,
masonry: $masonry,
slider: $slider,
elementID: widgetID,
});
}
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()
&& $wrapper.closest('.elementor-element-edit-mode').length
){
JetEngine.initElementsHandlers($wrapper);
}},
initMasonry: function($masonry, masonrySettings){
imagesLoaded($masonry, function(){
JetEngine.runMasonry($masonry, masonrySettings);
});
},
runMasonry: function($masonry, masonrySettings){
var defaultSettings={
itemSelector: '> .jet-listing-grid__item',
columnsKey:   'columns',
};
masonrySettings=masonrySettings||{};
masonrySettings=$.extend({}, defaultSettings, masonrySettings);
var $eWidget=$masonry.closest('.elementor-widget'),
$items=$(masonrySettings.itemSelector, $masonry),
options=$masonry.data('masonry-grid-options')||{};
options=JetEngine.ensureJSON(options);
$items.css({
marginTop: ''
});
const { gap }=options;
let margin=null;
if(gap){
margin={
x: +gap.horizontal,
y: +gap.vertical,
};}
var args={
container: $masonry[0],
margin: margin ? margin:0,
};
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($eWidget),
breakpoints={},
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints,
columnsKey=masonrySettings.columnsKey;
args.columns=settings[columnsKey + '_widescreen'] ? +settings[columnsKey + '_widescreen']:+settings[columnsKey];
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings[columnsKey + '_' + breakpointName]){
if('widescreen'===breakpointName){
breakpoints[eBreakpoints[breakpointName].value - 1]=+settings[columnsKey];
}else{
breakpoints[eBreakpoints[breakpointName].value]=+settings[columnsKey + '_' + breakpointName];
}}
});
args.breakAt=breakpoints;
}else{
args.columns=options.columns.desktop;
args.breakAt={
1025: options.columns.tablet,
768:  options.columns.mobile,
};}
var masonryInstance=Macy(args);
masonryInstance.runOnImageLoad(function (){
masonryInstance.recalculate(true);
}, true);
$masonry.on('jet-engine/listing/recalculate-masonry-listing', function(){
masonryInstance.runOnImageLoad(function (){
masonryInstance.recalculate(true);
}, true);
});
$(document).on('jet-engine/listing/recalculate-masonry', function(){
masonryInstance.recalculate(true);
});
},
ajaxGetListing: function(options, doneCallback, failCallback){
var container=options.container||false,
handler=options.handler||false,
masonry=options.masonry||false,
slider=options.slider||false,
append=options.append||false,
query=options.query||{},
widgetSettings=options.widgetSettings||{},
postID=options.postID||false,
queriedID=options.queriedID||false,
elementID=options.elementID||false,
page=options.page||1,
preventCSS=options.preventCSS||false,
listingType=options.listingType||false,
extraProps=options.extraProps||false,
isEditMode=window.elementorFrontend&&window.elementorFrontend.isEditMode();
doneCallback=doneCallback||function(response){};
if(! container||! handler){
return;
}
if(! preventCSS){
container.css({
pointerEvents: 'none',
opacity: '0.5',
cursor: 'default',
});
}
var requestData={
action: 'jet_engine_ajax',
handler: handler,
query: query,
widget_settings: widgetSettings,
page_settings: {
post_id: postID,
queried_id: queriedID,
element_id: elementID,
page: page,
},
listing_type: listingType,
isEditMode: isEditMode,
addedPostCSS: JetEngine.addedPostCSS
};
if(extraProps){
Object.assign(requestData, extraProps);
}
$.ajax({
url: JetEngineSettings.ajaxlisting,
type: 'POST',
dataType: 'json',
data: requestData,
}).done(function(response){
if(!preventCSS){
container.css({
pointerEvents: '',
opacity: '',
cursor: '',
});
}
if(response.success){
JetEngine.enqueueAssetsFromResponse(response);
container.data('page', page);
var $html=$(response.data.html);
JetEngine.initFrontStores($html);
if(slider&&slider.length){
var $slider=slider.find('> .jet-listing-grid__items');
if(! $slider.hasClass('slick-initialized') ){
if(append){
container.append($html);
}else{
container.html($html);
}
var itemsCount=container.find('> .jet-listing-grid__item').length;
slider.addClass('jet-listing-grid__slider');
JetEngine.initSlider(slider, { itemsCount: itemsCount });
}else{
$html.each(function(index, el){
$slider.slick('slickAdd', el);
});
}}else{
if(append){
container.append($html);
}else{
container.html($html);
}
if(masonry&&masonry.length){
masonry.trigger('jet-engine/listing/recalculate-masonry-listing');
}}
JetEngine.reinitBricksScripts(elementID);
Promise.all(JetEngine.assetsPromises).then(function(){
JetEngine.initElementsHandlers($html);
JetEngine.assetsPromises=[];
});
if(response.data.fragments){
for(var selector in response.data.fragments){
var $selector=$(selector);
if($selector.length){
$selector.html(response.data.fragments[ selector ]);
}}
}}
$(document).trigger('jet-engine/listing/ajax-get-listing/done', [ $html, options ]);
}).done(doneCallback).fail(function(){
container.removeAttr('style');
if(failCallback){
failCallback.call();
}});
},
loadMoreListing: function(args){
var instance={
setup: function(){
this.container=args.container;
this.masonry=args.masonry;
this.slider=args.slider;
this.settings=args.settings;
this.elementID=args.elementID;
this.wrapper=this.container.closest('.jet-listing-grid');
this.type=this.settings.type||'click';
this.page=parseInt(this.container.data('page'), 10)||0;
this.pages=parseInt(this.container.data('pages'), 10)||0;
this.queriedID=this.container.data('queried-id')||false;
},
init: function(){
this.setup();
switch(this.type){
case 'click':
this.handleMore();
break;
case 'scroll':
if(( ! window.elementorFrontend||! window.elementorFrontend.isEditMode())&&! this.slider.length){
this.handleInfiniteScroll();
}
break;
}},
handleMore: function(){
if(! this.settings.more_el){
return;
}
var self=this,
$button=$(this.settings.more_el);
if(! $button.length){
return;
}
if(! this.pages||this.page===this.pages&&! window.elementor){
$button.css('display', 'none');
}else{
$button.removeAttr('style');
}
$(document)
.off('click', this.settings.more_el)
.on('click', this.settings.more_el, function(event){
event.preventDefault();
if(! self.pages||self.page >=self.pages){
$button.css('display', 'none');
return;
}
$button.css({
pointerEvents: 'none',
opacity: '0.5',
cursor: 'default',
});
self.ajaxGetItems(function(response){
$button.removeAttr('style');
if(response.success&&self.page===self.pages){
$button.css('display', 'none');
}}, function(){
$button.button.removeAttr('style');
}
);
});
},
handleInfiniteScroll: function(){
if(this.container.hasClass('jet-listing-not-found') ){
return;
}
if(! this.pages||this.page===this.pages){
return;
}
var self=this,
$trigger=this.wrapper.find('.jet-listing-grid__loader'),
offset='0%';
if(! $trigger.length){
$trigger=$('<div>', {
class: 'jet-listing-grid__loading-trigger'
});
this.wrapper.append($trigger);
}
if(this.settings.widget_settings&&this.settings.widget_settings.load_more_offset){
var offsetValue=this.settings.widget_settings.load_more_offset;
switch(typeof offsetValue){
case 'object':
var size=offsetValue.size ? offsetValue.size:'0',
unit=offsetValue.unit ? offsetValue.unit:'px';
offset=size + unit;
break;
case 'number':
case 'string':
offset=offsetValue + 'px';
break;
}}
var observer=new IntersectionObserver(
function(entries, observer){
if(entries[0].isIntersecting){
self.ajaxGetItems(function(){
if(self.page!==self.pages){
setTimeout(function(){
observer.observe(entries[0].target);
}, 250);
}});
observer.unobserve(entries[0].target);
}},
{
rootMargin: '0% 0% ' + offset + ' 0%',
}
);
observer.observe($trigger[0]);
},
ajaxGetItems: function(doneCallback, failCallback){
var self=this;
this.page++;
this.wrapper.addClass('jet-listing-grid-loading');
JetEngine.ajaxGetListing({
handler:        'listing_load_more',
container:      this.container,
masonry:        this.masonry,
slider:         this.slider,
append:         true,
query:          this.settings.query,
widgetSettings: this.settings.widget_settings,
page:           this.page,
elementID:      this.elementID,
queriedID:      this.queriedID,
preventCSS:     !! this.wrapper.find('.jet-listing-grid__loader').length,
}, function(response){
JetEngine.lazyLoading=false;
self.wrapper.removeClass('jet-listing-grid-loading');
if(doneCallback){
doneCallback(response);
}
$(document).trigger('jet-engine/listing-grid/after-load-more', [args, response]);
}, function(){
JetEngine.lazyLoading=false;
self.wrapper.removeClass('jet-listing-grid-loading');
if(failCallback){
failCallback();
}});
},
};
instance.init();
},
lazyLoadListing: function(args){
var $wrapper=args.container.find('.jet-listing-grid'),
observer=new IntersectionObserver(
function(entries, observer){
if(entries[0].isIntersecting){
JetEngine.lazyLoading=true;
if(! $wrapper.length){
$wrapper=args.container;
}
$wrapper.addClass('jet-listing-grid-loading');
JetEngine.ajaxGetListing({
handler: 'get_listing',
container: args.container,
masonry: false,
slider: false,
append: false,
elementID: args.elementID,
postID: args.postID,
queriedID: args.queriedID,
query: args.query,
widgetSettings: args.widgetSettings,
listingType: args.listingType,
preventCSS: true,
extraProps: args.extraProps,
}, function(response){
$wrapper.removeClass('jet-listing-grid-loading');
var $widget=args.container.closest('.elementor-widget');
if(! $widget.length){
$widget=args.container.closest('.jet-listing-grid--blocks');
}
if(! $widget.length){
$widget=args.container;
}
if($widget.length){
$widget.find('.jet-listing-grid').first().removeClass('jet-listing-grid--lazy-load');
}
JetEngine.widgetListingGrid($widget);
JetEngine.loadFrontStoresItems($widget);
JetEngine.lazyLoading=false;
let needReInitFilters=false;
let isFrontend=JetEngine.isFrontend();
if(isFrontend&&window.JetSmartFilterSettings){
if(response.data.filters_data){
$.each(response.data.filters_data, function(param, data){
if('extra_props'===param){
window.JetSmartFilterSettings[ param ]=$.extend({},
window.JetSmartFilterSettings[ param ],
data
);
}else{
if(window.JetSmartFilterSettings[ param ]['jet-engine']){
window.JetSmartFilterSettings[ param ]['jet-engine']=$.extend({},
window.JetSmartFilterSettings[ param ]['jet-engine'],
data
);
}else{
window.JetSmartFilterSettings[ param ]['jet-engine']=data;
}}
});
needReInitFilters=true;
}
if(response.data.indexer_data){
const {
provider=false,
query={}}=response.data.indexer_data;
window.JetSmartFilters.setIndexedData(provider, query);
}}
if(needReInitFilters&&window.JetSmartFilters){
window.JetSmartFilters.reinitFilters();
}
$(document).trigger('jet-engine/listing-grid/after-lazy-load', [ args, response ]);
}, function(){
JetEngine.lazyLoading=false;
if(! $wrapper.length){
$wrapper=args.container;
}
$wrapper.removeClass('jet-listing-grid-loading');
});
observer.unobserve(entries[0].target);
}},
{
rootMargin: '0% 0% ' + args.offset + ' 0%'
}
);
observer.observe(args.container[0]);
},
ensureJSON: function(maybeJSON){
if(! maybeJSON){
return maybeJSON;
}
if('string'===typeof maybeJSON){
console.log(maybeJSON);
}
return maybeJSON;
},
initSlider: function($slider, customOptions){
var $eWidget=$slider.closest('.elementor-widget'),
options=$slider.data('slider_options'),
windowWidth=$(window).width(),
tabletBP=1025,
mobileBP=768,
tabletSlides, mobileSlides, defaultOptions, slickOptions;
options=JetEngine.ensureJSON(options);
customOptions=customOptions||{};
options=$.extend({}, options, customOptions);
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($eWidget),
responsive=[],
deviceMode=elementorFrontend.getCurrentDeviceMode(),
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints;
options.slidesToShow=settings.columns_widescreen ? +settings.columns_widescreen:+settings.columns;
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings['columns_' + breakpointName]){
if('widescreen'===breakpointName){
responsive.push({
breakpoint: eBreakpoints[breakpointName].value,
settings: {
slidesToShow: +settings['columns'],
}});
}else{
var breakpointSettings={
breakpoint: eBreakpoints[breakpointName].value + 1,
settings:   {
slidesToShow: +settings['columns_' + breakpointName],
}};
if(options.slidesToScroll > breakpointSettings.settings.slidesToShow){
breakpointSettings.settings.slidesToScroll=breakpointSettings.settings.slidesToShow;
}
responsive.push(breakpointSettings);
}}
});
options.responsive=responsive;
}else{
if(! options.slidesToShow){
options.slidesToShow={
desktop: 3,
tablet: 1,
mobile: 1,
}}
if(options.itemsCount <=options.slidesToShow.desktop&&windowWidth >=tabletBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}else if(options.itemsCount <=options.slidesToShow.tablet&&tabletBP > windowWidth&&windowWidth >=mobileBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}else if(options.itemsCount <=options.slidesToShow.mobile&&windowWidth < mobileBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}
if(options.slidesToShow.tablet){
tabletSlides=options.slidesToShow.tablet;
}else{
tabletSlides=1===options.slidesToShow.desktop ? 1:2;
}
if(options.slidesToShow.mobile){
mobileSlides=options.slidesToShow.mobile;
}else{
mobileSlides=1;
}
options.slidesToShow=options.slidesToShow.desktop;
options.responsive=[
{
breakpoint: 1025,
settings: {
slidesToShow: tabletSlides,
slidesToScroll: options.slidesToScroll > tabletSlides ? tabletSlides:options.slidesToScroll
}},
{
breakpoint: 768,
settings: {
slidesToShow: mobileSlides,
slidesToScroll: 1
}}
];
}
defaultOptions={
customPaging: function(slider, i){
return $('<span />').text(i + 1).attr('role', 'tab');
},
slide: '.jet-listing-grid__item',
dotsClass: 'jet-slick-dots',
};
slickOptions=$.extend({}, defaultOptions, options);
var $sliderItems=$slider.find('> .jet-listing-grid__items');
if(slickOptions.infinite){
$sliderItems.on('init', function(){
var $items=$(this),
$clonedSlides=$('> .slick-list > .slick-track > .slick-cloned.jet-listing-grid__item', $items);
if(!$clonedSlides.length){
return;
}
JetEngine.initElementsHandlers($clonedSlides);
if($slider.find('.bricks-lazy-hidden').length){
bricksLazyLoad();
}});
}
if(slickOptions.rtl){
$sliderItems.on('init', function(){
var $items=$(this),
$lazyImages=$('img[loading=lazy]', $items),
lazyImageObserver=new IntersectionObserver(
function(entries, observer){
entries.forEach(function(entry){
if(entry.isIntersecting){
if(! entry.target.complete){
entry.target.removeAttribute('loading');
}
observer.unobserve(entry.target);
}});
}
);
$lazyImages.each(function(){
const $img=$(this);
lazyImageObserver.observe($img[0]);
});
});
}
if($sliderItems.hasClass('slick-initialized') ){
$sliderItems.slick('refresh', true);
return;
}
if(slickOptions.variableWidth){
slickOptions.slidesToShow=1;
slickOptions.slidesToScroll=1;
slickOptions.responsive=null;
}
$sliderItems.on('init.JetEngine',
()=> {
$sliderItems.find('.slick-active').each((i, el)=> {
JetEngine.rerunElementorAnimation($(el) );
}
);
}
);
$sliderItems.on('afterChange.JetEngine',
()=> {
$sliderItems.find('.slick-active').each((i, el)=> {
JetEngine.rerunElementorAnimation($(el) );
}
);
}
);
$sliderItems.slick(slickOptions);
$sliderItems.off('init.JetEngine');
},
maybeReinitSlider: function(event, $scope){
var $slider=$scope.find('.jet-listing-grid__slider');
if($slider.length){
$slider.each(function(){
JetEngine.initSlider($(this) );
});
}},
rerunElementorAnimation: function($scope, forceRerun=false){
let selector='.elementor-element[data-settings*="_animation"]';
if(! forceRerun){
selector +=':is(.elementor-invisible, :not(.jet-engine-animation-rerun))';
}
$scope.find(selector).each((i, el)=> {
const settings=JSON.parse(el.dataset.settings||'{}');
const $el=$(el);
if(settings._animation){
const classes=`animated ${settings._animation}`;
$el.removeClass(classes);
setTimeout(
()=> {
$el.removeClass('elementor-invisible').addClass(classes);
$el.addClass('jet-engine-animation-rerun');
},
settings._animation_delay
);
}}
);
},
widgetDynamicField: function($scope){
var $slider=$scope.find('.jet-engine-gallery-slider');
if($slider.length){
if($.isFunction($.fn.imagesLoaded) ){
$slider.imagesLoaded().always(function(instance){
var $eWidget=$slider.closest('.elementor-widget');
if($slider.hasClass('slick-initialized') ){
$slider.slick('refresh', true);
}else{
var atts=$slider.data('atts');
atts=JetEngine.ensureJSON(atts);
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($scope),
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints,
responsive=[];
if(settings.img_slider_cols||settings.img_slider_cols_widescreen){
atts.slidesToShow=settings.img_slider_cols_widescreen ? +settings.img_slider_cols_widescreen:+settings.img_slider_cols;
}
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings['img_slider_cols_' + breakpointName]){
if('widescreen'===breakpointName){
responsive.push({
breakpoint: eBreakpoints[breakpointName].value,
settings:   {
slidesToShow: +settings['img_slider_cols'],
}});
}else{
var breakpointSettings={
breakpoint: eBreakpoints[breakpointName].value + 1,
settings:   {
slidesToShow: +settings['img_slider_cols_' + breakpointName],
}};
responsive.push(breakpointSettings);
}}
});
atts.responsive=responsive;
}
$slider.slick(atts);
}});
}}
$slider.on('init', function (event, slick){
const slider=event.target;
if(!slider.classList.contains('jet-engine-gallery-lightbox')||! window?.PhotoSwipeLightbox){
return;
}
let lightbox=new PhotoSwipeLightbox({
mainClass: 'brx',
gallery: slider,
children: 'a',
showHideAnimationType: 'none',
zoomAnimationDuration: false,
pswpModule: PhotoSwipe5,
});
lightbox.addFilter('numItems', numItems=> slick.slideCount);
lightbox.addFilter('clickedIndex', function (clickedIndex, e){
const slide=e.target.closest('.slick-slide');
if(!slide){
return clickedIndex;
}
if(clickedIndex >=slick.slideCount){
return clickedIndex % slick.slideCount;
}
return clickedIndex;
});
lightbox.addFilter('thumbEl', (thumbnail, itemData, index)=> {
return thumbnail;
});
lightbox.addFilter('thumbBounds', (thumbBounds, itemData, index)=> {
return thumbBounds;
});
lightbox.init();
});
var $masonry=$scope.find('.jet-engine-gallery-grid--masonry');
if($masonry.length){
JetEngine.initMasonry($masonry, {
columnsKey: 'img_columns',
itemSelector: '> .jet-engine-gallery-grid__item',
});
}},
calendarCache: {
entries: {},
iterate: function(iterator, callback){
if(typeof iterator?.forEach==='function'){
iterator.forEach(callback);
}else if(typeof iterator?.next==='function'){
let next;
while(next=iterator.next(), ! next.done){
callback.call(this, next.value);
}}
},
get: function(cacheId, month){
return JetEngine.calendarCache.entries[ cacheId ]?.get(month)||false;
},
set: function(cacheId, month, content, settings={}, timestamp=false){
if(! JetEngine.calendarCache.entries[ cacheId ]){
JetEngine.calendarCache.entries[ cacheId ]=new Map();
}
if(! JetEngine.calendarCache.entries[ cacheId ].has(month)
&& JetEngine.calendarCache.entries[ cacheId ].size >(settings['max_cache'] ?? 12) - 1
){
let deletedKey;
const mapKeys=JetEngine.calendarCache.entries[ cacheId ].keys();
if(settings['__switch_direction'] < 0){
let maxDate=false;
JetEngine.calendarCache.iterate(mapKeys,
function(key){
const parsedDate=Date.parse(key);
if(! maxDate||parsedDate > maxDate){
maxDate=parsedDate;
deletedKey=key;
}}
);
}else{
let minDate=false;
JetEngine.calendarCache.iterate(mapKeys,
function(key){
const parsedDate=Date.parse(key);
if(! minDate||parsedDate < minDate){
minDate=parsedDate;
deletedKey=key;
}}
);
}
JetEngine.calendarCache.entries[ cacheId ].delete(deletedKey);
}
if(! timestamp){
timestamp=Date.now();
}
JetEngine.calendarCache.entries[ cacheId ].set(month, [ content, timestamp ]);
},
update: function(cacheId, month, content, settings={}){
let cached=JetEngine.calendarCache.get(cacheId, month);
JetEngine.calendarCache.set(cacheId, month, content, settings, cached[1] ?? false);
},
deleteExpiredEntries: function(cacheId, cacheTimeout){
for(const cacheId in JetEngine.calendarCache.entries){
if(! document.querySelector(`.jet-calendar[data-cache-id="${cacheId}"]`) ){
delete JetEngine.calendarCache.entries[ cacheId ];
}}
if(! JetEngine.calendarCache.entries[ cacheId ]){
return;
}
JetEngine.calendarCache.iterate(JetEngine.calendarCache.entries[ cacheId ].keys(),
function(month){
if(JetEngine.calendarCache.isExpired(cacheId, month, cacheTimeout) ){
JetEngine.calendarCache.entries[ cacheId ].delete(month);
}}
);
},
isExpired: function(cacheId, month, cacheTimeout){
if(cacheTimeout < 0){
return false;
}
const cached=JetEngine.calendarCache.get(cacheId, month);
if(! cached||! Array.isArray(cached) ){
return true;
}
return ! cached[1]||cached[1] < Date.now() - cacheTimeout;
},
clear: function(e, $calendar){
const cacheId=$calendar.data('cache-id')||false;
if(! cacheId){
return;
}
JetEngine.calendarCache.entries[ cacheId ]=new Map();
},
modifyJetSmartFiltersSetiings: function($widget, widgetType, monthData){
if(! window.JetSmartFilterSettings||! window.JetSmartFilterSettings.settings){
return;
}
if(! window.JetSmartFilterSettings.settings['jet-engine-calendar']){
return;
}
monthData=monthData.split(' ');
const month=monthData[0],
year=monthData[1];
let widgetId;
switch(widgetType){
case 'block':
widgetId=$widget.closest('.jet-listing-calendar-block')[0].id;
if(! widgetId){
widgetId='default';
}
if(window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_year']=year;
}
break;
case 'bricks':
widgetId=$widget.data('element-id');
if(! widgetId){
break;
}
for(const id in window.JetSmartFilterSettings.settings['jet-engine-calendar']){
if(window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]?._id===widgetId){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]['start_from_year']=year;
break;
}}
break;
case 'elementor':
widgetId=$widget.closest('.elementor-widget-jet-listing-calendar')[0].id;
if(! widgetId){
widgetId='default';
}
if(window.JetSmartFilterSettings.settings['jet-engine-calendar']?.[ widgetId ]){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_year']=year;
}
break;
}},
},
selectCalendarMonth: function($event){
let wrapper=this.closest('.jet-calendar-caption__dates');
if(! JetEngine.updateDateSelectLabels(wrapper) ){
return;
}
JetEngine.switchCalendarMonth.bind(wrapper)()
},
updateDateSelectLabels: function(wrapper){
let month=wrapper.querySelector('.jet-calendar-caption__date-select.select-month'),
year=wrapper.querySelector('.jet-calendar-caption__date-select.select-year');
if(! month||! year){
return false;
}
let monthLabel=wrapper.querySelector('.jet-calendar-caption__date-select-label.select-month'),
yearLabel=wrapper.querySelector('.jet-calendar-caption__date-select-label.select-year');
wrapper.setAttribute('data-month', month.value + ' ' + year.value);
const monthOption=month.querySelector(`option[value="${month.value}"]`),
yearOption=year.querySelector(`option[value="${year.value}"]`);
monthLabel.innerHTML=monthOption.innerHTML;
yearLabel.innerHTML=yearOption.innerHTML;
return true;
},
switchCalendarMonth: function($event){
var $this=$(this),
$calendar=$this.closest('.jet-calendar'),
$widget=$this.closest('.elementor-widget-jet-listing-calendar'),
widgetID=$widget.closest('.elementor-widget').data('id'),
settings=$calendar.data('settings'),
post=$calendar.data('post'),
month=$this.data('month');
settings=JetEngine.ensureJSON(settings);
if(this.classList.contains('nav-link-prev') ){
settings['__switch_direction']=-1;
}else if(this.classList.contains('nav-link-next') ){
settings['__switch_direction']=1;
}else{
settings['__switch_direction']=0;
}
let widgetType='elementor';
if(! $widget.length){
$widget=$calendar.closest('.jet-listing-calendar-block');
widgetType='block';
}
if(! $widget.length){
$widget=$calendar.closest('.brxe-jet-listing-calendar');
widgetID=$widget.data('element-id');
widgetType='bricks';
}
JetEngine.calendarCache.modifyJetSmartFiltersSetiings($widget, widgetType, month);
const cacheId=$calendar.data('cache-id')||false,
cacheTimeout=(settings['cache_timeout'] ?? 0) * 1000;
if(cacheId&&cacheTimeout){
JetEngine.calendarCache.deleteExpiredEntries(cacheId, cacheTimeout);
if(window.bricksIsFrontend){
$calendar.find('.accordion-item.listening, .brxe-accordion-nested > .listening')
.removeClass('listening brx-open');
}
JetEngine.calendarCache.update(cacheId, settings['prev_month'], $calendar.prop('outerHTML'), settings);
const cached=JetEngine.calendarCache.get(cacheId, month);
if(cached?.length&&cached[0]&&! JetEngine.calendarCache.isExpired(cacheId, month, cacheTimeout) ){
let replacement=$(cached[0]);
replacement.removeClass('jet-calendar-loading');
$calendar.replaceWith(replacement[0]);
JetEngine.initElementsHandlers($widget);
JetEngine.updateDateSelectLabels($widget[0]);
JetEngine.reinitBricksScripts(widgetID);
$(document).trigger('jet-engine-request-calendar-cached', [ $widget ]);
return;
}}
$calendar.addClass('jet-calendar-loading');
JetEngine.currentRequest={
jet_engine_action: 'jet_engine_calendar_get_month',
month: month,
settings: settings,
post: post,
};
$(document).trigger('jet-engine-request-calendar');
$.ajax({
url: JetEngineSettings.ajaxlisting,
type: 'POST',
dataType: 'json',
data: JetEngine.currentRequest,
}).done(function(response){
if(response.success){
$calendar.replaceWith(response.data.content);
if(cacheId&&cacheTimeout){
JetEngine.calendarCache.set(cacheId, month, response.data.content, settings);
}
JetEngine.initElementsHandlers($widget);
JetEngine.reinitBricksScripts(widgetID);
$(document).trigger('jet-engine-request-calendar-done', [ $widget ]);
}
$calendar.removeClass('jet-calendar-loading');
});
},
initElementsHandlers: function($selector){
window.JetPlugins.init($selector);
$selector.find('[data-element_type]').each(function(){
var $this=$(this),
elementType=$this.data('element_type');
if(!elementType){
return;
}
if(! window?.elementorFrontend?.hooks?.doAction){
return;
}
if('widget'===elementType){
elementType=$this.data('widget_type');
window.elementorFrontend.hooks.doAction('frontend/element_ready/widget', $this, $);
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/global', $this, $);
window.elementorFrontend.hooks.doAction('frontend/element_ready/' + elementType, $this, $);
});
if(window.elementorFrontend){
const elementorLazyLoad=new Event("elementor/lazyload/observe");
document.dispatchEvent(elementorLazyLoad);
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
$selector.find('.jet-popup-attach-event-inited').removeClass('jet-popup-attach-event-inited');
window.JetPopupFrontend.initAttachedPopups($selector);
}},
getElementorElementSettings: function($scope){
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()&&$scope.hasClass('elementor-element-edit-mode') ){
return JetEngine.getEditorElementSettings($scope);
}
return $scope.data('settings')||{};},
getEditorElementSettings: function($scope){
var modelCID=$scope.data('model-cid'),
elementData;
if(! modelCID){
return {};}
if(! window.elementorFrontend.hasOwnProperty('config') ){
return {};}
if(! window.elementorFrontend.config.hasOwnProperty('elements') ){
return {};}
if(! window.elementorFrontend.config.elements.hasOwnProperty('data') ){
return {};}
elementData=window.elementorFrontend.config.elements.data[ modelCID ];
if(! elementData){
return {};}
return elementData.toJSON();
},
debounce: function(threshold, callback){
var timeout;
return function debounced($event){
function delayed(){
callback.call(this, $event);
timeout=null;
}
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(delayed, threshold);
};},
updateAddedStyles: function(){
if(window.JetEngineSettings&&window.JetEngineSettings.addedPostCSS){
$.each(window.JetEngineSettings.addedPostCSS, function(ind, cssID){
JetEngine.addedStyles.push('elementor-post-' + cssID);
JetEngine.addedPostCSS.push(cssID);
});
}},
enqueueAssetsFromResponse: function(response){
if(response.data.scripts){
JetEngine.enqueueScripts(response.data.scripts);
}
if(response.data.styles){
JetEngine.enqueueStyles(response.data.styles);
}},
enqueueScripts: function(scripts){
$.each(scripts, function(handle, scriptHtml){
JetEngine.enqueueScript(handle, scriptHtml)
});
},
enqueueStyles: function(styles){
$.each(styles, function(handle, styleHtml){
JetEngine.enqueueStyle(handle, styleHtml)
});
},
enqueueScript: function(handle, scriptHtml){
if(-1!==JetEngine.addedScripts.indexOf(handle) ){
return;
}
if(! scriptHtml){
return;
}
var selector='script[id="' + handle + '-js"]';
if($(selector).length){
return;
}
var scriptsTags=scriptHtml.match(/<script[\s\S]*?<\/script>/gm);
if(scriptsTags.length){
for(var i=0; i < scriptsTags.length; i++){
JetEngine.assetsPromises.push(new Promise(function(resolve, reject){
var $tag=$(scriptsTags[i]);
if($tag[0].src){
var tag=document.createElement('script');
tag.type=$tag[0].type;
tag.src=$tag[0].src;
tag.id=$tag[0].id;
tag.async=false;
tag.onload=function(){
resolve();
};
document.body.append(tag);
}else{
$('body').append(scriptsTags[i]);
resolve();
}})
);
}}
JetEngine.addedScripts.push(handle);
},
enqueueStyle: function(handle, styleHtml){
if(-1!==handle.indexOf('google-fonts') ){
JetEngine.enqueueGoogleFonts(handle, styleHtml);
return;
}
if(-1!==JetEngine.addedStyles.indexOf(handle) ){
return;
}
var selector='link[id="' + handle + '-css"],style[id="' + handle + '"]';
if($(selector).length){
return;
}
$('head').append(styleHtml);
JetEngine.addedStyles.push(handle);
if(-1!==handle.indexOf('elementor-post') ){
var postID=handle.replace('elementor-post-', '');
JetEngine.addedPostCSS.push(postID);
}},
enqueueGoogleFonts: function(handle, styleHtml){
var selector='link[id="' + handle + '-css"]';
if($(selector).length){}
$('head').append(styleHtml);
},
isFrontend: function (){
if(typeof window.elementorFrontend!=='undefined'){
return !window.elementorFrontend.isEditMode();
}
if(typeof window.bricksIsFrontend!=='undefined'){
return window.bricksIsFrontend;
}
return true;
},
reinitBricksScripts: function (elementId){
if(!window.bricksIsFrontend){
return;
}
document.dispatchEvent(new CustomEvent("bricks/ajax/query_result/displayed", {
detail: {
queryId: elementId||null
}})
);
},
filters:(function(){
var callbacks={};
return {
addFilter: function(name, callback){
if(! callbacks.hasOwnProperty(name) ){
callbacks[name]=[];
}
callbacks[name].push(callback);
},
applyFilters: function(name, value, args){
if(! callbacks.hasOwnProperty(name) ){
return value;
}
if(args===undefined){
args=[];
}
var container=callbacks[ name ];
var cbLen=container.length;
for (var i=0; i < cbLen; i++){
if(typeof container[i]==='function'){
value=container[i](value, args);
}}
return value;
}};})()
};
$(window).on('elementor/frontend/init', JetEngine.init);
window.JetEngine=JetEngine;
document.addEventListener('jet-smart-filters/inited', function(){
window.JetSmartFilters.events.subscribe('ajaxFilters/updated', function(provider, queryId){
window.JetEngine.initFrontStores(window.JetSmartFilters?.filterGroups?.[ provider + '/' + queryId ]?.$provider);
});
});
JetEngine.commonInit();
window.addEventListener('DOMContentLoaded', function(){
setTimeout(()=> JetEngine.initBlocks());
JetEngine.initDone=true;
});
window.jetEngineBricks=function(){
JetEngine.initBricks();
}
$(window).trigger('jet-engine/frontend/loaded');
}(jQuery) );
(()=>{"use strict";var e,r,a,n={},c={};function __webpack_require__(e){var r=c[e];if(void 0!==r)return r.exports;var a=c[e]={exports:{}};return n[e](a,a.exports,__webpack_require__),a.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,a,n,c)=>{if(!a){var i=1/0;for(o=0;o<e.length;o++){for(var[a,n,c]=e[o],t=!0,b=0;b<a.length;b++)(!1&c||i>=c)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](a[b])))?a.splice(b--,1):(t=!1,c<i&&(i=c));if(t){e.splice(o--,1);var _=n();void 0!==_&&(r=_)}}return r}c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[a,n,c]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,a)=>(__webpack_require__.f[a](e,r),r)),[])),__webpack_require__.u=e=>635===e?"code-highlight.d86022c8668c4b072592.bundle.min.js":519===e?"video-playlist.af20fd9fd8778929829e.bundle.min.js":375===e?"paypal-button.f4f64e46173f50701949.bundle.min.js":786===e?"0726b2d81686a5392236.bundle.min.js":857===e?"stripe-button.49130d6eecb5ebc8afbd.bundle.min.js":581===e?"progress-tracker.8cccdda9737c272489fc.bundle.min.js":961===e?"animated-headline.588a0449647bd4f113f3.bundle.min.js":692===e?"media-carousel.afbaabb756a7c18ddb09.bundle.min.js":897===e?"carousel.3620fca501cb18163600.bundle.min.js":416===e?"countdown.0e9e688751d29d07a8d3.bundle.min.js":292===e?"hotspot.fa04300164c35a866a51.bundle.min.js":325===e?"form.5fb35271b8ba3fb1e7d6.bundle.min.js":543===e?"gallery.1628df47530ab42dafba.bundle.min.js":970===e?"lottie.e74a53bfa4c0bd939250.bundle.min.js":334===e?"nav-menu.a23fbd67486c5bedf26c.bundle.min.js":887===e?"popup.f7b15b2ca565b152bf98.bundle.min.js":535===e?"load-more.8b46f464e573feab5dd7.bundle.min.js":396===e?"posts.aec59265318492b89cb5.bundle.min.js":726===e?"portfolio.4cd5da34009c30cb5d70.bundle.min.js":316===e?"share-buttons.63d984f8c96d1e053bc0.bundle.min.js":829===e?"slides.c0029640cbdb48199471.bundle.min.js":158===e?"social.f215e8a3efafbdbeb7ef.bundle.min.js":404===e?"table-of-contents.339d2b8b27914b2a038a.bundle.min.js":345===e?"archive-posts.16a93245d08246e5e540.bundle.min.js":798===e?"search-form.b7065999d77832a1b764.bundle.min.js":6===e?"woocommerce-menu-cart.eb61fe086245485310a4.bundle.min.js":80===e?"woocommerce-purchase-summary.3676ccd8c29ef0924b84.bundle.min.js":354===e?"woocommerce-checkout-page.943b06275712cd4b96a5.bundle.min.js":4===e?"woocommerce-cart.d0d01530f5be6736b5d2.bundle.min.js":662===e?"woocommerce-my-account.4e940a8b4a52d1c98c5c.bundle.min.js":621===e?"woocommerce-notices.bcee9b5e1c8f65ac7927.bundle.min.js":787===e?"product-add-to-cart.51a22e1fbd8f914ab3d5.bundle.min.js":993===e?"loop.4a16d82b8b5e3e00f25e.bundle.min.js":932===e?"loop-carousel.f8067ec0c24b628c786e.bundle.min.js":550===e?"ajax-pagination.55e86e9100bc317aeb0b.bundle.min.js":727===e?"mega-menu.b9f434b612d371d24d50.bundle.min.js":87===e?"mega-menu-stretch-content.480e081cebe071d683e8.bundle.min.js":912===e?"menu-title-keyboard-handler.54fb596274a9cc06267d.bundle.min.js":33===e?"nested-carousel.776ab95ca4daa003622e.bundle.min.js":225===e?"taxonomy-filter.e839f2be32b7ea832b34.bundle.min.js":579===e?"off-canvas.41d355285c19e4440547.bundle.min.js":1===e?"contact-buttons.33ec3b540b7caec4d0f5.bundle.min.js":61===e?"contact-buttons-var-10.0dc9f4c9e85e7c4baa3a.bundle.min.js":249===e?"floating-bars-var-2.1a487dc027431fb485cd.bundle.min.js":440===e?"floating-bars-var-3.acd1ad79ebb515e353c9.bundle.min.js":187===e?"search.3db30c59360e14bb4448.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},a="elementor-pro:",__webpack_require__.l=(e,n,c,i)=>{if(r[e])r[e].push(n);else{var t,b;if(void 0!==c)for(var _=document.getElementsByTagName("script"),o=0;o<_.length;o++){var d=_[o];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==a+c){t=d;break}}t||(b=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,__webpack_require__.nc&&t.setAttribute("nonce",__webpack_require__.nc),t.setAttribute("data-webpack",a+c),t.src=e),r[e]=[n];var onScriptComplete=(a,n)=>{t.onerror=t.onload=null,clearTimeout(u);var c=r[e];if(delete r[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(n))),a)return a(n)},u=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=onScriptComplete.bind(null,t.onerror),t.onload=onScriptComplete.bind(null,t.onload),b&&document.head.appendChild(t)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var n=a.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=a[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={978:0};__webpack_require__.f.j=(r,a)=>{var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)a.push(n[2]);else if(978!=r){var c=new Promise(((a,c)=>n=e[r]=[a,c]));a.push(n[2]=c);var i=__webpack_require__.p+__webpack_require__.u(r),t=new Error;__webpack_require__.l(i,(a=>{if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var c=a&&("load"===a.type?"missing":a.type),i=a&&a.target&&a.target.src;t.message="Loading chunk "+r+" failed.\n("+c+": "+i+")",t.name="ChunkLoadError",t.type=c,t.request=i,n[1](t)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,a)=>{var n,c,[i,t,b]=a,_=0;if(i.some((r=>0!==e[r]))){for(n in t)__webpack_require__.o(t,n)&&(__webpack_require__.m[n]=t[n]);if(b)var o=b(__webpack_require__)}for(r&&r(a);_<i.length;_++)c=i[_],__webpack_require__.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return __webpack_require__.O(o)},r=self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();
(()=>{var t={507:(t,e,r)=>{"use strict";r.d(e,{A:()=>A});var n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(t,e){return function(r,o,s,c=10){const l=t[e];if(!i(r))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[r]){const t=l[r].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,o,s,c)}};var s=function(t,e,r=!1){return function(o,s){const c=t[e];if(!i(o))return;if(!r&&!n(s))return;if(!c[o])return 0;let l=0;if(r)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}};var c=function(t,e){return function(r,n){const i=t[e];return void 0!==n?r in i&&i[r].handlers.some((t=>t.namespace===n)):r in i}};var l=function(t,e,r,n){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return r?o[0]:void 0;const l={name:i,currentIndex:0};return(n?async function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}})()}};var a=function(t,e){return function(){const r=t[e],n=Array.from(r.__current);return n.at(-1)?.name??null}};var d=function(t,e){return function(r){const n=t[e];return void 0===r?n.__current.size>0:Array.from(n.__current).some((t=>t.name===r))}};var u=function(t,e){return function(r){const n=t[e];if(i(r))return n[r]&&n[r].runs?n[r].runs:0}};class h{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions",!1,!1),this.doActionAsync=l(this,"actions",!1,!0),this.applyFilters=l(this,"filters",!0,!1),this.applyFiltersAsync=l(this,"filters",!0,!0),this.currentAction=a(this,"actions"),this.currentFilter=a(this,"filters"),this.doingAction=d(this,"actions"),this.doingFilter=d(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}var A=function(){return new h}},8770:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{actions:()=>x,addAction:()=>s,addFilter:()=>c,applyFilters:()=>m,applyFiltersAsync:()=>v,createHooks:()=>t.A,currentAction:()=>y,currentFilter:()=>F,defaultHooks:()=>o,didAction:()=>b,didFilter:()=>k,doAction:()=>f,doActionAsync:()=>p,doingAction:()=>_,doingFilter:()=>g,filters:()=>w,hasAction:()=>d,hasFilter:()=>u,removeAction:()=>l,removeAllActions:()=>h,removeAllFilters:()=>A,removeFilter:()=>a});var t=r(507),e=r(8770),i={};for(const t in e)["default","actions","addAction","addFilter","applyFilters","applyFiltersAsync","createHooks","currentAction","currentFilter","defaultHooks","didAction","didFilter","doAction","doActionAsync","doingAction","doingFilter","filters","hasAction","hasFilter","removeAction","removeAllActions","removeAllFilters","removeFilter"].indexOf(t)<0&&(i[t]=()=>e[t]);r.d(n,i);const o=(0,t.A)(),{addAction:s,addFilter:c,removeAction:l,removeFilter:a,hasAction:d,hasFilter:u,removeAllActions:h,removeAllFilters:A,doAction:f,doActionAsync:p,applyFilters:m,applyFiltersAsync:v,currentAction:y,currentFilter:F,doingAction:_,doingFilter:g,didAction:b,didFilter:k,actions:x,filters:w}=o})(),(window.wp=window.wp||{}).hooks=n})();
(()=>{"use strict";var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{__:()=>F,_n:()=>L,_nx:()=>D,_x:()=>w,createI18n:()=>h,defaultI18n:()=>b,getLocaleData:()=>g,hasTranslation:()=>O,isRTL:()=>P,resetLocaleData:()=>x,setLocaleData:()=>v,sprintf:()=>l,subscribe:()=>m});var e,r,a,i,o=/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;function l(t,...n){return function(t,...n){var e=0;return Array.isArray(n[0])&&(n=n[0]),t.replace(o,(function(){var t,r,a,i,o;return t=arguments[3],r=arguments[5],"%"===(i=arguments[9])?"%":("*"===(a=arguments[7])&&(a=n[e],e++),void 0===r?(void 0===t&&(t=e+1),e++,o=n[t-1]):n[0]&&"object"==typeof n[0]&&n[0].hasOwnProperty(r)&&(o=n[0][r]),"f"===i?o=parseFloat(o)||0:"d"===i&&(o=parseInt(o)||0),void 0!==a&&("f"===i?o=o.toFixed(a):"s"===i&&(o=o.substr(0,a))),null!=o?o:"")}))}(t,...n)}e={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},r=["(","?"],a={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var s={"!":function(t){return!t},"*":function(t,n){return t*n},"/":function(t,n){return t/n},"%":function(t,n){return t%n},"+":function(t,n){return t+n},"-":function(t,n){return t-n},"<":function(t,n){return t<n},"<=":function(t,n){return t<=n},">":function(t,n){return t>n},">=":function(t,n){return t>=n},"==":function(t,n){return t===n},"!=":function(t,n){return t!==n},"&&":function(t,n){return t&&n},"||":function(t,n){return t||n},"?:":function(t,n,e){if(t)throw n;return e}};function u(t){var n=function(t){for(var n,o,l,s,u=[],d=[];n=t.match(i);){for(o=n[0],(l=t.substr(0,n.index).trim())&&u.push(l);s=d.pop();){if(a[o]){if(a[o][0]===s){o=a[o][1]||o;break}}else if(r.indexOf(s)>=0||e[s]<e[o]){d.push(s);break}u.push(s)}a[o]||d.push(o),t=t.substr(n.index+o.length)}return(t=t.trim())&&u.push(t),u.concat(d.reverse())}(t);return function(t){return function(t,n){var e,r,a,i,o,l,u=[];for(e=0;e<t.length;e++){if(o=t[e],i=s[o]){for(r=i.length,a=Array(r);r--;)a[r]=u.pop();try{l=i.apply(null,a)}catch(t){return t}}else l=n.hasOwnProperty(o)?n[o]:+o;u.push(l)}return u[0]}(n,t)}}var d={contextDelimiter:"",onMissingKey:null};function c(t,n){var e;for(e in this.data=t,this.pluralForms={},this.options={},d)this.options[e]=void 0!==n&&e in n?n[e]:d[e]}c.prototype.getPluralForm=function(t,n){var e,r,a,i=this.pluralForms[t];return i||("function"!=typeof(a=(e=this.data[t][""])["Plural-Forms"]||e["plural-forms"]||e.plural_forms)&&(r=function(t){var n,e,r;for(n=t.split(";"),e=0;e<n.length;e++)if(0===(r=n[e].trim()).indexOf("plural="))return r.substr(7)}(e["Plural-Forms"]||e["plural-forms"]||e.plural_forms),a=function(t){var n=u(t);return function(t){return+n({n:t})}}(r)),i=this.pluralForms[t]=a),i(n)},c.prototype.dcnpgettext=function(t,n,e,r,a){var i,o,l;return i=void 0===a?0:this.getPluralForm(t,a),o=e,n&&(o=n+this.options.contextDelimiter+e),(l=this.data[t][o])&&l[i]?l[i]:(this.options.onMissingKey&&this.options.onMissingKey(e,t),0===i?e:r)};const p={plural_forms:t=>1===t?0:1},f=/^i18n\.(n?gettext|has_translation)(_|$)/,h=(t,n,e)=>{const r=new c({}),a=new Set,i=()=>{a.forEach((t=>t()))},o=(t,n="default")=>{r.data[n]={...r.data[n],...t},r.data[n][""]={...p,...r.data[n]?.[""]},delete r.pluralForms[n]},l=(t,n)=>{o(t,n),i()},s=(t="default",n,e,a,i)=>(r.data[t]||o(void 0,t),r.dcnpgettext(t,n,e,a,i)),u=t=>t||"default",d=(t,n,r)=>{let a=s(r,n,t);return e?(a=e.applyFilters("i18n.gettext_with_context",a,t,n,r),e.applyFilters("i18n.gettext_with_context_"+u(r),a,t,n,r)):a};if(t&&l(t,n),e){const t=t=>{f.test(t)&&i()};e.addAction("hookAdded","core/i18n",t),e.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:(t="default")=>r.data[t],setLocaleData:l,addLocaleData:(t,n="default")=>{r.data[n]={...r.data[n],...t,"":{...p,...r.data[n]?.[""],...t?.[""]}},delete r.pluralForms[n],i()},resetLocaleData:(t,n)=>{r.data={},r.pluralForms={},l(t,n)},subscribe:t=>(a.add(t),()=>a.delete(t)),__:(t,n)=>{let r=s(n,void 0,t);return e?(r=e.applyFilters("i18n.gettext",r,t,n),e.applyFilters("i18n.gettext_"+u(n),r,t,n)):r},_x:d,_n:(t,n,r,a)=>{let i=s(a,void 0,t,n,r);return e?(i=e.applyFilters("i18n.ngettext",i,t,n,r,a),e.applyFilters("i18n.ngettext_"+u(a),i,t,n,r,a)):i},_nx:(t,n,r,a,i)=>{let o=s(i,a,t,n,r);return e?(o=e.applyFilters("i18n.ngettext_with_context",o,t,n,r,a,i),e.applyFilters("i18n.ngettext_with_context_"+u(i),o,t,n,r,a,i)):o},isRTL:()=>"rtl"===d("ltr","text direction"),hasTranslation:(t,n,a)=>{const i=n?n+""+t:t;let o=!!r.data?.[a??"default"]?.[i];return e&&(o=e.applyFilters("i18n.has_translation",o,t,n,a),o=e.applyFilters("i18n.has_translation_"+u(a),o,t,n,a)),o}}},_=window.wp.hooks,y=h(void 0,void 0,_.defaultHooks);var b=y;const g=y.getLocaleData.bind(y),v=y.setLocaleData.bind(y),x=y.resetLocaleData.bind(y),m=y.subscribe.bind(y),F=y.__.bind(y),w=y._x.bind(y),L=y._n.bind(y),D=y._nx.bind(y),P=y.isRTL.bind(y),O=y.hasTranslation.bind(y);(window.wp=window.wp||{}).i18n=n})();