start_controls_section( 'section_title', [ 'label' => __( 'Title Element', 'addonnest' ) ] ); # Media image $this->add_control( 'media_image', [ 'label' => esc_html__( 'Upload Image', 'addonnest' ), 'type' => \Elementor\Controls_Manager::MEDIA, 'default' => [ 'url' => \Elementor\Utils::get_placeholder_image_src(), ], ] ); $this->add_control( 'title_txt', [ 'label' => __( 'Title', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => __( 'Enter title', 'addonnest' ), 'default' => __( 'Explore Featured', 'addonnest' ), ] ); $this->add_control( 'button_name', [ 'label' => __( 'Button Name', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => __( 'Enter button Name', 'addonnest' ), 'default' => __( 'Read More', 'addonnest' ), ] ); $this->add_control( 'button_url', [ 'label' => __( 'Button URL', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => __( 'Enter url', 'addonnest' ), 'default' => '#', ] ); $this->add_control( 'selected_icon', [ 'label' => esc_html__( 'Icon', 'addonnest' ), 'type' => \Elementor\Controls_Manager::ICONS, 'fa4compatibility' => 'icon', 'skin' => 'inline', 'label_block' => false, ] ); // Align $this->add_responsive_control( 'align-self', [ 'label' => esc_html__( 'Align Self', 'addonnest' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'addonnest' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'addonnest' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'addonnest' ), 'icon' => 'eicon-text-align-right', ] ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main' => 'justify-content: {{VALUE}};', ], ] ); $this->end_controls_section(); # Option End /* * Style * */ # Title Sections $this->start_controls_section( 'section_title_style', [ 'label' => __( 'Title', 'addonnest' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'background_color', [ 'label' => __( 'Background Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-wrap' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'title_color', [ 'label' => __( 'Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-box .feature-info h3' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'name' => 'typography_title', 'selector' => '{{WRAPPER}} .addonnest-feature-main .feature-box .feature-info h3', ] ); $this->add_responsive_control( 'title-gap', [ 'label' => esc_html__( 'Title Gap', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'default' => [ 'size' => 30, ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 1000, ] ], 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-wrap .feature-box .feature-info h3' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'text_padding', [ 'label' => __( 'Title Padding', 'addonnest' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->add_responsive_control( 'width', [ 'label' => esc_html__( 'Width', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'default' => [ 'size' => 100, 'unit' => '%', // Ensure 'unit' is used instead of 'units' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .feature-wrap' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'content-gap', [ 'label' => esc_html__( 'Content Gap', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'default' => [ 'size' => 40, ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 1000, ] ], 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-box' => 'gap: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'position', [ 'label' => esc_html__( 'Image Position', 'addonnest' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'default' => 'top', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'addonnest' ), 'icon' => 'eicon-h-align-left', ], 'top' => [ 'title' => esc_html__( 'Top', 'addonnest' ), 'icon' => 'eicon-v-align-top', ], 'right' => [ 'title' => esc_html__( 'Right', 'addonnest' ), 'icon' => 'eicon-h-align-right', ], ], 'prefix_class' => 'addonnest-position-', 'toggle' => false, ] ); // Align $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'addonnest' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'addonnest' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'addonnest' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'addonnest' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'addonnest' ), 'icon' => 'eicon-text-align-justify', ], ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-box .feature-info' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'btn_text_color', [ 'label' => __( 'Button Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-feature-main .feature-wrap .feature-box .feature-info .feature-btn .btn' => 'color: {{VALUE}};', '{{WRAPPER}} .addonnest-feature-main .feature-wrap .feature-box .feature-info .feature-btn .btn svg' => 'fill: {{VALUE}};', ], ] ); $this->end_controls_section(); # Title Section end 1 } protected function render( ) { $settings = $this->get_settings(); $media_image = $settings['media_image']; $title_txt = $settings['title_txt']; $button_name = $settings['button_name']; $button_url = $settings['button_url']; $selected_icon = $settings['selected_icon']; ?>
widgets_manager->register_widget_type( new AddonNest_Widget_Navigating_Features() );