/*! elementor - v3.26.0 - 15-01-2025 */ "use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["floating-bars"],{ /***/ "../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js": /*!***********************************************************************************************!*\ !*** ../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js ***! \***********************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class FloatingBarDomHelper { constructor($element) { this.$element = $element; } maybeMoveToTop() { const el = this.$element[0]; const widget = el.querySelector('.e-floating-bars'); if (elementorFrontend.isEditMode()) { widget.classList.add('is-sticky'); return; } if (el.dataset.widget_type.startsWith('floating-bars') && widget.classList.contains('has-vertical-position-top') && !widget.classList.contains('is-sticky')) { const wpAdminBar = document.getElementById('wpadminbar'); const elementToInsert = el.closest('.elementor'); if (wpAdminBar) { wpAdminBar.after(elementToInsert); } else { document.body.prepend(elementToInsert); } } } } exports["default"] = FloatingBarDomHelper; /***/ }), /***/ "../modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars.js": /*!**********************************************************************************************!*\ !*** ../modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/es.array.includes.js */ "../node_modules/core-js/modules/es.array.includes.js"); var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js")); var _floatinBarDom = _interopRequireDefault(__webpack_require__(/*! ../classes/floatin-bar-dom */ "../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js")); var _clickTracking = _interopRequireDefault(__webpack_require__(/*! ../../../shared/frontend/handlers/click-tracking */ "../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js")); class FloatingBarsHandler extends _base.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 selectors = this.getSettings('selectors'); return { main: this.$element[0].querySelector(selectors.main), mainAll: this.$element[0].querySelectorAll(selectors.main), closeButton: this.$element[0].querySelector(selectors.closeButton), ctaButton: this.$element[0].querySelector(selectors.ctaButton) }; } onElementChange(property) { const changedProperties = ['advanced_vertical_position']; if (changedProperties.includes(property)) { this.initDefaultState(); } } getResponsiveSetting(controlName) { const currentDevice = elementorFrontend.getCurrentDeviceMode(); return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), controlName, '', currentDevice); } bindEvents() { if (this.elements.closeButton) { this.elements.closeButton.addEventListener('click', this.closeFloatingBar.bind(this)); } if (this.elements.ctaButton) { this.elements.ctaButton.addEventListener('animationend', this.handleAnimationEnd.bind(this)); } if (this.elements.main) { window.addEventListener('keyup', this.onDocumentKeyup.bind(this)); } if (this.hasStickyElements()) { window.addEventListener('resize', this.handleStickyElements.bind(this)); } } isStickyTop() { const { isSticky, hasVerticalPositionTop } = this.getSettings('constants'); return this.elements.main.classList.contains(isSticky) && this.elements.main.classList.contains(hasVerticalPositionTop); } isStickyBottom() { const { isSticky, hasVerticalPositionBottom } = this.getSettings('constants'); return this.elements.main.classList.contains(isSticky) && this.elements.main.classList.contains(hasVerticalPositionBottom); } hasStickyElements() { const stickyElements = document.querySelectorAll('.elementor-sticky'); return stickyElements.length > 0; } focusOnLoad() { this.elements.main.setAttribute('tabindex', '0'); this.elements.main.focus({ focusVisible: true }); } applyBodyPadding() { const mainHeight = this.elements.main.offsetHeight; document.body.style.paddingTop = `${mainHeight}px`; } removeBodyPadding() { document.body.style.paddingTop = '0'; } handleWPAdminBar() { const wpAdminBar = elementorFrontend.elements.$wpAdminBar; if (wpAdminBar.length) { this.elements.main.style.top = `${wpAdminBar.height()}px`; } } handleStickyElements() { const mainHeight = this.elements.main.offsetHeight; const wpAdminBar = elementorFrontend.elements.$wpAdminBar; const stickyElements = document.querySelectorAll('.elementor-sticky:not(.elementor-sticky__spacer)'); if (0 === stickyElements.length) { return; } stickyElements.forEach(stickyElement => { const dataSettings = stickyElement.getAttribute('data-settings'); const stickyPosition = JSON.parse(dataSettings)?.sticky; const isTop = '0px' === stickyElement.style.top || 'top' === stickyPosition; const isBottom = '0px' === stickyElement.style.bottom || 'bottom' === stickyPosition; if (this.isStickyTop() && isTop) { if (wpAdminBar.length) { stickyElement.style.top = `${mainHeight + wpAdminBar.height()}px`; } else { stickyElement.style.top = `${mainHeight}px`; } } else if (this.isStickyBottom() && isBottom) { stickyElement.style.bottom = `${mainHeight}px`; } if (elementorFrontend.isEditMode()) { if (isTop) { stickyElement.style.top = this.isStickyTop() ? `${mainHeight}px` : '0px'; } else if (isBottom) { stickyElement.style.bottom = this.isStickyBottom() ? `${mainHeight}px` : '0px'; } } }); document.querySelectorAll('.elementor-sticky__spacer').forEach(stickySpacer => { const dataSettings = stickySpacer.getAttribute('data-settings'); const stickyPosition = JSON.parse(dataSettings)?.sticky; const isTop = '0px' === stickySpacer.style.top || 'top' === stickyPosition; if (this.isStickyTop() && isTop) { stickySpacer.style.marginBottom = `${mainHeight}px`; } }); } closeFloatingBar() { const { isHidden } = this.getSettings('constants'); if (!elementorFrontend.isEditMode()) { this.elements.main.classList.add(isHidden); if (this.hasStickyElements()) { this.handleStickyElements(); } else if (this.isStickyTop()) { this.removeBodyPadding(); } } } initEntranceAnimation() { const { animated, ctaEntranceAnimation, ctaEntranceAnimationDelay, hasEntranceAnimation } = this.getSettings('constants'); const entranceAnimationClass = this.getResponsiveSetting(ctaEntranceAnimation); const entranceAnimationDelay = this.getResponsiveSetting(ctaEntranceAnimationDelay) || 0; const setTimeoutDelay = entranceAnimationDelay + 500; this.elements.ctaButton.classList.add(animated); this.elements.ctaButton.classList.add(entranceAnimationClass); setTimeout(() => { this.elements.ctaButton.classList.remove(hasEntranceAnimation); }, setTimeoutDelay); } handleAnimationEnd() { this.removeEntranceAnimationClasses(); this.focusOnLoad(); } removeEntranceAnimationClasses() { if (!this.elements.ctaButton) { return; } const { animated, ctaEntranceAnimation, visible } = this.getSettings('constants'); const entranceAnimationClass = this.getResponsiveSetting(ctaEntranceAnimation); this.elements.ctaButton.classList.remove(animated); this.elements.ctaButton.classList.remove(entranceAnimationClass); this.elements.ctaButton.classList.add(visible); } onDocumentKeyup(event) { // Bail if not ESC key if (event.keyCode !== 27 || !this.elements.main) { return; } /* eslint-disable @wordpress/no-global-active-element */ if (this.elements.main.contains(document.activeElement)) { this.closeFloatingBar(); } /* eslint-enable @wordpress/no-global-active-element */ } initDefaultState() { const { hasEntranceAnimation } = this.getSettings('constants'); if (this.isStickyTop()) { this.handleWPAdminBar(); } if (this.hasStickyElements()) { this.handleStickyElements(); } else if (this.isStickyTop()) { this.applyBodyPadding(); } if (this.elements.main && !this.elements.ctaButton.classList.contains(hasEntranceAnimation) && !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() { const { hasEntranceAnimation } = this.getSettings('constants'); super.onInit(...arguments); this.clickTrackingHandler = new _clickTracking.default({ $element: this.$element }); const domHelper = new _floatinBarDom.default(this.$element); domHelper.maybeMoveToTop(); if (this.elements.ctaButton && this.elements.ctaButton.classList.contains(hasEntranceAnimation)) { this.initEntranceAnimation(); } this.initDefaultState(); this.setupInnerContainer(); } } exports["default"] = FloatingBarsHandler; /***/ }), /***/ "../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js": /*!****************************************************************************************!*\ !*** ../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js ***! \****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js"); var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js")); class ClickTrackingHandler extends _base.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 selectors = this.getSettings('selectors'); return { contentWrapper: this.$element[0].querySelector(selectors.contentWrapper), contentWrapperFloatingBars: this.$element[0].querySelector(selectors.contentWrapperFloatingBars) }; } bindEvents() { if (this.elements.contentWrapper) { this.elements.contentWrapper.addEventListener('click', this.onChatButtonTrackClick.bind(this)); } if (this.elements.contentWrapperFloatingBars) { this.elements.contentWrapperFloatingBars.addEventListener('click', this.onChatButtonTrackClick.bind(this)); } window.addEventListener('beforeunload', () => { if (this.clicks.length > 0) { this.sendClicks(); } }); } onChatButtonTrackClick(event) { const targetElement = event.target || event.srcElement; const selectors = this.getSettings('selectors'); if (targetElement.matches(selectors.contactButtonCore) || targetElement.closest(selectors.contactButtonCore) || targetElement.matches(selectors.floatingBarCTAButton) || targetElement.closest(selectors.floatingBarCTAButton)) { this.getDocumentIdAndTrack(targetElement, selectors); } } getDocumentIdAndTrack(targetElement, selectors) { const documentId = targetElement.closest(selectors.elementorWrapper).dataset.elementorId; this.trackClick(documentId); } trackClick(documentId) { if (!documentId) { return; } this.clicks.push(documentId); if (this.clicks.length >= 10) { this.sendClicks(); } } sendClicks() { const formData = new FormData(); formData.append('action', 'elementor_send_clicks'); formData.append('_nonce', elementorFrontendConfig?.nonces?.floatingButtonsClickTracking); this.clicks.forEach(documentId => formData.append('clicks[]', documentId)); fetch(elementorFrontendConfig?.urls?.ajaxurl, { method: 'POST', body: formData }).then(() => { this.clicks = []; }); } } exports["default"] = ClickTrackingHandler; /***/ }) }]); //# sourceMappingURL=floating-bars.d7a4725c8d2b0c4da40a.bundle.js.map The Ultimate Guide To Online Dating – Designs Furnish

The app Hornet, which caters to the gay male community, has seen a 30-percent increase in social feed engagement since social distancing measures began in mid-March, according to CEO Christof Wittig. And the dating app Tinder reported that it saw more engagement on March 29 than on any other day in its history, with more than 3 billion users swiping to connect with people, according to an April 1 press release. In 2020, online dating revenue in the U.S. amounted to 602 million U.S. dollars, and it is projected to reach 755 billion U.S. dollars by 2024. The number of users is also expected to see an annual increase, with 53.3 million Americans expected to use internet dating services in 2024, up from 44.2 million users in 2020. That year, paying customers accounted for approximately 15 percent of U.S. online dating users. While many dating sites and apps are free, some platforms use a freemium pricing model that supports online purchases.

  • Some online dating apps have been working on implementing new features to prevent catfishing—other companies are even producing AI intelligence to fend against it.
  • The revenue from this industry and its frequency of use are astronomical.
  • Even if the person you’re meeting volunteers to pick you up, avoid getting into a vehicle with someone you don’t know and trust, especially if it’s the first meeting.
  • OkCupidwas created in 2004 by a group of friends from Harvard University.

When you engage in social events where you’re likely to meet new people, the pool of those who are single and looking is much smaller than when you’re on an app or dating site where everyone is in the same boat as you. Research shows, however, there are negative side effects of online dating, particularly for young women. People cite the obvious reasons for being on dating apps, such as seeking a long-term partner or a sexual encounter; the split is fairly even.

Leave a Comment

Your email address will not be published.