/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ !function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this); /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ !function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js"); class BackgroundSlideshow extends elementorModules.frontend.handlers.SwiperBase { getDefaultSettings() { return { classes: { swiperContainer: 'elementor-background-slideshow swiper', swiperWrapper: 'swiper-wrapper', swiperSlide: 'elementor-background-slideshow__slide swiper-slide', swiperPreloader: 'swiper-lazy-preloader', slideBackground: 'elementor-background-slideshow__slide__image', kenBurns: 'elementor-ken-burns', kenBurnsActive: 'elementor-ken-burns--active', kenBurnsIn: 'elementor-ken-burns--in', kenBurnsOut: 'elementor-ken-burns--out' } }; } getSwiperOptions() { const elementSettings = this.getElementSettings(), swiperOptions = { grabCursor: false, slidesPerView: 1, slidesPerGroup: 1, loop: 'yes' === elementSettings.background_slideshow_loop, speed: elementSettings.background_slideshow_transition_duration, autoplay: { delay: elementSettings.background_slideshow_slide_duration, stopOnLastSlide: !elementSettings.background_slideshow_loop }, handleElementorBreakpoints: true, on: { slideChange: () => { if (elementSettings.background_slideshow_ken_burns) { this.handleKenBurns(); } } } }; if ('yes' === elementSettings.background_slideshow_loop) { swiperOptions.loopedSlides = this.getSlidesCount(); } switch (elementSettings.background_slideshow_slide_transition) { case 'fade': swiperOptions.effect = 'fade'; swiperOptions.fadeEffect = { crossFade: true }; break; case 'slide_down': swiperOptions.autoplay.reverseDirection = true; swiperOptions.direction = 'vertical'; break; case 'slide_up': swiperOptions.direction = 'vertical'; break; } if ('yes' === elementSettings.background_slideshow_lazyload) { swiperOptions.lazy = { loadPrevNext: true, loadPrevNextAmount: 1 }; } return swiperOptions; } buildSwiperElements() { const classes = this.getSettings('classes'), elementSettings = this.getElementSettings(), direction = 'slide_left' === elementSettings.background_slideshow_slide_transition ? 'ltr' : 'rtl', $container = jQuery('
', { class: classes.swiperContainer, dir: direction }), $wrapper = jQuery('
', { class: classes.swiperWrapper }), kenBurnsActive = elementSettings.background_slideshow_ken_burns, lazyload = 'yes' === elementSettings.background_slideshow_lazyload; let slideInnerClass = classes.slideBackground; if (kenBurnsActive) { slideInnerClass += ' ' + classes.kenBurns; const kenBurnsDirection = 'in' === elementSettings.background_slideshow_ken_burns_zoom_direction ? 'kenBurnsIn' : 'kenBurnsOut'; slideInnerClass += ' ' + classes[kenBurnsDirection]; } if (lazyload) { slideInnerClass += ' swiper-lazy'; } this.elements.$slides = jQuery(); elementSettings.background_slideshow_gallery.forEach(slide => { const $slide = jQuery('
', { class: classes.swiperSlide }); let $slidebg; if (lazyload) { const $slideloader = jQuery('
', { class: classes.swiperPreloader }); $slidebg = jQuery('
', { class: slideInnerClass, 'data-background': slide.url }); $slidebg.append($slideloader); } else { $slidebg = jQuery('
', { class: slideInnerClass, style: 'background-image: url("' + slide.url + '");' }); } $slide.append($slidebg); $wrapper.append($slide); this.elements.$slides = this.elements.$slides.add($slide); }); $container.append($wrapper); this.$element.prepend($container); this.elements.$backgroundSlideShowContainer = $container; } async initSlider() { if (1 >= this.getSlidesCount()) { return; } const elementSettings = this.getElementSettings(); const Swiper = elementorFrontend.utils.swiper; this.swiper = await new Swiper(this.elements.$backgroundSlideShowContainer, this.getSwiperOptions()); // Expose the swiper instance in the frontend this.elements.$backgroundSlideShowContainer.data('swiper', this.swiper); if (elementSettings.background_slideshow_ken_burns) { this.handleKenBurns(); } } activate() { this.buildSwiperElements(); this.initSlider(); } deactivate() { if (this.swiper) { this.swiper.destroy(); this.elements.$backgroundSlideShowContainer.remove(); } } run() { if ('slideshow' === this.getElementSettings('background_background')) { this.activate(); } else { this.deactivate(); } } onInit() { super.onInit(); if (this.getElementSettings('background_slideshow_gallery')) { this.run(); } } onDestroy() { super.onDestroy(); this.deactivate(); } onElementChange(propertyName) { if ('background_background' === propertyName) { this.run(); } } } exports["default"] = BackgroundSlideshow; /***/ }), /***/ "../assets/dev/js/frontend/handlers/background-video.js": /*!**************************************************************!*\ !*** ../assets/dev/js/frontend/handlers/background-video.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js"); class BackgroundVideo extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { backgroundVideoContainer: '.elementor-background-video-container', backgroundVideoEmbed: '.elementor-background-video-embed', backgroundVideoHosted: '.elementor-background-video-hosted' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'), elements = { $backgroundVideoContainer: this.$element.find(selectors.backgroundVideoContainer) }; elements.$backgroundVideoEmbed = elements.$backgroundVideoContainer.children(selectors.backgroundVideoEmbed); elements.$backgroundVideoHosted = elements.$backgroundVideoContainer.children(selectors.backgroundVideoHosted); return elements; } calcVideosSize($video) { let aspectRatioSetting = '16:9'; if ('vimeo' === this.videoType) { aspectRatioSetting = $video[0].width + ':' + $video[0].height; } const containerWidth = this.elements.$backgroundVideoContainer.outerWidth(), containerHeight = this.elements.$backgroundVideoContainer.outerHeight(), aspectRatioArray = aspectRatioSetting.split(':'), aspectRatio = aspectRatioArray[0] / aspectRatioArray[1], ratioWidth = containerWidth / aspectRatio, ratioHeight = containerHeight * aspectRatio, isWidthFixed = containerWidth / containerHeight > aspectRatio; return { width: isWidthFixed ? containerWidth : ratioHeight, height: isWidthFixed ? ratioWidth : containerHeight }; } changeVideoSize() { if (!('hosted' === this.videoType) && !this.player) { return; } let $video; if ('youtube' === this.videoType) { $video = jQuery(this.player.getIframe()); } else if ('vimeo' === this.videoType) { $video = jQuery(this.player.element); } else if ('hosted' === this.videoType) { $video = this.elements.$backgroundVideoHosted; } if (!$video) { return; } const size = this.calcVideosSize($video); $video.width(size.width).height(size.height); } startVideoLoop(firstTime) { // If the section has been removed if (!this.player.getIframe().contentWindow) { return; } const elementSettings = this.getElementSettings(), startPoint = elementSettings.background_video_start || 0, endPoint = elementSettings.background_video_end; if (elementSettings.background_play_once && !firstTime) { this.player.stopVideo(); return; } this.player.seekTo(startPoint); if (endPoint) { const durationToEnd = endPoint - startPoint + 1; setTimeout(() => { this.startVideoLoop(false); }, durationToEnd * 1000); } } prepareVimeoVideo(Vimeo, videoLink) { const elementSettings = this.getElementSettings(), videoSize = this.elements.$backgroundVideoContainer.outerWidth(), vimeoOptions = { url: videoLink, width: videoSize.width, autoplay: true, loop: !elementSettings.background_play_once, transparent: true, background: true, muted: true }; if (elementSettings.background_privacy_mode) { vimeoOptions.dnt = true; } this.player = new Vimeo.Player(this.elements.$backgroundVideoContainer, vimeoOptions); // Handle user-defined start/end times this.handleVimeoStartEndTimes(elementSettings); this.player.ready().then(() => { jQuery(this.player.element).addClass('elementor-background-video-embed'); this.changeVideoSize(); }); } handleVimeoStartEndTimes(elementSettings) { // If a start time is defined, set the start time if (elementSettings.background_video_start) { this.player.on('play', data => { if (0 === data.seconds) { this.player.setCurrentTime(elementSettings.background_video_start); } }); } this.player.on('timeupdate', data => { // If an end time is defined, handle ending the video if (elementSettings.background_video_end && elementSettings.background_video_end < data.seconds) { if (elementSettings.background_play_once) { // Stop at user-defined end time if not loop this.player.pause(); } else { // Go to start time if loop this.player.setCurrentTime(elementSettings.background_video_start); } } // If start time is defined but an end time is not, go to user-defined start time at video end. // Vimeo JS API has an 'ended' event, but it never fires when infinite loop is defined, so we // get the video duration (returns a promise) then use duration-0.5s as end time this.player.getDuration().then(duration => { if (elementSettings.background_video_start && !elementSettings.background_video_end && data.seconds > duration - 0.5) { this.player.setCurrentTime(elementSettings.background_video_start); } }); }); } prepareYTVideo(YT, videoID) { const $backgroundVideoContainer = this.elements.$backgroundVideoContainer, elementSettings = this.getElementSettings(); let startStateCode = YT.PlayerState.PLAYING; // Since version 67, Chrome doesn't fire the `PLAYING` state at start time if (window.chrome) { startStateCode = YT.PlayerState.UNSTARTED; } const playerOptions = { videoId: videoID, events: { onReady: () => { this.player.mute(); this.changeVideoSize(); this.startVideoLoop(true); this.player.playVideo(); }, onStateChange: event => { switch (event.data) { case startStateCode: $backgroundVideoContainer.removeClass('elementor-invisible elementor-loading'); break; case YT.PlayerState.ENDED: if ('function' === typeof this.player.seekTo) { this.player.seekTo(elementSettings.background_video_start || 0); } if (elementSettings.background_play_once) { this.player.destroy(); } } } }, playerVars: { controls: 0, rel: 0, playsinline: 1, cc_load_policy: 0 } }; // To handle CORS issues, when the default host is changed, the origin parameter has to be set. if (elementSettings.background_privacy_mode) { playerOptions.host = 'https://www.youtube-nocookie.com'; playerOptions.origin = window.location.hostname; } $backgroundVideoContainer.addClass('elementor-loading elementor-invisible'); this.player = new YT.Player(this.elements.$backgroundVideoEmbed[0], playerOptions); } activate() { let videoLink = this.getElementSettings('background_video_link'), videoID; const playOnce = this.getElementSettings('background_play_once'); if (-1 !== videoLink.indexOf('vimeo.com')) { this.videoType = 'vimeo'; this.apiProvider = elementorFrontend.utils.vimeo; } else if (videoLink.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/)) { this.videoType = 'youtube'; this.apiProvider = elementorFrontend.utils.youtube; } if (this.apiProvider) { videoID = this.apiProvider.getVideoIDFromURL(videoLink); this.apiProvider.onApiReady(apiObject => { if ('youtube' === this.videoType) { this.prepareYTVideo(apiObject, videoID); } if ('vimeo' === this.videoType) { this.prepareVimeoVideo(apiObject, videoLink); } }); } else { this.videoType = 'hosted'; const startTime = this.getElementSettings('background_video_start'), endTime = this.getElementSettings('background_video_end'); if (startTime || endTime) { videoLink += '#t=' + (startTime || 0) + (endTime ? ',' + endTime : ''); } this.elements.$backgroundVideoHosted.attr('src', videoLink).one('canplay', this.changeVideoSize.bind(this)); if (playOnce) { this.elements.$backgroundVideoHosted.on('ended', () => { this.elements.$backgroundVideoHosted.hide(); }); } } elementorFrontend.elements.$window.on('resize elementor/bg-video/recalc', this.changeVideoSize); } deactivate() { if ('youtube' === this.videoType && this.player.getIframe() || 'vimeo' === this.videoType) { this.player.destroy(); } else { this.elements.$backgroundVideoHosted.removeAttr('src').off('ended'); } elementorFrontend.elements.$window.off('resize', this.changeVideoSize); } run() { const elementSettings = this.getElementSettings(); if (!elementSettings.background_play_on_mobile && 'mobile' === elementorFrontend.getCurrentDeviceMode()) { return; } if ('video' === elementSettings.background_background && elementSettings.background_video_link) { this.activate(); } else { this.deactivate(); } } onInit() { super.onInit(...arguments); this.changeVideoSize = this.changeVideoSize.bind(this); this.run(); } onElementChange(propertyName) { if ('background_background' === propertyName) { this.run(); } } } exports["default"] = BackgroundVideo; /***/ }) }]); //# sourceMappingURL=shared-frontend-handlers.a82dc0e60728c9cb9860.bundle.js.map{ "name": "woocommerce/product-results-count", "version": "1.0.0", "title": "Product Results Count", "description": "Display the number of products on the archive page or search result page.", "category": "woocommerce", "keywords": [ "WooCommerce" ], "supports": { "color": { "text": true, "background": false }, "typography": { "fontSize": true } }, "attributes": {}, "usesContext": [ "queryId" ], "textdomain": "woocommerce", "apiVersion": 3, "$schema": "https://schemas.wp.org/trunk/block.json" }"use strict";(self.webpackChunkgravityforms=self.webpackChunkgravityforms||[]).push([[355],{4832:function(e,t,n){n.r(t),n.d(t,{default:function(){return w}});var r,o=n(5798),i=n(9662),s=n.n(i),a=n(1533),c=n.n(a),l=n(7122),d=n.n(l),u=(null===c()||void 0===c()||null===(r=c().components)||void 0===r?void 0:r.form_switcher)||{},f=function(e){s().instances.postSelects=[],e.forEach((function(e){var t;t=u.endpoints,s().instances.formSwitcher=new(s().components.admin.html.elements.Dropdown)({detectTitleLength:!0,onItemSelect:m,onItemSelectTimedOut:p,onOpen:v,reveal:"hover",selector:"gform-form-switcher",showSpinner:!0,searchType:"async",baseUrl:d(),endpoints:t,endpointKey:"get_forms",endpointRequestOptions:{method:"POST"},endpointUseRest:!1})}))};function g(e,t){var n="";""===t&&(t=document.location.search.substring(1));for(var r=t.split("&"),o=0;o0&&(n=n.substring(0,n.length-1)),n}function m(e){if(e.length>0){var t=function(e,t){for(var n="",r=document.location.search.substring(1).split("&"),o=!1,i=0;i0&&(n=n.substring(0,n.length-1)),o||(n+=n.length>0?"&"+e+"="+t:"?"+e+"="+t),n}("id",e=parseInt(e)),n=document.querySelector(".gform-dropdown__trigger[data-value='".concat(e,"']")),r=g("paged",t);r=g("s",r=r.replace("gf_new_form","gf_edit_forms")),r=g("operator",r),r=g("type",r),r=g("field_id",r),r=g("lid",r),r=g("fid",r),r=g("cid",r),r=g("nid",r),r=g("filter",r),r=g("pos",r);var o=new URLSearchParams(r).get("subview");if(o){var i=n?JSON.parse(n.dataset.subviews):null;i&&!i.includes(o)&&(r=g("subview",r))}var s=r.indexOf("gf_results_")>=0;r.indexOf("page=gf_entries")>=0&&!s&&(r="page=gf_entries&id="+e),s&&(r=n&&""!==n.dataset.resultsSlug&&void 0!==n.dataset.resultsSlug?"page=gf_entries&view=gf_results_".concat(n.dataset.resultsSlug,"&id=").concat(e):"page=gf_entries&id=".concat(e)),document.location="?"+r}}function p(e){if(e.length>0){var t=document.getElementById("gform-form-switcher-control"),n=t.querySelector('[data-js="gform-dropdown-control-text"]'),r=t.getAttribute("data-value-previous");if(r){var o=document.querySelector('.gform-dropdown__trigger-text[data-value="'+r+'"]');t.setAttribute("data-value",r),o&&(n.innerText=o.innerText)}}}function v(){var e=document.getElementById("gform-form-switcher-control"),t=e.getAttribute("data-value");t&&e.setAttribute("data-value-previous",t)}var h=function(e){f(e)},w=function(e){h(e),(0,o.consoleInfo)("Gravity Forms Admin: Initialized form switcher dropdown component.")}}}]);/*! elementor - v3.29.0 - 19-05-2025 */ .elementor-widget-n-accordion{--n-accordion-title-font-size:20px;--n-accordion-title-flex-grow:initial;--n-accordion-title-justify-content:initial;--n-accordion-title-icon-order:-1;--n-accordion-border-width:1px;--n-accordion-border-color:#d5d8dc;--n-accordion-border-style:solid;--n-accordion-item-title-flex-grow:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-padding:10px;--n-accordion-border-radius:0px;--n-accordion-icon-size:15px;--n-accordion-title-normal-color:#1f2124;--n-accordion-title-hover-color:#1f2124;--n-accordion-title-active-color:#1f2124;--n-accordion-icon-normal-color:var(--n-accordion-title-normal-color);--n-accordion-icon-hover-color:var(--n-accordion-title-hover-color);--n-accordion-icon-active-color:var(--n-accordion-title-active-color);--n-accordion-icon-gap:0 10px;width:100%}.elementor-widget-n-accordion .e-n-accordion details>summary::-webkit-details-marker{display:none}.elementor-widget-n-accordion .e-n-accordion-item{display:flex;flex-direction:column;position:relative}.elementor-widget-n-accordion .e-n-accordion-item:not(:last-child){margin-block-end:var(--n-accordion-item-title-space-between)}:where(.elementor-widget-n-accordion .e-n-accordion-item>.e-con){border:var(--n-accordion-border-width) var(--n-accordion-border-style) var(--n-accordion-border-color)}.elementor-widget-n-accordion .e-n-accordion-item-title{align-items:center;border-color:var(--n-accordion-border-color);border-radius:var(--n-accordion-border-radius);border-style:var(--n-accordion-border-style);border-width:var(--n-accordion-border-width);color:var(--n-accordion-title-normal-color);cursor:pointer;display:flex;flex-direction:row;flex-grow:var(--n-menu-title-flex-grow);gap:var(--n-accordion-icon-gap);justify-content:var(--n-accordion-title-justify-content);list-style:none;padding:var(--n-accordion-padding)}.elementor-widget-n-accordion .e-n-accordion-item-title-header{display:flex}.elementor-widget-n-accordion .e-n-accordion-item-title-header h1,.elementor-widget-n-accordion .e-n-accordion-item-title-header h2,.elementor-widget-n-accordion .e-n-accordion-item-title-header h3,.elementor-widget-n-accordion .e-n-accordion-item-title-header h4,.elementor-widget-n-accordion .e-n-accordion-item-title-header h5,.elementor-widget-n-accordion .e-n-accordion-item-title-header h6,.elementor-widget-n-accordion .e-n-accordion-item-title-header p{margin-block-end:0;margin-block-start:0}.elementor-widget-n-accordion .e-n-accordion-item-title-text{align-items:center;font-size:var(--n-accordion-title-font-size)}.elementor-widget-n-accordion .e-n-accordion-item-title-icon{align-items:center;display:flex;flex-direction:row;order:var(--n-accordion-title-icon-order);position:relative;width:-moz-fit-content;width:fit-content}.elementor-widget-n-accordion .e-n-accordion-item-title-icon span{height:var(--n-accordion-icon-size);width:auto}.elementor-widget-n-accordion .e-n-accordion-item-title-icon span>i{color:var(--n-accordion-icon-normal-color);font-size:var(--n-accordion-icon-size)}.elementor-widget-n-accordion .e-n-accordion-item-title-icon span>svg{fill:var(--n-accordion-icon-normal-color);height:var(--n-accordion-icon-size)}.elementor-widget-n-accordion .e-n-accordion-item-title>span{cursor:pointer}.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title{color:var(--n-accordion-title-active-color);margin-block-end:var(--n-accordion-item-title-distance-from-content)}.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-opened{display:flex}.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-closed{display:none}.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>i{color:var(--n-accordion-icon-active-color)}.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg{fill:var(--n-accordion-icon-active-color)}.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title{color:var(--n-accordion-title-hover-color)}.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>i{color:var(--n-accordion-icon-hover-color)}.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg{fill:var(--n-accordion-icon-hover-color)}.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-opened{display:none}.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-closed{display:flex}.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span>svg{fill:var(--n-accordion-icon-normal-color)}.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span>i{color:var(--n-accordion-icon-normal-color)}.elementor-widget-n-accordion .e-n-accordion-item>span{cursor:pointer}