HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //proc/self/cwd/wp-content/plugins/happy-elementor-addons/assets/js/extension-floating-effects.js
"use strict";

;
(function ($) {
  var $window = $(window),
    debounce = function debounce(func, wait, immediate) {
      var timeout;
      return function () {
        var context = this,
          args = arguments;
        var later = function later() {
          timeout = null;
          if (!immediate) func.apply(context, args);
        };
        var callNow = immediate && !timeout;
        clearTimeout(timeout);
        timeout = setTimeout(later, wait);
        if (callNow) func.apply(context, args);
      };
    };
  $window.on('elementor/frontend/init', function () {
    var ModuleHandler = elementorModules.frontend.handlers.Base,
      FloatingFxHandler;
    FloatingFxHandler = ModuleHandler.extend({
      bindEvents: function bindEvents() {
        this.run();
      },
      getDefaultSettings: function getDefaultSettings() {
        return {
          direction: 'alternate',
          easing: 'easeInOutSine',
          loop: true,
          targets: this.findElement('.elementor-widget-container').get(0)
        };
      },
      onElementChange: debounce(function (prop) {
        if (prop.indexOf('ha_floating') !== -1) {
          this.anime && this.anime.restart();
          this.run();
        }
      }, 400),
      getFxVal: function getFxVal(key) {
        return this.getElementSettings('ha_floating_fx_' + key);
      },
      run: function run() {
        var config = this.getDefaultSettings();
        if (this.getFxVal('translate_toggle')) {
          if (this.getFxVal('translate_x.size') || this.getFxVal('translate_x.sizes.to')) {
            config.translateX = {
              value: [this.getFxVal('translate_x.sizes.from') || 0, this.getFxVal('translate_x.size') || this.getFxVal('translate_x.sizes.to')],
              duration: this.getFxVal('translate_duration.size'),
              delay: this.getFxVal('translate_delay.size') || 0
            };
          }
          if (this.getFxVal('translate_y.size') || this.getFxVal('translate_y.sizes.to')) {
            config.translateY = {
              value: [this.getFxVal('translate_y.sizes.from') || 0, this.getFxVal('translate_y.size') || this.getFxVal('translate_y.sizes.to')],
              duration: this.getFxVal('translate_duration.size'),
              delay: this.getFxVal('translate_delay.size') || 0
            };
          }
        }
        if (this.getFxVal('rotate_toggle')) {
          if (this.getFxVal('rotate_x.size') || this.getFxVal('rotate_x.sizes.to')) {
            config.rotateX = {
              value: [this.getFxVal('rotate_x.sizes.from') || 0, this.getFxVal('rotate_x.size') || this.getFxVal('rotate_x.sizes.to')],
              duration: this.getFxVal('rotate_duration.size'),
              delay: this.getFxVal('rotate_delay.size') || 0
            };
          }
          if (this.getFxVal('rotate_y.size') || this.getFxVal('rotate_y.sizes.to')) {
            config.rotateY = {
              value: [this.getFxVal('rotate_y.sizes.from') || 0, this.getFxVal('rotate_y.size') || this.getFxVal('rotate_y.sizes.to')],
              duration: this.getFxVal('rotate_duration.size'),
              delay: this.getFxVal('rotate_delay.size') || 0
            };
          }
          if (this.getFxVal('rotate_z.size') || this.getFxVal('rotate_z.sizes.to')) {
            config.rotateZ = {
              value: [this.getFxVal('rotate_z.sizes.from') || 0, this.getFxVal('rotate_z.size') || this.getFxVal('rotate_z.sizes.to')],
              duration: this.getFxVal('rotate_duration.size'),
              delay: this.getFxVal('rotate_delay.size') || 0
            };
          }
        }
        if (this.getFxVal('scale_toggle')) {
          if (this.getFxVal('scale_x.size') || this.getFxVal('scale_x.sizes.to')) {
            config.scaleX = {
              value: [this.getFxVal('scale_x.sizes.from') || 0, this.getFxVal('scale_x.size') || this.getFxVal('scale_x.sizes.to')],
              duration: this.getFxVal('scale_duration.size'),
              delay: this.getFxVal('scale_delay.size') || 0
            };
          }
          if (this.getFxVal('scale_y.size') || this.getFxVal('scale_y.sizes.to')) {
            config.scaleY = {
              value: [this.getFxVal('scale_y.sizes.from') || 0, this.getFxVal('scale_y.size') || this.getFxVal('scale_y.sizes.to')],
              duration: this.getFxVal('scale_duration.size'),
              delay: this.getFxVal('scale_delay.size') || 0
            };
          }
        }
        if (this.getFxVal('translate_toggle') || this.getFxVal('rotate_toggle') || this.getFxVal('scale_toggle')) {
          this.findElement('.elementor-widget-container').css('will-change', 'transform');
          this.anime = window.anime && window.anime(config);
        }
      }
    });
    elementorFrontend.hooks.addAction('frontend/element_ready/widget', function ($scope) {
      elementorFrontend.elementsHandler.addHandler(FloatingFxHandler, {
        $element: $scope
      });
    });
  });
})(jQuery);