Premium Addons for Elementor - Version 2.5.5

Version Description

  • Tweak: Enhanced HTML structure for Dual Heading widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 2.5.5
Comparing to
See all releases

Code changes from version 2.5.4 to 2.5.5

admin/settings/version-control.php CHANGED
@@ -80,7 +80,7 @@ class PA_Version_Control {
80
  <tr class="pa-roll-row">
81
  <th>Rollback Version</th>
82
  <td>
83
- <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.5.3</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
84
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
85
  </td>
86
  </tr>
80
  <tr class="pa-roll-row">
81
  <th>Rollback Version</th>
82
  <td>
83
+ <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.5.4</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
84
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
85
  </td>
86
  </tr>
assets/css/premium-addons.css CHANGED
@@ -2108,7 +2108,7 @@ button.premium-modal-box-modal-close {
2108
  -webkit-transform: translate(0,0);
2109
  transform: translate(0,0);
2110
  }
2111
- .premium-dual-header-first-clip,
2112
  .premium-dual-header-second-clip {
2113
  -webkit-text-fill-color: transparent;
2114
  -webkit-background-clip: text;
@@ -2129,7 +2129,7 @@ button.premium-modal-box-modal-close {
2129
  margin-right: 5px;
2130
  }
2131
  }
2132
- .premium-dual-header-first-header.gradient,
2133
  .premium-dual-header-second-header.gradient {
2134
  background-size: 300% 300% !important;
2135
  -webkit-animation: Gradient 10s ease-in-out infinite;
@@ -2307,22 +2307,22 @@ button.premium-modal-box-modal-close {
2307
  -o-transition: all 0.2s ease-in-out !important;
2308
  transition: all 0.2s ease-in-out !important;
2309
  }
2310
- .premium-button.premium-button-sm {
2311
  padding: 12px 24px;
2312
  font-size: 14px;
2313
  line-height: 1;
2314
  }
2315
- .premium-button.premium-button-md {
2316
  padding: 14px 26px;
2317
  font-size: 16px;
2318
  line-height: 1.2;
2319
  }
2320
- .premium-button.premium-button-lg {
2321
  padding: 16px 28px;
2322
  font-size: 18px;
2323
  line-height: 1.3333;
2324
  }
2325
- .premium-button.premium-button-block {
2326
  font-size: 15px;
2327
  line-height: 1;
2328
  padding: 12px 24px;
2108
  -webkit-transform: translate(0,0);
2109
  transform: translate(0,0);
2110
  }
2111
+ .premium-dual-header-first-clip .premium-dual-header-first-span,
2112
  .premium-dual-header-second-clip {
2113
  -webkit-text-fill-color: transparent;
2114
  -webkit-background-clip: text;
2129
  margin-right: 5px;
2130
  }
2131
  }
2132
+ .premium-dual-header-first-header.gradient .premium-dual-header-first-span,
2133
  .premium-dual-header-second-header.gradient {
2134
  background-size: 300% 300% !important;
2135
  -webkit-animation: Gradient 10s ease-in-out infinite;
2307
  -o-transition: all 0.2s ease-in-out !important;
2308
  transition: all 0.2s ease-in-out !important;
2309
  }
2310
+ .premium-button-sm {
2311
  padding: 12px 24px;
2312
  font-size: 14px;
2313
  line-height: 1;
2314
  }
2315
+ .premium-button-md {
2316
  padding: 14px 26px;
2317
  font-size: 16px;
2318
  line-height: 1.2;
2319
  }
2320
+ .premium-button-lg {
2321
  padding: 16px 28px;
2322
  font-size: 18px;
2323
  line-height: 1.3333;
2324
  }
2325
+ .premium-button-block {
2326
  font-size: 15px;
2327
  line-height: 1;
2328
  padding: 12px 24px;
assets/js/premium-maps.js CHANGED
@@ -1,10 +1,17 @@
1
  jQuery(window).on('elementor/frontend/init',function(){
 
2
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-maps.default',function($scope,$){
 
3
  var mapElement = $scope.find('.premium_maps_map_height');
 
4
  var mapSettings = mapElement.data('settings');
 
5
  var mapStyle = mapElement.data('style');
 
6
  premiumMap = newMap(mapElement,mapSettings,mapStyle);
 
7
  function newMap(map,settings,mapStyle){
 
8
  var scrollwheel = JSON.parse(settings['scrollwheel']);
9
  var streetViewControl = JSON.parse(settings['streetViewControl']);
10
  var fullscreenControl = JSON.parse(settings['fullScreen']);
@@ -26,16 +33,25 @@ jQuery(window).on('elementor/frontend/init',function(){
26
  mapTypeControl: mapTypeControl,
27
  styles: mapStyle
28
  };
 
29
  var markers = map.find(".premium-pin");
 
 
 
30
  var map = new google.maps.Map( map[0], args);
 
31
  map.markers = [];
32
  // add markers
33
  markers.each(function(){
34
  add_marker( jQuery(this), map, autoOpen, hoverOpen, hoverClose );
35
  });
 
 
36
  return map;
37
  }
 
38
  function add_marker( pin, map ,autoOpen, hoverOpen, hoverClose ) {
 
39
  var latlng = new google.maps.LatLng( pin.attr('data-lat'), pin.attr('data-lng') );
40
 
41
  icon_img = pin.attr('data-icon');
@@ -51,6 +67,7 @@ jQuery(window).on('elementor/frontend/init',function(){
51
  map : map,
52
  icon : icon
53
  });
 
54
 
55
  // add to array
56
  map.markers.push( marker );
1
  jQuery(window).on('elementor/frontend/init',function(){
2
+
3
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-maps.default',function($scope,$){
4
+
5
  var mapElement = $scope.find('.premium_maps_map_height');
6
+
7
  var mapSettings = mapElement.data('settings');
8
+
9
  var mapStyle = mapElement.data('style');
10
+
11
  premiumMap = newMap(mapElement,mapSettings,mapStyle);
12
+
13
  function newMap(map,settings,mapStyle){
14
+
15
  var scrollwheel = JSON.parse(settings['scrollwheel']);
16
  var streetViewControl = JSON.parse(settings['streetViewControl']);
17
  var fullscreenControl = JSON.parse(settings['fullScreen']);
33
  mapTypeControl: mapTypeControl,
34
  styles: mapStyle
35
  };
36
+
37
  var markers = map.find(".premium-pin");
38
+
39
+ // var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
40
+
41
  var map = new google.maps.Map( map[0], args);
42
+
43
  map.markers = [];
44
  // add markers
45
  markers.each(function(){
46
  add_marker( jQuery(this), map, autoOpen, hoverOpen, hoverClose );
47
  });
48
+ // var markerCluster = new MarkerClusterer(map, markers,
49
+ // {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
50
  return map;
51
  }
52
+
53
  function add_marker( pin, map ,autoOpen, hoverOpen, hoverClose ) {
54
+
55
  var latlng = new google.maps.LatLng( pin.attr('data-lat'), pin.attr('data-lng') );
56
 
57
  icon_img = pin.attr('data-icon');
67
  map : map,
68
  icon : icon
69
  });
70
+
71
 
72
  // add to array
73
  map.markers.push( marker );
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 2.5.4
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
@@ -22,12 +22,12 @@ if (!function_exists('add_action')) {
22
  if (!defined('ABSPATH')) exit; // No access of directly access
23
 
24
 
25
- define('PREMIUM_ADDONS_VERSION', '2.5.4');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
- define('PREMIUM_ADDONS_STABLE_VERSION', '2.5.3');
31
 
32
  /**
33
  * Loading text domain, Including required files
@@ -270,6 +270,7 @@ class premium_Addon_Elementor {
270
  $premium_maps_disable_api = get_option('pa_maps_save_settings')['premium-map-disable-api'];
271
  $premium_maps_enabled = isset( get_option('pa_save_settings')['premium-maps'] ) ? get_option('pa_save_settings')['premium-maps'] : 1;
272
  if ($premium_maps_enabled == 1 && $premium_maps_disable_api == 1) {
 
273
  wp_enqueue_script('google-maps-script', 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api, array(), PREMIUM_ADDONS_VERSION, false);
274
  }
275
  }
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 2.5.5
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
22
  if (!defined('ABSPATH')) exit; // No access of directly access
23
 
24
 
25
+ define('PREMIUM_ADDONS_VERSION', '2.5.5');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
+ define('PREMIUM_ADDONS_STABLE_VERSION', '2.5.4');
31
 
32
  /**
33
  * Loading text domain, Including required files
270
  $premium_maps_disable_api = get_option('pa_maps_save_settings')['premium-map-disable-api'];
271
  $premium_maps_enabled = isset( get_option('pa_save_settings')['premium-maps'] ) ? get_option('pa_save_settings')['premium-maps'] : 1;
272
  if ($premium_maps_enabled == 1 && $premium_maps_disable_api == 1) {
273
+ wp_enqueue_script('google-maps-cluser', 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js', array(), PREMIUM_ADDONS_VERSION, false);
274
  wp_enqueue_script('google-maps-script', 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api, array(), PREMIUM_ADDONS_VERSION, false);
275
  }
276
  }
readme.txt CHANGED
@@ -5,12 +5,15 @@ Donate link: http://premiumaddons.com
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
- Stable tag: 2.5.4
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
12
  20 Elementor Widgets and Addons like Grid, Modal Box, Carousel, Google Maps, Pricing Tables, Countdown, Testimonials, Blog, and much more.
13
 
 
 
 
14
  == Description ==
15
  20 Premium Elementor addons & widgets with numerous customization options that extends Elementor Page Builder capabilities to help you build impressive websites with no coding required. Click [Here](https://premiumaddons.com/) to check addon elements’ demos.
16
 
@@ -134,6 +137,10 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
134
 
135
  == Changelog ==
136
 
 
 
 
 
137
  = 2.5.4 =
138
 
139
  - Tweak: Added Always Hovered option to Banner widget.
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
+ Stable tag: 2.5.5
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
12
  20 Elementor Widgets and Addons like Grid, Modal Box, Carousel, Google Maps, Pricing Tables, Countdown, Testimonials, Blog, and much more.
13
 
14
+ == Important: ==
15
+ Premium Dual Heading widget has been rebuilt to be 100% SEO compitable. Please make sure to check websites you built using Dual Heading widget as its styling may need to be amended.
16
+
17
  == Description ==
18
  20 Premium Elementor addons & widgets with numerous customization options that extends Elementor Page Builder capabilities to help you build impressive websites with no coding required. Click [Here](https://premiumaddons.com/) to check addon elements’ demos.
19
 
137
 
138
  == Changelog ==
139
 
140
+ = 2.5.5 =
141
+
142
+ - Tweak: Enhanced HTML structure for Dual Heading widget.
143
+
144
  = 2.5.4 =
145
 
146
  - Tweak: Added Always Hovered option to Banner widget.
widgets/premium-banner.php CHANGED
@@ -564,7 +564,7 @@ class Premium_Banner_Widget extends Widget_Base {
564
  <?php if($settings['premium_banner_height'] == 'custom' ): ?>
565
  <div class="premium_addons-banner-img-wrap">
566
  <?php endif; ?>
567
- <img class="premium_addons-banner-ib-img active" alt="null" src="<?php echo $settings['premium_banner_image']['url']; ?>">
568
  <?php if($settings['premium_banner_height'] == 'custom' ): ?>
569
  </div>
570
  <?php endif; ?>
564
  <?php if($settings['premium_banner_height'] == 'custom' ): ?>
565
  <div class="premium_addons-banner-img-wrap">
566
  <?php endif; ?>
567
+ <img class="premium_addons-banner-ib-img" alt="null" src="<?php echo $settings['premium_banner_image']['url']; ?>">
568
  <?php if($settings['premium_banner_height'] == 'custom' ): ?>
569
  </div>
570
  <?php endif; ?>
widgets/premium-dual-header.php CHANGED
@@ -50,28 +50,8 @@ class Premium_Dual_Header_Widget extends Widget_Base
50
  ]
51
  );
52
 
53
- /*Title Tag*/
54
- $this->add_control('premium_dual_header_first_header_tag',
55
- [
56
- 'label' => esc_html__('HTML Tag', 'premium-addons-for-elementor'),
57
- 'type' => Controls_Manager::SELECT,
58
- 'default' => 'h2',
59
- 'options' => [
60
- 'h1' => 'H1',
61
- 'h2' => 'H2',
62
- 'h3' => 'H3',
63
- 'h4' => 'H4',
64
- 'h5' => 'H5',
65
- 'h6' => 'H6',
66
- 'p' => 'p',
67
- 'span' => 'span',
68
- ],
69
- 'label_block' => true,
70
- ]
71
- );
72
-
73
  /* First Wrapper*/
74
- $this->add_control('premium_dual_header_first_wrap',
75
  [
76
  'label' => esc_html__('Wrapper Tag', 'premium-addons-for-elementor'),
77
  'type' => Controls_Manager::SELECT,
@@ -82,7 +62,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
82
  ],
83
  'label_block' => true,
84
  ]
85
- );
86
 
87
  /*Second Header*/
88
  $this->add_control('premium_dual_header_second_header_text',
@@ -95,8 +75,8 @@ class Premium_Dual_Header_Widget extends Widget_Base
95
  ]
96
  );
97
 
98
- /*Title Tag*/
99
- $this->add_control('premium_dual_header_second_header_tag',
100
  [
101
  'label' => esc_html__('HTML Tag', 'premium-addons-for-elementor'),
102
  'type' => Controls_Manager::SELECT,
@@ -115,20 +95,6 @@ class Premium_Dual_Header_Widget extends Widget_Base
115
  ]
116
  );
117
 
118
- /* Second Wrapper*/
119
- $this->add_control('premium_dual_header_second_wrap',
120
- [
121
- 'label' => esc_html__('Wrapper Tag', 'premium-addons-for-elementor'),
122
- 'type' => Controls_Manager::SELECT,
123
- 'default' => 'div',
124
- 'options' => [
125
- 'div' => 'div',
126
- 'span' => 'span',
127
- ],
128
- 'label_block' => true,
129
- ]
130
- );
131
-
132
  /*Text Align*/
133
  $this->add_control('premium_dual_header_position',
134
  [
@@ -140,7 +106,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
140
  ],
141
  'default' => 'inline',
142
  'selectors' => [
143
- '{{WRAPPER}} .premium-dual-header-first-container, {{WRAPPER}} .premium-dual-header-second-container' => 'display: {{VALUE}};',
144
  ],
145
  'label_block' => true
146
  ]
@@ -245,7 +211,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
245
  [
246
  'name' => 'first_header_typography',
247
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
248
- 'selector' => '{{WRAPPER}} .premium-dual-header-first-header',
249
  ]
250
  );
251
 
@@ -284,7 +250,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
284
  'premium_dual_header_first_back_clip' => 'color',
285
  ],
286
  'selectors' => [
287
- '{{WRAPPER}} .premium-dual-header-first-header' => 'color: {{VALUE}};',
288
  ]
289
  ]
290
  );
@@ -298,7 +264,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
298
  'condition' => [
299
  'premium_dual_header_first_back_clip' => 'color',
300
  ],
301
- 'selector' => '{{WRAPPER}} .premium-dual-header-first-header',
302
  ]
303
  );
304
 
@@ -311,7 +277,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
311
  'condition' => [
312
  'premium_dual_header_first_back_clip' => 'clipped',
313
  ],
314
- 'selector' => '{{WRAPPER}} .premium-dual-header-first-header',
315
  ]
316
  );
317
 
@@ -320,7 +286,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
320
  Group_Control_Border::get_type(),
321
  [
322
  'name' => 'first_header_border',
323
- 'selector' => '{{WRAPPER}} .premium-dual-header-first-header',
324
  ]
325
  );
326
 
@@ -331,7 +297,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
331
  'type' => Controls_Manager::SLIDER,
332
  'size_units' => ['px', '%', 'em'],
333
  'selectors' => [
334
- '{{WRAPPER}} .premium-dual-header-first-header' => 'border-radius: {{SIZE}}{{UNIT}};'
335
  ]
336
  ]
337
  );
@@ -342,7 +308,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
342
  [
343
  'label' => esc_html__('Shadow','premium-addons-for-elementor'),
344
  'name' => 'premium_dual_header_first_text_shadow',
345
- 'selector' => '{{WRAPPER}} .premium-dual-header-first-header',
346
  ]
347
  );
348
 
@@ -353,7 +319,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
353
  'type' => Controls_Manager::DIMENSIONS,
354
  'size_units' => [ 'px', 'em', '%' ],
355
  'selectors' => [
356
- '{{WRAPPER}} .premium-dual-header-first-header' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}',
357
  ]
358
  ]
359
  );
@@ -365,7 +331,7 @@ class Premium_Dual_Header_Widget extends Widget_Base
365
  'type' => Controls_Manager::DIMENSIONS,
366
  'size_units' => [ 'px', 'em', '%' ],
367
  'selectors' => [
368
- '{{WRAPPER}} .premium-dual-header-first-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}',
369
  ]
370
  ]
371
  );
@@ -531,12 +497,11 @@ class Premium_Dual_Header_Widget extends Widget_Base
531
  $second_clip = '';
532
  if( $settings['premium_dual_header_first_back_clip'] === 'clipped' ) : $first_clip = "premium-dual-header-first-clip"; endif;
533
  if( $settings['premium_dual_header_second_back_clip'] === 'clipped' ) : $second_clip = "premium-dual-header-second-clip"; endif;
534
- if( $settings['premium_dual_header_first_animated'] === 'yes' ) : $first_grad = " gradient"; endif;
535
- if( $settings['premium_dual_header_second_animated'] === 'yes' ) : $second_grad = " gradient"; endif;
536
 
537
- $full_first_title_tag = '<' . $first_title_tag . ' class="premium-dual-header-first-header ' . $first_clip . $first_grad . '"><span '. $this->get_render_attribute_string('premium_dual_header_first_header_text') . '>' . $first_title_text . '</span></' . $settings['premium_dual_header_first_header_tag'] . '> ';
 
538
 
539
- $full_second_title_tag = '<' . $second_title_tag . ' class="premium-dual-header-second-header ' . $second_clip . $second_grad . '"><span '. $this->get_render_attribute_string('premium_dual_header_second_header_text'). '>' . $second_title_text . '</span></' . $settings['premium_dual_header_second_header_tag'] . '>';
540
 
541
  if( $settings['premium_dual_header_link_switcher'] =='yes' && $settings['premium_dual_heading_link_selection'] == 'link' ) {
542
  $link = get_permalink($settings['premium_dual_heading_existing_link']);
@@ -547,10 +512,9 @@ class Premium_Dual_Header_Widget extends Widget_Base
547
 
548
  <div class="premium-dual-header-container">
549
  <?php if( $settings['premium_dual_header_link_switcher'] == 'yes' && ( !empty( $settings['premium_dual_heading_link']['url'] ) || !empty( $settings['premium_dual_heading_existing_link'] ) ) ) : ?>
550
- <a <?php if( !empty( $link ) ) : ?> href="<?php echo esc_attr($link); ?>" <?php endif; ?> <?php if(!empty($settings['premium_dual_heading_link']['is_external'])) : ?> target="_blank" <?php endif; ?><?php if(!empty($settings['premium_dual_heading_link']['nofollow'])) : ?> rel="nofollow" <?php endif; ?>>
551
  <?php endif; ?>
552
- <<?php echo $settings['premium_dual_header_first_wrap']; ?> class="premium-dual-header-first-container"><?php if ( !empty ( $settings['premium_dual_header_first_header_text'] ) ) : echo $full_first_title_tag; endif; ?></<?php echo $settings['premium_dual_header_first_wrap']; ?>>
553
- <<?php echo $settings['premium_dual_header_second_wrap']; ?> class="premium-dual-header-second-container"><?php if ( !empty ( $settings['premium_dual_header_second_header_text'] ) ) : echo $full_second_title_tag; endif; ?></<?php echo $settings['premium_dual_header_second_wrap']; ?>>
554
  <?php if( $settings['premium_dual_header_link_switcher'] == 'yes' && ( !empty( $settings['premium_dual_heading_link']['url'] ) || !empty( $settings['premium_dual_heading_existing_link'] ) ) ) : ?>
555
  </a>
556
  <?php endif; ?>
@@ -559,4 +523,4 @@ class Premium_Dual_Header_Widget extends Widget_Base
559
  <?php
560
  }
561
  }
562
- Plugin::instance()->widgets_manager->register_widget_type(new Premium_Dual_Header_Widget());
50
  ]
51
  );
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  /* First Wrapper*/
54
+ /*$this->add_control('premium_dual_header_first_wrap',
55
  [
56
  'label' => esc_html__('Wrapper Tag', 'premium-addons-for-elementor'),
57
  'type' => Controls_Manager::SELECT,
62
  ],
63
  'label_block' => true,
64
  ]
65
+ );*/
66
 
67
  /*Second Header*/
68
  $this->add_control('premium_dual_header_second_header_text',
75
  ]
76
  );
77
 
78
+ /*Title Tag*/
79
+ $this->add_control('premium_dual_header_first_header_tag',
80
  [
81
  'label' => esc_html__('HTML Tag', 'premium-addons-for-elementor'),
82
  'type' => Controls_Manager::SELECT,
95
  ]
96
  );
97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  /*Text Align*/
99
  $this->add_control('premium_dual_header_position',
100
  [
106
  ],
107
  'default' => 'inline',
108
  'selectors' => [
109
+ '{{WRAPPER}} .premium-dual-header-first-container span, {{WRAPPER}} .premium-dual-header-second-container' => 'display: {{VALUE}};',
110
  ],
111
  'label_block' => true
112
  ]
211
  [
212
  'name' => 'first_header_typography',
213
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
214
+ 'selector' => '{{WRAPPER}} .premium-dual-header-first-span',
215
  ]
216
  );
217
 
250
  'premium_dual_header_first_back_clip' => 'color',
251
  ],
252
  'selectors' => [
253
+ '{{WRAPPER}} .premium-dual-header-first-span' => 'color: {{VALUE}};',
254
  ]
255
  ]
256
  );
264
  'condition' => [
265
  'premium_dual_header_first_back_clip' => 'color',
266
  ],
267
+ 'selector' => '{{WRAPPER}} .premium-dual-header-first-span',
268
  ]
269
  );
270
 
277
  'condition' => [
278
  'premium_dual_header_first_back_clip' => 'clipped',
279
  ],
280
+ 'selector' => '{{WRAPPER}} .premium-dual-header-first-span',
281
  ]
282
  );
283
 
286
  Group_Control_Border::get_type(),
287
  [
288
  'name' => 'first_header_border',
289
+ 'selector' => '{{WRAPPER}} .premium-dual-header-first-span',
290
  ]
291
  );
292
 
297
  'type' => Controls_Manager::SLIDER,
298
  'size_units' => ['px', '%', 'em'],
299
  'selectors' => [
300
+ '{{WRAPPER}} .premium-dual-header-first-span' => 'border-radius: {{SIZE}}{{UNIT}};'
301
  ]
302
  ]
303
  );
308
  [
309
  'label' => esc_html__('Shadow','premium-addons-for-elementor'),
310
  'name' => 'premium_dual_header_first_text_shadow',
311
+ 'selector' => '{{WRAPPER}} .premium-dual-header-first-span',
312
  ]
313
  );
314
 
319
  'type' => Controls_Manager::DIMENSIONS,
320
  'size_units' => [ 'px', 'em', '%' ],
321
  'selectors' => [
322
+ '{{WRAPPER}} .premium-dual-header-first-span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}',
323
  ]
324
  ]
325
  );
331
  'type' => Controls_Manager::DIMENSIONS,
332
  'size_units' => [ 'px', 'em', '%' ],
333
  'selectors' => [
334
+ '{{WRAPPER}} .premium-dual-header-first-span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}',
335
  ]
336
  ]
337
  );
497
  $second_clip = '';
498
  if( $settings['premium_dual_header_first_back_clip'] === 'clipped' ) : $first_clip = "premium-dual-header-first-clip"; endif;
499
  if( $settings['premium_dual_header_second_back_clip'] === 'clipped' ) : $second_clip = "premium-dual-header-second-clip"; endif;
 
 
500
 
501
+ $first_grad = $settings['premium_dual_header_first_animated'] === 'yes' ? ' gradient' : '';
502
+ $second_grad = $settings['premium_dual_header_second_animated'] === 'yes' ? ' gradient' : '';
503
 
504
+ $full_first_title_tag = '<' . $first_title_tag . ' class="premium-dual-header-first-header ' . $first_clip . $first_grad . '"><span class="premium-dual-header-first-span">'. $first_title_text . '</span><span class="premium-dual-header-second-header ' . $second_clip . $second_grad . '">'. $second_title_text . '</span></' . $settings['premium_dual_header_first_header_tag'] . '> ';
505
 
506
  if( $settings['premium_dual_header_link_switcher'] =='yes' && $settings['premium_dual_heading_link_selection'] == 'link' ) {
507
  $link = get_permalink($settings['premium_dual_heading_existing_link']);
512
 
513
  <div class="premium-dual-header-container">
514
  <?php if( $settings['premium_dual_header_link_switcher'] == 'yes' && ( !empty( $settings['premium_dual_heading_link']['url'] ) || !empty( $settings['premium_dual_heading_existing_link'] ) ) ) : ?>
515
+ <a <?php if( !empty( $link ) ) : ?> href="<?php echo esc_attr( $link ); ?>" <?php endif; ?> <?php if(!empty($settings['premium_dual_heading_link']['is_external'])) : ?> target="_blank" <?php endif; ?><?php if(!empty($settings['premium_dual_heading_link']['nofollow'])) : ?> rel="nofollow" <?php endif; ?>>
516
  <?php endif; ?>
517
+ <div class="premium-dual-header-first-container"><?php echo $full_first_title_tag; ?></div>
 
518
  <?php if( $settings['premium_dual_header_link_switcher'] == 'yes' && ( !empty( $settings['premium_dual_heading_link']['url'] ) || !empty( $settings['premium_dual_heading_existing_link'] ) ) ) : ?>
519
  </a>
520
  <?php endif; ?>
523
  <?php
524
  }
525
  }
526
+ Plugin::instance()->widgets_manager->register_widget_type(new Premium_Dual_Header_Widget());