Premium Addons for Elementor - Version 3.9.8

Version Description

  • Tweak: Added Margin option for title, description and button in Banner widget.
  • Tweak: Navigation dots hover ripple effect improved in Carousel widget.
  • Tweak: Added Inactive Ripple Color option inactive slide dot in Carousel widget.
  • Fixed: Default title hover color on effect 4 in Banner widget.
Download this release

Release Info

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

Code changes from version 3.9.7 to 3.9.8

assets/frontend/css/premium-addons.css CHANGED
@@ -30,7 +30,6 @@
30
  z-index: 1;
31
  overflow: hidden;
32
  margin: 0 0 35px;
33
- background: #3085a3;
34
  text-align: center;
35
  /* cursor: pointer;
36
  */
@@ -211,7 +210,6 @@
211
  transform: translate3d(0, 10px, 0);
212
  }
213
  .premium-banner-animation2:hover .premium-banner-ib-title, .premium-banner-animation2.active .premium-banner-ib-title {
214
- color: #fff;
215
  -webkit-transform: translate3d(0, -40px, 0);
216
  transform: translate3d(0, -40px, 0);
217
  }
@@ -804,7 +802,12 @@ a.square-border {
804
  }
805
  ul.slick-dots li {
806
  font-size: 10px;
807
- display: inline-block;
 
 
 
 
 
808
  margin: 5px;
809
  width: 20px;
810
  height: 20px;
@@ -812,49 +815,63 @@ ul.slick-dots li {
812
  }
813
  /* Ripple Out */
814
  @-webkit-keyframes hvr-ripple-out {
815
- 100% {
816
- top: -5.5px;
817
- right: -3px;
818
- bottom: -3px;
819
- left: -3px;
820
- opacity: 0;
821
- }
 
822
  }
823
  @keyframes hvr-ripple-out {
824
- 100% {
825
- top: -5.5px;
826
- right: -3px;
827
- bottom: -3px;
828
- left: -3px;
829
- opacity: 0;
830
- }
831
- }
832
- .premium-carousel-wrapper.hvr-ripple-out {
 
833
  padding-bottom: 1px;
834
  }
835
- .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active {
836
  display: inline-block;
837
  -webkit-transform: perspective(0px) translateZ(0);
838
  transform: perspective(0px) translateZ(0);
839
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
840
  position: relative;
 
 
 
 
841
  }
842
- .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:before {
843
- content: '';
 
 
 
844
  position: absolute;
845
- border: 1px solid;
 
 
 
 
 
 
 
846
  border-radius: 50%;
847
- top: 3px;
848
- right: 4px;
849
- bottom: 6.8px;
850
- left: 4.5px;
851
- -webkit-animation-duration: 1s;
852
- animation-duration: 1s;
853
- animation-iteration-count: infinite;
854
  }
855
- .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:hover:before, .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:focus:before, .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:active:before {
856
- -webkit-animation-name: hvr-ripple-out;
857
- animation-name: hvr-ripple-out;
858
  }
859
  .premium-carousel-wrapper.premium-carousel-scale .slick-slide {
860
  -webkit-transform: scale(1.25, 1.25);
30
  z-index: 1;
31
  overflow: hidden;
32
  margin: 0 0 35px;
 
33
  text-align: center;
34
  /* cursor: pointer;
35
  */
210
  transform: translate3d(0, 10px, 0);
211
  }
212
  .premium-banner-animation2:hover .premium-banner-ib-title, .premium-banner-animation2.active .premium-banner-ib-title {
 
213
  -webkit-transform: translate3d(0, -40px, 0);
214
  transform: translate3d(0, -40px, 0);
215
  }
802
  }
803
  ul.slick-dots li {
804
  font-size: 10px;
805
+ display: -webkit-inline-box;
806
+ display: -webkit-inline-flex;
807
+ display: -ms-inline-flexbox;
808
+ display: inline-flex;
809
+ justify-content: center;
810
+ align-items: center;
811
  margin: 5px;
812
  width: 20px;
813
  height: 20px;
815
  }
816
  /* Ripple Out */
817
  @-webkit-keyframes hvr-ripple-out {
818
+ 0% {
819
+ transform: scale(1);
820
+ opacity: 1;
821
+ }
822
+ 100% {
823
+ transform: scale(1.5);
824
+ opacity: 0;
825
+ }
826
  }
827
  @keyframes hvr-ripple-out {
828
+ 0% {
829
+ transform: scale(1);
830
+ opacity: 1;
831
+ }
832
+ 100% {
833
+ transform: scale(1.5);
834
+ opacity: 0;
835
+ }
836
+ }
837
+ .premium-carousel-ripple-yes .premium-carousel-wrapper {
838
  padding-bottom: 1px;
839
  }
840
+ /*.premium-carousel-ripple-yes .premium-carousel-wrapper li {
841
  display: inline-block;
842
  -webkit-transform: perspective(0px) translateZ(0);
843
  transform: perspective(0px) translateZ(0);
844
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
845
  position: relative;
846
+ }*/
847
+ .premium-carousel-ripple-yes ul.slick-dots li,
848
+ .premium-carousel-ripple-yes ul.slick-dots li i {
849
+ position: relative
850
  }
851
+ .premium-carousel-ripple-yes ul.slick-dots li i {
852
+ z-index: 1
853
+ }
854
+ .premium-carousel-ripple-yes ul.slick-dots li:hover:before {
855
+ content: "";
856
  position: absolute;
857
+ -webkit-transform: scale(1);
858
+ -moz-transform: scale(1);
859
+ -ms-transform: scale(1);
860
+ transform: scale(1);
861
+ top: 0;
862
+ right: 0;
863
+ bottom: 0;
864
+ left: 0;
865
  border-radius: 50%;
866
+ pointer-events: none;
867
+ background-color: rgba(0, 0, 0, 0.15)
868
+ }
869
+ .premium-carousel-ripple-yes ul.slick-dots li.slick-active:hover:before {
870
+ background-color: rgba(0, 0, 0, 0.3)
 
 
871
  }
872
+ .premium-carousel-ripple-yes ul.slick-dots li:hover:before {
873
+ -webkit-animation: hvr-ripple-out 1.3s infinite;
874
+ animation: hvr-ripple-out 1.3s infinite;
875
  }
876
  .premium-carousel-wrapper.premium-carousel-scale .slick-slide {
877
  -webkit-transform: scale(1.25, 1.25);
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.9.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.9.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.9.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.9.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.9.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.9.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.3
7
  Requires PHP: 5.4
8
- Stable Tag: 3.9.7
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -175,6 +175,13 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
175
 
176
  == Changelog ==
177
 
 
 
 
 
 
 
 
178
  = 3.9.7 =
179
 
180
  - New: Introducing "PA Duplicator" - The easiest way to duplicate posts, pages or Elementor templates.
5
  Requires at Least: 4.5
6
  Tested Up To: 5.3
7
  Requires PHP: 5.4
8
+ Stable Tag: 3.9.8
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
175
 
176
  == Changelog ==
177
 
178
+ = 3.9.8 =
179
+
180
+ - Tweak: Added `Margin` option for title, description and button in Banner widget.
181
+ - Tweak: Navigation dots hover ripple effect improved in Carousel widget.
182
+ - Tweak: Added `Inactive Ripple Color` option inactive slide dot in Carousel widget.
183
+ - Fixed: Default title hover color on effect 4 in Banner widget.
184
+
185
  = 3.9.7 =
186
 
187
  - New: Introducing "PA Duplicator" - The easiest way to duplicate posts, pages or Elementor templates.
widgets/premium-banner.php CHANGED
@@ -598,9 +598,18 @@ class Premium_Banner extends Widget_Base {
598
  ]
599
  );
600
 
 
 
 
 
 
 
 
 
 
601
  $this->add_control('premium_banner_style2_title_bg',
602
  [
603
- 'label' => __( 'Title Background', 'premium-addons-for-elementor' ),
604
  'type' => Controls_Manager::COLOR,
605
  'default' => '#f2f2f2',
606
  'description' => __( 'Choose a background color for the title', 'premium-addons-for-elementor' ),
@@ -626,15 +635,6 @@ class Premium_Banner extends Widget_Base {
626
  ]
627
  );
628
 
629
- $this->add_group_control(
630
- Group_Control_Typography::get_type(),
631
- [
632
- 'name' => 'premium_banner_title_typography',
633
- 'selector' => '{{WRAPPER}} .premium-banner-ib-desc .premium_banner_title',
634
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1
635
- ]
636
- );
637
-
638
  $this->add_group_control(
639
  Group_Control_Text_Shadow::get_type(),
640
  [
@@ -643,6 +643,17 @@ class Premium_Banner extends Widget_Base {
643
  'selector' => '{{WRAPPER}} .premium-banner-ib-desc .premium_banner_title'
644
  ]
645
  );
 
 
 
 
 
 
 
 
 
 
 
646
 
647
  $this->end_controls_section();
648
 
@@ -666,6 +677,15 @@ class Premium_Banner extends Widget_Base {
666
  ],
667
  ]
668
  );
 
 
 
 
 
 
 
 
 
669
 
670
  $this->add_control('premium_banner_scaled_border_color',
671
  [
@@ -680,15 +700,6 @@ class Premium_Banner extends Widget_Base {
680
  ]
681
  );
682
 
683
- $this->add_group_control(
684
- Group_Control_Typography::get_type(),
685
- [
686
- 'name' => 'premium_banner_content_typhography',
687
- 'selector' => '{{WRAPPER}} .premium-banner .premium_banner_content',
688
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
689
- ]
690
- );
691
-
692
  $this->add_group_control(
693
  Group_Control_Text_Shadow::get_type(),
694
  [
@@ -697,7 +708,18 @@ class Premium_Banner extends Widget_Base {
697
  'selector' => '{{WRAPPER}} .premium-banner .premium_banner_content',
698
  ]
699
  );
700
-
 
 
 
 
 
 
 
 
 
 
 
701
  $this->end_controls_section();
702
 
703
  $this->start_controls_section('premium_banner_styles_of_button',
@@ -744,12 +766,11 @@ class Premium_Banner extends Widget_Base {
744
  [
745
  'name' => 'premium_banner_button_typhography',
746
  'scheme' => Scheme_Typography::TYPOGRAPHY_3,
747
- 'selector' => '{{WRAPPER}} .premium-banner .premium-banner-link',
748
  ]
749
  );
750
 
751
- $this->add_control(
752
- 'premium_banner_backcolor_of_button',
753
  [
754
  'label' => __( 'Background Color', 'premium-addons-for-elementor' ),
755
  'type' => Controls_Manager::COLOR,
@@ -783,7 +804,7 @@ class Premium_Banner extends Widget_Base {
783
  'type' => Controls_Manager::SLIDER,
784
  'size_units' => ['px', '%' ,'em'],
785
  'selectors' => [
786
- '{{WRAPPER}} .premium-banner .premium-banner-link' => 'border-radius: {{SIZE}}{{UNIT}};'
787
  ]
788
  ]
789
  );
@@ -797,13 +818,24 @@ class Premium_Banner extends Widget_Base {
797
  ]
798
  );
799
 
 
 
 
 
 
 
 
 
 
 
 
800
  $this->add_responsive_control('premium_banner_button_padding',
801
  [
802
  'label' => __('Padding', 'premium-addons-for-elementor'),
803
  'type' => Controls_Manager::DIMENSIONS,
804
  'size_units' => ['px', 'em', '%'],
805
  'selectors' => [
806
- '{{WRAPPER}} .premium-banner .premium-banner-link' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
807
  ]
808
  ]
809
  );
@@ -858,7 +890,7 @@ class Premium_Banner extends Widget_Base {
858
 
859
  $title_tag = $settings[ 'premium_banner_title_tag' ];
860
  $title = $settings[ 'premium_banner_title' ];
861
- $full_title = '<'. $title_tag . ' class="premium-banner-ib-title ult-responsive premium_banner_title"><div '. $this->get_render_attribute_string('premium_banner_title') .'>' .$title. '</div></'.$title_tag.'>';
862
 
863
  $link = 'yes' == $settings['premium_banner_image_link_switcher'] ? $settings['premium_banner_image_custom_link']['url'] : get_permalink( $settings['premium_banner_image_existing_page_link'] );
864
 
@@ -949,7 +981,6 @@ class Premium_Banner extends Widget_Base {
949
 
950
  view.addRenderAttribute( 'title_wrap', 'class', [
951
  'premium-banner-ib-title',
952
- 'ult-responsive',
953
  'premium_banner_title'
954
  ] );
955
 
598
  ]
599
  );
600
 
601
+ $this->add_group_control(
602
+ Group_Control_Typography::get_type(),
603
+ [
604
+ 'name' => 'premium_banner_title_typography',
605
+ 'selector' => '{{WRAPPER}} .premium-banner-ib-desc .premium_banner_title',
606
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1
607
+ ]
608
+ );
609
+
610
  $this->add_control('premium_banner_style2_title_bg',
611
  [
612
+ 'label' => __( 'Background', 'premium-addons-for-elementor' ),
613
  'type' => Controls_Manager::COLOR,
614
  'default' => '#f2f2f2',
615
  'description' => __( 'Choose a background color for the title', 'premium-addons-for-elementor' ),
635
  ]
636
  );
637
 
 
 
 
 
 
 
 
 
 
638
  $this->add_group_control(
639
  Group_Control_Text_Shadow::get_type(),
640
  [
643
  'selector' => '{{WRAPPER}} .premium-banner-ib-desc .premium_banner_title'
644
  ]
645
  );
646
+
647
+ $this->add_responsive_control('premium_banner_title_margin',
648
+ [
649
+ 'label' => __('Margin', 'premium-addons-for-elementor'),
650
+ 'type' => Controls_Manager::DIMENSIONS,
651
+ 'size_units' => ['px', 'em', '%'],
652
+ 'selectors' => [
653
+ '{{WRAPPER}} .premium-banner-ib-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
654
+ ]
655
+ ]
656
+ );
657
 
658
  $this->end_controls_section();
659
 
677
  ],
678
  ]
679
  );
680
+
681
+ $this->add_group_control(
682
+ Group_Control_Typography::get_type(),
683
+ [
684
+ 'name' => 'premium_banner_content_typhography',
685
+ 'selector' => '{{WRAPPER}} .premium-banner .premium_banner_content',
686
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
687
+ ]
688
+ );
689
 
690
  $this->add_control('premium_banner_scaled_border_color',
691
  [
700
  ]
701
  );
702
 
 
 
 
 
 
 
 
 
 
703
  $this->add_group_control(
704
  Group_Control_Text_Shadow::get_type(),
705
  [
708
  'selector' => '{{WRAPPER}} .premium-banner .premium_banner_content',
709
  ]
710
  );
711
+
712
+ $this->add_responsive_control('premium_banner_desc_margin',
713
+ [
714
+ 'label' => __('Margin', 'premium-addons-for-elementor'),
715
+ 'type' => Controls_Manager::DIMENSIONS,
716
+ 'size_units' => ['px', 'em', '%'],
717
+ 'selectors' => [
718
+ '{{WRAPPER}} .premium-banner-ib-content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
719
+ ]
720
+ ]
721
+ );
722
+
723
  $this->end_controls_section();
724
 
725
  $this->start_controls_section('premium_banner_styles_of_button',
766
  [
767
  'name' => 'premium_banner_button_typhography',
768
  'scheme' => Scheme_Typography::TYPOGRAPHY_3,
769
+ 'selector' => '{{WRAPPER}} .premium-banner-link',
770
  ]
771
  );
772
 
773
+ $this->add_control('premium_banner_backcolor_of_button',
 
774
  [
775
  'label' => __( 'Background Color', 'premium-addons-for-elementor' ),
776
  'type' => Controls_Manager::COLOR,
804
  'type' => Controls_Manager::SLIDER,
805
  'size_units' => ['px', '%' ,'em'],
806
  'selectors' => [
807
+ '{{WRAPPER}} .premium-banner-link' => 'border-radius: {{SIZE}}{{UNIT}};'
808
  ]
809
  ]
810
  );
818
  ]
819
  );
820
 
821
+ $this->add_responsive_control('premium_banner_button_margin',
822
+ [
823
+ 'label' => __('Margin', 'premium-addons-for-elementor'),
824
+ 'type' => Controls_Manager::DIMENSIONS,
825
+ 'size_units' => ['px', 'em', '%'],
826
+ 'selectors' => [
827
+ '{{WRAPPER}} .premium-banner-read-more' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
828
+ ]
829
+ ]
830
+ );
831
+
832
  $this->add_responsive_control('premium_banner_button_padding',
833
  [
834
  'label' => __('Padding', 'premium-addons-for-elementor'),
835
  'type' => Controls_Manager::DIMENSIONS,
836
  'size_units' => ['px', 'em', '%'],
837
  'selectors' => [
838
+ '{{WRAPPER}} .premium-banner-link' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
839
  ]
840
  ]
841
  );
890
 
891
  $title_tag = $settings[ 'premium_banner_title_tag' ];
892
  $title = $settings[ 'premium_banner_title' ];
893
+ $full_title = '<'. $title_tag . ' class="premium-banner-ib-title premium_banner_title"><div '. $this->get_render_attribute_string('premium_banner_title') .'>' .$title. '</div></'.$title_tag.'>';
894
 
895
  $link = 'yes' == $settings['premium_banner_image_link_switcher'] ? $settings['premium_banner_image_custom_link']['url'] : get_permalink( $settings['premium_banner_image_existing_page_link'] );
896
 
981
 
982
  view.addRenderAttribute( 'title_wrap', 'class', [
983
  'premium-banner-ib-title',
 
984
  'premium_banner_title'
985
  ] );
986
 
widgets/premium-carousel.php CHANGED
@@ -187,6 +187,18 @@ class Premium_Carousel extends Widget_Base {
187
  ]
188
  );
189
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  $this->add_control('premium_carousel_navigation_show',
191
  [
192
  'label' => __( 'Arrows', 'premium-addons-for-elementor' ),
@@ -783,50 +795,34 @@ class Premium_Carousel extends Widget_Base {
783
  ]
784
  );
785
 
786
- $this->add_control('premium_carousel_navigation_effect',
787
  [
788
- 'label' => __( 'Ripple Effect', 'premium-addons-for-elementor' ),
789
- 'description' => __( 'Enable a ripple effect when the active dot is hovered/clicked', 'premium-addons-for-elementor' ),
790
- 'type' => Controls_Manager::SWITCHER,
791
- 'condition' => [
792
- 'premium_carousel_dot_navigation_show' => 'yes'
793
  ],
 
 
 
794
  ]
795
  );
796
 
797
- $this->add_control('premium_carousel_navigation_effect_border_color',
798
  [
799
- 'label' => __( 'Ripple Color', 'premium-addons-for-elementor' ),
800
  'type' => Controls_Manager::COLOR,
801
- 'scheme' => [
802
- 'type' => Scheme_Color::get_type(),
803
- 'value' => Scheme_Color::COLOR_1,
804
- ],
805
  'condition' => [
806
  'premium_carousel_dot_navigation_show' => 'yes',
807
  'premium_carousel_navigation_effect' => 'yes'
808
  ],
809
  'selectors' => [
810
- '{{WRAPPER}} .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:before' => 'border-color: {{VALUE}}'
811
  ]
812
  ]
813
  );
814
 
815
- $this->add_control('premium_carousel_navigation_effect_border_radius',
816
- [
817
- 'label' => __('Border Radius', 'premium-addons-for-elementor'),
818
- 'type' => Controls_Manager::SLIDER,
819
- 'size_units' => ['px', '%', 'em'],
820
- 'condition' => [
821
- 'premium_carousel_dot_navigation_show' => 'yes',
822
- 'premium_carousel_navigation_effect' => 'yes'
823
- ],
824
- 'selectors' => [
825
- '{{WRAPPER}} .premium-carousel-wrapper.hvr-ripple-out ul.slick-dots li.slick-active:before' => 'border-radius: {{SIZE}}{{UNIT}};'
826
- ]
827
- ]
828
- );
829
-
830
  $this->end_controls_section();
831
 
832
  }
@@ -1003,8 +999,6 @@ class Premium_Carousel extends Widget_Base {
1003
  $animation_class = $settings['premium_carousel_animation_list'];
1004
  $animation = ! empty( $animation_class ) ? 'animated ' . $animation_class : 'null';
1005
 
1006
- $dot_anim = $settings['premium_carousel_navigation_effect'] == 'yes' ? 'hvr-ripple-out' : '';
1007
-
1008
  $tablet_breakpoint = ! empty ( $settings['premium_carousel_tablet_breakpoint'] ) ? $settings['premium_carousel_tablet_breakpoint'] : 1025;
1009
 
1010
  $mobile_breakpoint = ! empty ( $settings['premium_carousel_mobile_breakpoint'] ) ? $settings['premium_carousel_mobile_breakpoint'] : 768;
@@ -1052,7 +1046,6 @@ class Premium_Carousel extends Widget_Base {
1052
 
1053
  $this->add_render_attribute( 'carousel', 'class', [
1054
  'premium-carousel-wrapper',
1055
- $dot_anim,
1056
  'carousel-wrapper-' . esc_attr( $this->get_id() ),
1057
  $extra_class,
1058
  $dir
@@ -1269,9 +1262,7 @@ class Premium_Carousel extends Widget_Base {
1269
 
1270
  var animationClass = settings.premium_carousel_animation_list;
1271
  var animation = '' !== animationClass ? 'animated ' + animationClass : 'null';
1272
-
1273
- var dotAnim = settings.premium_carousel_navigation_effect === 'yes' ? 'hvr-ripple-out' : '';
1274
-
1275
  var tabletBreakpoint = '' !== settings.premium_carousel_tablet_breakpoint ? settings.premium_carousel_tablet_breakpoint : 1025;
1276
 
1277
  var mobileBreakpoint = '' !== settings.premium_carousel_mobile_breakpoint ? settings.premium_carousel_mobile_breakpoint : 768;
@@ -1325,7 +1316,6 @@ class Premium_Carousel extends Widget_Base {
1325
 
1326
  view.addRenderAttribute( 'carousel', 'class', [
1327
  'premium-carousel-wrapper',
1328
- dotAnim,
1329
  'carousel-wrapper-' + view.getID(),
1330
  extraClass,
1331
  dir
187
  ]
188
  );
189
 
190
+ $this->add_control('premium_carousel_navigation_effect',
191
+ [
192
+ 'label' => __( 'Ripple Effect', 'premium-addons-for-elementor' ),
193
+ 'description' => __( 'Enable a ripple effect when the active dot is hovered/clicked', 'premium-addons-for-elementor' ),
194
+ 'type' => Controls_Manager::SWITCHER,
195
+ 'prefix_class' => 'premium-carousel-ripple-',
196
+ 'condition' => [
197
+ 'premium_carousel_dot_navigation_show' => 'yes'
198
+ ],
199
+ ]
200
+ );
201
+
202
  $this->add_control('premium_carousel_navigation_show',
203
  [
204
  'label' => __( 'Arrows', 'premium-addons-for-elementor' ),
795
  ]
796
  );
797
 
798
+ $this->add_control('premium_carousel_ripple_active_color',
799
  [
800
+ 'label' => __( 'Active Ripple Color', 'premium-addons-for-elementor' ),
801
+ 'type' => Controls_Manager::COLOR,
802
+ 'condition' => [
803
+ 'premium_carousel_dot_navigation_show' => 'yes',
804
+ 'premium_carousel_navigation_effect' => 'yes'
805
  ],
806
+ 'selectors' => [
807
+ '{{WRAPPER}}.premium-carousel-ripple-yes ul.slick-dots li.slick-active:hover:before' => 'background-color: {{VALUE}}'
808
+ ]
809
  ]
810
  );
811
 
812
+ $this->add_control('premium_carousel_ripple_color',
813
  [
814
+ 'label' => __( 'Inactive Ripple Color', 'premium-addons-for-elementor' ),
815
  'type' => Controls_Manager::COLOR,
 
 
 
 
816
  'condition' => [
817
  'premium_carousel_dot_navigation_show' => 'yes',
818
  'premium_carousel_navigation_effect' => 'yes'
819
  ],
820
  'selectors' => [
821
+ '{{WRAPPER}}.premium-carousel-ripple-yes ul.slick-dots li:hover:before' => 'background-color: {{VALUE}}'
822
  ]
823
  ]
824
  );
825
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
  $this->end_controls_section();
827
 
828
  }
999
  $animation_class = $settings['premium_carousel_animation_list'];
1000
  $animation = ! empty( $animation_class ) ? 'animated ' . $animation_class : 'null';
1001
 
 
 
1002
  $tablet_breakpoint = ! empty ( $settings['premium_carousel_tablet_breakpoint'] ) ? $settings['premium_carousel_tablet_breakpoint'] : 1025;
1003
 
1004
  $mobile_breakpoint = ! empty ( $settings['premium_carousel_mobile_breakpoint'] ) ? $settings['premium_carousel_mobile_breakpoint'] : 768;
1046
 
1047
  $this->add_render_attribute( 'carousel', 'class', [
1048
  'premium-carousel-wrapper',
 
1049
  'carousel-wrapper-' . esc_attr( $this->get_id() ),
1050
  $extra_class,
1051
  $dir
1262
 
1263
  var animationClass = settings.premium_carousel_animation_list;
1264
  var animation = '' !== animationClass ? 'animated ' + animationClass : 'null';
1265
+
 
 
1266
  var tabletBreakpoint = '' !== settings.premium_carousel_tablet_breakpoint ? settings.premium_carousel_tablet_breakpoint : 1025;
1267
 
1268
  var mobileBreakpoint = '' !== settings.premium_carousel_mobile_breakpoint ? settings.premium_carousel_mobile_breakpoint : 768;
1316
 
1317
  view.addRenderAttribute( 'carousel', 'class', [
1318
  'premium-carousel-wrapper',
 
1319
  'carousel-wrapper-' + view.getID(),
1320
  extraClass,
1321
  dir
widgets/premium-fancytext.php CHANGED
@@ -85,24 +85,24 @@ class Premium_Fancytext extends Widget_Base {
85
 
86
  /*Fancy Text Strings*/
87
  $this->add_control('premium_fancy_text_strings',
88
- [
89
- 'label' => __( 'Fancy Text', 'premium-addons-for-elementor' ),
90
- 'type' => Controls_Manager::REPEATER,
91
- 'default' => [
92
- [
93
- 'premium_text_strings_text_field' => __( 'Designer', 'premium-addons-for-elementor' ),
94
- ],
95
- [
96
- 'premium_text_strings_text_field' => __( 'Developer', 'premium-addons-for-elementor' ),
97
- ],
98
- [
99
- 'premium_text_strings_text_field' => __( 'Awesome', 'premium-addons-for-elementor' ),
100
- ],
101
  ],
102
- 'fields' => array_values( $repeater->get_controls() ),
103
- 'title_field' => '{{{ premium_text_strings_text_field }}}',
104
- ]
105
- );
 
 
 
 
 
 
 
106
 
107
  /*Prefix Text*/
108
  $this->add_control('premium_fancy_suffix_text',
85
 
86
  /*Fancy Text Strings*/
87
  $this->add_control('premium_fancy_text_strings',
88
+ [
89
+ 'label' => __( 'Fancy Text', 'premium-addons-for-elementor' ),
90
+ 'type' => Controls_Manager::REPEATER,
91
+ 'default' => [
92
+ [
93
+ 'premium_text_strings_text_field' => __( 'Designer', 'premium-addons-for-elementor' ),
 
 
 
 
 
 
 
94
  ],
95
+ [
96
+ 'premium_text_strings_text_field' => __( 'Developer', 'premium-addons-for-elementor' ),
97
+ ],
98
+ [
99
+ 'premium_text_strings_text_field' => __( 'Awesome', 'premium-addons-for-elementor' ),
100
+ ],
101
+ ],
102
+ 'fields' => array_values( $repeater->get_controls() ),
103
+ 'title_field' => '{{{ premium_text_strings_text_field }}}',
104
+ ]
105
+ );
106
 
107
  /*Prefix Text*/
108
  $this->add_control('premium_fancy_suffix_text',