Current Path : /storage/v11800/sahityaonline/public_html/wp-content/plugins/elementskit-lite/widgets/funfact/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/sahityaonline/public_html/wp-content/plugins/elementskit-lite/widgets/funfact/funfact.php |
<?php
namespace Elementor;
use \Elementor\ElementsKit_Widget_Funfact_Handler as Handler;
use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;
defined('ABSPATH') || exit;
class ElementsKit_Widget_Funfact extends Widget_Base {
use \ElementsKit_Lite\Widgets\Widget_Notice;
public $base;
public function get_style_depends() {
return [ 'odometer' ];
}
public function get_script_depends() {
return [ 'elementor-waypoints','odometer'];
}
public function get_name() {
return Handler::get_name();
}
public function get_title() {
return Handler::get_title();
}
public function get_icon() {
return Handler::get_icon();
}
public function get_categories() {
return Handler::get_categories();
}
public function get_keywords() {
return Handler::get_keywords();
}
public function get_help_url() {
return 'https://wpmet.com/doc/funfact/';
}
protected function register_controls() {
$this->start_controls_section(
'ekit_funfact_section_icon',
[
'label' => esc_html__('Icon', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'ekit_funfact_icon_type',
[
'label' => esc_html__('Icon type ', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'icon' => [
'title' => esc_html__('Icon', 'elementskit-lite'),
'icon' => 'fa fa-star',
],
'image_icon' => [
'title' => esc_html__('Image', 'elementskit-lite'),
'icon' => 'fa fa-image',
],
'none' => [
'title' => esc_html__('None', 'elementskit-lite'),
'icon' => 'fa fa-stop-circle',
],
],
'default' => 'icon',
'toggle' => true,
]
);
$this->add_control(
'ekit_funfact_icons__switch',
[
'label' => esc_html__('Add icon? ', 'elementskit-lite'),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
'label_on' => esc_html__('Yes', 'elementskit-lite'),
'label_off' => esc_html__('No', 'elementskit-lite'),
'condition' => [
'ekit_funfact_icon_type' => 'icon',
],
]
);
$this->add_control(
'ekit_funfact_icons',
[
'label' => esc_html__('Icon', 'elementskit-lite'),
'type' => Controls_Manager::ICONS,
'fa4compatibility' => 'ekit_funfact_icon',
'default' => [
'value' => 'fab fa-amazon',
'library' => 'fa-brands',
],
'condition' => [
'ekit_funfact_icon_type' => 'icon',
'ekit_funfact_icons__switch' => 'yes',
],
]
);
$this->add_control(
'ekit_funfact_view',
[
'label' => esc_html__('View', 'elementskit-lite'),
'type' => Controls_Manager::SELECT,
'options' => [
'default' => esc_html__('Default', 'elementskit-lite'),
'fill-icon' => esc_html__('Stacked', 'elementskit-lite'),
'framed' => esc_html__('Framed', 'elementskit-lite'),
],
'default' => 'default',
'condition' => [
'icon!' => '',
'ekit_funfact_icon_type' => 'icon',
],
]
);
$this->add_control(
'ekit_funfact_icon_image',
[
'label' => esc_html__('Choose Image', 'elementskit-lite'),
'type' => Controls_Manager::MEDIA,
'dynamic' => [
'active' => true,
],
'default' => [
'url' => Utils::get_placeholder_image_src(),
'id' => -1
],
'condition' => [
'ekit_funfact_icon_type' => 'image_icon',
],
]
);
$this->add_group_control(
Group_Control_Image_Size::get_type(),
[
'name' => 'ekit_funfact_thumbnail',
'default' => 'thumbnail',
'separator' => 'none',
'condition' => [
'ekit_funfact_icon_type' => 'image_icon',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'ekit_funfact_content_section',
[
'label' => esc_html__('Content', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'ekit_funfact_number_prefix',
[
'label' => esc_html__('Number Prefix ', 'elementskit-lite'),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'default' => '',
'placeholder' => esc_html__('$', 'elementskit-lite'),
]
);
$this->add_control(
'ekit_funfact_number',
[
'label' => esc_html__('Number ', 'elementskit-lite'),
'type' => Controls_Manager::NUMBER,
'dynamic' => [
'active' => true,
],
'default' => '254',
'placeholder' => esc_html__('Enter number', 'elementskit-lite'),
]
);
$this->add_control(
'ekit_funfact_number_suffix',
[
'label' => esc_html__('Number Suffix ', 'elementskit-lite'),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'default' => 'M',
'placeholder' => esc_html__('M+', 'elementskit-lite'),
]
);
$this->add_control(
'ekit_funfact_title_text',
[
'label' => esc_html__('Title ', 'elementskit-lite'),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'default' => esc_html__('This is the heading', 'elementskit-lite'),
'placeholder' => esc_html__('Enter your title', 'elementskit-lite'),
'label_block' => true,
]
);
$this->add_control(
'ekit_funfact_super',
[
'label' => esc_html__('Enable Super', 'elementskit-lite'),
'type' => Controls_Manager::SWITCHER,
'default' => 'no',
]
);
$this->add_control(
'ekit_funfact_super_text',
[
'label' => esc_html__('Super', 'elementskit-lite'),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'default' => '+',
'placeholder' => esc_html__('+', 'elementskit-lite'),
'condition' => ['ekit_funfact_super' => 'yes'],
]
);
$this->end_controls_section();
$this->start_controls_section(
'ekit_funfact_settings_items',
[
'label' => esc_html__('Settings', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'ekit_funfact_style',
[
'label' => esc_html__( 'Choose Animation Style', 'elementskit-lite' ),
'type' => Controls_Manager::SELECT,
'default' => 'static',
'options' => [
'static' => esc_html__( 'Static', 'elementskit-lite' ),
'sliding' => esc_html__( 'Sliding', 'elementskit-lite' ),
],
]
);
$this->add_control(
'ekit_funfact_animation_duration',
[
'label' => esc_html__( 'Animation Duration (ms)', 'elementskit-lite' ),
'type' => Controls_Manager::NUMBER,
'min' => 500,
'max' => 5000,
'step' => 100,
'default' => 3500,
]
);
$this->add_control(
'ekit_funfact_icon_position',
[
'label' => esc_html__( 'Icon Position', 'elementskit-lite' ),
'type' => Controls_Manager::SELECT,
'default' => 'position_top',
'options' => [
'position_top' => esc_html__( 'Top', 'elementskit-lite' ),
'position_left' => esc_html__( 'Left', 'elementskit-lite' ),
'position_right' => esc_html__( 'Right', 'elementskit-lite' ),
],
'condition' => [
'ekit_funfact_icon_type' => [ 'icon', 'image_icon' ],
],
]
);
$this->add_control(
'ekit_funfact_title_size',
[
'label' => esc_html__('Title HTML Tag', 'elementskit-lite'),
'type' => Controls_Manager::SELECT,
'options' => [
'h1' => 'H1',
'h2' => 'H2',
'h3' => 'H3',
'h4' => 'H4',
'h5' => 'H5',
'h6' => 'H6',
'div' => 'div',
'span' => 'span',
'p' => 'p',
],
'default' => 'h3',
]
);
$this->add_control(
'ekit_funfact_separetor_one',
[
'type' => Controls_Manager::DIVIDER,
'style' => 'thick',
]
);
$this->add_control(
'ekit_funfact_hover_border_bottom',
[
'label' => esc_html__('Enable Hover Border Bottom', 'elementskit-lite'),
'type' => Controls_Manager::SWITCHER,
'default' => 'no',
]
);
$this->add_control(
'ekit_funfact_hover_border_bottom_color',
[
'label' => esc_html__('Hover Border Bottom Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .elementskit-funfact.style-border-bottom:before' => 'background-color: {{VALUE}}',
],
'condition' => [
'ekit_funfact_hover_border_bottom' => 'yes',
],
]
);
$this->add_control(
'ekit_funfact_hover_border_bottom_direction',
[
'label' => esc_html__('Hover Direction', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'hover_from_left' => [
'title' => esc_html__('From Left', 'elementskit-lite'),
'icon' => 'fa fa-caret-right',
],
'hover_from_right' => [
'title' => esc_html__('From Right', 'elementskit-lite'),
'icon' => 'fa fa-caret-left',
],
],
'default' => 'hover_from_right',
'toggle' => true,
'condition' => [
'ekit_funfact_hover_border_bottom' => 'yes',
],
]
);
$this->add_control(
'ekit_funfact_hover_border_bottom_direction_hr',
[
'type' => Controls_Manager::DIVIDER,
'style' => 'thick',
'condition' => [
'ekit_funfact_hover_border_bottom' => 'yes',
],
]
);
$this->add_control(
'ekit_funfact_enable_vertical_border',
[
'label' => esc_html__('Enable Vertical Border', 'elementskit-lite'),
'type' => Controls_Manager::SWITCHER,
'default' => 'no',
]
);
$this->add_control(
'ekit_funfact_enable_vertical_border_position',
[
'label' => esc_html__('Border Direction', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'border_left_side' => [
'title' => esc_html__('From Left', 'elementskit-lite'),
'icon' => 'fa fa-caret-right',
],
'border_right_side' => [
'title' => esc_html__('From Right', 'elementskit-lite'),
'icon' => 'fa fa-caret-left',
],
],
'default' => 'border_right_side',
'toggle' => true,
'condition' => [
'ekit_funfact_enable_vertical_border' => 'yes',
],
]
);
$this->end_controls_section();
// start Image style section for image
$this->start_controls_section(
'ekit_funfact_style_section_image',
[
'label' => esc_html__('Icon', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_STYLE,
'conditions' => [
'terms' => [
[
'relation' => 'OR',
'name' => 'ekit_funfact_icons__switch',
'operator' => 'in',
'value' => [
'yes',
],
'terms' => [
[
'name' => 'ekit_funfact_icon_type',
'operator' => 'in',
'value' => [
'image_icon',
],
],
],
],
],
],
]
);
$this->add_responsive_control(
'ekit_funfact_icon_image_space',
[
'label' => esc_html__('Margin Bottom', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'default' => [
'size' => 10,
'unit' => 'px',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-icon img' => 'margin-bottom: {{SIZE}}{{UNIT}};',
],
]
);
$this->start_controls_tabs(
'ekit_funfact_style_tabs_image'
);
$this->start_controls_tab(
'ekit_funfact_style_img_normal_tab',
[
'label' => esc_html__('Normal', 'elementskit-lite'),
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'ekit_funfact_imge_border_group',
'label' => esc_html__('Border', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-icon img',
]
);
$this->add_responsive_control(
'ekit_funfact_icon_image_border_radius',
[
'label' => esc_html__('Border Radius', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-icon img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'ekit_funfact_iamge_box_shadow_group',
'label' => esc_html__('Box Shadow', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-icon img',
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'ekit_funfact_style_img_hover_tab',
[
'label' => esc_html__('Hover', 'elementskit-lite'),
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'ekit_funfact_imge_border_hover_group',
'label' => esc_html__('Border', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-icon img:hover',
]
);
$this->add_responsive_control(
'ekit_funfact_icon_image_hover_border_radius',
[
'label' => esc_html__('Border Radius', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-icon img:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'ekit_funfact_image_box_shadow_hv_group',
'label' => esc_html__('Box Shadow', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-icon img:hover',
]
);
$this->add_responsive_control(
'ekit_funfact_icon_image_hover_animation',
[
'label' => esc_html__('Animation', 'elementskit-lite'),
'type' => Controls_Manager::HOVER_ANIMATION,
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-icon img:hover',
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->end_controls_section();
// image style section
//Icon Style Start
$this->start_controls_section(
'ekit_funfact_section_style_icon',
[
'label' => esc_html__('Icons', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'ekit_funfact_icons__switch' => 'yes',
'ekit_funfact_icon_type' => 'icon',
],
]
);
$this->start_controls_tabs('icon_colors');
$this->start_controls_tab(
'ekit_funfact_icon_colors_normal',
[
'label' => esc_html__('Normal', 'elementskit-lite'),
]
);
$this->add_responsive_control(
'ekit_funfact_icon_primary_color',
[
'label' => esc_html__('Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .elementskit-funfact-icon' => 'color: {{VALUE}};',
'{{WRAPPER}} .elementskit-funfact .funfact-icon svg path' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_icon_secondary_color_normal',
[
'label' => esc_html__('BG Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'background-color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'ekit_funfact_border_group',
'label' => esc_html__('Border', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg',
]
);
$this->add_responsive_control(
'ekit_funfact_icon_border_radius',
[
'label' => esc_html__('Border Radius', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'ekit_funfact_icon_colors_hover',
[
'label' => esc_html__('Hover', 'elementskit-lite'),
]
);
$this->add_responsive_control(
'ekit_funfact_hover_primary_color',
[
'label' => esc_html__('Primary Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact:hover .elementskit-funfact-icon' => 'color: {{VALUE}};',
'{{WRAPPER}} .elementskit-funfact:hover svg path' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_hover_secondary_color',
[
'label' => esc_html__('Secondary Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact:hover .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact:hover svg' => 'background-color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'ekit_funfact_border_icon_group',
'label' => esc_html__('Border', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact:hover .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact:hover svg',
'condition' => [
'ekit_funfact_view!' => 'Stacked',
],
]
);
$this->add_responsive_control(
'ekit_funfact_icon_hover_border_radius',
[
'label' => esc_html__('Border Radius', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact:hover .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_responsive_control(
'ekit_funfact_icon_size',
[
'label' => esc_html__('Size', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 6,
'max' => 300,
],
],
'default' => [
'size' => 40,
'unit' => 'px',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact-icon' => 'font-size: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .elementskit-funfact svg' => 'max-width: {{SIZE}}{{UNIT}};',
],
'separator' => 'before',
]
);
$this->add_responsive_control(
'ekit_funfact_icon_space',
[
'label' => esc_html__('Margin Bottom', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => -20,
'max' => 100,
],
],
'default' => [
'size' => 15,
'unit' => 'px',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'margin-bottom: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_icon_padding',
[
'label' => esc_html__('Padding', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'default' => [
'size' => 15,
'unit' => 'px',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'padding: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_rotate',
[
'label' => esc_html__('Rotate', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 0,
'unit' => 'deg',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg' => 'transform: rotate({{SIZE}}{{UNIT}});',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'ekit_funfact_icon_box_shadow_group',
'selector' => '{{WRAPPER}} .elementskit-funfact-icon, {{WRAPPER}} .elementskit-funfact svg',
]
);
$this->end_controls_section();
// end icon style section
//Content style start
$this->start_controls_section(
'ekit_funfact_section_style_content',
[
'label' => esc_html__('Content', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_responsive_control(
'ekit_funfact_text_align',
[
'label' => esc_html__('Alignment', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'left' => [
'title' => esc_html__('Left', 'elementskit-lite'),
'icon' => 'eicon-text-align-left',
],
'center' => [
'title' => esc_html__('Center', 'elementskit-lite'),
'icon' => 'eicon-text-align-center',
],
'right' => [
'title' => esc_html__('Right', 'elementskit-lite'),
'icon' => 'eicon-text-align-right',
],
],
'default' => 'center',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact' => 'justify-content: {{VALUE}}; display: flex;',
],
'toggle' => true,
]
);
$this->add_control(
'ekit_funfact_heading_number',
[
'label' => esc_html__('Number Count', 'elementskit-lite'),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_responsive_control(
'ekit_funfact_description_color',
[
'label' => esc_html__('Number Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-content .number-percentage-wraper' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'ekit_funfact_number_typography',
'label' => esc_html__('Typography', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-content .number-percentage-wraper',
]
);
$this->add_responsive_control(
'ekit_funfact_number_count_bottom_space',
[
'label' => esc_html__('Spacing', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-content .number-percentage-wraper' => 'margin-bottom: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_number_count_right_space',
[
'label' => esc_html__('Right Spacing', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-content .number-percentage' => 'margin-right: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_control(
'ekit_funfact_heading_title',
[
'label' => esc_html__('Title', 'elementskit-lite'),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_responsive_control(
'ekit_funfact_title_bottom_space',
[
'label' => esc_html__('Spacing', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_title_color',
[
'label' => esc_html__('Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .funfact-title' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'ekit_funfact_title_typography',
'selector' => '{{WRAPPER}} .elementskit-funfact .funfact-title',
]
);
$this->add_responsive_control(
'ekit_funfact_info_box_padding',
[
'label' => esc_html__('Padding', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%', 'em'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact ' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'default' => [
'size' => 15,
'unit' => 'px',
],
]
);
$this->add_responsive_control(
'ekit_funfact_content_margin',
[
'label' => esc_html__('Content Margin', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%', 'em'],
'selectors' => [
'{{WRAPPER}} .funfact-content ' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->end_controls_section();
//Content style end
$this->start_controls_section(
'ekit_funfact_super_controls',
[
'label' => esc_html__('Super', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'ekit_funfact_super' => 'yes',
],
]
);
$this->add_responsive_control(
'ekit_funfact_super_color',
[
'label' => esc_html__('Number Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .super' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'ekit_funfact_super_typography',
'label' => esc_html__('Typography', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact .super',
]
);
$this->add_responsive_control(
'ekit_funfact_super_position_top',
[
'label' => esc_html__('Top', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'size_units' => ['px'],
'range' => [
'px' => [
'min' => -100,
'max' => 100,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => -5,
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .super' => 'top: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_super_position_left_right',
[
'label' => esc_html__('Horizontal space', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'size_units' => ['px'],
'range' => [
'px' => [
'min' => -5,
'max' => 20,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 0,
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .super' => 'left: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_super_vertical_position',
[
'label' => esc_html__('Vertical Position', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'label_block' => false,
'options' => [
'top' => [
'title' => esc_html__('Top', 'elementskit-lite'),
'icon' => 'eicon-v-align-top',
],
'middle' => [
'title' => esc_html__('Middle', 'elementskit-lite'),
'icon' => 'eicon-v-align-middle',
],
'bottom' => [
'title' => esc_html__('Bottom', 'elementskit-lite'),
'icon' => 'eicon-v-align-bottom',
],
],
'default' => 'top',
'selectors_dictionary' => [
'top' => 'super',
'middle' => 'baseline',
'bottom' => 'sub',
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .super' => 'vertical-align: {{VALUE}}',
],
]
);
$this->end_controls_section();
//Background style start
$this->start_controls_section(
'ekit_funfact_section_background_style',
[
'label' => esc_html__('Background', 'elementskit-lite'),
'tab' => controls_Manager::TAB_STYLE,
]
);
$this->add_group_control(
Group_Control_Background::get_type(),
[
'name' => 'ekit_funfact_bg',
'label' => esc_html__('Background', 'elementskit-lite'),
'types' => ['classic', 'gradient'],
'selector' => '{{WRAPPER}} .elementskit-funfact',
]
);
$this->add_responsive_control(
'ekit_funfact_bg_padding',
[
'label' => esc_html__('Padding', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%', 'em'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .elementskit-funfact-inner' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'ekit_funfact_box_shadow',
'label' => esc_html__('Box Shadow', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact',
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'ekit_kit_funfact_border',
'label' => esc_html__('Border', 'elementskit-lite'),
'selector' => '{{WRAPPER}} .elementskit-funfact',
]
);
$this->add_responsive_control(
'ekit_funfact_border_radious',
[
'label' => esc_html__('Border Radius', 'elementskit-lite'),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => ['px', '%', 'em'],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_control(
'ekit_funfact_show_overly',
[
'label' => esc_html__('Enable Overlay', 'elementskit-lite'),
'type' => Controls_Manager::SWITCHER,
'label_on' => esc_html__('Yes', 'elementskit-lite'),
'label_off' => esc_html__('No', 'elementskit-lite'),
'return_value' => 'yes',
'default' => '',
]
);
$this->add_responsive_control(
'ekit_funfact_bg_ovelry_color',
[
'label' => esc_html__('Overlay Color', 'elementskit-lite'),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .elementskit-funfact-overlay' => 'background: {{VALUE}}',
],
'condition' => [
'ekit_funfact_show_overly' => 'yes',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'ekit_funfact_divider_tab',
[
'label' => esc_html__('Devider', 'elementskit-lite'),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'ekit_funfact_enable_vertical_border' => 'yes',
],
]
);
$this->add_responsive_control(
'ekit_funfact_divider_width',
[
'label' => esc_html__('Width', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'size_units' => ['px'],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 3,
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .vertical-bar' => 'width: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'ekit_funfact_divider_height',
[
'label' => esc_html__('Height', 'elementskit-lite'),
'type' => Controls_Manager::SLIDER,
'size_units' => ['px'],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 20,
],
'selectors' => [
'{{WRAPPER}} .elementskit-funfact .vertical-bar' => 'height: {{SIZE}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Background::get_type(),
[
'name' => 'ekit_funfact_divider_background',
'label' => esc_html__('Background', 'elementskit-lite'),
'types' => ['classic', 'gradient'],
'selector' => '{{WRAPPER}} .elementskit-funfact .vertical-bar',
]
);
$this->add_control(
'ekit_funfact_enable_border_verticaly_position',
[
'label' => esc_html__('Border Direction', 'elementskit-lite'),
'type' => Controls_Manager::CHOOSE,
'options' => [
'position_top' => [
'title' => esc_html__('From Top', 'elementskit-lite'),
'icon' => 'fa fa-caret-up',
],
'position_center' => [
'title' => esc_html__('From Center', 'elementskit-lite'),
'icon' => 'fa fa-align-center',
],
'position_bottom' => [
'title' => esc_html__('From Down', 'elementskit-lite'),
'icon' => 'fa fa-caret-down',
],
],
'default' => 'position_center',
'toggle' => true,
]
);
$this->end_controls_section();
$this->insert_pro_message();
}
protected function render() {
echo '<div class="ekit-wid-con" >';
$this->render_raw();
echo '</div>';
}
protected function render_raw() {
$settings = $this->get_settings_for_display();
$options_ekit_funfact_title_size = array_keys([
'h1' => 'H1',
'h2' => 'H2',
'h3' => 'H3',
'h4' => 'H4',
'h5' => 'H5',
'h6' => 'H6',
'div' => 'div',
'span' => 'span',
'p' => 'p',
]);
$text_align = $settings['ekit_funfact_text_align'];
$hover_border_bottom_direction = '';
$vertically_devider_position = '';
$divider_funfact = '';
$enable_ovelry_color = $modern_design = $enable_border_bottom = '';
if($settings['ekit_funfact_show_overly'] == 'yes') {
$enable_ovelry_color = '<div class="elementor-background-overlay elementskit-funfact-overlay"></div>';
}
if($settings['ekit_funfact_hover_border_bottom'] == 'yes') {
$enable_border_bottom = 'style-border-bottom';
$hover_border_bottom_direction = $settings['ekit_funfact_hover_border_bottom_direction'];
}
if($settings['ekit_funfact_enable_vertical_border'] == 'yes') {
$divider_funfact = 'divider_funfact';
$vertically_devider_position = $settings['ekit_funfact_enable_border_verticaly_position'];
}
// info box style
$this->add_render_attribute('funfact_wrapper', 'class', 'elementskit-funfact' . ' text-' . $text_align . ' ' . $enable_border_bottom . ' ' . $modern_design . ' ' . $hover_border_bottom_direction . ' ' . $divider_funfact . ' ' . $vertically_devider_position);
// for image box
$image_html = '';
if(!empty($settings['ekit_funfact_icon_image']['url'])) {
$this->add_render_attribute('image', 'src', $settings['ekit_funfact_icon_image']['url']);
$this->add_render_attribute('image', 'alt', Control_Media::get_image_alt($settings['ekit_funfact_icon_image']));
$image_html = Group_Control_Image_Size::get_attachment_image_html($settings, 'ekit_funfact_thumbnail', 'ekit_funfact_icon_image');
}
?>
<div <?php echo \ElementsKit_Lite\Utils::kses($this->get_render_attribute_string('funfact_wrapper')); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Already escaped by elementor ?>>
<?php if($settings['ekit_funfact_enable_vertical_border'] == 'yes') : ?>
<div class="vertical-bar <?php echo esc_attr($settings['ekit_funfact_enable_vertical_border_position']); ?>"></div>
<?php endif; ?>
<div class="elementskit-funfact-inner <?php echo !empty($settings['ekit_funfact_icon_position']) ? esc_attr($settings['ekit_funfact_icon_position']) : ''; ?>">
<?php if(($settings['ekit_funfact_icon_type'] == 'image_icon') || ($settings['ekit_funfact_icon_type'] == 'icon')) : ?>
<div class="funfact-icon"> <?php
if($settings['ekit_funfact_icon_type'] == 'image_icon') :
echo wp_kses($image_html, \ElementsKit_Lite\Utils::get_kses_array());
endif;
if($settings['ekit_funfact_icon_type'] == 'icon') : ?>
<i <?php echo $this->get_render_attribute_string('icon'); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Already escaped by elementor ?>></i>
<?php
// new icon
$migrated = isset($settings['__fa4_migrated']['ekit_funfact_icons']);
// Check if its a new widget without previously selected icon using the old Icon control
$is_new = empty($settings['ekit_funfact_icon']);
if($is_new || $migrated) {
// new icon
Icons_Manager::render_icon($settings['ekit_funfact_icons'], [
'aria-hidden' => 'true',
'class' => 'elementskit-funfact-icon',
]);
} else {
?>
<i class="<?php echo esc_attr($settings['ekit_funfact_icon']); ?> elementskit-funfact-icon"
aria-hidden="true"></i>
<?php
}
endif; ?>
</div>
<?php endif; ?>
<div class="funfact-content">
<div class="number-percentage-wraper">
<?php echo esc_html( $settings['ekit_funfact_number_prefix'] ); ?>
<span class="number-percentage"
data-value="<?php echo esc_attr( $settings['ekit_funfact_number'] ); ?>"
data-animation-duration="<?php echo esc_attr($settings['ekit_funfact_animation_duration']); ?>"
data-style="<?php echo esc_attr($settings['ekit_funfact_style']); ?>">0</span>
<?php echo esc_html( $settings['ekit_funfact_number_suffix'] ); ?>
<?php if($settings['ekit_funfact_super'] == 'yes') : ?>
<span class="super"><?php echo wp_kses($settings['ekit_funfact_super_text'], \ElementsKit_Lite\Utils::get_kses_array()); ?></span>
<?php endif; ?>
</div>
<?php
// Validate Title Tag
$title_tag = \ElementsKit_Lite\Utils::esc_options($settings['ekit_funfact_title_size'], $options_ekit_funfact_title_size, 'h3');
echo '<'. esc_attr($title_tag) .' class="funfact-title">';
echo esc_html( $settings['ekit_funfact_title_text'] );
echo '</'. esc_attr($title_tag) .'>';
?>
<?php echo wp_kses($enable_ovelry_color, \ElementsKit_Lite\Utils::get_kses_array()); ?>
</div>
</div>
</div>
<?php
}
}