Premium Addons for Elementor - Version 3.7.8

Version Description

  • Tweak: Added Image Size option in Image Scroll widget.
  • Fixed: Slideshow is not working when Elementor lightbox is selected in Media Grid widget.
Download this release

Release Info

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

Code changes from version 3.7.7 to 3.7.8

admin/includes/version-control.php CHANGED
@@ -92,7 +92,7 @@ class Version_Control {
92
  <tr class="pa-roll-row">
93
  <th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
94
  <td>
95
- <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.7.6', 'premium-addons-for-elementor') ); ?></div>
96
  <p class="pa-roll-desc">
97
  <span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
98
  </p>
92
  <tr class="pa-roll-row">
93
  <th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
94
  <td>
95
+ <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.7.7', 'premium-addons-for-elementor') ); ?></div>
96
  <p class="pa-roll-desc">
97
  <span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
98
  </p>
assets/editor/css/style.css CHANGED
@@ -113,4 +113,7 @@
113
  }
114
  .elementor-control-raw-html.editor-pa-doc a {
115
  color: #0f6aa7;
 
 
 
116
  }
113
  }
114
  .elementor-control-raw-html.editor-pa-doc a {
115
  color: #0f6aa7;
116
+ }
117
+ .elementor-control-raw-html .premium-notice-bold {
118
+ font-weight: bold;
119
  }
assets/frontend/css/premium-addons.css CHANGED
@@ -3562,11 +3562,11 @@
3562
  width: 100%;
3563
  height: 100%;
3564
  }
3565
- .premium-image-scroll-container .premium-image-scroll-horizontal .premium-image-scroll-image {
3566
  max-width: none;
3567
  height: 100%;
3568
  }
3569
- .premium-image-scroll-container .premium-image-scroll-vertical .premium-image-scroll-image {
3570
  width: 100%;
3571
  max-width: 100%;
3572
  height: auto;
@@ -3597,9 +3597,10 @@
3597
  -ms-transform: translate(-50%, -50%);
3598
  transform: translate(-50%, -50%);
3599
  }
3600
- .premium-container-scroll-instant .premium-image-scroll-image {
3601
- -webkit-transition: all 0s ease-in-out !important;
3602
- transition: all 0s ease-in-out !important;
 
3603
  }
3604
  .premium-image-scroll-container .premium-image-scroll-overlay, .premium-image-scroll-container .premium-image-scroll-content {
3605
  -webkit-transition: all 0.3s ease-in-out;
3562
  width: 100%;
3563
  height: 100%;
3564
  }
3565
+ .premium-image-scroll-container .premium-image-scroll-horizontal img {
3566
  max-width: none;
3567
  height: 100%;
3568
  }
3569
+ .premium-image-scroll-container .premium-image-scroll-vertical img {
3570
  width: 100%;
3571
  max-width: 100%;
3572
  height: auto;
3597
  -ms-transform: translate(-50%, -50%);
3598
  transform: translate(-50%, -50%);
3599
  }
3600
+ .premium-image-scroll-container img {
3601
+ -webkit-transition: transform 3s ease-in-out;
3602
+ -moz-transition-: transform 3s ease-in-out;
3603
+ transition: transform 3s ease-in-out;
3604
  }
3605
  .premium-image-scroll-container .premium-image-scroll-overlay, .premium-image-scroll-container .premium-image-scroll-content {
3606
  -webkit-transition: all 0.3s ease-in-out;
assets/frontend/js/premium-addons.js CHANGED
@@ -762,7 +762,7 @@
762
  ".premium-image-scroll-vertical"
763
  ),
764
  dataElement = scrollElement.data("settings"),
765
- imageScroll = scrollElement.find(".premium-image-scroll-image"),
766
  direction = dataElement["direction"],
767
  reverse = dataElement["reverse"],
768
  transformOffset = null;
762
  ".premium-image-scroll-vertical"
763
  ),
764
  dataElement = scrollElement.data("settings"),
765
+ imageScroll = scrollElement.find("img"),
766
  direction = dataElement["direction"],
767
  reverse = dataElement["reverse"],
768
  transformOffset = null;
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 3.7.7
7
  Author: Leap13
8
  Author URI: https://leap13.com/
9
  Text Domain: premium-addons-for-elementor
@@ -14,12 +14,12 @@ License: GNU General Public License v3.0
14
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
15
 
16
  // Define Constants
17
- define('PREMIUM_ADDONS_VERSION', '3.7.7');
18
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
19
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
20
  define('PREMIUM_ADDONS_FILE', __FILE__);
21
  define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
22
- define('PREMIUM_ADDONS_STABLE_VERSION', '3.7.6');
23
 
24
  if( ! class_exists('Premium_Addons_Elementor') ) {
25
 
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 3.7.8
7
  Author: Leap13
8
  Author URI: https://leap13.com/
9
  Text Domain: premium-addons-for-elementor
14
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
15
 
16
  // Define Constants
17
+ define('PREMIUM_ADDONS_VERSION', '3.7.8');
18
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
19
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
20
  define('PREMIUM_ADDONS_FILE', __FILE__);
21
  define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
22
+ define('PREMIUM_ADDONS_STABLE_VERSION', '3.7.7');
23
 
24
  if( ! class_exists('Premium_Addons_Elementor') ) {
25
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
5
  Requires at Least: 4.5
6
  Tested Up To: 5.2.2
7
  Requires PHP: 5.4
8
- Stable Tag: 3.7.7
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -175,6 +175,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
175
 
176
  == Changelog ==
177
 
 
 
 
 
 
178
  = 3.7.7 =
179
 
180
  - Fixed: Counter widget icon is not appearing on the preview page.
5
  Requires at Least: 4.5
6
  Tested Up To: 5.2.2
7
  Requires PHP: 5.4
8
+ Stable Tag: 3.7.8
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
175
 
176
  == Changelog ==
177
 
178
+ = 3.7.8 =
179
+
180
+ - Tweak: Added `Image Size` option in Image Scroll widget.
181
+ - Fixed: Slideshow is not working when `Elementor` lightbox is selected in Media Grid widget.
182
+
183
  = 3.7.7 =
184
 
185
  - Fixed: Counter widget icon is not appearing on the preview page.
widgets/premium-banner.php CHANGED
@@ -575,7 +575,6 @@ class Premium_Banner extends Widget_Base {
575
  'label' => __( 'Title Background', 'premium-addons-for-elementor' ),
576
  'type' => Controls_Manager::COLOR,
577
  'default' => '#f2f2f2',
578
- 'label_block' => true,
579
  'description' => __( 'Choose a background color for the title', 'premium-addons-for-elementor' ),
580
  'condition' => [
581
  'premium_banner_image_animation' => 'animation5'
575
  'label' => __( 'Title Background', 'premium-addons-for-elementor' ),
576
  'type' => Controls_Manager::COLOR,
577
  'default' => '#f2f2f2',
 
578
  'description' => __( 'Choose a background color for the title', 'premium-addons-for-elementor' ),
579
  'condition' => [
580
  'premium_banner_image_animation' => 'animation5'
widgets/premium-grid.php CHANGED
@@ -2092,7 +2092,8 @@ class Premium_Grid extends Widget_Base {
2092
 
2093
  if( 'default' !== $lightbox_type ) {
2094
  $this->add_render_attribute( $lightbox_key, [
2095
- 'data-elementor-open-lightbox' => $lightbox_type
 
2096
  ]);
2097
  } else {
2098
  $this->add_render_attribute( $lightbox_key, [
@@ -2248,6 +2249,8 @@ class Premium_Grid extends Widget_Base {
2248
 
2249
  $is_video = $item['premium_gallery_video'];
2250
 
 
 
2251
  if ( $is_video ) {
2252
 
2253
  $this->add_render_attribute( $lightbox_key, [
@@ -2257,7 +2260,7 @@ class Premium_Grid extends Widget_Base {
2257
  ]
2258
  ]);
2259
 
2260
- if( $lightbox ) {
2261
 
2262
  $lightbox_options = [
2263
  'type' => 'video',
@@ -2297,7 +2300,8 @@ class Premium_Grid extends Widget_Base {
2297
 
2298
  if( 'default' !== $lightbox_type ) {
2299
  $this->add_render_attribute( $lightbox_key, [
2300
- 'data-elementor-open-lightbox' => $lightbox_type
 
2301
  ]);
2302
  } else {
2303
  $this->add_render_attribute( $lightbox_key, [
2092
 
2093
  if( 'default' !== $lightbox_type ) {
2094
  $this->add_render_attribute( $lightbox_key, [
2095
+ 'data-elementor-open-lightbox' => $lightbox_type,
2096
+ 'data-elementor-lightbox-slideshow' => $this->get_id()
2097
  ]);
2098
  } else {
2099
  $this->add_render_attribute( $lightbox_key, [
2249
 
2250
  $is_video = $item['premium_gallery_video'];
2251
 
2252
+ $id = $this->get_id();
2253
+
2254
  if ( $is_video ) {
2255
 
2256
  $this->add_render_attribute( $lightbox_key, [
2260
  ]
2261
  ]);
2262
 
2263
+ if( 'yes' === $lightbox ) {
2264
 
2265
  $lightbox_options = [
2266
  'type' => 'video',
2300
 
2301
  if( 'default' !== $lightbox_type ) {
2302
  $this->add_render_attribute( $lightbox_key, [
2303
+ 'data-elementor-open-lightbox' => $lightbox_type,
2304
+ 'data-elementor-lightbox-slideshow' => $id
2305
  ]);
2306
  } else {
2307
  $this->add_render_attribute( $lightbox_key, [
widgets/premium-image-scroll.php CHANGED
@@ -15,6 +15,7 @@ use Elementor\Utils;
15
  use Elementor\Control_Media;
16
  use Elementor\Controls_Manager;
17
  use Elementor\Group_Control_Border;
 
18
  use Elementor\Group_Control_Css_Filter;
19
  use Elementor\Group_Control_Box_Shadow;
20
 
@@ -80,6 +81,15 @@ class Premium_Image_Scroll extends Widget_Base {
80
  ]
81
  );
82
 
 
 
 
 
 
 
 
 
 
83
  $this->add_responsive_control('image_height',
84
  [
85
  'label' => __('Image Height', 'premium-addons-for-elementor'),
@@ -220,7 +230,7 @@ class Premium_Image_Scroll extends Widget_Base {
220
  'trigger_type' => 'hover',
221
  ],
222
  'selectors' => [
223
- '{{WRAPPER}} .premium-image-scroll-container .premium-image-scroll-image' => 'transition: all {{Value}}s; -webkit-transition: all {{Value}}s;',
224
  ]
225
  ]
226
  );
@@ -320,7 +330,7 @@ class Premium_Image_Scroll extends Widget_Base {
320
  ],
321
  ],
322
  'selectors' => [
323
- '{{WRAPPER}} .premium-image-scroll-image' => 'opacity: {{SIZE}};',
324
  ],
325
  ]
326
  );
@@ -329,7 +339,7 @@ class Premium_Image_Scroll extends Widget_Base {
329
  Group_Control_Css_Filter::get_type(),
330
  [
331
  'name' => 'css_filters',
332
- 'selector' => '{{WRAPPER}} .premium-image-scroll-container .premium-image-scroll-image',
333
  ]
334
  );
335
 
@@ -353,7 +363,7 @@ class Premium_Image_Scroll extends Widget_Base {
353
  ],
354
  ],
355
  'selectors' => [
356
- '{{WRAPPER}} .premium-image-scroll-section:hover .premium-image-scroll-image' => 'opacity: {{SIZE}};',
357
  ],
358
  ]
359
  );
@@ -362,7 +372,7 @@ class Premium_Image_Scroll extends Widget_Base {
362
  Group_Control_Css_Filter::get_type(),
363
  [
364
  'name' => 'css_filters_hover',
365
- 'selector' => '{{WRAPPER}} .premium-image-scroll-container .premium-image-scroll-image:hover',
366
  ]
367
  );
368
 
@@ -461,8 +471,6 @@ class Premium_Image_Scroll extends Widget_Base {
461
 
462
  $settings = $this->get_settings_for_display();
463
 
464
- $alt = esc_attr( Control_Media::get_image_alt( $settings['image'] ) );
465
-
466
  $link_type = $settings['link_type'];
467
 
468
  $link_url = ( 'url' == $link_type ) ? $settings['link']['url'] : get_permalink( $settings['existing_page'] );
@@ -502,13 +510,20 @@ class Premium_Image_Scroll extends Widget_Base {
502
 
503
  $this->add_render_attribute( 'container', 'data-settings', wp_json_encode( $image_scroll ) );
504
 
505
- $this->add_render_attribute( 'direction_type', 'class', 'premium-image-scroll-'.$settings['direction_type'] );
506
 
507
- $this->add_render_attribute( 'image', 'class', 'premium-image-scroll-image' );
508
-
509
- $this->add_render_attribute( 'image', 'src', $settings['image']['url'] );
 
 
 
 
 
510
 
511
- $this->add_render_attribute( 'image', 'alt', $alt );
 
 
512
 
513
  ?>
514
  <div class="premium-image-scroll-section">
@@ -527,8 +542,9 @@ class Premium_Image_Scroll extends Widget_Base {
527
  <?php endif;
528
  if( $settings['overlay'] == 'yes' ) : ?>
529
  </div>
530
- <?php endif; ?>
531
- <img <?php echo $this->get_render_attribute_string('image'); ?>>
 
532
  </div>
533
  </div>
534
  </div>
@@ -575,9 +591,23 @@ class Premium_Image_Scroll extends Widget_Base {
575
 
576
  view.addRenderAttribute( 'direction_type', 'class', 'premium-image-scroll-' + direction );
577
 
578
- view.addRenderAttribute( 'image', 'class', 'premium-image-scroll-image' );
579
-
580
  view.addRenderAttribute( 'image', 'src', settings.image.url );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
 
582
  #>
583
 
@@ -598,7 +628,9 @@ class Premium_Image_Scroll extends Widget_Base {
598
  if( 'yes' == settings.overlay ) { #>
599
  </div>
600
  <# } #>
601
- <img {{{ view.getRenderAttributeString('image') }}}>
 
 
602
  </div>
603
  </div>
604
  </div>
15
  use Elementor\Control_Media;
16
  use Elementor\Controls_Manager;
17
  use Elementor\Group_Control_Border;
18
+ use Elementor\Group_Control_Image_Size;
19
  use Elementor\Group_Control_Css_Filter;
20
  use Elementor\Group_Control_Box_Shadow;
21
 
81
  ]
82
  );
83
 
84
+ $this->add_group_control(
85
+ Group_Control_Image_Size::get_type(),
86
+ [
87
+ 'name' => 'thumbnail',
88
+ 'default' => 'full',
89
+ 'separator' => 'none',
90
+ ]
91
+ );
92
+
93
  $this->add_responsive_control('image_height',
94
  [
95
  'label' => __('Image Height', 'premium-addons-for-elementor'),
230
  'trigger_type' => 'hover',
231
  ],
232
  'selectors' => [
233
+ '{{WRAPPER}} .premium-image-scroll-container img' => 'transition-duration: {{Value}}s',
234
  ]
235
  ]
236
  );
330
  ],
331
  ],
332
  'selectors' => [
333
+ '{{WRAPPER}} img' => 'opacity: {{SIZE}};',
334
  ],
335
  ]
336
  );
339
  Group_Control_Css_Filter::get_type(),
340
  [
341
  'name' => 'css_filters',
342
+ 'selector' => '{{WRAPPER}} .premium-image-scroll-container img',
343
  ]
344
  );
345
 
363
  ],
364
  ],
365
  'selectors' => [
366
+ '{{WRAPPER}} .premium-image-scroll-section:hover img' => 'opacity: {{SIZE}};',
367
  ],
368
  ]
369
  );
372
  Group_Control_Css_Filter::get_type(),
373
  [
374
  'name' => 'css_filters_hover',
375
+ 'selector' => '{{WRAPPER}} .premium-image-scroll-container img:hover',
376
  ]
377
  );
378
 
471
 
472
  $settings = $this->get_settings_for_display();
473
 
 
 
474
  $link_type = $settings['link_type'];
475
 
476
  $link_url = ( 'url' == $link_type ) ? $settings['link']['url'] : get_permalink( $settings['existing_page'] );
510
 
511
  $this->add_render_attribute( 'container', 'data-settings', wp_json_encode( $image_scroll ) );
512
 
513
+ $this->add_render_attribute( 'direction_type', 'class', 'premium-image-scroll-' . $settings['direction_type'] );
514
 
515
+ $image_html = '';
516
+ if ( ! empty( $settings['image']['url'] ) ) {
517
+
518
+ $this->add_render_attribute( 'image', 'src', $settings['image']['url'] );
519
+
520
+ $this->add_render_attribute( 'image', 'alt', Control_Media::get_image_alt( $settings['image'] ) );
521
+
522
+ $this->add_render_attribute( 'image', 'title', Control_Media::get_image_title( $settings['image'] ) );
523
 
524
+ $image_html = Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' );
525
+
526
+ }
527
 
528
  ?>
529
  <div class="premium-image-scroll-section">
542
  <?php endif;
543
  if( $settings['overlay'] == 'yes' ) : ?>
544
  </div>
545
+ <?php endif;
546
+ echo $image_html;
547
+ ?>
548
  </div>
549
  </div>
550
  </div>
591
 
592
  view.addRenderAttribute( 'direction_type', 'class', 'premium-image-scroll-' + direction );
593
 
 
 
594
  view.addRenderAttribute( 'image', 'src', settings.image.url );
595
+
596
+ var imageHtml = '';
597
+ if ( settings.image.url ) {
598
+ var image = {
599
+ id: settings.image.id,
600
+ url: settings.image.url,
601
+ size: settings.thumbnail_size,
602
+ dimension: settings.thumbnail_custom_dimension,
603
+ model: view.getEditModel()
604
+ };
605
+
606
+ var image_url = elementor.imagesManager.getImageUrl( image );
607
+
608
+ imageHtml = '<img src="' + image_url + '"/>';
609
+
610
+ }
611
 
612
  #>
613
 
628
  if( 'yes' == settings.overlay ) { #>
629
  </div>
630
  <# } #>
631
+
632
+ {{{ imageHtml }}}
633
+
634
  </div>
635
  </div>
636
  </div>