* @copyright 2007-2022 Apollotheme * @license http://apollotheme.com - prestashop template provider */ namespace LeoElements; use LeoElements\Leo_Helper; if ( ! defined( '_PS_VERSION_' ) ) { exit; // Exit if accessed directly. } /** * Elementor hover animation control. * * A base control for creating hover animation control. Displays a select box * with the available hover animation effects @see Control_Hover_Animation::get_animations() * * @since 1.0.0 */ class Control_Hover_Animation extends Base_Data_Control { /** * Animations. * * Holds all the available hover animation effects of the control. * * @access private * @static * * @var array */ private static $_animations; /** * Get hover animation control type. * * Retrieve the control type, in this case `hover_animation`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'hover_animation'; } /** * Get animations. * * Retrieve the available hover animation effects. * * @since 1.0.0 * @access public * @static * * @return array Available hover animation. */ public static function get_animations() { if ( is_null( self::$_animations ) ) { self::$_animations = [ 'grow' => 'Grow', 'shrink' => 'Shrink', 'pulse' => 'Pulse', 'pulse-grow' => 'Pulse Grow', 'pulse-shrink' => 'Pulse Shrink', 'push' => 'Push', 'pop' => 'Pop', 'bounce-in' => 'Bounce In', 'bounce-out' => 'Bounce Out', 'rotate' => 'Rotate', 'grow-rotate' => 'Grow Rotate', 'float' => 'Float', 'sink' => 'Sink', 'bob' => 'Bob', 'hang' => 'Hang', 'skew' => 'Skew', 'skew-forward' => 'Skew Forward', 'skew-backward' => 'Skew Backward', 'wobble-vertical' => 'Wobble Vertical', 'wobble-horizontal' => 'Wobble Horizontal', 'wobble-to-bottom-right' => 'Wobble To Bottom Right', 'wobble-to-top-right' => 'Wobble To Top Right', 'wobble-top' => 'Wobble Top', 'wobble-bottom' => 'Wobble Bottom', 'wobble-skew' => 'Wobble Skew', 'buzz' => 'Buzz', 'buzz-out' => 'Buzz Out', ]; $additional_animations = []; /** * Element hover animations list. * * @since 1.0.0 * * @param array $additional_animations Additional Animations array. */ $additional_animations = Leo_Helper::apply_filters( 'elementor/controls/hover_animations/additional_animations', $additional_animations ); self::$_animations = array_merge( self::$_animations, $additional_animations ); } return self::$_animations; } /** * Render hover animation control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { $control_uid = $this->get_control_uid(); ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, ]; } }