.redux-container-ace_editor { .ace-wrapper { position: static; } .ace_editor { height: 200px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .ace_gutter { z-index: 1 !important; } } (function ( $ ) { 'use strict'; window.InlineShortcodeView_vc_tta_tabs = window.InlineShortcodeView_vc_tta_accordion.extend( { render: function () { window.InlineShortcodeView_vc_tta_tabs.__super__.render.call( this ); _.bindAll( this, 'buildSortableNavigation', 'updateSortingNavigation' ); this.createTabs(); _.defer( this.buildSortableNavigation ); return this; }, createTabs: function () { var models = _.sortBy( vc.shortcodes.where( { parent_id: this.model.get( 'id' ) } ), function ( model ) { return model.get( 'order' ); } ); _.each( models, function ( model ) { this.sectionUpdated( model, true ); }, this ); }, defaultSectionTitle: window.i18nLocale.tab, addIcon: function ( model, html ) { var icon, icon_class, icon_html; if ( 'true' === model.getParam( 'add_icon' ) ) { icon = model.getParam( 'i_icon_' + model.getParam( 'i_type' ) ); if ( !_.isUndefined( icon ) ) { icon_class = 'vc_tta-icon' + ' ' + icon; icon_html = ''; } if ( 'right' === model.getParam( 'i_position' ) ) { html += icon_html; } else { html = icon_html + html; } } return html; }, /** * * @param {Backbone.Model}model */ sectionUpdated: function ( model, justAppend ) { // update build tabs, remove/add check orders and title/target var $tabEl, $navigation, sectionId, html, title, models, index, tabAdded; tabAdded = false; sectionId = model.get( 'id' ); $navigation = this.$el.find( '.vc_tta-tabs-container .vc_tta-tabs-list' ); $tabEl = $navigation.find( '[data-vc-target="[data-model-id=' + sectionId + ']"]' ); title = model.getParam( 'title' ); if ( $tabEl.length ) { html = '' + title + ''; html = this.addIcon( model, html ); $tabEl.html( html ); } else { var $element; html = '' + title + ''; html = this.addIcon( model, html ); $element = $( '
  • ' + html + '
  • ' ); if ( true !== justAppend ) { models = _.pluck( _.sortBy( vc.shortcodes.where( { parent_id: this.model.get( 'id' ) } ), function ( childModel ) { return childModel.get( 'order' ); } ), 'id' ); index = models.indexOf( model.get( 'id' ) ) - 1; if ( index > - 1 && $navigation.find( '[data-vc-tab]:eq(' + index + ')' ).length ) { $element.insertAfter( $navigation.find( '[data-vc-tab]:eq(' + index + ')' ) ); tabAdded = true; } } if ( !tabAdded ) { $element.appendTo( $navigation ); } if ( model.get( 'isActiveSection' ) ) { $element.addClass( this.activeClass ); } } this.buildPagination(); }, getNextTab: function ( $viewTab ) { var lastIndex, viewTabIndex, $nextTab, $navigationSections; $navigationSections = this.$el.find( '.vc_tta-tabs-container .vc_tta-tabs-list' ).children(); lastIndex = $navigationSections.length - 1; // -1 because length starts from 1 viewTabIndex = $viewTab.index(); if ( viewTabIndex !== lastIndex ) { $nextTab = $navigationSections.eq( viewTabIndex + 1 ); } else { // If we are the last tab in in navigation lets make active previous $nextTab = $navigationSections.eq( viewTabIndex - 1 ); } return $nextTab; }, removeSection: function ( modelId ) { var $viewTab, $nextTab, tabIsActive; $viewTab = this.$el.find( '.vc_tta-tabs-container .vc_tta-tabs-list [data-vc-target="[data-model-id=' + modelId + ']"]' ).parent(); tabIsActive = $viewTab.hasClass( this.activeClass ); // Make next tab active if needed if ( tabIsActive ) { $nextTab = this.getNextTab( $viewTab ); vc.frame_window.jQuery( $nextTab ).find( '[data-vc-target]' ).trigger( 'click' ); } // Remove tab from navigation $viewTab.remove(); this.buildPagination(); }, buildSortableNavigation: function () { if ( !vc_user_access().shortcodeEdit( this.model.get( 'shortcode' ) ) ) { return; } // this should be called when new tab added/removed/changed. this.$el.find( '.vc_tta-tabs-container .vc_tta-tabs-list' ).sortable( { items: '.vc_tta-tab', forcePlaceholderSize: true, placeholder: 'vc_tta-tab vc_placeholder-tta-tab', helper: this.renderSortingHelper, start: function ( event, ui ) { ui.placeholder.width( ui.item.width() ); }, over: function ( event, ui ) { ui.placeholder.css( { maxWidth: ui.placeholder.parent().width() } ); ui.placeholder.removeClass( 'vc_hidden-placeholder' ); }, update: this.updateSortingNavigation } ); }, updateSorting: function ( event, ui ) { window.InlineShortcodeView_vc_tta_tabs.__super__.updateSorting.call( this, event, ui ); this.updateTabsPositions( this.getPanelsList() ); }, updateSortingNavigation: function () { var $tabs, self; self = this; $tabs = this.$el.find( '.vc_tta-tabs-list' ); // we are sorting a tabs navigation $tabs.find( '> .vc_tta-tab' ).each( function () { var shortcode, modelId, $li; $li = $( this ).removeAttr( 'style' ); // TODO: Attensiton maybe e need to create method with filter modelId = $li.data( 'vcTargetModelId' ); shortcode = vc.shortcodes.get( modelId ); shortcode.save( { 'order': self.getIndex( $li ) }, { silent: true } ); // now we need to sort panels } ); this.updatePanelsPositions( $tabs ); }, updateTabsPositions: function ( $panels ) { var $tabs, $elements, tabSortableData; $tabs = this.$el.find( '.vc_tta-tabs-list' ); if ( $tabs.length ) { $elements = []; tabSortableData = $panels.sortable( 'toArray', { attribute: 'data-model-id' } ); _.each( tabSortableData, function ( value ) { $elements.push( $tabs.find( '[data-vc-target-model-id="' + value + '"]' ) ); }, this ); $tabs.prepend( $elements ); } this.buildPagination(); }, updatePanelsPositions: function ( $tabs ) { var $elements, tabSortableData, $panels; $panels = this.getPanelsList(); $elements = []; tabSortableData = $tabs.sortable( 'toArray', { attribute: 'data-vc-target-model-id' } ); _.each( tabSortableData, function ( value ) { $elements.push( $panels.find( '[data-model-id="' + value + '"]' ) ); }, this ); $panels.prepend( $elements ); this.buildPagination(); }, renderSortingHelper: function ( event, currentItem ) { var helper, currentItemWidth, currentItemHeight; helper = currentItem; currentItemWidth = currentItem.width() + 1; currentItemHeight = currentItem.height(); helper.width( currentItemWidth ); helper.height( currentItemHeight ); return helper; }, buildPagination: function () { var params; this.removePagination(); // If tap-pos top append: params = this.model.get( 'params' ); if ( !_.isUndefined( params.pagination_style ) && params.pagination_style.length ) { if ( 'top' === params.tab_position ) { this.$el.find( '.vc_tta-panels-container' ).append( this.getPaginationList() ); } else { this.getPaginationList().insertBefore( this.$el.find( '.vc_tta-container .vc_tta-panels' ) ); } } } } ); })( window.jQuery ); /* global redux, wp, redux_custom_fonts_l10, ajaxurl */ (function ( $ ) { 'use strict'; let l10n; let reduxObject; let ajaxDone = false; redux.field_objects = redux.field_objects || {}; redux.field_objects.custom_fonts = redux.field_objects.custom_fonts || {}; redux.field_objects.custom_fonts.init = function ( selector ) { // If no selector is passed, grab one from the HTML. if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-custom_font:visible' ); } // Enum instances of our object. $( selector ).each( function () { const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Init module level code. redux.field_objects.custom_fonts.modInit( el ); } ); }; redux.field_objects.custom_fonts.modInit = function ( el ) { const optName = $( '.redux-ajax-security' ).data( 'opt-name' ); l10n = redux_custom_fonts_l10; if ( undefined === optName ) { reduxObject = redux; } else { reduxObject = redux.optName; } el.find( '.checkbox' ).on( 'click', function () { let val = 0; let checkName; let checkVal; let opVal; checkName = $( this ).attr( 'id' ); if ( 'custom-font-convert' === checkName ) { if ( $( this ).is( ':checked' ) ) { checkVal = ''; opVal = 1; el.find( '.conversion-types' ).removeClass( 'is-disabled' ); } else { checkVal = 'disabled'; opVal = 0.7; el.find( '.conversion-types' ).addClass( 'is-disabled' ); } el.find( '#custom-font-eot,#custom-font-svg,#custom-font-ttf,#custom-font-woff,#custom-font-woff2' ).prop( 'disabled', checkVal ); el.find( '.conversion-types' ).css( 'opacity', opVal ); } if ( $( this ).is( ':checked' ) ) { val = $( this ).parent().find( '.checkbox-check' ).attr( 'data-val' ); } $( this ).parent().find( '.checkbox-check' ).val( val ); redux_change( $( this ) ); } ); // Remove the image button. el.find( '.remove-font' ).off( 'click' ).on( 'click', function () { redux.field_objects.custom_fonts.remove_font( el, $( this ).parents( 'fieldset.redux-field:first' ) ); } ); // Upload media button. el.find( '.media_add_font' ).off().on( 'click', function ( event ) { redux.field_objects.custom_fonts.add_font( el, event, $( this ).parents( 'fieldset.redux-field:first' ) ); } ); el.find( '.fontDelete' ).on( 'click', function ( e ) { let data; const parent = $( this ).parents( 'td:first' ); e.preventDefault(); parent.find( '.spinner' ).show(); data = $( this ).data(); data.action = 'redux_custom_fonts'; data.nonce = $( this ).parents( '.redux-container-custom_font:first' ).find( '.media_add_font' ).attr( 'data-nonce' ); $.post( ajaxurl, data, function ( response ) { let rowCount; response = JSON.parse( response ); if ( response.type && 'success' === response.type ) { rowCount = parent.parents( 'table:first' ).find( 'tr' ).length; if ( 1 === rowCount ) { parent.parents( 'table:first' ).fadeOut().remove(); } else { parent.parents( 'tr:first' ).fadeOut().remove(); } } else { alert( l10n.delete_error + ' ' + response.msg ); parent.find( '.spinner' ).hide(); } } ); return false; } ); }; redux.field_objects.custom_fonts.startTimer = function ( el, status ) { let cur_data; $.ajax( { url: ajaxurl, type: 'POST', data: { action: 'redux_custom_font_timer' }, beforeSend: function () { }, success: function ( data ) { let msg; if ( false === ajaxDone ) { setTimeout( redux.field_objects.custom_fonts.startTimer( el, status ), 500 ); msg = reduxObject.args.please_wait + ': ' + status + '

    ' + data; } else { msg = l10n.complete; data = 'finished'; } if ( '' !== data ) { if ( cur_data !== data ) { $( '.blockUI.blockMsg h2' ).html( msg ); cur_data = data; } } } } ); }; redux.field_objects.custom_fonts.add_font = function ( el, event, selector ) { let frame; event.preventDefault(); // If the media frame already exists, reopen it. if ( frame ) { frame.open(); return; } // Create the media frame. frame = wp.media( { multiple: false, library: { type: ['application', 'font'] // Only allow zip files. }, // Set the title of the modal. title: 'Redux Custom Fonts: ' + l10n.media_title, // Customize the submit button. button: { // Set the text of the button. text: l10n.media_button // Tell the button not to close the modal, since we're // going to refresh the page when the image is selected. } } ); // When an image is selected, run a callback. frame.on( 'select', function () { let nonce; let data; let status; let conversion; // Grab the selected attachment. const attachment = frame.state().get( 'selection' ).first(); const error = selector.find( '.font-error' ); error.slideUp(); error.find( 'span' ).text( '' ); frame.close(); if ( 'application' !== attachment.attributes.type && 'font' !== attachment.attributes.type ) { return; } nonce = $( selector ).find( '.media_add_font' ).attr( 'data-nonce' ); conversion = $( '#custom-font-convert' ).is( ':checked' ); data = { action: 'redux_custom_fonts', nonce: nonce, attachment_id: attachment.id, title: attachment.attributes.title, mime: attachment.attributes.mime, filename: attachment.attributes.filename, conversion: Boolean( conversion ) }; if ( 'application/zip ' === data.mime ) { status = l10n.unzip; } else { status = l10n.convert; } redux.field_objects.custom_fonts.startTimer( el, status ); $.blockUI( { message: '

    ' + reduxObject.args.please_wait + ': ' + status + '

    ' } ); $.post( ajaxurl, data, function ( response ) { console.log( 'Redux Custom Fonts API Response (For support purposes)' ); console.log( response ); response = JSON.parse( response ); if ( 'success' === response.type ) { if ( '' !== response.msg ) { $.unblockUI(); error.find( 'span' ).html( response.msg + ' ' + l10n.partial ); error.slideDown(); ajaxDone = true; return; } window.onbeforeunload = ''; location.reload(); } else if ( 'error' === response.type ) { $.unblockUI(); error.find( 'span' ).html( response.msg ); error.slideDown(); } else { $.unblockUI(); error.find( 'span' ).text( l10n.unknown ); error.slideDown(); } ajaxDone = true; } ); } ); // Finally, open the modal. frame.open(); }; redux.field_objects.custom_fonts.remove_font = function ( el, selector ) { el = null; // This shouldn't have been run... if ( ! selector.find( '.remove-image' ).addClass( 'hide' ) ) { return null; } }; redux.field_objects.custom_fonts.sleep = function ( milliseconds ) { const start = new Date().getTime(); let i; for ( i = 0; i < 1e7; i += 1 ) { if ( ( new Date().getTime() - start ) > milliseconds ) { break; } } }; })( jQuery ); /*! elementor-pro - v3.28.0 - 16-04-2025 */ "use strict";(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[1],{197:(t,e,n)=>{var s=n(6784);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=s(n(8562)),o=s(n(8243));class ContactButtonsHandler extends i.default{clicks=[];getDefaultSettings(){return{selectors:{main:".e-contact-buttons",content:".e-contact-buttons__content",contentWrapper:".e-contact-buttons__content-wrapper",chatButton:".e-contact-buttons__chat-button",closeButton:".e-contact-buttons__close-button",messageBubbleTime:".e-contact-buttons__message-bubble-time"},constants:{entranceAnimation:"style_chat_box_entrance_animation",exitAnimation:"style_chat_box_exit_animation",chatButtonAnimation:"style_chat_button_animation",animated:"animated",animatedWrapper:"animated-wrapper",visible:"visible",reverse:"reverse",hidden:"hidden",hasAnimations:"has-animations",hasEntranceAnimation:"has-entrance-animation",none:"none"}}}getDefaultElements(){const t=this.getSettings("selectors");return{main:this.$element[0].querySelector(t.main),content:this.$element[0].querySelector(t.content),contentWrapper:this.$element[0].querySelector(t.contentWrapper),chatButton:this.$element[0].querySelector(t.chatButton),closeButton:this.$element[0].querySelector(t.closeButton),messageBubbleTime:this.$element[0].querySelector(t.messageBubbleTime)}}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.closeChatBox.bind(this)),this.elements.chatButton&&(this.elements.chatButton.addEventListener("click",this.onChatButtonClick.bind(this)),this.elements.chatButton.addEventListener("animationend",this.removeChatButtonAnimationClasses.bind(this))),this.elements.content&&this.elements.content.addEventListener("animationend",this.removeAnimationClasses.bind(this)),this.elements.contentWrapper&&window.addEventListener("keyup",this.onDocumentKeyup.bind(this))}contentWrapperIsHidden(t){if(!this.elements.contentWrapper)return!1;const{hidden:e}=this.getSettings("constants");return!0===t?(this.elements.contentWrapper.classList.add(e),void this.elements.contentWrapper.setAttribute("aria-hidden","true")):!1===t?(this.elements.contentWrapper.classList.remove(e),void this.elements.contentWrapper.setAttribute("aria-hidden","false")):this.elements.contentWrapper.classList.contains(e)}onDocumentKeyup(t){27===t.keyCode&&this.elements.main&&!this.contentWrapperIsHidden()&&this.elements.main.contains(document.activeElement)&&this.closeChatBox()}onChatButtonTrackClick(t){const e=t.target||t.srcElement,n=this.getSettings("selectors"),s=[n.contactButtonsVar4,n.contactButtonsVar6,n.contactButtonCore];for(const t of s)(e.matches(t)||e.closest(t))&&this.getDocumentIdAndTrack(e,n);(e.matches(n.contactButtonsVar5)||e.closest(n.contactButtonsVar5))&&e.closest(".e-contact-buttons-var-5")&&this.getDocumentIdAndTrack(e,n)}getDocumentIdAndTrack(t,e){let n=t.closest(e.main).dataset.documentId;n||(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=[]}))}removeAnimationClasses(){if(!this.elements.content)return;const{reverse:t,entranceAnimation:e,exitAnimation:n,animated:s,visible:i}=this.getSettings("constants"),o=this.elements.content.classList.contains(t),a=this.getResponsiveSetting(e),c=this.getResponsiveSetting(n);o?(this.elements.content.classList.remove(s),this.elements.content.classList.remove(t),c&&this.elements.content.classList.remove(c),this.elements.content.classList.remove(i)):(this.elements.content.classList.remove(s),a&&this.elements.content.classList.remove(a),this.elements.content.classList.add(i))}chatBoxEntranceAnimation(){const{entranceAnimation:t,animated:e,animatedWrapper:n,none:s}=this.getSettings("constants"),i=this.getResponsiveSetting(t);i&&s!==i&&(this.elements.content&&(this.elements.content.classList.add(e),this.elements.content.classList.add(i)),this.elements.contentWrapper&&this.elements.contentWrapper.classList.remove(n))}chatBoxExitAnimation(){const{reverse:t,exitAnimation:e,animated:n,animatedWrapper:s,none:i}=this.getSettings("constants"),o=this.getResponsiveSetting(e);o&&i!==o&&(this.elements.content&&(this.elements.content.classList.add(n),this.elements.content.classList.add(t),this.elements.content.classList.add(o)),this.elements.contentWrapper&&this.elements.contentWrapper.classList.add(s))}openChatBox(){const{hasAnimations:t,visible:e}=this.getSettings("constants");this.elements.main&&this.elements.main.classList.contains(t)?this.chatBoxEntranceAnimation():this.elements.content&&this.elements.content.classList.add(e),this.elements.contentWrapper&&(this.contentWrapperIsHidden(!1),elementorFrontend.isEditMode()||(this.elements.contentWrapper.setAttribute("tabindex","0"),this.elements.contentWrapper.focus({focusVisible:!0}))),this.elements.chatButton&&this.elements.chatButton.setAttribute("aria-expanded","true"),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded","true")}closeChatBox(){const{hasAnimations:t,visible:e}=this.getSettings("constants");this.elements.main&&this.elements.main.classList.contains(t)?this.chatBoxExitAnimation():this.elements.content&&this.elements.content.classList.remove(e),this.elements.contentWrapper&&this.contentWrapperIsHidden(!0),this.elements.chatButton&&(this.elements.chatButton.setAttribute("aria-expanded","false"),this.elements.chatButton.focus({focusVisible:!0})),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded","false")}onChatButtonClick(){this.elements.contentWrapper&&this.contentWrapperIsHidden()?this.openChatBox():this.closeChatBox()}initMessageBubbleTime(){if(!this.elements.messageBubbleTime)return;const t="12h"===this.elements.messageBubbleTime.dataset.timeFormat,e=new Intl.DateTimeFormat("default",{hour12:t,hour:"numeric",minute:"numeric"}).format(new Date);this.elements.messageBubbleTime.innerHTML=e}removeChatButtonAnimationClasses(){if(!this.elements.chatButton)return;const{chatButtonAnimation:t,visible:e}=this.getSettings("constants");this.elements.chatButton.classList.remove(t),this.elements.chatButton.classList.add(e)}initChatButtonEntranceAnimation(){const{none:t,chatButtonAnimation:e}=this.getSettings("constants"),n=this.getResponsiveSetting(e);n&&t!==n&&this.elements.chatButton.classList.add(n)}initDefaultState(){if(this.elements.contentWrapper){const t=this.contentWrapperIsHidden();this.elements.chatButton&&this.elements.chatButton.setAttribute("aria-expanded",!t),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded",!t)}elementorFrontend.isEditMode()&&"floating-buttons"===elementor?.config?.document?.type&&this.openChatBox()}setupInnerContainer(){this.elements.main.closest(".e-con-inner").classList.add("e-con-inner--floating-buttons")}onInit(){const{hasEntranceAnimation:t}=this.getSettings("constants");super.onInit(...arguments),this.clickTrackingHandler=new o.default({$element:this.$element}),this.elements.messageBubbleTime&&this.initMessageBubbleTime(),this.initDefaultState(),this.elements.chatButton&&this.elements.chatButton.classList.contains(t)&&this.initChatButtonEntranceAnimation(),this.setupInnerContainer()}}e.default=ContactButtonsHandler},8243:(t,e,n)=>{var s=n(6784);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=s(n(8562));class ClickTrackingHandler extends i.default{clicks=[];getDefaultSettings(){return{selectors:{contentWrapper:".e-contact-buttons__content-wrapper",contentWrapperFloatingBars:".e-floating-bars",floatingBarCouponButton:".e-floating-bars__coupon-button",floatingBarsHeadline:".e-floating-bars__headline",contactButtonsVar4:".e-contact-buttons__contact-icon-link",contactButtonsVar5:".e-contact-buttons__chat-button",contactButtonsVar6:".e-contact-buttons-var-6",contactButtonsVar8:".e-contact-buttons-var-8",elementorWrapper:'[data-elementor-type="floating-buttons"]',contactButtonCore:".e-contact-buttons__send-button"}}}getDefaultElements(){const t=this.getSettings("selectors");return{contentWrapper:this.$element[0].querySelector(t.contentWrapper),contentWrapperFloatingBars:this.$element[0].querySelector(t.contentWrapperFloatingBars),contactButtonsVar5:this.$element[0].querySelector(t.contactButtonsVar5),contactButtonsVar6:this.$element[0].querySelector(t.contactButtonsVar6)}}bindEvents(){this.elements.contentWrapper&&this.elements.contentWrapper.addEventListener("click",this.onChatButtonTrackClick.bind(this)),this.elements.contactButtonsVar5&&this.elements.contactButtonsVar5.addEventListener("click",this.onChatButtonTrackClick.bind(this)),this.elements.contactButtonsVar6&&this.elements.contactButtonsVar6.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"),s=[n.contactButtonsVar4,n.contactButtonsVar6,n.floatingBarCouponButton,n.floatingBarsHeadline,n.contactButtonCore];for(const t of s)(e.matches(t)||e.closest(t))&&this.getDocumentIdAndTrack(e,n);(e.matches(n.contactButtonsVar5)||e.closest(n.contactButtonsVar5))&&e.closest(".e-contact-buttons-var-5")&&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},8562:t=>{t.exports=elementorModules.ViewModule.extend({$element:null,editorListeners:null,onElementChange:null,onEditSettingsChange:null,onPageSettingsChange:null,isEdit:null,__construct(t){this.isActive(t)&&(this.$element=t.$element,this.isEdit=this.$element.hasClass("elementor-element-edit-mode"),this.isEdit&&this.addEditorListeners())},isActive:()=>!0,isElementInTheCurrentDocument(){return!!elementorFrontend.isEditMode()&&elementor.documents.currentDocument.id.toString()===this.$element[0].closest(".elementor").dataset.elementorId},findElement(t){var e=this.$element;return e.find(t).filter((function(){return jQuery(this).parent().closest(".elementor-element").is(e)}))},getUniqueHandlerID(t,e){return t||(t=this.getModelCID()),e||(e=this.$element),t+e.attr("data-element_type")+this.getConstructorID()},initEditorListeners(){var t=this;if(t.editorListeners=[{event:"element:destroy",to:elementor.channels.data,callback(e){e.cid===t.getModelCID()&&t.onDestroy()}}],t.onElementChange){const e=t.getWidgetType()||t.getElementType();let n="change";"global"!==e&&(n+=":"+e),t.editorListeners.push({event:n,to:elementor.channels.editor,callback(e,n){t.getUniqueHandlerID(n.model.cid,n.$el)===t.getUniqueHandlerID()&&t.onElementChange(e.model.get("name"),e,n)}})}t.onEditSettingsChange&&t.editorListeners.push({event:"change:editSettings",to:elementor.channels.editor,callback(e,n){if(n.model.cid!==t.getModelCID())return;const s=Object.keys(e.changed)[0];t.onEditSettingsChange(s,e.changed[s])}}),["page"].forEach((function(e){var n="on"+e[0].toUpperCase()+e.slice(1)+"SettingsChange";t[n]&&t.editorListeners.push({event:"change",to:elementor.settings[e].model,callback(e){t[n](e.changed)}})}))},getEditorListeners(){return this.editorListeners||this.initEditorListeners(),this.editorListeners},addEditorListeners(){var t=this.getUniqueHandlerID();this.getEditorListeners().forEach((function(e){elementorFrontend.addListenerOnce(t,e.event,e.callback,e.to)}))},removeEditorListeners(){var t=this.getUniqueHandlerID();this.getEditorListeners().forEach((function(e){elementorFrontend.removeListeners(t,e.event,null,e.to)}))},getElementType(){return this.$element.data("element_type")},getWidgetType(){const t=this.$element.data("widget_type");if(t)return t.split(".")[0]},getID(){return this.$element.data("id")},getModelCID(){return this.$element.data("model-cid")},getElementSettings(t){let e={};const n=this.getModelCID();if(this.isEdit&&n){const t=elementorFrontend.config.elements.data[n],s=t.attributes;let i=s.widgetType||s.elType;s.isInner&&(i="inner-"+i);let o=elementorFrontend.config.elements.keys[i];o||(o=elementorFrontend.config.elements.keys[i]=[],jQuery.each(t.controls,((t,e)=>{(e.frontend_available||e.editor_available)&&o.push(t)}))),jQuery.each(t.getActiveControls(),(function(t){if(-1!==o.indexOf(t)){let n=s[t];n.toJSON&&(n=n.toJSON()),e[t]=n}}))}else e=this.$element.data("settings")||{};return this.getItems(e,t)},getEditSettings(t){var e={};return this.isEdit&&(e=elementorFrontend.config.elements.editSettings[this.getModelCID()].attributes),this.getItems(e,t)},getCurrentDeviceSetting(t){return elementorFrontend.getCurrentDeviceSetting(this.getElementSettings(),t)},onInit(){this.isActive(this.getSettings())&&elementorModules.ViewModule.prototype.onInit.apply(this,arguments)},onDestroy(){this.isEdit&&this.removeEditorListeners(),this.unbindEvents&&this.unbindEvents()}})}}]);