Created
December 4, 2020 23:23
-
-
Save montrealist/b0337b364c6b16c89de2b1b330890d6b to your computer and use it in GitHub Desktop.
Ticket 7570909
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace AvanteElementor\Widgets; | |
use Elementor\Widget_Base; | |
use Elementor\Controls_Manager; | |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
/** | |
* Elementor Portfolio Classic | |
* | |
* Elementor widget for portfolio posts | |
* | |
* @since 1.0.0 | |
*/ | |
class Avante_Portfolio_Grid_overlay extends Widget_Base { | |
/** | |
* Retrieve the widget name. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget name. | |
*/ | |
public function get_name() { | |
return 'avante-portfolio-grid-overlay'; | |
} | |
/** | |
* Retrieve the widget title. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget title. | |
*/ | |
public function get_title() { | |
return __( 'Portfolio Grid Overlay', 'avante-elementor' ); | |
} | |
/** | |
* Retrieve the widget icon. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget icon. | |
*/ | |
public function get_icon() { | |
return 'eicon-posts-grid'; | |
} | |
/** | |
* Retrieve the list of categories the widget belongs to. | |
* | |
* Used to determine where to display the widget in the editor. | |
* | |
* Note that currently Elementor supports only one category. | |
* When multiple categories passed, Elementor uses the first one. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return array Widget categories. | |
*/ | |
public function get_categories() { | |
return [ 'avante-theme-widgets-category' ]; | |
} | |
/** | |
* Retrieve the list of scripts the widget depended on. | |
* | |
* Used to set scripts dependencies required to run the widget. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return array Widget scripts dependencies. | |
*/ | |
public function get_script_depends() { | |
return [ 'imagesloaded', 'avante-elementor' ]; | |
} | |
/** | |
* Register the widget controls. | |
* | |
* Adds different input fields to allow the user to change and customize the widget settings. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function _register_controls() { | |
$this->start_controls_section( | |
'section_content', | |
[ | |
'label' => __( 'Content', 'avante-elementor' ), | |
] | |
); | |
$this->add_control( | |
'slides', | |
[ | |
'label' => __( 'Slides', 'avante-elementor' ), | |
'type' => Controls_Manager::REPEATER, | |
'fields' => [ | |
[ | |
'name' => 'slide_image', | |
'label' => __( 'Image', 'avante-elementor' ), | |
'type' => Controls_Manager::MEDIA, | |
'label_block' => true, | |
], | |
[ | |
'name' => 'slide_title', | |
'label' => __( 'Title', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXT, | |
'default' => __( 'Title' , 'avante-elementor' ), | |
], | |
[ | |
'name' => 'slide_subtitle', | |
'label' => __( 'Sub Title', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXT, | |
], | |
[ | |
'name' => 'slide_link', | |
'label' => __( 'Link URL', 'avante-elementor' ), | |
'type' => Controls_Manager::URL, | |
'default' => [ | |
'url' => '', | |
'is_external' => '', | |
], | |
'show_external' => true, | |
], | |
[ | |
'name' => 'slide_tag', | |
'label' => __( 'Tag', 'avante-elementor' ), | |
'description' => __( 'Enter tag for this item for filterable option (optional)', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXT, | |
'default' => '', | |
], | |
], | |
'title_field' => '{{{ slide_title }}}', | |
] | |
); | |
$this->add_control( | |
'columns', | |
[ | |
'label' => __( 'Columns', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'default' => [ | |
'size' => 3, | |
], | |
'range' => [ | |
'px' => [ | |
'min' => 1, | |
'max' => 5, | |
'step' => 1, | |
] | |
], | |
] | |
); | |
$this->add_control( | |
'spacing', | |
[ | |
'label' => __( 'Column Spacing', 'avante-elementor' ), | |
'type' => Controls_Manager::SWITCHER, | |
'default' => 'yes', | |
'label_on' => __( 'Yes', 'avante-elementor' ), | |
'label_off' => __( 'No', 'avante-elementor' ), | |
'return_value' => 'yes', | |
] | |
); | |
$this->add_control( | |
'image_dimension', | |
[ | |
'label' => esc_html__( 'Image Dimension', 'avante-elementor' ), | |
'type' => Controls_Manager::SELECT, | |
'default' => 'avante-gallery-list', | |
'options' => [ | |
'avante-gallery-grid' => __( 'Landscape', 'avante-elementor' ), | |
'avante-gallery-list' => __( 'Square', 'avante-elementor' ), | |
'avante-album-grid' => __( 'Portrait', 'avante-elementor' ), | |
] | |
] | |
); | |
$this->add_control( | |
'filterable', | |
[ | |
'label' => __( 'Filterable', 'avante-elementor' ), | |
'type' => Controls_Manager::SWITCHER, | |
'default' => 'no', | |
'label_on' => __( 'Yes', 'avante-elementor' ), | |
'label_off' => __( 'No', 'avante-elementor' ), | |
'return_value' => 'yes', | |
] | |
); | |
$this->add_control( | |
'border_radius', | |
[ | |
'label' => __( 'Border Radius', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'size_units' => [ 'px' ], | |
'range' => [ | |
'px' => [ | |
'min' => 0, | |
'max' => 25, | |
'step' => 1, | |
], | |
], | |
'default' => [ | |
'unit' => 'px', | |
'size' => 5, | |
], | |
'selectors' => [ | |
'{{WRAPPER}} .portfolio-grid-content-wrapper .portfolio-grid-wrapper' => 'border-radius: {{SIZE}}{{UNIT}};', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Background::get_type(), | |
[ | |
'name' => 'overlay_background', | |
'label' => esc_html__( 'Overlay Background', 'avante-elementor' ), | |
'types' => [ 'classic', 'gradient' ], | |
'selector' => '{{WRAPPER}} .portfolio-grid-wrapper-overlay .portfolio-grid-img:after', | |
] | |
); | |
$this->add_control( | |
'disable_animation', | |
[ | |
'label' => esc_html__( 'Disable entrance animation for', 'avante-elementor' ), | |
'type' => Controls_Manager::SELECT, | |
'default' => 'tablet', | |
'options' => [ | |
'none' => __( 'None', 'avante-elementor' ), | |
'tablet' => __( 'Mobile and Tablet', 'avante-elementor' ), | |
'mobile' => __( 'Mobile', 'avante-elementor' ), | |
'all' => __( 'Disable All', 'avante-elementor' ), | |
] | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_title_style', | |
array( | |
'label' => esc_html__( 'Title', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'title_color', | |
[ | |
'label' => __( 'Title Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .portfolio-grid-wrapper-overlay figcaption .portfolio-grid-content .portfolio-grid-content-inner h3' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'title_typography', | |
'label' => __( 'Title Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} .portfolio-grid-wrapper-overlay figcaption .portfolio-grid-content .portfolio-grid-content-inner h3', | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_subtitle_style', | |
array( | |
'label' => esc_html__( 'Sub Title', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'subtitle_color', | |
[ | |
'label' => __( 'Sub Title Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ebebeb', | |
'selectors' => [ | |
'{{WRAPPER}} .portfolio-grid-wrapper-overlay figcaption .portfolio-grid-content .portfolio-grid-content-inner .portfolio-grid-subtitle' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'subtitle_typography', | |
'label' => __( 'Sub Title Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} .portfolio-grid-wrapper-overlay figcaption .portfolio-grid-content .portfolio-grid-content-inner .portfolio-grid-subtitle', | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_filterable_style', | |
array( | |
'label' => esc_html__( 'Filterable', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'filterable_text_align', | |
[ | |
'label' => __( 'Alignment', 'avante-elementor' ), | |
'type' => \Elementor\Controls_Manager::CHOOSE, | |
'options' => [ | |
'left' => [ | |
'title' => __( 'Left', 'avante-elementor' ), | |
'icon' => 'fa fa-align-left', | |
], | |
'center' => [ | |
'title' => __( 'Center', 'avante-elementor' ), | |
'icon' => 'fa fa-align-center', | |
], | |
'right' => [ | |
'title' => __( 'Right', 'avante-elementor' ), | |
'icon' => 'fa fa-align-right', | |
], | |
], | |
'default' => 'left', | |
'toggle' => true, | |
'selectors' => [ | |
'{{WRAPPER}} .avante-portfolio-filter-wrapper' => 'text-align: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'filterable_color', | |
[ | |
'label' => __( 'Filterable Title Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#666666', | |
'selectors' => [ | |
'{{WRAPPER}} .avante-portfolio-filter-wrapper a.filter-tag-btn' => 'color: {{VALUE}}', | |
'{{WRAPPER}} div.elementor-widget-container .avante-portfolio-filter-wrapper a.filter-tag-btn' => 'border-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'filterable_hover_color', | |
[ | |
'label' => __( 'Filterable Title Hover Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#000000', | |
'selectors' => [ | |
'{{WRAPPER}} .avante-portfolio-filter-wrapper a.filter-tag-btn:hover' => 'color: {{VALUE}}', | |
'{{WRAPPER}} div.avante-portfolio-filter-wrapper a.filter-tag-btn:hover' => 'border-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'filterable_active_color', | |
[ | |
'label' => __( 'Filterable Title Active Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#000000', | |
'selectors' => [ | |
'{{WRAPPER}} div.avante-portfolio-filter-wrapper a.filter-tag-btn.active' => 'border-color: {{VALUE}}', | |
'{{WRAPPER}} .avante-portfolio-filter-wrapper .filter-tag-btn.active' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'filterable_typography', | |
'label' => __( 'Filterable Title Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} div.avante-portfolio-filter-wrapper a.filter-tag-btn', | |
] | |
); | |
$this->end_controls_section(); | |
} | |
/** | |
* Render the widget output on the frontend. | |
* | |
* Written in PHP and used to generate the final HTML. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function render() { | |
include(AVANTE_ELEMENTOR_PATH.'templates/portfolio-grid-overlay/index.php'); | |
} | |
/** | |
* Render the widget output in the editor. | |
* | |
* Written as a Backbone JavaScript template and used to generate the live preview. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function _content_template() { | |
return ''; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace AvanteElementor\Widgets; | |
use Elementor\Widget_Base; | |
use Elementor\Controls_Manager; | |
use Elementor\Scheme_Color; | |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
/** | |
* Elementor Blog Posts | |
* | |
* Elementor widget | |
* | |
* @since 1.0.0 | |
*/ | |
class Avante_Slider_Parallax extends Widget_Base { | |
/** | |
* Retrieve the widget name. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget name. | |
*/ | |
public function get_name() { | |
return 'avante-slider-parallax'; | |
} | |
/** | |
* Retrieve the widget title. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget title. | |
*/ | |
public function get_title() { | |
return __( 'Parallax Slider', 'avante-elementor' ); | |
} | |
/** | |
* Retrieve the widget icon. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return string Widget icon. | |
*/ | |
public function get_icon() { | |
return 'eicon-post-slider'; | |
} | |
/** | |
* Retrieve the list of categories the widget belongs to. | |
* | |
* Used to determine where to display the widget in the editor. | |
* | |
* Note that currently Elementor supports only one category. | |
* When multiple categories passed, Elementor uses the first one. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return array Widget categories. | |
*/ | |
public function get_categories() { | |
return [ 'avante-theme-widgets-category' ]; | |
} | |
/** | |
* Retrieve the list of scripts the widget depended on. | |
* | |
* Used to set scripts dependencies required to run the widget. | |
* | |
* @since 1.0.0 | |
* | |
* @access public | |
* | |
* @return array Widget scripts dependencies. | |
*/ | |
public function get_script_depends() { | |
return [ 'tweenmax', 'avante-elementor' ]; | |
} | |
/** | |
* Register the widget controls. | |
* | |
* Adds different input fields to allow the user to change and customize the widget settings. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function _register_controls() { | |
$this->start_controls_section( | |
'section_content', | |
[ | |
'label' => __( 'Content', 'avante-elementor' ), | |
] | |
); | |
$this->add_control( | |
'slides', | |
[ | |
'label' => __( 'Slides', 'avante-elementor' ), | |
'type' => Controls_Manager::REPEATER, | |
'fields' => [ | |
[ | |
'name' => 'slide_image', | |
'label' => __( 'Image', 'avante-elementor' ), | |
'type' => Controls_Manager::MEDIA, | |
'label_block' => true, | |
], | |
[ | |
'name' => 'slide_title', | |
'label' => __( 'Title', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXT, | |
'default' => __( 'Title' , 'avante-elementor' ), | |
], | |
[ | |
'name' => 'slide_description', | |
'label' => __( 'Description', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXTAREA, | |
'default' => __( 'Description' , 'avante-elementor' ), | |
], | |
[ | |
'name' => 'slide_link_title', | |
'label' => __( 'Link Title', 'avante-elementor' ), | |
'type' => Controls_Manager::TEXT, | |
'default' => __( 'View Detail' , 'avante-elementor' ), | |
], | |
[ | |
'name' => 'slide_link', | |
'label' => __( 'Link URL', 'avante-elementor' ), | |
'type' => Controls_Manager::URL, | |
'default' => [ | |
'url' => '', | |
'is_external' => '', | |
], | |
'show_external' => true, | |
], | |
], | |
'title_field' => '{{{ slide_title }}}', | |
] | |
); | |
$this->add_responsive_control( | |
'height', | |
[ | |
'label' => __( 'Height', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'default' => [ | |
'size' => 900, | |
'unit' => 'px', | |
], | |
'range' => [ | |
'px' => [ | |
'min' => 5, | |
'max' => 2000, | |
'step' => 5, | |
] | |
], | |
'size_units' => [ 'px' ], | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper' => 'height: {{SIZE}}{{UNIT}}', | |
], | |
] | |
); | |
$this->add_control( | |
'autoplay', | |
[ | |
'label' => __( 'Auto Play', 'avante-elementor' ), | |
'type' => Controls_Manager::SWITCHER, | |
'default' => 'no', | |
'label_on' => __( 'Yes', 'avante-elementor' ), | |
'label_off' => __( 'No', 'avante-elementor' ), | |
'return_value' => 'yes', | |
] | |
); | |
$this->add_control( | |
'timer', | |
[ | |
'label' => __( 'Timer (in seconds)', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'default' => [ | |
'size' => 8, | |
], | |
'range' => [ | |
'px' => [ | |
'min' => 1, | |
'max' => 60, | |
'step' => 1, | |
] | |
], | |
'size_units' => [ 'px' ] | |
] | |
); | |
$this->add_control( | |
'navigation', | |
[ | |
'label' => __( 'Show Navigation', 'avante-elementor' ), | |
'type' => Controls_Manager::SWITCHER, | |
'default' => 'yes', | |
'label_on' => __( 'Yes', 'avante-elementor' ), | |
'label_off' => __( 'No', 'avante-elementor' ), | |
'return_value' => 'yes', | |
] | |
); | |
$this->add_control( | |
'pagination', | |
[ | |
'label' => __( 'Show Pagination', 'avante-elementor' ), | |
'type' => Controls_Manager::SWITCHER, | |
'default' => 'yes', | |
'label_on' => __( 'Yes', 'avante-elementor' ), | |
'label_off' => __( 'No', 'avante-elementor' ), | |
'return_value' => 'yes', | |
] | |
); | |
$this->add_control( | |
'background_overlay', | |
[ | |
'label' => __( 'Background Overlay', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => 'rgba(0,0,0,0.3)', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .image-container::before' => 'background: {{VALUE}}', | |
], | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_title_style', | |
array( | |
'label' => esc_html__( 'Title', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'title_text_align', | |
[ | |
'label' => __( 'Alignment', 'avante-elementor' ), | |
'type' => \Elementor\Controls_Manager::CHOOSE, | |
'options' => [ | |
'left' => [ | |
'title' => __( 'Left', 'avante-elementor' ), | |
'icon' => 'fa fa-align-left', | |
], | |
'center' => [ | |
'title' => __( 'Center', 'avante-elementor' ), | |
'icon' => 'fa fa-align-center', | |
], | |
'right' => [ | |
'title' => __( 'Right', 'avante-elementor' ), | |
'icon' => 'fa fa-align-right', | |
], | |
], | |
'default' => 'center', | |
'toggle' => true, | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide-content' => 'text-align: {{VALUE}}', | |
'{{WRAPPER}} .slider-parallax-wrapper div.slide-content' => 'justify-content: {{VALUE}}', | |
'{{WRAPPER}} .slider-parallax-wrapper .slide-content .standard-wrapper' => 'justify-content: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'title_color', | |
[ | |
'label' => __( 'Title Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .title h2' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'title_typography', | |
'label' => __( 'Title Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} .slider-parallax-wrapper .slider_parallax_slides .slide .title h2', | |
] | |
); | |
$this->add_responsive_control( | |
'title_width', | |
[ | |
'label' => __( 'Title Width (in %)', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'default' => [ | |
'size' => 50, | |
], | |
'range' => [ | |
'px' => [ | |
'min' => 30, | |
'max' => 100, | |
'step' => 5, | |
] | |
], | |
'size_units' => [ 'px' ], | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .caption' => 'width: {{SIZE}}%;', | |
], | |
] | |
); | |
$this->add_responsive_control( | |
'title_margin_top', | |
[ | |
'label' => __( 'Title Margin Top (in px)', 'avante-elementor' ), | |
'type' => Controls_Manager::SLIDER, | |
'default' => [ | |
'size' => 0, | |
], | |
'range' => [ | |
'px' => [ | |
'min' => 30, | |
'max' => 500, | |
'step' => 5, | |
] | |
], | |
'size_units' => [ 'px' ], | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide-content' => 'margin-top: {{SIZE}}{{UNIT}};', | |
], | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_content_style', | |
array( | |
'label' => esc_html__( 'Content', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'description_color', | |
[ | |
'label' => __( 'Description Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .text' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'description_typography', | |
'label' => __( 'Description Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} .slider-parallax-wrapper .slide .caption .text', | |
] | |
); | |
$this->end_controls_section(); | |
$this->start_controls_section( | |
'section_button_style', | |
array( | |
'label' => esc_html__( 'Button', 'avante-elementor' ), | |
'tab' => Controls_Manager::TAB_STYLE, | |
'show_label' => false, | |
) | |
); | |
$this->add_control( | |
'button_bg_color', | |
[ | |
'label' => __( 'Button Background Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#222222', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide a.button' => 'background-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'button_border_color', | |
[ | |
'label' => __( 'Button Border Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#222222', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .button' => 'border-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'button_font_color', | |
[ | |
'label' => __( 'Button Font Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper div.slide a.button' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'button_hover_bg_color', | |
[ | |
'label' => __( 'Button Hover Background Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#555555', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide a.button:hover' => 'background-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'button_hover_border_color', | |
[ | |
'label' => __( 'Button Hover Border Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .slide .button:hover' => 'border-color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_control( | |
'button_hover_font_color', | |
[ | |
'label' => __( 'Button Hover Font Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper div.slide a.button:hover' => 'color: {{VALUE}}', | |
], | |
] | |
); | |
$this->add_group_control( | |
\Elementor\Group_Control_Typography::get_type(), | |
[ | |
'name' => 'button_typography', | |
'label' => __( 'Button Typography', 'avante-elementor' ), | |
'selector' => '{{WRAPPER}} div.slider-parallax-wrapper div.slide a.button', | |
] | |
); | |
$this->add_control( | |
'pagination_color', | |
[ | |
'label' => __( 'Pagination Background Color', 'avante-elementor' ), | |
'type' => Controls_Manager::COLOR, | |
'default' => '#ffffff', | |
'selectors' => [ | |
'{{WRAPPER}} .slider-parallax-wrapper .pagination .item::before' => 'background: {{VALUE}}', | |
], | |
] | |
); | |
$this->end_controls_section(); | |
} | |
/** | |
* Render the widget output on the frontend. | |
* | |
* Written in PHP and used to generate the final HTML. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function render() { | |
include(AVANTE_ELEMENTOR_PATH.'templates/slider-parallax/index.php'); | |
} | |
/** | |
* Render the widget output in the editor. | |
* | |
* Written as a Backbone JavaScript template and used to generate the live preview. | |
* | |
* @since 1.0.0 | |
* | |
* @access protected | |
*/ | |
protected function _content_template() { | |
return ''; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment