View file File name : triggers.php Content :<?php namespace ElementorPro\Modules\Popup\DisplaySettings; use Elementor\Controls_Manager; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class Triggers extends Base { /** * Get element name. * * Retrieve the element name. * * @since 2.4.0 * @access public * * @return string The name. */ public function get_name() { return 'popup_triggers'; } protected function register_controls() { $this->start_controls_section( 'triggers' ); $this->start_settings_group( 'page_load', esc_html__( 'On Page Load', 'elementor-pro' ) ); $this->add_settings_group_control( 'delay', [ 'type' => Controls_Manager::NUMBER, 'label' => esc_html__( 'Within', 'elementor-pro' ) . ' (sec)', 'default' => 0, 'min' => 0, 'step' => 0.1, ] ); $this->end_settings_group(); $this->start_settings_group( 'scrolling', esc_html__( 'On Scroll', 'elementor-pro' ) ); $this->add_settings_group_control( 'direction', [ 'type' => Controls_Manager::SELECT, 'label' => esc_html__( 'Direction', 'elementor-pro' ), 'default' => 'down', 'options' => [ 'down' => esc_html__( 'Down', 'elementor-pro' ), 'up' => esc_html__( 'Up', 'elementor-pro' ), ], ] ); $this->add_settings_group_control( 'offset', [ 'type' => Controls_Manager::NUMBER, 'label' => esc_html__( 'Within', 'elementor-pro' ) . ' (%)', 'default' => 50, 'min' => 1, 'max' => 100, 'condition' => [ 'direction' => 'down', ], ] ); $this->end_settings_group(); $this->start_settings_group( 'scrolling_to', esc_html__( 'On Scroll To Element', 'elementor-pro' ) ); $this->add_settings_group_control( 'selector', [ 'type' => Controls_Manager::TEXT, 'label' => esc_html__( 'Selector', 'elementor-pro' ), 'placeholder' => '.my-class', 'ai' => [ 'active' => false, ], ], ); $this->end_settings_group(); $this->start_settings_group( 'click', esc_html__( 'On Click', 'elementor-pro' ) ); $this->add_settings_group_control( 'times', [ 'label' => esc_html__( 'Clicks', 'elementor-pro' ), 'type' => Controls_Manager::NUMBER, 'default' => 1, 'min' => 1, ] ); $this->end_settings_group(); $this->start_settings_group( 'inactivity', esc_html__( 'After Inactivity', 'elementor-pro' ) ); $this->add_settings_group_control( 'time', [ 'type' => Controls_Manager::NUMBER, 'label' => esc_html__( 'Within', 'elementor-pro' ) . ' (sec)', 'default' => 30, 'min' => 1, 'step' => 0.1, ] ); $this->end_settings_group(); $this->start_settings_group( 'exit_intent', esc_html__( 'On Page Exit Intent', 'elementor-pro' ) ); $this->end_settings_group(); $this->end_controls_section(); } }