/*! ../../../../hooks/use-filtered-css-class-usage */
/*! ../../../../utils/tracking */
/*! ../../../hooks/use-css-class-usage-by-id */
/*! ../../../utils/tracking */
/*! ../../context */
/*! ../../global-classes-styles-provider */
/*! ../../hooks/use-classes-order */
/*! ../../hooks/use-css-class-usage-by-id */
/*! ../../hooks/use-dirty-state */
/*! ../../hooks/use-filters */
/*! ../../hooks/use-ordered-classes */
/*! ../../hooks/use-prefetch-css-class-usage */
/*! ../../save-global-classes */
/*! ../../service/css-class-usage-service */
/*! ../../store */
/*! ../../utils/tracking */
/*! ../api */
/*! ../components/css-class-usage/types */
/*! ../components/search-and-filter/context */
/*! ../css-class-usage/components */
/*! ../errors */
/*! ../global-classes-styles-provider */
/*! ../save-global-classes */
/*! ../search-and-filter/components/filter/active-filters */
/*! ../search-and-filter/components/filter/css-class-filter */
/*! ../search-and-filter/components/search/class-manager-search */
/*! ../search-and-filter/context */
/*! ../src/api */
/*! ../src/components/css-class-usage/utils */
/*! ../store */
/*! ../utils/tracking */
/*! ./api */
/*! ./capabilities */
/*! ./class-item */
/*! ./class-manager-introduction */
/*! ./class-manager-panel */
/*! ./class-manager/class-manager-panel */
/*! ./classes-resource */
/*! ./clear-icon-button */
/*! ./components/class-manager/class-manager-button */
/*! ./components/class-manager/class-manager-panel */
/*! ./components/class-manager/duplicate-label-dialog */
/*! ./components/convert-local-class-to-global-class */
/*! ./components/global-styles-import-listener */
/*! ./components/open-panel-from-url */
/*! ./components/populate-store */
/*! ./css-class-usage-popover */
/*! ./css-class-usage-trigger */
/*! ./delete-class */
/*! ./delete-confirmation-dialog */
/*! ./errors */
/*! ./filter-list */
/*! ./flipped-color-swatch-icon */
/*! ./global-classes-list */
/*! ./global-classes-styles-provider */
/*! ./hooks/use-prefetch-css-class-usage */
/*! ./init */
/*! ./mcp-apply-unapply-global-classes */
/*! ./mcp-get-global-class-usages */
/*! ./mcp-integration */
/*! ./mcp-integration/classes-resource */
/*! ./mcp-manage-global-classes */
/*! ./not-found */
/*! ./panel-interactions */
/*! ./save-global-classes */
/*! ./sortable */
/*! ./start-sync-to-v3-modal */
/*! ./store */
/*! ./sync-with-document */
/*! ./sync-with-document-save */
/*! ./use-css-class-usage */
/*! ./use-empty-css-class */
/*! ./use-filtered-css-class-usage */
/*! ./utils/snapshot-history */
/*! ./utils/tracking */
/*! @elementor/editor */
/*! @elementor/editor-canvas */
/*! @elementor/editor-current-user */
/*! @elementor/editor-documents */
/*! @elementor/editor-editing-panel */
/*! @elementor/editor-mcp */
/*! @elementor/editor-panels */
/*! @elementor/editor-props */
/*! @elementor/editor-styles */
/*! @elementor/editor-styles-repository */
/*! @elementor/editor-ui */
/*! @elementor/editor-v1-adapters */
/*! @elementor/events */
/*! @elementor/http-client */
/*! @elementor/icons */
/*! @elementor/query */
/*! @elementor/schema */
/*! @elementor/store */
/*! @elementor/ui */
/*! @elementor/utils */
/*! @wordpress/i18n */
/*! react */
/*!**************************!*\
!*** external ["React"] ***!
\**************************/
/*!******************************!*\
!*** external ["wp","i18n"] ***!
\******************************/
/*!*************************************!*\
!*** external ["elementorV2","ui"] ***!
\*************************************/
/*!****************************************!*\
!*** external ["elementorV2","icons"] ***!
\****************************************/
/*!****************************************!*\
!*** external ["elementorV2","query"] ***!
\****************************************/
/*!****************************************!*\
!*** external ["elementorV2","store"] ***!
\****************************************/
/*!****************************************!*\
!*** external ["elementorV2","utils"] ***!
\****************************************/
/*!*****************************************!*\
!*** external ["elementorV2","editor"] ***!
\*****************************************/
/*!*****************************************!*\
!*** external ["elementorV2","events"] ***!
\*****************************************/
/*!*****************************************!*\
!*** external ["elementorV2","schema"] ***!
\*****************************************/
/*!*******************************************!*\
!*** external ["elementorV2","editorUi"] ***!
\*******************************************/
/*!********************************************!*\
!*** external ["elementorV2","editorMcp"] ***!
\********************************************/
/*!*********************************************!*\
!*** external ["elementorV2","httpClient"] ***!
\*********************************************/
/*!**********************************************!*\
!*** external ["elementorV2","editorProps"] ***!
\**********************************************/
/*!***********************************************!*\
!*** external ["elementorV2","editorCanvas"] ***!
\***********************************************/
/*!***********************************************!*\
!*** external ["elementorV2","editorPanels"] ***!
\***********************************************/
/*!***********************************************!*\
!*** external ["elementorV2","editorStyles"] ***!
\***********************************************/
/*!**************************************************!*\
!*** external ["elementorV2","editorDocuments"] ***!
\**************************************************/
/*!***************************************************!*\
!*** external ["elementorV2","editorV1Adapters"] ***!
\***************************************************/
/*!****************************************************!*\
!*** external ["elementorV2","editorCurrentUser"] ***!
\****************************************************/
/*!*****************************************************!*\
!*** external ["elementorV2","editorEditingPanel"] ***!
\*****************************************************/
/*!*********************************************************!*\
!*** external ["elementorV2","editorStylesRepository"] ***!
\*********************************************************/
/*!*****************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/api.ts ***!
\*****************************************************************/
/*!******************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/init.ts ***!
\******************************************************************/
/*!*******************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/index.ts ***!
\*******************************************************************/
/*!*******************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/store.ts ***!
\*******************************************************************/
/*!********************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/errors.ts ***!
\********************************************************************/
/*!**************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/capabilities.ts ***!
\**************************************************************************/
/*!****************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/utils/tracking.ts ***!
\****************************************************************************/
/*!*******************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-filters.ts ***!
\*******************************************************************************/
/*!*********************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/sync-with-document.tsx ***!
\*********************************************************************************/
/*!**********************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/save-global-classes.tsx ***!
\**********************************************************************************/
/*!***********************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-dirty-state.ts ***!
\***********************************************************************************/
/*!***********************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/mcp-integration/index.ts ***!
\***********************************************************************************/
/*!************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/utils/snapshot-history.ts ***!
\************************************************************************************/
/*!*************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-classes-order.ts ***!
\*************************************************************************************/
/*!*************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/sync-with-document-save.ts ***!
\*************************************************************************************/
/*!***************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage.ts ***!
\***************************************************************************************/
/*!***************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-empty-css-class.ts ***!
\***************************************************************************************/
/*!***************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-ordered-classes.ts ***!
\***************************************************************************************/
/*!****************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/populate-store.tsx ***!
\****************************************************************************************/
/*!*****************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/service/css-class-usage-service.ts ***!
\*****************************************************************************************/
/*!********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/global-classes-styles-provider.ts ***!
\********************************************************************************************/
/*!*********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/open-panel-from-url.tsx ***!
\*********************************************************************************************/
/*!*********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage-by-id.ts ***!
\*********************************************************************************************/
/*!**********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/css-class-usage/types.ts ***!
\**********************************************************************************************/
/*!**********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/css-class-usage/utils.ts ***!
\**********************************************************************************************/
/*!**********************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/mcp-integration/classes-resource.ts ***!
\**********************************************************************************************/
/*!************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/sortable.tsx ***!
\************************************************************************************************/
/*!************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-prefetch-css-class-usage.ts ***!
\************************************************************************************************/
/*!*************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/not-found.tsx ***!
\*************************************************************************************************/
/*!*************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/hooks/use-filtered-css-class-usage.tsx ***!
\*************************************************************************************************/
/*!**************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/class-item.tsx ***!
\**************************************************************************************************/
/*!***************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/delete-class.ts ***!
\***************************************************************************************************/
/*!***************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/context.tsx ***!
\***************************************************************************************************/
/*!*******************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/global-styles-import-listener.tsx ***!
\*******************************************************************************************************/
/*!*******************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/mcp-integration/mcp-manage-global-classes.ts ***!
\*******************************************************************************************************/
/*!*********************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/panel-interactions.ts ***!
\*********************************************************************************************************/
/*!*********************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/index.ts ***!
\*********************************************************************************************************/
/*!*********************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/mcp-integration/mcp-get-global-class-usages.ts ***!
\*********************************************************************************************************/
/*!***********************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-panel.tsx ***!
\***********************************************************************************************************/
/*!***********************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/global-classes-list.tsx ***!
\***********************************************************************************************************/
/*!************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-button.tsx ***!
\************************************************************************************************************/
/*!*************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/convert-local-class-to-global-class.tsx ***!
\*************************************************************************************************************/
/*!**************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/duplicate-label-dialog.tsx ***!
\**************************************************************************************************************/
/*!**************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/start-sync-to-v3-modal.tsx ***!
\**************************************************************************************************************/
/*!**************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/mcp-integration/mcp-apply-unapply-global-classes.ts ***!
\**************************************************************************************************************/
/*!*****************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx ***!
\*****************************************************************************************************************/
/*!******************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-introduction.tsx ***!
\******************************************************************************************************************/
/*!******************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/class-manager/delete-confirmation-dialog.tsx ***!
\******************************************************************************************************************/
/*!*************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/components/filter/filter-list.tsx ***!
\*************************************************************************************************************************/
/*!****************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-popover.tsx ***!
\****************************************************************************************************************************/
/*!****************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-trigger.tsx ***!
\****************************************************************************************************************************/
/*!****************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/components/filter/active-filters.tsx ***!
\****************************************************************************************************************************/
/*!******************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/components/filter/css-class-filter.tsx ***!
\******************************************************************************************************************************/
/*!*******************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/components/filter/clear-icon-button.tsx ***!
\*******************************************************************************************************************************/
/*!**********************************************************************************************************************************!*\
!*** ./packages/packages/core/editor-global-classes/src/components/search-and-filter/components/search/class-manager-search.tsx ***!
\**********************************************************************************************************************************/
"use strict";(self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[]).push([[336],{115:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;e.default=class FloatingBarDomHelper{constructor(t){this.$element=t}maybeMoveToTop(){const t=this.$element[0],e=t.querySelector(".e-floating-bars");if(elementorFrontend.isEditMode())e.classList.add("is-sticky");else if(t.dataset.widget_type.startsWith("floating-bars")&&e.classList.contains("has-vertical-position-top")&&!e.classList.contains("is-sticky")){const e=document.getElementById("wpadminbar"),n=t.closest(".elementor");e?e.after(n):document.body.prepend(n)}}}},442:(t,e,n)=>{var s=n(6784);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n(5724),n(4846),n(9655);var i=s(n(7224));class ClickTrackingHandler extends i.default{clicks=[];getDefaultSettings(){return{selectors:{contentWrapper:".e-contact-buttons__content-wrapper",contactButtonCore:".e-contact-buttons__send-button",contentWrapperFloatingBars:".e-floating-bars",floatingBarCTAButton:".e-floating-bars__cta-button",elementorWrapper:'[data-elementor-type="floating-buttons"]'}}}getDefaultElements(){const t=this.getSettings("selectors");return{contentWrapper:this.$element[0].querySelector(t.contentWrapper),contentWrapperFloatingBars:this.$element[0].querySelector(t.contentWrapperFloatingBars)}}bindEvents(){this.elements.contentWrapper&&this.elements.contentWrapper.addEventListener("click",this.onChatButtonTrackClick.bind(this)),this.elements.contentWrapperFloatingBars&&this.elements.contentWrapperFloatingBars.addEventListener("click",this.onChatButtonTrackClick.bind(this)),window.addEventListener("beforeunload",()=>{this.clicks.length>0&&this.sendClicks()})}onChatButtonTrackClick(t){const e=t.target||t.srcElement,n=this.getSettings("selectors");(e.matches(n.contactButtonCore)||e.closest(n.contactButtonCore)||e.matches(n.floatingBarCTAButton)||e.closest(n.floatingBarCTAButton))&&this.getDocumentIdAndTrack(e,n)}getDocumentIdAndTrack(t,e){const n=t.closest(e.elementorWrapper).dataset.elementorId;this.trackClick(n)}trackClick(t){t&&(this.clicks.push(t),this.clicks.length>=10&&this.sendClicks())}sendClicks(){const t=new FormData;t.append("action","elementor_send_clicks"),t.append("_nonce",elementorFrontendConfig?.nonces?.floatingButtonsClickTracking),this.clicks.forEach(e=>t.append("clicks[]",e)),fetch(elementorFrontendConfig?.urls?.ajaxurl,{method:"POST",body:t}).then(()=>{this.clicks=[]})}}e.default=ClickTrackingHandler},5199:(t,e,n)=>{var s=n(6784);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n(4846),n(9655);var i=s(n(7224)),o=s(n(115)),a=s(n(442));class FloatingBarsHandler extends i.default{getDefaultSettings(){return{selectors:{main:".e-floating-bars",closeButton:".e-floating-bars__close-button",ctaButton:".e-floating-bars__cta-button"},constants:{ctaEntranceAnimation:"style_cta_button_animation",ctaEntranceAnimationDelay:"style_cta_button_animation_delay",hasEntranceAnimation:"has-entrance-animation",visible:"visible",isSticky:"is-sticky",hasVerticalPositionTop:"has-vertical-position-top",hasVerticalPositionBottom:"has-vertical-position-bottom",isHidden:"is-hidden",animated:"animated"}}}getDefaultElements(){const t=this.getSettings("selectors");return{main:this.$element[0].querySelector(t.main),mainAll:this.$element[0].querySelectorAll(t.main),closeButton:this.$element[0].querySelector(t.closeButton),ctaButton:this.$element[0].querySelector(t.ctaButton)}}onElementChange(t){["advanced_vertical_position"].includes(t)&&this.initDefaultState()}getResponsiveSetting(t){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),t,"",e)}bindEvents(){this.elements.closeButton&&this.elements.closeButton.addEventListener("click",this.closeFloatingBar.bind(this)),this.elements.ctaButton&&this.elements.ctaButton.addEventListener("animationend",this.handleAnimationEnd.bind(this)),this.elements.main&&window.addEventListener("keyup",this.onDocumentKeyup.bind(this)),this.hasStickyElements()&&window.addEventListener("resize",this.handleStickyElements.bind(this))}isStickyTop(){const{isSticky:t,hasVerticalPositionTop:e}=this.getSettings("constants");return this.elements.main.classList.contains(t)&&this.elements.main.classList.contains(e)}isStickyBottom(){const{isSticky:t,hasVerticalPositionBottom:e}=this.getSettings("constants");return this.elements.main.classList.contains(t)&&this.elements.main.classList.contains(e)}hasStickyElements(){return document.querySelectorAll(".elementor-sticky").length>0}focusOnLoad(){this.elements.main.setAttribute("tabindex","0"),this.elements.main.focus({focusVisible:!0})}applyBodyPadding(){const t=this.elements.main.offsetHeight;document.body.style.paddingTop=`${t}px`}removeBodyPadding(){document.body.style.paddingTop="0"}handleWPAdminBar(){const t=elementorFrontend.elements.$wpAdminBar;t.length&&(this.elements.main.style.top=`${t.height()}px`)}handleStickyElements(){const t=this.elements.main.offsetHeight,e=elementorFrontend.elements.$wpAdminBar,n=document.querySelectorAll(".elementor-sticky:not(.elementor-sticky__spacer)");0!==n.length&&(n.forEach(n=>{const s=n.getAttribute("data-settings"),i=JSON.parse(s)?.sticky,o="0px"===n.style.top||"top"===i,a="0px"===n.style.bottom||"bottom"===i;this.isStickyTop()&&o?e.length?n.style.top=`${t+e.height()}px`:n.style.top=`${t}px`:this.isStickyBottom()&&a&&(n.style.bottom=`${t}px`),elementorFrontend.isEditMode()&&(o?n.style.top=this.isStickyTop()?`${t}px`:"0px":a&&(n.style.bottom=this.isStickyBottom()?`${t}px`:"0px"))}),document.querySelectorAll(".elementor-sticky__spacer").forEach(e=>{const n=e.getAttribute("data-settings"),s=JSON.parse(n)?.sticky,i="0px"===e.style.top||"top"===s;this.isStickyTop()&&i&&(e.style.marginBottom=`${t}px`)}))}closeFloatingBar(){const{isHidden:t}=this.getSettings("constants");elementorFrontend.isEditMode()||(this.elements.main.classList.add(t),this.hasStickyElements()?this.handleStickyElements():this.isStickyTop()&&this.removeBodyPadding())}initEntranceAnimation(){const{animated:t,ctaEntranceAnimation:e,ctaEntranceAnimationDelay:n,hasEntranceAnimation:s}=this.getSettings("constants"),i=this.getResponsiveSetting(e),o=(this.getResponsiveSetting(n)||0)+500;this.elements.ctaButton.classList.add(t),this.elements.ctaButton.classList.add(i),setTimeout(()=>{this.elements.ctaButton.classList.remove(s)},o)}handleAnimationEnd(){this.removeEntranceAnimationClasses(),this.focusOnLoad()}removeEntranceAnimationClasses(){if(!this.elements.ctaButton)return;const{animated:t,ctaEntranceAnimation:e,visible:n}=this.getSettings("constants"),s=this.getResponsiveSetting(e);this.elements.ctaButton.classList.remove(t),this.elements.ctaButton.classList.remove(s),this.elements.ctaButton.classList.add(n)}onDocumentKeyup(t){27===t.keyCode&&this.elements.main&&this.elements.main.contains(document.activeElement)&&this.closeFloatingBar()}initDefaultState(){const{hasEntranceAnimation:t}=this.getSettings("constants");this.isStickyTop()&&this.handleWPAdminBar(),this.hasStickyElements()?this.handleStickyElements():this.isStickyTop()&&this.applyBodyPadding(),!this.elements.main||this.elements.ctaButton.classList.contains(t)||elementorFrontend.isEditMode()||this.focusOnLoad()}setupInnerContainer(){this.elements.main.closest(".e-con-inner").classList.add("e-con-inner--floating-bars"),this.elements.main.closest(".e-con").classList.add("e-con--floating-bars")}onInit(...t){const{hasEntranceAnimation:e}=this.getSettings("constants");super.onInit(...t),this.clickTrackingHandler=new a.default({$element:this.$element});new o.default(this.$element).maybeMoveToTop(),this.elements.ctaButton&&this.elements.ctaButton.classList.contains(e)&&this.initEntranceAnimation(),this.initDefaultState(),this.setupInnerContainer()}}e.default=FloatingBarsHandler}}]);