Premium Addons for Elementor - Version 2.0.5

Version Description

  • Tweak: Added API Disable checkbox to Google Maps tab in plugin settings.
  • Tweak: Added arrows position option for Premium Carousel widget.
  • Tweak: Added responsive settings for Premium Banner widget.
  • Tweak: Added icon background padding, border and border radius for Premium Pricing Table widget.
  • Tweak: Added button text hover color for Premium Pricing Table widget.
  • Tweak: Enhanced Premium Blog layout on mobile phones.
  • Fix: Premium Countdown browser compatibility issue on Safari and IE11.
  • Fix: Premium Dual Header horizontal overflow on mobile phones.
  • Fix: Premium Modal Box position bug on Safari .
  • Fix: Premium Video Box video description text with video text switcher off bug.
  • Fix: Premium Video Box border radius bug on Chrome and Opera.
Download this release

Release Info

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

Code changes from version 2.0.4 to 2.0.5

admin/assets/admin.css CHANGED
@@ -225,11 +225,20 @@ input:checked + .slider:before {
225
}
226
.slider.round:before {
227
border-radius: 50%;
228
- }
229
.pa-api-title {
230
display: inline-block;
231
margin: 0;
232
}
233
.pa-maps-api-notice {
234
margin: 10px 0 0 0;
235
}
225
}
226
.slider.round:before {
227
border-radius: 50%;
228
+ }
229
+ .pa-maps-table {
230
+ text-align: left;
231
+ }
232
.pa-api-title {
233
display: inline-block;
234
margin: 0;
235
}
236
+ .pa-api-disable-title label {
237
+ margin-right: 15px;
238
+ }
239
+ .pa-api-disable-title span {
240
+ font-weight: normal;
241
+ }
242
.pa-maps-api-notice {
243
margin: 10px 0 0 0;
244
}
admin/settings-page.php CHANGED
@@ -4,7 +4,7 @@ if( ! defined( 'ABSPATH' ) ) exit(); // Exit if accessed directly
4
5
class PA_admin_settings {
6
7
- public $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox','premium-pricing-table','premium-button','premium-contactform', 'premium-image-button', 'premium-map-api'];
8
9
private $pa_default_settings;
10
@@ -304,7 +304,7 @@ class PA_admin_settings {
304
</div>
305
<div id="pa-maps-api" class="pa-maps-tab">
306
<div class="pa-row">
307
- <table>
308
<tr>
309
<p class="pa-maps-api-notice">
310
Premium Maps Element requires Google API key to be entered below. If you don’t have one, Click <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank"> Here</a> to get your key.
@@ -313,6 +313,9 @@ class PA_admin_settings {
313
<tr>
314
<th><h4 class="pa-api-title"><label>Google Maps API Key:</label><input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo $this->pa_get_settings['premium-map-api']; ?>"></h4></th>
315
</tr>
316
</table>
317
<input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
318
</div>
@@ -366,7 +369,7 @@ class PA_admin_settings {
366
'premium-contactform' => intval( $settings['premium-contactform'] ? 1 : 0),
367
'premium-image-button' => intval( $settings['premium-image-button'] ? 1 : 0),
368
'premium-map-api' => $settings['premium-map-api'],
369
- 'wisdom_registered_setting' => 1,
370
);
371
update_option( 'pa_save_settings', $this->pa_settings );
372
4
5
class PA_admin_settings {
6
7
+ public $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox','premium-pricing-table','premium-button','premium-contactform', 'premium-image-button', 'premium-map-api', 'premium-map-disable-api'];
8
9
private $pa_default_settings;
10
304
</div>
305
<div id="pa-maps-api" class="pa-maps-tab">
306
<div class="pa-row">
307
+ <table class="pa-maps-table">
308
<tr>
309
<p class="pa-maps-api-notice">
310
Premium Maps Element requires Google API key to be entered below. If you don’t have one, Click <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank"> Here</a> to get your key.
313
<tr>
314
<th><h4 class="pa-api-title"><label>Google Maps API Key:</label><input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo $this->pa_get_settings['premium-map-api']; ?>"></h4></th>
315
</tr>
316
+ <tr>
317
+ <th><h4 class="pa-api-disable-title"><label><?php echo esc_html__('Enable Maps API JS File:','premium-addons-for-elementor'); ?></label><input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked(1, $this->pa_get_settings['premium-map-disable-api'], true) ?>><span>This will Enable the API JS file if it's not included by another theme or plugin</span></h4></th>
318
+ </tr>
319
</table>
320
<input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
321
</div>
369
'premium-contactform' => intval( $settings['premium-contactform'] ? 1 : 0),
370
'premium-image-button' => intval( $settings['premium-image-button'] ? 1 : 0),
371
'premium-map-api' => $settings['premium-map-api'],
372
+ 'premium-map-disable-api' => intval( $settings['premium-map-disable-api'] ? 1 : 0),
373
);
374
update_option( 'pa_save_settings', $this->pa_settings );
375
assets/css/premium-addons.css CHANGED
@@ -671,10 +671,10 @@
671
left: 50%;
672
}
673
a.carousel-arrow.carousel-next {
674
- right: -45px;
675
}
676
a.carousel-arrow.carousel-prev {
677
- left: -45px;
678
}
679
a.ver-carousel-arrow.carousel-next {
680
bottom: -56px;
@@ -872,7 +872,7 @@ button.close {
872
overflow-y: auto
873
}
874
.premium-modal-box-modal.fade .modal-dialog{
875
- position: relative;
876
top: 50%;
877
left: 50%;
878
-webkit-transform: translate(-50%,-50%) !important;
@@ -880,11 +880,9 @@ button.close {
880
margin: 0;
881
}
882
.modal-content {
883
- position: relative;
884
background-color: #fff;
885
-webkit-background-clip: padding-box;
886
background-clip: padding-box;
887
- border: 1px solid #999;
888
border: 1px solid rgba(0, 0, 0, .2);
889
border-radius: 6px;
890
outline: 0;
@@ -959,14 +957,6 @@ button.close {
959
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
960
box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
961
}
962
- .modal-sm {
963
- width: 300px
964
- }
965
- }
966
- @media (min-width:992px) {
967
- .modal-lg {
968
- width: 900px
969
- }
970
}
971
.premium-modal-box-container {
972
width: 100% !important;
@@ -1287,6 +1277,7 @@ button.close {
1287
-o-transition: opacity 0.8s ease-in-out;
1288
-ms-transition: opacity 0.8s ease-in-out;
1289
transition: opacity 0.8s ease-in-out;
1290
}
1291
/*Video Iframe Style*/
1292
.premium-video-box-video-container iframe{
@@ -1642,16 +1633,23 @@ button.close {
1642
font-size: 17.8px;
1643
}
1644
@media (max-width: 768px) {
1645
.premium-blog-format-container {
1646
display: none;
1647
}
1648
.premium-blog-entry-meta,
1649
.premium-blog-post-content {
1650
- margin-left: 0px;
1651
- }
1652
.premium-blog-post-tags-container {
1653
margin-left: 0px;
1654
- }
1655
}
1656
/**************** Premium Person ******************/
1657
/**************************************************/
@@ -1790,6 +1788,13 @@ button.close {
1790
-webkit-transform: translate(0,0);
1791
transform: translate(0,0);
1792
}
1793
.premium-dual-header-first-container {
1794
margin-right: 5px;
1795
}
@@ -1811,16 +1816,12 @@ button.close {
1811
.premium-pricing-table-container {
1812
text-align: center;
1813
overflow: hidden;
1814
- border: 1px solid #dddddd;
1815
-webkit-transition: all 0.3s ease-in-out;
1816
-moz-transition: all 0.3s ease-in-out;
1817
-o-transition: all 0.3s ease-in-out;
1818
-ms-transition: all 0.3s ease-in-out;
1819
transition: all 0.3s ease-in-out;
1820
}
1821
- .premium-pricing-table-container:hover {
1822
- box-shadow: 0 30px 65px 0 rgba(0,0,0,0.21);
1823
- }
1824
.premium-badge-left,
1825
.premium-badge-right {
1826
position:absolute;
@@ -1875,9 +1876,6 @@ button.close {
1875
list-style-type: none;
1876
margin: 0;
1877
}
1878
- .premium-pricing-price-container {
1879
- background: #eaeaea;
1880
- }
1881
.premium-pricing-price-value {
1882
font-size: 70px;
1883
}
671
left: 50%;
672
}
673
a.carousel-arrow.carousel-next {
674
+ right: -20px;
675
}
676
a.carousel-arrow.carousel-prev {
677
+ left: -20px;
678
}
679
a.ver-carousel-arrow.carousel-next {
680
bottom: -56px;
872
overflow-y: auto
873
}
874
.premium-modal-box-modal.fade .modal-dialog{
875
+ position: absolute;
876
top: 50%;
877
left: 50%;
878
-webkit-transform: translate(-50%,-50%) !important;
880
margin: 0;
881
}
882
.modal-content {
883
background-color: #fff;
884
-webkit-background-clip: padding-box;
885
background-clip: padding-box;
886
border: 1px solid rgba(0, 0, 0, .2);
887
border-radius: 6px;
888
outline: 0;
957
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
958
box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
959
}
960
}
961
.premium-modal-box-container {
962
width: 100% !important;
1277
-o-transition: opacity 0.8s ease-in-out;
1278
-ms-transition: opacity 0.8s ease-in-out;
1279
transition: opacity 0.8s ease-in-out;
1280
+ overflow: hidden;
1281
}
1282
/*Video Iframe Style*/
1283
.premium-video-box-video-container iframe{
1633
font-size: 17.8px;
1634
}
1635
@media (max-width: 768px) {
1636
+ .premium-blog-content-wrapper {
1637
+ top: 0;
1638
+ margin: 0;
1639
+ }
1640
+ .premium-blog-thumb-effect-wrapper {
1641
+ margin-bottom: 15px;
1642
+ }
1643
.premium-blog-format-container {
1644
display: none;
1645
}
1646
.premium-blog-entry-meta,
1647
.premium-blog-post-content {
1648
+ margin-left: 0px;
1649
+ }
1650
.premium-blog-post-tags-container {
1651
margin-left: 0px;
1652
+ }
1653
}
1654
/**************** Premium Person ******************/
1655
/**************************************************/
1788
-webkit-transform: translate(0,0);
1789
transform: translate(0,0);
1790
}
1791
+ @media (max-width: 500px) {
1792
+ .premium-dual-header-container .premium-dual-header-first-header,
1793
+ .premium-dual-header-container .premium-dual-header-second-header {
1794
+ display: block;
1795
+ word-wrap: break-word;
1796
+ }
1797
+ }
1798
.premium-dual-header-first-container {
1799
margin-right: 5px;
1800
}
1816
.premium-pricing-table-container {
1817
text-align: center;
1818
overflow: hidden;
1819
-webkit-transition: all 0.3s ease-in-out;
1820
-moz-transition: all 0.3s ease-in-out;
1821
-o-transition: all 0.3s ease-in-out;
1822
-ms-transition: all 0.3s ease-in-out;
1823
transition: all 0.3s ease-in-out;
1824
}
1825
.premium-badge-left,
1826
.premium-badge-right {
1827
position:absolute;
1876
list-style-type: none;
1877
margin: 0;
1878
}
1879
.premium-pricing-price-value {
1880
font-size: 70px;
1881
}
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: Premium Addons for Elementor
4
Description: This Plugin Includes Elementor Page Builder’s Premium Addon Elements.
5
Plugin URI: https://premiumaddons.com
6
- Version: 2.0.4
7
Author: Leap13
8
Author URI: http://leap13.com/
9
Text Domain: premium-addons-for-elementor
@@ -111,8 +111,14 @@ define( 'PREMIUM_ADDONS_FILE', __FILE__ );
111
wp_enqueue_style( 'premium-addons-css', PREMIUM_ADDONS_URL . 'assets/css/premium-addons.css', array(), '1.0', 'all' );
112
113
$premium_maps_api = get_option( 'pa_save_settings' )['premium-map-api'];
114
115
- wp_enqueue_script('google-maps-script','https://maps.googleapis.com/maps/api/js?key='.$premium_maps_api , array('jquery'), '1.0', false);
116
117
}
118
3
Plugin Name: Premium Addons for Elementor
4
Description: This Plugin Includes Elementor Page Builder’s Premium Addon Elements.
5
Plugin URI: https://premiumaddons.com
6
+ Version: 2.0.5
7
Author: Leap13
8
Author URI: http://leap13.com/
9
Text Domain: premium-addons-for-elementor
111
wp_enqueue_style( 'premium-addons-css', PREMIUM_ADDONS_URL . 'assets/css/premium-addons.css', array(), '1.0', 'all' );
112
113
$premium_maps_api = get_option( 'pa_save_settings' )['premium-map-api'];
114
+ $premium_maps_disable_api = get_option( 'pa_save_settings' )['premium-map-disable-api'];
115
+
116
+ if ($premium_maps_disable_api == 1) {
117
+ wp_enqueue_script('google-maps-script','https://maps.googleapis.com/maps/api/js?key='.$premium_maps_api , array('jquery'), '1.0', false);
118
+ } else {
119
+ wp_enqueue_script('google-maps-script','https://maps.googleapis.com/maps/api/js?key=' , array('jquery'), '1.0', false);
120
+ }
121
122
123
}
124
readme.txt CHANGED
@@ -79,6 +79,20 @@ Premium Addons for Elementor is light weight and we also gave you the control to
79
80
== Changelog ==
81
82
= 2.0.4 =
83
84
- Tweak: Changed the way it loads Js files for better performance.
79
80
== Changelog ==
81
82
+ = 2.0.5 =
83
+
84
+ - Tweak: Added API Disable checkbox to Google Maps tab in plugin settings.
85
+ - Tweak: Added arrows position option for Premium Carousel widget.
86
+ - Tweak: Added responsive settings for Premium Banner widget.
87
+ - Tweak: Added icon background padding, border and border radius for Premium Pricing Table widget.
88
+ - Tweak: Added button text hover color for Premium Pricing Table widget.
89
+ - Tweak: Enhanced Premium Blog layout on mobile phones.
90
+ - Fix: Premium Countdown browser compatibility issue on Safari and IE11.
91
+ - Fix: Premium Dual Header horizontal overflow on mobile phones.
92
+ - Fix: Premium Modal Box position bug on Safari .
93
+ - Fix: Premium Video Box video description text with video text switcher off bug.
94
+ - Fix: Premium Video Box border radius bug on Chrome and Opera.
95
+
96
= 2.0.4 =
97
98
- Tweak: Changed the way it loads Js files for better performance.
widgets/premium-banner.php CHANGED
@@ -322,6 +322,43 @@ class Premium_Banner_Widget extends Widget_Base {
322
323
$this->end_controls_section();
324
325
$this->start_controls_section(
326
'premium_banner_opacity_style',
327
[
@@ -463,9 +500,12 @@ class Premium_Banner_Widget extends Widget_Base {
463
$extra_class = isset( $settings['premium_banner_extra_class'] ) && $settings['premium_banner_extra_class'] != '' ? ' '. $settings['premium_banner_extra_class'] : '';
464
$min_height_class = $settings['premium_banner_height'] == 'custom' ? '' : '';
465
$full_class = $animation_class.$extra_class.$min_height_class;
466
ob_start();
467
?>
468
- <div class="premium_banner">
469
<div class="premium_addons-banner-ib <?php echo $full_class; ?> premium-banner-min-height">
470
<?php if( isset( $settings['premium_banner_image']['url'] ) && $settings['premium_banner_image']['url'] != '' ): ?>
471
<img class="premium_addons-banner-ib-img" alt="null" src="<?php echo $settings['premium_banner_image']['url']; ?>">
@@ -496,6 +536,16 @@ class Premium_Banner_Widget extends Widget_Base {
496
})
497
})(jQuery);
498
</script>
499
</div>
500
<?php $output = ob_get_clean();
501
echo $output;
322
323
$this->end_controls_section();
324
325
+ $this->start_controls_section('premium_banner_responsive_section',
326
+ [
327
+ 'label' => esc_html__('Responsive Settings', 'premium-addons-for-elementor'),
328
+ ]);
329
+
330
+
331
+ $this->add_control('premium_banner_responsive_switcher',
332
+ [
333
+ 'label' => esc_html__('Responsive Controls', 'premium-addons-for-elementor'),
334
+ 'type' => Controls_Manager::SWITCHER,
335
+ 'description' => esc_html__('Enabling Responsive Controls will hide the description text for the screen size that is specified', 'premium-addons-for-elementor')
336
+ ]);
337
+
338
+ $this->add_control('premium_banner_min_range',
339
+ [
340
+ 'label' => esc_html__('Min Screen Size (PX)', 'premium-addons-for-elementor'),
341
+ 'type' => Controls_Manager::NUMBER,
342
+ 'description'=> esc_html__('(Hint: min size for extra small screens is 1px)','premium-addons-for-elementor'),
343
+ 'default' => 1,
344
+ 'condition' => [
345
+ 'premium_banner_responsive_switcher' => 'yes'
346
+ ],
347
+ ]);
348
+
349
+ $this->add_control('premium_banner_max_range',
350
+ [
351
+ 'label' => esc_html__('Max Screen Size (PX)', 'premium-addons-for-elementor'),
352
+ 'type' => Controls_Manager::NUMBER,
353
+ 'description'=> esc_html__('(Hint: max size for extra small screens is 767px)','premium-addons-for-elementor'),
354
+ 'default' => 767,
355
+ 'condition' => [
356
+ 'premium_banner_responsive_switcher' => 'yes'
357
+ ],
358
+ ]);
359
+
360
+ $this->end_controls_section();
361
+
362
$this->start_controls_section(
363
'premium_banner_opacity_style',
364
[
500
$extra_class = isset( $settings['premium_banner_extra_class'] ) && $settings['premium_banner_extra_class'] != '' ? ' '. $settings['premium_banner_extra_class'] : '';
501
$min_height_class = $settings['premium_banner_height'] == 'custom' ? '' : '';
502
$full_class = $animation_class.$extra_class.$min_height_class;
503
+ $min_size = $settings['premium_banner_min_range'].'px';
504
+ $max_size = $settings['premium_banner_max_range'].'px';
505
+
506
ob_start();
507
?>
508
+ <div class="premium_banner" id="premium-banner-<?php echo esc_attr($this->get_id()); ?>">
509
<div class="premium_addons-banner-ib <?php echo $full_class; ?> premium-banner-min-height">
510
<?php if( isset( $settings['premium_banner_image']['url'] ) && $settings['premium_banner_image']['url'] != '' ): ?>
511
<img class="premium_addons-banner-ib-img" alt="null" src="<?php echo $settings['premium_banner_image']['url']; ?>">
536
})
537
})(jQuery);
538
</script>
539
+ <?php if($settings['premium_banner_responsive_switcher'] == 'yes') : ?>
540
+ <style>
541
+ @media(min-width: <?php echo $min_size; ?> ) and (max-width:<?php echo $max_size; ?>){
542
+ #premium-banner-<?php echo esc_attr($this->get_id()); ?> .premium_addons-banner-ib-content {
543
+ display: none;
544
+ }
545
+ }
546
+ </style>
547
+ <?php endif; ?>
548
+
549
</div>
550
<?php $output = ob_get_clean();
551
echo $output;
widgets/premium-carousel.php CHANGED
@@ -21,6 +21,11 @@ class Premium_Carousel_Widget extends Widget_Base {
21
public function get_icon() {
22
return 'pa-carousel';
23
}
24
25
public function get_script_depends() {
26
return ['slick-carousel-js'];
@@ -307,6 +312,23 @@ class Premium_Carousel_Widget extends Widget_Base {
307
],
308
]
309
);
310
311
$this->add_control(
312
'premium_carousel_arrow_icon_next',
@@ -592,6 +614,7 @@ class Premium_Carousel_Widget extends Widget_Base {
592
protected function render() {
593
$settings = $this->get_settings();
594
$options = '';
595
// Carousel sliding type
596
if( $settings['premium_carousel_slider_type'] == 'horizontal' ){
597
$options .= 'vertical: false,'."\r\n";
@@ -835,7 +858,16 @@ class Premium_Carousel_Widget extends Widget_Base {
835
<?php endforeach; ?>
836
</div>
837
</div>
838
-
839
<script type="text/javascript">
840
(function( $ ) {
841
$(document).ready( function() {
21
public function get_icon() {
22
return 'pa-carousel';
23
}
24
+
25
+ public function is_reload_preview_required()
26
+ {
27
+ return true;
28
+ }
29
30
public function get_script_depends() {
31
return ['slick-carousel-js'];
312
],
313
]
314
);
315
+
316
+ $this->add_control('premium_carousel_arrow_position',
317
+ [
318
+ 'label' => esc_html__('Arrows Position (PX)', 'premium-addons-for-elementor'),
319
+ 'type' => Controls_Manager::SLIDER,
320
+ 'range' => [
321
+ 'px' => [
322
+ 'min' => -50,
323
+ 'max' => 1,
324
+ ],
325
+ ],
326
+ 'condition' => [
327
+ 'premium_carousel_navigation_show' => 'yes',
328
+ 'premium_carousel_slider_type' => 'horizontal'
329
+ ],
330
+ ]
331
+ );
332
333
$this->add_control(
334
'premium_carousel_arrow_icon_next',
614
protected function render() {
615
$settings = $this->get_settings();
616
$options = '';
617
+ $arrows_position = $settings['premium_carousel_arrow_position']['size'] . 'px';
618
// Carousel sliding type
619
if( $settings['premium_carousel_slider_type'] == 'horizontal' ){
620
$options .= 'vertical: false,'."\r\n";
858
<?php endforeach; ?>
859
</div>
860
</div>
861
+ <style>
862
+ <?php if(!empty($settings['premium_carousel_arrow_position']['size'])) : ?>
863
+ #premium-carousel-wrapper-<?php echo esc_attr( $this->get_id() ); ?> a.carousel-arrow.carousel-next {
864
+ right: <?php echo $arrows_position; ?>
865
+ }
866
+ #premium-carousel-wrapper-<?php echo esc_attr( $this->get_id() ); ?> a.carousel-arrow.carousel-prev {
867
+ left: <?php echo $arrows_position; ?>
868
+ }
869
+ <?php endif; ?>
870
+ </style>
871
<script type="text/javascript">
872
(function( $ ) {
873
$(document).ready( function() {
widgets/premium-countdown.php CHANGED
@@ -16,8 +16,12 @@ class Premium_Counter_Down_Widget extends Widget_Base {
16
public function get_icon() {
17
return 'pa-countdown';
18
}
19
-
20
- public function get_script_depends() {
21
return [ 'count-down-timer-js' ];
22
}
23
@@ -54,7 +58,7 @@ class Premium_Counter_Down_Widget extends Widget_Base {
54
'label' => esc_html__( 'Target Date and Time', 'premium-addons-for-elementor' ),
55
'type' => Controls_Manager::DATE_TIME,
56
'picker_options' => [
57
- 'format' => 'Y/m/d H:m:s'
58
],
59
'default' => date( "Y/m/d H:m:s", strtotime("+ 1 Day") ),
60
'description' => esc_html__( 'Date format is (yyyy/mm/dd). Time format is (hh:mm:ss). Example: 2020-01-01 09:30.', 'boosted-elements-progression' )
@@ -442,7 +446,8 @@ class Premium_Counter_Down_Widget extends Widget_Base {
442
443
$settings = $this->get_settings();
444
445
- $target_date = $settings['premium_countdown_date_time'];
446
$formats = $settings['premium_countdown_units'];
447
$format = implode('', $formats );
448
$time = str_replace('-', '/', current_time('mysql') );
@@ -525,17 +530,6 @@ class Premium_Counter_Down_Widget extends Widget_Base {
525
}
526
});
527
528
- // On duplicate load everything on iframe load
529
- $('.elementor-element-overlay .elementor-editor-element-duplicate').on('click', function() {
530
- var $this = $(this),
531
- page_url = document.location.href;
532
-
533
- parentId = $this.parents('section.elementor-element');
534
-
535
- if( parentId.find('#countDownContiner').length ) {
536
- document.location.href = page_url;
537
- }
538
- });
539
})( jQuery );
540
541
</script>
16
public function get_icon() {
17
return 'pa-countdown';
18
}
19
+
20
+ public function is_reload_preview_required() {
21
+ return true;
22
+ }
23
+
24
+ public function get_script_depends() {
25
return [ 'count-down-timer-js' ];
26
}
27
58
'label' => esc_html__( 'Target Date and Time', 'premium-addons-for-elementor' ),
59
'type' => Controls_Manager::DATE_TIME,
60
'picker_options' => [
61
+ 'format' => 'Ym/d H:m:s'
62
],
63
'default' => date( "Y/m/d H:m:s", strtotime("+ 1 Day") ),
64
'description' => esc_html__( 'Date format is (yyyy/mm/dd). Time format is (hh:mm:ss). Example: 2020-01-01 09:30.', 'boosted-elements-progression' )
446
447
$settings = $this->get_settings();
448
449
+ $target_date = str_replace('-', '/', $settings['premium_countdown_date_time'] );
450
+
451
$formats = $settings['premium_countdown_units'];
452
$format = implode('', $formats );
453
$time = str_replace('-', '/', current_time('mysql') );
530
}
531
});
532
533
})( jQuery );
534
535
</script>
widgets/premium-maps.php CHANGED
@@ -554,6 +554,7 @@ class Premium_Maps_Widget extends Widget_Base
554
marker = new google.maps.Marker({
555
position: new google.maps.LatLng(locations[i][2], locations[i][3]),
556
icon: locations[i][4],
557
map: map
558
});
559
infowindow = new google.maps.InfoWindow({
554
marker = new google.maps.Marker({
555
position: new google.maps.LatLng(locations[i][2], locations[i][3]),
556
icon: locations[i][4],
557
+ optimized: false,
558
map: map
559
});
560
infowindow = new google.maps.InfoWindow({
widgets/premium-modalbox.php CHANGED
@@ -511,9 +511,6 @@ class Premium_Modal_Box_Widget extends Widget_Base
511
]
512
],
513
'label_block' => true,
514
- 'selectors' => [
515
- '{{WRAPPER}} .premium-modal-box-modal-dialog' => 'width: {{SIZE}}{{UNIT}};',
516
- ]
517
]
518
);
519
@@ -1002,7 +999,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
1002
1003
<!-- Modal -->
1004
<div class="bootstrap-wrapper">
1005
- <div class="modal fade premium-modal-box-modal" id="premium-modal-<?php echo $this->get_id(); ?>" role="dialog">
1006
<div class="modal-dialog premium-modal-box-modal-dialog">
1007
1008
<!-- Modal content-->
@@ -1034,6 +1031,16 @@ class Premium_Modal_Box_Widget extends Widget_Base
1034
</div>
1035
</div>
1036
</div>
1037
1038
<?php
1039
}
511
]
512
],
513
'label_block' => true,
514
]
515
);
516
999
1000
<!-- Modal -->
1001
<div class="bootstrap-wrapper">
1002
+ <div id="premium-modal-<?php echo $this->get_id(); ?>" class="modal fade premium-modal-box-modal" role="dialog">
1003
<div class="modal-dialog premium-modal-box-modal-dialog">
1004
1005
<!-- Modal content-->
1031
</div>
1032
</div>
1033
</div>
1034
+ <style>
1035
+
1036
+ <?php if( !empty($settings['premium_modal_box_modal_size']['size'] ) ) :
1037
+ echo '@media (min-width:992px) {'; ?>
1038
+ #premium-modal-<?php echo $this->get_id(); ?> .premium-modal-box-modal-dialog {
1039
+ width: <?php echo $settings['premium_modal_box_modal_size']['size'] . $settings['premium_modal_box_modal_size']['unit']; ?>
1040
+ }
1041
+ <?php echo '}'; endif; ?>
1042
+
1043
+ </style>
1044
1045
<?php
1046
}
widgets/premium-pricing-table.php CHANGED
@@ -644,7 +644,7 @@ class Premium_Pricing_Table_Widget extends Widget_Base
644
'type' => Controls_Manager::COLOR,
645
'scheme' => [
646
'type' => Scheme_Color::get_type(),
647
- 'value' => Scheme_Color::COLOR_1,
648
],
649
'selectors' => [
650
'{{WRAPPER}} .premium-pricing-icon-container i' => 'color: {{VALUE}};'
@@ -658,7 +658,7 @@ class Premium_Pricing_Table_Widget extends Widget_Base
658
'type' => Controls_Manager::COLOR,
659
'scheme' => [
660
'type' => Scheme_Color::get_type(),
661
- 'value' => Scheme_Color::COLOR_2,
662
],
663
'selectors' => [
664
'{{WRAPPER}} .premium-pricing-icon-container i' => 'background-color: {{VALUE}};'
@@ -679,6 +679,45 @@ class Premium_Pricing_Table_Widget extends Widget_Base
679
]
680
);
681
682
/*Icon Background*/
683
$this->add_group_control(
684
Group_Control_Background::get_type(),
@@ -719,7 +758,7 @@ class Premium_Pricing_Table_Widget extends Widget_Base
719
'default' => [
720
'top' => 50,
721
'right' => 0,
722
- 'bottom'=> 0,
723
'left' => 0,
724
'unit' => 'px',
725
],
@@ -1334,6 +1373,20 @@ class Premium_Pricing_Table_Widget extends Widget_Base
1334
]
1335
);
1336
1337
/*Button Typography*/
1338
$this->add_group_control(
1339
Group_Control_Typography::get_type(),
644
'type' => Controls_Manager::COLOR,
645
'scheme' => [
646
'type' => Scheme_Color::get_type(),
647
+ 'value' => Scheme_Color::COLOR_2,
648
],
649
'selectors' => [
650
'{{WRAPPER}} .premium-pricing-icon-container i' => 'color: {{VALUE}};'
658
'type' => Controls_Manager::COLOR,
659
'scheme' => [
660
'type' => Scheme_Color::get_type(),
661
+ 'value' => Scheme_Color::COLOR_1,
662
],
663
'selectors' => [
664
'{{WRAPPER}} .premium-pricing-icon-container i' => 'background-color: {{VALUE}};'
679
]
680
);
681
682
+ $this->add_responsive_control('premium_pricing_icon_inner_padding',
683
+ [
684
+ 'label' => esc_html__('Icon Padding', 'premium-addons-for-elementor'),
685
+ 'type' => Controls_Manager::SLIDER,
686
+ 'size_units' => ['px','em'],
687
+ 'default' => [
688
+ 'size' => 10,
689
+ 'unit' => 'px'
690
+ ],
691
+ 'selectors' => [
692
+ '{{WRAPPER}} .premium-pricing-icon-container i' => 'padding: {{SIZE}}{{UNIT}};',
693
+ ]
694
+ ]
695
+ );
696
+
697
+ $this->add_group_control(
698
+ Group_Control_Border::get_type(),
699
+ [
700
+ 'name' => 'premium_pricing_icon_inner_border',
701
+ 'selector' => '{{WRAPPER}} .premium-pricing-icon-container i',
702
+ ]
703
+ );
704
+
705
+ $this->add_control('premium_pricing_icon_inner_radius',
706
+ [
707
+ 'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
708
+ 'type' => Controls_Manager::SLIDER,
709
+ 'size_units' => ['px', '%' , 'em'],
710
+ 'default' => [
711
+ 'size' => 100,
712
+ 'unit' => 'px'
713
+ ],
714
+ 'selectors' => [
715
+ '{{WRAPPER}} .premium-pricing-icon-container i' => 'border-radius: {{SIZE}}{{UNIT}};',
716
+ ],
717
+ 'separator' => 'after'
718
+ ]
719
+ );
720
+
721
/*Icon Background*/
722
$this->add_group_control(
723
Group_Control_Background::get_type(),
758
'default' => [
759
'top' => 50,
760
'right' => 0,
761
+ 'bottom'=> 20,
762
'left' => 0,
763
'unit' => 'px',
764
],
1373
]
1374
);
1375
1376
+ $this->add_control('premium_pricing_button_hover_color',
1377
+ [
1378
+ 'label' => esc_html__('Hover Text Color', 'premium-addons-for-elementor'),
1379
+ 'type' => Controls_Manager::COLOR,
1380
+ 'scheme' => [
1381
+ 'type' => Scheme_Color::get_type(),
1382
+ 'value' => Scheme_Color::COLOR_2,
1383
+ ],
1384
+ 'selectors' => [
1385
+ '{{WRAPPER}} .premium-pricing-price-button:hover' => 'color: {{VALUE}};'
1386
+ ]
1387
+ ]
1388
+ );
1389
+
1390
/*Button Typography*/
1391
$this->add_group_control(
1392
Group_Control_Typography::get_type(),
widgets/premium-videobox.php CHANGED
@@ -246,18 +246,18 @@ class Premium_Video_Box_Widget extends Widget_Base
246
Group_Control_Border::get_type(),
247
[
248
'name' => 'image_border',
249
- 'selector' => '{{WRAPPER}} .premium-video-box-image, {{WRAPPER}} .premium-video-box-video-container iframe',
250
]
251
);
252
253
/*Image Border Radius*/
254
- $this->add_control('premium_video_box_image_border_radius',
255
[
256
'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
257
'type' => Controls_Manager::SLIDER,
258
'size_units' => ['px', '%', 'em'],
259
'selectors' => [
260
- '{{WRAPPER}} .premium-video-box-image, {{WRAPPER}} .premium-video-box-video-container iframe' => 'border-radius: {{SIZE}}{{UNIT}};',
261
]
262
]
263
);
@@ -527,7 +527,7 @@ class Premium_Video_Box_Widget extends Widget_Base
527
<i class="premium-video-box-play-icon fa fa-play fa-lg"></i>
528
<?php endif; ?>
529
</div>
530
- <?php if( !empty( $settings['premium_video_box_description_text'] ) ) : ?>
531
<div class="premium-video-box-description-container">
532
<p class="premium-video-box-text"><?php echo $settings['premium_video_box_description_text']; ?></p>
533
</div>
246
Group_Control_Border::get_type(),
247
[
248
'name' => 'image_border',
249
+ 'selector' => '{{WRAPPER}} .premium-video-box-image, {{WRAPPER}} .premium-video-box-video-container',
250
]
251
);
252
253
/*Image Border Radius*/
254
+ $this->add_responsive_control('premium_video_box_image_border_radius',
255
[
256
'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
257
'type' => Controls_Manager::SLIDER,
258
'size_units' => ['px', '%', 'em'],
259
'selectors' => [
260
+ '{{WRAPPER}} .premium-video-box-image, {{WRAPPER}} .premium-video-box-video-container' => 'border-top-left-radius: {{SIZE}}{{UNIT}}; border-top-right-radius: {{SIZE}}{{UNIT}}; border-bottom-left-radius: {{SIZE}}{{UNIT}}; border-bottom-right-radius: {{SIZE}}{{UNIT}};',
261
]
262
]
263
);
527
<i class="premium-video-box-play-icon fa fa-play fa-lg"></i>
528
<?php endif; ?>
529
</div>
530
+ <?php if( $settings['premium_video_box_video_text_switcher'] == 'yes' && !empty( $settings['premium_video_box_description_text'] ) ) : ?>
531
<div class="premium-video-box-description-container">
532
<p class="premium-video-box-text"><?php echo $settings['premium_video_box_description_text']; ?></p>
533
</div>