--- a/essential-addons-for-elementor-lite/essential_adons_elementor.php
+++ b/essential-addons-for-elementor-lite/essential_adons_elementor.php
@@ -4,14 +4,14 @@
* Description: The Essential plugin you install after Elementor! Packed with 100+ stunning elements like Data Table, Event Calendar, Filterable Gallery, WooCommerce.
* Plugin URI: https://essential-addons.com/
* Author: WPDeveloper
- * Version: 6.5.5
+ * Version: 6.5.6
* Author URI: https://wpdeveloper.com/
* Text Domain: essential-addons-for-elementor-lite
* Domain Path: /languages
*
* WC tested up to: 10.0
- * Elementor tested up to: 3.33
- * Elementor Pro tested up to: 3.33
+ * Elementor tested up to: 3.34
+ * Elementor Pro tested up to: 3.34
*/
if (!defined('ABSPATH')) {
@@ -27,7 +27,7 @@
define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
-define('EAEL_PLUGIN_VERSION', '6.5.5');
+define('EAEL_PLUGIN_VERSION', '6.5.6');
define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
/**
--- a/essential-addons-for-elementor-lite/includes/Elements/Adv_Accordion.php
+++ b/essential-addons-for-elementor-lite/includes/Elements/Adv_Accordion.php
@@ -112,6 +112,7 @@
*/
$this->init_content_general_controls();
$this->init_content_content_controls();
+ do_action( 'eael_adv_accordion_media_type_controls', $this );
$this->init_content_promotion_controls();
/**
@@ -131,19 +132,53 @@
'label' => esc_html__('General Settings', 'essential-addons-for-elementor-lite'),
]
);
+
+ $image_path = EAEL_PLUGIN_URL . 'assets/admin/images/layout-previews/accordion-';
+ $eael_accordion_layout = apply_filters(
+ 'eael_adv_accordion_styles',
+ [
+ 'styles' => [
+ 'accordion' => [
+ 'title' => esc_html__( 'Accordion', 'essential-addons-for-elementor-lite' ),
+ 'image' => $image_path . 'default.png'
+ ],
+ 'toggle' => [
+ 'title' => esc_html__( 'Toggle', 'essential-addons-for-elementor-lite' ),
+ 'image' => $image_path . 'toggle.png'
+ ],
+ 'accordion_media' => [
+ 'title' => esc_html__( 'Accordion with Media (Pro)', 'essential-addons-for-elementor-lite' ),
+ 'image' => $image_path . 'media.png'
+ ],
+ ],
+ 'conditions' => ['accordion_media'],
+ ]
+ );
+
$this->add_control(
'eael_adv_accordion_type',
[
'label' => esc_html__('Accordion Type', 'essential-addons-for-elementor-lite'),
- 'type' => Controls_Manager::SELECT,
+ 'type' => Controls_Manager::CHOOSE,
'default' => 'accordion',
- 'label_block' => false,
- 'options' => [
- 'accordion' => esc_html__('Accordion', 'essential-addons-for-elementor-lite'),
- 'toggle' => esc_html__('Toggle', 'essential-addons-for-elementor-lite'),
+ 'label_block' => true,
+ 'toggle' => false,
+ 'image_choose'=> true,
+ 'options' => $eael_accordion_layout['styles'],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_adv_accordion_type_pro_alert',
+ [
+ 'label' => sprintf( '<a target="_blank" href="https://wpdeveloper.com/upgrade/ea-pro">%s</a>', esc_html__('Only Available in Pro Version!', 'essential-addons-for-elementor-lite')),
+ 'type' => Controls_Manager::HEADING,
+ 'condition' => [
+ 'eael_adv_accordion_type' => $eael_accordion_layout['conditions'],
],
]
);
+
$this->add_control(
'eael_adv_accordion_title_tag',
[
@@ -163,6 +198,76 @@
],
]
);
+
+ $this->add_control(
+ 'eael_accordion_media_custom_animation',
+ [
+ 'label' => esc_html__( 'Animation', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SELECT,
+ 'groups' => [
+ [
+ 'label' => esc_html__( 'None', 'essential-addons-for-elementor-lite' ),
+ 'options' => [
+ '' => esc_html__( 'None', 'essential-addons-for-elementor-lite' ),
+ ],
+ ],
+ [
+ 'label' => esc_html__( 'Slide', 'essential-addons-for-elementor-lite' ),
+ 'options' => [
+ 'slide-top' => esc_html__( 'Slide In Up', 'essential-addons-for-elementor-lite' ),
+ 'slide-bottom' => esc_html__( 'Slide In Down', 'essential-addons-for-elementor-lite' ),
+ 'slide-left' => esc_html__( 'Slide In Left', 'essential-addons-for-elementor-lite' ),
+ 'slide-right' => esc_html__( 'Slide In Right', 'essential-addons-for-elementor-lite' ),
+ ],
+ ],
+ [
+ 'label' => esc_html__( 'Zoom', 'essential-addons-for-elementor-lite' ),
+ 'options' => [
+ 'zoom-in' => esc_html__( 'Zoom In', 'essential-addons-for-elementor-lite' ),
+ 'zoom-out' => esc_html__( 'Zoom Out', 'essential-addons-for-elementor-lite' ),
+ ],
+ ],
+ [
+ 'label' => esc_html__( 'Fade', 'essential-addons-for-elementor-lite' ),
+ 'options' => [
+ 'fade-top' => esc_html__( 'Fade Slide Up', 'essential-addons-for-elementor-lite' ),
+ ],
+ ],
+ [
+ 'label' => esc_html__( 'Rotate', 'essential-addons-for-elementor-lite' ),
+ 'options' => [
+ 'rotate-zoom' => esc_html__( 'Rotate Zoom', 'essential-addons-for-elementor-lite' ),
+ ],
+ ],
+ ],
+ 'prefix_class' => 'eael-accordion_animation-',
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_accordion_media_custom_animation_duration',
+ [
+ 'label' => esc_html__( 'Transition Duration', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SLIDER,
+ 'range' => [
+ 'px' => [
+ 'min' => 0,
+ 'max' => 10,
+ 'step' => 0.1,
+ ],
+ ],
+ 'default' => [
+ 'size' => 0.6,
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
$this->add_control(
'eael_adv_accordion_icon_show',
[
@@ -170,6 +275,9 @@
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
'return_value' => 'yes',
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
$this->add_control(
@@ -183,6 +291,7 @@
'return_value' => 'right',
'condition' => [
'eael_adv_accordion_icon_show' => 'yes',
+ 'eael_adv_accordion_type!' => 'accordion_media',
],
]
);
@@ -199,6 +308,7 @@
],
'condition' => [
'eael_adv_accordion_icon_show' => 'yes',
+ 'eael_adv_accordion_type!' => 'accordion_media',
],
]
);
@@ -209,6 +319,9 @@
'type' => Controls_Manager::NUMBER,
'label_block' => false,
'default' => 300,
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -221,6 +334,9 @@
'label_block' => false,
'default' => 0,
'min' => 0,
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -231,6 +347,9 @@
'type' => Controls_Manager::NUMBER,
'label_block' => false,
'default' => 300,
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -241,6 +360,9 @@
'type' => Controls_Manager::SWITCHER,
'default' => 'no',
'return_value' => 'yes',
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -265,6 +387,9 @@
'eael_section_adv_accordion_content_settings',
[
'label' => esc_html__('Content Settings', 'essential-addons-for-elementor-lite'),
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -313,8 +438,8 @@
]
);
- $this->start_controls_tab( 'eael_adv_accordion_open_icon_tab',
- [
+ $this->start_controls_tab( 'eael_adv_accordion_open_icon_tab',
+ [
'label' => esc_html__( 'Opened Tab Icon', 'essential-addons-for-elementor-lite' ),
]
);
@@ -333,8 +458,8 @@
$this->end_controls_tab();
- $this->start_controls_tab( 'eael_adv_accordion_closed_icon_tab',
- [
+ $this->start_controls_tab( 'eael_adv_accordion_closed_icon_tab',
+ [
'label' => esc_html__( 'Closed Tab Icon', 'essential-addons-for-elementor-lite' ),
]
);
@@ -537,7 +662,8 @@
'fields' => $repeater->get_controls(),
'title_field' => '{{eael_adv_accordion_tab_title}}',
'condition' => [
- 'eael_adv_accordion_content_source' => 'custom'
+ 'eael_adv_accordion_content_source' => 'custom',
+ 'eael_adv_accordion_type!' => 'accordion_media'
]
]
);
@@ -594,6 +720,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -605,6 +732,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -613,7 +741,7 @@
[
'name' => 'eael_adv_accordion_border',
'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
- 'selector' => '{{WRAPPER}} .eael-adv-accordion',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion, {{WRAPPER}} .eael-accordion_media-wrapper',
]
);
$this->add_responsive_control(
@@ -624,6 +752,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -631,9 +760,173 @@
Group_Control_Box_Shadow::get_type(),
[
'name' => 'eael_adv_accordion_box_shadow',
- 'selector' => '{{WRAPPER}} .eael-adv-accordion',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion, {{WRAPPER}} .eael-accordion_media-wrapper',
]
);
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_content_width',
+ [
+ 'label' => esc_html__( 'Content Width', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SLIDER,
+ 'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+ 'range' => [
+ '%' => [
+ 'min' => 0,
+ 'max' => 100,
+ ],
+ ],
+ 'default' => [
+ 'unit' => '%',
+ 'size' => 50,
+ ],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists' => 'width: {{SIZE}}{{UNIT}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_content_gap',
+ [
+ 'label' => esc_html__( 'Content Gap', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SLIDER,
+ 'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+ 'range' => [
+ 'px' => [
+ 'min' => 0,
+ 'max' => 1000,
+ 'step' => 1,
+ ],
+ ],
+ 'default' => [
+ 'unit' => 'px',
+ 'size' => 12,
+ ],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists' => 'gap: {{SIZE}}{{UNIT}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_adv_accordion_media_more_options',
+ [
+ 'label' => esc_html__( 'Media Options', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::HEADING,
+ 'separator' => 'before',
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_gap',
+ [
+ 'label' => esc_html__( 'Media Gap', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SLIDER,
+ 'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+ 'range' => [
+ 'px' => [
+ 'min' => 0,
+ 'max' => 1000,
+ 'step' => 1,
+ ],
+ ],
+ 'default' => [
+ 'unit' => 'px',
+ 'size' => 30,
+ ],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper' => 'gap: {{SIZE}}{{UNIT}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_direction',
+ [
+ 'label' => esc_html__( 'Media Direction', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::CHOOSE,
+ 'options' => [
+ 'row' => [
+ 'title' => esc_html__( 'Left', 'essential-addons-for-elementor-lite' ),
+ 'icon' => 'eicon-align-end-h',
+ ],
+ 'row-reverse' => [
+ 'title' => esc_html__( 'Right', 'essential-addons-for-elementor-lite' ),
+ 'icon' => 'eicon-align-start-h',
+ ],
+ ],
+ 'default' => 'row',
+ 'toggle' => false,
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper' => 'flex-direction: {{VALUE}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_image_height',
+ [
+ 'label' => esc_html__( 'Height', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::SLIDER,
+ 'size_units' => [ 'vh', 'px', 'rem', 'custom' ],
+ 'range' => [
+ 'vh' => [
+ 'min' => 0,
+ 'max' => 100,
+ 'step' => 1,
+ ],
+ 'px' => [
+ 'min' => 0,
+ 'max' => 1000,
+ 'step' => 1,
+ ],
+ ],
+ 'default' => [
+ 'unit' => 'vh',
+ 'size' => 50,
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-images' => 'height: {{SIZE}}{{UNIT}};',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_image_border_radius',
+ [
+ 'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::DIMENSIONS,
+ 'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-images,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-image.active,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ ],
+ ]
+ );
+
$this->end_controls_section();
}
@@ -650,9 +943,23 @@
Group_Control_Typography::get_type(),
[
'name' => 'eael_adv_accordion_tab_title_typography',
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-title',
]
);
+
+ $this->add_control(
+ 'eael_adv_accordion_tab_icon_style_hading',
+ [
+ 'label' => esc_html__( 'Icon Style', 'essential-addons-for-elementor-lite' ),
+ 'type' => Controls_Manager::HEADING,
+ 'separator' => 'before',
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
$this->add_responsive_control(
'eael_adv_accordion_tab_icon_size',
[
@@ -673,6 +980,8 @@
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon' => 'font-size: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header svg.fa-accordion-icon' => 'height: {{SIZE}}{{UNIT}};width: {{SIZE}}{{UNIT}};line-height: {{SIZE}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon i' => 'font-size: {{SIZE}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon svg' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}};',
],
]
);
@@ -694,7 +1003,8 @@
],
],
'selectors' => [
- '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon' => 'margin-left: {{SIZE}}{{UNIT}};',
+ '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list' => 'gap: {{SIZE}}{{UNIT}};',
],
'condition' => [
'eael_adv_accordion_toggle_icon_postion' => 'right',
@@ -728,6 +1038,33 @@
]
);
+ $this->add_group_control(
+ Group_Control_Border::get_type(),
+ [
+ 'name' => 'eael_adv_accordion_media_tab_border_hover',
+ 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
+ 'selector' => '{{WRAPPER}} .eael-accordion_media-lists .eael-accordion_media-icon',
+ 'condition'=> [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_responsive_control(
+ 'eael_adv_accordion_media_tab_border_radius_hover',
+ [
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::DIMENSIONS,
+ 'size_units' => ['px', 'rem', '%'],
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-lists .eael-accordion_media-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
$this->add_responsive_control(
'eael_adv_accordion_tab_distance',
[
@@ -737,6 +1074,9 @@
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list' => 'margin-bottom: {{SIZE}}{{UNIT}};',
],
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -748,6 +1088,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -759,6 +1100,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -772,7 +1114,8 @@
[
'name' => 'eael_adv_accordion_tab_bgtype',
'types' => ['classic', 'gradient'],
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list',
]
);
$this->add_control(
@@ -783,6 +1126,7 @@
'default' => '#333',
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-content .eael-accordion_media-title' => 'color: {{VALUE}};',
],
]
);
@@ -796,15 +1140,32 @@
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon' => 'color: {{VALUE}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon-svg svg' => 'color: {{VALUE}}; fill: {{VALUE}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header svg' => 'fill: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon' => 'color: {{VALUE}};',
]
]
);
+
+ $this->add_control(
+ 'eael_adv_accordion_tab_icon_border_color',
+ [
+ 'label' => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::COLOR,
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'eael_adv_accordion_tab_border',
'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list',
]
);
$this->add_responsive_control(
@@ -815,6 +1176,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -833,7 +1195,8 @@
[
'name' => 'eael_adv_accordion_tab_bgtype_hover',
'types' => ['classic', 'gradient'],
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:not(.active):hover',
]
);
$this->add_control(
@@ -843,10 +1206,12 @@
'type' => Controls_Manager::COLOR,
'default' => '#fff',
'selectors' => [
- '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .eael-accordion-tab-title' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .eael-accordion-tab-title,
+ {{WRAPPER}} .eael-accordion_media-list:not(.active):hover .eael-accordion_media-title' => 'color: {{VALUE}};',
],
]
);
+
$this->add_control(
'eael_adv_accordion_tab_icon_color_hover',
[
@@ -857,15 +1222,34 @@
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .fa-accordion-icon' => 'color: {{VALUE}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .fa-accordion-icon svg' => 'color: {{VALUE}}; fill: {{VALUE}}',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover svg.fa-accordion-icon' => 'fill: {{VALUE}}',
+ '{{WRAPPER}} .eael-accordion_media-list:hover .eael-accordion_media-icon i' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-list:hover .eael-accordion_media-icon svg' => 'fill: {{VALUE}}',
]
]
);
+
+ $this->add_control(
+ 'eael_adv_accordion_tab_icon_border_color_hover',
+ [
+ 'label' => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::COLOR,
+ 'default' => '#fff',
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-list:not(.active):hover .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'eael_adv_accordion_tab_border_hover',
'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:hover',
]
);
$this->add_responsive_control(
@@ -876,6 +1260,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -894,7 +1279,8 @@
[
'name' => 'eael_adv_accordion_tab_bgtype_active',
'types' => ['classic', 'gradient'],
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list.active',
]
);
$this->add_control(
@@ -907,8 +1293,26 @@
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active' => 'color: {{VALUE}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .eael-accordion-tab-title' => 'color: {{VALUE}};',
],
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_accordion_media_tab_text_color_active',
+ [
+ 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::COLOR,
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active .eael-accordion_media-title' => 'color: {{VALUE}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
]
);
+
$this->add_control(
'eael_adv_accordion_tab_icon_color_active',
[
@@ -919,15 +1323,52 @@
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-accordion-icon' => 'color: {{VALUE}};',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-accordion-icon svg' => 'color: {{VALUE}};fill: {{VALUE}}',
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active svg.fa-accordion-icon' => 'fill: {{VALUE}}',
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon i' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon svg' => 'fill: {{VALUE}}',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_adv_accordion_tab_icon_color_active_media',
+ [
+ 'label' => esc_html__('Icon Color', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::COLOR,
+ 'default' => '#333',
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon i' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon svg' => 'fill: {{VALUE}}',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
+ ],
+ ]
+ );
+
+ $this->add_control(
+ 'eael_adv_accordion_tab_icon_border_color_active',
+ [
+ 'label' => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+ 'type' => Controls_Manager::COLOR,
+ 'selectors' => [
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+ ],
+ 'condition' => [
+ 'eael_adv_accordion_type' => 'accordion_media',
],
]
);
+
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'eael_adv_accordion_tab_border_active',
'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active,
+ {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active',
]
);
$this->add_responsive_control(
@@ -938,6 +1379,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -962,6 +1404,9 @@
'name' => 'adv_accordion_content_bgtype',
'types' => ['classic', 'gradient'],
'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+ 'condition'=> [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -973,6 +1418,7 @@
'default' => '#333',
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'color: {{VALUE}};',
+ '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description' => 'color: {{VALUE}};',
],
]
);
@@ -980,7 +1426,8 @@
Group_Control_Typography::get_type(),
[
'name' => 'eael_adv_accordion_content_typography',
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+ {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
]
);
$this->add_responsive_control(
@@ -991,6 +1438,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-content .eael-accordion_media-description' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -1002,6 +1450,7 @@
'size_units' => ['px', 'em', '%'],
'selectors' => [
'{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+ '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-content .eael-accordion_media-description' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
@@ -1010,14 +1459,16 @@
[
'name' => 'eael_adv_accordion_content_border',
'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+ {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'eael_adv_accordion_content_shadow',
- 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+ 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+ {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
'separator' => 'before',
]
);
@@ -1031,6 +1482,9 @@
[
'label' => esc_html__('Toggle Caret Style', 'essential-addons-for-elementor-lite'),
'tab' => Controls_Manager::TAB_STYLE,
+ 'condition'=> [
+ 'eael_adv_accordion_type!' => 'accordion_media',
+ ],
]
);
@@ -1253,145 +1707,150 @@
$this->add_render_attribute('eael-adv-accordion', 'data-scroll-on-click', esc_attr( $settings['eael_adv_accordion_scroll_onclick'] ));
$this->add_render_attribute('eael-adv-accordion', 'data-scroll-speed', esc_attr( $settings['eael_adv_accordion_scroll_speed'] ));
- if( !empty($settings['eael_adv_accordion_custom_id_offset']) ){
- $this->add_render_attribute('eael-adv-accordion', 'data-custom-id-offset', esc_attr( $settings['eael_adv_accordion_custom_id_offset'] ) );
- }
-?>
- <div <?php $this->print_render_attribute_string('eael-adv-accordion'); ?> <?php echo 'data-accordion-id="' . esc_attr($this->get_id()) . '"'; ?> <?php echo !empty($settings['eael_adv_accordion_type']) ? 'data-accordion-type="' . esc_attr($settings['eael_adv_accordion_type']) . '"' : 'accordion'; ?> <?php echo !empty($settings['eael_adv_accordion_toggle_speed']) ? 'data-toogle-speed="' . esc_attr($settings['eael_adv_accordion_toggle_speed']) . '"' : '300'; ?>>
- <?php
- if( 'dynamic' === $settings['eael_adv_accordion_content_source'] ) {
- $this->render_dynamic_content();
+ // Advanced Accordion Media Type
+ if ( 'accordion_media' === $settings['eael_adv_accordion_type'] ) {
+ do_action( 'eael_adv_accordion_media_type', $settings, $this );
} else {
- foreach ($settings['eael_adv_accordion_tab'] as $index => $tab) {
- if( empty( $tab['eael_adv_accordion_tab_title'] ) || ( 'content' == $tab['eael_adv_accordion_text_type'] && empty( $tab['eael_adv_accordion_tab_content'] ) ) ){
- continue;
- }
-
- $tab_count = $index + 1;
- $tab_title_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_title', 'eael_adv_accordion_tab', $index);
- $tab_content_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_content', 'eael_adv_accordion_tab', $index);
-
- $tab_title_class = ['elementor-tab-title', 'eael-accordion-header'];
- $tab_content_class = ['eael-accordion-content', 'clearfix'];
-
- $tab_icon_migrated = isset($tab['__fa4_migrated']['eael_adv_accordion_tab_title_icon_new']);
- $tab_icon_is_new = empty($tab['eael_adv_accordion_tab_title_icon']);
-
- if ($tab['eael_adv_accordion_tab_default_active'] == 'yes') {
- $tab_title_class[] = 'active-default';
- $tab_content_class[] = 'active-default';
- }
-
- $tab_id = $tab['eael_adv_accordion_tab_id'] ? $tab['eael_adv_accordion_tab_id'] : Helper::str_to_css_id( $tab['eael_adv_accordion_tab_title'] );
- $tab_id = $tab_id === 'safari' ? 'eael-safari' : $tab_id;
-
- $this->add_render_attribute($tab_title_setting_key, [
- 'id' => $tab_id,
- 'class' => $tab_title_class,
- 'tabindex' => 0,
- 'data-tab' => $tab_count,
- 'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count,
- ]);
-
- $this->add_render_attribute($tab_content_setting_key, [
- 'id' => 'elementor-tab-content-' . $id_int . $tab_count,
- 'class' => $tab_content_class,
- 'data-tab' => $tab_count,
- // 'role' => 'tabpanel',
- 'aria-labelledby' => $tab_id,
- ]);
-
- echo '<div class="eael-accordion-list">
- <div '; $this->print_render_attribute_string($tab_title_setting_key); echo '>';
- // toggle icon if user set position to left
- if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === '') {
- $this->print_toggle_icon($settings);
- }
- // tab title
- if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
- $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
- $title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
- echo wp_kses( $title, Helper::eael_allowed_tags() );
- }
- // tab icon
- if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
- if ($tab_icon_is_new || $tab_icon_migrated) {
- if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new']['library'] ) {
- echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-closed">';
- Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'] );
- echo '</span>';
- }else{
- echo '<span class="eael-advanced-accordion-icon-closed">';
- Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
- echo '</span>';
- }
-
- if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new_opened']['library'] ) {
- echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-opened">';
- Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'] );
- echo '</span>';
- }else{
- echo '<span class="eael-advanced-accordion-icon-opened">';
- Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
- echo '</span>';
- }
-
- } else {
- echo '<span class="eael-advanced-accordion-icon-closed"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ) : '' ) . ' fa-accordion-icon"></i></span>';
- echo '<span class="eael-advanced-accordion-icon-opened"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon_opened'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon_opened'] ) : ' fa fa-minus ' ) . ' fa-accordion-icon"></i></span>';
- }
- }
- // tab title
- if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
- $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
- $title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
- echo wp_kses( $title, Helper::eael_allowed_tags() );
- }
- // toggle icon
- if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
- $this->print_toggle_icon( $settings );
- }
- echo '</div>';
-
- echo '<div '; $this->print_render_attribute_string($tab_content_setting_key); echo '>';
- if ('content' == $tab['eael_adv_accordion_text_type']) {
- // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
- echo $this->parse_text_editor( $tab['eael_adv_accordion_tab_content'] );
- } elseif ('template' == $tab['eael_adv_accordion_text_type']) {
- if ( ! empty( $tab['eael_primary_templates'] ) && Helper::is_elementor_publish_template( $tab['eael_primary_templates'] ) ) {
- // WPML Compatibility
- if ( ! is_array( $tab['eael_primary_templates'] ) ) {
- $tab['eael_primary_templates'] = apply_filters( 'wpml_object_id', $tab['eael_primary_templates'], 'wp_template', true );
+ if( !empty($settings['eael_adv_accordion_custom_id_offset']) ){
+ $this->add_render_attribute('eael-adv-accordion', 'data-custom-id-offset', esc_attr( $settings['eael_adv_accordion_custom_id_offset'] ) );
}
-
- Helper::eael_onpage_edit_template_markup( get_the_ID(), $tab['eael_primary_templates'] );
- // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
- echo Plugin::$instance->frontend->get_builder_content( $tab['eael_primary_templates'], true );
- }
- }
- echo '</div>
- </div>';
- }
- echo '</div>';
-
- // FAQ Schema
- if ( !empty( $settings['eael_adv_accordion_faq_schema_show'] ) && 'yes' === $settings['eael_adv_accordion_faq_schema_show'] ) {
- foreach ( $settings['eael_adv_accordion_tab'] as $index => $tab ) {
- $faq_schema_text = ! empty( $tab['eael_adv_accordion_tab_faq_schema_text'] ) ? $tab['eael_adv_accordion_tab_faq_schema_text'] : '';
-
- $faq = [
- '@type' => 'Question',
- 'name' => Helper::eael_wp_kses( $tab['eael_adv_accordion_tab_title'] ),
- 'acceptedAnswer' => [
- '@type' => 'Answer',
- 'text' => ('content' === $tab['eael_adv_accordion_text_type']) ? do_shortcode( $tab['eael_adv_accordion_tab_content'] ) : Helper::eael_wp_kses( $faq_schema_text ),
- ],
- ];
-
- Helper::set_eael_advanced_accordion_faq($faq);
- }
- }
- }
+ ?>
+ <div <?php $this->print_render_attribute_string('eael-adv-accordion'); ?> <?php echo 'data-accordion-id="' . esc_attr($this->get_id()) . '"'; ?> <?php echo !empty($settings['eael_adv_accordion_type']) ? 'data-accordion-type="' . esc_attr($settings['eael_adv_accordion_type']) . '"' : 'accordion'; ?> <?php echo !empty($settings['eael_adv_accordion_toggle_speed']) ? 'data-toogle-speed="' . esc_attr($settings['eael_adv_accordion_toggle_speed']) . '"' : '300'; ?>>
+ <?php
+ if( 'dynamic' === $settings['eael_adv_accordion_content_source'] ) {
+ $this->render_dynamic_content();
+ } else {
+ foreach ($settings['eael_adv_accordion_tab'] as $index => $tab) {
+ if( empty( $tab['eael_adv_accordion_tab_title'] ) || ( 'content' == $tab['eael_adv_accordion_text_type'] && empty( $tab['eael_adv_accordion_tab_content'] ) ) ){
+ continue;
+ }
+
+ $tab_count = $index + 1;
+ $tab_title_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_title', 'eael_adv_accordion_tab', $index);
+ $tab_content_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_content', 'eael_adv_accordion_tab', $index);
+
+ $tab_title_class = ['elementor-tab-title', 'eael-accordion-header'];
+ $tab_content_class = ['eael-accordion-content', 'clearfix'];
+
+ $tab_icon_migrated = isset($tab['__fa4_migrated']['eael_adv_accordion_tab_title_icon_new']);
+ $tab_icon_is_new = empty($tab['eael_adv_accordion_tab_title_icon']);
+
+ if ($tab['eael_adv_accordion_tab_default_active'] == 'yes') {
+ $tab_title_class[] = 'active-default';
+ $tab_content_class[] = 'active-default';
+ }
+
+ $tab_id = $tab['eael_adv_accordion_tab_id'] ? $tab['eael_adv_accordion_tab_id'] : Helper::str_to_css_id( $tab['eael_adv_accordion_tab_title'] );
+ $tab_id = $tab_id === 'safari' ? 'eael-safari' : $tab_id;
+
+ $this->add_render_attribute($tab_title_setting_key, [
+ 'id' => $tab_id,
+ 'class' => $tab_title_class,
+ 'tabindex' => 0,
+ 'data-tab' => $tab_count,
+ 'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count,
+ ]);
+
+ $this->add_render_attribute($tab_content_setting_key, [
+ 'id' => 'elementor-tab-content-' . $id_int . $tab_count,
+ 'class' => $tab_content_class,
+ 'data-tab' => $tab_count,
+ // 'role' => 'tabpanel',
+ 'aria-labelledby' => $tab_id,
+ ]);
+
+ echo '<div class="eael-accordion-list">
+ <div '; $this->print_render_attribute_string($tab_title_setting_key); echo '>';
+ // toggle icon if user set position to left
+ if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === '') {
+ $this->print_toggle_icon($settings);
+ }
+ // tab title
+ if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
+ $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
+ $title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
+ echo wp_kses( $title, Helper::eael_allowed_tags() );
+ }
+ // tab icon
+ if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
+ if ($tab_icon_is_new || $tab_icon_migrated) {
+ if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new']['library'] ) {
+ echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-closed">';
+ Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'] );
+ echo '</span>';
+ }else{
+ echo '<span class="eael-advanced-accordion-icon-closed">';
+ Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
+ echo '</span>';
+ }
+
+ if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new_opened']['library'] ) {
+ echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-opened">';
+ Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'] );
+ echo '</span>';
+ }else{
+ echo '<span class="eael-advanced-accordion-icon-opened">';
+ Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
+ echo '</span>';
+ }
+
+ } else {
+ echo '<span class="eael-advanced-accordion-icon-closed"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ) : '' ) . ' fa-accordion-icon"></i></span>';
+ echo '<span class="eael-advanced-accordion-icon-opened"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon_opened'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon_opened'] ) : ' fa fa-minus ' ) . ' fa-accordion-icon"></i></span>';
+ }
+ }
+ // tab title
+ if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
+ $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
+ $title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
+ echo wp_kses( $title, Helper::eael_allowed_tags() );
+ }
+ // toggle icon
+ if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
+ $this->print_toggle_icon( $settings );
+ }
+ echo '</div>';
+
+ echo '<div '; $this->print_render_attribute_string($tab_content_setting_key); echo '>';
+ if ('content' == $tab['eael_adv_accordion_text_type']) {
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ echo $this->parse_text_editor( $tab['eael_adv_accordion_tab_content'] );
+ } elseif ('template' == $tab['eael_adv_accordion_text_type']) {
+ if ( ! empty( $tab['eael_primary_templates'] ) && Helper::is_elementor_publish_template( $tab['eael_primary_templates'] ) ) {
+ // WPML Compatibility
+ if ( ! is_array( $tab['eael_primary_templates'] ) ) {
+ $tab['eael_primary_templates'] = apply_filters( 'wpml_object_id', $tab['eael_primary_templates'], 'wp_template', true );
+ }
+
+ Helper::eael_onpage_edit_template_markup( get_the_ID(), $tab['eael_primary_templates'] );
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ echo Plugin::$instance->frontend->get_builder_content( $tab['eael_primary_templates'], true );
+ }
+ }
+ echo '</div>
+ </div>';
+ }
+ echo '</div>';
+
+ // FAQ Schema
+ if ( !empty( $settings['eael_adv_accordion_faq_schema_show'] ) && 'yes' === $settings['eael_adv_accordion_faq_schema_show'] ) {
+ foreach ( $settings['eael_adv_accordion_tab'] as $index => $tab ) {
+ $faq_schema_text = ! empty( $tab['eael_adv_accordion_tab_faq_schema_text'] ) ? $tab['eael_adv_accordion_tab_faq_schema_text'] : '';
+
+ $faq = [
+ '@type' => 'Question',
+ 'name' => Helper::eael_wp_kses( $tab['eael_adv_accordion_tab_title'] ),
+ 'acceptedAnswer' => [
+ '@type' => 'Answer',
+ 'text' => ('content' === $tab['eael_adv_accordion_text_type']) ? do_shortcode( $tab['eael_adv_accordion_tab_content'] ) : Helper::eael_wp_kses( $faq_schema_text ),
+ ],
+ ];
+
+ Helper::set_eael_advanced_accordion_faq($faq);
+ }
+ }
+ }
+ }
}
protected function render_dynamic_content() {
@@ -1485,7 +1944,7 @@
} else {
echo wp_kses( get_the_excerpt(), Helper::eael_allowed_tags() );
}
-
+
echo '</div>';
echo '</div>';
}
@@ -1493,7 +1952,7 @@
echo '<p class="no-posts-found">'. esc_html__('No posts found!', 'essential-addons-elementor') .'</p>';
}
wp_reset_postdata();
-
+
if ( $has_block ) {
wp_enqueue_style( 'wp-block-library' );
wp_enqueue_style( 'wp-block-library-theme' );
@@ -1501,7 +1960,7 @@
wp_enqueue_style( 'wc-blocks-style' );
}
}
-
+
protected function print_toggle_icon($settings)
{
--- a/essential-addons-for-elementor-lite/includes/Elements/Event_Calendar.php
+++ b/essential-addons-for-elementor-lite/includes/Elements/Event_Calendar.php
@@ -3989,7 +3989,8 @@
$settings_eael_event_global_popup_ribbon_color = $this->fetch_color_or_global_color($settings, 'eael_event_global_popup_ribbon_color');
if( !empty( $settings["eael_old_events_hide"] ) && 'yes' === $settings["eael_old_events_hide"] ){
- $is_old_event = $this->is_old_event($ev_start_date);
+ $is_old_event = $this->is_old_event($ev_start_date, '', 'yes' === $all_day);
+
if($is_old_event) {
continue;
}
@@ -3997,7 +3998,7 @@
if( $settings['eael_old_events_hide'] === 'start' ){
$default_date = $settings['eael_event_default_date_type'] === 'custom' ? $settings['eael_event_calendar_default_date'] : gmdate( 'Y-m-d' );
- $should_show = $this->is_old_event( $ev_start_date, $default_date );
+ $should_show = $this->is_old_event( $ev_start_date, $default_date, 'yes' === $all_day );
if ( $should_show ) {
continue;
@@ -4137,17 +4138,28 @@
return $calendar_data;
}
- public function is_old_event( $start_date, $date_to_comp = '' ) {
- $date_to_comp = $date_to_comp === '' ? current_time( 'Y-m-d' ) : $date_to_comp;
- $date_to_comp = strtotime( $date_to_comp . wp_timezone_string() );
- $start_date_timestamp = strtotime( $start_date );
-
- if ( $start_date_timestamp < $date_to_comp ) {
- return true;
- }
+ public function is_old_event( $start_date, $date_to_comp = '', $is_all_day = false ) {
+
+ // Use WP timezone correctly
+ $tz = wp_timezone();
+
+ // Default comparison date = today (si