1/*! cmsmasters-elementor-addon - v1.15.3 - 19-12-2024 */ 2"use strict";(self.webpackChunkcmsmasters_elementor_addon=self.webpackChunkcmsmasters_elementor_addon||[]).push([[3504],{2277:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.frontend.handlers.Base{__construct(){super.__construct(...arguments),this.bindElements=[],this.deviceNames=["mobile","tablet","desktop"],this.devicePrefixMaps={mobile:"mobile",tablet:"tablet",desktop:""}}bindElementChange(e,t){this.bindElements.push([e,t])}onElementChange(e){this.bindElements&&this.bindElements.length&&this.bindElements.forEach((t=>{let[o]=t;Array.isArray(o)||(o=o.split(/\s/));const[,s]=t;o.some((t=>{if(-1!==[t,`${t}_tablet`,`${t}_mobile`].indexOf(e))return s(...arguments),!0}))}))}onDestroy(){this.trigger("destroy:before"),super.onDestroy()}getCurrentDeviceSettingInherit(e){const t=["desktop","tablet","mobile"],o=elementorFrontend.getCurrentDeviceMode(),s=this.getElementSettings();let r=t.indexOf(o);for(;r>0;){const o=s[e+"_"+t[r]];if(o&&"object"==typeof o&&Object.prototype.hasOwnProperty.call(o,"size")&&o.size)return o;r--}return s[e]}getCurrentDeviceSettingSize(e){let t=this.getCurrentDeviceSettingInherit(e);return"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"size")&&(t=t.size),t}}t.default=_default},6388:(e,t,o)=>{var s=o(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(o(2277));class _default extends r.default{__construct(e){super.__construct(e)}getDefaultSettings(){const e="elementor-widget-cmsmasters-woo-product-images";return{selectors:{zoom:`.${e}__zoom`,zoomWrap:`.${e}__zoom-wrap`}}}getDefaultElements(){const{selectors:e}=this.getSettings();return{$zoomImages:this.findElement(e.zoom),$zoomWrap:this.findElement(e.zoomWrap)}}onInit(){super.onInit(...arguments),this.destroyVisibleLightbox(),this.initZoom()}async destroyVisibleLightbox(){const e=await elementorFrontend.utils.lightbox;e.getModal().isVisible()&&e.getModal().destroy()}initZoom(){const e=this.getZoomControls();if(!e.enableZoom||"zoom"!==e.enableZoom)return;let t=!1;const o={magnify:e.zoomMagnify,touch:!1};this.elements.$zoomImages.each((function(e,o){var s=jQuery(o).find("img"),r=s.parent().width();s.data("large_image_width")>r&&(t=!0)})),t&&("ontouchstart"in document.documentElement&&(o.on="click"),this.elements.$zoomImages.trigger("zoom.destroy"),this.elements.$zoomImages.zoom(o))}bindEvents(){this.elements.$zoomImages.mouseover(this.wrapZoom.bind(this))}wrapZoom(){const e=this.getSettings(),t=this.elements.$zoomImages.find(" > .zoomImg");t.addClass("wp-post-image"),t.parent().hasClass("woocommerce-product-gallery__image "+e.selectors.zoomWrap)||t.wrap('<div class="woocommerce-product-gallery__image '+e.selectors.zoomWrap+'" />')}}t.default=_default},5426:(e,t,o)=>{var s=o(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(o(6388));class ProductImagesAnchor extends r.default{__construct(e){super.__construct(e),this.dataNavItems=[],this.dataNavItemsId=[],this.active=0,this.autoScroll=!1,this.scrollOffset=0,this.scrollPos=0}getDefaultSettings(){const e="elementor-widget-cmsmasters-woo-product-images";return{selectors:{zoom:`.${e}__zoom`,zoomWrap:`${e}__zoom-wrap`,item:`.${e}__wrapper-item`,navItems:`.${e}__wrapper`,navController:`.${e}__nav-wrap`}}}getDefaultElements(){const{selectors:e}=this.getSettings();return{$window:jQuery(window),$document:jQuery(document),$wpAdminBar:jQuery(document).find("#wpadminbar"),$zoomImages:this.findElement(e.zoom),$zoomWrap:this.findElement(e.zoomWrap),$item:this.findElement(e.item),$navItems:this.findElement(e.navItems),$navController:this.findElement(e.navController),$navControllerItem:this.findElement(e.navController+" li a")}}bindEvents(){super.bindEvents(),this.elements.$navControllerItem.on("click",this.setCurrentControllerItemClick.bind(this)),this.elements.$window.on("scroll",this.setControllerItems.bind(this)),this.getVariationState()}onInit(){super.onInit(),this.productGalleryAnchorNav()}productGalleryAnchorNav(){this.setControllerItemsData(),this.scrollPos=this.elements.$document.scrollTop(),this.setControllerItemsFirst(),this.setCurrentControllerItem()}setControllerItems(){this.autoScroll||(this.setControllerItemsData(),this.scrollPos=this.elements.$document.scrollTop(),this.setCurrentControllerItem())}setControllerItemsData(){const e=this.dataNavItems,t=this.dataNavItemsId;let o=0;this.elements.$item.each((function(){const s=jQuery(this).attr("id");e[s]=jQuery(this).offset().top,t[o]=s,o++}))}setCurrentControllerItemClick(e){this.scrollPos=jQuery(this).data("index");const t=jQuery(e.currentTarget).data("index"),o=this.dataNavItems[t];this.autoScroll=!0,this.elements.$navController.find("a.current-item").removeClass("current-item"),jQuery(e.currentTarget).addClass("current-item"),jQuery("html, body").animate({scrollTop:o-this.scrollOffset+1},"fast"),this.autoScroll=!1}setCurrentControllerItem(){for(const e of this.dataNavItemsId)this.scrollPos>=this.dataNavItems[e]-this.scrollOffset&&(this.elements.$navController.find("a.current-item").removeClass("current-item"),this.elements.$navController.find('a[data-index="'+e+'"]').addClass("current-item"))}setControllerItemsFirst(){this.elements.$navController.find("li:first-child a").addClass("current-item")}getZoomControls(){const e=this.getElementSettings();return{zoomMagnify:e.anchor_zoom_ratio,enableZoom:e.anchor_link_type}}getVariationState(){const e=this.getSettings(),t=this.elements.$zoomImages;jQuery(document).on("found_variation",((o,s)=>{t.find(" > "+e.selectors.zoomWrapper).remove(),this.initZoom()})),jQuery(document).on("reset_data",((o,s)=>{t.find(" > "+e.selectors.zoomWrapper).remove(),this.initZoom()}))}}t.default=ProductImagesAnchor}}]);
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.