start_controls_section( 'section_content', [ 'label' => esc_html__('Content', 'business-roy'), ] ); $this->add_control( 'layout', [ 'label' => esc_html__('Testimonial Style', 'business-roy'), 'type' => Controls_Manager::SELECT, 'default' => 'style1', 'label_block' => true, 'options' => [ 'style1' => esc_html__('Style 1', 'business-roy'), 'style2' => esc_html__('Style 2', 'business-roy'), 'style6' => esc_html__('Style 3', 'business-roy'), ], ] ); $this->add_responsive_control( 'imageheight', [ 'label' => esc_html__('Image Height', 'business-roy'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 320, 'max' => 750, 'step' => 10 ], ], 'default' => [ 'unit' => 'px', 'size' => '400', ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style6 .iktheme-testimonial-top-content img' => 'height: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'layout!' => ['style1','style2'], ], ] ); $this->add_control( 'image', [ 'label' => esc_html__('Choose Image', 'business-roy'), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'thumb', 'exclude' => ['custom'], 'include' => [], 'default' => 'full', 'condition' => [ 'image[id]!' => '', ], ] ); $this->add_control( 'name', [ 'label' => esc_html__('Name', 'business-roy'), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__('Alina Lora', 'business-roy'), ] ); $this->add_control( 'designation', [ 'label' => esc_html__('Designation', 'business-roy'), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__('Support Engineer', 'business-roy'), ] ); $this->add_control( 'content', [ 'label' => esc_html__('Testimonial', 'business-roy'), 'type' => Controls_Manager::TEXTAREA, 'rows' => 6, 'default' => esc_html__('End your search here! Unlock Our Premium Themes to launch your website. All themes are user-friendly and fully customizable.', 'business-roy'), ] ); $this->add_control( 'rating_star',[ 'label' => esc_html__( 'Display Rating Star', 'business-roy' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'business-roy' ), 'label_off' => esc_html__( 'Hide', 'business-roy' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'rating', [ 'label' => esc_html__('Number of Star', 'business-roy'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['star'], 'range' => [ 'star' => [ 'min' => 1, 'max' => 5, 'step' => 1 ], ], 'default' => [ 'unit' => 'star', 'size' => 5, ], 'condition' => [ 'rating_star' => 'yes', ] ] ); $this->add_control( 'quote',[ 'label' => esc_html__( 'Display Quote Icon', 'business-roy' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'business-roy' ), 'label_off' => esc_html__( 'Hide', 'business-roy' ), 'return_value' => 'yes', 'default' => 'yes', 'condition' => ['layout' => ['style2']], ] ); $this->add_control( 'quote_icon',[ 'label' => esc_html__( 'Icon', 'business-roy' ), 'type' => Controls_Manager::ICONS, 'skin' => 'inline', 'default' => [ 'value' => 'fas fa-quote-left', 'library' => 'fa-solid', ], 'condition' => [ 'quote' => 'yes', 'layout' => ['style2'] ] ] ); $this->end_controls_section(); $this->start_controls_section( 'section_settings', [ 'label' => esc_html__('Settings', 'business-roy'), ] ); $this->add_control( 'title_html_tag', [ 'label' => esc_html__('Title HTML Tag', 'business-roy'), 'type' => Controls_Manager::SELECT, 'default' => 'h3', 'label_block' => true, 'options' => [ 'h1' => esc_html__('H1', 'business-roy'), 'h2' => esc_html__('H2', 'business-roy'), 'h3' => esc_html__('H3', 'business-roy'), 'h4' => esc_html__('H4', 'business-roy'), 'h5' => esc_html__('H5', 'business-roy'), 'h6' => esc_html__('H6', 'business-roy'), 'div' => esc_html__('div', 'business-roy'), 'span' => esc_html__('span', 'business-roy'), 'p' => esc_html__('p', 'business-roy') ], ] ); $this->end_controls_section(); $this->start_controls_section( 'general_style', [ 'label' => esc_html__('General Styles', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'bg_color', [ 'label' => esc_html__('Backgrond Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper, {{WRAPPER}} .iktheme-testimonial-wrapper.style6 .iktheme-testimonial-buttom-content' => 'background-color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Border::get_type(),[ 'name' => 'bg_border', 'selector' => '{{WRAPPER}} .iktheme-testimonial-wrapper', 'default' => 'none', ] ); $this->add_responsive_control( 'layout_position',[ 'label' => esc_html__( 'Position', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'above', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'business-roy' ), 'icon' => 'eicon-h-align-left', ], 'above' => [ 'title' => esc_html__( 'Above', 'business-roy' ), 'icon' => 'eicon-v-align-top', ], 'right' => [ 'title' => esc_html__( 'Right', 'business-roy' ), 'icon' => 'eicon-h-align-right', ], 'below' => [ 'title' => esc_html__( 'Below', 'business-roy' ), 'icon' => 'eicon-v-align-bottom', ], ], 'selectors_dictionary' => [ 'above' => 'flex-direction: column;', 'below' => 'flex-direction: column-reverse;', 'left' => 'flex-direction: row;', 'right' => 'flex-direction: row-reverse;', ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper' => '{{VALUE}}', ], 'condition' => [ 'layout' => ['style1'], ] ] ); $this->add_control( 'layout2_position',[ 'label' => esc_html__( 'Position', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'above', 'options' => [ 'above' => [ 'title' => esc_html__( 'Above', 'business-roy' ), 'icon' => 'eicon-v-align-top', ], 'below' => [ 'title' => esc_html__( 'Below', 'business-roy' ), 'icon' => 'eicon-v-align-bottom', ], ], 'render_type' => 'template', 'prefix_class' => 'iktheme-testimonial-layout-', 'condition' => [ 'layout' => ['style2'], ] ] ); $this->add_responsive_control( 'content_vertical_alignment',[ 'label' => esc_html__( 'Vertical Alignment', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'top' => [ 'title' => esc_html__( 'Top', 'business-roy' ), 'icon' => 'eicon-v-align-top', ], 'middle' => [ 'title' => esc_html__( 'Middle', 'business-roy' ), 'icon' => 'eicon-v-align-middle', ], 'bottom' => [ 'title' => esc_html__( 'Bottom', 'business-roy' ), 'icon' => 'eicon-v-align-bottom', ], ], //'default' => 'middle', 'toggle' => false, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1' => 'align-items:{{VALUE}};', ], 'selectors_dictionary' => [ 'top' => 'flex-start', 'middle' => 'center', 'bottom' => 'flex-end', ], 'conditions' => [ 'relation' => 'and', 'terms' => [ [ 'name' => 'layout', 'operator' => '==', 'value' => 'style1', ], [ 'relation' => 'or', 'terms' => [ [ 'name' => 'layout_position', 'operator' => '==', 'value' => 'left', ], [ 'name' => 'layout_position', 'operator' => '==', 'value' => 'right', ], ], ], ], ], ] ); $this->add_responsive_control( 'text_align',[ 'label' => esc_html__( 'Alignment', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, //'default' => 'center', 'options' => [ 'start' => [ 'title' => esc_html__( 'Left', 'business-roy' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'business-roy' ), 'icon' => 'eicon-text-align-center', ], 'end' => [ 'title' => esc_html__( 'Right', 'business-roy' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper, {{WRAPPER}} .iktheme-testimonial-buttom-content' => 'align-items: {{VALUE}}; text-align: {{VALUE}};', ], ] ); $this->add_responsive_control( 'item_space',[ 'label' => esc_html__( 'Content Spacing', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem', 'custom' ], 'range' => [ 'px' => [ 'max' => 100, ], 'em' => [ 'min' => 0, 'max' => 10, ], 'rem' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-buttom-content' => 'gap: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'padding', [ 'label' => esc_html__('Padding', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1, {{WRAPPER}} .iktheme-testimonial-wrapper.style2, {{WRAPPER}} .iktheme-testimonial-wrapper.style6 .iktheme-testimonial-buttom-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'radius', [ 'label' => esc_html__('Radius', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(),[ 'name' => 'box_shadow', 'selector' => '{{WRAPPER}} .iktheme-testimonial-wrapper', ] ); $this->end_controls_section(); $this->start_controls_section( 'name_style', [ 'label' => esc_html__('Name', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'name_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-title' => 'color: {{VALUE}}' ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'name_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->add_responsive_control( 'name_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-title' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(),[ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(),[ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->end_controls_section(); $this->start_controls_section( 'designation_style', [ 'label' => esc_html__('Designation', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'designation_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-designation' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'designation_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-designation', ] ); $this->add_responsive_control( 'designation_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-designation' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(),[ 'name' => 'designation_stroke', 'selector' => '{{WRAPPER}} .iktheme-testimonial-designation', ] ); $this->end_controls_section(); $this->start_controls_section( 'content_style', [ 'label' => esc_html__('Content', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'content_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-description' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'content_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-description', ] ); $this->add_responsive_control( 'content_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-description' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'rating_style', [ 'label' => esc_html__('Rating Star', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'rating_size', [ 'label' => esc_html__('Rating Icon Size', 'business-roy'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 10, 'max' => 300, 'step' => 1, ] ], 'default' => [ 'unit' => 'px', 'size' => 18, ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-rating i' => 'font-size: {{SIZE}}{{UNIT}};' ], ] ); $this->add_control( 'rating_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-rating i' => 'color: {{VALUE}}', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'image_style', [ 'label' => esc_html__('Image', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'layout' => ['style1','style2'], ] ] ); $this->add_responsive_control( 'image_width', [ 'label' => esc_html__( 'Width', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%', 'em', 'rem', 'vw', 'custom' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 800, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1 .iktheme-testimonial-img img, {{WRAPPER}} .iktheme-testimonial-wrapper.style2 .iktheme-testimonial-img img' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'image_height', [ 'label' => esc_html__( 'Height', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%', 'em', 'rem', 'vh', 'custom' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 800, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1 .iktheme-testimonial-img img, {{WRAPPER}} .iktheme-testimonial-wrapper.style2 .iktheme-testimonial-img img' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(),[ 'name' => 'image_border', 'selector' => '{{WRAPPER}} .iktheme-testimonial-wrapper.style1 .iktheme-testimonial-img img, {{WRAPPER}} .iktheme-testimonial-wrapper.style2 .iktheme-testimonial-img img', 'default' => 'none', ] ); $this->add_responsive_control( 'image_padding', [ 'label' => esc_html__('Padding', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1 .iktheme-testimonial-img img, {{WRAPPER}} .iktheme-testimonial-wrapper.style2 .iktheme-testimonial-img img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'image_radius', [ 'label' => esc_html__('Radius', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-wrapper.style1 .iktheme-testimonial-img img, {{WRAPPER}} .iktheme-testimonial-wrapper.style2 .iktheme-testimonial-img img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'quoteicon', [ 'label' => esc_html__('Quote Icon', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'layout!' => ['style1', 'style6'], ] ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__('Icon Size', 'business-roy'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 10, 'max' => 300, 'step' => 1, ] ], 'default' => [ 'unit' => 'px', 'size' => 35, ], 'selectors' => [ '{{WRAPPER}} .ikthemes-quote-icon .elementor-icon' => 'font-size: {{SIZE}}{{UNIT}};' ], ] ); $this->add_responsive_control( 'icon_rotate',[ 'label' => esc_html__( 'Rotate', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg', 'grad', 'rad', 'turn', 'custom' ], 'default' => [ 'unit' => 'deg', ], 'tablet_default' => [ 'unit' => 'deg', ], 'mobile_default' => [ 'unit' => 'deg', ], 'selectors' => [ '{{WRAPPER}} .ikthemes-quote-icon .elementor-icon' => 'transform: rotate({{SIZE}}{{UNIT}});', ], ] ); $this->add_control( 'quote_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ikthemes-quote-icon .elementor-icon' => 'color: {{VALUE}}; fill: {{VALUE}}', ], ] ); $this->end_controls_section(); } /** Render Layout */ protected function render() { $settings = $this->get_settings_for_display(); $wrapper_tag = 'div'; $title_tag = Utils::validate_html_tag( $settings['title_html_tag'] ); $this->add_render_attribute('wrapper', 'class', [ 'iktheme-testimonial-wrapper', $settings['layout'], ] ); $this->add_render_attribute( 'top_content', 'class', ['iktheme-testimonial-top-content'] ); $this->add_render_attribute( 'buttom_content', 'class', ['iktheme-testimonial-buttom-content'] ); $this->add_render_attribute( 'image_wrap', 'class', ['iktheme-testimonial-img'] ); $this->add_render_attribute( 'title', 'class', ['iktheme-testimonial-title'] ); $this->add_render_attribute( 'designation', 'class', ['iktheme-testimonial-designation'] ); $this->add_render_attribute( 'description', 'class', ['iktheme-testimonial-description'] ); $this->add_render_attribute( 'rating', 'class', ['iktheme-testimonial-rating'] ); ?> < print_render_attribute_string( 'wrapper' ); ?>>