start_controls_section('section_tab_style', [ 'label' => esc_html__('Cafesio Slider', 'cafesio'), ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'cafesio_slider_sub_title', [ 'label' => esc_html__('Slider Sub Title','cafesio'), 'type' => Controls_Manager::TEXT, 'default' => esc_html__('Eat Different', 'cafesio'), 'label_block' => true, ] ); $repeater->add_control( 'slider_main_title', [ 'label' => esc_html__('Slider Main Title','cafesio'), 'type' => Controls_Manager::TEXT, 'default' => esc_html__('Speak with the taste', 'cafesio'), 'label_block' => true, ] ); $repeater->add_control( 'slider_desc', [ 'label' => esc_html__('Slider Description','cafesio'), 'type' => Controls_Manager::TEXTAREA, 'default' => esc_html__('Speak with the taste', 'cafesio'), 'label_block' => true, ] ); $repeater->add_control( 'slider_bg_image', [ 'label' => esc_html__('Background Image', 'cafesio'), 'type' => Controls_Manager::MEDIA, 'label_block' => true, 'separator' => 'after', 'default' => [ 'url' => \Elementor\Utils::get_placeholder_image_src(), ], ] ); $repeater->add_control( 'cafesio_button_text', [ 'label' => esc_html__('Button Text', 'cafesio'), 'type' => Controls_Manager::TEXT, 'default' => esc_html__('Button ', 'cafesio'), 'label_block' => true, ] ); $repeater->add_control( 'cafesio_button_url', [ 'label' => esc_html__( 'Button', 'cafesio' ), 'type' => \Elementor\Controls_Manager::URL, 'label_block' => true, 'separator' => 'after', 'separator' => 'before', ] ); $repeater->add_control( 'content_align_text', [ 'label' => esc_html__( 'Content Alignment', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'justify-content-start text-left', 'options' => [ 'justify-content-start text-left' => esc_html__( 'Left', 'cafesio' ), 'justify-content-center text-center' => esc_html__( 'Center', 'cafesio' ), 'justify-content-end text-right' => esc_html__( 'Right', 'cafesio' ), ], ] ); $this->add_control( 'cafesio_slider_items', [ 'label' => __( 'Repeater List', 'cafesio' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'slider_main_title' => esc_html__( 'Welcome to Delisa Restaurant', 'cafesio' ), 'cafesio_slider_sub_title' => esc_html__( 'Super Delicious Food', 'cafesio' ), 'slider_desc' => esc_html__( 'We Believe in Testy & Quality Food. We are the modern Restaurant in the City ', 'cafesio' ), ], [ 'slider_main_title' => esc_html__( 'Welcome to Delisa Restaurant', 'cafesio' ), 'cafesio_slider_sub_title' => esc_html__( 'Super Delicious Food', 'cafesio' ), 'slider_desc' => esc_html__( 'We Believe in Testy & Quality Food. We are the modern Restaurant in the City ', 'cafesio' ), ], ], 'title_field' => '{{{ slider_main_title }}}', ] ); $this->add_responsive_control( 'thumbnail_height', [ 'label' =>esc_html__( 'Slider Height', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, ], ], 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'tablet_default' => [ 'size' => 400, 'unit' => 'px', ], 'mobile_default' => [ 'size' => 400, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .slider-item' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'heading_type', [ 'label' => __( 'Heading Type', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'h1', 'options' => [ 'h1' => __( 'H1', 'cafesio' ), 'h2' => __( 'H2', 'cafesio' ), 'h3' => __( 'H3', 'cafesio' ), 'h4' => __( 'H4', 'cafesio' ), 'h5' => __( 'H5', 'cafesio' ), 'h6' => __( 'H6', 'cafesio' ), 'p' => __( 'P', 'cafesio' ), ], ] ); $this->add_control( 'title_position', [ 'label' => esc_html__( 'Title position', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'before', 'options' => [ 'after' => esc_html__( 'After', 'cafesio' ), 'before' => esc_html__( 'Before', 'cafesio' ), ], ] ); $this->end_controls_section(); //style $this->start_controls_section('style_section', [ 'label' => esc_html__( 'Style Section', 'cafesio' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'cafesio_slider_autoplay', [ 'label' => esc_html__( 'Autoplay', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'cafesio' ), 'label_off' => esc_html__( 'No', 'cafesio' ), 'return_value' => 'yes', 'default' => 'no' ] ); $this->add_control( 'cafesio_slider_nav_show', [ 'label' => esc_html__( 'Nav show', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'cafesio' ), 'label_off' => esc_html__( 'No', 'cafesio' ), 'return_value' => 'yes', 'default' => 'no' ] ); $this->add_control( 'cafesio_slider_dot_nav_show', [ 'label' => esc_html__( 'Dot nav', 'cafesio' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'cafesio' ), 'label_off' => esc_html__( 'No', 'cafesio' ), 'return_value' => 'yes', 'default' => 'yes' ] ); $this->end_controls_section(); $this->start_controls_section('title_style_section', [ 'label' => esc_html__( 'Title ', 'cafesio' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control('slider_title_color', [ 'label' => esc_html__('Title color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-title' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'label' => esc_html__( 'Title Typography', 'cafesio' ), 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .slider-title', ] ); $this->add_responsive_control( 'title_margin', [ 'label' => esc_html__( 'TItle Margin', 'cafesio' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .slider-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_sub_typography', 'label' => __( 'Sub Title Typography', 'cafesio' ), 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .sub-title', ] ); $this->add_control('slider_sub_title_color', [ 'label' => esc_html__('Sub Title color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .sub-title' => 'color: {{VALUE}};', ], ] ); $this->end_controls_section(); $this->start_controls_section('content_style_section', [ 'label' => esc_html__( 'Content ', 'cafesio' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control('slider_desc_color', [ 'label' => esc_html__('Slider Description color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .slider-desc p' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'desc_typography', 'label' => esc_html__( 'Desc Typography', 'cafesio' ), 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .slider-desc p', ] ); $this->add_responsive_control( 'slider_description', [ 'label' => esc_html__( 'Description Margin', 'cafesio' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .slider-desc' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section('button_style_section', [ 'label' => esc_html__( 'Button ', 'cafesio' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs('btn_tab_style'); $this->start_controls_tab( 'btn_tab_style_normal', [ 'label' => esc_html__('Normal', 'cafesio'), ] ); $this->add_control('slider_button_text_color', [ 'label' => esc_html__('Button color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn' => 'color: {{VALUE}};', ], ] ); $this->add_control('slider_button_text_bgcolor', [ 'label' => esc_html__('Button BG color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn' => 'background: {{VALUE}};', ], ] ); $this->add_control('slider_button_shadow_color', [ 'label' => esc_html__('Shadow color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn' => 'box-shadow: 5px 5px 0px 0px {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'btn_tab_style_hover', [ 'label' => esc_html__('Hover', 'cafesio'), ] ); $this->add_control('slider_button_hover_text_bgcolor', [ 'label' => esc_html__('Button BG Hover color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn:hover' => 'background: {{VALUE}};', ], ] ); $this->add_control('slider_button_hover_shadow_color', [ 'label' => esc_html__('Hover Shadow color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn:hover' => 'box-shadow: 5px 5px 0px 0px {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_control('slider_button_hover_border_color', [ 'label' => esc_html__('Hover border color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn:hover' => 'border-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'btn_border', 'label' => __( 'Border', 'cafesio' ), 'selector' => '{{WRAPPER}} .slider-btn-area .btn', ] ); $this->add_responsive_control( 'btn_margin', [ 'label' => esc_html__( 'Button Margin', 'cafesio' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .slider-btn-area' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'btn_padding', [ 'label' => esc_html__( 'Button Padding', 'cafesio' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .slider-btn-area .btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section('additional_style_section', [ 'label' => esc_html__( 'Additional ', 'cafesio' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'slider_padding', [ 'label' => esc_html__( 'Padding', 'cafesio' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .slider-item .slider-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control('bg_overlay_color', [ 'label' => esc_html__('BG overlay color', 'cafesio'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .slider-item:before' => 'background: {{VALUE}};', ], ] ); $this->end_controls_section(); } protected function render( ) { $settings = $this->get_settings(); $cafesio_slider = $settings['cafesio_slider_items']; $show_navigation = $settings["cafesio_slider_nav_show"]=="yes"?true:false; $auto_nav_slide = $settings['cafesio_slider_autoplay']; $title_position = $settings['title_position']; $dot_nav_show = $settings['cafesio_slider_dot_nav_show']; $slide_controls = [ 'show_nav'=>$show_navigation, 'dot_nav_show'=>$dot_nav_show, 'auto_nav_slide'=>$auto_nav_slide, ]; $slide_controls = \json_encode($slide_controls); ?>