Server IP : 52.91.253.208 / Your IP : 3.14.144.216 [ Web Server : Apache System : Linux ip-172-26-9-9 4.19.0-25-cloud-amd64 #1 SMP Debian 4.19.289-1 (2023-07-24) x86_64 User : daemon ( 1) PHP Version : 7.3.18 Disable Function : NONE Domains : 3 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/elementor-extras/extensions/ |
Upload File : |
<?php namespace ElementorExtras\Extensions; use ElementorExtras\Base\Extension_Base; use Elementor\Controls_Manager; if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly /** * Parallax extenstion * * Adds parallax on widgets and columns * * @since 1.1.3 */ class Extension_Parallax_Elements extends Extension_Base { /** * Is Common Extension * * Defines if the current extension is common for all element types or not * * @since 1.8.0 * @access private * * @var bool */ protected $is_common = true; /** * A list of scripts that the widgets is depended in * * @since 1.8.0 **/ public function get_script_depends() { return [ 'parallax-element', ]; } /** * The description of the current extension * * @since 1.8.0 **/ public static function get_description() { return __( 'Adds options to move a column or a widget vertically asynchronously when scrolling the page. Can be found under Advanced → Extras → Parallax.', 'elementor-extras' ); } /** * Add common sections * * @since 1.8.0 * * @access protected */ protected function add_common_sections_actions() { // Activate sections for widgets add_action( 'elementor/element/common/_section_style/after_section_end', function( $element, $args ) { $this->add_common_sections( $element, $args ); }, 10, 2 ); // Activate sections for columns add_action( 'elementor/element/column/section_advanced/after_section_end', function( $element, $args ) { $this->add_common_sections( $element, $args ); }, 10, 2 ); } /** * Add Actions * * @since 1.1.3 * * @access private */ private function add_controls( $element, $args ) { $element_type = $element->get_type(); $element->add_control( 'parallax_element_enable', [ 'label' => __( 'Parallax', 'elementor-extras' ), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'label_on' => __( 'Yes', 'elementor-extras' ), 'label_off' => __( 'No', 'elementor-extras' ), 'return_value' => 'yes', 'separator' => 'before', 'frontend_available' => true, ] ); $element->add_control( 'parallax_element_type', [ 'label' => __( 'Type', 'elementor-extras' ), 'type' => Controls_Manager::SELECT, 'default' => 'scroll', 'options' => [ 'scroll' => __( 'Scroll', 'elementor-extras' ), 'mouse' => __( 'Mouse', 'elementor-extras' ), ], 'condition' => [ 'parallax_element_enable!' => '', ], 'frontend_available' => true, ] ); $element->add_control( 'parallax_element_relative', [ 'label' => __( 'Relative to', 'elementor-extras' ), 'description' => __( 'Use "Start position" when the element is visible inside the viewport before scroll.', 'elementor-extras' ), 'type' => Controls_Manager::SELECT, 'default' => 'middle', 'options' => [ 'middle' => __( 'Viewport middle', 'elementor-extras' ), 'position' => __( 'Start position', 'elementor-extras' ), ], 'condition' => [ 'parallax_element_enable!' => '', 'parallax_element_type' => 'scroll', ], 'frontend_available' => true, ] ); $element->add_control( 'parallax_element_pan_relative', [ 'label' => __( 'Relative to', 'elementor-extras' ), 'type' => Controls_Manager::SELECT, 'default' => 'element', 'options' => [ 'element' => __( 'Element Center', 'elementor-extras' ), 'viewport' => __( 'Viewport Center', 'elementor-extras' ), ], 'condition' => [ 'parallax_element_enable!' => '', 'parallax_element_type' => 'mouse', ], 'frontend_available' => true, ] ); $element->add_control( 'parallax_element_disable_on', [ 'label' => __( 'Disable for', 'elementor-extras' ), 'type' => Controls_Manager::SELECT, 'default' => 'mobile', 'options' => [ 'none' => __( 'None', 'elementor-extras' ), 'tablet' => __( 'Mobile and tablet', 'elementor-extras' ), 'mobile' => __( 'Mobile only', 'elementor-extras' ), ], 'condition' => [ 'parallax_element_enable!' => '', 'parallax_element_type' => 'scroll', ], 'frontend_available' => true, ] ); $element->add_control( 'parallax_element_pan_axis', [ 'label' => __( 'Axis', 'elementor-extras' ), 'type' => Controls_Manager::SELECT, 'default' => 'both', 'options' => [ 'both' => __( 'Both', 'elementor-extras' ), 'vertical' => __( 'Vertical', 'elementor-extras' ), 'horizontal' => __( 'Horizontal', 'elementor-extras' ), ], 'frontend_available' => true, 'condition' => [ 'parallax_element_enable!' => '', 'parallax_element_type' => 'mouse', ], ] ); $element->add_control( 'parallax_element_invert', [ 'label' => __( 'Invert Direction', 'elementor-extras' ), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'label_on' => __( 'Yes', 'elementor-extras' ), 'label_off' => __( 'No', 'elementor-extras' ), 'return_value' => 'yes', 'frontend_available' => true, 'condition' => [ 'parallax_element_enable!' => '', ], ] ); $element->add_responsive_control( 'parallax_element_pan_distance', [ 'label' => __( 'Max Distance (px)', 'elementor-extras' ), 'description' => __( 'The maximum distance from the center of the element and the mouse pointer. Enter 0 or empty to disable.', 'elementor-extras' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 500, 'step' => 1, ], ], 'condition' => [ 'parallax_element_enable!' => '', 'parallax_element_type' => 'mouse', 'parallax_element_pan_relative' => 'element', ], 'frontend_available' => true, ] ); $element->add_responsive_control( 'parallax_element_speed', [ 'label' => __( 'Amount', 'elementor-extras' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 0 ], 'range' => [ 'px' => [ 'min' => 0.1, 'max' => 1, 'step' => 0.01, ], ], 'condition' => [ 'parallax_element_enable!' => '', ], 'frontend_available' => true, ] ); } /** * Add Actions * * @since 1.1.3 * * @access private */ protected function add_actions() { // Activate controls for widgets add_action( 'elementor/element/common/section_elementor_extras_advanced/before_section_end', function( $element, $args ) { $this->add_controls( $element, $args ); }, 10, 2 ); // Activate controls for columns add_action( 'elementor/element/column/section_elementor_extras_advanced/before_section_end', function( $element, $args ) { $this->add_controls( $element, $args ); }, 10, 2 ); } }