start_controls_section( 'eael_fancy_text_content', [ 'label' => esc_html__( 'Fancy Text', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_fancy_text_prefix', [ 'label' => esc_html__( 'Prefix Text', 'essential-addons-elementor' ), 'placeholder' => esc_html__( 'Place your prefix text', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXTAREA, 'default' => esc_html__( 'This is the ', 'essential-addons-elementor' ), ] ); $this->add_control( 'eael_fancy_text_strings', [ 'label' => esc_html__( 'Fancy Text Strings', 'essential-addons-elementor' ), 'type' => Controls_Manager::REPEATER, 'default' => [ [ 'eael_fancy_text_strings_text_field' => esc_html__( 'first string', 'essential-addons-elementor' ), ], [ 'eael_fancy_text_strings_text_field' => esc_html__( 'second string', 'essential-addons-elementor' ), ], [ 'eael_fancy_text_strings_text_field' => esc_html__( 'third string', 'essential-addons-elementor' ), ], ], 'fields' => [ [ 'name' => 'eael_fancy_text_strings_text_field', 'label' => esc_html__( 'Fancy String', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, ], ], 'title_field' => '{{{ eael_fancy_text_strings_text_field }}}', ] ); $this->add_control( 'eael_fancy_text_suffix', [ 'label' => esc_html__( 'Suffix Text', 'essential-addons-elementor' ), 'placeholder' => esc_html__( 'Place your suffix text', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXTAREA, 'default' => esc_html__( ' of the sentence.', 'essential-addons-elementor' ), ] ); $this->end_controls_section(); // Settings Control $this->start_controls_section( 'eael_fancy_text_settings', [ 'label' => esc_html__( 'Fancy Text Settings', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_fancy_text_style', [ 'label' => esc_html__( 'Style Type', 'essential-addons-elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'style-1', 'options' => [ 'style-1' => esc_html__( 'Style 1', 'essential-addons-elementor' ), 'style-2' => esc_html__( 'Style 2', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_text_style_pro_alert', [ 'label' => esc_html__( 'Only available in pro version!', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, 'condition' => [ 'eael_fancy_text_style' => ['style-2'], ] ] ); $this->add_responsive_control( 'eael_fancy_text_alignment', [ 'label' => esc_html__( 'Alignment', 'essential-addons-elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ), 'icon' => 'fa fa-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'essential-addons-elementor' ), 'icon' => 'fa fa-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ), 'icon' => 'fa fa-align-right', ], ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-container' => 'text-align: {{VALUE}}', ], ] ); $this->add_control( 'eael_fancy_text_transition_type', [ 'label' => esc_html__( 'Animation Type', 'essential-addons-elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'typing', 'options' => [ 'typing' => esc_html__( 'Typing', 'essential-addons-elementor' ), 'fadeIn' => esc_html__( 'Fade', 'essential-addons-elementor' ), 'fadeInUp' => esc_html__( 'Fade Up', 'essential-addons-elementor' ), 'fadeInDown' => esc_html__( 'Fade Down', 'essential-addons-elementor' ), 'fadeInLeft' => esc_html__( 'Fade Left', 'essential-addons-elementor' ), 'fadeInRight' => esc_html__( 'Fade Right', 'essential-addons-elementor' ), 'zoomIn' => esc_html__( 'Zoom', 'essential-addons-elementor' ), 'bounceIn' => esc_html__( 'Bounce', 'essential-addons-elementor' ), 'swing' => esc_html__( 'Swing', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_text_speed', [ 'label' => esc_html__( 'Typing Speed', 'essential-addons-elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => '50', 'condition' => [ 'eael_fancy_text_transition_type' => 'typing', ], ] ); $this->add_control( 'eael_fancy_text_delay', [ 'label' => esc_html__( 'Delay on Change', 'essential-addons-elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => '2500' ] ); $this->add_control( 'eael_fancy_text_loop', [ 'label' => esc_html__( 'Loop the Typing', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', 'condition' => [ 'eael_fancy_text_transition_type' => 'typing', ], ] ); $this->add_control( 'eael_fancy_text_cursor', [ 'label' => esc_html__( 'Display Type Cursor', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', 'condition' => [ 'eael_fancy_text_transition_type' => 'typing', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_pro', [ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_control_get_pro', [ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '1' => [ 'title' => __( '', 'essential-addons-elementor' ), 'icon' => 'fa fa-unlock-alt', ], ], 'default' => '1', 'description' => ' Get the Pro version for more stunning elements and customization options.' ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_fancy_text_prefix_styles', [ 'label' => esc_html__( 'Prefix Text Styles', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_fancy_text_prefix_color', [ 'label' => esc_html__( 'Prefix Text Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-prefix' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .eael-fancy-text-prefix', ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_fancy_text_strings_styles', [ 'label' => esc_html__( 'Fancy Text Styles', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_fancy_text_strings_color', [ 'label' => esc_html__( 'Fancy Text Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-strings' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_fancy_text_strings_typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .eael-fancy-text-strings, {{WRAPPER}} .typed-cursor', ] ); $this->add_control( 'eael_fancy_text_strings_background_color', [ 'label' => esc_html__( 'Background', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-strings' => 'background: {{VALUE}};', ], ] ); $this->add_control( 'eael_fancy_text_cursor_color', [ 'label' => esc_html__( 'Typing Cursor Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .typed-cursor' => 'color: {{VALUE}};', ], 'condition' => [ 'eael_fancy_text_cursor' => 'yes', ], ] ); $this->add_responsive_control( 'eael_fancy_text_strings_padding', [ 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-strings' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'eael_fancy_text_strings_margin', [ 'label' => esc_html__( 'Margin', 'essential-addons-elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-strings' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'eael_fancy_text_strings_border', 'selector' => '{{WRAPPER}} .eael-fancy-text-strings', ] ); $this->add_control( 'eael_fancy_text_strings_border_radius', [ 'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-strings' => 'border-radius: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_fancy_text_suffix_styles', [ 'label' => esc_html__( 'Suffix Text Styles', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_fancy_text_suffix_color', [ 'label' => esc_html__( 'Suffix Text Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-fancy-text-suffix' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'ending_typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .eael-fancy-text-suffix', ] ); $this->end_controls_section(); } protected function render( ) { $settings = $this->get_settings(); if( 'style-1' === $settings['eael_fancy_text_style'] || 'style-2' === $settings['eael_fancy_text_style'] ) { $eael_fancy_text_style = 'style-1'; } ?>