Elementor Essential Addons - Version 2.7.0

Version Description

  • Dynamic field support added to all elements
  • Saved Templates option added to content area (all possible elements)
  • Advanced Tabs vertical layout added
  • Lots of minor bugfix and improvements
Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 2.7.0
Comparing to
See all releases

Code changes from version 2.6.0 to 2.7.0

admin/assets/css/admin.css CHANGED
@@ -64,6 +64,10 @@
64
  border: 1px solid rgba( 0,0,0,0.1 );
65
  border-bottom: none;
66
  }
 
 
 
 
67
  .eael-settings-tab {
68
  background: #fff;
69
  padding: 15px 25px;
@@ -173,12 +177,12 @@ textarea.eael-form-control {
173
  animation: switch-off .3s ease-out;
174
  }
175
  .eael-checkbox input[type=checkbox]:checked + label:before {
176
- background: #70C1B3;
177
  box-shadow: inset 0px 1px 1px rgba(84, 152, 140, 0.5);
178
  }
179
  .eael-checkbox input[type=checkbox]:checked + label:after {
180
  left: 1.2em;
181
- background: #70C1B3;
182
  animation: switch-on .3s ease-out;
183
  }
184
 
64
  border: 1px solid rgba( 0,0,0,0.1 );
65
  border-bottom: none;
66
  }
67
+ .eael-settings-tabs ul li a:focus {
68
+ outline: none;
69
+ box-shadow: none;
70
+ }
71
  .eael-settings-tab {
72
  background: #fff;
73
  padding: 15px 25px;
177
  animation: switch-off .3s ease-out;
178
  }
179
  .eael-checkbox input[type=checkbox]:checked + label:before {
180
+ background: #7E86F9;
181
  box-shadow: inset 0px 1px 1px rgba(84, 152, 140, 0.5);
182
  }
183
  .eael-checkbox input[type=checkbox]:checked + label:after {
184
  left: 1.2em;
185
+ background: #7E86F9;
186
  animation: switch-on .3s ease-out;
187
  }
188
 
admin/assets/images/unlock-gif.gif DELETED
Binary file
admin/settings.php CHANGED
@@ -45,7 +45,7 @@ class Eael_Admin_Settings {
45
  */
46
  public function __construct() {
47
 
48
- add_action( 'admin_menu', array( $this, 'create_eael_admin_menu' ) );
49
  add_action( 'init', array( $this, 'enqueue_eael_admin_scripts' ) );
50
  add_action( 'wp_ajax_save_settings_with_ajax', array( $this, 'eael_save_settings_with_ajax' ) );
51
 
@@ -78,14 +78,13 @@ class Eael_Admin_Settings {
78
  */
79
  public function create_eael_admin_menu() {
80
 
81
- add_menu_page(
82
- 'Essential Addons Elementor',
83
- 'Essential Addons Elementor',
 
84
  'manage_options',
85
  'eael-settings',
86
- array( $this, 'eael_admin_settings_page' ),
87
- plugins_url( '/', __FILE__ ).'/assets/images/ea-icon.png',
88
- 199
89
  );
90
 
91
  }
@@ -444,12 +443,33 @@ class Eael_Admin_Settings {
444
  </p>
445
  </div>
446
  <div class="eael-checkbox">
447
- <input type="checkbox" id="post-list" name="dynamic-filter-gallery" disabled>
448
  <label for="post-list" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
449
  <p class="eael-el-title">
450
  <?php _e( 'Smart Post List', 'essential-addons-elementor' ) ?>
451
  </p>
452
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
453
  </div><!--./checkbox-container-->
454
  <div class="eael-save-btn-wrap">
455
  <input type="submit" value="Save settings" class="button eael-btn js-eael-settings-save"/>
@@ -467,9 +487,6 @@ class Eael_Admin_Settings {
467
 
468
  <a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank" class="button eael-btn eael-license-btn">Get Premium Version</a>
469
  </div>
470
- <div class="col-half">
471
- <img src="<?php echo plugins_url( '/', __FILE__ ).'assets/images/unlock-gif.gif'; ?>">
472
- </div>
473
  </div>
474
  </div>
475
  </div>
45
  */
46
  public function __construct() {
47
 
48
+ add_action( 'admin_menu', array( $this, 'create_eael_admin_menu' ), 600 );
49
  add_action( 'init', array( $this, 'enqueue_eael_admin_scripts' ) );
50
  add_action( 'wp_ajax_save_settings_with_ajax', array( $this, 'eael_save_settings_with_ajax' ) );
51
 
78
  */
79
  public function create_eael_admin_menu() {
80
 
81
+ add_submenu_page(
82
+ 'elementor',
83
+ 'Essential Addons',
84
+ 'Essential Addons',
85
  'manage_options',
86
  'eael-settings',
87
+ array( $this, 'eael_admin_settings_page' )
 
 
88
  );
89
 
90
  }
443
  </p>
444
  </div>
445
  <div class="eael-checkbox">
446
+ <input type="checkbox" id="post-list" name="post-list" disabled>
447
  <label for="post-list" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
448
  <p class="eael-el-title">
449
  <?php _e( 'Smart Post List', 'essential-addons-elementor' ) ?>
450
  </p>
451
  </div>
452
+ <div class="eael-checkbox">
453
+ <input type="checkbox" id="adv-google-map" name="adv-google-map" disabled>
454
+ <label for="adv-google-map" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
455
+ <p class="eael-el-title">
456
+ <?php _e( 'Advanced Google Map', 'essential-addons-elementor' ) ?>
457
+ </p>
458
+ </div>
459
+ <div class="eael-checkbox">
460
+ <input type="checkbox" id="toggle" name="toggle" disabled>
461
+ <label for="toggle" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
462
+ <p class="eael-el-title">
463
+ <?php _e( 'Content Toggle', 'essential-addons-elementor' ) ?>
464
+ </p>
465
+ </div>
466
+ <div class="eael-checkbox">
467
+ <input type="checkbox" id="mailchimp" name="mailchimp" disabled>
468
+ <label for="mailchimp" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
469
+ <p class="eael-el-title">
470
+ <?php _e( 'Mailchimp', 'essential-addons-elementor' ) ?>
471
+ </p>
472
+ </div>
473
  </div><!--./checkbox-container-->
474
  <div class="eael-save-btn-wrap">
475
  <input type="submit" value="Save settings" class="button eael-btn js-eael-settings-save"/>
487
 
488
  <a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank" class="button eael-btn eael-license-btn">Get Premium Version</a>
489
  </div>
 
 
 
490
  </div>
491
  </div>
492
  </div>
assets/css/essential-addons-elementor.css CHANGED
@@ -1661,20 +1661,29 @@ body:not(.x-ethos):not(.x-integrity):not(.x-renew):not(.x-icon) .eael-product-ca
1661
  opacity: 0;
1662
  }
1663
 
1664
- .button--loading {
1665
- padding-left: 50px!important;
 
 
1666
  }
1667
 
1668
  .eael-load-more-button .button__loader {
1669
- float: left;
1670
- position: absolute;
1671
- left: -50px;
1672
- top: 10px;
1673
  transition: all .2s;
1674
- }
 
 
 
 
 
 
 
 
1675
 
1676
- .button--loading .button__loader {
1677
- left: 15px;
1678
  }
1679
 
1680
  .eael-btn-loader, .eael-btn-loader:after {
@@ -4172,10 +4181,14 @@ img.mfp-img {
4172
  .eael-ticker-wrap .eael-typed-strings {
4173
  padding: 0px 0px 0px 15px;
4174
  }
 
4175
  /**
4176
  * Advance Tabs
4177
  */
4178
- .eael-advance-tabs > .eael-tab-navs {
 
 
 
4179
  position: relative;
4180
  padding: 0px;
4181
  margin: 0px;
@@ -4185,27 +4198,17 @@ img.mfp-img {
4185
  align-items: center;
4186
  z-index: 1;
4187
  }
4188
- .eael-advance-tabs .eael-tab-navs li {
4189
- flex: 1 1 auto;
4190
- cursor: pointer;
4191
- }
4192
- .eael-advance-tabs .eael-tab-navs li a {
4193
- width: 100%;
4194
- display: flex;
4195
- align-items: center;
4196
- justify-content: center;
4197
- text-decoration: none;
4198
- padding: 15px;
4199
- box-sizing: border-box;
4200
- position: relative;
4201
- z-index: 0;
4202
- }
4203
- .eael-advance-tabs .eael-tab-navs li a:hover,
4204
- .eael-advance-tabs .eael-tab-navs li a.active {
4205
- position: relative;
4206
- z-index: 0;
4207
  }
4208
- .eael-advance-tabs .eael-tab-navs li a:after {
4209
  content: "";
4210
  position: absolute;
4211
  bottom: -10px;
@@ -4221,25 +4224,25 @@ img.mfp-img {
4221
  border-bottom: 0px;
4222
  display: none;
4223
  }
4224
- .eael-advance-tabs .eael-tab-navs li a.active:after {
 
4225
  display: block;
4226
  }
4227
- .eael-advance-tabs .eael-tab-contents .eael-tab-content {
 
 
 
4228
  display: none;
4229
- box-sizing: border-box;
4230
- padding: 20px 30px;
4231
  opacity: 0;
4232
- font-size: 1rem;
4233
- line-height: 1.7;
4234
- border: 1px solid #eee;
4235
- margin-top: -1px;
4236
  }
4237
- .eael-advance-tabs .eael-tab-contents .eael-tab-content.active {
 
4238
  display: block;
 
 
4239
  opacity: 1;
4240
  animation: fadeIn linear 0.3s;
4241
  }
4242
-
4243
  /* Inline Icon */
4244
  .eael-tab-inline-icon li a .fa {
4245
  margin-right: 10px;
@@ -4258,6 +4261,43 @@ img.mfp-img {
4258
  .eael-tab-top-icon li a .eael-tab-title {
4259
  margin-top: 10px;
4260
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4261
  /**
4262
  * Advance Accordion
4263
  */
@@ -4266,7 +4306,6 @@ img.mfp-img {
4266
  height: auto;
4267
  transition: all 0.3s ease-in-out;
4268
  }
4269
- .eael-adv-accordion .eael-accordion-list {}
4270
  .eael-adv-accordion .eael-accordion-list .eael-accordion-header {
4271
  padding: 15px;
4272
  border: 1px solid rgba(0,0,0,0.02);
1661
  opacity: 0;
1662
  }
1663
 
1664
+ .eael-load-more-button {
1665
+ display: flex;
1666
+ align-items: center;
1667
+ justify-content: center;
1668
  }
1669
 
1670
  .eael-load-more-button .button__loader {
1671
+ left: -100%;
1672
+ top: auto;
1673
+ margin-right: 5px;
 
1674
  transition: all .2s;
1675
+ }
1676
+
1677
+ .eael-load-more-button > span {
1678
+ margin-left: -20px;
1679
+ }
1680
+
1681
+ .eael-load-more-button.button--loading > span {
1682
+ margin-left: 0;
1683
+ }
1684
 
1685
+ .eael-load-more-button.button--loading .button__loader {
1686
+ left: 0;
1687
  }
1688
 
1689
  .eael-btn-loader, .eael-btn-loader:after {
4181
  .eael-ticker-wrap .eael-typed-strings {
4182
  padding: 0px 0px 0px 15px;
4183
  }
4184
+
4185
  /**
4186
  * Advance Tabs
4187
  */
4188
+ .eael-advance-tabs {
4189
+ display: block;
4190
+ }
4191
+ .eael-advance-tabs .eael-tabs-nav > ul {
4192
  position: relative;
4193
  padding: 0px;
4194
  margin: 0px;
4198
  align-items: center;
4199
  z-index: 1;
4200
  }
4201
+ .eael-advance-tabs .eael-tabs-nav > ul li {
4202
+ position: relative;
4203
+ padding: 1em 1.5em;
4204
+ flex: 1 1 auto;
4205
+ cursor: pointer;
4206
+ display: flex;
4207
+ justify-content: center;
4208
+ align-items: center;
4209
+ text-align: center;
 
 
 
 
 
 
 
 
 
 
4210
  }
4211
+ .eael-advance-tabs .eael-tabs-nav > ul li:after {
4212
  content: "";
4213
  position: absolute;
4214
  bottom: -10px;
4224
  border-bottom: 0px;
4225
  display: none;
4226
  }
4227
+ .eael-advance-tabs .eael-tabs-nav > ul li.active:after,
4228
+ .eael-advance-tabs .eael-tabs-nav > ul li.active-default:after {
4229
  display: block;
4230
  }
4231
+ .eael-tabs-content {
4232
+ display: flex;
4233
+ }
4234
+ .eael-advance-tabs .eael-tabs-content > div {
4235
  display: none;
 
 
4236
  opacity: 0;
 
 
 
 
4237
  }
4238
+ .eael-advance-tabs .eael-tabs-content > div.active,
4239
+ .eael-advance-tabs .eael-tabs-content > div.active-default {
4240
  display: block;
4241
+ width: 100%;
4242
+ padding: 1em;
4243
  opacity: 1;
4244
  animation: fadeIn linear 0.3s;
4245
  }
 
4246
  /* Inline Icon */
4247
  .eael-tab-inline-icon li a .fa {
4248
  margin-right: 10px;
4261
  .eael-tab-top-icon li a .eael-tab-title {
4262
  margin-top: 10px;
4263
  }
4264
+
4265
+ /* Vertical Tabs */
4266
+
4267
+ .eael-advance-tabs.eael-tabs-vertical {
4268
+ display: flex;
4269
+ }
4270
+
4271
+ .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav {
4272
+ flex: 0 0 auto;
4273
+ }
4274
+
4275
+ .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul {
4276
+ flex-flow: column wrap;
4277
+ }
4278
+ .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul > li {
4279
+ width: 100%;
4280
+ }
4281
+
4282
+ .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul li::after {
4283
+ bottom: auto !important;
4284
+ right: -10px;
4285
+ top: calc(50% - 10px) !important;
4286
+ left: auto !important;
4287
+ border-left: 10px solid #444;
4288
+ border-right: 0;
4289
+ border-top: 10px solid transparent;
4290
+ border-bottom: 10px solid transparent;
4291
+ }
4292
+
4293
+ @media only screen and (max-width: 767px) {
4294
+ .eael-advance-tabs .eael-tabs-nav > ul {
4295
+ flex-wrap: wrap;
4296
+ }
4297
+ .eael-advance-tabs .eael-tabs-nav > ul li {
4298
+ flex: 1 100%;
4299
+ }
4300
+ }
4301
  /**
4302
  * Advance Accordion
4303
  */
4306
  height: auto;
4307
  transition: all 0.3s ease-in-out;
4308
  }
 
4309
  .eael-adv-accordion .eael-accordion-list .eael-accordion-header {
4310
  padding: 15px;
4311
  border: 1px solid rgba(0,0,0,0.02);
elements/advance-accordion/advance-accordion.php CHANGED
@@ -129,13 +129,37 @@ class Widget_Eael_Adv_Accordion extends Widget_Base {
129
  'name' => 'eael_adv_accordion_tab_title',
130
  'label' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
131
  'type' => Controls_Manager::TEXT,
132
- 'default' => esc_html__( 'Tab Title', 'essential-addons-elementor' )
 
133
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  [
135
  'name' => 'eael_adv_accordion_tab_content',
136
- 'label' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
137
  'type' => Controls_Manager::WYSIWYG,
138
- 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur.', 'essential-addons-elementor' )
 
 
 
 
139
  ],
140
  ],
141
  'title_field' => '{{eael_adv_accordion_tab_title}}',
@@ -642,7 +666,7 @@ class Widget_Eael_Adv_Accordion extends Widget_Base {
642
 
643
  protected function render() {
644
 
645
- $settings = $this->get_settings();
646
  ?>
647
  <div class="eael-adv-accordion" id="eael-adv-accordion-<?php echo esc_attr( $this->get_id() ); ?>">
648
  <?php foreach( $settings['eael_adv_accordion_tab'] as $tab ) : ?>
@@ -651,7 +675,15 @@ class Widget_Eael_Adv_Accordion extends Widget_Base {
651
  <span><?php if( $tab['eael_adv_accordion_tab_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ); ?> fa-accordion-icon"></i><?php endif; ?> <?php echo $tab['eael_adv_accordion_tab_title']; ?></span> <?php if( $settings['eael_adv_accordion_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $settings['eael_adv_accordion_icon'] ); ?> fa-toggle"></i> <?php endif; ?>
652
  </div>
653
  <div class="eael-accordion-content clearfix<?php if( $tab['eael_adv_accordion_tab_default_active'] == 'yes' ) : echo ' active-default'; endif; ?>">
654
- <p><?php echo do_shortcode($tab['eael_adv_accordion_tab_content']); ?></p>
 
 
 
 
 
 
 
 
655
  </div>
656
  </div>
657
  <?php endforeach; ?>
129
  'name' => 'eael_adv_accordion_tab_title',
130
  'label' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
131
  'type' => Controls_Manager::TEXT,
132
+ 'default' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
133
+ 'dynamic' => [ 'active' => true ]
134
  ],
135
+ [
136
+ 'name' => 'eael_adv_accordion_text_type',
137
+ 'label' => __( 'Content Type', 'essential-addons-elementor' ),
138
+ 'type' => Controls_Manager::SELECT,
139
+ 'options' => [
140
+ 'content' => __( 'Content', 'essential-addons-elementor' ),
141
+ 'template' => __( 'Saved Templates', 'essential-addons-elementor' ),
142
+ ],
143
+ 'default' => 'content',
144
+ ],
145
+ [
146
+ 'name' => 'eael_primary_templates',
147
+ 'label' => __( 'Choose Template', 'essential-addons-elementor' ),
148
+ 'type' => Controls_Manager::SELECT,
149
+ 'options' => eael_get_page_templates(),
150
+ 'condition' => [
151
+ 'eael_adv_accordion_text_type' => 'template',
152
+ ],
153
+ ],
154
  [
155
  'name' => 'eael_adv_accordion_tab_content',
156
+ 'label' => esc_html__( 'Tab Content', 'essential-addons-elementor' ),
157
  'type' => Controls_Manager::WYSIWYG,
158
+ 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur.', 'essential-addons-elementor' ),
159
+ 'dynamic' => [ 'active' => true ],
160
+ 'condition' => [
161
+ 'eael_adv_accordion_text_type' => 'content',
162
+ ],
163
  ],
164
  ],
165
  'title_field' => '{{eael_adv_accordion_tab_title}}',
666
 
667
  protected function render() {
668
 
669
+ $settings = $this->get_settings_for_display();
670
  ?>
671
  <div class="eael-adv-accordion" id="eael-adv-accordion-<?php echo esc_attr( $this->get_id() ); ?>">
672
  <?php foreach( $settings['eael_adv_accordion_tab'] as $tab ) : ?>
675
  <span><?php if( $tab['eael_adv_accordion_tab_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ); ?> fa-accordion-icon"></i><?php endif; ?> <?php echo $tab['eael_adv_accordion_tab_title']; ?></span> <?php if( $settings['eael_adv_accordion_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $settings['eael_adv_accordion_icon'] ); ?> fa-toggle"></i> <?php endif; ?>
676
  </div>
677
  <div class="eael-accordion-content clearfix<?php if( $tab['eael_adv_accordion_tab_default_active'] == 'yes' ) : echo ' active-default'; endif; ?>">
678
+ <?php if( 'content' == $tab['eael_adv_accordion_text_type'] ) : ?>
679
+ <p><?php echo do_shortcode($tab['eael_adv_accordion_tab_content']); ?></p>
680
+ <?php elseif( 'template' == $tab['eael_adv_accordion_text_type'] ) :
681
+ if ( !empty( $tab['eael_primary_templates'] ) ) {
682
+ $eael_template_id = $tab['eael_primary_templates'];
683
+ $eael_frontend = new Frontend;
684
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
685
+ }
686
+ endif; ?>
687
  </div>
688
  </div>
689
  <?php endforeach; ?>
elements/advance-tabs/advance-tabs.php CHANGED
@@ -31,6 +31,19 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
31
  'label' => esc_html__( 'General Settings', 'essential-addons-elementor' )
32
  ]
33
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  $this->add_control(
35
  'eael_adv_tabs_icon_show',
36
  [
@@ -83,7 +96,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
83
  'label' => __( 'Set as Default', 'essential-addons-elementor' ),
84
  'type' => Controls_Manager::SWITCHER,
85
  'default' => 'inactive',
86
- 'return_value' => 'active',
87
  ],
88
  [
89
  'name' => 'eael_adv_tabs_tab_title_icon',
@@ -95,13 +108,37 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
95
  'name' => 'eael_adv_tabs_tab_title',
96
  'label' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
97
  'type' => Controls_Manager::TEXT,
98
- 'default' => esc_html__( 'Tab Title', 'essential-addons-elementor' )
 
99
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  [
101
  'name' => 'eael_adv_tabs_tab_content',
102
  'label' => esc_html__( 'Tab Content', 'essential-addons-elementor' ),
103
  'type' => Controls_Manager::WYSIWYG,
104
- 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur.', 'essential-addons-elementor' )
 
 
 
 
105
  ],
106
  ],
107
  'title_field' => '{{eael_adv_tabs_tab_title}}',
@@ -133,7 +170,6 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
133
  ]
134
  );
135
  $this->end_controls_section();
136
-
137
  /**
138
  * -------------------------------------------
139
  * Tab Style Advance Tabs Generel Style
@@ -211,7 +247,33 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
211
  Group_Control_Typography::get_type(),
212
  [
213
  'name' => 'eael_adv_tabs_tab_title_typography',
214
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  ]
216
  );
217
  $this->add_responsive_control(
@@ -232,7 +294,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
232
  ]
233
  ],
234
  'selectors' => [
235
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a .fa' => 'font-size: {{SIZE}}{{UNIT}};',
236
  ]
237
  ]
238
  );
@@ -254,8 +316,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
254
  ]
255
  ],
256
  'selectors' => [
257
- '{{WRAPPER}} .eael-tab-inline-icon li a .fa' => 'margin-right: {{SIZE}}{{UNIT}};',
258
- '{{WRAPPER}} .eael-tab-top-icon li a .fa' => 'margin-bottom: {{SIZE}}{{UNIT}};',
259
  ]
260
  ]
261
  );
@@ -266,7 +328,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
266
  'type' => Controls_Manager::DIMENSIONS,
267
  'size_units' => [ 'px', 'em', '%' ],
268
  'selectors' => [
269
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
270
  ],
271
  ]
272
  );
@@ -277,7 +339,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
277
  'type' => Controls_Manager::DIMENSIONS,
278
  'size_units' => [ 'px', 'em', '%' ],
279
  'selectors' => [
280
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
281
  ],
282
  ]
283
  );
@@ -292,7 +354,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
292
  'type' => Controls_Manager::COLOR,
293
  'default' => '#f1f1f1',
294
  'selectors' => [
295
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a' => 'background-color: {{VALUE}};',
296
  ],
297
  ]
298
  );
@@ -303,7 +365,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
303
  'type' => Controls_Manager::COLOR,
304
  'default' => '#333',
305
  'selectors' => [
306
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a' => 'color: {{VALUE}};',
307
  ],
308
  ]
309
  );
@@ -314,7 +376,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
314
  'type' => Controls_Manager::COLOR,
315
  'default' => '#333',
316
  'selectors' => [
317
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a .fa' => 'color: {{VALUE}};',
318
  ],
319
  'condition' => [
320
  'eael_adv_tabs_icon_show' => 'yes'
@@ -326,7 +388,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
326
  [
327
  'name' => 'eael_adv_tabs_tab_border',
328
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
329
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a',
330
  ]
331
  );
332
  $this->add_responsive_control(
@@ -336,7 +398,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
336
  'type' => Controls_Manager::DIMENSIONS,
337
  'size_units' => [ 'px', 'em', '%' ],
338
  'selectors' => [
339
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
340
  ],
341
  ]
342
  );
@@ -350,7 +412,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
350
  'type' => Controls_Manager::COLOR,
351
  'default' => '#f1f1f1',
352
  'selectors' => [
353
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a:hover' => 'background-color: {{VALUE}};',
354
  ],
355
  ]
356
  );
@@ -361,7 +423,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
361
  'type' => Controls_Manager::COLOR,
362
  'default' => '#333',
363
  'selectors' => [
364
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a:hover' => 'color: {{VALUE}};',
365
  ],
366
  ]
367
  );
@@ -372,7 +434,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
372
  'type' => Controls_Manager::COLOR,
373
  'default' => '#333',
374
  'selectors' => [
375
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a:hover .fa' => 'color: {{VALUE}};',
376
  ],
377
  'condition' => [
378
  'eael_adv_tabs_icon_show' => 'yes'
@@ -384,7 +446,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
384
  [
385
  'name' => 'eael_adv_tabs_tab_border_hover',
386
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
387
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a:hover',
388
  ]
389
  );
390
  $this->add_responsive_control(
@@ -394,7 +456,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
394
  'type' => Controls_Manager::DIMENSIONS,
395
  'size_units' => [ 'px', 'em', '%' ],
396
  'selectors' => [
397
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
398
  ],
399
  ]
400
  );
@@ -408,7 +470,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
408
  'type' => Controls_Manager::COLOR,
409
  'default' => '#444',
410
  'selectors' => [
411
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active' => 'background-color: {{VALUE}};',
 
412
  ],
413
  ]
414
  );
@@ -419,7 +482,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
419
  'type' => Controls_Manager::COLOR,
420
  'default' => '#fff',
421
  'selectors' => [
422
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active' => 'color: {{VALUE}};',
 
423
  ],
424
  ]
425
  );
@@ -430,7 +494,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
430
  'type' => Controls_Manager::COLOR,
431
  'default' => '#fff',
432
  'selectors' => [
433
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active .fa' => 'color: {{VALUE}};',
 
434
  ],
435
  'condition' => [
436
  'eael_adv_tabs_icon_show' => 'yes'
@@ -442,7 +507,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
442
  [
443
  'name' => 'eael_adv_tabs_tab_border_active',
444
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
445
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active',
446
  ]
447
  );
448
  $this->add_responsive_control(
@@ -452,7 +517,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
452
  'type' => Controls_Manager::DIMENSIONS,
453
  'size_units' => [ 'px', 'em', '%' ],
454
  'selectors' => [
455
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
 
456
  ],
457
  ]
458
  );
@@ -479,7 +545,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
479
  'type' => Controls_Manager::COLOR,
480
  'default' => '',
481
  'selectors' => [
482
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content' => 'background-color: {{VALUE}};',
483
  ],
484
  ]
485
  );
@@ -490,7 +556,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
490
  'type' => Controls_Manager::COLOR,
491
  'default' => '#333',
492
  'selectors' => [
493
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content' => 'color: {{VALUE}};',
494
  ],
495
  ]
496
  );
@@ -498,7 +564,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
498
  Group_Control_Typography::get_type(),
499
  [
500
  'name' => 'eael_adv_tabs_content_typography',
501
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content',
502
  ]
503
  );
504
  $this->add_responsive_control(
@@ -508,7 +574,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
508
  'type' => Controls_Manager::DIMENSIONS,
509
  'size_units' => [ 'px', 'em', '%' ],
510
  'selectors' => [
511
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
512
  ],
513
  ]
514
  );
@@ -519,7 +585,7 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
519
  'type' => Controls_Manager::DIMENSIONS,
520
  'size_units' => [ 'px', 'em', '%' ],
521
  'selectors' => [
522
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
523
  ],
524
  ]
525
  );
@@ -528,14 +594,14 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
528
  [
529
  'name' => 'eael_adv_tabs_content_border',
530
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
531
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content',
532
  ]
533
  );
534
  $this->add_group_control(
535
  Group_Control_Box_Shadow::get_type(),
536
  [
537
  'name' => 'eael_adv_tabs_content_shadow',
538
- 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tab-contents .eael-tab-content',
539
  'separator' => 'before'
540
  ]
541
  );
@@ -576,7 +642,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
576
  ],
577
  ],
578
  'selectors' => [
579
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active:after' => 'border-width: {{SIZE}}px; bottom: -{{SIZE}}px',
 
580
  ],
581
  'condition' => [
582
  'eael_adv_tabs_tab_caret_show' => 'yes'
@@ -590,7 +657,8 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
590
  'type' => Controls_Manager::COLOR,
591
  'default' => '#444',
592
  'selectors' => [
593
- '{{WRAPPER}} .eael-advance-tabs .eael-tab-navs li a.active:after' => 'border-top-color: {{VALUE}};',
 
594
  ],
595
  'condition' => [
596
  'eael_adv_tabs_tab_caret_show' => 'yes'
@@ -602,63 +670,86 @@ class Widget_Eael_Adv_Tabs extends Widget_Base {
602
 
603
  protected function render() {
604
 
605
- $settings = $this->get_settings();
606
  $eael_find_default_tab = array();
607
  $eael_adv_tab_id = 1;
608
  $eael_adv_tab_content_id = 1;
609
  ?>
610
- <div class="eael-advance-tabs" id="eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?>">
611
- <ul class="eael-tab-navs <?php echo esc_attr( $settings['eael_adv_tab_icon_position'] ); ?>">
612
- <?php foreach( $settings['eael_adv_tabs_tab'] as $tab ) : ?>
613
- <li><a hreg="javascript:;" data-eael-tab-id="eael-adv-tab-<?php echo esc_attr($eael_adv_tab_id); ?>" class="<?php echo esc_attr( $tab['eael_adv_tabs_tab_show_as_default'] ); ?>"><?php if( $settings['eael_adv_tabs_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $tab['eael_adv_tabs_tab_title_icon'] ); ?>"></i><?php endif; ?> <span class="eael-tab-title"><?php echo $tab['eael_adv_tabs_tab_title']; ?></span></a></li>
614
- <?php $eael_adv_tab_id++; endforeach; ?>
615
- </ul>
616
- <div class="eael-tab-contents">
617
- <?php foreach( $settings['eael_adv_tabs_tab'] as $tab ) : $eael_find_default_tab[] = $tab['eael_adv_tabs_tab_show_as_default'];?>
618
- <div class="eael-tab-content clearfix <?php echo esc_attr( $tab['eael_adv_tabs_tab_show_as_default'] ); ?>" id="eael-adv-tab-<?php echo esc_attr($eael_adv_tab_content_id); ?>">
619
- <?php echo do_shortcode( $tab['eael_adv_tabs_tab_content'] ); ?>
620
- </div>
621
- <?php $eael_adv_tab_content_id++; endforeach;?>
622
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
623
  </div>
624
  <script>
625
  jQuery(document).ready(function($) {
626
- var $eaelTab = $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?>');
627
- var $eaelTabNavLi = $eaelTab.find('.eael-tab-navs li');
628
- var $eaelTabNavs = $eaelTab.find('.eael-tab-navs li a');
 
 
 
 
629
 
630
- var $eaelTabContents = $eaelTab.find('.eael-tab-contents');
631
- <?php
632
- if( in_array('active', $eael_find_default_tab) ) {
633
- // Do nothing
634
- }else {
635
- ?>
636
- $eaelTabNavLi.each( function(i) {
637
- if( i < 1 ) {
638
- $(this).find('a').removeClass('inactive').addClass('active');
639
  }
640
- } );
641
- $eaelTabContents.find('.eael-tab-content').each( function(i) {
642
- if( i < 1 ) {
 
 
 
 
 
643
  $(this).removeClass('inactive').addClass('active');
644
  }
645
- } );
646
- <?php
647
- }
648
- ?>
649
- $eaelTabNavs.on('click', function(e) {
650
- e.preventDefault();
651
- $eaelTabNavs.removeClass('active');
652
- var $eaelTabCotnentId = $(this).data('eael-tab-id');
653
- $(this).addClass('active');
654
- $eaelTabContents.find('.eael-tab-content').removeClass('inactive active');
655
- $eaelTabContents.find('#'+$eaelTabCotnentId).addClass('active');
 
 
 
 
 
 
 
 
 
 
 
656
  });
657
  });
658
  </script>
659
  <?php if( $settings['eael_adv_tabs_tab_caret_show'] !== 'yes' ) : ?>
660
  <style>
661
- #eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tab-navs li a.active:after {
662
  display: none;
663
  }
664
  </style>
31
  'label' => esc_html__( 'General Settings', 'essential-addons-elementor' )
32
  ]
33
  );
34
+ $this->add_control(
35
+ 'eael_adv_tab_layout',
36
+ [
37
+ 'label' => esc_html__( 'Layout', 'essential-addons-elementor' ),
38
+ 'type' => Controls_Manager::SELECT,
39
+ 'default' => 'eael-tabs-horizontal',
40
+ 'label_block' => false,
41
+ 'options' => [
42
+ 'eael-tabs-horizontal' => esc_html__( 'Horizontal', 'essential-addons-elementor' ),
43
+ 'eael-tabs-vertical' => esc_html__( 'Vertical', 'essential-addons-elementor' ),
44
+ ],
45
+ ]
46
+ );
47
  $this->add_control(
48
  'eael_adv_tabs_icon_show',
49
  [
96
  'label' => __( 'Set as Default', 'essential-addons-elementor' ),
97
  'type' => Controls_Manager::SWITCHER,
98
  'default' => 'inactive',
99
+ 'return_value' => 'active-default',
100
  ],
101
  [
102
  'name' => 'eael_adv_tabs_tab_title_icon',
108
  'name' => 'eael_adv_tabs_tab_title',
109
  'label' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
110
  'type' => Controls_Manager::TEXT,
111
+ 'default' => esc_html__( 'Tab Title', 'essential-addons-elementor' ),
112
+ 'dynamic' => [ 'active' => true ]
113
  ],
114
+ [
115
+ 'name' => 'eael_adv_tabs_text_type',
116
+ 'label' => __( 'Content Type', 'essential-addons-elementor' ),
117
+ 'type' => Controls_Manager::SELECT,
118
+ 'options' => [
119
+ 'content' => __( 'Content', 'essential-addons-elementor' ),
120
+ 'template' => __( 'Saved Templates', 'essential-addons-elementor' ),
121
+ ],
122
+ 'default' => 'content',
123
+ ],
124
+ [
125
+ 'name' => 'eael_primary_templates',
126
+ 'label' => __( 'Choose Template', 'essential-addons-elementor' ),
127
+ 'type' => Controls_Manager::SELECT,
128
+ 'options' => eael_get_page_templates(),
129
+ 'condition' => [
130
+ 'eael_adv_tabs_text_type' => 'template',
131
+ ],
132
+ ],
133
  [
134
  'name' => 'eael_adv_tabs_tab_content',
135
  'label' => esc_html__( 'Tab Content', 'essential-addons-elementor' ),
136
  'type' => Controls_Manager::WYSIWYG,
137
+ 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur.', 'essential-addons-elementor' ),
138
+ 'dynamic' => [ 'active' => true ],
139
+ 'condition' => [
140
+ 'eael_adv_tabs_text_type' => 'content',
141
+ ],
142
  ],
143
  ],
144
  'title_field' => '{{eael_adv_tabs_tab_title}}',
170
  ]
171
  );
172
  $this->end_controls_section();
 
173
  /**
174
  * -------------------------------------------
175
  * Tab Style Advance Tabs Generel Style
247
  Group_Control_Typography::get_type(),
248
  [
249
  'name' => 'eael_adv_tabs_tab_title_typography',
250
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li',
251
+ ]
252
+ );
253
+ $this->add_responsive_control(
254
+ 'eael_adv_tabs_title_width',
255
+ [
256
+ 'label' => __( 'Title Min Width', 'essential-addons-elementor' ),
257
+ 'type' => Controls_Manager::SLIDER,
258
+ 'size_units' => [ 'px', 'em' ],
259
+ 'range' => [
260
+ 'px' => [
261
+ 'min' => 0,
262
+ 'max' => 1000,
263
+ 'step' => 1,
264
+ ],
265
+ 'em' => [
266
+ 'min' => 0,
267
+ 'max' => 50,
268
+ 'step' => 1,
269
+ ]
270
+ ],
271
+ 'selectors' => [
272
+ '{{WRAPPER}} .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul' => 'min-width: {{SIZE}}{{UNIT}};',
273
+ ],
274
+ 'condition' => [
275
+ 'eael_adv_tab_layout' => 'eael-tabs-vertical'
276
+ ]
277
  ]
278
  );
279
  $this->add_responsive_control(
294
  ]
295
  ],
296
  'selectors' => [
297
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li .fa' => 'font-size: {{SIZE}}{{UNIT}};',
298
  ]
299
  ]
300
  );
316
  ]
317
  ],
318
  'selectors' => [
319
+ '{{WRAPPER}} .eael-tab-inline-icon li .fa' => 'margin-right: {{SIZE}}{{UNIT}};',
320
+ '{{WRAPPER}} .eael-tab-top-icon li .fa' => 'margin-bottom: {{SIZE}}{{UNIT}};',
321
  ]
322
  ]
323
  );
328
  'type' => Controls_Manager::DIMENSIONS,
329
  'size_units' => [ 'px', 'em', '%' ],
330
  'selectors' => [
331
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
332
  ],
333
  ]
334
  );
339
  'type' => Controls_Manager::DIMENSIONS,
340
  'size_units' => [ 'px', 'em', '%' ],
341
  'selectors' => [
342
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
343
  ],
344
  ]
345
  );
354
  'type' => Controls_Manager::COLOR,
355
  'default' => '#f1f1f1',
356
  'selectors' => [
357
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li' => 'background-color: {{VALUE}};',
358
  ],
359
  ]
360
  );
365
  'type' => Controls_Manager::COLOR,
366
  'default' => '#333',
367
  'selectors' => [
368
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li' => 'color: {{VALUE}};',
369
  ],
370
  ]
371
  );
376
  'type' => Controls_Manager::COLOR,
377
  'default' => '#333',
378
  'selectors' => [
379
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li .fa' => 'color: {{VALUE}};',
380
  ],
381
  'condition' => [
382
  'eael_adv_tabs_icon_show' => 'yes'
388
  [
389
  'name' => 'eael_adv_tabs_tab_border',
390
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
391
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li',
392
  ]
393
  );
394
  $this->add_responsive_control(
398
  'type' => Controls_Manager::DIMENSIONS,
399
  'size_units' => [ 'px', 'em', '%' ],
400
  'selectors' => [
401
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
402
  ],
403
  ]
404
  );
412
  'type' => Controls_Manager::COLOR,
413
  'default' => '#f1f1f1',
414
  'selectors' => [
415
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:hover' => 'background-color: {{VALUE}};',
416
  ],
417
  ]
418
  );
423
  'type' => Controls_Manager::COLOR,
424
  'default' => '#333',
425
  'selectors' => [
426
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:hover' => 'color: {{VALUE}};',
427
  ],
428
  ]
429
  );
434
  'type' => Controls_Manager::COLOR,
435
  'default' => '#333',
436
  'selectors' => [
437
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:hover .fa' => 'color: {{VALUE}};',
438
  ],
439
  'condition' => [
440
  'eael_adv_tabs_icon_show' => 'yes'
446
  [
447
  'name' => 'eael_adv_tabs_tab_border_hover',
448
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
449
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:hover',
450
  ]
451
  );
452
  $this->add_responsive_control(
456
  'type' => Controls_Manager::DIMENSIONS,
457
  'size_units' => [ 'px', 'em', '%' ],
458
  'selectors' => [
459
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
460
  ],
461
  ]
462
  );
470
  'type' => Controls_Manager::COLOR,
471
  'default' => '#444',
472
  'selectors' => [
473
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active' => 'background-color: {{VALUE}};',
474
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active-default' => 'background-color: {{VALUE}};',
475
  ],
476
  ]
477
  );
482
  'type' => Controls_Manager::COLOR,
483
  'default' => '#fff',
484
  'selectors' => [
485
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active' => 'color: {{VALUE}};',
486
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active-deafult' => 'color: {{VALUE}};',
487
  ],
488
  ]
489
  );
494
  'type' => Controls_Manager::COLOR,
495
  'default' => '#fff',
496
  'selectors' => [
497
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active .fa' => 'color: {{VALUE}};',
498
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active-default .fa' => 'color: {{VALUE}};',
499
  ],
500
  'condition' => [
501
  'eael_adv_tabs_icon_show' => 'yes'
507
  [
508
  'name' => 'eael_adv_tabs_tab_border_active',
509
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
510
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active, {{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active-default',
511
  ]
512
  );
513
  $this->add_responsive_control(
517
  'type' => Controls_Manager::DIMENSIONS,
518
  'size_units' => [ 'px', 'em', '%' ],
519
  'selectors' => [
520
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
521
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li.active-default' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
522
  ],
523
  ]
524
  );
545
  'type' => Controls_Manager::COLOR,
546
  'default' => '',
547
  'selectors' => [
548
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div' => 'background-color: {{VALUE}};',
549
  ],
550
  ]
551
  );
556
  'type' => Controls_Manager::COLOR,
557
  'default' => '#333',
558
  'selectors' => [
559
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div' => 'color: {{VALUE}};',
560
  ],
561
  ]
562
  );
564
  Group_Control_Typography::get_type(),
565
  [
566
  'name' => 'eael_adv_tabs_content_typography',
567
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div',
568
  ]
569
  );
570
  $this->add_responsive_control(
574
  'type' => Controls_Manager::DIMENSIONS,
575
  'size_units' => [ 'px', 'em', '%' ],
576
  'selectors' => [
577
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
578
  ],
579
  ]
580
  );
585
  'type' => Controls_Manager::DIMENSIONS,
586
  'size_units' => [ 'px', 'em', '%' ],
587
  'selectors' => [
588
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
589
  ],
590
  ]
591
  );
594
  [
595
  'name' => 'eael_adv_tabs_content_border',
596
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
597
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div',
598
  ]
599
  );
600
  $this->add_group_control(
601
  Group_Control_Box_Shadow::get_type(),
602
  [
603
  'name' => 'eael_adv_tabs_content_shadow',
604
+ 'selector' => '{{WRAPPER}} .eael-advance-tabs .eael-tabs-content > div',
605
  'separator' => 'before'
606
  ]
607
  );
642
  ],
643
  ],
644
  'selectors' => [
645
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:after' => 'border-width: {{SIZE}}px; bottom: -{{SIZE}}px',
646
+ '{{WRAPPER}} .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul li:after' => 'right: -{{SIZE}}px; top: calc(50% - {{SIZE}}px) !important;',
647
  ],
648
  'condition' => [
649
  'eael_adv_tabs_tab_caret_show' => 'yes'
657
  'type' => Controls_Manager::COLOR,
658
  'default' => '#444',
659
  'selectors' => [
660
+ '{{WRAPPER}} .eael-advance-tabs .eael-tabs-nav > ul li:after' => 'border-top-color: {{VALUE}};',
661
+ '{{WRAPPER}} .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul li:after' => 'border-top-color: transparent; border-left-color: {{VALUE}};',
662
  ],
663
  'condition' => [
664
  'eael_adv_tabs_tab_caret_show' => 'yes'
670
 
671
  protected function render() {
672
 
673
+ $settings = $this->get_settings_for_display();
674
  $eael_find_default_tab = array();
675
  $eael_adv_tab_id = 1;
676
  $eael_adv_tab_content_id = 1;
677
  ?>
678
+ <div id="eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?>" class="eael-advance-tabs <?php echo esc_attr( $settings['eael_adv_tab_layout'] ); ?>">
679
+ <div class="eael-tabs-nav">
680
+ <ul class="<?php echo esc_attr( $settings['eael_adv_tab_icon_position'] ); ?>">
681
+ <?php foreach( $settings['eael_adv_tabs_tab'] as $tab ) : ?>
682
+ <li class="<?php echo esc_attr( $tab['eael_adv_tabs_tab_show_as_default'] ); ?>"><?php if( $settings['eael_adv_tabs_icon_show'] === 'yes' ) : ?><i class="<?php echo esc_attr( $tab['eael_adv_tabs_tab_title_icon'] ); ?>"></i><?php endif; ?> <span class="eael-tab-title"><?php echo $tab['eael_adv_tabs_tab_title']; ?></span></li>
683
+ <?php endforeach; ?>
684
+ </ul>
685
+ </div>
686
+ <div class="eael-tabs-content">
687
+ <?php foreach( $settings['eael_adv_tabs_tab'] as $tab ) : $eael_find_default_tab[] = $tab['eael_adv_tabs_tab_show_as_default'];?>
688
+ <div class="clearfix <?php echo esc_attr( $tab['eael_adv_tabs_tab_show_as_default'] ); ?>">
689
+ <?php if( 'content' == $tab['eael_adv_tabs_text_type'] ) : ?>
690
+ <?php echo do_shortcode( $tab['eael_adv_tabs_tab_content'] ); ?>
691
+ <?php elseif( 'template' == $tab['eael_adv_tabs_text_type'] ) : ?>
692
+ <?php
693
+ if ( !empty( $tab['eael_primary_templates'] ) ) {
694
+ $eael_template_id = $tab['eael_primary_templates'];
695
+ $eael_frontend = new Frontend;
696
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
697
+ }
698
+ ?>
699
+ <?php endif; ?>
700
+ </div>
701
+ <?php endforeach; ?>
702
+ </div>
703
  </div>
704
  <script>
705
  jQuery(document).ready(function($) {
706
+ $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-nav ul li').each( function(index) {
707
+ if( $(this).hasClass('active-default') ) {
708
+ $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-nav > ul li').removeClass('active').addClass('inactive');
709
+ $(this).removeClass('inactive');
710
+ }else {
711
+ if( index == 0 ) {
712
+ $(this).removeClass('inactive').addClass('active');
713
 
 
 
 
 
 
 
 
 
 
714
  }
715
+ }
716
+
717
+ } );
718
+ $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-content div').each( function(index) {
719
+ if( $(this).hasClass('active-default') ) {
720
+ $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-content > div').removeClass('active');
721
+ }else {
722
+ if( index == 0 ) {
723
  $(this).removeClass('inactive').addClass('active');
724
  }
725
+ }
726
+
727
+ } );
728
+ $('#eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-nav ul li').click(function(){
729
+
730
+ var currentTabIndex = $(this).index();
731
+ var tabsContainer = $(this).closest('.eael-advance-tabs');
732
+ var tabsNav = $(tabsContainer).children('.eael-tabs-nav').children('ul').children('li');
733
+ var tabsContent = $(tabsContainer).children('.eael-tabs-content').children('div');
734
+
735
+ $(this).parent('li').addClass('active');
736
+
737
+ $(tabsNav).removeClass('active active-default').addClass('inactive');
738
+ $(this).addClass('active').removeClass('inactive');
739
+
740
+ $(tabsContent).removeClass('active').addClass('inactive');
741
+ $(tabsContent).eq(currentTabIndex).addClass('active').removeClass('inactive');
742
+
743
+ $(tabsContent).each( function(index) {
744
+ $(this).removeClass('active-default');
745
+ });
746
+
747
  });
748
  });
749
  </script>
750
  <?php if( $settings['eael_adv_tabs_tab_caret_show'] !== 'yes' ) : ?>
751
  <style>
752
+ #eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-nav > ul li.active:after, #eael-advance-tabs-<?php echo esc_attr( $this->get_id() ); ?> .eael-tabs-nav > ul li.active-default:after {
753
  display: none;
754
  }
755
  </style>
elements/call-to-action/call-to-action.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  namespace Elementor;
3
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
@@ -20,7 +20,7 @@ class Widget_Eael_Cta_Box extends Widget_Base {
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
-
24
  protected function _register_controls() {
25
 
26
  /**
@@ -99,27 +99,55 @@ class Widget_Eael_Cta_Box extends Widget_Base {
99
  ]
100
  );
101
 
102
- $this->add_control(
103
  'eael_cta_title',
104
  [
105
  'label' => esc_html__( 'Title', 'essential-addons-elementor' ),
106
  'type' => Controls_Manager::TEXT,
107
  'label_block' => true,
108
- 'default' => esc_html__( 'The Ultimate Addons For Elementor', 'essential-addons-elementor' )
 
109
  ]
110
  );
111
- $this->add_control(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  'eael_cta_content',
113
  [
114
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
115
- 'type' => Controls_Manager::TEXTAREA,
116
  'label_block' => true,
117
  'default' => esc_html__( 'Add a strong one liner supporting the heading above and giving users a reason to click on the button below.', 'essential-addons-elementor' ),
118
- 'separator' => 'after'
 
 
 
119
  ]
120
  );
121
 
122
- $this->add_control(
123
  'eael_cta_btn_text',
124
  [
125
  'label' => esc_html__( 'Button Text', 'essential-addons-elementor' ),
@@ -129,7 +157,7 @@ class Widget_Eael_Cta_Box extends Widget_Base {
129
  ]
130
  );
131
 
132
- $this->add_control(
133
  'eael_cta_btn_link',
134
  [
135
  'label' => esc_html__( 'Button Link', 'essential-addons-elementor' ),
@@ -167,13 +195,15 @@ class Widget_Eael_Cta_Box extends Widget_Base {
167
 
168
  $this->end_controls_section();
169
 
170
- $this->start_controls_section(
 
 
 
171
  'eael_section_pro',
172
  [
173
  'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
174
  ]
175
  );
176
-
177
  $this->add_control(
178
  'eael_control_get_pro',
179
  [
@@ -189,8 +219,7 @@ class Widget_Eael_Cta_Box extends Widget_Base {
189
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
190
  ]
191
  );
192
-
193
- $this->end_controls_section();
194
 
195
  /**
196
  * -------------------------------------------
@@ -614,8 +643,8 @@ class Widget_Eael_Cta_Box extends Widget_Base {
614
 
615
 
616
  protected function render( ) {
617
-
618
- $settings = $this->get_settings();
619
  $target = $settings['eael_cta_btn_link']['is_external'] ? 'target="_blank"' : '';
620
  $nofollow = $settings['eael_cta_btn_link']['nofollow'] ? 'rel="nofollow"' : '';
621
  if( 'cta-bg-color' == $settings['eael_cta_color_type'] ) {
@@ -643,20 +672,40 @@ class Widget_Eael_Cta_Box extends Widget_Base {
643
  }else {
644
  $cta_btn_effect = '';
645
  }
646
-
647
  ?>
648
  <?php if( 'cta-basic' == $settings['eael_cta_type'] ) : ?>
649
  <div class="eael-call-to-action <?php echo esc_attr( $cta_class ); ?> <?php echo esc_attr( $cta_alignment ); ?>">
650
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
 
651
  <p><?php echo $settings['eael_cta_content']; ?></p>
 
 
 
 
 
 
 
 
 
652
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
653
- </div>
654
  <?php endif; ?>
655
  <?php if( 'cta-flex' == $settings['eael_cta_type'] ) : ?>
656
  <div class="eael-call-to-action cta-flex <?php echo esc_attr( $cta_class ); ?>">
657
  <div class="content">
658
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
659
- <p><?php echo $settings['eael_cta_content']; ?></p>
 
 
 
 
 
 
 
 
 
 
660
  </div>
661
  <div class="action">
662
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
@@ -670,7 +719,17 @@ class Widget_Eael_Cta_Box extends Widget_Base {
670
  </div>
671
  <div class="content">
672
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
673
- <p><?php echo $settings['eael_cta_content']; ?></p>
 
 
 
 
 
 
 
 
 
 
674
  </div>
675
  <div class="action">
676
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
@@ -681,10 +740,10 @@ class Widget_Eael_Cta_Box extends Widget_Base {
681
  }
682
 
683
  protected function content_template() {
684
-
685
  ?>
686
-
687
-
688
  <?php
689
  }
690
  }
1
+ <?php
2
  namespace Elementor;
3
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
+
24
  protected function _register_controls() {
25
 
26
  /**
99
  ]
100
  );
101
 
102
+ $this->add_control(
103
  'eael_cta_title',
104
  [
105
  'label' => esc_html__( 'Title', 'essential-addons-elementor' ),
106
  'type' => Controls_Manager::TEXT,
107
  'label_block' => true,
108
+ 'default' => esc_html__( 'The Ultimate Addons For Elementor', 'essential-addons-elementor' ),
109
+ 'dynamic' => [ 'active' => true ]
110
  ]
111
  );
112
+ $this->add_control(
113
+ 'eael_cta_title_content_type',
114
+ [
115
+ 'label' => __( 'Content Type', 'essential-addons-elementor' ),
116
+ 'type' => Controls_Manager::SELECT,
117
+ 'options' => [
118
+ 'content' => __( 'Content', 'essential-addons-elementor' ),
119
+ 'template' => __( 'Saved Templates', 'essential-addons-elementor' ),
120
+ ],
121
+ 'default' => 'content',
122
+ ]
123
+ );
124
+
125
+ $this->add_control(
126
+ 'eael_primary_templates',
127
+ [
128
+ 'label' => __( 'Choose Template', 'essential-addons-elementor' ),
129
+ 'type' => Controls_Manager::SELECT,
130
+ 'options' => eael_get_page_templates(),
131
+ 'condition' => [
132
+ 'eael_cta_title_content_type' => 'template',
133
+ ],
134
+ ]
135
+ );
136
+ $this->add_control(
137
  'eael_cta_content',
138
  [
139
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
140
+ 'type' => Controls_Manager::WYSIWYG,
141
  'label_block' => true,
142
  'default' => esc_html__( 'Add a strong one liner supporting the heading above and giving users a reason to click on the button below.', 'essential-addons-elementor' ),
143
+ 'separator' => 'after',
144
+ 'condition' => [
145
+ 'eael_cta_title_content_type' => 'content'
146
+ ]
147
  ]
148
  );
149
 
150
+ $this->add_control(
151
  'eael_cta_btn_text',
152
  [
153
  'label' => esc_html__( 'Button Text', 'essential-addons-elementor' ),
157
  ]
158
  );
159
 
160
+ $this->add_control(
161
  'eael_cta_btn_link',
162
  [
163
  'label' => esc_html__( 'Button Link', 'essential-addons-elementor' ),
195
 
196
  $this->end_controls_section();
197
 
198
+ /**
199
+ * Go Premium For More Features
200
+ */
201
+ $this->start_controls_section(
202
  'eael_section_pro',
203
  [
204
  'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
205
  ]
206
  );
 
207
  $this->add_control(
208
  'eael_control_get_pro',
209
  [
219
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
220
  ]
221
  );
222
+ $this->end_controls_section();
 
223
 
224
  /**
225
  * -------------------------------------------
643
 
644
 
645
  protected function render( ) {
646
+
647
+ $settings = $this->get_settings_for_display();
648
  $target = $settings['eael_cta_btn_link']['is_external'] ? 'target="_blank"' : '';
649
  $nofollow = $settings['eael_cta_btn_link']['nofollow'] ? 'rel="nofollow"' : '';
650
  if( 'cta-bg-color' == $settings['eael_cta_color_type'] ) {
672
  }else {
673
  $cta_btn_effect = '';
674
  }
675
+
676
  ?>
677
  <?php if( 'cta-basic' == $settings['eael_cta_type'] ) : ?>
678
  <div class="eael-call-to-action <?php echo esc_attr( $cta_class ); ?> <?php echo esc_attr( $cta_alignment ); ?>">
679
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
680
+ <?php if( 'content' == $settings['eael_cta_title_content_type'] ) : ?>
681
  <p><?php echo $settings['eael_cta_content']; ?></p>
682
+ <?php elseif( 'template' == $settings['eael_cta_title_content_type'] ) : ?>
683
+ <?php
684
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
685
+ $eael_template_id = $settings['eael_primary_templates'];
686
+ $eael_frontend = new Frontend;
687
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
688
+ }
689
+ ?>
690
+ <?php endif; ?>
691
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
692
+ </div>
693
  <?php endif; ?>
694
  <?php if( 'cta-flex' == $settings['eael_cta_type'] ) : ?>
695
  <div class="eael-call-to-action cta-flex <?php echo esc_attr( $cta_class ); ?>">
696
  <div class="content">
697
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
698
+ <?php if( 'content' == $settings['eael_cta_title_content_type'] ) : ?>
699
+ <p><?php echo $settings['eael_cta_content']; ?></p>
700
+ <?php elseif( 'template' == $settings['eael_cta_title_content_type'] ) : ?>
701
+ <?php
702
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
703
+ $eael_template_id = $settings['eael_primary_templates'];
704
+ $eael_frontend = new Frontend;
705
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
706
+ }
707
+ ?>
708
+ <?php endif; ?>
709
  </div>
710
  <div class="action">
711
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
719
  </div>
720
  <div class="content">
721
  <h2 class="title"><?php echo $settings['eael_cta_title']; ?></h2>
722
+ <?php if( 'content' == $settings['eael_cta_title_content_type'] ) : ?>
723
+ <p><?php echo $settings['eael_cta_content']; ?></p>
724
+ <?php elseif( 'template' == $settings['eael_cta_title_content_type'] ) : ?>
725
+ <?php
726
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
727
+ $eael_template_id = $settings['eael_primary_templates'];
728
+ $eael_frontend = new Frontend;
729
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
730
+ }
731
+ ?>
732
+ <?php endif; ?>
733
  </div>
734
  <div class="action">
735
  <a href="<?php echo esc_url( $settings['eael_cta_btn_link']['url'] ); ?>" <?php echo $target; ?> class="cta-button <?php echo esc_attr( $cta_btn_effect ); ?>"><?php esc_html_e( $settings['eael_cta_btn_text'], 'essential-addons-elementor' ); ?></a>
740
  }
741
 
742
  protected function content_template() {
743
+
744
  ?>
745
+
746
+
747
  <?php
748
  }
749
  }
elements/dual-color-header/dual-color-header.php CHANGED
@@ -20,7 +20,7 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
-
24
  protected function _register_controls() {
25
 
26
  /**
@@ -49,21 +49,6 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
49
  ]
50
  );
51
 
52
- // $this->add_control(
53
- // 'eael_dch_color_type',
54
- // [
55
- // 'label' => esc_html__( 'Color Style', 'essential-addons-elementor' ),
56
- // 'type' => Controls_Manager::SELECT,
57
- // 'default' => 'dch-colored',
58
- // 'label_block' => false,
59
- // 'options' => [
60
- // 'dch-basic' => esc_html__( 'Basic', 'essential-addons-elementor' ),
61
- // 'dch-colored' => esc_html__( 'Colored', 'essential-addons-elementor' ),
62
- // 'dch-colored-reverse' => esc_html__( 'Reverse Color', 'essential-addons-elementor' ),
63
- // ],
64
- // ]
65
- // );
66
-
67
  $this->add_control(
68
  'eael_show_dch_icon_content',
69
  [
@@ -91,31 +76,33 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
91
  ]
92
  );
93
 
94
- $this->add_control(
95
  'eael_dch_first_title',
96
  [
97
  'label' => esc_html__( 'Title ( First Part )', 'essential-addons-elementor' ),
98
  'type' => Controls_Manager::TEXT,
99
  'label_block' => true,
100
- 'default' => esc_html__( 'Dual Heading', 'essential-addons-elementor' )
 
101
  ]
102
  );
103
 
104
- $this->add_control(
105
  'eael_dch_last_title',
106
  [
107
  'label' => esc_html__( 'Title ( Last Part )', 'essential-addons-elementor' ),
108
  'type' => Controls_Manager::TEXT,
109
  'label_block' => true,
110
- 'default' => esc_html__( 'Example', 'essential-addons-elementor' )
 
111
  ]
112
  );
113
 
114
- $this->add_control(
115
  'eael_dch_subtext',
116
  [
117
  'label' => esc_html__( 'Sub Text', 'essential-addons-elementor' ),
118
- 'type' => Controls_Manager::TEXTAREA,
119
  'label_block' => true,
120
  'default' => esc_html__( 'Insert a meaningful line to evaluate the headline.', 'essential-addons-elementor' )
121
  ]
@@ -395,14 +382,14 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
395
  }
396
 
397
  protected function render( ) {
398
-
399
- $settings = $this->get_settings();
400
 
401
  ?>
402
  <?php if( 'dch-default' == $settings['eael_dch_type'] ) : ?>
403
  <div class="eael-dual-header">
404
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
405
- <span class="subtext"><?php esc_html_e( $settings['eael_dch_subtext'], 'essential-addons-elementor' ); ?></span>
406
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
407
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
408
  <?php endif; ?>
@@ -415,7 +402,7 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
415
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
416
  <?php endif; ?>
417
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
418
- <span class="subtext"><?php esc_html_e( $settings['eael_dch_subtext'], 'essential-addons-elementor' ); ?></span>
419
  </div>
420
  <?php endif; ?>
421
 
@@ -424,14 +411,14 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
424
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
425
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
426
  <?php endif; ?>
427
- <span class="subtext"><?php esc_html_e( $settings['eael_dch_subtext'], 'essential-addons-elementor' ); ?></span>
428
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
429
  </div>
430
  <?php endif; ?>
431
 
432
  <?php if( 'dch-subtext-on-top' == $settings['eael_dch_type'] ) : ?>
433
  <div class="eael-dual-header">
434
- <span class="subtext"><?php esc_html_e( $settings['eael_dch_subtext'], 'essential-addons-elementor' ); ?></span>
435
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
436
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
437
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
@@ -444,7 +431,7 @@ class Widget_Eael_Dual_Color_Header extends Widget_Base {
444
 
445
  protected function content_template() {
446
  ?>
447
-
448
  <?php
449
  }
450
  }
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
+
24
  protected function _register_controls() {
25
 
26
  /**
49
  ]
50
  );
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  $this->add_control(
53
  'eael_show_dch_icon_content',
54
  [
76
  ]
77
  );
78
 
79
+ $this->add_control(
80
  'eael_dch_first_title',
81
  [
82
  'label' => esc_html__( 'Title ( First Part )', 'essential-addons-elementor' ),
83
  'type' => Controls_Manager::TEXT,
84
  'label_block' => true,
85
+ 'default' => esc_html__( 'Dual Heading', 'essential-addons-elementor' ),
86
+ 'dynamic' => [ 'action' => true ]
87
  ]
88
  );
89
 
90
+ $this->add_control(
91
  'eael_dch_last_title',
92
  [
93
  'label' => esc_html__( 'Title ( Last Part )', 'essential-addons-elementor' ),
94
  'type' => Controls_Manager::TEXT,
95
  'label_block' => true,
96
+ 'default' => esc_html__( 'Example', 'essential-addons-elementor' ),
97
+ 'dynamic' => [ 'action' => true ]
98
  ]
99
  );
100
 
101
+ $this->add_control(
102
  'eael_dch_subtext',
103
  [
104
  'label' => esc_html__( 'Sub Text', 'essential-addons-elementor' ),
105
+ 'type' => Controls_Manager::WYSIWYG,
106
  'label_block' => true,
107
  'default' => esc_html__( 'Insert a meaningful line to evaluate the headline.', 'essential-addons-elementor' )
108
  ]
382
  }
383
 
384
  protected function render( ) {
385
+
386
+ $settings = $this->get_settings_for_display();
387
 
388
  ?>
389
  <?php if( 'dch-default' == $settings['eael_dch_type'] ) : ?>
390
  <div class="eael-dual-header">
391
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
392
+ <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
393
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
394
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
395
  <?php endif; ?>
402
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
403
  <?php endif; ?>
404
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
405
+ <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
406
  </div>
407
  <?php endif; ?>
408
 
411
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
412
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
413
  <?php endif; ?>
414
+ <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
415
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
416
  </div>
417
  <?php endif; ?>
418
 
419
  <?php if( 'dch-subtext-on-top' == $settings['eael_dch_type'] ) : ?>
420
  <div class="eael-dual-header">
421
+ <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
422
  <h2 class="title"><span class="lead"><?php esc_html_e( $settings['eael_dch_first_title'], 'essential-addons-elementor' ); ?></span> <span><?php esc_html_e( $settings['eael_dch_last_title'], 'essential-addons-elementor' ); ?></span></h2>
423
  <?php if( 'yes' == $settings['eael_show_dch_icon_content'] ) : ?>
424
  <i class="<?php echo esc_attr( $settings['eael_dch_icon'] ); ?>"></i>
431
 
432
  protected function content_template() {
433
  ?>
434
+
435
  <?php
436
  }
437
  }
elements/fancy-text/fancy-text.php CHANGED
@@ -6,7 +6,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
6
 
7
 
8
  class Widget_Eael_Fancy_Text extends Widget_Base {
9
-
10
 
11
  public function get_name() {
12
  return 'eael-fancy-text';
@@ -35,14 +35,15 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
35
  ]
36
  );
37
 
38
-
39
  $this->add_control(
40
  'eael_fancy_text_prefix',
41
- [
42
  'label' => esc_html__( 'Prefix Text', 'essential-addons-elementor' ),
43
  'placeholder' => esc_html__( 'Place your prefix text', 'essential-addons-elementor' ),
44
- 'type' => Controls_Manager::TEXTAREA,
45
  'default' => esc_html__( 'This is the ', 'essential-addons-elementor' ),
 
46
  ]
47
  );
48
 
@@ -68,6 +69,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
68
  'label' => esc_html__( 'Fancy String', 'essential-addons-elementor' ),
69
  'type' => Controls_Manager::TEXT,
70
  'label_block' => true,
 
71
  ],
72
  ],
73
  'title_field' => '{{{ eael_fancy_text_strings_text_field }}}',
@@ -80,15 +82,16 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
80
  [
81
  'label' => esc_html__( 'Suffix Text', 'essential-addons-elementor' ),
82
  'placeholder' => esc_html__( 'Place your suffix text', 'essential-addons-elementor' ),
83
- 'type' => Controls_Manager::TEXTAREA,
84
  'default' => esc_html__( ' of the sentence.', 'essential-addons-elementor' ),
 
85
  ]
86
  );
87
-
88
-
89
 
90
  $this->end_controls_section();
91
-
92
  // Settings Control
93
  $this->start_controls_section(
94
  'eael_fancy_text_settings',
@@ -146,7 +149,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
146
  ],
147
  ]
148
  );
149
-
150
  $this->add_control(
151
  'eael_fancy_text_transition_type',
152
  [
@@ -166,7 +169,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
166
  ],
167
  ]
168
  );
169
-
170
 
171
  $this->add_control(
172
  'eael_fancy_text_speed',
@@ -179,7 +182,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
179
  ],
180
  ]
181
  );
182
-
183
  $this->add_control(
184
  'eael_fancy_text_delay',
185
  [
@@ -188,7 +191,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
188
  'default' => '2500'
189
  ]
190
  );
191
-
192
  $this->add_control(
193
  'eael_fancy_text_loop',
194
  [
@@ -201,7 +204,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
201
  ],
202
  ]
203
  );
204
-
205
  $this->add_control(
206
  'eael_fancy_text_cursor',
207
  [
@@ -214,10 +217,10 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
214
  ],
215
  ]
216
  );
217
-
218
-
219
  $this->end_controls_section();
220
-
221
  $this->start_controls_section(
222
  'eael_section_pro',
223
  [
@@ -242,7 +245,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
242
  );
243
 
244
  $this->end_controls_section();
245
-
246
  $this->start_controls_section(
247
  'eael_fancy_text_prefix_styles',
248
  [
@@ -250,7 +253,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
250
  'tab' => Controls_Manager::TAB_STYLE
251
  ]
252
  );
253
-
254
  $this->add_control(
255
  'eael_fancy_text_prefix_color',
256
  [
@@ -270,12 +273,12 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
270
  'selector' => '{{WRAPPER}} .eael-fancy-text-prefix',
271
  ]
272
  );
273
-
274
-
275
  $this->end_controls_section();
276
-
277
-
278
-
279
  $this->start_controls_section(
280
  'eael_fancy_text_strings_styles',
281
  [
@@ -283,7 +286,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
283
  'tab' => Controls_Manager::TAB_STYLE
284
  ]
285
  );
286
-
287
  $this->add_control(
288
  'eael_fancy_text_strings_color',
289
  [
@@ -303,7 +306,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
303
  'selector' => '{{WRAPPER}} .eael-fancy-text-strings, {{WRAPPER}} .typed-cursor',
304
  ]
305
  );
306
-
307
  $this->add_control(
308
  'eael_fancy_text_strings_background_color',
309
  [
@@ -315,7 +318,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
315
  ],
316
  ]
317
  );
318
-
319
  $this->add_control(
320
  'eael_fancy_text_cursor_color',
321
  [
@@ -329,7 +332,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
329
  ],
330
  ]
331
  );
332
-
333
  $this->add_responsive_control(
334
  'eael_fancy_text_strings_padding',
335
  [
@@ -341,7 +344,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
341
  ],
342
  ]
343
  );
344
-
345
  $this->add_responsive_control(
346
  'eael_fancy_text_strings_margin',
347
  [
@@ -354,7 +357,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
354
  ]
355
  );
356
 
357
-
358
 
359
  $this->add_group_control(
360
  Group_Control_Border::get_type(),
@@ -363,8 +366,8 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
363
  'selector' => '{{WRAPPER}} .eael-fancy-text-strings',
364
  ]
365
  );
366
-
367
-
368
  $this->add_control(
369
  'eael_fancy_text_strings_border_radius',
370
  [
@@ -381,12 +384,12 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
381
  ],
382
  ]
383
  );
384
-
385
-
386
  $this->end_controls_section();
387
-
388
-
389
-
390
  $this->start_controls_section(
391
  'eael_fancy_text_suffix_styles',
392
  [
@@ -394,7 +397,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
394
  'tab' => Controls_Manager::TAB_STYLE
395
  ]
396
  );
397
-
398
  $this->add_control(
399
  'eael_fancy_text_suffix_color',
400
  [
@@ -414,44 +417,44 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
414
  'selector' => '{{WRAPPER}} .eael-fancy-text-suffix',
415
  ]
416
  );
417
-
418
-
419
  $this->end_controls_section();
420
-
421
  }
422
 
423
 
424
  protected function render( ) {
425
-
426
-
427
- $settings = $this->get_settings();
428
-
429
  if( 'style-1' === $settings['eael_fancy_text_style'] || 'style-2' === $settings['eael_fancy_text_style'] ) {
430
  $eael_fancy_text_style = 'style-1';
431
  }
432
  ?>
433
 
434
- <div class="eael-fancy-text-container <?php echo esc_attr( $eael_fancy_text_style ); ?>">
435
  <?php if ( ! empty( $settings['eael_fancy_text_prefix'] ) ) : ?><span class="eael-fancy-text-prefix"><?php echo wp_kses(($settings['eael_fancy_text_prefix'] ), true ); ?> </span><?php endif; ?>
436
-
437
  <?php if ( $settings['eael_fancy_text_transition_type'] == 'fancy' ) : ?>
438
  <span id="eael-fancy-text-<?php echo esc_attr($this->get_id()); ?>" class="eael-fancy-text-strings"></span>
439
  <?php endif; ?>
440
-
441
  <?php if ( $settings['eael_fancy_text_transition_type'] != 'fancy' ) : ?>
442
- <span id="eael-fancy-text-<?php echo esc_attr($this->get_id()); ?>" class="eael-fancy-text-strings"><?php
443
  $eael_fancy_text_strings_list = "";
444
  foreach ( $settings['eael_fancy_text_strings'] as $item ) {
445
- $eael_fancy_text_strings_list .= $item['eael_fancy_text_strings_text_field'] . ', ';
446
  }
447
  echo rtrim($eael_fancy_text_strings_list, ", "); ?></span>
448
  <?php endif; ?>
449
-
450
  <?php if ( ! empty( $settings['eael_fancy_text_suffix'] ) ) : ?><span class="eael-fancy-text-suffix"> <?php echo wp_kses(($settings['eael_fancy_text_suffix'] ), true ); ?> </span><?php endif; ?>
451
  </div><!-- close .eael-fancy-text-container -->
452
-
453
  <div class="clearfix"></div>
454
-
455
  <?php if ( $settings['eael_fancy_text_transition_type'] == 'typing' ) : ?>
456
  <script type="text/javascript">
457
  jQuery(document).ready(function($) {
@@ -468,7 +471,7 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
468
  });
469
  </script>
470
  <?php endif; ?>
471
-
472
  <?php if ( $settings['eael_fancy_text_transition_type'] != 'typing' ) : ?>
473
  <script type="text/javascript">
474
  jQuery(document).ready(function($) {
@@ -484,16 +487,16 @@ class Widget_Eael_Fancy_Text extends Widget_Base {
484
  });
485
  </script>
486
  <?php endif; ?>
487
-
488
  <?php
489
-
490
  }
491
 
492
  protected function content_template() {
493
-
494
  ?>
495
-
496
-
497
  <?php
498
  }
499
  }
6
 
7
 
8
  class Widget_Eael_Fancy_Text extends Widget_Base {
9
+
10
 
11
  public function get_name() {
12
  return 'eael-fancy-text';
35
  ]
36
  );
37
 
38
+
39
  $this->add_control(
40
  'eael_fancy_text_prefix',
41
+ [
42
  'label' => esc_html__( 'Prefix Text', 'essential-addons-elementor' ),
43
  'placeholder' => esc_html__( 'Place your prefix text', 'essential-addons-elementor' ),
44
+ 'type' => Controls_Manager::WYSIWYG,
45
  'default' => esc_html__( 'This is the ', 'essential-addons-elementor' ),
46
+ 'dynamic' => [ 'active' => true ]
47
  ]
48
  );
49
 
69
  'label' => esc_html__( 'Fancy String', 'essential-addons-elementor' ),
70
  'type' => Controls_Manager::TEXT,
71
  'label_block' => true,
72
+ 'dynamic' => [ 'active' => true ]
73
  ],
74
  ],
75
  'title_field' => '{{{ eael_fancy_text_strings_text_field }}}',
82
  [
83
  'label' => esc_html__( 'Suffix Text', 'essential-addons-elementor' ),
84
  'placeholder' => esc_html__( 'Place your suffix text', 'essential-addons-elementor' ),
85
+ 'type' => Controls_Manager::WYSIWYG,
86
  'default' => esc_html__( ' of the sentence.', 'essential-addons-elementor' ),
87
+ 'dynamic' => [ 'active' => true ]
88
  ]
89
  );
90
+
91
+
92
 
93
  $this->end_controls_section();
94
+
95
  // Settings Control
96
  $this->start_controls_section(
97
  'eael_fancy_text_settings',
149
  ],
150
  ]
151
  );
152
+
153
  $this->add_control(
154
  'eael_fancy_text_transition_type',
155
  [
169
  ],
170
  ]
171
  );
172
+
173
 
174
  $this->add_control(
175
  'eael_fancy_text_speed',
182
  ],
183
  ]
184
  );
185
+
186
  $this->add_control(
187
  'eael_fancy_text_delay',
188
  [
191
  'default' => '2500'
192
  ]
193
  );
194
+
195
  $this->add_control(
196
  'eael_fancy_text_loop',
197
  [
204
  ],
205
  ]
206
  );
207
+
208
  $this->add_control(
209
  'eael_fancy_text_cursor',
210
  [
217
  ],
218
  ]
219
  );
220
+
221
+
222
  $this->end_controls_section();
223
+
224
  $this->start_controls_section(
225
  'eael_section_pro',
226
  [
245
  );
246
 
247
  $this->end_controls_section();
248
+
249
  $this->start_controls_section(
250
  'eael_fancy_text_prefix_styles',
251
  [
253
  'tab' => Controls_Manager::TAB_STYLE
254
  ]
255
  );
256
+
257
  $this->add_control(
258
  'eael_fancy_text_prefix_color',
259
  [
273
  'selector' => '{{WRAPPER}} .eael-fancy-text-prefix',
274
  ]
275
  );
276
+
277
+
278
  $this->end_controls_section();
279
+
280
+
281
+
282
  $this->start_controls_section(
283
  'eael_fancy_text_strings_styles',
284
  [
286
  'tab' => Controls_Manager::TAB_STYLE
287
  ]
288
  );
289
+
290
  $this->add_control(
291
  'eael_fancy_text_strings_color',
292
  [
306
  'selector' => '{{WRAPPER}} .eael-fancy-text-strings, {{WRAPPER}} .typed-cursor',
307
  ]
308
  );
309
+
310
  $this->add_control(
311
  'eael_fancy_text_strings_background_color',
312
  [
318
  ],
319
  ]
320
  );
321
+
322
  $this->add_control(
323
  'eael_fancy_text_cursor_color',
324
  [
332
  ],
333
  ]
334
  );
335
+
336
  $this->add_responsive_control(
337
  'eael_fancy_text_strings_padding',
338
  [
344
  ],
345
  ]
346
  );
347
+
348
  $this->add_responsive_control(
349
  'eael_fancy_text_strings_margin',
350
  [
357
  ]
358
  );
359
 
360
+
361
 
362
  $this->add_group_control(
363
  Group_Control_Border::get_type(),
366
  'selector' => '{{WRAPPER}} .eael-fancy-text-strings',
367
  ]
368
  );
369
+
370
+
371
  $this->add_control(
372
  'eael_fancy_text_strings_border_radius',
373
  [
384
  ],
385
  ]
386
  );
387
+
388
+
389
  $this->end_controls_section();
390
+
391
+
392
+
393
  $this->start_controls_section(
394
  'eael_fancy_text_suffix_styles',
395
  [
397
  'tab' => Controls_Manager::TAB_STYLE
398
  ]
399
  );
400
+
401
  $this->add_control(
402
  'eael_fancy_text_suffix_color',
403
  [
417
  'selector' => '{{WRAPPER}} .eael-fancy-text-suffix',
418
  ]
419
  );
420
+
421
+
422
  $this->end_controls_section();
423
+
424
  }
425
 
426
 
427
  protected function render( ) {
428
+
429
+
430
+ $settings = $this->get_settings_for_display();
431
+
432
  if( 'style-1' === $settings['eael_fancy_text_style'] || 'style-2' === $settings['eael_fancy_text_style'] ) {
433
  $eael_fancy_text_style = 'style-1';
434
  }
435
  ?>
436
 
437
+ <div class="eael-fancy-text-container <?php echo esc_attr( $eael_fancy_text_style ); ?>">
438
  <?php if ( ! empty( $settings['eael_fancy_text_prefix'] ) ) : ?><span class="eael-fancy-text-prefix"><?php echo wp_kses(($settings['eael_fancy_text_prefix'] ), true ); ?> </span><?php endif; ?>
439
+
440
  <?php if ( $settings['eael_fancy_text_transition_type'] == 'fancy' ) : ?>
441
  <span id="eael-fancy-text-<?php echo esc_attr($this->get_id()); ?>" class="eael-fancy-text-strings"></span>
442
  <?php endif; ?>
443
+
444
  <?php if ( $settings['eael_fancy_text_transition_type'] != 'fancy' ) : ?>
445
+ <span id="eael-fancy-text-<?php echo esc_attr($this->get_id()); ?>" class="eael-fancy-text-strings"><?php
446
  $eael_fancy_text_strings_list = "";
447
  foreach ( $settings['eael_fancy_text_strings'] as $item ) {
448
+ $eael_fancy_text_strings_list .= $item['eael_fancy_text_strings_text_field'] . ', ';
449
  }
450
  echo rtrim($eael_fancy_text_strings_list, ", "); ?></span>
451
  <?php endif; ?>
452
+
453
  <?php if ( ! empty( $settings['eael_fancy_text_suffix'] ) ) : ?><span class="eael-fancy-text-suffix"> <?php echo wp_kses(($settings['eael_fancy_text_suffix'] ), true ); ?> </span><?php endif; ?>
454
  </div><!-- close .eael-fancy-text-container -->
455
+
456
  <div class="clearfix"></div>
457
+
458
  <?php if ( $settings['eael_fancy_text_transition_type'] == 'typing' ) : ?>
459
  <script type="text/javascript">
460
  jQuery(document).ready(function($) {
471
  });
472
  </script>
473
  <?php endif; ?>
474
+
475
  <?php if ( $settings['eael_fancy_text_transition_type'] != 'typing' ) : ?>
476
  <script type="text/javascript">
477
  jQuery(document).ready(function($) {
487
  });
488
  </script>
489
  <?php endif; ?>
490
+
491
  <?php
492
+
493
  }
494
 
495
  protected function content_template() {
496
+
497
  ?>
498
+
499
+
500
  <?php
501
  }
502
  }
elements/flipbox/flipbox.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  namespace Elementor;
3
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
@@ -20,7 +20,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
-
24
  protected function _register_controls() {
25
 
26
  /**
@@ -142,7 +142,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
142
  /**
143
  * Flipbox Content
144
  */
145
- $this->start_controls_section(
146
  'eael_flipbox_content',
147
  [
148
  'label' => esc_html__( 'Flipbox Content', 'essential-addons-elementor' ),
@@ -170,7 +170,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
170
  /**
171
  * Condition: 'eael_flipbox_front_or_back_content' => 'front'
172
  */
173
- $this->add_control(
174
  'eael_flipbox_front_title',
175
  [
176
  'label' => esc_html__( 'Front Title', 'essential-addons-elementor' ),
@@ -182,13 +182,13 @@ class Widget_Eael_Flip_Box extends Widget_Base {
182
  ]
183
  ]
184
  );
185
- $this->add_control(
186
  'eael_flipbox_front_text',
187
  [
188
  'label' => esc_html__( 'Front Text', 'essential-addons-elementor' ),
189
- 'type' => Controls_Manager::TEXTAREA,
190
  'label_block' => true,
191
- 'default' => esc_html__( 'This is front-end content.', 'essential-addons-elementor' ),
192
  'condition' => [
193
  'eael_flipbox_front_or_back_content' => 'front'
194
  ]
@@ -197,7 +197,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
197
  /**
198
  * Condition: 'eael_flipbox_front_or_back_content' => 'back'
199
  */
200
- $this->add_control(
201
  'eael_flipbox_back_title',
202
  [
203
  'label' => esc_html__( 'Back Title', 'essential-addons-elementor' ),
@@ -209,13 +209,13 @@ class Widget_Eael_Flip_Box extends Widget_Base {
209
  ]
210
  ]
211
  );
212
- $this->add_control(
213
  'eael_flipbox_back_text',
214
  [
215
  'label' => esc_html__( 'Back Text', 'essential-addons-elementor' ),
216
- 'type' => Controls_Manager::TEXTAREA,
217
  'label_block' => true,
218
- 'default' => esc_html__( 'This is back-end content.', 'essential-addons-elementor' ),
219
  'condition' => [
220
  'eael_flipbox_front_or_back_content' => 'back'
221
  ]
@@ -246,14 +246,15 @@ class Widget_Eael_Flip_Box extends Widget_Base {
246
  ]
247
  );
248
  $this->end_controls_section();
249
-
250
- $this->start_controls_section(
 
 
251
  'eael_section_pro',
252
  [
253
  'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
254
  ]
255
  );
256
-
257
  $this->add_control(
258
  'eael_control_get_pro',
259
  [
@@ -269,9 +270,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
269
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
270
  ]
271
  );
272
-
273
  $this->end_controls_section();
274
-
275
  /**
276
  * -------------------------------------------
277
  * Tab Style (Flipbox Style)
@@ -387,7 +386,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
387
  * -------------------------------------------
388
  */
389
  $this->start_controls_section(
390
- 'eael_section_flipbox_image_style_settings',
391
  [
392
  'label' => esc_html__( 'Image Style', 'essential-addons-elementor' ),
393
  'tab' => Controls_Manager::TAB_STYLE,
@@ -541,7 +540,7 @@ class Widget_Eael_Flip_Box extends Widget_Base {
541
  'default' => 'front',
542
  ]
543
  );
544
-
545
  $this->add_control(
546
  'eael_flipbox_front_title_heading',
547
  [
@@ -688,21 +687,21 @@ class Widget_Eael_Flip_Box extends Widget_Base {
688
  ]
689
  ]
690
  );
691
-
692
  $this->end_controls_section();
693
 
694
  }
695
 
696
 
697
  protected function render( ) {
698
-
699
  $settings = $this->get_settings();
700
  $flipbox_image = $this->get_settings( 'eael_flipbox_image' );
701
  $flipbox_image_url = Group_Control_Image_Size::get_attachment_image_src( $flipbox_image['id'], 'thumbnail', $settings );
702
  if( empty( $flipbox_image_url ) ) : $flipbox_image_url = $flipbox_image['url']; else: $flipbox_image_url = $flipbox_image_url; endif;
703
 
704
  ?>
705
-
706
  <div class="eael-elements-progression-flip-box-container eael-animate-flip eael-<?php echo esc_attr( $settings['eael_flipbox_type'] ); ?>">
707
  <div class="eael-elements-flip-box-flip-card">
708
  <div class="eael-elements-flip-box-front-container">
@@ -743,10 +742,10 @@ class Widget_Eael_Flip_Box extends Widget_Base {
743
  }
744
 
745
  protected function content_template() {
746
-
747
  ?>
748
-
749
-
750
  <?php
751
  }
752
  }
1
+ <?php
2
  namespace Elementor;
3
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
+
24
  protected function _register_controls() {
25
 
26
  /**
142
  /**
143
  * Flipbox Content
144
  */
145
+ $this->start_controls_section(
146
  'eael_flipbox_content',
147
  [
148
  'label' => esc_html__( 'Flipbox Content', 'essential-addons-elementor' ),
170
  /**
171
  * Condition: 'eael_flipbox_front_or_back_content' => 'front'
172
  */
173
+ $this->add_control(
174
  'eael_flipbox_front_title',
175
  [
176
  'label' => esc_html__( 'Front Title', 'essential-addons-elementor' ),
182
  ]
183
  ]
184
  );
185
+ $this->add_control(
186
  'eael_flipbox_front_text',
187
  [
188
  'label' => esc_html__( 'Front Text', 'essential-addons-elementor' ),
189
+ 'type' => Controls_Manager::WYSIWYG,
190
  'label_block' => true,
191
+ 'default' => __( 'This is front-end content.', 'essential-addons-elementor' ),
192
  'condition' => [
193
  'eael_flipbox_front_or_back_content' => 'front'
194
  ]
197
  /**
198
  * Condition: 'eael_flipbox_front_or_back_content' => 'back'
199
  */
200
+ $this->add_control(
201
  'eael_flipbox_back_title',
202
  [
203
  'label' => esc_html__( 'Back Title', 'essential-addons-elementor' ),
209
  ]
210
  ]
211
  );
212
+ $this->add_control(
213
  'eael_flipbox_back_text',
214
  [
215
  'label' => esc_html__( 'Back Text', 'essential-addons-elementor' ),
216
+ 'type' => Controls_Manager::WYSIWYG,
217
  'label_block' => true,
218
+ 'default' => __( 'This is back-end content.', 'essential-addons-elementor' ),
219
  'condition' => [
220
  'eael_flipbox_front_or_back_content' => 'back'
221
  ]
246
  ]
247
  );
248
  $this->end_controls_section();
249
+ /**
250
+ * Go Premium For More Features
251
+ */
252
+ $this->start_controls_section(
253
  'eael_section_pro',
254
  [
255
  'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
256
  ]
257
  );
 
258
  $this->add_control(
259
  'eael_control_get_pro',
260
  [
270
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
271
  ]
272
  );
 
273
  $this->end_controls_section();
 
274
  /**
275
  * -------------------------------------------
276
  * Tab Style (Flipbox Style)
386
  * -------------------------------------------
387
  */
388
  $this->start_controls_section(
389
+ 'eael_section_flipbox_imgae_style_settings',
390
  [
391
  'label' => esc_html__( 'Image Style', 'essential-addons-elementor' ),
392
  'tab' => Controls_Manager::TAB_STYLE,
540
  'default' => 'front',
541
  ]
542
  );
543
+
544
  $this->add_control(
545
  'eael_flipbox_front_title_heading',
546
  [
687
  ]
688
  ]
689
  );
690
+
691
  $this->end_controls_section();
692
 
693
  }
694
 
695
 
696
  protected function render( ) {
697
+
698
  $settings = $this->get_settings();
699
  $flipbox_image = $this->get_settings( 'eael_flipbox_image' );
700
  $flipbox_image_url = Group_Control_Image_Size::get_attachment_image_src( $flipbox_image['id'], 'thumbnail', $settings );
701
  if( empty( $flipbox_image_url ) ) : $flipbox_image_url = $flipbox_image['url']; else: $flipbox_image_url = $flipbox_image_url; endif;
702
 
703
  ?>
704
+
705
  <div class="eael-elements-progression-flip-box-container eael-animate-flip eael-<?php echo esc_attr( $settings['eael_flipbox_type'] ); ?>">
706
  <div class="eael-elements-flip-box-flip-card">
707
  <div class="eael-elements-flip-box-front-container">
742
  }
743
 
744
  protected function content_template() {
745
+
746
  ?>
747
+
748
+
749
  <?php
750
  }
751
  }
elements/image-accordion/image-accordion.php CHANGED
@@ -33,28 +33,18 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
33
  );
34
 
35
  $this->add_control(
36
- 'eael_img_accordion_type',
37
- [
38
- 'label' => esc_html__( 'Accordion Style', 'essential-addons-elementor' ),
39
- 'type' => Controls_Manager::SELECT,
40
- 'default' => 'on-hover',
41
- 'label_block' => false,
42
- 'options' => [
43
- 'on-hover' => esc_html__( 'On Hover', 'essential-addons-elementor' ),
44
- 'on-click' => esc_html__( 'On Click', 'essential-addons-elementor' ),
45
- ],
46
- ]
47
- );
48
- $this->add_control(
49
- 'eael_img_accordion_type_pro_alert',
50
  [
51
- 'label' => esc_html__( 'Only available in pro version!', 'essential-addons-elementor' ),
52
- 'type' => Controls_Manager::HEADING,
53
- 'condition' => [
54
- 'eael_img_accordion_type' => 'on-click',
55
- ]
 
 
 
56
  ]
57
- );
58
 
59
  $this->add_control(
60
  'eael_img_accordions',
@@ -82,12 +72,13 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
82
  'label' => esc_html__( 'Title', 'essential-addons-elementor' ),
83
  'type' => Controls_Manager::TEXT,
84
  'label_block' => true,
85
- 'default' => esc_html__( 'Accordion item title', 'essential-addons-elementor' )
 
86
  ],
87
  [
88
  'name' => 'eael_accordion_content',
89
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
90
- 'type' => Controls_Manager::TEXTAREA,
91
  'label_block' => true,
92
  'default' => esc_html__( 'Accordion content goes here!', 'essential-addons-elementor' )
93
  ],
@@ -109,6 +100,32 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
109
 
110
  $this->end_controls_section();
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  /**
113
  * -------------------------------------------
114
  * Tab Style (Image accordion)
@@ -306,37 +323,12 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
306
 
307
  $this->end_controls_section();
308
 
309
- $this->start_controls_section(
310
- 'eael_section_pro',
311
- [
312
- 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
313
- ]
314
- );
315
-
316
- $this->add_control(
317
- 'eael_control_get_pro',
318
- [
319
- 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
320
- 'type' => Controls_Manager::CHOOSE,
321
- 'options' => [
322
- '1' => [
323
- 'title' => __( '', 'essential-addons-elementor' ),
324
- 'icon' => 'fa fa-unlock-alt',
325
- ],
326
- ],
327
- 'default' => '1',
328
- 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
329
- ]
330
- );
331
-
332
- $this->end_controls_section();
333
-
334
  }
335
 
336
 
337
  protected function render( ) {
338
 
339
- $settings = $this->get_settings();
340
 
341
  if( !empty($settings['eael_img_accordions']) ) :
342
  ?>
@@ -356,6 +348,7 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
356
  </a>
357
  <?php endforeach; ?>
358
  </div>
 
359
  <style>
360
  #eael-img-accordion-<?php echo $this->get_id(); ?> a:hover {
361
  flex: 3;
@@ -367,6 +360,24 @@ class Widget_Eael_Image_Accordion extends Widget_Base {
367
  transition: all .3s .3s;
368
  }
369
  </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370
  <?php endif; ?>
371
  <?php
372
 
33
  );
34
 
35
  $this->add_control(
36
+ 'eael_img_accordion_type',
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  [
38
+ 'label' => esc_html__( 'Accordion Style', 'essential-addons-elementor' ),
39
+ 'type' => Controls_Manager::SELECT,
40
+ 'default' => 'on-hover',
41
+ 'label_block' => false,
42
+ 'options' => [
43
+ 'on-hover' => esc_html__( 'On Hover', 'essential-addons-elementor' ),
44
+ 'on-click' => esc_html__( 'On Click', 'essential-addons-elementor' ),
45
+ ],
46
  ]
47
+ );
48
 
49
  $this->add_control(
50
  'eael_img_accordions',
72
  'label' => esc_html__( 'Title', 'essential-addons-elementor' ),
73
  'type' => Controls_Manager::TEXT,
74
  'label_block' => true,
75
+ 'default' => esc_html__( 'Accordion item title', 'essential-addons-elementor' ),
76
+ 'dynamic' => [ 'active' => true ]
77
  ],
78
  [
79
  'name' => 'eael_accordion_content',
80
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
81
+ 'type' => Controls_Manager::WYSIWYG,
82
  'label_block' => true,
83
  'default' => esc_html__( 'Accordion content goes here!', 'essential-addons-elementor' )
84
  ],
100
 
101
  $this->end_controls_section();
102
 
103
+ /**
104
+ * Go Premium For More Features
105
+ */
106
+ $this->start_controls_section(
107
+ 'eael_section_pro',
108
+ [
109
+ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
110
+ ]
111
+ );
112
+ $this->add_control(
113
+ 'eael_control_get_pro',
114
+ [
115
+ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
116
+ 'type' => Controls_Manager::CHOOSE,
117
+ 'options' => [
118
+ '1' => [
119
+ 'title' => __( '', 'essential-addons-elementor' ),
120
+ 'icon' => 'fa fa-unlock-alt',
121
+ ],
122
+ ],
123
+ 'default' => '1',
124
+ 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
125
+ ]
126
+ );
127
+ $this->end_controls_section();
128
+
129
  /**
130
  * -------------------------------------------
131
  * Tab Style (Image accordion)
323
 
324
  $this->end_controls_section();
325
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
  }
327
 
328
 
329
  protected function render( ) {
330
 
331
+ $settings = $this->get_settings_for_display();
332
 
333
  if( !empty($settings['eael_img_accordions']) ) :
334
  ?>
348
  </a>
349
  <?php endforeach; ?>
350
  </div>
351
+ <?php if( 'on-hover' === $settings['eael_img_accordion_type'] ) : ?>
352
  <style>
353
  #eael-img-accordion-<?php echo $this->get_id(); ?> a:hover {
354
  flex: 3;
360
  transition: all .3s .3s;
361
  }
362
  </style>
363
+ <?php endif; ?>
364
+ <?php if( 'on-click' === $settings['eael_img_accordion_type'] ) : ?>
365
+ <script>
366
+ jQuery(document).ready(function($) {
367
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').on('click', function(e) {
368
+ e.preventDefault();
369
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').css('flex', '1');
370
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').find('.overlay-inner').removeClass('overlay-inner-show');
371
+ $(this).find('.overlay-inner').addClass('overlay-inner-show');
372
+ $(this).css('flex', '3');
373
+ });
374
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').on('blur', function(e) {
375
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').css('flex', '1');
376
+ $('#eael-img-accordion-<?php echo $this->get_id(); ?> a').find('.overlay-inner').removeClass('overlay-inner-show');
377
+ });
378
+ });
379
+ </script>
380
+ <?php endif; ?>
381
  <?php endif; ?>
382
  <?php
383
 
elements/infobox/infobox.php CHANGED
@@ -146,16 +146,49 @@ class Widget_Eael_Info_Box extends Widget_Base {
146
  'label' => esc_html__( 'Infobox Title', 'essential-addons-elementor' ),
147
  'type' => Controls_Manager::TEXT,
148
  'label_block' => true,
 
 
 
149
  'default' => esc_html__( 'This is an icon box', 'essential-addons-elementor' )
150
  ]
151
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  $this->add_control(
153
  'eael_infobox_text',
154
  [
155
- 'label' => esc_html__( 'Infobox Text', 'essential-addons-elementor' ),
156
- 'type' => Controls_Manager::TEXTAREA,
157
  'label_block' => true,
158
- 'default' => esc_html__( 'Write a short description, that will describe the title or something informational and useful.', 'essential-addons-elementor' )
 
 
 
 
 
 
159
  ]
160
  );
161
  $this->add_control(
@@ -604,7 +637,7 @@ class Widget_Eael_Info_Box extends Widget_Base {
604
 
605
  protected function render( ) {
606
 
607
- $settings = $this->get_settings();
608
  $infobox_image = $this->get_settings( 'eael_infobox_image' );
609
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src( $infobox_image['id'], 'thumbnail', $settings );
610
  if( empty( $infobox_image_url ) ) : $infobox_image_url = $infobox_image['url']; else: $infobox_image_url = $infobox_image_url; endif;
@@ -629,9 +662,18 @@ class Widget_Eael_Info_Box extends Widget_Base {
629
  <div class="infobox-content">
630
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
631
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
632
- <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
633
- <p><?php echo $settings['eael_infobox_text']; ?></p>
634
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
635
  <?php endif; ?>
636
  </div>
637
  <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?></a><?php endif; ?>
@@ -655,9 +697,18 @@ class Widget_Eael_Info_Box extends Widget_Base {
655
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
656
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
657
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
658
- <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
659
- <p><?php echo $settings['eael_infobox_text']; ?></p>
660
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
661
  <?php endif; ?>
662
  </div>
663
  </div>
@@ -681,9 +732,18 @@ class Widget_Eael_Info_Box extends Widget_Base {
681
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
682
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
683
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
684
- <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
685
- <p><?php echo $settings['eael_infobox_text']; ?></p>
686
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
687
  <?php endif; ?>
688
  </div>
689
  </div>
146
  'label' => esc_html__( 'Infobox Title', 'essential-addons-elementor' ),
147
  'type' => Controls_Manager::TEXT,
148
  'label_block' => true,
149
+ 'dynamic' => [
150
+ 'active' => true
151
+ ],
152
  'default' => esc_html__( 'This is an icon box', 'essential-addons-elementor' )
153
  ]
154
  );
155
+ $this->add_control(
156
+ 'eael_infobox_text_type',
157
+ [
158
+ 'label' => __( 'Content Type', 'essential-addons-elementor' ),
159
+ 'type' => Controls_Manager::SELECT,
160
+ 'options' => [
161
+ 'content' => __( 'Content', 'essential-addons-elementor' ),
162
+ 'template' => __( 'Saved Templates', 'essential-addons-elementor' ),
163
+ ],
164
+ 'default' => 'content',
165
+ ]
166
+ );
167
+
168
+ $this->add_control(
169
+ 'eael_primary_templates',
170
+ [
171
+ 'label' => __( 'Choose Template', 'essential-addons-elementor' ),
172
+ 'type' => Controls_Manager::SELECT,
173
+ 'options' => eael_get_page_templates(),
174
+ 'condition' => [
175
+ 'eael_infobox_text_type' => 'template',
176
+ ],
177
+ ]
178
+ );
179
  $this->add_control(
180
  'eael_infobox_text',
181
  [
182
+ 'label' => esc_html__( 'Infobox Content', 'essential-addons-elementor' ),
183
+ 'type' => Controls_Manager::WYSIWYG,
184
  'label_block' => true,
185
+ 'dynamic' => [
186
+ 'active' => true
187
+ ],
188
+ 'default' => esc_html__( 'Write a short description, that will describe the title or something informational and useful.', 'essential-addons-elementor' ),
189
+ 'condition' => [
190
+ 'eael_infobox_text_type' => 'content'
191
+ ]
192
  ]
193
  );
194
  $this->add_control(
637
 
638
  protected function render( ) {
639
 
640
+ $settings = $this->get_settings_for_display();
641
  $infobox_image = $this->get_settings( 'eael_infobox_image' );
642
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src( $infobox_image['id'], 'thumbnail', $settings );
643
  if( empty( $infobox_image_url ) ) : $infobox_image_url = $infobox_image['url']; else: $infobox_image_url = $infobox_image_url; endif;
662
  <div class="infobox-content">
663
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
664
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
665
+ <?php if( 'content' === $settings['eael_infobox_text_type'] ) : ?>
666
+ <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
667
+ <p><?php echo $settings['eael_infobox_text']; ?></p>
668
+ <?php endif; ?>
669
+ <?php elseif( 'template' === $settings['eael_infobox_text_type'] ) :
670
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
671
+ $eael_template_id = $settings['eael_primary_templates'];
672
+ $eael_frontend = new Frontend;
673
+
674
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
675
+ }
676
+ endif; ?>
677
  <?php endif; ?>
678
  </div>
679
  <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?></a><?php endif; ?>
697
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
698
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
699
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
700
+ <?php if( 'content' === $settings['eael_infobox_text_type'] ) : ?>
701
+ <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
702
+ <p><?php echo $settings['eael_infobox_text']; ?></p>
703
+ <?php endif; ?>
704
+ <?php elseif( 'template' === $settings['eael_infobox_text_type'] ) :
705
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
706
+ $eael_template_id = $settings['eael_primary_templates'];
707
+ $eael_frontend = new Frontend;
708
+
709
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
710
+ }
711
+ endif; ?>
712
  <?php endif; ?>
713
  </div>
714
  </div>
732
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
733
  <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
734
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
735
+ <?php if( 'content' === $settings['eael_infobox_text_type'] ) : ?>
736
+ <?php if ( ! empty( $settings['eael_infobox_text'] ) ) : ?>
737
+ <p><?php echo $settings['eael_infobox_text']; ?></p>
738
+ <?php endif; ?>
739
+ <?php elseif( 'template' === $settings['eael_infobox_text_type'] ) :
740
+ if ( !empty( $settings['eael_primary_templates'] ) ) {
741
+ $eael_template_id = $settings['eael_primary_templates'];
742
+ $eael_frontend = new Frontend;
743
+
744
+ echo $eael_frontend->get_builder_content( $eael_template_id, true );
745
+ }
746
+ endif; ?>
747
  <?php endif; ?>
748
  </div>
749
  </div>
elements/post-grid/post-grid.php CHANGED
@@ -681,7 +681,14 @@ class Widget_Eael_Post_Grid extends Widget_Base {
681
  ],
682
  ]
683
  );
684
-
 
 
 
 
 
 
 
685
  $this->end_controls_tab();
686
 
687
  // Hover State Tab
@@ -723,69 +730,18 @@ class Widget_Eael_Post_Grid extends Widget_Base {
723
  ]
724
 
725
  );
726
-
 
 
 
 
 
 
 
727
  $this->end_controls_tab();
728
 
729
  $this->end_controls_tabs();
730
 
731
- $this->add_group_control(
732
- Group_Control_Box_Shadow::get_type(),
733
- [
734
- 'name' => 'eael_post_grid_load_more_btn_shadow',
735
- 'selector' => '{{WRAPPER}} .eael-load-more-button',
736
- 'separator' => 'before'
737
- ]
738
- );
739
-
740
- $this->add_control(
741
- 'eael_post_grid_load_more_loader_pos_title',
742
- [
743
- 'label' => esc_html__( 'Loader Position', 'essential-addons-elementor' ),
744
- 'type' => Controls_Manager::HEADING,
745
- 'separator' => 'before'
746
- ]
747
- );
748
-
749
- $this->add_control(
750
- 'eael_post_grid_loader_pos_left',
751
- [
752
- 'label' => esc_html__( 'From Left', 'essential-addons-elementor' ),
753
- 'type' => Controls_Manager::SLIDER,
754
- 'default' => [
755
- 'size' => 15
756
- ],
757
- 'range' => [
758
- 'px' => [
759
- 'min' => 0,
760
- 'max' => 100,
761
- ],
762
- ],
763
- 'selectors' => [
764
- '{{WRAPPER}} .eael-load-more-button.button--loading .button__loader' => 'left: {{SIZE}}px;',
765
- ],
766
- ]
767
- );
768
-
769
- $this->add_control(
770
- 'eael_post_grid_loader_pos_top',
771
- [
772
- 'label' => esc_html__( 'From Top', 'essential-addons-elementor' ),
773
- 'type' => Controls_Manager::SLIDER,
774
- 'default' => [
775
- 'size' => 15
776
- ],
777
- 'range' => [
778
- 'px' => [
779
- 'min' => 0,
780
- 'max' => 100,
781
- ],
782
- ],
783
- 'selectors' => [
784
- '{{WRAPPER}} .eael-load-more-button.button--loading .button__loader' => 'top: {{SIZE}}px;',
785
- ],
786
- ]
787
- );
788
-
789
  $this->end_controls_section();
790
 
791
  }
681
  ],
682
  ]
683
  );
684
+ $this->add_group_control(
685
+ Group_Control_Box_Shadow::get_type(),
686
+ [
687
+ 'name' => 'eael_post_grid_load_more_btn_shadow',
688
+ 'selector' => '{{WRAPPER}} .eael-load-more-button',
689
+ 'separator' => 'before'
690
+ ]
691
+ );
692
  $this->end_controls_tab();
693
 
694
  // Hover State Tab
730
  ]
731
 
732
  );
733
+ $this->add_group_control(
734
+ Group_Control_Box_Shadow::get_type(),
735
+ [
736
+ 'name' => 'eael_post_grid_load_more_btn_hover_shadow',
737
+ 'selector' => '{{WRAPPER}} .eael-load-more-button:hover',
738
+ 'separator' => 'before'
739
+ ]
740
+ );
741
  $this->end_controls_tab();
742
 
743
  $this->end_controls_tabs();
744
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
745
  $this->end_controls_section();
746
 
747
  }
elements/post-timeline/post-timeline.php CHANGED
@@ -581,7 +581,14 @@ class Widget_PostTimeline extends Widget_Base {
581
  ],
582
  ]
583
  );
584
-
 
 
 
 
 
 
 
585
  $this->end_controls_tab();
586
 
587
  // Hover State Tab
@@ -623,69 +630,18 @@ class Widget_PostTimeline extends Widget_Base {
623
  ]
624
 
625
  );
626
-
 
 
 
 
 
 
 
627
  $this->end_controls_tab();
628
 
629
  $this->end_controls_tabs();
630
 
631
- $this->add_group_control(
632
- Group_Control_Box_Shadow::get_type(),
633
- [
634
- 'name' => 'eael_post_timeline_load_more_btn_shadow',
635
- 'selector' => '{{WRAPPER}} .eael-load-more-button',
636
- 'separator' => 'before'
637
- ]
638
- );
639
-
640
- $this->add_control(
641
- 'eael_post_timeline_load_more_loader_pos_title',
642
- [
643
- 'label' => esc_html__( 'Loader Position', 'essential-addons-elementor' ),
644
- 'type' => Controls_Manager::HEADING,
645
- 'separator' => 'before'
646
- ]
647
- );
648
-
649
- $this->add_control(
650
- 'eael_post_timeline_loader_pos_left',
651
- [
652
- 'label' => esc_html__( 'From Left', 'essential-addons-elementor' ),
653
- 'type' => Controls_Manager::SLIDER,
654
- 'default' => [
655
- 'size' => 15
656
- ],
657
- 'range' => [
658
- 'px' => [
659
- 'min' => 0,
660
- 'max' => 100,
661
- ],
662
- ],
663
- 'selectors' => [
664
- '{{WRAPPER}} .eael-load-more-button.button--loading .button__loader' => 'left: {{SIZE}}px;',
665
- ],
666
- ]
667
- );
668
-
669
- $this->add_control(
670
- 'eael_post_timeline_loader_pos_top',
671
- [
672
- 'label' => esc_html__( 'From Top', 'essential-addons-elementor' ),
673
- 'type' => Controls_Manager::SLIDER,
674
- 'default' => [
675
- 'size' => 15
676
- ],
677
- 'range' => [
678
- 'px' => [
679
- 'min' => 0,
680
- 'max' => 100,
681
- ],
682
- ],
683
- 'selectors' => [
684
- '{{WRAPPER}} .eael-load-more-button.button--loading .button__loader' => 'top: {{SIZE}}px;',
685
- ],
686
- ]
687
- );
688
-
689
  $this->end_controls_section();
690
 
691
  }
581
  ],
582
  ]
583
  );
584
+ $this->add_group_control(
585
+ Group_Control_Box_Shadow::get_type(),
586
+ [
587
+ 'name' => 'eael_post_timeline_load_more_btn_shadow',
588
+ 'selector' => '{{WRAPPER}} .eael-load-more-button',
589
+ 'separator' => 'before'
590
+ ]
591
+ );
592
  $this->end_controls_tab();
593
 
594
  // Hover State Tab
630
  ]
631
 
632
  );
633
+ $this->add_group_control(
634
+ Group_Control_Box_Shadow::get_type(),
635
+ [
636
+ 'name' => 'eael_post_timeline_load_more_btn_hover_shadow',
637
+ 'selector' => '{{WRAPPER}} .eael-load-more-button:hover',
638
+ 'separator' => 'before'
639
+ ]
640
+ );
641
  $this->end_controls_tab();
642
 
643
  $this->end_controls_tabs();
644
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
645
  $this->end_controls_section();
646
 
647
  }
elements/testimonials/testimonials.php CHANGED
@@ -21,11 +21,11 @@ class Widget_Eael_Testimonial extends Widget_Base {
21
  public function get_categories() {
22
  return [ 'essential-addons-elementor' ];
23
  }
24
-
25
-
26
  protected function _register_controls() {
27
 
28
-
29
  $this->start_controls_section(
30
  'eael_section_testimonial_image',
31
  [
@@ -40,7 +40,7 @@ class Widget_Eael_Testimonial extends Widget_Base {
40
  'type' => Controls_Manager::SWITCHER,
41
  'default' => 'yes',
42
  ]
43
- );
44
 
45
  $this->add_control(
46
  'eael_testimonial_image',
@@ -86,27 +86,29 @@ class Widget_Eael_Testimonial extends Widget_Base {
86
  'label' => esc_html__( 'User Name', 'essential-addons-elementor' ),
87
  'type' => Controls_Manager::TEXT,
88
  'default' => esc_html__( 'John Doe', 'essential-addons-elementor' ),
 
89
  ]
90
  );
91
-
92
  $this->add_control(
93
  'eael_testimonial_company_title',
94
  [
95
  'label' => esc_html__( 'Company Name', 'essential-addons-elementor' ),
96
  'type' => Controls_Manager::TEXT,
97
  'default' => esc_html__( 'Codetic', 'essential-addons-elementor' ),
 
98
  ]
99
  );
100
-
101
  $this->add_control(
102
  'eael_testimonial_description',
103
  [
104
  'label' => esc_html__( 'Testimonial Description', 'essential-addons-elementor' ),
105
- 'type' => Controls_Manager::TEXTAREA,
106
  'default' => esc_html__( 'Add testimonial description here. Edit and place your own text.', 'essential-addons-elementor' ),
107
  ]
108
  );
109
-
110
 
111
  $this->end_controls_section();
112
 
@@ -131,10 +133,10 @@ class Widget_Eael_Testimonial extends Widget_Base {
131
  'default' => '1',
132
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
133
  ]
134
- );
135
 
136
  $this->end_controls_section();
137
-
138
  $this->start_controls_section(
139
  'eael_section_testimonial_styles_general',
140
  [
@@ -224,17 +226,17 @@ class Widget_Eael_Testimonial extends Widget_Base {
224
  ],
225
  ]
226
  );
227
-
228
  $this->end_controls_section();
229
-
230
-
231
  $this->start_controls_section(
232
  'eael_section_testimonial_image_styles',
233
  [
234
  'label' => esc_html__( 'Testimonial Image Style', 'essential-addons-elementor' ),
235
  'tab' => Controls_Manager::TAB_STYLE
236
  ]
237
- );
238
 
239
  $this->add_responsive_control(
240
  'eael_testimonial_image_width',
@@ -352,7 +354,7 @@ class Widget_Eael_Testimonial extends Widget_Base {
352
  ],
353
  ]
354
  );
355
-
356
  $this->add_group_control(
357
  Group_Control_Typography::get_type(),
358
  [
@@ -381,7 +383,7 @@ class Widget_Eael_Testimonial extends Widget_Base {
381
  ],
382
  ]
383
  );
384
-
385
  $this->add_group_control(
386
  Group_Control_Typography::get_type(),
387
  [
@@ -409,7 +411,7 @@ class Widget_Eael_Testimonial extends Widget_Base {
409
  ],
410
  ]
411
  );
412
-
413
  $this->add_group_control(
414
  Group_Control_Typography::get_type(),
415
  [
@@ -437,7 +439,7 @@ class Widget_Eael_Testimonial extends Widget_Base {
437
  ],
438
  ]
439
  );
440
-
441
  $this->add_group_control(
442
  Group_Control_Typography::get_type(),
443
  [
@@ -454,10 +456,10 @@ class Widget_Eael_Testimonial extends Widget_Base {
454
 
455
 
456
  protected function render( ) {
457
-
458
- $settings = $this->get_settings();
459
  $testimonial_image = $this->get_settings( 'eael_testimonial_image' );
460
- $testimonial_image_url = Group_Control_Image_Size::get_attachment_image_src( $testimonial_image['id'], 'thumbnail', $settings );
461
  $testimonial_classes = $this->get_settings('eael_testimonial_image_rounded') . " " . $this->get_settings('eael_testimonial_alignment');
462
 
463
 
@@ -468,9 +470,11 @@ class Widget_Eael_Testimonial extends Widget_Base {
468
 
469
  <div class="eael-testimonial-image">
470
  <span class="eael-testimonial-quote"></span>
471
- <figure>
472
- <img src="<?php echo esc_url($testimonial_image_url);?>" alt="<?php echo $settings['eael_testimonial_name'];?>">
473
- </figure>
 
 
474
  </div>
475
 
476
  <div class="eael-testimonial-content">
@@ -481,16 +485,16 @@ class Widget_Eael_Testimonial extends Widget_Base {
481
  </div>
482
  </div>
483
 
484
-
485
  <?php
486
-
487
  }
488
 
489
  protected function content_template() {
490
-
491
  ?>
492
-
493
-
494
  <?php
495
  }
496
  }
21
  public function get_categories() {
22
  return [ 'essential-addons-elementor' ];
23
  }
24
+
25
+
26
  protected function _register_controls() {
27
 
28
+
29
  $this->start_controls_section(
30
  'eael_section_testimonial_image',
31
  [
40
  'type' => Controls_Manager::SWITCHER,
41
  'default' => 'yes',
42
  ]
43
+ );
44
 
45
  $this->add_control(
46
  'eael_testimonial_image',
86
  'label' => esc_html__( 'User Name', 'essential-addons-elementor' ),
87
  'type' => Controls_Manager::TEXT,
88
  'default' => esc_html__( 'John Doe', 'essential-addons-elementor' ),
89
+ 'dynamic' => [ 'active' => true ]
90
  ]
91
  );
92
+
93
  $this->add_control(
94
  'eael_testimonial_company_title',
95
  [
96
  'label' => esc_html__( 'Company Name', 'essential-addons-elementor' ),
97
  'type' => Controls_Manager::TEXT,
98
  'default' => esc_html__( 'Codetic', 'essential-addons-elementor' ),
99
+ 'dynamic' => [ 'active' => true ]
100
  ]
101
  );
102
+
103
  $this->add_control(
104
  'eael_testimonial_description',
105
  [
106
  'label' => esc_html__( 'Testimonial Description', 'essential-addons-elementor' ),
107
+ 'type' => Controls_Manager::WYSIWYG,
108
  'default' => esc_html__( 'Add testimonial description here. Edit and place your own text.', 'essential-addons-elementor' ),
109
  ]
110
  );
111
+
112
 
113
  $this->end_controls_section();
114
 
133
  'default' => '1',
134
  'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
135
  ]
136
+ );
137
 
138
  $this->end_controls_section();
139
+
140
  $this->start_controls_section(
141
  'eael_section_testimonial_styles_general',
142
  [
226
  ],
227
  ]
228
  );
229
+
230
  $this->end_controls_section();
231
+
232
+
233
  $this->start_controls_section(
234
  'eael_section_testimonial_image_styles',
235
  [
236
  'label' => esc_html__( 'Testimonial Image Style', 'essential-addons-elementor' ),
237
  'tab' => Controls_Manager::TAB_STYLE
238
  ]
239
+ );
240
 
241
  $this->add_responsive_control(
242
  'eael_testimonial_image_width',
354
  ],
355
  ]
356
  );
357
+
358
  $this->add_group_control(
359
  Group_Control_Typography::get_type(),
360
  [
383
  ],
384
  ]
385
  );
386
+
387
  $this->add_group_control(
388
  Group_Control_Typography::get_type(),
389
  [
411
  ],
412
  ]
413
  );
414
+
415
  $this->add_group_control(
416
  Group_Control_Typography::get_type(),
417
  [
439
  ],
440
  ]
441
  );
442
+
443
  $this->add_group_control(
444
  Group_Control_Typography::get_type(),
445
  [
456
 
457
 
458
  protected function render( ) {
459
+
460
+ $settings = $this->get_settings_for_display();
461
  $testimonial_image = $this->get_settings( 'eael_testimonial_image' );
462
+ $testimonial_image_url = Group_Control_Image_Size::get_attachment_image_src( $testimonial_image['id'], 'thumbnail', $settings );
463
  $testimonial_classes = $this->get_settings('eael_testimonial_image_rounded') . " " . $this->get_settings('eael_testimonial_alignment');
464
 
465
 
470
 
471
  <div class="eael-testimonial-image">
472
  <span class="eael-testimonial-quote"></span>
473
+ <?php if( 'yes' == $settings['eael_testimonial_enable_avatar'] ) : ?>
474
+ <figure>
475
+ <img src="<?php echo esc_url($testimonial_image_url);?>" alt="<?php echo $settings['eael_testimonial_name'];?>">
476
+ </figure>
477
+ <?php endif; ?>
478
  </div>
479
 
480
  <div class="eael-testimonial-content">
485
  </div>
486
  </div>
487
 
488
+
489
  <?php
490
+
491
  }
492
 
493
  protected function content_template() {
494
+
495
  ?>
496
+
497
+
498
  <?php
499
  }
500
  }
elements/tooltip/tooltip.php CHANGED
@@ -62,12 +62,13 @@ class Widget_Eael_Tooltip extends Widget_Base {
62
  'eael_tooltip_content',
63
  [
64
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
65
- 'type' => Controls_Manager::TEXTAREA,
66
  'label_block' => true,
67
  'default' => esc_html__( 'Hover Me!', 'essential-addons-elementor' ),
68
  'condition' => [
69
  'eael_tooltip_type' => [ 'text' ]
70
- ]
 
71
  ]
72
  );
73
  $this->add_control(
@@ -200,9 +201,10 @@ class Widget_Eael_Tooltip extends Widget_Base {
200
  'eael_tooltip_hover_content',
201
  [
202
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
203
- 'type' => Controls_Manager::TEXTAREA,
204
  'label_block' => true,
205
  'default' => esc_html__( 'Tooltip content', 'essential-addons-elementor' ),
 
206
  ]
207
  );
208
  $this->add_control(
@@ -236,31 +238,6 @@ class Widget_Eael_Tooltip extends Widget_Base {
236
  ]
237
  );
238
  $this->end_controls_section();
239
- /**
240
- * Go Premium For More Features
241
- */
242
- $this->start_controls_section(
243
- 'eael_section_pro',
244
- [
245
- 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
246
- ]
247
- );
248
- $this->add_control(
249
- 'eael_control_get_pro',
250
- [
251
- 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
252
- 'type' => Controls_Manager::CHOOSE,
253
- 'options' => [
254
- '1' => [
255
- 'title' => __( '', 'essential-addons-elementor' ),
256
- 'icon' => 'fa fa-unlock-alt',
257
- ],
258
- ],
259
- 'default' => '1',
260
- 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
261
- ]
262
- );
263
- $this->end_controls_section();
264
 
265
  /**
266
  * -------------------------------------------
@@ -425,6 +402,31 @@ class Widget_Eael_Tooltip extends Widget_Base {
425
  ]
426
  );
427
  $this->end_controls_section();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
 
429
  /**
430
  * -------------------------------------------
@@ -592,7 +594,7 @@ class Widget_Eael_Tooltip extends Widget_Base {
592
 
593
  protected function render( ) {
594
 
595
- $settings = $this->get_settings();
596
  $target = $settings['eael_tooltip_link']['is_external'] ? 'target="_blank"' : '';
597
  $nofollow = $settings['eael_tooltip_link']['nofollow'] ? 'rel="nofollow"' : '';
598
  ?>
62
  'eael_tooltip_content',
63
  [
64
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
65
+ 'type' => Controls_Manager::WYSIWYG,
66
  'label_block' => true,
67
  'default' => esc_html__( 'Hover Me!', 'essential-addons-elementor' ),
68
  'condition' => [
69
  'eael_tooltip_type' => [ 'text' ]
70
+ ],
71
+ 'dynamic' => [ 'active' => true ]
72
  ]
73
  );
74
  $this->add_control(
201
  'eael_tooltip_hover_content',
202
  [
203
  'label' => esc_html__( 'Content', 'essential-addons-elementor' ),
204
+ 'type' => Controls_Manager::WYSIWYG,
205
  'label_block' => true,
206
  'default' => esc_html__( 'Tooltip content', 'essential-addons-elementor' ),
207
+ 'dynamic' => [ 'active' => true ]
208
  ]
209
  );
210
  $this->add_control(
238
  ]
239
  );
240
  $this->end_controls_section();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
 
242
  /**
243
  * -------------------------------------------
402
  ]
403
  );
404
  $this->end_controls_section();
405
+ /**
406
+ * Go Premium For More Features
407
+ */
408
+ $this->start_controls_section(
409
+ 'eael_section_pro',
410
+ [
411
+ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
412
+ ]
413
+ );
414
+ $this->add_control(
415
+ 'eael_control_get_pro',
416
+ [
417
+ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
418
+ 'type' => Controls_Manager::CHOOSE,
419
+ 'options' => [
420
+ '1' => [
421
+ 'title' => __( '', 'essential-addons-elementor' ),
422
+ 'icon' => 'fa fa-unlock-alt',
423
+ ],
424
+ ],
425
+ 'default' => '1',
426
+ 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
427
+ ]
428
+ );
429
+ $this->end_controls_section();
430
 
431
  /**
432
  * -------------------------------------------
594
 
595
  protected function render( ) {
596
 
597
+ $settings = $this->get_settings_for_display();
598
  $target = $settings['eael_tooltip_link']['is_external'] ? 'target="_blank"' : '';
599
  $nofollow = $settings['eael_tooltip_link']['nofollow'] ? 'rel="nofollow"' : '';
600
  ?>
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: Codetic
7
- * Version: 2.6.0
8
  * Author URI: https://www.codetic.net
9
  *
10
  * Text Domain: essential-addons-elementor
@@ -28,7 +28,7 @@ require_once ESSENTIAL_ADDONS_EL_PATH.'admin/settings.php';
28
  */
29
  function eael_activated_modules() {
30
 
31
- $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'data-table', 'filter-gallery', 'img-accordion','content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs' ];
32
 
33
  $eael_default_settings = array_fill_keys( $eael_default_keys, true );
34
  $eael_get_settings = get_option( 'eael_save_settings', $eael_default_settings );
@@ -48,10 +48,7 @@ function eael_activated_modules() {
48
  *
49
  * @since v1.0.0
50
  */
51
- function add_eael_elements(){
52
-
53
- $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'data-table', 'filter-gallery', 'img-accordion', 'content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs' ];
54
- $eael_default_settings = array_fill_keys( $eael_default_keys, true );
55
 
56
  $is_component_active = eael_activated_modules();
57
 
@@ -294,4 +291,44 @@ function eael_nag_ignore() {
294
  add_user_meta($user_id, 'eael_ignore_notice260', 'true', true);
295
  }
296
  }
297
- add_action('admin_init', 'eael_nag_ignore');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: Codetic
7
+ * Version: 2.7.0
8
  * Author URI: https://www.codetic.net
9
  *
10
  * Text Domain: essential-addons-elementor
28
  */
29
  function eael_activated_modules() {
30
 
31
+ $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'data-table', 'filter-gallery', 'image-accordion','content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs' ];
32
 
33
  $eael_default_settings = array_fill_keys( $eael_default_keys, true );
34
  $eael_get_settings = get_option( 'eael_save_settings', $eael_default_settings );
48
  *
49
  * @since v1.0.0
50
  */
51
+ function add_eael_elements() {
 
 
 
52
 
53
  $is_component_active = eael_activated_modules();
54
 
291
  add_user_meta($user_id, 'eael_ignore_notice260', 'true', true);
292
  }
293
  }
294
+ add_action('admin_init', 'eael_nag_ignore');
295
+
296
+
297
+ /**
298
+ * Check if Elementor is Installed or not
299
+ */
300
+ if( ! function_exists( 'eael_is_elementor_active' ) ) :
301
+ function eael_is_elementor_active() {
302
+ $flie_path = 'elementor/elementor.php';
303
+ $installed_plugins = get_plugins();
304
+ return isset( $installed_plugins[$flie_path] );
305
+ }
306
+ endif;
307
+
308
+ /**
309
+ * This notice will appear if Elementor is not installed or activated or both
310
+ */
311
+ function eael_is_failed_to_load() {
312
+ $elementor = 'elementor/elementor.php';
313
+ if( eael_is_elementor_active() ) {
314
+ if( ! current_user_can( 'activate_plugins' ) ) {
315
+ return;
316
+ }
317
+ $activation_url = wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $elementor . '&amp;plugin_status=all&amp;paged=1&amp;s', 'activate-plugin_' . $elementor );
318
+ $message = __( 'Essential Addons Elementor requires Elementor plugin to be active. Please activate Elementor to continue.', 'essential-addons-elementor' );
319
+ $button_text = __( 'Activate Elementor', 'essential-addons-elementor' );
320
+ } else {
321
+ if( ! current_user_can( 'activate_plugins' ) ) {
322
+ return;
323
+ }
324
+ $activation_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
325
+ $message = sprintf( __( 'Essentail Addons Elementor requires %1$s"Elementor"%2$s plugin to be installed and activated. Please install Elementor to continue.', 'essential-addons-elementor' ), '<strong>', '</strong>' );
326
+ $button_text = __( 'Install Elementor', 'essential-addons-elementor' );
327
+ }
328
+ $button = '<p><a href="' . $activation_url . '" class="button-primary">' . $button_text . '</a></p>';
329
+ printf( '<div class="error"><p>%1$s</p>%2$s</div>', esc_html( $message ), $button );
330
+ }
331
+
332
+ if( ! did_action( 'elementor/loaded' ) ) {
333
+ add_action( 'admin_notices', 'eael_is_failed_to_load' );
334
+ }
includes/queries.php CHANGED
@@ -310,3 +310,22 @@ function eael_select_caldera_form() {
310
  return $options;
311
  }
312
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
310
  return $options;
311
  }
312
 
313
+
314
+ // Get all elementor page templates
315
+ if ( !function_exists('eael_get_page_templates') ) {
316
+ function eael_get_page_templates(){
317
+ $page_templates = get_posts( array(
318
+ 'post_type' => 'elementor_library',
319
+ 'posts_per_page' => -1
320
+ ));
321
+
322
+ $options = array();
323
+
324
+ if ( ! empty( $page_templates ) && ! is_wp_error( $page_templates ) ){
325
+ foreach ( $page_templates as $post ) {
326
+ $options[ $post->ID ] = $post->post_title;
327
+ }
328
+ }
329
+ return $options;
330
+ }
331
+ }
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: Codetic, re_enter_rupok, Asif2BD, robicse11128
3
  Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder, elementor form
4
  Requires at least: 4.0
5
- Tested up to: 4.9.4
6
- Stable tag: 2.6.0
7
  License: GPLv3
8
  License URI: https://opensource.org/licenses/GPL-3.0
9
 
@@ -61,7 +61,7 @@ Ultimate elements library for Elementor WordPress Page Builder. Lots of useful
61
 
62
 
63
 
64
- ### More elements (15+) on [Premium Version](https://essential-addons.com/elementor/buy.php)
65
 
66
  * [Post Block (Flex)](https://essential-addons.com/elementor/post-block/)
67
  * [Lightbox & Modal](https://essential-addons.com/elementor/lightbox-modal/)
@@ -78,6 +78,8 @@ Ultimate elements library for Elementor WordPress Page Builder. Lots of useful
78
  * [Twitter Feed Carousel](https://essential-addons.com/elementor/twitter-feed/)
79
  * [Dynamic Filterable Gallery](https://essential-addons.com/elementor/filterable-gallery/)
80
  * [Smart Post List](https://essential-addons.com/elementor/post-list/)
 
 
81
 
82
  More coming soon (weekly update) ...
83
 
@@ -128,6 +130,13 @@ Your existing elements/content will work with premium version. So you won't lose
128
 
129
  == Changelog ==
130
 
 
 
 
 
 
 
 
131
  = 2.6.0 =
132
 
133
  - Tooltip element added
2
  Contributors: Codetic, re_enter_rupok, Asif2BD, robicse11128
3
  Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder, elementor form
4
  Requires at least: 4.0
5
+ Tested up to: 4.9.6
6
+ Stable tag: 2.7.0
7
  License: GPLv3
8
  License URI: https://opensource.org/licenses/GPL-3.0
9
 
61
 
62
 
63
 
64
+ ### More elements (17+) on [Premium Version](https://essential-addons.com/elementor/buy.php)
65
 
66
  * [Post Block (Flex)](https://essential-addons.com/elementor/post-block/)
67
  * [Lightbox & Modal](https://essential-addons.com/elementor/lightbox-modal/)
78
  * [Twitter Feed Carousel](https://essential-addons.com/elementor/twitter-feed/)
79
  * [Dynamic Filterable Gallery](https://essential-addons.com/elementor/filterable-gallery/)
80
  * [Smart Post List](https://essential-addons.com/elementor/post-list/)
81
+ * [Mailchimp](https://essential-addons.com/elementor/mailchimp/)
82
+ * [Content Toggle](https://essential-addons.com/elementor/content-toggle/)
83
 
84
  More coming soon (weekly update) ...
85
 
130
 
131
  == Changelog ==
132
 
133
+ = 2.7.0 =
134
+
135
+ - Dynamic field support added to all elements
136
+ - Saved Templates option added to content area (all possible elements)
137
+ - Advanced Tabs vertical layout added
138
+ - Lots of minor bugfix and improvements
139
+
140
  = 2.6.0 =
141
 
142
  - Tooltip element added