Shortcodes and extra features for Phlox theme - Version 2.5.7

Version Description

Download this release

Release Info

Developer averta
Plugin Icon 128x128 Shortcodes and extra features for Phlox theme
Version 2.5.7
Comparing to
See all releases

Code changes from version 2.5.3 to 2.5.7

Files changed (38) hide show
  1. README.txt +2 -2
  2. admin/assets/css/elementor-editor.css +66 -0
  3. admin/assets/js/elementor/editor.js +13 -1
  4. admin/assets/js/plugins.js +1 -1
  5. admin/assets/js/solo/featuredColor.js +155 -0
  6. admin/includes/admin-the-functions.php +9 -0
  7. auxin-elements.php +1 -1
  8. includes/classes/class-auxin-demo-importer.php +61 -16
  9. includes/classes/class-auxin-post-type-base.php +1 -1
  10. includes/classes/class-auxin-siteorigin-widget.php +3 -0
  11. includes/classes/class-auxin-welcome.php +13 -4
  12. includes/define.php +1 -1
  13. includes/elementor/class-auxin-elementor-core-elements.php +30 -1
  14. includes/elementor/controls/featured-color.php +95 -0
  15. includes/elementor/modules/common.php +107 -73
  16. includes/elementor/modules/dynamic-tags/featured-colors.php +12 -5
  17. includes/elementor/widgets/button.php +5 -3
  18. includes/elementor/widgets/carousel-navigation.php +43 -9
  19. includes/elementor/widgets/contact-form.php +202 -78
  20. includes/elementor/widgets/custom-list.php +145 -18
  21. includes/elementor/widgets/heading-modern.php +9 -5
  22. includes/elementor/widgets/icon.php +22 -11
  23. includes/elementor/widgets/modern-button.php +764 -0
  24. includes/elementor/widgets/text.php +138 -59
  25. includes/elementor/widgets/theme-elements/breadcrumbs.php +229 -58
  26. includes/elementor/widgets/theme-elements/menu.php +1 -1
  27. includes/elementor/widgets/theme-elements/modern-search.php +10 -5
  28. includes/elementor/widgets/theme-elements/search.php +6 -4
  29. includes/elementor/widgets/theme-elements/shopping-cart.php +5 -4
  30. includes/general-functions.php +15 -0
  31. includes/general-hooks.php +23 -2
  32. languages/{fa_IR.mo → auxin-elements-fa_IR.mo} +0 -0
  33. languages/{fa_IR.po → auxin-elements-fa_IR.po} +0 -0
  34. languages/auxin-elements.pot +10599 -4588
  35. package-lock.json +442 -314
  36. public/assets/js/plugins.js +1 -1
  37. public/assets/js/scripts.js +1 -1
  38. public/class-auxels.php +2 -7
README.txt CHANGED
@@ -6,8 +6,8 @@ License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: phlox, gallery, elementor, siteorigin, auxin, averta, auxin-elements, framework, widget, fullwidth, masonry, timeline, parallax
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
- Tested up to: 5.3.3
10
- Stable tag: 2.5.3
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
6
  Tags: phlox, gallery, elementor, siteorigin, auxin, averta, auxin-elements, framework, widget, fullwidth, masonry, timeline, parallax
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
+ Tested up to: 5.4.0
10
+ Stable tag: 2.5.7
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
admin/assets/css/elementor-editor.css CHANGED
@@ -145,6 +145,11 @@
145
  background-repeat: no-repeat;
146
  }
147
 
 
 
 
 
 
148
  /* Select2 icons issue
149
  --------------------------*/
150
  .select2-container [class^="auxicon-"]::before, .select2-container [class*=" auxicon-"]::before {
@@ -311,3 +316,64 @@ div[class*="elementor-control-aux_pro"]:before{
311
  .auxin-elementor-go-pro-link{
312
  background-color: #0089ff !important;
313
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  background-repeat: no-repeat;
146
  }
147
 
148
+ /* Select2 Empty Issue */
149
+ .select2-container {
150
+ min-width: 100px;
151
+ }
152
+
153
  /* Select2 icons issue
154
  --------------------------*/
155
  .select2-container [class^="auxicon-"]::before, .select2-container [class*=" auxicon-"]::before {
316
  .auxin-elementor-go-pro-link{
317
  background-color: #0089ff !important;
318
  }
319
+
320
+ /*Featured Color */
321
+ .aux-featured-color-item-wrapper {
322
+ position: relative;
323
+ display: flex;
324
+ justify-content: space-between;
325
+ align-items: center;
326
+ padding-right: 14px;
327
+ }
328
+
329
+ .select2-selection__rendered .aux-featured-color-item-wrapper {
330
+ padding-right: 0;
331
+ }
332
+ .aux-featured-color-item {
333
+ display: flex;
334
+ align-items: center;
335
+ }
336
+ .aux-featured-color-shape {
337
+ display: inline-block;
338
+ width: 20px;
339
+ height: 15px;
340
+ margin-right: 7px;
341
+ border: 1px solid #d5dadf;
342
+ border-radius: 3px;
343
+ overflow: hidden;
344
+ }
345
+
346
+ .aux-featured-color-shape.aux-featured-color-empty{
347
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==');
348
+ background-size: 9px 9px;
349
+ }
350
+
351
+ .aux-featured-color-dropdown .select2-results__options {
352
+ max-height: none;
353
+ }
354
+
355
+ .aux-featured-color-dropdown .select2-results__option[aria-selected="true"] .aux-featured-color-item-wrapper:after {
356
+ content: '';
357
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.364' height='4.949' viewBox='0 0 6.364 4.949'%3E%3Cpath id='Rectangle_2' data-name='Rectangle 2' d='M386.818,237.56l.688-.688,1.414,1.414,3.555-3.555.707.706-3.555,3.555-.688.688Z' transform='translate(-386.818 -234.733)' fill='%23e0e1e3'/%3E%3C/svg%3E");
358
+ position: absolute;
359
+ right: 0px;
360
+ top: 5px;
361
+ width: 6.4px;
362
+ height: 5px;
363
+ }
364
+ /* Hide Svg Upload Button in some elements
365
+ --------------------------*/
366
+
367
+ .elementor-control-aux_button_icon .elementor-control-media__tool.elementor-control-svg-uploader,
368
+ .elementor-control-aux_price_list_icon .elementor-control-media__tool.elementor-control-svg-uploader,
369
+ .elementor-control-aux_price_table_feature_icon .elementor-control-media__tool.elementor-control-svg-uploader,
370
+ .elementor-control-aux_progressbar_text_icon .elementor-control-media__tool.elementor-control-svg-uploader,
371
+ .elementor-control-aux_post_info_icon .elementor-control-media__tool.elementor-control-svg-uploader,
372
+ .elementor-control-aux_custom_list_icon .elementor-control-media__tool.elementor-control-svg-uploader,
373
+ /* .elementor-control-aux_new_icon .elementor-control-media__tool.elementor-control-svg-uploader, */
374
+ .elementor-control-aux_text_icon .elementor-control-media__tool.elementor-control-svg-uploader,
375
+ .elementor-control-aux_text_btn_icon .elementor-control-media__tool.elementor-control-svg-uploader,
376
+ .elementor-control-aux_search_icon .elementor-control-media__tool.elementor-control-svg-uploader,
377
+ .elementor-control-aux_shopping_cart_icon .elementor-control-media__tool.elementor-control-svg-uploader {
378
+ display: none;
379
+ }
admin/assets/js/elementor/editor.js CHANGED
@@ -4,7 +4,7 @@
4
  ;(function($, window, document, undefined){
5
 
6
  $( window ).on( 'elementor:init', function() {
7
-
8
  // Add auxin specific css class to elementor body
9
  $('.elementor-editor-active').addClass('auxin');
10
 
@@ -335,6 +335,18 @@
335
  } );
336
  elementor.addControlView( 'aux-query', ControlQueryPostsItemView );
337
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  /*!
339
  * ================== Others ===================
340
  **/
4
  ;(function($, window, document, undefined){
5
 
6
  $( window ).on( 'elementor:init', function() {
7
+
8
  // Add auxin specific css class to elementor body
9
  $('.elementor-editor-active').addClass('auxin');
10
 
335
  } );
336
  elementor.addControlView( 'aux-query', ControlQueryPostsItemView );
337
 
338
+ /*!
339
+ * ================== Auxin Featured Color Controller ===================
340
+ **/
341
+ var AuxControlFeaturedColorItemView = AuxControlBaseDataView.extend( {
342
+
343
+ onReady: function() {
344
+ this.ui.select.AuxFeaturedColor();
345
+ },
346
+
347
+ } );
348
+ elementor.addControlView( 'aux-featured-color', AuxControlFeaturedColorItemView );
349
+
350
  /*!
351
  * ================== Others ===================
352
  **/
admin/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Phlox Core Plugin - v2.5.3 (2020-03-17)
2
  * All required javascript plugins for admin
3
  * http://phlox.pro/
4
  * Place any jQuery/helper plugins in here, instead of separate, slower script files!
1
+ /*! Phlox Core Plugin - v2.5.7 (2020-04-11)
2
  * All required javascript plugins for admin
3
  * http://phlox.pro/
4
  * Place any jQuery/helper plugins in here, instead of separate, slower script files!
admin/assets/js/solo/featuredColor.js ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Visual Select - A jQuery plugin for replacing HTML select element with a visual selection tool.
3
+ *
4
+ * @version 1.3.0
5
+ * @requires jQuery 1.9+
6
+ * @author Averta [averta.net]
7
+ * @package Axiom Framework
8
+ * @copyright Copyright © 2017 Averta, all rights reserved
9
+ */
10
+
11
+ ;(function ( $, window, document, undefined ) {
12
+
13
+ "use strict";
14
+
15
+ // Create the defaults once
16
+ var pluginName = 'AuxFeaturedColor',
17
+ defaults = {},
18
+ attributesMap = {};
19
+
20
+ // The actual plugin constructor
21
+ function Plugin( element, options ) {
22
+ this.element = element;
23
+ this.$element = $(element);
24
+ this.options = $.extend( {}, defaults, options) ;
25
+
26
+ // read attributes
27
+ for ( var key in attributesMap ) {
28
+ var value = attributesMap[ key ],
29
+ dataAttr = this.$element.data( key );
30
+
31
+ if ( dataAttr === undefined ) {
32
+ continue;
33
+ }
34
+
35
+ this.options[ value ] = dataAttr;
36
+ }
37
+
38
+ this._defaults = defaults;
39
+ this._name = pluginName;
40
+
41
+ this.init();
42
+ }
43
+
44
+ $.extend(Plugin.prototype, {
45
+
46
+ init : function(){
47
+ var self = this,
48
+ st = self.options;
49
+
50
+ this.$element.select2({
51
+ dropdownCssClass: 'aux-featured-color-dropdown',
52
+ minimumResultsForSearch: Infinity,
53
+ templateResult: this.generateOptions,
54
+ templateSelection: this.generateOptions
55
+ });
56
+ },
57
+
58
+ generateOptions: function( data ) {
59
+ var $option = $(data.element),
60
+ dataColor = $option.data('color'),
61
+ $colorWrapper = $('<span />').attr('class', 'aux-featured-color-item-wrapper'),
62
+ $color = $('<span />').attr('class', 'aux-featured-color-item'),
63
+ $colorLabel = $('<span />').attr('class', 'aux-featured-color-label').html( data.text );
64
+
65
+ // Color Shape
66
+ if( typeof dataColor !== 'undefined' ) {
67
+
68
+ var $colorShape = $('<span />').attr('class', 'aux-featured-color-shape');
69
+
70
+ if ( ! dataColor ) {
71
+ $colorShape.addClass('aux-featured-color-empty')
72
+ } else {
73
+ $colorShape.css( 'background-color', dataColor );
74
+ }
75
+
76
+ $colorShape.appendTo( $color );
77
+ }
78
+
79
+ $colorLabel.appendTo( $color );
80
+ $color.appendTo( $colorWrapper );
81
+
82
+ // Color Hex String
83
+ if( typeof dataColor !== 'undefined' ) {
84
+ var $colorHex = $('<span />').attr('class', 'aux-featured-color-hex');
85
+
86
+ if ( dataColor ) {
87
+ $colorHex.html( dataColor);
88
+ }
89
+
90
+ $colorHex.appendTo($colorWrapper);
91
+
92
+ }
93
+
94
+ return $colorWrapper;
95
+ }
96
+
97
+ });
98
+
99
+
100
+ $.fn[pluginName] = function ( options ) {
101
+ var args = arguments;
102
+
103
+ // Is the first parameter an object (options), or was omitted,
104
+ // instantiate a new instance of the plugin.
105
+ if (options === undefined || typeof options === 'object') {
106
+ return this.each(function () {
107
+
108
+ // Only allow the plugin to be instantiated once,
109
+ // so we check that the element has no plugin instantiation yet
110
+ if (!$.data(this, 'plugin_' + pluginName)) {
111
+
112
+ // if it has no instance, create a new one,
113
+ // pass options to our plugin constructor,
114
+ // and store the plugin instance
115
+ // in the elements jQuery data object.
116
+ $.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
117
+ }
118
+ });
119
+
120
+ // If the first parameter is a string and it doesn't start
121
+ // with an underscore or "contains" the `init`-function,
122
+ // treat this as a call to a public method.
123
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
124
+
125
+ // Cache the method call
126
+ // to make it possible
127
+ // to return a value
128
+ var returns;
129
+
130
+ this.each(function () {
131
+ var instance = $.data(this, 'plugin_' + pluginName);
132
+
133
+ // Tests that there's already a plugin-instance
134
+ // and checks that the requested public method exists
135
+ if (instance instanceof Plugin && typeof instance[options] === 'function') {
136
+
137
+ // Call the method of our plugin instance,
138
+ // and pass it the supplied arguments.
139
+ returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
140
+ }
141
+
142
+ // Allow instances to be destroyed via the 'destroy' method
143
+ if (options === 'destroy') {
144
+ $.data(this, 'plugin_' + pluginName, null);
145
+ }
146
+ });
147
+
148
+ // If the earlier cached method
149
+ // gives a value back return the value,
150
+ // otherwise return this to preserve chainability.
151
+ return returns !== undefined ? returns : this;
152
+ }
153
+ }
154
+
155
+ }(jQuery, window, document));
admin/includes/admin-the-functions.php CHANGED
@@ -183,6 +183,15 @@ if ( ! function_exists('auxin_template_importer') ) {
183
  // Get All Templates data
184
  $templates_data = Auxin_Welcome::get_instance()->get_demo_list('templates');
185
 
 
 
 
 
 
 
 
 
 
186
  // Find data of selected template
187
  $has_template = false;
188
  foreach ( $templates_data['templates'] as $key => $template_info ) {
183
  // Get All Templates data
184
  $templates_data = Auxin_Welcome::get_instance()->get_demo_list('templates');
185
 
186
+ if ( empty( $templates_data ) ) {
187
+ return [
188
+ 'success' => false,
189
+ 'data' => [
190
+ 'message' => __( "An error occurred while updating templates library.", 'auxin-elements' )
191
+ ]
192
+ ];
193
+ }
194
+
195
  // Find data of selected template
196
  $has_template = false;
197
  foreach ( $templates_data['templates'] as $key => $template_info ) {
auxin-elements.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Phlox Core Elements
13
  * Plugin URI: https://wordpress.org/plugins/auxin-elements/
14
  * Description: Exclusive and comprehensive plugin that extends the functionality of Phlox theme by adding new Elements, widgets and options.
15
- * Version: 2.5.3
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
12
  * Plugin Name: Phlox Core Elements
13
  * Plugin URI: https://wordpress.org/plugins/auxin-elements/
14
  * Description: Exclusive and comprehensive plugin that extends the functionality of Phlox theme by adding new Elements, widgets and options.
15
+ * Version: 2.5.7
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
includes/classes/class-auxin-demo-importer.php CHANGED
@@ -210,9 +210,9 @@ class Auxin_Demo_Importer {
210
  $options[ $value['name'] ] = $value['value'];
211
  }
212
 
213
- update_option( 'auxin_demo_options', $options );
214
 
215
- update_option( 'auxin_last_imported_demo', array( 'id' => $demo_ID, 'time' => current_time( 'mysql' ), 'status' => $options ) );
216
 
217
  flush_rewrite_rules();
218
 
@@ -429,7 +429,7 @@ class Auxin_Demo_Importer {
429
  public function import_options( array $options ) {
430
  $auxin_custom_images = $this->get_options_by_type( 'image' );
431
  extract( $options );
432
-
433
  $elementor_header_footer_options = array(
434
  'site_elementor_header_template' => 'site_elementor_header_edit_template',
435
  'site_elementor_footer_template' => 'site_elementor_footer_edit_template',
@@ -440,16 +440,20 @@ class Auxin_Demo_Importer {
440
  // This line is for changing the old attachment ID with new one.
441
  $auxin_value = $this->get_attachment_id( 'auxin_import_id', $auxin_value );
442
  }
443
-
444
  if ( in_array( $auxin_key, array_keys( $elementor_header_footer_options ) ) ) {
445
  $auxin_new_value = auxin_get_transient( "aux-elementor-library-{$auxin_value}-changs-to" );
446
-
447
  auxin_update_option( $elementor_header_footer_options[ $auxin_key ] , maybe_unserialize( $auxin_new_value ) );
448
- auxin_update_option( $auxin_key , maybe_unserialize( $auxin_new_value ) );
449
-
450
  auxin_delete_transient( "aux-elementor-library-{$auxin_value}-changs-to" );
451
  continue;
452
  }
 
 
 
 
453
  // Update exclusive auxin options
454
  auxin_update_option( $auxin_key , maybe_unserialize( $auxin_value ) );
455
  }
@@ -597,7 +601,7 @@ class Auxin_Demo_Importer {
597
  foreach ( $args as $menu_name => $menu_data ) {
598
 
599
  $menu_exists = wp_get_nav_menu_object( $menu_name );
600
- update_option( 'auxin_demo_importer_menu_origin_id_' . $menu_data['id'], $menu_exists );
601
 
602
  // If it doesn't exist, let's create it.
603
  if( ! $menu_exists ) {
@@ -605,7 +609,7 @@ class Auxin_Demo_Importer {
605
  $menu_id = wp_create_nav_menu( $menu_name );
606
  if( is_wp_error( $menu_id ) ) continue;
607
 
608
- update_option( 'auxin_demo_importer_menu_origin_id_' . $menu_data['id'], $menu_id );
609
  // Create menu items
610
  foreach ( $menu_data['items'] as $item_key => $item_value ) {
611
  //Keep 'menu-meta' in a variable
@@ -803,6 +807,10 @@ class Auxin_Demo_Importer {
803
  auxin_set_transient( "aux-elementor-library-{$post['ID']}-changs-to", $post_id, 48 * HOUR_IN_SECONDS );
804
  }
805
 
 
 
 
 
806
  //Check post terms existence
807
  if ( ! empty( $post['post_terms'] ) ){
808
  // Start adding post terms
@@ -844,10 +852,10 @@ class Auxin_Demo_Importer {
844
  $add_these_terms = array();
845
 
846
  foreach ($term as $key => $value) {
847
-
848
  $key = is_numeric( $key ) ? (string) $key : $key;
849
  $term_obj = term_exists( $key, $tax );
850
-
851
  // If the taxonomy doesn't exist, then we create it
852
  if ( ! $term_obj ) {
853
 
@@ -867,7 +875,7 @@ class Auxin_Demo_Importer {
867
 
868
  auxin_set_transient( 'auxin_category_new_id_of' . $value, $term_obj['term_id'] );
869
 
870
- }
871
 
872
  $add_these_terms[] = intval($term_obj['term_id']);
873
  }
@@ -936,7 +944,7 @@ class Auxin_Demo_Importer {
936
  // Set default_form_id for mailchimp plugin
937
  if( $post['post_type'] == 'mc4wp-form' ){
938
  // set default_form_id
939
- update_option( 'mc4wp_default_form_id', $post_id );
940
  }
941
 
942
  if ( ! empty( $post['post_comments'] ) ){
@@ -989,9 +997,46 @@ class Auxin_Demo_Importer {
989
 
990
  }
991
 
 
992
  //wp_send_json_success( array( 'step' => 'content', 'next' => 'auxin_options', 'message' => __( 'Importing Options' ) ) );
993
  }
994
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
995
 
996
  public function prepare_download( array $args ) {
997
 
@@ -1015,8 +1060,8 @@ class Auxin_Demo_Importer {
1015
 
1016
  }
1017
 
1018
- update_option( 'auxin_demo_media_args', $args );
1019
- update_option( 'auxin_demo_media_requests', $requests );
1020
 
1021
  return $requests;
1022
  }
@@ -1728,7 +1773,7 @@ class Auxin_Demo_Importer {
1728
  $meta = str_replace( $url[0], $site_url, $meta);
1729
  }
1730
  }
1731
-
1732
  preg_match_all( '#\\"url\\":\\"\\\\\/.[a-z,0-9]*\\\\\/#', $meta, $relative_urls, PREG_SET_ORDER );
1733
  if ( ! empty( $relative_urls ) ) {
1734
  foreach($relative_urls as $key => $url) {
210
  $options[ $value['name'] ] = $value['value'];
211
  }
212
 
213
+ update_option( 'auxin_demo_options', $options, false );
214
 
215
+ update_option( 'auxin_last_imported_demo', array( 'id' => $demo_ID, 'time' => current_time( 'mysql' ), 'status' => $options ), false );
216
 
217
  flush_rewrite_rules();
218
 
429
  public function import_options( array $options ) {
430
  $auxin_custom_images = $this->get_options_by_type( 'image' );
431
  extract( $options );
432
+
433
  $elementor_header_footer_options = array(
434
  'site_elementor_header_template' => 'site_elementor_header_edit_template',
435
  'site_elementor_footer_template' => 'site_elementor_footer_edit_template',
440
  // This line is for changing the old attachment ID with new one.
441
  $auxin_value = $this->get_attachment_id( 'auxin_import_id', $auxin_value );
442
  }
443
+
444
  if ( in_array( $auxin_key, array_keys( $elementor_header_footer_options ) ) ) {
445
  $auxin_new_value = auxin_get_transient( "aux-elementor-library-{$auxin_value}-changs-to" );
446
+
447
  auxin_update_option( $elementor_header_footer_options[ $auxin_key ] , maybe_unserialize( $auxin_new_value ) );
448
+ auxin_update_option( $auxin_key , maybe_unserialize( $auxin_new_value ) );
449
+
450
  auxin_delete_transient( "aux-elementor-library-{$auxin_value}-changs-to" );
451
  continue;
452
  }
453
+
454
+ if ( ( $auxin_key == 'portfolio_custom_archive_link' || $auxin_key == 'news_custom_archive_link' ) && ! empty( $auxin_value ) ) {
455
+ $auxin_value = auxin_get_transient( "aux-page-{$auxin_value}-changs-to" );
456
+ }
457
  // Update exclusive auxin options
458
  auxin_update_option( $auxin_key , maybe_unserialize( $auxin_value ) );
459
  }
601
  foreach ( $args as $menu_name => $menu_data ) {
602
 
603
  $menu_exists = wp_get_nav_menu_object( $menu_name );
604
+ update_option( 'auxin_demo_importer_menu_origin_id_' . $menu_data['id'], $menu_exists, false );
605
 
606
  // If it doesn't exist, let's create it.
607
  if( ! $menu_exists ) {
609
  $menu_id = wp_create_nav_menu( $menu_name );
610
  if( is_wp_error( $menu_id ) ) continue;
611
 
612
+ update_option( 'auxin_demo_importer_menu_origin_id_' . $menu_data['id'], $menu_id, false );
613
  // Create menu items
614
  foreach ( $menu_data['items'] as $item_key => $item_value ) {
615
  //Keep 'menu-meta' in a variable
807
  auxin_set_transient( "aux-elementor-library-{$post['ID']}-changs-to", $post_id, 48 * HOUR_IN_SECONDS );
808
  }
809
 
810
+ if ( $post['post_type'] == 'page' ) {
811
+ auxin_set_transient( "aux-page-{$post['ID']}-changs-to", $post_id, 48 * HOUR_IN_SECONDS );
812
+ }
813
+
814
  //Check post terms existence
815
  if ( ! empty( $post['post_terms'] ) ){
816
  // Start adding post terms
852
  $add_these_terms = array();
853
 
854
  foreach ($term as $key => $value) {
855
+
856
  $key = is_numeric( $key ) ? (string) $key : $key;
857
  $term_obj = term_exists( $key, $tax );
858
+
859
  // If the taxonomy doesn't exist, then we create it
860
  if ( ! $term_obj ) {
861
 
875
 
876
  auxin_set_transient( 'auxin_category_new_id_of' . $value, $term_obj['term_id'] );
877
 
878
+ }
879
 
880
  $add_these_terms[] = intval($term_obj['term_id']);
881
  }
944
  // Set default_form_id for mailchimp plugin
945
  if( $post['post_type'] == 'mc4wp-form' ){
946
  // set default_form_id
947
+ update_option( 'mc4wp_default_form_id', $post_id, false );
948
  }
949
 
950
  if ( ! empty( $post['post_comments'] ) ){
997
 
998
  }
999
 
1000
+ $this->update_imported_ids();
1001
  //wp_send_json_success( array( 'step' => 'content', 'next' => 'auxin_options', 'message' => __( 'Importing Options' ) ) );
1002
  }
1003
 
1004
+ public function update_imported_ids() {
1005
+
1006
+ $args = array(
1007
+ 'post_type' => array(
1008
+ 'post',
1009
+ 'page',
1010
+ 'portfolio'
1011
+ ),
1012
+ 'posts_per_page' => -1
1013
+ );
1014
+
1015
+ $query = new WP_Query($args);
1016
+
1017
+ if ( $query->have_posts() ) {
1018
+ while( $query->have_posts() ) {
1019
+ $query->the_post();
1020
+ $elementor_data = get_post_meta( get_the_ID() , '_elementor_data', true );
1021
+
1022
+ // Change slide's id in flexible carousel element
1023
+ preg_match_all( '/template":"\d*/', $elementor_data, $templates, PREG_SET_ORDER );
1024
+ if ( ! empty( $templates ) ) {
1025
+ foreach ( $templates as $key => $template ) {
1026
+ $old_id = str_replace( 'template":"', '', $template[0] );
1027
+ if ( ! is_numeric( $old_id ) ) {
1028
+ continue;
1029
+ }
1030
+ $new_template = 'template":"'. auxin_get_transient( "aux-elementor-library-{$old_id}-changs-to" );
1031
+ $elementor_data = str_replace( $template[0], $new_template, $elementor_data );
1032
+ }
1033
+ }
1034
+
1035
+ update_post_meta( get_the_ID(), '_elementor_data', wp_slash( $elementor_data ) );
1036
+ }
1037
+ }
1038
+ wp_reset_postdata();
1039
+ }
1040
 
1041
  public function prepare_download( array $args ) {
1042
 
1060
 
1061
  }
1062
 
1063
+ update_option( 'auxin_demo_media_args', $args, false );
1064
+ update_option( 'auxin_demo_media_requests', $requests, false );
1065
 
1066
  return $requests;
1067
  }
1773
  $meta = str_replace( $url[0], $site_url, $meta);
1774
  }
1775
  }
1776
+
1777
  preg_match_all( '#\\"url\\":\\"\\\\\/.[a-z,0-9]*\\\\\/#', $meta, $relative_urls, PREG_SET_ORDER );
1778
  if ( ! empty( $relative_urls ) ) {
1779
  foreach($relative_urls as $key => $url) {
includes/classes/class-auxin-post-type-base.php CHANGED
@@ -191,7 +191,7 @@ class Auxin_Post_Type_Base {
191
  $wp_roles->add_cap( 'editor' , $cap );
192
  }
193
 
194
- update_option( "auxin_{$this->post_type}_capabilities_added", 1 );
195
  }
196
 
197
  }
191
  $wp_roles->add_cap( 'editor' , $cap );
192
  }
193
 
194
+ update_option( "auxin_{$this->post_type}_capabilities_added", 1, false );
195
  }
196
 
197
  }
includes/classes/class-auxin-siteorigin-widget.php CHANGED
@@ -86,6 +86,7 @@ class Auxin_SiteOrigin_Widget extends SiteOrigin_Widget {
86
  case 'aux_iconpicker':
87
  $so_field['type'] = 'iconpicker';
88
  break;
 
89
  case 'textarea_html':
90
  $so_field['type'] = 'tinymce';
91
  $so_field['rows'] = 20;
@@ -156,6 +157,8 @@ class Auxin_SiteOrigin_Widget extends SiteOrigin_Widget {
156
  case 'attach_audio':
157
  $so_field['type'] = 'media';
158
  $so_field['library'] = 'audio';
 
 
159
  default:
160
  continue;
161
  break;
86
  case 'aux_iconpicker':
87
  $so_field['type'] = 'iconpicker';
88
  break;
89
+
90
  case 'textarea_html':
91
  $so_field['type'] = 'tinymce';
92
  $so_field['rows'] = 20;
157
  case 'attach_audio':
158
  $so_field['type'] = 'media';
159
  $so_field['library'] = 'audio';
160
+ break;
161
+
162
  default:
163
  continue;
164
  break;
includes/classes/class-auxin-welcome.php CHANGED
@@ -97,7 +97,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
97
  if ( current_user_can( 'manage_options' ) ) {
98
 
99
  // Disable redirect for "related posts for WordPress" plugin
100
- update_option('rp4wp_do_install', 0);
101
  // Disable redirect for the "WooCommerce" plugin
102
  delete_transient( '_wc_activation_redirect' );
103
  // Disable redirect for Phlox Pro plugin
@@ -1010,14 +1010,23 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1010
  if( false !== strpos( $error_message, 'cURL error 28') ){
1011
  set_theme_mod('increasing_curl_timeout_is_required', 15);
1012
  }
1013
- wp_die();
 
 
 
 
 
1014
  }
1015
 
1016
  // translate the JSON into Array
1017
- $data = json_decode( $response, true );
1018
 
1019
  if( ! is_array( $data ) ){
1020
- wp_die();
 
 
 
 
1021
  }
1022
 
1023
  // Add transient
97
  if ( current_user_can( 'manage_options' ) ) {
98
 
99
  // Disable redirect for "related posts for WordPress" plugin
100
+ update_option('rp4wp_do_install', 0, false );
101
  // Disable redirect for the "WooCommerce" plugin
102
  delete_transient( '_wc_activation_redirect' );
103
  // Disable redirect for Phlox Pro plugin
1010
  if( false !== strpos( $error_message, 'cURL error 28') ){
1011
  set_theme_mod('increasing_curl_timeout_is_required', 15);
1012
  }
1013
+
1014
+ if ( wp_doing_ajax() ){
1015
+ die();
1016
+ } else {
1017
+ return;
1018
+ }
1019
  }
1020
 
1021
  // translate the JSON into Array
1022
+ $data = json_decode( $response, true );
1023
 
1024
  if( ! is_array( $data ) ){
1025
+ if ( wp_doing_ajax() ){
1026
+ die();
1027
+ } else {
1028
+ return;
1029
+ }
1030
  }
1031
 
1032
  // Add transient
includes/define.php CHANGED
@@ -12,7 +12,7 @@ if( ! defined( 'THEME_NAME' ) ){
12
  }
13
 
14
 
15
- define( 'AUXELS_VERSION' , '2.5.3' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
12
  }
13
 
14
 
15
+ define( 'AUXELS_VERSION' , '2.5.7' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
includes/elementor/class-auxin-elementor-core-elements.php CHANGED
@@ -363,6 +363,10 @@ final class Elements {
363
  '245' => [
364
  'file' => $this->dir_path . '/widgets/theme-elements/breadcrumbs.php',
365
  'class' => 'Elements\Theme_Elements\Breadcrumbs'
 
 
 
 
366
  ]
367
  ];
368
 
@@ -516,6 +520,11 @@ final class Elements {
516
  'file' => $this->dir_path . '/controls/icon-select.php',
517
  'class' => 'Controls\Control_Icon_Select',
518
  'type' => 'single'
 
 
 
 
 
519
  )
520
  );
521
 
@@ -725,6 +734,7 @@ final class Elements {
725
  */
726
  public function add_auxin_font_icons( $tabs = [] ) {
727
 
 
728
  $icons = Auxin()->Font_Icons->get_icons_list( 'fontastic' );
729
 
730
  foreach ( $icons as $icon ) {
@@ -733,7 +743,7 @@ final class Elements {
733
 
734
  $tabs['auxicon'] = [
735
  'name' => 'auxicon',
736
- 'label' => __( 'Phlox Icons', 'auxin-elements' ),
737
  'url' => THEME_URL . 'css/auxin-icon.css',
738
  'enqueue' => [ THEME_URL . 'css/auxin-icon.css' ],
739
  'prefix' => 'auxicon-',
@@ -743,6 +753,25 @@ final class Elements {
743
  'icons' => $icons_list
744
  ];
745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
746
  return $tabs;
747
  }
748
 
363
  '245' => [
364
  'file' => $this->dir_path . '/widgets/theme-elements/breadcrumbs.php',
365
  'class' => 'Elements\Theme_Elements\Breadcrumbs'
366
+ ],
367
+ '250' => [
368
+ 'file' => $this->dir_path . '/widgets/modern-button.php',
369
+ 'class' => 'Elements\ModernButton'
370
  ]
371
  ];
372
 
520
  'file' => $this->dir_path . '/controls/icon-select.php',
521
  'class' => 'Controls\Control_Icon_Select',
522
  'type' => 'single'
523
+ ),
524
+ 'aux-featured-color' => array(
525
+ 'file' => $this->dir_path . '/controls/featured-color.php',
526
+ 'class' => 'Controls\Control_Featured_Color',
527
+ 'type' => 'single'
528
  )
529
  );
530
 
734
  */
735
  public function add_auxin_font_icons( $tabs = [] ) {
736
 
737
+ // Phlox Icon set 1
738
  $icons = Auxin()->Font_Icons->get_icons_list( 'fontastic' );
739
 
740
  foreach ( $icons as $icon ) {
743
 
744
  $tabs['auxicon'] = [
745
  'name' => 'auxicon',
746
+ 'label' => __( 'Phlox Icons - Set 1', 'auxin-elements' ),
747
  'url' => THEME_URL . 'css/auxin-icon.css',
748
  'enqueue' => [ THEME_URL . 'css/auxin-icon.css' ],
749
  'prefix' => 'auxicon-',
753
  'icons' => $icons_list
754
  ];
755
 
756
+ // Phlox Icon set 2
757
+ $icons_v2 = Auxin()->Font_Icons->get_icons_list( 'auxicon2' );
758
+
759
+ foreach ( $icons_v2 as $icon ) {
760
+ $icons_list2[] = str_replace( '.auxicon2-', '', $icon->classname );
761
+ }
762
+
763
+ $tabs['auxicon2'] = [
764
+ 'name' => 'auxicon2',
765
+ 'label' => __( 'Phlox Icons - Set 2', 'auxin-elements' ),
766
+ 'url' => THEME_URL . 'css/auxin-icon.css',
767
+ 'enqueue' => [ THEME_URL . 'css/auxin-icon.css' ],
768
+ 'prefix' => 'auxicon2-',
769
+ 'displayPrefix' => 'auxicon2',
770
+ 'labelIcon' => 'auxicon-sun',
771
+ 'ver' => '1.0.0',
772
+ 'icons' => $icons_list2
773
+ ];
774
+
775
  return $tabs;
776
  }
777
 
includes/elementor/controls/featured-color.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Auxin\Plugin\CoreElements\Elementor\Controls;
3
+
4
+ use Elementor\Plugin;
5
+ use Elementor\Base_Data_Control;
6
+
7
+ if ( ! defined( 'ABSPATH' ) ) {
8
+ exit; // Exit if accessed directly.
9
+ }
10
+
11
+ /**
12
+ * Auxin Featured Color control.
13
+ *
14
+ * A base control for creating visual select control. Displays radio buttons styled as
15
+ * groups of buttons with icons for each option.
16
+ *
17
+ * @since 1.0.0
18
+ */
19
+ class Control_Featured_Color extends Base_Data_Control {
20
+
21
+
22
+ /**
23
+ * Get select control type.
24
+ *
25
+ * Retrieve the control type, in this case `select`.
26
+ *
27
+ * @since 1.0.0
28
+ * @access public
29
+ *
30
+ * @return string Control type.
31
+ */
32
+ public function get_type() {
33
+ return 'aux-featured-color';
34
+ }
35
+
36
+ /**
37
+ * Get select control default settings.
38
+ *
39
+ * Retrieve the default settings of the select control. Used to return the
40
+ * default settings while initializing the select control.
41
+ *
42
+ * @since 2.0.0
43
+ * @access protected
44
+ *
45
+ * @return array Control default settings.
46
+ */
47
+ protected function get_default_settings() {
48
+ return [
49
+ 'label_block' => true,
50
+ 'options' => array(),
51
+ 'style_items' => ''
52
+ ];
53
+ }
54
+
55
+ public function enqueue() {
56
+ wp_enqueue_style( 'auxin-elementor-editor' );
57
+ wp_enqueue_script( 'auxin-elementor-featured-color' , AUXELS_ADMIN_URL . '/assets/js/solo/featuredColor.js' , array( 'jquery' ) );
58
+ wp_enqueue_script( 'auxin-elementor-editor' );
59
+ }
60
+
61
+ /**
62
+ * Render select control output in the editor.
63
+ *
64
+ * Used to generate the control HTML in the editor using Underscore JS
65
+ * template. The variables for the class are available using `data` JS
66
+ * object.
67
+ *
68
+ * @since 1.0.0
69
+ * @access public
70
+ */
71
+ public function content_template() {
72
+ $control_uid = $this->get_control_uid();
73
+ ?>
74
+ <div class="elementor-control-field">
75
+ <label for="<?php echo esc_attr( $control_uid ); ?>" class="elementor-control-title">{{{ data.label }}}</label>
76
+ <div class="elementor-control-input-wrapper ">
77
+ <select class="aux-featured-color-wrapper" id="<?php echo esc_attr( $control_uid ); ?>" data-setting="{{ data.name }}">
78
+ <# _.each( data.options, function( option_params, option_value ) {
79
+ var value = data.controlValue,
80
+ selected = ( option_value === value ) ? 'selected': '',
81
+ dataColor = '';
82
+
83
+ if ( Object.hasOwnProperty.call( option_params, 'color' ) ) {
84
+ dataColor = 'data-color=' + option_params.color;
85
+ }
86
+
87
+ #>
88
+ <option {{ selected }} value="{{ option_value }}" {{dataColor}} >{{{ option_params.label }}}</option>
89
+ <# }); #>
90
+ </select>
91
+ </div>
92
+ </div>
93
+ <?php
94
+ }
95
+ }
includes/elementor/modules/common.php CHANGED
@@ -748,148 +748,182 @@ selector .child-element{ margin: 10px; }
748
  )
749
  );
750
 
751
- $widget->add_responsive_control(
752
- 'flex_grow',
753
- [
754
- 'label' => __( 'Grow in width', 'auxin-elements' ),
755
- 'type' => Controls_Manager::NUMBER,
756
- 'min' => 0,
757
- 'selectors' => [
758
- '{{WRAPPER}}' => 'flex-grow: {{VALUE}};'
759
- ],
760
- 'label_block' => false
761
- ]
762
- );
763
-
764
  $widget->add_responsive_control(
765
  'aux_max_width',
766
- array(
767
  'label' => __('Max Width','auxin-elements' ),
768
  'type' => Controls_Manager::SLIDER,
769
- 'size_units' => array('px', 'em', '%', 'vw'),
770
- 'range' => array(
771
- 'px' => array(
772
  'min' => 0,
773
  'step' => 1
774
- ),
775
- '%' => array(
776
  'min' => 0,
777
  'max' => 100,
778
  'step' => 1
779
- ),
780
- 'em' => array(
781
  'min' => 0,
782
  'step' => 1
783
- ),
784
- 'vw' => array(
785
  'min' => 0,
786
  'max' => 100,
787
  'step' => 1
788
- )
789
- ),
790
- 'selectors' => array(
791
  '{{WRAPPER}}' => 'max-width:{{SIZE}}{{UNIT}};'
792
- )
793
- )
794
  );
795
 
796
  $widget->add_responsive_control(
797
  'aux_max_height',
798
- array(
799
  'label' => __('Max Height','auxin-elements' ),
800
  'type' => Controls_Manager::SLIDER,
801
- 'size_units' => array('px', 'em', '%', 'vh'),
802
- 'range' => array(
803
- 'px' => array(
804
  'min' => 0,
805
  'step' => 1
806
- ),
807
- '%' => array(
808
  'min' => 0,
809
  'max' => 100,
810
  'step' => 1
811
- ),
812
- 'em' => array(
813
  'min' => 0,
814
  'step' => 1
815
- ),
816
- 'vh' => array(
817
  'min' => 0,
818
  'max' => 100,
819
  'step' => 1
820
- )
821
- ),
822
- 'selectors' => array(
823
  '{{WRAPPER}}' => 'max-height:{{SIZE}}{{UNIT}};'
824
- ),
825
  'separator' => 'after'
826
- )
827
  );
828
 
829
  $widget->add_responsive_control(
830
  'aux_min_width',
831
- array(
832
  'label' => __('Min Width','auxin-elements' ),
833
  'type' => Controls_Manager::SLIDER,
834
- 'size_units' => array('px', 'em', '%', 'vw'),
835
- 'range' => array(
836
- 'px' => array(
837
  'min' => 0,
838
  'step' => 1
839
- ),
840
- '%' => array(
841
  'min' => 0,
842
  'max' => 100,
843
  'step' => 1
844
- ),
845
- 'em' => array(
846
  'min' => 0,
847
  'step' => 1
848
- ),
849
- 'vw' => array(
850
  'min' => 0,
851
  'max' => 100,
852
  'step' => 1
853
- )
854
- ),
855
- 'selectors' => array(
856
  '{{WRAPPER}}' => 'min-width:{{SIZE}}{{UNIT}};'
857
- )
858
- )
859
  );
860
 
861
  $widget->add_responsive_control(
862
  'aux_min_height',
863
- array(
864
  'label' => __('Min Height','auxin-elements' ),
865
  'type' => Controls_Manager::SLIDER,
866
- 'size_units' => array('px', 'em', '%', 'vh'),
867
- 'range' => array(
868
- 'px' => array(
869
  'min' => 0,
870
  'step' => 1
871
- ),
872
- '%' => array(
873
  'min' => 0,
874
  'max' => 100,
875
  'step' => 1
876
- ),
877
- 'em' => array(
878
  'min' => 0,
879
  'step' => 1
880
- ),
881
- 'vh' => array(
882
  'min' => 0,
883
  'max' => 100,
884
  'step' => 1
885
- )
886
- ),
887
- 'selectors' => array(
888
  '{{WRAPPER}}' => 'min-height:{{SIZE}}{{UNIT}};'
889
- )
890
- )
 
891
  );
892
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
893
  $widget->end_controls_section();
894
  }
895
 
748
  )
749
  );
750
 
 
 
 
 
 
 
 
 
 
 
 
 
 
751
  $widget->add_responsive_control(
752
  'aux_max_width',
753
+ [
754
  'label' => __('Max Width','auxin-elements' ),
755
  'type' => Controls_Manager::SLIDER,
756
+ 'size_units' => ['px', 'em', '%', 'vw'],
757
+ 'range' => [
758
+ 'px' => [
759
  'min' => 0,
760
  'step' => 1
761
+ ],
762
+ '%' => [
763
  'min' => 0,
764
  'max' => 100,
765
  'step' => 1
766
+ ],
767
+ 'em' => [
768
  'min' => 0,
769
  'step' => 1
770
+ ],
771
+ 'vw' => [
772
  'min' => 0,
773
  'max' => 100,
774
  'step' => 1
775
+ ]
776
+ ],
777
+ 'selectors' => [
778
  '{{WRAPPER}}' => 'max-width:{{SIZE}}{{UNIT}};'
779
+ ]
780
+ ]
781
  );
782
 
783
  $widget->add_responsive_control(
784
  'aux_max_height',
785
+ [
786
  'label' => __('Max Height','auxin-elements' ),
787
  'type' => Controls_Manager::SLIDER,
788
+ 'size_units' => ['px', 'em', '%', 'vh'],
789
+ 'range' => [
790
+ 'px' => [
791
  'min' => 0,
792
  'step' => 1
793
+ ],
794
+ '%' => [
795
  'min' => 0,
796
  'max' => 100,
797
  'step' => 1
798
+ ],
799
+ 'em' => [
800
  'min' => 0,
801
  'step' => 1
802
+ ],
803
+ 'vh' => [
804
  'min' => 0,
805
  'max' => 100,
806
  'step' => 1
807
+ ]
808
+ ],
809
+ 'selectors' => [
810
  '{{WRAPPER}}' => 'max-height:{{SIZE}}{{UNIT}};'
811
+ ],
812
  'separator' => 'after'
813
+ ]
814
  );
815
 
816
  $widget->add_responsive_control(
817
  'aux_min_width',
818
+ [
819
  'label' => __('Min Width','auxin-elements' ),
820
  'type' => Controls_Manager::SLIDER,
821
+ 'size_units' => ['px', 'em', '%', 'vw'],
822
+ 'range' => [
823
+ 'px' => [
824
  'min' => 0,
825
  'step' => 1
826
+ ],
827
+ '%' => [
828
  'min' => 0,
829
  'max' => 100,
830
  'step' => 1
831
+ ],
832
+ 'em' => [
833
  'min' => 0,
834
  'step' => 1
835
+ ],
836
+ 'vw' => [
837
  'min' => 0,
838
  'max' => 100,
839
  'step' => 1
840
+ ]
841
+ ],
842
+ 'selectors' => [
843
  '{{WRAPPER}}' => 'min-width:{{SIZE}}{{UNIT}};'
844
+ ]
845
+ ]
846
  );
847
 
848
  $widget->add_responsive_control(
849
  'aux_min_height',
850
+ [
851
  'label' => __('Min Height','auxin-elements' ),
852
  'type' => Controls_Manager::SLIDER,
853
+ 'size_units' => ['px', 'em', '%', 'vh'],
854
+ 'range' => [
855
+ 'px' => [
856
  'min' => 0,
857
  'step' => 1
858
+ ],
859
+ '%' => [
860
  'min' => 0,
861
  'max' => 100,
862
  'step' => 1
863
+ ],
864
+ 'em' => [
865
  'min' => 0,
866
  'step' => 1
867
+ ],
868
+ 'vh' => [
869
  'min' => 0,
870
  'max' => 100,
871
  'step' => 1
872
+ ]
873
+ ],
874
+ 'selectors' => [
875
  '{{WRAPPER}}' => 'min-height:{{SIZE}}{{UNIT}};'
876
+ ],
877
+ 'separator' => 'after'
878
+ ]
879
  );
880
 
881
+ $widget->add_responsive_control(
882
+ 'aux_height',
883
+ [
884
+ 'label' => __('Height','auxin-elements' ),
885
+ 'type' => Controls_Manager::SLIDER,
886
+ 'size_units' => ['px', 'em', '%', 'vh'],
887
+ 'range' => [
888
+ 'px' => [
889
+ 'min' => 0,
890
+ 'step' => 1
891
+ ],
892
+ '%' => [
893
+ 'min' => 0,
894
+ 'max' => 100,
895
+ 'step' => 1
896
+ ],
897
+ 'em' => [
898
+ 'min' => 0,
899
+ 'step' => 1
900
+ ],
901
+ 'vh' => [
902
+ 'min' => 0,
903
+ 'max' => 100,
904
+ 'step' => 1
905
+ ]
906
+ ],
907
+ 'selectors' => [
908
+ '{{WRAPPER}}' => 'height:{{SIZE}}{{UNIT}};'
909
+ ]
910
+ ]
911
+ );
912
+
913
+ $widget->add_responsive_control(
914
+ 'flex_grow',
915
+ [
916
+ 'label' => __( 'Grow in width', 'auxin-elements' ),
917
+ 'label_block' => false,
918
+ 'type' => Controls_Manager::NUMBER,
919
+ 'min' => 0,
920
+ 'selectors' => [
921
+ '{{WRAPPER}}' => 'flex-grow: {{VALUE}};'
922
+ ],
923
+ 'separator' => 'before'
924
+ ]
925
+ );
926
+
927
  $widget->end_controls_section();
928
  }
929
 
includes/elementor/modules/dynamic-tags/featured-colors.php CHANGED
@@ -30,12 +30,18 @@ class Auxin_Featured_Colors extends Tag {
30
  }
31
 
32
  public function get_colors() {
 
33
  $items = [
34
- '' => __( 'Select...', 'auxin-elements' )
 
 
35
  ];
36
 
37
  for( $i = 1; $i <= 8 ; ++$i ) {
38
- $items[$i] = sprintf( __( 'Color %s', THEME_DOMAIN ), $i );
 
 
 
39
  }
40
 
41
  return $items;
@@ -49,9 +55,10 @@ class Auxin_Featured_Colors extends Tag {
49
  $this->add_control(
50
  'key',
51
  [
52
- 'label' => __( 'Colors', 'auxin-elements' ),
53
- 'type' => Controls_Manager::SELECT,
54
- 'options' => $this->get_colors()
 
55
  ]
56
  );
57
  }
30
  }
31
 
32
  public function get_colors() {
33
+
34
  $items = [
35
+ '' => [
36
+ 'label' => __( 'Select...', 'auxin-elements' ),
37
+ ]
38
  ];
39
 
40
  for( $i = 1; $i <= 8 ; ++$i ) {
41
+ $items[$i] = [
42
+ 'label' => sprintf( __( 'Color %s', THEME_DOMAIN ), $i ),
43
+ 'color' => auxin_get_option( 'site_featured_color_' . $i )
44
+ ];
45
  }
46
 
47
  return $items;
55
  $this->add_control(
56
  'key',
57
  [
58
+ 'label' => __( 'Colors', 'auxin-elements' ),
59
+ 'type' => 'aux-featured-color',
60
+ 'options' => $this->get_colors(),
61
+ 'default' => ''
62
  ]
63
  );
64
  }
includes/elementor/widgets/button.php CHANGED
@@ -349,10 +349,10 @@ class Button extends Widget_Base {
349
  );
350
 
351
  $this->add_control(
352
- 'icon',
353
  array(
354
  'label' => __('Icon for button','auxin-elements' ),
355
- 'type' => 'aux-icon'
356
  )
357
  );
358
 
@@ -573,6 +573,8 @@ class Button extends Widget_Base {
573
 
574
  $settings = $this->get_settings_for_display();
575
 
 
 
576
  $btn_target = $settings['link']['is_external'] ? '_blank' : '_self';
577
 
578
  $args = array(
@@ -581,7 +583,7 @@ class Button extends Widget_Base {
581
  'border' => $settings['border'],
582
  'style' => $settings['style'],
583
  'uppercase' => $settings['uppercase'],
584
- 'icon' => $settings['icon'],
585
  'icon_align' => $settings['icon_align'],
586
  'color_name' => $settings['color_name'],
587
  'link' => $settings['link']['url'],
349
  );
350
 
351
  $this->add_control(
352
+ 'aux_button_icon',
353
  array(
354
  'label' => __('Icon for button','auxin-elements' ),
355
+ 'type' => Controls_Manager::ICONS,
356
  )
357
  );
358
 
573
 
574
  $settings = $this->get_settings_for_display();
575
 
576
+ $icon_value = ! empty( $settings['aux_button_icon']['value'] ) ? $settings['aux_button_icon']['value'] : ( ! empty( $settings['icon'] ) ? $settings['icon'] : '' ) ;
577
+
578
  $btn_target = $settings['link']['is_external'] ? '_blank' : '_self';
579
 
580
  $args = array(
583
  'border' => $settings['border'],
584
  'style' => $settings['style'],
585
  'uppercase' => $settings['uppercase'],
586
+ 'icon' => $icon_value,
587
  'icon_align' => $settings['icon_align'],
588
  'color_name' => $settings['color_name'],
589
  'link' => $settings['link']['url'],
includes/elementor/widgets/carousel-navigation.php CHANGED
@@ -1,12 +1,11 @@
1
  <?php
2
  namespace Auxin\Plugin\CoreElements\Elementor\Elements;
3
 
4
- use Elementor\Plugin;
5
  use Elementor\Widget_Base;
6
  use Elementor\Controls_Manager;
7
  use Elementor\Group_Control_Background;
8
  use Elementor\Group_Control_Box_Shadow;
9
-
10
 
11
  if ( ! defined( 'ABSPATH' ) ) {
12
  exit; // Exit if accessed directly.
@@ -114,7 +113,7 @@ class CarouselNavigation extends Widget_Base {
114
  'label' => __('Previous Button','auxin-elements' ),
115
  'type' => Controls_Manager::ICONS,
116
  'default' => [
117
- 'value' => 'auxicon-chevron-left-2',
118
  'library' => 'auxicon'
119
  ],
120
  'condition' => [
@@ -129,7 +128,7 @@ class CarouselNavigation extends Widget_Base {
129
  'label' => __('Next Button','auxin-elements' ),
130
  'type' => Controls_Manager::ICONS,
131
  'default' => [
132
- 'value' => 'auxicon-chevron-right-2',
133
  'library' => 'auxicon'
134
  ],
135
  'condition' => [
@@ -312,6 +311,9 @@ class CarouselNavigation extends Widget_Base {
312
  'default' => '#3d3d3d',
313
  'selectors' => [
314
  '{{WRAPPER}} .aux-custom-nav' => 'color: {{VALUE}};'
 
 
 
315
  ]
316
  ]
317
  );
@@ -337,6 +339,20 @@ class CarouselNavigation extends Widget_Base {
337
  'unit' => 'px',
338
  'size' => 25,
339
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  ]
341
  );
342
 
@@ -347,7 +363,7 @@ class CarouselNavigation extends Widget_Base {
347
  'type' => Controls_Manager::DIMENSIONS,
348
  'size_units' => [ 'px', 'em', '%' ],
349
  'selectors' => [
350
- '{{WRAPPER}} .aux-custom-nav' => 'border-radius:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
351
  ],
352
  'allowed_dimensions' => 'all'
353
  ]
@@ -361,7 +377,8 @@ class CarouselNavigation extends Widget_Base {
361
  'size_units' => [ 'px', 'em' ],
362
  'allowed_dimensions' => 'all',
363
  'selectors' => [
364
- '{{WRAPPER}} .aux-custom-nav' => 'padding:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
 
365
  ]
366
  ]
367
  );
@@ -400,6 +417,9 @@ class CarouselNavigation extends Widget_Base {
400
  'type' => Controls_Manager::COLOR,
401
  'selectors' => [
402
  '{{WRAPPER}} .aux-custom-nav:hover' => 'color: {{VALUE}};',
 
 
 
403
  ]
404
  ]
405
  );
@@ -423,8 +443,22 @@ class CarouselNavigation extends Widget_Base {
423
  ],
424
  'default' => [
425
  'unit' => 'px',
426
- 'size' => 25,
427
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  ]
429
  );
430
 
@@ -435,7 +469,7 @@ class CarouselNavigation extends Widget_Base {
435
  'type' => Controls_Manager::DIMENSIONS,
436
  'size_units' => [ 'px', 'em', '%' ],
437
  'selectors' => [
438
- '{{WRAPPER}} .aux-custom-nav:hover' => 'border-radius:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
439
  ],
440
  'allowed_dimensions' => 'all'
441
  ]
@@ -449,7 +483,7 @@ class CarouselNavigation extends Widget_Base {
449
  'size_units' => [ 'px', 'em' ],
450
  'allowed_dimensions' => 'all',
451
  'selectors' => [
452
- '{{WRAPPER}} .aux-custom-nav:hover' => 'padding:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
453
  ]
454
  ]
455
  );
1
  <?php
2
  namespace Auxin\Plugin\CoreElements\Elementor\Elements;
3
 
 
4
  use Elementor\Widget_Base;
5
  use Elementor\Controls_Manager;
6
  use Elementor\Group_Control_Background;
7
  use Elementor\Group_Control_Box_Shadow;
8
+ use Elementor\Group_Control_Border;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
11
  exit; // Exit if accessed directly.
113
  'label' => __('Previous Button','auxin-elements' ),
114
  'type' => Controls_Manager::ICONS,
115
  'default' => [
116
+ 'value' => 'auxicon2-arrows-chevron-thin-left',
117
  'library' => 'auxicon'
118
  ],
119
  'condition' => [
128
  'label' => __('Next Button','auxin-elements' ),
129
  'type' => Controls_Manager::ICONS,
130
  'default' => [
131
+ 'value' => 'auxicon2-arrows-chevron-thin-right',
132
  'library' => 'auxicon'
133
  ],
134
  'condition' => [
311
  'default' => '#3d3d3d',
312
  'selectors' => [
313
  '{{WRAPPER}} .aux-custom-nav' => 'color: {{VALUE}};'
314
+ ],
315
+ 'condition' => [
316
+ 'nav_type' => ['custom']
317
  ]
318
  ]
319
  );
339
  'unit' => 'px',
340
  'size' => 25,
341
  ],
342
+ 'condition' => [
343
+ 'nav_type' => ['custom']
344
+ ]
345
+ ]
346
+ );
347
+
348
+ $this->add_group_control(
349
+ Group_Control_Border::get_type(),
350
+ [
351
+ 'name' => 'icon_border',
352
+ 'selector' => '{{WRAPPER}} .aux-custom-nav',
353
+ 'condition' => [
354
+ 'nav_type' => ['custom']
355
+ ]
356
  ]
357
  );
358
 
363
  'type' => Controls_Manager::DIMENSIONS,
364
  'size_units' => [ 'px', 'em', '%' ],
365
  'selectors' => [
366
+ '{{WRAPPER}} .aux-custom-nav, {{WRAPPER}} .aux-arrow-nav' => 'border-radius:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
367
  ],
368
  'allowed_dimensions' => 'all'
369
  ]
377
  'size_units' => [ 'px', 'em' ],
378
  'allowed_dimensions' => 'all',
379
  'selectors' => [
380
+ '{{WRAPPER}} .aux-custom-nav, {{WRAPPER}} .aux-arrow-nav' => 'padding:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
381
+ '{{WRAPPER}} .aux-custom-nav > span' => 'line-height:0;'
382
  ]
383
  ]
384
  );
417
  'type' => Controls_Manager::COLOR,
418
  'selectors' => [
419
  '{{WRAPPER}} .aux-custom-nav:hover' => 'color: {{VALUE}};',
420
+ ],
421
+ 'condition' => [
422
+ 'nav_type' => ['custom']
423
  ]
424
  ]
425
  );
443
  ],
444
  'default' => [
445
  'unit' => 'px',
446
+ 'size' => '',
447
  ],
448
+ 'condition' => [
449
+ 'nav_type' => ['custom']
450
+ ]
451
+ ]
452
+ );
453
+
454
+ $this->add_group_control(
455
+ Group_Control_Border::get_type(),
456
+ [
457
+ 'name' => 'icon_border_hover',
458
+ 'selector' => '{{WRAPPER}} .aux-custom-nav:hover',
459
+ 'condition' => [
460
+ 'nav_type' => ['custom']
461
+ ]
462
  ]
463
  );
464
 
469
  'type' => Controls_Manager::DIMENSIONS,
470
  'size_units' => [ 'px', 'em', '%' ],
471
  'selectors' => [
472
+ '{{WRAPPER}} .aux-custom-nav:hover, {{WRAPPER}} .aux-arrow-nav:hover' => 'border-radius:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
473
  ],
474
  'allowed_dimensions' => 'all'
475
  ]
483
  'size_units' => [ 'px', 'em' ],
484
  'allowed_dimensions' => 'all',
485
  'selectors' => [
486
+ '{{WRAPPER}} .aux-custom-nav:hover, {{WRAPPER}} .aux-arrow-nav:hover' => 'padding:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
487
  ]
488
  ]
489
  );
includes/elementor/widgets/contact-form.php CHANGED
@@ -152,38 +152,8 @@ class ContactForm extends Widget_Base {
152
  /*-----------------------------------------------------------------------------------*/
153
 
154
  /* -------------------------------------------------------------------------- */
155
- /* General Input Style */
156
  /* -------------------------------------------------------------------------- */
157
- $this->start_controls_section(
158
- 'labels_section',
159
- [
160
- 'label' => __('Labels', 'auxin-elements' ),
161
- 'tab' => Controls_Manager::TAB_STYLE,
162
- ]
163
- );
164
-
165
- $this->add_group_control(
166
- Group_Control_Typography::get_type(),
167
- [
168
- 'name' => 'labels_typography',
169
- 'label' => __( 'Typography', 'auxin-elements' ),
170
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
171
- 'selector' => '{{WRAPPER}} label'
172
- ]
173
- );
174
-
175
- $this->add_control(
176
- 'labels_color',
177
- [
178
- 'label' => __( 'Color', 'auxin-elements' ),
179
- 'type' => Controls_Manager::COLOR,
180
- 'selectors' => [
181
- '{{WRAPPER}} label' => 'color: {{VALUE}};'
182
- ]
183
- ]
184
- );
185
-
186
- $this->end_controls_section();
187
 
188
  $this->start_controls_section(
189
  'general_input_section',
@@ -297,14 +267,6 @@ class ContactForm extends Widget_Base {
297
  );
298
 
299
 
300
- $this->add_group_control(
301
- Group_Control_Border::get_type(),
302
- [
303
- 'name' => 'general_input_border',
304
- 'selector' => '{{WRAPPER}} input:not([type="submit"])'
305
- ]
306
- );
307
-
308
  $this->add_responsive_control(
309
  'general_input_border_radius',
310
  [
@@ -330,6 +292,19 @@ class ContactForm extends Widget_Base {
330
  ]
331
  );
332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
333
  // Background and Box Shadow for input - START
334
  $this->start_controls_tabs( 'general_input_tabs' );
335
 
@@ -357,6 +332,14 @@ class ContactForm extends Widget_Base {
357
  ]
358
  );
359
 
 
 
 
 
 
 
 
 
360
  $this->end_controls_tab();
361
 
362
  $this->start_controls_tab(
@@ -383,6 +366,14 @@ class ContactForm extends Widget_Base {
383
  ]
384
  );
385
 
 
 
 
 
 
 
 
 
386
  $this->add_control(
387
  'general_input_transition',
388
  [
@@ -406,13 +397,48 @@ class ContactForm extends Widget_Base {
406
 
407
  $this->end_controls_tab();
408
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  $this->end_controls_tabs();
410
  // Background and Box Shadow for input - END
411
 
412
  $this->end_controls_section();
413
 
 
414
  /* -------------------------------------------------------------------------- */
415
- /* Placeholder Style */
416
  /* -------------------------------------------------------------------------- */
417
  $this->start_controls_section(
418
  'placeholder_section',
@@ -446,7 +472,7 @@ class ContactForm extends Widget_Base {
446
  $this->end_controls_section();
447
 
448
  /* -------------------------------------------------------------------------- */
449
- /* Text Input Style */
450
  /* -------------------------------------------------------------------------- */
451
 
452
  $this->start_controls_section(
@@ -457,16 +483,6 @@ class ContactForm extends Widget_Base {
457
  ]
458
  );
459
 
460
- $this->add_group_control(
461
- Group_Control_Typography::get_type(),
462
- [
463
- 'name' => 'text_input_typography',
464
- 'label' => __( 'Typography', 'auxin-elements' ),
465
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
466
- 'selector' => '{{WRAPPER}} input[type="text"]'
467
- ]
468
- );
469
-
470
  $this->add_control(
471
  'text_input_color',
472
  [
@@ -676,8 +692,9 @@ class ContactForm extends Widget_Base {
676
  $this->end_controls_section();
677
 
678
  /* -------------------------------------------------------------------------- */
679
- /* Email Input Style */
680
  /* -------------------------------------------------------------------------- */
 
681
  $this->start_controls_section(
682
  'email_input_section',
683
  [
@@ -686,16 +703,6 @@ class ContactForm extends Widget_Base {
686
  ]
687
  );
688
 
689
- $this->add_group_control(
690
- Group_Control_Typography::get_type(),
691
- [
692
- 'name' => 'email_input_typography',
693
- 'label' => __( 'Typography', 'auxin-elements' ),
694
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
695
- 'selector' => '{{WRAPPER}} input[type="email"]'
696
- ]
697
- );
698
-
699
  $this->add_control(
700
  'email_input_color',
701
  [
@@ -900,13 +907,13 @@ class ContactForm extends Widget_Base {
900
  $this->end_controls_tab();
901
 
902
  $this->end_controls_tabs();
903
- // Background and Box Shadow for input - END
904
 
905
  $this->end_controls_section();
906
 
907
  /* -------------------------------------------------------------------------- */
908
- /* Dropdown Style */
909
  /* -------------------------------------------------------------------------- */
 
910
  $this->start_controls_section(
911
  'dropdown_section',
912
  [
@@ -1052,6 +1059,19 @@ class ContactForm extends Widget_Base {
1052
  ]
1053
  );
1054
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1055
  // Background and Box Shadow for input - START
1056
  $this->start_controls_tabs( 'dropdown_input_tabs' );
1057
 
@@ -1134,8 +1154,9 @@ class ContactForm extends Widget_Base {
1134
  $this->end_controls_section();
1135
 
1136
  /* -------------------------------------------------------------------------- */
1137
- /* Textarea Style */
1138
  /* -------------------------------------------------------------------------- */
 
1139
  $this->start_controls_section(
1140
  'textarea_section',
1141
  [
@@ -1247,15 +1268,6 @@ class ContactForm extends Widget_Base {
1247
  ]
1248
  );
1249
 
1250
-
1251
- $this->add_group_control(
1252
- Group_Control_Border::get_type(),
1253
- [
1254
- 'name' => 'textarea_border',
1255
- 'selector' => '{{WRAPPER}} textarea'
1256
- ]
1257
- );
1258
-
1259
  $this->add_responsive_control(
1260
  'textarea_border_radius',
1261
  [
@@ -1281,6 +1293,19 @@ class ContactForm extends Widget_Base {
1281
  ]
1282
  );
1283
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1284
  // Background and Box Shadow for input - START
1285
  $this->start_controls_tabs( 'textarea_tabs' );
1286
 
@@ -1308,6 +1333,14 @@ class ContactForm extends Widget_Base {
1308
  ]
1309
  );
1310
 
 
 
 
 
 
 
 
 
1311
  $this->end_controls_tab();
1312
 
1313
  $this->start_controls_tab(
@@ -1334,6 +1367,14 @@ class ContactForm extends Widget_Base {
1334
  ]
1335
  );
1336
 
 
 
 
 
 
 
 
 
1337
  $this->add_control(
1338
  'textarea_transition',
1339
  [
@@ -1357,14 +1398,48 @@ class ContactForm extends Widget_Base {
1357
 
1358
  $this->end_controls_tab();
1359
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1360
  $this->end_controls_tabs();
1361
- // Background and Box Shadow for input - END
1362
 
1363
  $this->end_controls_section();
1364
 
1365
  /* -------------------------------------------------------------------------- */
1366
- /* Textarea Placeholder Style */
1367
  /* -------------------------------------------------------------------------- */
 
1368
  $this->start_controls_section(
1369
  'textarea_placeholder_section',
1370
  [
@@ -1389,7 +1464,7 @@ class ContactForm extends Widget_Base {
1389
  'label' => __( 'Color', 'auxin-elements' ),
1390
  'type' => Controls_Manager::COLOR,
1391
  'selectors' => [
1392
- '{{WRAPPER}} textarea::placeholder' => 'color: {{VALUE}};',
1393
  ]
1394
  ]
1395
  );
@@ -1397,8 +1472,44 @@ class ContactForm extends Widget_Base {
1397
  $this->end_controls_section();
1398
 
1399
  /* -------------------------------------------------------------------------- */
1400
- /* Submit Button Style */
1401
  /* -------------------------------------------------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1402
  $this->start_controls_section(
1403
  'submit_input_section',
1404
  [
@@ -1544,6 +1655,19 @@ class ContactForm extends Widget_Base {
1544
  ]
1545
  );
1546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1547
  // Background and Box Shadow for input - START
1548
  $this->start_controls_tabs( 'submit_input_tabs' );
1549
 
152
  /*-----------------------------------------------------------------------------------*/
153
 
154
  /* -------------------------------------------------------------------------- */
155
+ /* General inputs
156
  /* -------------------------------------------------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
 
158
  $this->start_controls_section(
159
  'general_input_section',
267
  );
268
 
269
 
 
 
 
 
 
 
 
 
270
  $this->add_responsive_control(
271
  'general_input_border_radius',
272
  [
292
  ]
293
  );
294
 
295
+ $this->add_responsive_control(
296
+ 'general_input_margin',
297
+ [
298
+ 'label' => __( 'Margin', 'auxin-elements' ),
299
+ 'type' => Controls_Manager::DIMENSIONS,
300
+ 'size_units' => [ 'px', '%', 'em' ],
301
+ 'selectors' => [
302
+ '{{WRAPPER}} input:not([type="submit"])' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
303
+ ],
304
+ 'separator' => 'after'
305
+ ]
306
+ );
307
+
308
  // Background and Box Shadow for input - START
309
  $this->start_controls_tabs( 'general_input_tabs' );
310
 
332
  ]
333
  );
334
 
335
+ $this->add_group_control(
336
+ Group_Control_Border::get_type(),
337
+ [
338
+ 'name' => 'general_input_border',
339
+ 'selector' => '{{WRAPPER}} input:not([type="submit"])'
340
+ ]
341
+ );
342
+
343
  $this->end_controls_tab();
344
 
345
  $this->start_controls_tab(
366
  ]
367
  );
368
 
369
+ $this->add_group_control(
370
+ Group_Control_Border::get_type(),
371
+ [
372
+ 'name' => 'general_input_border_hover',
373
+ 'selector' => '{{WRAPPER}} input:not([type="submit"]):hover'
374
+ ]
375
+ );
376
+
377
  $this->add_control(
378
  'general_input_transition',
379
  [
397
 
398
  $this->end_controls_tab();
399
 
400
+ $this->start_controls_tab(
401
+ 'general_input_tab_focus_state',
402
+ [
403
+ 'label' => __( 'Focus', 'auxin-elements' ),
404
+ ]
405
+ );
406
+
407
+ $this->add_group_control(
408
+ Group_Control_Background::get_type(),
409
+ [
410
+ 'name' => 'general_input_background_focus',
411
+ 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus',
412
+ 'types' => [ 'classic', 'gradient']
413
+ ]
414
+ );
415
+
416
+ $this->add_group_control(
417
+ Group_Control_Box_Shadow::get_type(),
418
+ [
419
+ 'name' => 'general_input_box_shadow_focus',
420
+ 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus'
421
+ ]
422
+ );
423
+
424
+ $this->add_group_control(
425
+ Group_Control_Border::get_type(),
426
+ [
427
+ 'name' => 'general_input_border_focus',
428
+ 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus'
429
+ ]
430
+ );
431
+
432
+ $this->end_controls_tab();
433
+
434
  $this->end_controls_tabs();
435
  // Background and Box Shadow for input - END
436
 
437
  $this->end_controls_section();
438
 
439
+
440
  /* -------------------------------------------------------------------------- */
441
+ /* Placeholder Style
442
  /* -------------------------------------------------------------------------- */
443
  $this->start_controls_section(
444
  'placeholder_section',
472
  $this->end_controls_section();
473
 
474
  /* -------------------------------------------------------------------------- */
475
+ /* Text Input Style
476
  /* -------------------------------------------------------------------------- */
477
 
478
  $this->start_controls_section(
483
  ]
484
  );
485
 
 
 
 
 
 
 
 
 
 
 
486
  $this->add_control(
487
  'text_input_color',
488
  [
692
  $this->end_controls_section();
693
 
694
  /* -------------------------------------------------------------------------- */
695
+ /* Email Input Style
696
  /* -------------------------------------------------------------------------- */
697
+
698
  $this->start_controls_section(
699
  'email_input_section',
700
  [
703
  ]
704
  );
705
 
 
 
 
 
 
 
 
 
 
 
706
  $this->add_control(
707
  'email_input_color',
708
  [
907
  $this->end_controls_tab();
908
 
909
  $this->end_controls_tabs();
 
910
 
911
  $this->end_controls_section();
912
 
913
  /* -------------------------------------------------------------------------- */
914
+ /* Dropdown Style
915
  /* -------------------------------------------------------------------------- */
916
+
917
  $this->start_controls_section(
918
  'dropdown_section',
919
  [
1059
  ]
1060
  );
1061
 
1062
+ $this->add_responsive_control(
1063
+ 'dropdown_margin',
1064
+ [
1065
+ 'label' => __( 'Margin', 'auxin-elements' ),
1066
+ 'type' => Controls_Manager::DIMENSIONS,
1067
+ 'size_units' => [ 'px', '%', 'em' ],
1068
+ 'selectors' => [
1069
+ '{{WRAPPER}} select' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1070
+ ],
1071
+ 'separa