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( 'content_wrap_section', [ 'label' => esc_html__( 'Main Contents', 'addonnest' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); # Media title text $this->add_control( 'media_title', [ 'label' => __( 'Title Text', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => __( 'Enter title text', 'addonnest' ), 'default' => __( 'The Barbarian', 'addonnest' ), ] ); $this->add_control( 'media_subtitle', [ 'label' => __( 'Sub Title Text', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => __( 'Enter subtitle text', 'addonnest' ), 'default' => __( 'LEVEL 1', 'addonnest' ), ] ); # Media description text $this->add_control( 'media_description', [ 'label' => __( 'Description Text', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'label_block' => true, 'default' => __( 'The Barbarian is a kilt-clad Scottish warrior with an angry, battle-ready expression, hungry for destruction. He has Killer yellow horseshoe mustache.', 'addonnest' ), ] ); $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-card .content' => 'text-align: {{VALUE}};', ], ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'footer_title', [ 'label' => __( 'Footer Title', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '20', ] ); $repeater->add_control( 'footer_subtitle', [ 'label' => __( 'Footer Sub-Title', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => __( 'Tranning', 'addonnest' ), ] ); $this->add_control( 'media_footer_enable', [ 'label' => esc_html__('Footer Enable', 'addonnest'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'default' => 'yes', 'label_on' => esc_html__('Yes', 'addonnest'), 'label_off' => esc_html__('No', 'addonnest'), ] ); $this->add_control( 'footer', [ 'label' => esc_html__( 'Footer', 'addonnest' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'condition' => [ 'media_footer_enable' => 'yes', ], 'default' => [ [ 'footer_title' => esc_html__( '20', 'addonnest' ), 'footer_subtitle' => 'Tranning' ], ], ] ); $this->end_controls_section(); # Option End # Media card content style $this->start_controls_section( 'media_card_style', [ 'label' => __( 'Settings', 'addonnest' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); # Media content padding $this->add_responsive_control( 'media_border-radius', [ 'label' => __( 'Border Radius', 'addonnest' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .media-card-container .addonnest-card' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'box_shadow', 'label' => esc_html__( 'Box Shadow', 'addonnest' ), 'selector' => '{{WRAPPER}} .media-card-container .addonnest-card', ] ); $this->end_controls_section(); # Media card title $this->start_controls_section( 'media_content_style', [ 'label' => __( 'Content Settings', 'addonnest' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); # Media title text color $this->add_control( 'media_title_text_color', [ 'label' => __( 'Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-name' => 'color: {{VALUE}};', ], ] ); # Media Title text typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Text Typography', 'addonnest' ), 'name' => 'media_title_typography', 'selector' => '{{WRAPPER}} .addonnest-card__unit-name', ] ); # Media Title text spacing $this->add_responsive_control( 'media_title_space', [ 'label' => esc_html__( 'Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 15, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-name' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'subtitle_settings', [ 'label' => esc_html__( 'Sub Title Settings', 'addonnest' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); # Media sub-title text color $this->add_control( 'media_sub_title_text_color', [ 'label' => __( 'Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__level--barbarian' => 'color: {{VALUE}};', ], ] ); # Media sub-title text typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Text Typography', 'addonnest' ), 'name' => 'media_subtitle_typography', 'selector' => '{{WRAPPER}} .addonnest-card__level--barbarian', ] ); # Media sub-title text spacing $this->add_responsive_control( 'media_subtitle_space', [ 'label' => esc_html__( 'Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 5, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__level--barbarian' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); # Media card description $this->add_control( 'media_description_style', [ 'label' => esc_html__( 'Description Settings', 'addonnest' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); # Media description text color $this->add_control( 'media_media_description_color', [ 'label' => __( 'Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-description' => 'color: {{VALUE}};', ], ] ); # Media description text typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Text Typography', 'addonnest' ), 'name' => 'media_description_typography', 'selector' => '{{WRAPPER}} .addonnest-card__unit-description', ] ); # Media description text spacing $this->add_responsive_control( 'media_description_space', [ 'label' => esc_html__( 'Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 20, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-description' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); # Media content padding $this->add_responsive_control( 'media_content_padding', [ 'label' => __( 'Padding', 'addonnest' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .media-card-container .addonnest-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->end_controls_section(); # Media card footer $this->start_controls_section( 'media_card_footer_style', [ 'label' => __( 'Footer', 'addonnest' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); # Media footer background color $this->add_control( 'media_footer_background_color', [ 'label' => __( 'Background Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian' => 'background: {{VALUE}};', ], ] ); # Media footer title text color $this->add_control( 'media_footer_title_text_color', [ 'label' => __( 'Title Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian .stat' => 'color: {{VALUE}};', ], ] ); # Media border color $this->add_control( 'media_footer_border_color', [ 'label' => __( 'Border Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .media-card-container .addonnest-card__unit-stats--barbarian .one-third' => 'border-color: {{VALUE}};', ], ] ); # Media footer Title text spacing $this->add_responsive_control( 'media_footer_title_space', [ 'label' => esc_html__( 'Title Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 5, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian .stat' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); # Media footer sub-title text color $this->add_control( 'media_footer_subtitle_text_color', [ 'label' => __( 'Sub-title Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian .stat-value' => 'color: {{VALUE}};', ], ] ); # Media footer sub-title text spacing $this->add_responsive_control( 'media_sub_title_space', [ 'label' => esc_html__( 'Sub-title Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 5, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian .stat-value' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); # Media footer padding $this->add_responsive_control( 'media_footer_padding', [ 'label' => __( 'Padding', 'addonnest' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .addonnest-card__unit-stats--barbarian' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->end_controls_section(); } protected function render( ) { $settings = $this->get_settings(); $media_image = $settings['media_image']; $media_title = $settings['media_title']; $media_subtitle = $settings['media_subtitle']; $media_description = $settings['media_description']; $footer = $settings['footer']; ?>