%PDF- %PDF-
Direktori : /var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/inc/classes/ |
Current File : //var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/inc/classes/Animation.php |
<?php namespace MasterAddons\Inc\Classes; use Elementor\Widget_Base; use Elementor\Controls_Manager; if (!defined('ABSPATH')) { exit; // Exit if accessed directly } class Animation { /** * Register widget controls. * * Adds base animation controls. */ public static function register_section_animation(Widget_Base $element, $is_multiple, $condition) { if (true === $is_multiple) { $pointer_options = array( 'none' => __('None', 'master-addons' ), 'underline' => __('Underline', 'master-addons' ), 'overline' => __('Overline', 'master-addons' ), 'background' => __('Background', 'master-addons' ), 'text' => __('Text', 'master-addons' ), ); } else { $pointer_options = array( 'none' => __('None', 'master-addons' ), 'underline' => __('Underline', 'master-addons' ), 'overline' => __('Overline', 'master-addons' ), 'background' => __('Background', 'master-addons' ), ); } $element->start_controls_section( 'animation', array( 'label' => __('Pointer Animation', 'master-addons' ), 'tab' => Controls_Manager::TAB_STYLE, 'conditions' => $condition, ) ); $element->add_control( 'pointer', array( 'label' => __('Hover Effect', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'options' => $pointer_options, 'render_type' => 'template', 'prefix_class' => 'jltma-pointer-', 'style_transfer' => true, ) ); $element->add_control( 'animation_line', array( 'label' => __('Animation', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'slide', 'options' => array( 'slide' => 'Slide', 'grow' => 'Grow', 'drop-in' => 'Drop In', 'drop-out' => 'Drop Out', 'none' => 'None', ), 'render_type' => 'template', 'prefix_class' => 'jltma-animation-', 'condition' => array( 'pointer' => array('overline'), ), ) ); $element->add_control( 'animation_underline', array( 'label' => __('Animation', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'slide', 'options' => array( 'slide' => 'Slide', 'grow' => 'Grow', 'drop-in' => 'Drop In', 'drop-out' => 'Drop Out', 'none' => 'None', ), 'render_type' => 'template', 'prefix_class' => 'jltma-animation-', 'condition' => array( 'pointer' => array('underline'), ), ) ); $element->add_control( 'animation_background', array( 'label' => __('Animation', 'master-addons' ), 'type' => 'jltma-choose-text', 'options' => array( 'sweep-filling' => array( 'title' => __('Sweep', 'master-addons' ), 'description' => __('Sweep Filling', 'master-addons' ), ), 'grow' => array( 'title' => __('Grow', 'master-addons' ), ), ), 'default' => 'sweep-filling', 'label_block' => false, 'toggle' => false, 'render_type' => 'template', 'prefix_class' => 'jltma-animation-', 'condition' => array('pointer' => 'background'), ) ); $element->add_control( 'animation_text', [ 'label' => __('Animation', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'grow', 'options' => [ 'grow' => 'Grow', 'shrink' => 'Shrink', 'sink' => 'Sink', 'float' => 'Float', 'skew' => 'Skew', 'rotate' => 'Rotate', ], 'render_type' => 'template', 'prefix_class' => 'jltma-animation-', 'condition' => [ 'pointer' => 'text', ], ] ); $element->add_control( 'animation_filling_direction', array( 'label' => __('Sweep Direction', 'master-addons' ), 'type' => 'jltma-choose-text', 'options' => array( 'sweep-left' => array( 'title' => __('Left', 'master-addons' ), 'description' => __('Sweep Left', 'master-addons' ), ), 'sweep-right' => array( 'title' => __('Right', 'master-addons' ), 'description' => __('Sweep Right', 'master-addons' ), ), 'sweep-top' => array( 'title' => __('Top', 'master-addons' ), 'description' => __('Sweep Top', 'master-addons' ), ), 'sweep-bottom' => array( 'title' => __('Bottom', 'master-addons' ), 'description' => __('Sweep Bottom', 'master-addons' ), ), ), 'label_block' => true, 'toggle' => false, 'render_type' => 'template', 'default' => 'sweep-top', 'prefix_class' => 'jltma-direction-', 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '=', 'value' => 'background', ), array( 'name' => 'animation_background', 'operator' => '=', 'value' => 'sweep-filling', ), ), ), ) ); $element->add_control( 'animation_background_side', array( 'label' => __('Side', 'master-addons' ), 'type' => 'jltma-choose-text', 'options' => array( 'left' => array('title' => __('Left', 'master-addons' )), 'right' => array('title' => __('Right', 'master-addons' )), 'top' => array('title' => __('Top', 'master-addons' )), 'bottom' => array('title' => __('Bottom', 'master-addons' )), ), 'label_block' => true, 'toggle' => false, 'render_type' => 'template', 'default' => 'bottom', 'prefix_class' => 'jltma-animation-side-', 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '=', 'value' => 'background', ), array( 'name' => 'animation_background', 'operator' => '=', 'value' => 'advanced-filling-xy', ), ), ), ) ); $element->add_control( 'animation_background_position_y', array( 'label' => __('Position', 'master-addons' ), 'type' => 'jltma-choose-text', 'options' => array( 'top' => array('title' => __('Top', 'master-addons' )), 'center' => array('title' => __('Center', 'master-addons' )), 'bottom' => array('title' => __('Bottom', 'master-addons' )), ), 'label_block' => true, 'toggle' => false, 'default' => 'center', 'selectors_dictionary' => array( 'top' => 'top: 0;', 'bottom' => 'bottom: 0;', 'center' => 'top: 0; bottom: 0;', ), 'selectors' => array( '{{WRAPPER}}.jltma-animation-advanced-filling-xy .jltma-animation:after' => '{{VALUE}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '=', 'value' => 'background', ), array( 'name' => 'animation_background', 'operator' => '=', 'value' => 'advanced-filling-xy', ), array( 'relation' => 'or', 'terms' => array( array( 'name' => 'animation_background_side', 'operator' => '=', 'value' => 'left', ), array( 'name' => 'animation_background_side', 'operator' => '=', 'value' => 'right', ), ), ), ), ), ) ); $element->add_control( 'animation_background_position_x', array( 'label' => __('Start Position', 'master-addons' ), 'type' => 'jltma-choose-text', 'options' => array( 'left' => array('title' => __('Left', 'master-addons' )), 'center' => array('title' => __('Center', 'master-addons' )), 'right' => array('title' => __('Right', 'master-addons' )), ), 'label_block' => true, 'toggle' => false, 'default' => 'center', 'selectors_dictionary' => array( 'left' => 'left: 0;', 'right' => 'right: 0;', 'center' => 'left: 0; right: 0;', ), 'selectors' => array( '{{WRAPPER}}.jltma-animation-advanced-filling-xy .jltma-animation:after' => '{{VALUE}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '=', 'value' => 'background', ), array( 'name' => 'animation_background', 'operator' => '=', 'value' => 'advanced-filling-xy', ), array( 'relation' => 'or', 'terms' => array( array( 'name' => 'animation_background_side', 'operator' => '=', 'value' => 'top', ), array( 'name' => 'animation_background_side', 'operator' => '=', 'value' => 'bottom', ), ), ), ), ), ) ); self::register_section_style_animation_advanced($element, $is_multiple); $element->end_controls_section(); } /** * Register advanced widget controls. * * Adds additional controls, that adds lots of variations. */ public static function register_section_style_animation_advanced(Widget_Base $element, $is_multiple) { $element->add_control( 'animation_advanced_size', array( 'label' => __('Line Size', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'default' => array( 'unit' => 'px', 'size' => '4', ), 'size_units' => array('px', '%', 'em'), 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, ), '%' => array( 'min' => 0, 'max' => 100, ), 'em' => array( 'min' => 0, 'max' => 50, ), ), 'selectors' => array( '{{WRAPPER}}' => '--animation-line-size: {{SIZE}}{{UNIT}};', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'background', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), ), ), ) ); $element->add_control( 'animation_line_position', array( 'label' => __('Position', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array('px', '%'), 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, ), '%' => array( 'min' => 0, 'max' => 50, ), ), 'selectors' => array( '{{WRAPPER}}' => '--animation-line-background-position: {{SIZE}}{{UNIT}};', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'background', ), array( 'relation' => 'or', 'terms' => array( array( 'name' => 'pointer', 'operator' => '=', 'value' => 'underline', ), array( 'name' => 'pointer', 'operator' => '=', 'value' => 'overline', ), ), ), ), ), ) ); $element->add_control( 'animation_use_gradient', array( 'label' => __('Use Gradient', 'master-addons' ), 'type' => Controls_Manager::SWITCHER, 'render_type' => 'template', 'prefix_class' => 'jltma-animation-use-gradient-', 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), ), ), ) ); $element->add_control( 'animation_color', array( 'label' => __('Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => array( '{{WRAPPER}}' => '--animation-color: {{VALUE}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), ), ), ) ); $element->add_control( 'animation_color_stop', array( 'label' => __('Location', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array('%'), 'default' => array( 'unit' => '%', 'size' => 0, ), 'selectors' => array( '{{WRAPPER}}' => '--animation-color-stop: {{SIZE}}{{UNIT}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), ), ), ) ); $element->add_control( 'animation_second_color', array( 'label' => __('Second Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => array( '{{WRAPPER}}' => '--animation-second-color: {{VALUE}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), ), ), ) ); $element->add_control( 'animation_second_color_stop', array( 'label' => __('Location', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array('%'), 'default' => array( 'unit' => '%', 'size' => 100, ), 'selectors' => array( '{{WRAPPER}}' => '--animation-second-color-stop: {{SIZE}}{{UNIT}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), ), ), ) ); $element->add_control( 'animation_gradient_type', array( 'label' => _x('Type', 'Background Control', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'options' => array( 'linear' => _x('Linear', 'Background Control', 'master-addons' ), 'radial' => _x('Radial', 'Background Control', 'master-addons' ), ), 'default' => 'linear', 'prefix_class' => 'jltma-color-gradient-', 'render_type' => 'template', 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), ), ), ) ); $element->add_control( 'animation_gradient_angle', array( 'label' => _x('Angle', 'Background Control', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array('deg'), 'default' => array( 'unit' => 'deg', 'size' => 90, ), 'range' => array( 'deg' => array('step' => 10), ), 'selectors' => array( '{{WRAPPER}}' => '--animation-gradient-angle: {{SIZE}}{{UNIT}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), array( 'name' => 'animation_gradient_type', 'operator' => '=', 'value' => 'linear', ), ), ), ) ); $element->add_control( 'animation_gradient_position', array( 'label' => _x('Position', 'Background Control', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'options' => array( 'center center' => _x('Center Center', 'Background Control', 'master-addons' ), 'center left' => _x('Center Left', 'Background Control', 'master-addons' ), 'center right' => _x('Center Right', 'Background Control', 'master-addons' ), 'top center' => _x('Top Center', 'Background Control', 'master-addons' ), 'top left' => _x('Top Left', 'Background Control', 'master-addons' ), 'top right' => _x('Top Right', 'Background Control', 'master-addons' ), 'bottom center' => _x('Bottom Center', 'Background Control', 'master-addons' ), 'bottom left' => _x('Bottom Left', 'Background Control', 'master-addons' ), 'bottom right' => _x('Bottom Right', 'Background Control', 'master-addons' ), ), 'default' => 'center center', 'selectors' => array( '{{WRAPPER}}' => '--animation-gradient-radial: at {{VALUE}}', ), 'conditions' => array( 'relation' => 'and', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'text', ), array( 'name' => 'animation_use_gradient', 'operator' => '=', 'value' => 'yes', ), array( 'name' => 'animation_gradient_type', 'operator' => '=', 'value' => 'radial', ), ), ), ) ); $element->add_control( 'divider_after_gradient', array( 'type' => Controls_Manager::DIVIDER, 'condition' => array('animation_use_gradient' => 'yes'), ) ); $element->add_control( 'animation_advanced_transition', array( 'label' => __('Transition Duration', 'master-addons' ), 'type' => Controls_Manager::SLIDER, 'default' => array('size' => 0.3), 'range' => array( 'px' => array( 'max' => 3, 'step' => 0.1, ), ), 'selectors' => array( '{{WRAPPER}}' => '--animation-transition-duration: {{SIZE}}s;', ), 'conditions' => array( 'relation' => 'or', 'terms' => array( array( 'name' => 'pointer', 'operator' => '!==', 'value' => 'none', ), ), ), ) ); } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * */ public static function register_sections_controls(Widget_Base $element, $is_multiple = true, $condition = '') { self::register_section_animation($element, $is_multiple, $condition); } /** * Get animation class. */ public static function get_animation_class() { $class = 'jltma-animation'; return $class; } }