1/** 2 * @package kalium 3 * @version 4.0.3 4 * @author Laborator 5 * @see {@link https://kaliumtheme.com} 6 * @build 1728396640 7 */ 8!function(){"use strict";const t={namespace:"Portfolio",name:"initContainer"};window[labThemeDataLayer];var e=window[labThemeAPI];function i(){return new Promise((t=>{e((e=>{t(e)}))}))}function o(){return new Promise((t=>{e((e=>{e.useModule(...arguments).then(t)}))}))}function n(){const t=arguments;return new Promise((i=>{e((e=>{i(e.createFunction(...t))}))}))}function s(){const t=arguments;return new Promise((i=>{e((e=>{e.addFunctionHook(...t),i()}))}))}function r(){const t=[...arguments];return new Promise(((i,o)=>{const n=t.shift();if(n){const o=function(){const t=arguments;return new Promise(((i,o)=>{e((e=>{const n=e.getFunction(...t);n?i(n):o()}))}))}(n);o.then((e=>{const o=e.getCallable()(...t);i(o)})),o.catch((()=>{}))}}))}const a={namespace:"Lightbox",name:"open"},l={};let c;function h(t){const e=[];for(const i in t)e.push(t[i].map((t=>t.map((t=>`.${i}-${t}`)).join(""))));return e.map((t=>t.length?`:is(${t.join(", ")})`:null)).join("")}function d(t,e,i){let o="string"==typeof i?{}:[];if(Array.isArray(t)){const n=Array.isArray(o);t.forEach((t=>{const s=t[e];n?o.push(s):o[t[i]]=s}))}return o}function u(t,e){return t.length===e.length&&t.every(((t,i)=>t===e[i]))}class p{static getContainers(){return l}static getContainer(t){return this.getContainers()[t]||null}constructor(t){this.container=t,this.options={},this.currentFilters=null,this.currentLightboxItem=null,this.filtersContainers={},this.pageHeadingContainer=null,l[this.getId()]=this.container._portfolioItemsContainer=this,this.init()}getContainer(){return this.container}getId(){return this.getContainer().id}getCurrentItems(t){let e=this.getOption("filtering"),i=Array.from(this.getContainer().querySelectorAll(".portfolio-item-entry"));return e.enabled&&(t=h(this.parseFilters(t)))&&(i=i.filter((e=>e.matches(t)))),i.map((t=>{const e=t.className.match(/(^|\s)post-(\d+)/);return parseInt(e[2],10)}))}getAllItems(t){let e=this.getOption("filtering"),i={...e.terms};t=this.parseFilters(t);for(const t in i)i[t]=Object.fromEntries(i[t].map((t=>[t.slug,t])));return e.item_ids.filter((e=>{for(const o in i)if(t[o]?.length){if(!t[o].filter((t=>{for(const n of t)if(!i[o][n].posts.includes(e))return!1;return!0})).length)return!1}return!0}))}
8async init(){c=await i(),this.options=c.getVar("portfolioContainers")[this.getId()]||null,this.setupHoverOverlay(),this.setupLightbox(),this.setupFiltering(),await this.setupPagination()}getOption(t){return this.options[t]||null}parseFilters(t){const e=this.getOption("filtering").taxonomies,i={};null!==t&&t instanceof Object||(t={}),e.forEach((e=>{let o=t[e];o&&o.length&&("string"==typeof o?i[e]=o.split(",").map((t=>t.trim().split("+"))):Array.isArray(o)&&(i[e]=o.map((t=>t="string"==typeof t?t.trim().split("+"):Array.isArray(t)?t.map((t=>(t&&"string"==typeof t||(t=null),t))):null))))}));for(let t in i){let e=!1;i[t]=i[t].map((t=>(t.includes("*")&&(e=!0),t.filter((t=>!!t))))).filter((t=>!!t.length)),e&&(i[t]=[])}return i}toggleFilters(t){if(this.getOption("filtering").toggle&&this.currentFilters)for(const e in t)t[e]=t[e].filter((t=>{if(this.currentFilters[e])for(const i of this.currentFilters[e])if(u(i,t))return!1;return!0}));return t}async filter(t){const e=this.getContainer(),i=this.getOption("filtering");if(this.currentFilters={...this.currentFilters,...this.toggleFilters(this.parseFilters(t))},"isotope"===i.handler){const[t]=await o("Isotope"),i=t.data(e);i&&i.arrange({filter:h(this.currentFilters)})}e.dispatchEvent(new CustomEvent("kaliumPortfolioFiltered",{bubbles:!0,detail:this}))}async resetFilters(){await this.filter(null)}async openLightbox(t,e=0){const i=this.getContainer(),o=this.getOption("lightbox"),n=t=>o.items?.find((e=>t===e.id)),s=n(t),l=[],c=()=>{i.dispatchEvent(new CustomEvent("kaliumPortfolioLightbox",{bubbles:!0,detail:this}))};s&&("linked"===o.browse_mode?(o.items.forEach((t=>{l.push(...this.prepareLightboxItem(t))})),l.some(((t,i)=>{if(s.id===t._itemId)return e=i,!0}))):l.push(...this.prepareLightboxItem(s)),await r(a,{entries:l,startIndex:e,onSlideChange:t=>{this.currentLightboxItem=n(l[t]._itemId),c()},onClose:()=>{this.currentLightboxItem=null,c()}}),this.currentLightboxItem=s||null)}getTerm(t,e){const i=this.getOption("filtering");if(i.terms){const o=i.terms[t];if(o)for(const t of o)if(e===t.slug)return t}return null}prepareLightboxItem(t){const e=this.getOption("lightbox");return t.entries.map((({src:i,thumbnail:o})=>{let n,s=t.title,r=t.description;return e.captions.enabled&&(n=`<h4 class="portfolio-lightbox__item-caption__title">${s}</h4>`,e.captions.description&&r&&(n+=`<div class="portfolio-lightbox__item-caption__description">${r}</div>`),n=`<div class="portfolio-lightbox__item-caption">${n}</div>`),{src:i,thumbnail:o,caption:n,_itemId:t.id}}))}checkURLHash(){const t=this.getOption("lightbox"),e=this.getOption("filtering"),i=location.hash?location.hash.substring(1):null;if(i){if("hash"===t.history_type){const e=t.items?.find((t=>t.slug===i));if(e)return void this.openLightbox(e.id)}if("hash"===e.history_type){const t=t=>{for(const i in e.terms)for(const o of e.terms[i])if(o.slug===t)return i;return null},o=i.split("|").map((e=>{if(2!==(e=e.split(":")).length){const i=t(e[0]);i&&e.unshift(i)}if(2===e.length)return e})).filter((t=>!!t));o.length&&this.filter(Object.fromEntries(o))}}}updateHistory(){const t=this.getOption("lightbox"),e=this.getOption("filtering"),i=this.getOption("url"),o=this.currentLightboxItem,n=this.currentFilters,s={x:window.scrollX,y:window.scrollY},r=()=>(history.pushState("",document.title,window.location.pathname+window.location.search),"");if(o)switch(t.history_type){case"pushState":history.pushState(o,"",o?.url||i);break;case"hash":window.location.hash=o?.slug||r(),window.scrollTo(s.x,s.y)}else switch(e.history_type){case"pushState":const t=n&&Object.keys(n),e=t&&n[t[0]]||null;if(1===t?.length&&1===e.length&&1===e[0].length){const o=this.getTerm(t[0],e[0][0]);history.pushState(o,"",o?.url||i)}break;case"hash":const o=[],a=n&&Object.entries(n).map((t=>t[1])).filter((t=>0!==t.length)).length>1;for(const t in n){const e=[];n[t].forEach((t=>{e.push(t.join("+"))}));let i=e.join(",");a&&(i=`${t}:${i}`),o.push(i)}window.location.hash=o.filter((t=>!!t)).join("|")||r(),window.scrollTo(s.x,s.y)}}updateHeading(){const t=this.getOption("heading"),e=this.getOption("filtering"),i=e.dynamic_heading_content,o=this.currentFilters,n=this.pageHeadingContainer.querySelector(".portfolio-heading__title");if("disable"===i||!t.title.visible||!n)return;let s=e.dynamic_heading_content_source,r=t.title.text,a=t.title.content,l=e.terms[s].find((t=>Array.isArray(o[s])&&o[s].length&&t.slug===o[s][0][0])),c=e=>{let i=n.querySelector(t.title.tag_name);i||(i=document.createElement(t.title.tag_name),n.append(i)),e?i.innerHTML=e:i.remove()},h=t=>{let e=n.querySelector(".portfolio-heading__content");e||(e=document.createElement("div"),e.className="portfolio-heading__content entry-content",this.pageHeadingContainer.querySelector(".portfolio-heading__title").append(e)),t?e.innerHTML=t:e.remove()};switch(l&&(r=l.name,l.description&&(a=l.description)),i){case"title":c(r);break;case"content":h(a);break;case"title-content":c(r),h(a)}}updateActiveFilters(){const t=this.getOption("filtering"),e=t.terms,i="portfolio-filters__terms",o="portfolio-filters__term--active",n=`${i}--active`;if(t.enabled){for(const t in this.currentFilters){if(!this.filtersContainers[t])continue;const s=this.filtersContainers[t],r=this.currentFilters[t],a=e[t],l=d(a,"parent","slug"),c=d(a,"slug","id"),h=t=>{const e=s.querySelector(`.${n}`),o=s.querySelector(`.${i}[data-parent="${t}"]`)||s.querySelector(`.${i}`),r=l[t],a=c[r];if(e===o)return void("number"==typeof r&&h(r));if(e.dataset.parent&&e.dataset.parent===a)return;e.classList.remove(n);const d=getComputedStyle(e.children[1]),u=1e3*(parseFloat(d.transitionDuration)+parseFloat(e.childElementCount/2*parseFloat(d.transitionDelay)));setTimeout((()=>o.classList.add(n)),u)};s.querySelectorAll(`.${o}`).forEach((t=>{t.classList.remove(o)}));const u=[];r.length?r.forEach((t=>{t.forEach((t=>{const e=[];for(;t&&l.hasOwnProperty(t);)e.unshift(t),t=c[l[t]];u.push(e)}))})):u.push(["*"]),u.forEach((t=>{t.forEach((t=>{const e=s.termElements[t];e&&e.parentElement.classList.add(o)}))}));const p=u?.pop()?.pop();h(p)}
8t.taxonomies.forEach((e=>{const i=t.terms[e],o=this.filtersContainers[e].termElements;i.forEach((t=>{const i=t.slug,n=this.parseFilters({...this.currentFilters,[e]:i}),s=this.getAllItems(n);o[i].parentElement.classList[s.length?"remove":"add"]("portfolio-filters__term--disabled")}))}))}}setupHoverOverlay(){c.delegate(this.getContainer(),".portfolio-item__hover-overlay[data-url]","click",(t=>{const e=t.delegateTarget;setTimeout((()=>{if(t.target.closest("a, button")||t.defaultPrevented)return;let i=e.dataset.url,o=e.dataset.target||"_self";(t.ctrlKey||t.metaKey)&&(o="_blank"),window.open(i,o),window.focus()}))}))}setupLightbox(){const t=this.getOption("lightbox");if(t.items&&0<t.items.length){const e=this.getContainer(),i=t.items.map((t=>t.id)),o=t=>{const e=t.closest(".portfolio-item-entry")?.className?.match(/\bpost-([\d]+)/);if(e){const t=Number(e[1]);if(i.includes(t))return t}};c.delegate(e,":is(.portfolio-item__thumbnail, .portfolio-item__title) > a","click",(t=>{const e=o(t.delegateTarget);e&&(t.preventDefault(),this.openLightbox(e))})),c.delegate(e,".portfolio-item__hover-overlay[data-url]","click",(t=>{if(t.target.matches("a, button"))return;const e=o(t.delegateTarget);e&&(t.preventDefault(),this.openLightbox(e))})),e.addEventListener("kaliumPortfolioLightbox",this.updateHistory.bind(this))}}setupFiltering(){const t=this.getId(),e=this.getContainer(),i="portfolio-filters__term";document.querySelectorAll(`.portfolio-filters[data-portfolio-id="${t}"]`).forEach((t=>{t.termElements=Object.fromEntries(Array.from(t.querySelectorAll(`.${i}:not(.${i}--back) [data-term]`)).map((t=>[t.dataset.term.split(":")[1],t]))),this.filtersContainers[t.dataset.taxonomy]=t})),this.pageHeadingContainer=document.querySelector(`.portfolio-heading[data-portfolio-id="${t}"]`),c.delegate([e,...Object.values(this.filtersContainers)],"[data-term]","click",(t=>{t.preventDefault();const[e,i]=t.delegateTarget.dataset.term.split(":");this.filter({[e]:i})})),this.checkURLHash(),e.addEventListener("kaliumPortfolioFiltered",this.updateHistory.bind(this)),e.addEventListener("kaliumPortfolioFiltered",this.updateHeading.bind(this)),e.addEventListener("kaliumPortfolioFiltered",this.updateActiveFilters.bind(this))}async setupPagination(){const t=this.getContainer(),e=this.getOption("pagination"),i=!!t.parentElement.querySelector(".page-numbers");if(e.enabled&&i&&"load-more"===e.type){const[e]=await o("InfiniteScroll"),i=e.data(t),n=()=>{i.options.fetchOptions.body.set("portfolio_query",JSON.stringify({filters:this.currentFilters,item_ids:this.getCurrentItems()}))},s=()=>{const t=i.button.element;if(i.canLoad=!0,i.pageIndex=1,i.loadCount=0,t){t.closest(".load-more").classList.remove("load-more--is-finished"),t.style.removeProperty("display"),i.hideStatusEventElements(),i.bindHideStatus("on")}},r=()=>{const t=i.button.element;t&&(t.style.display="none")},a=()=>{const t=this.getCurrentItems(this.currentFilters),e=this.getAllItems(this.currentFilters).filter((e=>!t.includes(e)));0===t.length&&0<e.length?i.loadNextPage():e.length?s():r()};n();new MutationObserver(n).observe(t,{childList:!0}),t.addEventListener("kaliumPortfolioFiltered",n),t.addEventListener("kaliumPortfolioFiltered",a)}}}s({fn:t,callback:t=>new p(t)}),n(t);const g={namespace:"Portfolio",name:"setupPortfolio",returnsValue:!1};s({fn:g,callback(){document.querySelectorAll(".portfolio-items").forEach((e=>{r(t,e)}))}});class f{constructor(t,e,i){this.containerEl=t,this.contentEl=e,this.toggleEl=i,this.collapsedClass="single-portfolio__type-full-screen--content-collapsed",this.options={duration1:.2,duration2:.5,expandIconEl:this.contentEl.querySelector(".single-portfolio__content-toggle__icon--expand"),collapseIconEl:this.contentEl.querySelector(".single-portfolio__content-toggle__icon--collapse"),titleEl:this.toggleEl.querySelector(".title"),descriptionEl:this.toggleEl.querySelector(".text"),revealItems:this.contentEl.querySelectorAll(":scope > *")},this.init()}
8async init(){await o("gsap");const{delegate:t}=await i();t(this.contentEl,"[data-content-action]","click",(t=>{t.preventDefault();"expand"===t.delegateTarget.dataset.contentAction?this.expand(!0):this.collapse(!0)}))}isCollapsed(){return this.containerEl.classList.contains(this.collapsedClass)}isBusy(){return"object"==typeof this.animation}async expand(t=!1){if(t){if(this.isBusy()||!1===this.isCollapsed())return;const[t]=await o("gsap");this.expand();const e=this.contentEl.getBoundingClientRect(),i=Math.ceil(e.width),n=Math.ceil(e.height);this.collapse(),this.animation=t.timeline(),this.animation.to(this.options.expandIconEl,{autoAlpha:0,duration:this.options.duration1}),this.animation.to(this.options.descriptionEl,{autoAlpha:0,duration:this.options.duration1},this.options.duration1/2),this.animation.to(this.options.titleEl,{autoAlpha:0,duration:this.options.duration1},this.options.duration1),this.animation.to(this.contentEl,{width:i,height:n,duration:this.options.duration2}),this.animation.add((()=>{t.set(this.options.revealItems,{autoAlpha:0}),t.set(this.options.collapseIconEl,{marginTop:-15,marginRight:-20}),this.expand()})),this.animation.to(this.options.revealItems,{autoAlpha:1,duration:2*this.options.duration2,stagger:.05}),this.animation.to(this.options.collapseIconEl,{marginTop:0,marginRight:0},"<"),this.animation.add((()=>{t.set([this.contentEl,this.options.revealItems],{clearProps:"all"}),this.animation=this.animation.kill()}))}else this.containerEl.classList.remove(this.collapsedClass)}async collapse(t=!1){if(t){if(this.isBusy()||this.isCollapsed())return;const[t]=await o("gsap");this.collapse();const e=this.contentEl.getBoundingClientRect(),i=Math.ceil(e.width),n=Math.ceil(e.height);this.expand(),this.animation=t.timeline(),this.animation.to(this.options.collapseIconEl,{autoAlpha:0,marginTop:30,marginRight:30,duration:this.options.duration2}),this.animation.to(Array.from(this.options.revealItems).reverse(),{autoAlpha:0,stagger:.05,duration:this.options.duration1},.25*this.options.duration2),this.animation.to(this.contentEl,{width:i,height:n,duration:this.options.duration2}),this.animation.add((()=>{t.set(this.options.titleEl,{autoAlpha:0,top:15}),t.set(this.options.descriptionEl,{autoAlpha:0,top:25}),t.set(this.toggleEl,{autoAlpha:1}),this.collapse()})),this.animation.to([this.options.titleEl,this.options.descriptionEl],{autoAlpha:1,top:0,duration:this.options.duration2}),this.animation.to(this.options.expandIconEl,{autoAlpha:1,duration:this.options.duration2},"<+"+this.options.duration2/2),this.animation.add((()=>{t.set([this.contentEl,this.options.revealItems],{clearProps:"all"}),this.animation=this.animation.kill()}))}else this.containerEl.classList.add(this.collapsedClass)}toggle(t=!1){this.isCollapsed()?this.expand(t):this.collapse(t)}}class m{constructor(t,e,i){this.id=t,this.options=e,this.container=i,this.init()}getContainer(){return this.container}getOption(t,e){var i;return null!==(i=this.options[t])&&void 0!==i?i:e}getType(){return this.getOption("type")}init(){const t=this.getType();"type-5"===t?this.initFullScreenItem():"type-6"===t&&this.initLightboxItem()}async initLightboxItem(){const{delegate:t}=await i();t(this.getContainer(),".single-portfolio__image a","click",(t=>{t.preventDefault(),this.openLightbox()}))}initFullScreenItem(){this.getContainer().querySelectorAll(".single-portfolio__content-toggle").forEach((t=>{const e=t.closest(".single-portfolio__type-full-screen"),i=t.closest(".single-portfolio__content");e&&i&&(this.contentToggle=new f(e,i,t))}))}async openLightbox(){const t=this.getOption("lightbox"),e=t.entries.map((e=>this.prepareLightboxItem(t,e)));r(a,{entries:e})}prepareLightboxItem(t,{src:e,thumbnail:i}){let o=`<h4 class="portfolio-lightbox__item-caption__title">${t.title}</h4>`;return t.description&&(o+=`<div class="portfolio-lightbox__item-caption__description">${t.description}</div>`),o=`<div class="portfolio-lightbox__item-caption">${o}</div>`,{src:e,thumbnail:i,caption:o}}}s({fn:g,async callback(){const{getVar:t}=await i(),e=t("portfolioSingle");if("object"==typeof e)for(const t in e){const i=document.querySelector(`.${t}`);i&&(i._portfolioSingleInstance=new m(t,e[t],i))}}});var b,y=jQuery;function _(t){var e=y(t);v(e),y(window).on("scroll",(function(){v(e)})),e.each((function(){var t,i,o,n,s,r=y(this);t=r.find(".cd-handle"),i=r.find(".cd-resize-img"),o=r,n=r.find('.cd-image-label[data-type="original"]'),s=r.find('.cd-image-label[data-type="modified"]'),t.on("mousedown touchstart",(function(e){t.addClass("cd-draggable"),i.addClass("cd-resizable");var r=t.offset().left+t.outerWidth()/2-(e.originalEvent.touches?e.originalEvent.touches[0].clientX:e.pageX),a=o.offset().left,l=o.outerWidth(),c=0,h=a+c,d=a+l-c;t.parent().bind("mousemove touchmove",(function(t){var e=(t.originalEvent.touches?t.originalEvent.touches[0].clientX:t.pageX)+r;e<h?e=h:e>d&&(e=d);var c=100*(e-a)/l+"%";y(".cd-draggable",o).css("left",c).one("mouseup touchend",(function(){y(this).removeClass("cd-draggable"),i.removeClass("cd-resizable")})),y(".cd-resizable",o).css("width",c),E(s,i,"left"),E(n,i,"right")})).one("mouseup touchend",(function(e){t.removeClass("cd-draggable"),i.removeClass("cd-resizable"),t.parent().unbind("mousemove.cd touchmove.cd")})),e.preventDefault()})).on("mouseup touchend",(function(e){t.removeClass("cd-draggable"),i.removeClass("cd-resizable")})),r.on("click",(t=>{const i=((t.originalEvent.touches?t.originalEvent.touches[0].clientX:t.pageX)-e.offset().left)/e.outerWidth()*100+"%";y(".cd-resize-img",e).css("width",i),y(".cd-handle",e).css("left",i),y(window).trigger("resize")}))})),y(window).on("resize",(function(){e.each((function(){var t=y(this);E(t.find('.cd-image-label[data-type="modified"]'),t.find(".cd-resize-img"),"left"),E(t.find('.cd-image-label[data-type="original"]'),t.find(".cd-resize-img"),"right")}))}))}function v(t){t.each((function(){var t=y(this);y(window).scrollTop()+.5*y(window).height()>t.offset().top&&t.addClass("is-visible")}))}function E(t,e,i){"left"===i?t.offset().left+t.outerWidth()<e.offset().left+e.outerWidth()?t.removeClass("is-hidden"):t.addClass("is-hidden"):t.offset().left>e.offset().left+e.outerWidth()?t.removeClass("is-hidden"):t.addClass("is-hidden")}s({fn:g,async callback(){const{delegate:t,debounce:e}=await i();t(".like-button[data-post-id]","click",(t=>{t.preventDefault(),function(t){const e=document.querySelector(`.like-button[data-post-id="${t}"]`);if(!e)return;const i=e.querySelectorAll(".like-icon__icon, .like-icon__bubble"),o=e.querySelector(".like-button__count"),n=e._hideCounter?e._hideCounter:()=>null,s="like";if(e.classList.contains("loading"))return;n(),e.classList.add("loading");const r=new FormData;r.append("action","kalium_post_like"),r.append("post_id",t),fetch(ajaxurl,{method:"POST",credentials:"same-origin",body:r}).then((t=>t.json())).then((t=>
8{e.classList.remove("loading"),i.forEach((e=>{e.classList.remove(s,"unlike"),e.classList[t.liked?"add":"remove"](s)})),e.classList[t.liked?"add":"remove"]("liked"),o&&(o.innerHTML=t.count||0)}))}(t.delegateTarget.dataset.postId)})),y("body").on("mouseenter",".like-button[data-post-id]:has(.like-button__count)",e((function(){var t=y(this);this._showCounter||(this._showCounter=function(){t.addClass("like-button--count-visible")}),this._hideCounter||(this._hideCounter=function(){t.removeClass("like-button--count-visible")}),this._showCounter()}),100)),y("body").on("mouseleave",".like-button[data-post-id]:has(.like-button__count)",e((function(t){this._hideCounter()}),100))}}),s({fn:g,callback(){document.querySelectorAll(".comparison-image-slider").forEach(_)}}),n(g),b=()=>{r(g)},e((t=>t.ready((e=>setTimeout((()=>b.apply(t,[e,t])))))))}();
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.