HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/slfopp7cb1df/www/home/wp-content/plugins/mailoptin/src/core/src/assets/js/src/moExitIntent.js
/**
 * Inspired by https://github.com/flaviovs/jquery.exitintent
 */
import $ from 'jquery';

export default function () {
    var timer;

    function trackLeave(ev) {
        if (ev.clientY > 20) {
            return;
        }

        if (timer) {
            clearTimeout(timer);
        }

        // delay triggering exit intent if visitor cursor move out and enter the viewport.
        timer = setTimeout(function () {
            timer = null;
            $.event.trigger("moExitIntent");
        }, 300);
    }

    function trackEnter() {
        if (timer) {
            clearTimeout(timer);
            timer = null;
        }
    }

    $.moExitIntent = function (enable) {
        if (enable === "enable") {
            $(window).on('mouseleave.moOptin', trackLeave);
            $(window).on('mouseenter.moOptin', trackEnter);
        } else if (enable === "disable") {
            trackEnter(); // Turn off any outstanding timer
            $(window).off("mouseleave.moOptin", trackLeave);
            $(window).off("mouseenter.moOptin", trackEnter);
        }
    };
}