if(HTMLScriptElement.supports&&HTMLScriptElement.supports("speculationrules")){const t={prerender:[{eagerness:"moderate",where:{and:[{selector_matches:"[data-preload-collection]"}]}}]},e=document.createElement("script");e.type="speculationrules",e.textContent=JSON.stringify(t),document.head.appendChild(e)}function getCollectionHtmlFromResponse(t){return null==t||"boolean"==typeof t?"":"string"==typeof t?t:"object"==typeof t&&null!==t&&"string"==typeof t.data?t.data:""}function getParentItemFromPagination(t){const e=t?.dataset?.parentItem;if(!e)return null;try{return JSON.parse(e)}catch(t){return null}}function getCollectionLimit(t){const e=t&&t.settings?t.settings:{},n=Number(e.limit??20);return n>0?n:20}function getPaginationWindow(t,e,n){const a=Math.min(Math.max(1,n),e);let o=t-Math.floor((a-1)/2);o<1&&(o=1);let i=o+a-1;return i>e&&(i=e,o=Math.max(1,i-a+1)),{start:o,end:i}}function buildPaginationDescriptor(t,e,n,a,o,i){t=Math.min(Math.max(1,t),e);const s=[];if(i&&s.push({type:"prev"}),!a||e<=2){const{start:a,end:o}=getPaginationWindow(t,e,n);for(let t=a;t<=o;t++)s.push({type:"page",n:t});return i&&s.push({type:"next"}),s}s.push({type:"page",n:1});const r=e-1,c=Math.max(0,r-2+1),p=Math.min(Math.max(1,n),c);let d=Math.min(Math.max(t,2),r)-Math.floor((p-1)/2);d<2&&(d=2);let l=d+p-1;l>r&&(l=r,d=Math.max(2,l-p+1)),c>0&&d>2&&o&&s.push({type:"dots"});for(let t=d;t<=l;t++)s.push({type:"page",n:t});return c>0&&l1&&s.push({type:"page",n:e}),i&&s.push({type:"next"}),s}function renderNumberedPaginationNav(t){if(!t||!t.dataset)return;const e=Math.max(1,parseInt(t.dataset.totalPages,10)||1);let n=parseInt(t.dataset.currentPage,10)||1;n=Math.min(Math.max(1,n),e);const a=t.dataset.visiblePages,o=void 0===a||""===a?NaN:parseInt(a,10),i=Number.isNaN(o)||o<1?e:o,s="1"===t.dataset.showArrows,r="1"===t.dataset.showFirstLast,c="1"===t.dataset.showDots,p=t.dataset.buttonType||"default",d=buildPaginationDescriptor(n,e,i,r,c,s),l=document.createDocumentFragment();for(const t of d)if("dots"!==t.type)if("prev"!==t.type)if("next"!==t.type){if("page"===t.type&&void 0!==t.n){const e=document.createElement("button");e.type="button",e.className=`sppb-btn btn-sm sppb-btn-${p} sppb-dynamic-content-pagination__num`,e.setAttribute("data-sppb-page-num",String(t.n)),e.textContent=String(t.n),t.n===n&&(e.classList.add("sppb-dynamic-content-pagination__num--active"),e.setAttribute("aria-current","page")),l.appendChild(e)}}else{const t=document.createElement("button");t.type="button",t.className=`sppb-btn btn-sm sppb-btn-${p} sppb-dynamic-content-pagination__arrow sppb-dynamic-content-pagination__arrow--next`,t.setAttribute("data-sppb-pagination-next",""),t.textContent="›",t.disabled=n>=e,t.setAttribute("aria-label","Next page"),l.appendChild(t)}else{const t=document.createElement("button");t.type="button",t.className=`sppb-btn btn-sm sppb-btn-${p} sppb-dynamic-content-pagination__arrow sppb-dynamic-content-pagination__arrow--prev`,t.setAttribute("data-sppb-pagination-prev",""),t.textContent="‹",t.disabled=n<=1,t.setAttribute("aria-label","Previous page"),l.appendChild(t)}else{const t=document.createElement("span");t.className="sppb-dynamic-content-pagination__ellipsis",t.textContent="…",t.setAttribute("aria-hidden","true"),l.appendChild(t)}t.innerHTML="",t.appendChild(l)}async function loadMoreData(t){const{addon:e,parentItem:n,currentPage:a}=t,o=Joomla.getOptions("sppb-root"),i=await fetch(`${o}index.php?option=com_sppagebuilder&task=dynamic_content.loadMoreCollectionData`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":Joomla.getOptions("csrf.token")},body:JSON.stringify({collection_id:Number(e?.settings?.source??0),filters:JSON.stringify(e?.settings?.filters??[]),limit:getCollectionLimit(e),sortingColumn:e?.settings?.field_sorting?e?.settings?.sorting_field_id??null:null,direction:e?.settings?.direction??"ASC",page:a,addon:JSON.stringify(e),currentLink:window.location.search.replace("?",""),isSite:!window.location.pathname.includes("/edit")&&!window.location.pathname.includes("/edit/"),parent_item:JSON.stringify(n)})});return await i.json()}function loadDataByClickingLoadMoreButton(){document.querySelectorAll("[data-sppb-load-more-button]").forEach((t=>{let e=Number(t.dataset.currentPage)||1;const n=t.closest(".addon-root-dynamic-content-collection"),a=n.querySelector(".sppb-dynamic-content-collection"),o=t.closest(".sppb-dynamic-content-collection__pagination"),i=o.querySelector('[name="sppb-dynamic-addon-id"]')?.value,s=Joomla.getOptions("sppb-dc-addon-"+i),r=getParentItemFromPagination(o)||(t.dataset.parentItem?JSON.parse(t.dataset.parentItem):null);i&&s&&n&&a&&o&&t.addEventListener("click",(async function(n){n.preventDefault();const o=Number(t.dataset.totalPages);t.textContent="Loading...",e++;const i=getCollectionHtmlFromResponse(await loadMoreData({currentPage:e,addon:s,parentItem:r}));t.textContent=t.dataset.text,i&&a.insertAdjacentHTML("beforeend",i),t.dataset.currentPage=e,e>=o&&t.remove()}))}))}function loadDataByIntersectionObserver(){document.querySelectorAll(".sppb-dynamic-content-collection__pagination-sentinel").forEach((t=>{let e=Number(t.dataset.currentPage)||1;const n=t.closest(".addon-root-dynamic-content-collection").querySelector(".sppb-dynamic-content-collection"),a=t.closest(".sppb-dynamic-content-collection__pagination"),o=a.querySelector('[name="sppb-dynamic-addon-id"]')?.value,i=Number(t.dataset.totalPages),s=getParentItemFromPagination(a);new IntersectionObserver((async a=>{if(a[0].isIntersecting&&e{const e=t.closest(".sppb-dynamic-content-collection__pagination"),n=t.closest(".addon-root-dynamic-content-collection"),a=n?.querySelector(".sppb-dynamic-content-collection"),o=e?.querySelector('[name="sppb-dynamic-addon-id"]')?.value,i=Joomla.getOptions("sppb-dc-addon-"+o),s=getParentItemFromPagination(e),r=Number(t.dataset.totalPages);o&&i&&n&&a&&e&&r&&(renderNumberedPaginationNav(t),t.addEventListener("click",(async e=>{const n=e.target&&e.target.closest?e.target.closest("button"):null;if(!n||!t.isConnected||t.classList.contains("sppb-dynamic-content-pagination--loading"))return;const o=Math.max(1,parseInt(t.dataset.totalPages,10)||1);let r=parseInt(t.dataset.currentPage,10)||1;r=Math.min(Math.max(1,r),o);let c=null;if(n.hasAttribute("data-sppb-page-num")?c=parseInt(n.getAttribute("data-sppb-page-num"),10):n.hasAttribute("data-sppb-pagination-prev")?c=Math.max(1,r-1):n.hasAttribute("data-sppb-pagination-next")&&(c=Math.min(o,r+1)),!(null==c||Number.isNaN(c)||c===r||c<1||c>o)){e.preventDefault(),t.classList.add("sppb-dynamic-content-pagination--loading"),t.querySelectorAll("button").forEach((t=>{t.disabled=!0}));try{const e=getCollectionHtmlFromResponse(await loadMoreData({addon:i,parentItem:s,currentPage:c}));e&&(a.innerHTML=e),t.dataset.currentPage=String(c)}catch(t){console.error(t)}finally{t.classList.remove("sppb-dynamic-content-pagination--loading"),renderNumberedPaginationNav(t)}}})))}))}window.addEventListener("DOMContentLoaded",(function(){loadDataByClickingLoadMoreButton(),loadDataByIntersectionObserver(),loadDataByNumberedPagination()}));