Passed
Push — master ( 763170...0f9edb )
by Kiran
07:19 queued 16s
created
ayecode/wp-ayecode-ui/includes/components/class-aui-component-alert.php 1 patch
Switch Indentation   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,89 +9,89 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Alert {
12
+    class AUI_Component_Alert {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * Build the component.
16 16
 	 * 
17 17
 	 * @param array $args
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function get($args = array()){
22
-		global $aui_bs5;
23
-		$defaults = array(
24
-			'type'       => 'info',
25
-			'class'      => '',
26
-			'icon' => '',
27
-			'heading'    => '',
28
-			'content'    => '',
29
-			'footer'     => '',
30
-			'dismissible'=> false,
31
-			'data'       => '',
32
-		);
33
-
34
-		/**
21
+	    public static function get($args = array()){
22
+		    global $aui_bs5;
23
+		    $defaults = array(
24
+			    'type'       => 'info',
25
+			    'class'      => '',
26
+			    'icon' => '',
27
+			    'heading'    => '',
28
+			    'content'    => '',
29
+			    'footer'     => '',
30
+			    'dismissible'=> false,
31
+			    'data'       => '',
32
+		    );
33
+
34
+		    /**
35 35
 		 * Parse incoming $args into an array and merge it with $defaults
36 36
 		 */
37
-		$args   = wp_parse_args( $args, $defaults );
38
-		$output = '';
39
-		if ( ! empty( $args['content'] ) ) {
40
-			$type = sanitize_html_class( $args['type'] );
41
-			if($type=='error'){$type='danger';}
42
-			$icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
43
-
44
-			// set default icon
45
-			if(!$icon && $args['icon']!==false && $type){
46
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
50
-			}
51
-
52
-			$data = '';
53
-			$class = !empty($args['class']) ? esc_attr($args['class']) : '';
54
-			if($args['dismissible']){$class .= " alert-dismissible fade show";}
55
-
56
-			// open
57
-			$output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
58
-
59
-			// heading
60
-			if ( ! empty( $args['heading'] ) ) {
61
-				$output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
62
-			}
63
-
64
-			// icon
65
-			if ( ! empty( $icon) ) {
66
-				$output .= $icon." ";
67
-			}
68
-
69
-			// content
70
-			$output .= $args['content'];
71
-
72
-			// dismissible
73
-			if($args['dismissible']){
74
-
75
-				if ( $aui_bs5 ) {
76
-					$output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
-				}else{
78
-					$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79
-					$output .= '<span aria-hidden="true">&times;</span>';
80
-					$output .= '</button>';
81
-				}
82
-			}
83
-
84
-			// footer
85
-			if ( ! empty( $args['footer'] ) ) {
86
-				$output .= '<hr>';
87
-				$output .= '<p class="mb-0">' . $args['footer'] . '</p>';
88
-			}
89
-
90
-			// close
91
-			$output .= '</div>';
92
-		}
93
-
94
-		return $output;
95
-	}
37
+		    $args   = wp_parse_args( $args, $defaults );
38
+		    $output = '';
39
+		    if ( ! empty( $args['content'] ) ) {
40
+			    $type = sanitize_html_class( $args['type'] );
41
+			    if($type=='error'){$type='danger';}
42
+			    $icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
43
+
44
+			    // set default icon
45
+			    if(!$icon && $args['icon']!==false && $type){
46
+				    if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
+				    elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
+				    elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
+				    elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
50
+			    }
51
+
52
+			    $data = '';
53
+			    $class = !empty($args['class']) ? esc_attr($args['class']) : '';
54
+			    if($args['dismissible']){$class .= " alert-dismissible fade show";}
55
+
56
+			    // open
57
+			    $output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
58
+
59
+			    // heading
60
+			    if ( ! empty( $args['heading'] ) ) {
61
+				    $output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
62
+			    }
63
+
64
+			    // icon
65
+			    if ( ! empty( $icon) ) {
66
+				    $output .= $icon." ";
67
+			    }
68
+
69
+			    // content
70
+			    $output .= $args['content'];
71
+
72
+			    // dismissible
73
+			    if($args['dismissible']){
74
+
75
+				    if ( $aui_bs5 ) {
76
+					    $output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
+				    }else{
78
+					    $output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79
+					    $output .= '<span aria-hidden="true">&times;</span>';
80
+					    $output .= '</button>';
81
+				    }
82
+			    }
83
+
84
+			    // footer
85
+			    if ( ! empty( $args['footer'] ) ) {
86
+				    $output .= '<hr>';
87
+				    $output .= '<p class="mb-0">' . $args['footer'] . '</p>';
88
+			    }
89
+
90
+			    // close
91
+			    $output .= '</div>';
92
+		    }
93
+
94
+		    return $output;
95
+	    }
96 96
 
97 97
 }
98 98
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-button.php 1 patch
Switch Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,145 +9,145 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Button {
12
+    class AUI_Component_Button {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * Build the component.
16 16
 	 *
17 17
 	 * @param array $args
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function get($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'a', // a, button, badge
24
-			'href'       => '#',
25
-			'new_window' => false,
26
-			'class'      => 'btn btn-primary',
27
-			'id'         => '',
28
-			'title'      => '',
29
-			'value'      => '',
30
-			'content'    => '',
31
-			'icon'       => '',
32
-			'hover_content' => '',
33
-			'hover_icon'    => '',
34
-			'new_line_after' => true,
35
-			'no_wrap'    => true,
36
-			'onclick'    => '',
37
-			'style'  => '',
38
-			'extra_attributes'  => array(), // an array of extra attributes
39
-			'icon_extra_attributes'  => array() // an array of icon extra attributes
40
-		);
41
-
42
-		/**
21
+	    public static function get($args = array()){
22
+		    $defaults = array(
23
+			    'type'       => 'a', // a, button, badge
24
+			    'href'       => '#',
25
+			    'new_window' => false,
26
+			    'class'      => 'btn btn-primary',
27
+			    'id'         => '',
28
+			    'title'      => '',
29
+			    'value'      => '',
30
+			    'content'    => '',
31
+			    'icon'       => '',
32
+			    'hover_content' => '',
33
+			    'hover_icon'    => '',
34
+			    'new_line_after' => true,
35
+			    'no_wrap'    => true,
36
+			    'onclick'    => '',
37
+			    'style'  => '',
38
+			    'extra_attributes'  => array(), // an array of extra attributes
39
+			    'icon_extra_attributes'  => array() // an array of icon extra attributes
40
+		    );
41
+
42
+		    /**
43 43
 		 * Parse incoming $args into an array and merge it with $defaults
44 44
 		 */
45
-		$args   = wp_parse_args( $args, $defaults );
46
-		$output = '';
47
-		if ( ! empty( $args['type'] ) ) {
48
-			$type = $args['type'] != 'a' ? esc_attr($args['type']) : 'a';
49
-
50
-			// open/type
51
-			if($type=='a'){
52
-				$new_window = !empty($args['new_window']) ? ' target="_blank" ' : '';
53
-				$output .= '<a href="' . $args['href'] . '"'.$new_window;
54
-			}elseif($type=='badge'){
55
-				$output .= '<span ';
56
-			}else{
57
-				$output .= '<button type="' . $type . '" ';
58
-			}
59
-
60
-			// name
61
-			if(!empty($args['name'])){
62
-				$output .= AUI_Component_Helper::name($args['name']);
63
-			}
64
-
65
-			// id
66
-			if(!empty($args['id'])){
67
-				$output .= AUI_Component_Helper::id($args['id']);
68
-			}
69
-
70
-			// title
71
-			if(!empty($args['title'])){
72
-				$output .= AUI_Component_Helper::title($args['title']);
73
-			}
74
-
75
-			// value
76
-			if(!empty($args['value'])){
77
-				$output .= AUI_Component_Helper::value($args['value']);
78
-			}
79
-
80
-			// class
81
-			$class = !empty($args['class']) ? $args['class'] : '';
82
-			$output .= AUI_Component_Helper::class_attr($class);
45
+		    $args   = wp_parse_args( $args, $defaults );
46
+		    $output = '';
47
+		    if ( ! empty( $args['type'] ) ) {
48
+			    $type = $args['type'] != 'a' ? esc_attr($args['type']) : 'a';
49
+
50
+			    // open/type
51
+			    if($type=='a'){
52
+				    $new_window = !empty($args['new_window']) ? ' target="_blank" ' : '';
53
+				    $output .= '<a href="' . $args['href'] . '"'.$new_window;
54
+			    }elseif($type=='badge'){
55
+				    $output .= '<span ';
56
+			    }else{
57
+				    $output .= '<button type="' . $type . '" ';
58
+			    }
59
+
60
+			    // name
61
+			    if(!empty($args['name'])){
62
+				    $output .= AUI_Component_Helper::name($args['name']);
63
+			    }
64
+
65
+			    // id
66
+			    if(!empty($args['id'])){
67
+				    $output .= AUI_Component_Helper::id($args['id']);
68
+			    }
69
+
70
+			    // title
71
+			    if(!empty($args['title'])){
72
+				    $output .= AUI_Component_Helper::title($args['title']);
73
+			    }
74
+
75
+			    // value
76
+			    if(!empty($args['value'])){
77
+				    $output .= AUI_Component_Helper::value($args['value']);
78
+			    }
79
+
80
+			    // class
81
+			    $class = !empty($args['class']) ? $args['class'] : '';
82
+			    $output .= AUI_Component_Helper::class_attr($class);
83 83
 			
84
-			// data-attributes
85
-			$output .= AUI_Component_Helper::data_attributes($args);
84
+			    // data-attributes
85
+			    $output .= AUI_Component_Helper::data_attributes($args);
86 86
 
87
-			// aria-attributes
88
-			$output .= AUI_Component_Helper::aria_attributes($args);
87
+			    // aria-attributes
88
+			    $output .= AUI_Component_Helper::aria_attributes($args);
89 89
 
90
-			// extra attributes
91
-			if(!empty($args['extra_attributes'])){
92
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
93
-			}
90
+			    // extra attributes
91
+			    if(!empty($args['extra_attributes'])){
92
+				    $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
93
+			    }
94 94
 
95
-			// onclick, we don't escape this
96
-			if(!empty($args['onclick'])){
97
-				$output .= ' onclick="'.$args['onclick'].'" ';
98
-			}
95
+			    // onclick, we don't escape this
96
+			    if(!empty($args['onclick'])){
97
+				    $output .= ' onclick="'.$args['onclick'].'" ';
98
+			    }
99 99
 
100
-			// style, we don't escape this
101
-			if(!empty($args['style'])){
102
-				$output .= ' style="'.$args['style'].'" ';
103
-			}
100
+			    // style, we don't escape this
101
+			    if(!empty($args['style'])){
102
+				    $output .= ' style="'.$args['style'].'" ';
103
+			    }
104 104
 
105
-			// close opening tag
106
-			$output .= ' >';
105
+			    // close opening tag
106
+			    $output .= ' >';
107 107
 
108 108
 
109
-			// hover content
110
-			$hover_content = false;
111
-			if(!empty($args['hover_content']) || !empty($args['hover_icon'])){
112
-				$output .= "<span class='hover-content'>".AUI_Component_Helper::icon($args['hover_icon'],$args['hover_content']).$args['hover_content']."</span>";
113
-				$hover_content = true;
114
-			}
109
+			    // hover content
110
+			    $hover_content = false;
111
+			    if(!empty($args['hover_content']) || !empty($args['hover_icon'])){
112
+				    $output .= "<span class='hover-content'>".AUI_Component_Helper::icon($args['hover_icon'],$args['hover_content']).$args['hover_content']."</span>";
113
+				    $hover_content = true;
114
+			    }
115 115
 			
116
-			// content
117
-			if($hover_content){$output .= "<span class='hover-content-original'>";}
118
-			if(!empty($args['content']) || !empty($args['icon'])){
119
-				$output .= AUI_Component_Helper::icon($args['icon'],$args['content'],$args['icon_extra_attributes']).$args['content'];
120
-			}
121
-			if($hover_content){$output .= "</span>";}
116
+			    // content
117
+			    if($hover_content){$output .= "<span class='hover-content-original'>";}
118
+			    if(!empty($args['content']) || !empty($args['icon'])){
119
+				    $output .= AUI_Component_Helper::icon($args['icon'],$args['content'],$args['icon_extra_attributes']).$args['content'];
120
+			    }
121
+			    if($hover_content){$output .= "</span>";}
122 122
 					
123 123
 
124 124
 
125
-			// close
126
-			if($type=='a'){
127
-				$output .= '</a>';
128
-			}elseif($type=='badge'){
129
-				$output .= '</span>';
130
-			}else{
131
-				$output .= '</button>';
132
-			}
125
+			    // close
126
+			    if($type=='a'){
127
+				    $output .= '</a>';
128
+			    }elseif($type=='badge'){
129
+				    $output .= '</span>';
130
+			    }else{
131
+				    $output .= '</button>';
132
+			    }
133 133
 
134
-			// maybe new line after?  This adds better spacing between buttons.
135
-			if(!empty($args['new_line_after'])){
136
-				$output .= PHP_EOL;
137
-			}
134
+			    // maybe new line after?  This adds better spacing between buttons.
135
+			    if(!empty($args['new_line_after'])){
136
+				    $output .= PHP_EOL;
137
+			    }
138 138
 
139 139
 
140
-			// wrap
141
-			if(!$args['no_wrap']){
142
-				$output = AUI_Component_Input::wrap(array(
143
-					'content' => $output,
144
-				));
145
-			}
140
+			    // wrap
141
+			    if(!$args['no_wrap']){
142
+				    $output = AUI_Component_Input::wrap(array(
143
+					    'content' => $output,
144
+				    ));
145
+			    }
146 146
 
147 147
 
148
-		}
148
+		    }
149 149
 
150
-		return $output;
151
-	}
150
+		    return $output;
151
+	    }
152 152
 
153 153
 }
154 154
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-helper.php 1 patch
Switch Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,9 +9,9 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Helper {
12
+    class AUI_Component_Helper {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * A component helper for generating a input name.
16 16
 	 *
17 17
 	 * @param $text
@@ -19,152 +19,152 @@  discard block
 block discarded – undo
19 19
 	 *
20 20
 	 * @return string
21 21
 	 */
22
-	public static function name( $text, $multiple = false ) {
23
-		$output = '';
22
+	    public static function name( $text, $multiple = false ) {
23
+		    $output = '';
24 24
 
25
-		if ( $text ) {
26
-			$is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
-			$output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
-		}
25
+		    if ( $text ) {
26
+			    $is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
+			    $output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
+		    }
29 29
 
30
-		return $output;
31
-	}
30
+		    return $output;
31
+	    }
32 32
 
33
-	/**
33
+	    /**
34 34
 	 * A component helper for generating a item id.
35 35
 	 *
36 36
 	 * @param $text string The text to be used as the value.
37 37
 	 *
38 38
 	 * @return string The sanitized item.
39 39
 	 */
40
-	public static function id( $text ) {
41
-		$output = '';
40
+	    public static function id( $text ) {
41
+		    $output = '';
42 42
 
43
-		if ( $text ) {
44
-			$output = ' id="' . sanitize_html_class( $text ) . '" ';
45
-		}
43
+		    if ( $text ) {
44
+			    $output = ' id="' . sanitize_html_class( $text ) . '" ';
45
+		    }
46 46
 
47
-		return $output;
48
-	}
47
+		    return $output;
48
+	    }
49 49
 
50
-	/**
50
+	    /**
51 51
 	 * A component helper for generating a item title.
52 52
 	 *
53 53
 	 * @param $text string The text to be used as the value.
54 54
 	 *
55 55
 	 * @return string The sanitized item.
56 56
 	 */
57
-	public static function title( $text ) {
58
-		$output = '';
57
+	    public static function title( $text ) {
58
+		    $output = '';
59 59
 
60
-		if ( $text ) {
61
-			$output = ' title="' . esc_attr( $text ) . '" ';
62
-		}
60
+		    if ( $text ) {
61
+			    $output = ' title="' . esc_attr( $text ) . '" ';
62
+		    }
63 63
 
64
-		return $output;
65
-	}
64
+		    return $output;
65
+	    }
66 66
 
67
-	/**
67
+	    /**
68 68
 	 * A component helper for generating a item value.
69 69
 	 *
70 70
 	 * @param $text string The text to be used as the value.
71 71
 	 *
72 72
 	 * @return string The sanitized item.
73 73
 	 */
74
-	public static function value( $text ) {
75
-		$output = '';
74
+	    public static function value( $text ) {
75
+		    $output = '';
76 76
 
77
-		if ( $text !== null && $text !== false ) {
78
-			$output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
-		}
77
+		    if ( $text !== null && $text !== false ) {
78
+			    $output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
+		    }
80 80
 
81
-		return $output;
82
-	}
81
+		    return $output;
82
+	    }
83 83
 
84
-	/**
84
+	    /**
85 85
 	 * A component helper for generating a item class attribute.
86 86
 	 *
87 87
 	 * @param $text string The text to be used as the value.
88 88
 	 *
89 89
 	 * @return string The sanitized item.
90 90
 	 */
91
-	public static function class_attr( $text ) {
92
-		$output = '';
91
+	    public static function class_attr( $text ) {
92
+		    $output = '';
93 93
 
94
-		if ( $text ) {
95
-			$classes = self::esc_classes( $text );
96
-			if ( ! empty( $classes ) ) {
97
-				$output = ' class="' . $classes . '" ';
98
-			}
99
-		}
94
+		    if ( $text ) {
95
+			    $classes = self::esc_classes( $text );
96
+			    if ( ! empty( $classes ) ) {
97
+				    $output = ' class="' . $classes . '" ';
98
+			    }
99
+		    }
100 100
 
101
-		return $output;
102
-	}
101
+		    return $output;
102
+	    }
103 103
 
104
-	/**
104
+	    /**
105 105
 	 * Escape a string of classes.
106 106
 	 *
107 107
 	 * @param $text
108 108
 	 *
109 109
 	 * @return string
110 110
 	 */
111
-	public static function esc_classes( $text ) {
112
-		$output = '';
111
+	    public static function esc_classes( $text ) {
112
+		    $output = '';
113 113
 
114
-		if ( $text ) {
115
-			$classes = explode( " ", $text );
116
-			$classes = array_map( "trim", $classes );
117
-			$classes = array_map( "sanitize_html_class", $classes );
118
-			if ( ! empty( $classes ) ) {
119
-				$output = implode( " ", $classes );
120
-			}
121
-		}
114
+		    if ( $text ) {
115
+			    $classes = explode( " ", $text );
116
+			    $classes = array_map( "trim", $classes );
117
+			    $classes = array_map( "sanitize_html_class", $classes );
118
+			    if ( ! empty( $classes ) ) {
119
+				    $output = implode( " ", $classes );
120
+			    }
121
+		    }
122 122
 
123
-		return $output;
123
+		    return $output;
124 124
 
125
-	}
125
+	    }
126 126
 
127
-	/**
127
+	    /**
128 128
 	 * @param $args
129 129
 	 *
130 130
 	 * @return string
131 131
 	 */
132
-	public static function data_attributes( $args ) {
133
-		$output = '';
132
+	    public static function data_attributes( $args ) {
133
+		    $output = '';
134 134
 
135
-		if ( ! empty( $args ) ) {
135
+		    if ( ! empty( $args ) ) {
136 136
 
137
-			foreach ( $args as $key => $val ) {
138
-				if ( substr( $key, 0, 5 ) === "data-" ) {
139
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
-				}
141
-			}
142
-		}
137
+			    foreach ( $args as $key => $val ) {
138
+				    if ( substr( $key, 0, 5 ) === "data-" ) {
139
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
+				    }
141
+			    }
142
+		    }
143 143
 
144
-		return $output;
145
-	}
144
+		    return $output;
145
+	    }
146 146
 
147
-	/**
147
+	    /**
148 148
 	 * @param $args
149 149
 	 *
150 150
 	 * @return string
151 151
 	 */
152
-	public static function aria_attributes( $args ) {
153
-		$output = '';
152
+	    public static function aria_attributes( $args ) {
153
+		    $output = '';
154 154
 
155
-		if ( ! empty( $args ) ) {
155
+		    if ( ! empty( $args ) ) {
156 156
 
157
-			foreach ( $args as $key => $val ) {
158
-				if ( substr( $key, 0, 5 ) === "aria-" ) {
159
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
-				}
161
-			}
162
-		}
157
+			    foreach ( $args as $key => $val ) {
158
+				    if ( substr( $key, 0, 5 ) === "aria-" ) {
159
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
+				    }
161
+			    }
162
+		    }
163 163
 
164
-		return $output;
165
-	}
164
+		    return $output;
165
+	    }
166 166
 
167
-	/**
167
+	    /**
168 168
 	 * Build a font awesome icon from a class.
169 169
 	 *
170 170
 	 * @param $class
@@ -173,91 +173,91 @@  discard block
 block discarded – undo
173 173
 	 *
174 174
 	 * @return string
175 175
 	 */
176
-	public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
-		$output = '';
178
-
179
-		if ( $class ) {
180
-			$classes = self::esc_classes( $class );
181
-			if ( ! empty( $classes ) ) {
182
-				$output = '<i class="' . $classes . '" ';
183
-				// extra attributes
184
-				if ( ! empty( $extra_attributes ) ) {
185
-					$output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
-				}
187
-				$output .= '></i>';
188
-				if ( $space_after ) {
189
-					$output .= " ";
190
-				}
191
-			}
192
-		}
193
-
194
-		return $output;
195
-	}
196
-
197
-	/**
176
+	    public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
+		    $output = '';
178
+
179
+		    if ( $class ) {
180
+			    $classes = self::esc_classes( $class );
181
+			    if ( ! empty( $classes ) ) {
182
+				    $output = '<i class="' . $classes . '" ';
183
+				    // extra attributes
184
+				    if ( ! empty( $extra_attributes ) ) {
185
+					    $output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
+				    }
187
+				    $output .= '></i>';
188
+				    if ( $space_after ) {
189
+					    $output .= " ";
190
+				    }
191
+			    }
192
+		    }
193
+
194
+		    return $output;
195
+	    }
196
+
197
+	    /**
198 198
 	 * @param $args
199 199
 	 *
200 200
 	 * @return string
201 201
 	 */
202
-	public static function extra_attributes( $args ) {
203
-		$output = '';
202
+	    public static function extra_attributes( $args ) {
203
+		    $output = '';
204 204
 
205
-		if ( ! empty( $args ) ) {
205
+		    if ( ! empty( $args ) ) {
206 206
 
207
-			if ( is_array( $args ) ) {
208
-				foreach ( $args as $key => $val ) {
209
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
-				}
211
-			} else {
212
-				$output .= ' ' . $args . ' ';
213
-			}
207
+			    if ( is_array( $args ) ) {
208
+				    foreach ( $args as $key => $val ) {
209
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
+				    }
211
+			    } else {
212
+				    $output .= ' ' . $args . ' ';
213
+			    }
214 214
 
215
-		}
215
+		    }
216 216
 
217
-		return $output;
218
-	}
217
+		    return $output;
218
+	    }
219 219
 
220
-	/**
220
+	    /**
221 221
 	 * @param $args
222 222
 	 *
223 223
 	 * @return string
224 224
 	 */
225
-	public static function help_text( $text ) {
226
-		$output = '';
225
+	    public static function help_text( $text ) {
226
+		    $output = '';
227 227
 
228
-		if ( $text ) {
229
-			$output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
-		}
228
+		    if ( $text ) {
229
+			    $output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
+		    }
231 231
 
232 232
 
233
-		return $output;
234
-	}
233
+		    return $output;
234
+	    }
235 235
 
236
-	/**
236
+	    /**
237 237
 	 * Replace element require context with JS.
238 238
 	 *
239 239
 	 * @param $input
240 240
 	 *
241 241
 	 * @return string|void
242 242
 	 */
243
-	public static function element_require( $input ) {
243
+	    public static function element_require( $input ) {
244 244
 
245
-		$input = str_replace( "'", '"', $input );// we only want double quotes
245
+		    $input = str_replace( "'", '"', $input );// we only want double quotes
246 246
 
247
-		$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
-			"jQuery(form).find('[data-argument=\"",
249
-			"\"]').find('input,select,textarea').val()",
250
-			"\"]').find('input:checked').val()",
251
-		), $input ) );
247
+		    $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
+			    "jQuery(form).find('[data-argument=\"",
249
+			    "\"]').find('input,select,textarea').val()",
250
+			    "\"]').find('input:checked').val()",
251
+		    ), $input ) );
252 252
 
253
-		if ( $output ) {
254
-			$output = ' data-element-require="' . $output . '" ';
255
-		}
253
+		    if ( $output ) {
254
+			    $output = ' data-element-require="' . $output . '" ';
255
+		    }
256 256
 
257
-		return $output;
258
-	}
257
+		    return $output;
258
+	    }
259 259
 
260
-	/**
260
+	    /**
261 261
 	 * Navigates through an array, object, or scalar, and removes slashes from the values.
262 262
 	 *
263 263
 	 * @since 0.1.41
@@ -267,24 +267,24 @@  discard block
 block discarded – undo
267 267
 	 *
268 268
 	 * @return mixed Stripped value.
269 269
 	 */
270
-	public static function sanitize_html_field( $value, $input = array() ) {
271
-		$original = $value;
272
-
273
-		if ( is_array( $value ) ) {
274
-			foreach ( $value as $index => $item ) {
275
-				$value[ $index ] = self::_sanitize_html_field( $value, $input );
276
-			}
277
-		} elseif ( is_object( $value ) ) {
278
-			$object_vars = get_object_vars( $value );
279
-
280
-			foreach ( $object_vars as $property_name => $property_value ) {
281
-				$value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
-			}
283
-		} else {
284
-			$value = self::_sanitize_html_field( $value, $input );
285
-		}
286
-
287
-		/**
270
+	    public static function sanitize_html_field( $value, $input = array() ) {
271
+		    $original = $value;
272
+
273
+		    if ( is_array( $value ) ) {
274
+			    foreach ( $value as $index => $item ) {
275
+				    $value[ $index ] = self::_sanitize_html_field( $value, $input );
276
+			    }
277
+		    } elseif ( is_object( $value ) ) {
278
+			    $object_vars = get_object_vars( $value );
279
+
280
+			    foreach ( $object_vars as $property_name => $property_value ) {
281
+				    $value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
+			    }
283
+		    } else {
284
+			    $value = self::_sanitize_html_field( $value, $input );
285
+		    }
286
+
287
+		    /**
288 288
 		 * Filters content and keeps only allowable HTML elements.
289 289
 		 *
290 290
 		 * @since 0.1.41
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
 		 * @param string|array $value Original content without filter.
294 294
 		 * @param array $input Input Field.
295 295
 		 */
296
-		return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
-	}
296
+		    return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
+	    }
298 298
 
299
-	/**
299
+	    /**
300 300
 	 * Filters content and keeps only allowable HTML elements.
301 301
 	 *
302 302
 	 * This function makes sure that only the allowed HTML element names, attribute
@@ -316,25 +316,25 @@  discard block
 block discarded – undo
316 316
 	 *
317 317
 	 * @return string Filtered content with only allowed HTML elements.
318 318
 	 */
319
-	public static function _sanitize_html_field( $value, $input = array() ) {
320
-		if ( $value === '' ) {
321
-			return $value;
322
-		}
319
+	    public static function _sanitize_html_field( $value, $input = array() ) {
320
+		    if ( $value === '' ) {
321
+			    return $value;
322
+		    }
323 323
 
324
-		$allowed_html = self::kses_allowed_html( 'post', $input );
324
+		    $allowed_html = self::kses_allowed_html( 'post', $input );
325 325
 
326
-		if ( ! is_array( $allowed_html ) ) {
327
-			$allowed_html = wp_kses_allowed_html( 'post' );
328
-		}
326
+		    if ( ! is_array( $allowed_html ) ) {
327
+			    $allowed_html = wp_kses_allowed_html( 'post' );
328
+		    }
329 329
 
330
-		$filtered = trim( wp_unslash( $value ) );
331
-		$filtered = wp_kses( $filtered, $allowed_html );
332
-		$filtered = balanceTags( $filtered ); // Balances tags
330
+		    $filtered = trim( wp_unslash( $value ) );
331
+		    $filtered = wp_kses( $filtered, $allowed_html );
332
+		    $filtered = balanceTags( $filtered ); // Balances tags
333 333
 
334
-		return $filtered;
335
-	}
334
+		    return $filtered;
335
+	    }
336 336
 
337
-	/**
337
+	    /**
338 338
 	 * Returns an array of allowed HTML tags and attributes for a given context.
339 339
 	 *
340 340
 	 * @since 0.1.41
@@ -346,32 +346,32 @@  discard block
 block discarded – undo
346 346
 	 *
347 347
 	 * @return array Array of allowed HTML tags and their allowed attributes.
348 348
 	 */
349
-	public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
-		$allowed_html = wp_kses_allowed_html( $context );
351
-
352
-		if ( is_array( $allowed_html ) ) {
353
-			// <iframe>
354
-			if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
-				$allowed_html['iframe'] = array(
356
-					'class'           => true,
357
-					'id'              => true,
358
-					'src'             => true,
359
-					'width'           => true,
360
-					'height'          => true,
361
-					'frameborder'     => true,
362
-					'marginwidth'     => true,
363
-					'marginheight'    => true,
364
-					'scrolling'       => true,
365
-					'style'           => true,
366
-					'title'           => true,
367
-					'allow'           => true,
368
-					'allowfullscreen' => true,
369
-					'data-*'          => true,
370
-				);
371
-			}
372
-		}
373
-
374
-		/**
349
+	    public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
+		    $allowed_html = wp_kses_allowed_html( $context );
351
+
352
+		    if ( is_array( $allowed_html ) ) {
353
+			    // <iframe>
354
+			    if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
+				    $allowed_html['iframe'] = array(
356
+					    'class'           => true,
357
+					    'id'              => true,
358
+					    'src'             => true,
359
+					    'width'           => true,
360
+					    'height'          => true,
361
+					    'frameborder'     => true,
362
+					    'marginwidth'     => true,
363
+					    'marginheight'    => true,
364
+					    'scrolling'       => true,
365
+					    'style'           => true,
366
+					    'title'           => true,
367
+					    'allow'           => true,
368
+					    'allowfullscreen' => true,
369
+					    'data-*'          => true,
370
+				    );
371
+			    }
372
+		    }
373
+
374
+		    /**
375 375
 		 * Filters the allowed html tags.
376 376
 		 *
377 377
 		 * @since 0.1.41
@@ -380,30 +380,30 @@  discard block
 block discarded – undo
380 380
 		 * @param @param string|array $context The context for which to retrieve tags.
381 381
 		 * @param array $input Input field.
382 382
 		 */
383
-		return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
-	}
383
+		    return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
+	    }
385 385
 
386
-	public static function get_column_class( $label_number = 2, $type = 'label' ) {
386
+	    public static function get_column_class( $label_number = 2, $type = 'label' ) {
387 387
 
388
-		$class = '';
388
+		    $class = '';
389 389
 
390
-		// set default if empty
391
-		if( $label_number === '' ){
392
-			$label_number = 2;
393
-		}
390
+		    // set default if empty
391
+		    if( $label_number === '' ){
392
+			    $label_number = 2;
393
+		    }
394 394
 
395
-		if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
-			if ( $type == 'label' ) {
397
-				$class = 'col-sm-' . absint( $label_number );
398
-			} elseif ( $type == 'input' ) {
399
-				$class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
-			}
401
-		}
395
+		    if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
+			    if ( $type == 'label' ) {
397
+				    $class = 'col-sm-' . absint( $label_number );
398
+			    } elseif ( $type == 'input' ) {
399
+				    $class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
+			    }
401
+		    }
402 402
 
403
-		return $class;
404
-	}
403
+		    return $class;
404
+	    }
405 405
 
406
-	/**
406
+	    /**
407 407
 	 * Sanitizes a multiline string from user input or from the database.
408 408
 	 *
409 409
 	 * Emulate the WP native sanitize_textarea_field function in a %%variable%% safe way.
@@ -415,10 +415,10 @@  discard block
 block discarded – undo
415 415
 	 * @param string $str String to sanitize.
416 416
 	 * @return string Sanitized string.
417 417
 	 */
418
-	public static function sanitize_textarea_field( $str ) {
419
-		$filtered = self::_sanitize_text_fields( $str, true );
418
+	    public static function sanitize_textarea_field( $str ) {
419
+		    $filtered = self::_sanitize_text_fields( $str, true );
420 420
 
421
-		/**
421
+		    /**
422 422
 		 * Filters a sanitized textarea field string.
423 423
 		 *
424 424
 		 * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php
@@ -426,10 +426,10 @@  discard block
 block discarded – undo
426 426
 		 * @param string $filtered The sanitized string.
427 427
 		 * @param string $str      The string prior to being sanitized.
428 428
 		 */
429
-		return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
-	}
429
+		    return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
+	    }
431 431
 
432
-	/**
432
+	    /**
433 433
 	 * Internal helper function to sanitize a string from user input or from the db.
434 434
 	 *
435 435
 	 * @since 0.1.66
@@ -439,42 +439,42 @@  discard block
 block discarded – undo
439 439
 	 * @param bool   $keep_newlines Optional. Whether to keep newlines. Default: false.
440 440
 	 * @return string Sanitized string.
441 441
 	 */
442
-	public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
-		if ( is_object( $str ) || is_array( $str ) ) {
444
-			return '';
445
-		}
446
-
447
-		$str = (string) $str;
448
-
449
-		$filtered = wp_check_invalid_utf8( $str );
450
-
451
-		if ( strpos( $filtered, '<' ) !== false ) {
452
-			$filtered = wp_pre_kses_less_than( $filtered );
453
-			// This will strip extra whitespace for us.
454
-			$filtered = wp_strip_all_tags( $filtered, false );
455
-
456
-			// Use HTML entities in a special case to make sure no later
457
-			// newline stripping stage could lead to a functional tag.
458
-			$filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
-		}
460
-
461
-		if ( ! $keep_newlines ) {
462
-			$filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
-		}
464
-		$filtered = trim( $filtered );
465
-
466
-		$found = false;
467
-		while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
-			$filtered = str_replace( $match[1], '', $filtered );
469
-			$found = true;
470
-		}
471
-		unset( $match );
472
-
473
-		if ( $found ) {
474
-			// Strip out the whitespace that may now exist after removing the octets.
475
-			$filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
-		}
477
-
478
-		return $filtered;
479
-	}
442
+	    public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
+		    if ( is_object( $str ) || is_array( $str ) ) {
444
+			    return '';
445
+		    }
446
+
447
+		    $str = (string) $str;
448
+
449
+		    $filtered = wp_check_invalid_utf8( $str );
450
+
451
+		    if ( strpos( $filtered, '<' ) !== false ) {
452
+			    $filtered = wp_pre_kses_less_than( $filtered );
453
+			    // This will strip extra whitespace for us.
454
+			    $filtered = wp_strip_all_tags( $filtered, false );
455
+
456
+			    // Use HTML entities in a special case to make sure no later
457
+			    // newline stripping stage could lead to a functional tag.
458
+			    $filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
+		    }
460
+
461
+		    if ( ! $keep_newlines ) {
462
+			    $filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
+		    }
464
+		    $filtered = trim( $filtered );
465
+
466
+		    $found = false;
467
+		    while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
+			    $filtered = str_replace( $match[1], '', $filtered );
469
+			    $found = true;
470
+		    }
471
+		    unset( $match );
472
+
473
+		    if ( $found ) {
474
+			    // Strip out the whitespace that may now exist after removing the octets.
475
+			    $filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
+		    }
477
+
478
+		    return $filtered;
479
+	    }
480 480
 }
481 481
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php 1 patch
Switch Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * This is a file takes advantage of anonymous functions to to load the latest version of the AyeCode UI Settings.
4 4
  */
@@ -6,41 +6,41 @@  discard block
 block discarded – undo
6 6
 /**
7 7
  * Bail if we are not in WP.
8 8
  */
9
-if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
9
+    if ( ! defined( 'ABSPATH' ) ) {
10
+	    exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Set the version only if its the current newest while loading.
15 15
  */
16
-add_action('after_setup_theme', function () {
17
-	global $ayecode_ui_version,$ayecode_ui_file_key;
18
-	$this_version = "0.2.26";
19
-	if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){
20
-		$ayecode_ui_version = $this_version ;
21
-		$ayecode_ui_file_key = wp_hash( __FILE__ );
22
-	}
16
+    add_action('after_setup_theme', function () {
17
+	    global $ayecode_ui_version,$ayecode_ui_file_key;
18
+	    $this_version = "0.2.26";
19
+	    if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){
20
+		    $ayecode_ui_version = $this_version ;
21
+		    $ayecode_ui_file_key = wp_hash( __FILE__ );
22
+	    }
23 23
 },0);
24 24
 
25 25
 /**
26 26
  * Load this version of WP Bootstrap Settings only if the file hash is the current one.
27 27
  */
28
-add_action('after_setup_theme', function () {
29
-	global $ayecode_ui_file_key;
30
-	if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
-		include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
-		include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
-	}
28
+    add_action('after_setup_theme', function () {
29
+	    global $ayecode_ui_file_key;
30
+	    if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
+		    include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
+		    include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
+	    }
34 34
 },1);
35 35
 
36 36
 /**
37 37
  * Add the function that calls the class.
38 38
  */
39
-if(!function_exists('aui')){
40
-	function aui(){
41
-		if(!class_exists("AUI",false)){
42
-			return false;
43
-		}
44
-		return AUI::instance();
45
-	}
39
+    if(!function_exists('aui')){
40
+	    function aui(){
41
+		    if(!class_exists("AUI",false)){
42
+			    return false;
43
+		    }
44
+		    return AUI::instance();
45
+	    }
46 46
 }
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/example-plugin.php 1 patch
Switch Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /*
3 3
 Plugin Name: AyeCode UI
4 4
 Plugin URI: https://ayecode.io/
@@ -14,224 +14,224 @@  discard block
 block discarded – undo
14 14
 Tested up to: 6.6
15 15
 */
16 16
 
17
-// If this file is called directly, abort.
18
-if ( ! defined( 'WPINC' ) ) {
19
-	die;
17
+    // If this file is called directly, abort.
18
+    if ( ! defined( 'WPINC' ) ) {
19
+	    die;
20 20
 }
21 21
 
22
-class AyeCode_UI_Plugin {
22
+    class AyeCode_UI_Plugin {
23 23
 
24
-	/**
24
+	    /**
25 25
 	 * AUI Plugin constructor.
26 26
 	 *
27 27
 	 * @since 1.0.0
28 28
 	 */
29
-	public function __construct() {
30
-
31
-		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
-
34
-		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
-	}
37
-
38
-	public function maybe_show_examples(){
39
-		if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
-			echo "<head>";
41
-			wp_head();
42
-			echo "</head>";
43
-			echo "<body class='bsui'>";
44
-			echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
-			wp_footer();
46
-			echo "</body>";
47
-			exit;
48
-		}
49
-	}
50
-
51
-	public function get_examples(){
52
-		$output = '';
53
-
54
-		// open form
55
-		$output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
-
57
-		$output .= aui()->input(
58
-			array(
59
-				'type'             => 'datepicker',
60
-				'id'               => 'date_example_sm',
61
-				'size'             => 'sm',
62
-				'name'             => 'date_example_sm',
63
-				'label'            => 'Date Input Label (small)',
64
-				'help_text'        => 'help text',
65
-				'label_type'       => 'top',
66
-				'placeholder'      => 'YYYY-MM-DD 00:00',
67
-				'value'            => '',
68
-				'extra_attributes' => array(
69
-					'data-enable-time' => 'true',
70
-					'data-time_24hr'   => 'true',
71
-					'data-allow-input' => 'true',
72
-				),
73
-			)
74
-		);
75
-
76
-		$output .= aui()->input(
77
-			array(
78
-				'type'             => 'datepicker',
79
-				'id'               => 'date_example',
80
-				//'size'             => 'smx',
81
-				'name'             => 'date_example',
82
-				'label'            => 'Date Input Label',
83
-				'help_text'        => 'help text',
84
-				'label_type'       => 'top',
85
-				'placeholder'      => 'YYYY-MM-DD 00:00',
86
-				'value'            => '',
87
-				'extra_attributes' => array(
88
-					'data-enable-time' => 'true',
89
-					'data-time_24hr'   => 'true',
90
-					'data-allow-input' => 'true',
91
-				),
92
-			)
93
-		);
94
-
95
-		$output .= aui()->input(
96
-			array(
97
-				'type'             => 'datepicker',
98
-				'id'               => 'date_example_lg',
99
-				'size'             => 'lg',
100
-				'name'             => 'date_example_lg',
101
-				'label'            => 'Date Input Label (large)',
102
-				'help_text'        => 'help text',
103
-				'label_type'       => 'top',
104
-				'placeholder'      => 'YYYY-MM-DD 00:00',
105
-				'value'            => '',
106
-				'extra_attributes' => array(
107
-					'data-enable-time' => 'true',
108
-					'data-time_24hr'   => 'true',
109
-					//'data-allow-input' => 'true',
110
-				),
111
-			)
112
-		);
113
-
114
-		// input example
115
-		$output .= aui()->input(
116
-			array(
117
-				'type'  =>  'text',
118
-				'id'    =>  'text-example',
119
-				'size'             => 'sm',
120
-				//'clear_icon'    => true,
121
-				'name'    =>  'text-example',
122
-				'placeholder'   => 'text placeholder',
123
-				'title'   => 'Text input example',
124
-				'value' =>  '',
125
-				'required'  => false,
126
-				'help_text' => 'help text',
127
-				'label' => 'Text input example label',
128
-				'label_type' => 'top'
129
-			)
130
-		);
131
-
132
-		$output .= aui()->input(
133
-			array(
134
-				'type'  =>  'search',
135
-				'id'    =>  'text-example',
136
-				'size'             => 'sm',
137
-				//'clear_icon'    => true,
138
-				'name'    =>  'text-example',
139
-				'placeholder'   => 'text placeholder',
140
-				'title'   => 'Text input example',
141
-				'value' =>  '',
142
-				'required'  => false,
143
-				'help_text' => 'help text',
144
-				'label' => 'Text input example label',
145
-				'label_type' => 'top'
146
-			)
147
-		);
148
-
149
-		// input example
150
-		$output .= aui()->input(
151
-			array(
152
-				'type'  =>  'url',
153
-				'id'    =>  'text-example2',
154
-				'name'    =>  'text-example',
155
-				'placeholder'   => 'url placeholder',
156
-				'title'   => 'Text input example',
157
-				'value' =>  '',
158
-				'required'  => false,
159
-				'help_text' => 'help text',
160
-				'label' => 'Text input example label'
161
-			)
162
-		);
163
-
164
-		// checkbox example
165
-		$output .= aui()->input(
166
-			array(
167
-				'type'  =>  'checkbox',
168
-				'id'    =>  'checkbox-example',
169
-				'name'    =>  'checkbox-example',
170
-				'placeholder'   => 'checkbox-example',
171
-				'title'   => 'Checkbox example',
172
-				'value' =>  '1',
173
-				'checked'   => true,
174
-				'required'  => false,
175
-				'help_text' => 'help text',
176
-				'label' => 'Checkbox checked'
177
-			)
178
-		);
179
-
180
-		// checkbox example
181
-		$output .= aui()->input(
182
-			array(
183
-				'type'  =>  'checkbox',
184
-				'id'    =>  'checkbox-example2',
185
-				'name'    =>  'checkbox-example2',
186
-				'placeholder'   => 'checkbox-example',
187
-				'title'   => 'Checkbox example',
188
-				'value' =>  '1',
189
-				'checked'   => false,
190
-				'required'  => false,
191
-				'help_text' => 'help text',
192
-				'label' => 'Checkbox un-checked'
193
-			)
194
-		);
195
-
196
-		// switch example
197
-		$output .= aui()->input(
198
-			array(
199
-				'type'  =>  'checkbox',
200
-				'id'    =>  'switch-example',
201
-				'name'    =>  'switch-example',
202
-				'placeholder'   => 'checkbox-example',
203
-				'title'   => 'Switch example',
204
-				'value' =>  '1',
205
-				'checked'   => true,
206
-				'switch'    => true,
207
-				'required'  => false,
208
-				'help_text' => 'help text',
209
-				'label' => 'Switch on'
210
-			)
211
-		);
212
-
213
-		// switch example
214
-		$output .= aui()->input(
215
-			array(
216
-				'type'  =>  'checkbox',
217
-				'id'    =>  'switch-example2',
218
-				'name'    =>  'switch-example2',
219
-				'placeholder'   => 'checkbox-example',
220
-				'title'   => 'Switch example',
221
-				'value' =>  '1',
222
-				'checked'   => false,
223
-				'switch'    => true,
224
-				'required'  => false,
225
-				'help_text' => 'help text',
226
-				'label' => 'Switch off'
227
-			)
228
-		);
229
-
230
-		// close form
231
-		$output .= "</form>";
232
-
233
-		return $output;
234
-	}
29
+	    public function __construct() {
30
+
31
+		    // load AUI
32
+		    require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
+
34
+		    // Maybe show example page
35
+		    add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
+	    }
37
+
38
+	    public function maybe_show_examples(){
39
+		    if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
+			    echo "<head>";
41
+			    wp_head();
42
+			    echo "</head>";
43
+			    echo "<body class='bsui'>";
44
+			    echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
+			    wp_footer();
46
+			    echo "</body>";
47
+			    exit;
48
+		    }
49
+	    }
50
+
51
+	    public function get_examples(){
52
+		    $output = '';
53
+
54
+		    // open form
55
+		    $output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
+
57
+		    $output .= aui()->input(
58
+			    array(
59
+				    'type'             => 'datepicker',
60
+				    'id'               => 'date_example_sm',
61
+				    'size'             => 'sm',
62
+				    'name'             => 'date_example_sm',
63
+				    'label'            => 'Date Input Label (small)',
64
+				    'help_text'        => 'help text',
65
+				    'label_type'       => 'top',
66
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
67
+				    'value'            => '',
68
+				    'extra_attributes' => array(
69
+					    'data-enable-time' => 'true',
70
+					    'data-time_24hr'   => 'true',
71
+					    'data-allow-input' => 'true',
72
+				    ),
73
+			    )
74
+		    );
75
+
76
+		    $output .= aui()->input(
77
+			    array(
78
+				    'type'             => 'datepicker',
79
+				    'id'               => 'date_example',
80
+				    //'size'             => 'smx',
81
+				    'name'             => 'date_example',
82
+				    'label'            => 'Date Input Label',
83
+				    'help_text'        => 'help text',
84
+				    'label_type'       => 'top',
85
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
86
+				    'value'            => '',
87
+				    'extra_attributes' => array(
88
+					    'data-enable-time' => 'true',
89
+					    'data-time_24hr'   => 'true',
90
+					    'data-allow-input' => 'true',
91
+				    ),
92
+			    )
93
+		    );
94
+
95
+		    $output .= aui()->input(
96
+			    array(
97
+				    'type'             => 'datepicker',
98
+				    'id'               => 'date_example_lg',
99
+				    'size'             => 'lg',
100
+				    'name'             => 'date_example_lg',
101
+				    'label'            => 'Date Input Label (large)',
102
+				    'help_text'        => 'help text',
103
+				    'label_type'       => 'top',
104
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
105
+				    'value'            => '',
106
+				    'extra_attributes' => array(
107
+					    'data-enable-time' => 'true',
108
+					    'data-time_24hr'   => 'true',
109
+					    //'data-allow-input' => 'true',
110
+				    ),
111
+			    )
112
+		    );
113
+
114
+		    // input example
115
+		    $output .= aui()->input(
116
+			    array(
117
+				    'type'  =>  'text',
118
+				    'id'    =>  'text-example',
119
+				    'size'             => 'sm',
120
+				    //'clear_icon'    => true,
121
+				    'name'    =>  'text-example',
122
+				    'placeholder'   => 'text placeholder',
123
+				    'title'   => 'Text input example',
124
+				    'value' =>  '',
125
+				    'required'  => false,
126
+				    'help_text' => 'help text',
127
+				    'label' => 'Text input example label',
128
+				    'label_type' => 'top'
129
+			    )
130
+		    );
131
+
132
+		    $output .= aui()->input(
133
+			    array(
134
+				    'type'  =>  'search',
135
+				    'id'    =>  'text-example',
136
+				    'size'             => 'sm',
137
+				    //'clear_icon'    => true,
138
+				    'name'    =>  'text-example',
139
+				    'placeholder'   => 'text placeholder',
140
+				    'title'   => 'Text input example',
141
+				    'value' =>  '',
142
+				    'required'  => false,
143
+				    'help_text' => 'help text',
144
+				    'label' => 'Text input example label',
145
+				    'label_type' => 'top'
146
+			    )
147
+		    );
148
+
149
+		    // input example
150
+		    $output .= aui()->input(
151
+			    array(
152
+				    'type'  =>  'url',
153
+				    'id'    =>  'text-example2',
154
+				    'name'    =>  'text-example',
155
+				    'placeholder'   => 'url placeholder',
156
+				    'title'   => 'Text input example',
157
+				    'value' =>  '',
158
+				    'required'  => false,
159
+				    'help_text' => 'help text',
160
+				    'label' => 'Text input example label'
161
+			    )
162
+		    );
163
+
164
+		    // checkbox example
165
+		    $output .= aui()->input(
166
+			    array(
167
+				    'type'  =>  'checkbox',
168
+				    'id'    =>  'checkbox-example',
169
+				    'name'    =>  'checkbox-example',
170
+				    'placeholder'   => 'checkbox-example',
171
+				    'title'   => 'Checkbox example',
172
+				    'value' =>  '1',
173
+				    'checked'   => true,
174
+				    'required'  => false,
175
+				    'help_text' => 'help text',
176
+				    'label' => 'Checkbox checked'
177
+			    )
178
+		    );
179
+
180
+		    // checkbox example
181
+		    $output .= aui()->input(
182
+			    array(
183
+				    'type'  =>  'checkbox',
184
+				    'id'    =>  'checkbox-example2',
185
+				    'name'    =>  'checkbox-example2',
186
+				    'placeholder'   => 'checkbox-example',
187
+				    'title'   => 'Checkbox example',
188
+				    'value' =>  '1',
189
+				    'checked'   => false,
190
+				    'required'  => false,
191
+				    'help_text' => 'help text',
192
+				    'label' => 'Checkbox un-checked'
193
+			    )
194
+		    );
195
+
196
+		    // switch example
197
+		    $output .= aui()->input(
198
+			    array(
199
+				    'type'  =>  'checkbox',
200
+				    'id'    =>  'switch-example',
201
+				    'name'    =>  'switch-example',
202
+				    'placeholder'   => 'checkbox-example',
203
+				    'title'   => 'Switch example',
204
+				    'value' =>  '1',
205
+				    'checked'   => true,
206
+				    'switch'    => true,
207
+				    'required'  => false,
208
+				    'help_text' => 'help text',
209
+				    'label' => 'Switch on'
210
+			    )
211
+		    );
212
+
213
+		    // switch example
214
+		    $output .= aui()->input(
215
+			    array(
216
+				    'type'  =>  'checkbox',
217
+				    'id'    =>  'switch-example2',
218
+				    'name'    =>  'switch-example2',
219
+				    'placeholder'   => 'checkbox-example',
220
+				    'title'   => 'Switch example',
221
+				    'value' =>  '1',
222
+				    'checked'   => false,
223
+				    'switch'    => true,
224
+				    'required'  => false,
225
+				    'help_text' => 'help text',
226
+				    'label' => 'Switch off'
227
+			    )
228
+		    );
229
+
230
+		    // close form
231
+		    $output .= "</form>";
232
+
233
+		    return $output;
234
+	    }
235 235
 }
236 236
 
237
-new AyeCode_UI_Plugin();
238 237
\ No newline at end of file
238
+    new AyeCode_UI_Plugin();
239 239
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 1 patch
Switch Indentation   +1917 added lines, -1917 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * A class for adjusting AyeCode UI settings on WordPress
4 4
  *
@@ -12,84 +12,84 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
15
+    if ( ! defined( 'ABSPATH' ) ) {
16
+	    exit;
17 17
 }
18 18
 
19 19
 /**
20 20
  * Only add if the class does not already exist.
21 21
  */
22
-if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
22
+    if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
23 23
 
24
-	/**
24
+	    /**
25 25
 	 * A Class to be able to change settings for Font Awesome.
26 26
 	 *
27 27
 	 * Class AyeCode_UI_Settings
28 28
 	 * @ver 1.0.0
29 29
 	 * @todo decide how to implement textdomain
30 30
 	 */
31
-	class AyeCode_UI_Settings {
31
+	    class AyeCode_UI_Settings {
32 32
 
33
-		/**
33
+		    /**
34 34
 		 * Class version version.
35 35
 		 *
36 36
 		 * @var string
37 37
 		 */
38
-		public $version = '0.2.26';
38
+		    public $version = '0.2.26';
39 39
 
40
-		/**
40
+		    /**
41 41
 		 * Class textdomain.
42 42
 		 *
43 43
 		 * @var string
44 44
 		 */
45
-		public $textdomain = 'aui';
45
+		    public $textdomain = 'aui';
46 46
 
47
-		/**
47
+		    /**
48 48
 		 * Latest version of Bootstrap at time of publish published.
49 49
 		 *
50 50
 		 * @var string
51 51
 		 */
52
-		public $latest = "5.2.2";
52
+		    public $latest = "5.2.2";
53 53
 
54
-		/**
54
+		    /**
55 55
 		 * Current version of select2 being used.
56 56
 		 *
57 57
 		 * @var string
58 58
 		 */
59
-		public $select2_version = "4.0.11";
59
+		    public $select2_version = "4.0.11";
60 60
 
61
-		/**
61
+		    /**
62 62
 		 * The title.
63 63
 		 *
64 64
 		 * @var string
65 65
 		 */
66
-		public $name = 'AyeCode UI';
66
+		    public $name = 'AyeCode UI';
67 67
 
68
-		/**
68
+		    /**
69 69
 		 * The relative url to the assets.
70 70
 		 *
71 71
 		 * @var string
72 72
 		 */
73
-		public $url = '';
73
+		    public $url = '';
74 74
 
75
-		/**
75
+		    /**
76 76
 		 * Holds the settings values.
77 77
 		 *
78 78
 		 * @var array
79 79
 		 */
80
-		private $settings;
80
+		    private $settings;
81 81
 
82
-		/**
82
+		    /**
83 83
 		 * AyeCode_UI_Settings instance.
84 84
 		 *
85 85
 		 * @access private
86 86
 		 * @since  1.0.0
87 87
 		 * @var    AyeCode_UI_Settings There can be only one!
88 88
 		 */
89
-		private static $instance = null;
89
+		    private static $instance = null;
90 90
 
91 91
 
92
-		/**
92
+		    /**
93 93
 		 * Main AyeCode_UI_Settings Instance.
94 94
 		 *
95 95
 		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
@@ -98,34 +98,34 @@  discard block
 block discarded – undo
98 98
 		 * @static
99 99
 		 * @return AyeCode_UI_Settings - Main instance.
100 100
 		 */
101
-		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
101
+		    public static function instance() {
102
+			    if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103 103
 
104
-				self::$instance = new AyeCode_UI_Settings;
104
+				    self::$instance = new AyeCode_UI_Settings;
105 105
 
106
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
+				    add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107 107
 
108
-				if ( is_admin() ) {
109
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
108
+				    if ( is_admin() ) {
109
+					    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
+					    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111 111
 
112
-					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
112
+					    // Maybe show example page
113
+					    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114 114
 
115
-					if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
-						add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
-					}
118
-				}
115
+					    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
+						    add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
+					    }
118
+				    }
119 119
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
120
+				    add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121 121
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
122
+				    do_action( 'ayecode_ui_settings_loaded' );
123
+			    }
124 124
 
125
-			return self::$instance;
126
-		}
125
+			    return self::$instance;
126
+		    }
127 127
 
128
-		/**
128
+		    /**
129 129
 		 * Add custom colors to the color selector.
130 130
 		 *
131 131
 		 * @param $theme_colors
@@ -134,367 +134,367 @@  discard block
 block discarded – undo
134 134
 		 *
135 135
 		 * @return mixed
136 136
 		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
137
+		    public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
138 138
 
139 139
 
140
-			$setting = wp_get_global_settings();
140
+			    $setting = wp_get_global_settings();
141 141
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
144
-					$theme_colors[$color['slug']] = esc_attr($color['name']);
145
-				}
146
-			}
142
+			    if(!empty($setting['color']['palette']['custom'])){
143
+				    foreach($setting['color']['palette']['custom'] as $color){
144
+					    $theme_colors[$color['slug']] = esc_attr($color['name']);
145
+				    }
146
+			    }
147 147
 
148
-			return $theme_colors;
149
-		}
148
+			    return $theme_colors;
149
+		    }
150 150
 
151
-		/**
151
+		    /**
152 152
 		 * Setup some constants.
153 153
 		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
-
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
-			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
-			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
-			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
-			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
-			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
-			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
-			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
-			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
-			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
-			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
-			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
-			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
-			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
-			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
-			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
-			}
220
-
221
-		}
222
-
223
-		public static function get_colors( $original = false){
224
-
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
-				return array();
227
-			}
228
-			if ( $original ) {
229
-				return array(
230
-					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
-					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
-					'info'      => AUI_INFO_COLOR_ORIGINAL,
233
-					'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
-					'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
-					'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
-					'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
-					'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
-					'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
-					'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
-					'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
-					'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
-					'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
-					'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
-					'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
-					'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
-				);
247
-			}
248
-
249
-			return array(
250
-				'primary'   => AUI_PRIMARY_COLOR,
251
-				'secondary' => AUI_SECONDARY_COLOR,
252
-				'info'      => AUI_INFO_COLOR,
253
-				'warning'   => AUI_WARNING_COLOR,
254
-				'danger'    => AUI_DANGER_COLOR,
255
-				'success'   => AUI_SUCCESS_COLOR,
256
-				'light'     => AUI_LIGHT_COLOR,
257
-				'dark'      => AUI_DARK_COLOR,
258
-				'white'     => AUI_WHITE_COLOR,
259
-				'purple'    => AUI_PURPLE_COLOR,
260
-				'salmon'    => AUI_SALMON_COLOR,
261
-				'cyan'      => AUI_CYAN_COLOR,
262
-				'gray'      => AUI_GRAY_COLOR,
263
-				'indigo'    => AUI_INDIGO_COLOR,
264
-				'orange'    => AUI_ORANGE_COLOR,
265
-				'black'     => AUI_BLACK_COLOR,
266
-			);
267
-		}
268
-
269
-		/**
154
+		    public function constants(){
155
+			    define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
+			    define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
+			    define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
+			    define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
+			    define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
+			    define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
+			    define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
+			    define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
+			    define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
+			    define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
+			    define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
+			    define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
+			    define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
+			    define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
+			    define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
+			    define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
+
172
+			    if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
+				    define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
+			    }
175
+			    if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
+				    define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
+			    }
178
+			    if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
+				    define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
+			    }
181
+			    if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
+				    define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
+			    }
184
+			    if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
+				    define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
+			    }
187
+			    if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
+				    define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
+			    }
190
+			    if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
+				    define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
+			    }
193
+			    if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
+				    define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
+			    }
196
+			    if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
+				    define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
+			    }
199
+			    if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
+				    define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
+			    }
202
+			    if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
+				    define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
+			    }
205
+			    if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
+				    define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
+			    }
208
+			    if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
+				    define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
+			    }
211
+			    if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
+				    define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
+			    }
214
+			    if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
+				    define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
+			    }
217
+			    if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
+				    define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
+			    }
220
+
221
+		    }
222
+
223
+		    public static function get_colors( $original = false){
224
+
225
+			    if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
+				    return array();
227
+			    }
228
+			    if ( $original ) {
229
+				    return array(
230
+					    'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
+					    'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
+					    'info'      => AUI_INFO_COLOR_ORIGINAL,
233
+					    'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
+					    'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
+					    'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
+					    'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
+					    'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
+					    'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
+					    'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
+					    'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
+					    'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
+					    'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
+					    'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
+					    'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
+					    'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
+				    );
247
+			    }
248
+
249
+			    return array(
250
+				    'primary'   => AUI_PRIMARY_COLOR,
251
+				    'secondary' => AUI_SECONDARY_COLOR,
252
+				    'info'      => AUI_INFO_COLOR,
253
+				    'warning'   => AUI_WARNING_COLOR,
254
+				    'danger'    => AUI_DANGER_COLOR,
255
+				    'success'   => AUI_SUCCESS_COLOR,
256
+				    'light'     => AUI_LIGHT_COLOR,
257
+				    'dark'      => AUI_DARK_COLOR,
258
+				    'white'     => AUI_WHITE_COLOR,
259
+				    'purple'    => AUI_PURPLE_COLOR,
260
+				    'salmon'    => AUI_SALMON_COLOR,
261
+				    'cyan'      => AUI_CYAN_COLOR,
262
+				    'gray'      => AUI_GRAY_COLOR,
263
+				    'indigo'    => AUI_INDIGO_COLOR,
264
+				    'orange'    => AUI_ORANGE_COLOR,
265
+				    'black'     => AUI_BLACK_COLOR,
266
+			    );
267
+		    }
268
+
269
+		    /**
270 270
 		 * Add admin body class to show when BS5 is active.
271 271
 		 *
272 272
 		 * @param $classes
273 273
 		 *
274 274
 		 * @return mixed
275 275
 		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
276
+		    public function add_bs5_admin_body_class( $classes = '' ) {
277
+			    $classes .= ' aui_bs5';
278 278
 
279
-			return $classes;
280
-		}
279
+			    return $classes;
280
+		    }
281 281
 
282
-		/**
282
+		    /**
283 283
 		 * Add a body class to show when BS5 is active.
284 284
 		 *
285 285
 		 * @param $classes
286 286
 		 *
287 287
 		 * @return mixed
288 288
 		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
289
+		    public function add_bs5_body_class( $classes ) {
290
+			    $classes[] = 'aui_bs5';
291 291
 
292
-			return $classes;
293
-		}
292
+			    return $classes;
293
+		    }
294 294
 
295
-		/**
295
+		    /**
296 296
 		 * Initiate the settings and add the required action hooks.
297 297
 		 */
298
-		public function init() {
299
-            global $aui_bs5;
300
-
301
-			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
305
-					$db_settings['css_backend'] = 'compatibility';
306
-					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
308
-					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
-				}
310
-			}
311
-
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
315
-
316
-            // define the version
317
-			$aui_bs5 = $this->settings['bs_ver'] === '5';
318
-
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
-			}
324
-
325
-			/**
298
+		    public function init() {
299
+                global $aui_bs5;
300
+
301
+			    // Maybe fix settings
302
+			    if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
+				    $db_settings = get_option( 'ayecode-ui-settings' );
304
+				    if ( ! empty( $db_settings ) ) {
305
+					    $db_settings['css_backend'] = 'compatibility';
306
+					    $db_settings['js_backend'] = 'core-popper';
307
+					    update_option( 'ayecode-ui-settings', $db_settings );
308
+					    wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
+				    }
310
+			    }
311
+
312
+			    $this->constants();
313
+			    $this->settings = $this->get_settings();
314
+			    $this->url = $this->get_url();
315
+
316
+                // define the version
317
+			    $aui_bs5 = $this->settings['bs_ver'] === '5';
318
+
319
+			    if ( $aui_bs5 ) {
320
+				    include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
+				    add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
+				    add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
+			    }
324
+
325
+			    /**
326 326
 			 * Maybe load CSS
327 327
 			 *
328 328
 			 * We load super early in case there is a theme version that might change the colors
329 329
 			 */
330
-			if ( $this->settings['css'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
332
-                $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
-			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
-			}
338
-
339
-			// maybe load JS
340
-			if ( $this->settings['js'] ) {
341
-				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
-			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
-			}
347
-
348
-			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
-			}
352
-
353
-			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
-			}
357
-
358
-		}
359
-
360
-		/**
330
+			    if ( $this->settings['css'] ) {
331
+				    $priority = $this->is_bs3_compat() ? 100 : 1;
332
+                    $priority = $aui_bs5 ? 10 : $priority;
333
+				    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
+			    }
335
+			    if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
+				    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
+			    }
338
+
339
+			    // maybe load JS
340
+			    if ( $this->settings['js'] ) {
341
+				    $priority = $this->is_bs3_compat() ? 100 : 1;
342
+				    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
+			    }
344
+			    if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
+				    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
+			    }
347
+
348
+			    // Maybe set the HTML font size
349
+			    if ( $this->settings['html_font_size'] ) {
350
+				    add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
+			    }
352
+
353
+			    // Maybe show backend style error
354
+			    if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
+				    add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
+			    }
357
+
358
+		    }
359
+
360
+		    /**
361 361
 		 * Show admin notice if backend scripts not loaded.
362 362
 		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
-		}
369
-
370
-		/**
363
+		    public function show_admin_style_notice(){
364
+			    $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
+			    $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
+			    $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
+			    echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
+		    }
369
+
370
+		    /**
371 371
 		 * Check if we should load the admin scripts or not.
372 372
 		 *
373 373
 		 * @return bool
374 374
 		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
377
-
378
-			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
-						return false; // return early, no point checking further
384
-					}
385
-				}
386
-			}
387
-
388
-			return $result;
389
-		}
390
-
391
-		/**
375
+		    public function load_admin_scripts(){
376
+			    $result = true;
377
+
378
+			    // check if specifically disabled
379
+			    if(!empty($this->settings['disable_admin'])){
380
+				    $url_parts = explode("\n",$this->settings['disable_admin']);
381
+				    foreach($url_parts as $part){
382
+					    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
+						    return false; // return early, no point checking further
384
+					    }
385
+				    }
386
+			    }
387
+
388
+			    return $result;
389
+		    }
390
+
391
+		    /**
392 392
 		 * Add a html font size to the footer.
393 393
 		 */
394
-		public function html_font_size(){
395
-			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
-		}
394
+		    public function html_font_size(){
395
+			    $this->settings = $this->get_settings();
396
+			    echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
+		    }
398 398
 
399
-		/**
399
+		    /**
400 400
 		 * Check if the current admin screen should load scripts.
401 401
 		 *
402 402
 		 * @return bool
403 403
 		 */
404
-		public function is_aui_screen(){
405
-//			echo '###';exit;
406
-			$load = false;
407
-			// check if we should load or not
408
-			if ( is_admin() ) {
409
-				// Only enable on set pages
410
-				$aui_screens = array(
411
-					'page',
412
-                    //'docs',
413
-					'post',
414
-					'settings_page_ayecode-ui-settings',
415
-					'appearance_page_gutenberg-widgets',
416
-					'widgets',
417
-					'ayecode-ui-settings',
418
-					'site-editor'
419
-				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
421
-
422
-				$screen = get_current_screen();
423
-
424
-//				echo '###'.$screen->id;
425
-
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
430
-
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
436
-
437
-
438
-
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
441
-
442
-		/**
404
+		    public function is_aui_screen(){
405
+    //			echo '###';exit;
406
+			    $load = false;
407
+			    // check if we should load or not
408
+			    if ( is_admin() ) {
409
+				    // Only enable on set pages
410
+				    $aui_screens = array(
411
+					    'page',
412
+                        //'docs',
413
+					    'post',
414
+					    'settings_page_ayecode-ui-settings',
415
+					    'appearance_page_gutenberg-widgets',
416
+					    'widgets',
417
+					    'ayecode-ui-settings',
418
+					    'site-editor'
419
+				    );
420
+				    $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
421
+
422
+				    $screen = get_current_screen();
423
+
424
+    //				echo '###'.$screen->id;
425
+
426
+				    // check if we are on a AUI screen
427
+				    if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+					    $load = true;
429
+				    }
430
+
431
+				    //load for widget previews in WP 5.8
432
+				    if( !empty($_REQUEST['legacy-widget-preview'])){
433
+					    $load = true;
434
+				    }
435
+			    }
436
+
437
+
438
+
439
+			    return apply_filters( 'aui_load_on_admin' , $load );
440
+		    }
441
+
442
+		    /**
443 443
 		 * Check if the current theme is a block theme.
444 444
 		 *
445 445
 		 * @return bool
446 446
 		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
447
+		    public static function is_block_theme() {
448
+			    if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
+				    return true;
450
+			    }
451 451
 
452
-			return false;
453
-		}
452
+			    return false;
453
+		    }
454 454
 
455
-		/**
455
+		    /**
456 456
 		 * Adds the styles.
457 457
 		 */
458
-		public function enqueue_style() {
459
-            global $aui_bs5;
458
+		    public function enqueue_style() {
459
+                global $aui_bs5;
460 460
 
461
-            $load_fse = false;
461
+                $load_fse = false;
462 462
 
463
-			if( is_admin() && !$this->is_aui_screen()){
464
-				// don't add wp-admin scripts if not requested to
465
-			}else{
466
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
463
+			    if( is_admin() && !$this->is_aui_screen()){
464
+				    // don't add wp-admin scripts if not requested to
465
+			    }else{
466
+				    $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+				    $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
469 469
 
470
-                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
470
+                    $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
471 471
 
472
-				if($this->settings[$css_setting]){
473
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
472
+				    if($this->settings[$css_setting]){
473
+					    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
+					    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
475 475
 
476 476
 
477 477
 
478
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
-					wp_enqueue_style( 'ayecode-ui' );
478
+					    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
+					    wp_enqueue_style( 'ayecode-ui' );
480 480
 
481
-					$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
481
+					    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
482 482
 
483
-//					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
-						wp_enqueue_style( 'ayecode-ui-fse' );
488
-						$load_fse = true;
489
-					}
483
+    //					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
+					    if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
+						    $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
+						    wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
+						    wp_enqueue_style( 'ayecode-ui-fse' );
488
+						    $load_fse = true;
489
+					    }
490 490
 
491 491
 
492
-					// flatpickr
493
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
492
+					    // flatpickr
493
+					    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
494 494
 
495
-					// fix some wp-admin issues
496
-					if(is_admin()){
497
-						$custom_css = "
495
+					    // fix some wp-admin issues
496
+					    if(is_admin()){
497
+						    $custom_css = "
498 498
                 body{
499 499
                     background-color: #f1f1f1;
500 500
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -535,88 +535,88 @@  discard block
 block discarded – undo
535 535
 				}
536 536
                 ";
537 537
 
538
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
539
-						$custom_css .= "
538
+						    // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
539
+						    $custom_css .= "
540 540
 						.edit-post-sidebar input[type=color].components-text-control__input{
541 541
 						    padding: 0;
542 542
 						}
543 543
 					";
544
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
545
-					}
544
+						    wp_add_inline_style( 'ayecode-ui', $custom_css );
545
+					    }
546 546
 
547
-					// custom changes
548
-					if ( $load_fse ) {
549
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
550
-					}else{
551
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
547
+					    // custom changes
548
+					    if ( $load_fse ) {
549
+						    wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
550
+					    }else{
551
+						    wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
552 552
 
553
-					}
553
+					    }
554 554
 
555
-				}
556
-			}
555
+				    }
556
+			    }
557 557
 
558 558
 
559
-		}
559
+		    }
560 560
 
561
-		/**
561
+		    /**
562 562
 		 * Get inline script used if bootstrap enqueued
563 563
 		 *
564 564
 		 * If this remains small then its best to use this than to add another JS file.
565 565
 		 */
566
-		public function inline_script() {
567
-            global $aui_bs5;
568
-			// Flatpickr calendar locale
569
-			$flatpickr_locale = self::flatpickr_locale();
570
-
571
-			ob_start();
572
-			if ( $aui_bs5 ) {
573
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
574
-			}else{
575
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
576
-            }
566
+		    public function inline_script() {
567
+                global $aui_bs5;
568
+			    // Flatpickr calendar locale
569
+			    $flatpickr_locale = self::flatpickr_locale();
570
+
571
+			    ob_start();
572
+			    if ( $aui_bs5 ) {
573
+				    include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
574
+			    }else{
575
+				    include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
576
+                }
577 577
 
578
-			$output = ob_get_clean();
578
+			    $output = ob_get_clean();
579 579
 
580
-			/*
580
+			    /*
581 581
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
582 582
 			 */
583
-			return str_replace( array(
584
-				'<script>',
585
-				'</script>'
586
-			), '', self::minify_js($output) );
587
-		}
583
+			    return str_replace( array(
584
+				    '<script>',
585
+				    '</script>'
586
+			    ), '', self::minify_js($output) );
587
+		    }
588 588
 
589 589
 
590
-		/**
590
+		    /**
591 591
 		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
592 592
 		 *
593 593
 		 * @TODO we may need this when other conflicts arrise.
594 594
 		 * @return mixed
595 595
 		 */
596
-		public static function bs3_compat_js() {
597
-			ob_start();
598
-			?>
599
-            <script>
596
+		    public static function bs3_compat_js() {
597
+			    ob_start();
598
+			    ?>
599
+                <script>
600 600
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
601
-                /* With Avada builder */
601
+                    /* With Avada builder */
602 602
 
603 603
 				<?php } ?>
604
-            </script>
604
+                </script>
605 605
 			<?php
606
-			return str_replace( array(
607
-				'<script>',
608
-				'</script>'
609
-			), '', ob_get_clean());
610
-		}
606
+			    return str_replace( array(
607
+				    '<script>',
608
+				    '</script>'
609
+			    ), '', ob_get_clean());
610
+		    }
611 611
 
612
-		/**
612
+		    /**
613 613
 		 * Get inline script used if bootstrap file browser enqueued.
614 614
 		 *
615 615
 		 * If this remains small then its best to use this than to add another JS file.
616 616
 		 */
617
-		public function inline_script_file_browser(){
618
-			ob_start();
619
-			?>
617
+		    public function inline_script_file_browser(){
618
+			    ob_start();
619
+			    ?>
620 620
             <script>
621 621
                 // run on doc ready
622 622
                 jQuery(document).ready(function () {
@@ -624,282 +624,282 @@  discard block
 block discarded – undo
624 624
                 });
625 625
             </script>
626 626
 			<?php
627
-			$output = ob_get_clean();
627
+			    $output = ob_get_clean();
628 628
 
629
-			/*
629
+			    /*
630 630
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
631 631
 			 */
632
-			return str_replace( array(
633
-				'<script>',
634
-				'</script>'
635
-			), '', $output );
636
-		}
632
+			    return str_replace( array(
633
+				    '<script>',
634
+				    '</script>'
635
+			    ), '', $output );
636
+		    }
637 637
 
638
-		/**
638
+		    /**
639 639
 		 * Adds the Font Awesome JS.
640 640
 		 */
641
-		public function enqueue_scripts() {
642
-
643
-			if( is_admin() && !$this->is_aui_screen()){
644
-				// don't add wp-admin scripts if not requested to
645
-			}else {
646
-
647
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
648
-
649
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
650
-
651
-				// select2
652
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
653
-
654
-				// flatpickr
655
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
656
-
657
-				// iconpicker
658
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
659
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
660
-				}else{
661
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
662
-				}
663
-
664
-				// Bootstrap file browser
665
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
666
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
667
-
668
-				$load_inline = false;
669
-
670
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
671
-					// Bootstrap bundle
672
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
673
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
674
-						'select2',
675
-						'jquery'
676
-					), $this->version, $this->is_bs3_compat() );
677
-					// if in admin then add to footer for compatibility.
678
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
679
-					$script = $this->inline_script();
680
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
681
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
682
-					$url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
683
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
684
-					wp_enqueue_script( 'bootstrap-js-popper' );
685
-					$load_inline = true;
686
-				} else {
687
-					$load_inline = true;
688
-				}
689
-
690
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
691
-				if ( $load_inline ) {
692
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
693
-					wp_enqueue_script( 'bootstrap-dummy' );
694
-					$script = $this->inline_script();
695
-					wp_add_inline_script( 'bootstrap-dummy', $script );
696
-				}
697
-			}
698
-
699
-		}
700
-
701
-		/**
641
+		    public function enqueue_scripts() {
642
+
643
+			    if( is_admin() && !$this->is_aui_screen()){
644
+				    // don't add wp-admin scripts if not requested to
645
+			    }else {
646
+
647
+				    $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
648
+
649
+				    $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
650
+
651
+				    // select2
652
+				    wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
653
+
654
+				    // flatpickr
655
+				    wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
656
+
657
+				    // iconpicker
658
+				    if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
659
+					    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
660
+				    }else{
661
+					    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
662
+				    }
663
+
664
+				    // Bootstrap file browser
665
+				    wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
666
+				    wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
667
+
668
+				    $load_inline = false;
669
+
670
+				    if ( $this->settings[ $js_setting ] == 'core-popper' ) {
671
+					    // Bootstrap bundle
672
+					    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
673
+					    wp_register_script( 'bootstrap-js-bundle', $url, array(
674
+						    'select2',
675
+						    'jquery'
676
+					    ), $this->version, $this->is_bs3_compat() );
677
+					    // if in admin then add to footer for compatibility.
678
+					    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
679
+					    $script = $this->inline_script();
680
+					    wp_add_inline_script( 'bootstrap-js-bundle', $script );
681
+				    } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
682
+					    $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
683
+					    wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
684
+					    wp_enqueue_script( 'bootstrap-js-popper' );
685
+					    $load_inline = true;
686
+				    } else {
687
+					    $load_inline = true;
688
+				    }
689
+
690
+				    // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
691
+				    if ( $load_inline ) {
692
+					    wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
693
+					    wp_enqueue_script( 'bootstrap-dummy' );
694
+					    $script = $this->inline_script();
695
+					    wp_add_inline_script( 'bootstrap-dummy', $script );
696
+				    }
697
+			    }
698
+
699
+		    }
700
+
701
+		    /**
702 702
 		 * Enqueue flatpickr if called.
703 703
 		 */
704
-		public function enqueue_flatpickr(){
705
-			wp_enqueue_style( 'flatpickr' );
706
-			wp_enqueue_script( 'flatpickr' );
707
-		}
704
+		    public function enqueue_flatpickr(){
705
+			    wp_enqueue_style( 'flatpickr' );
706
+			    wp_enqueue_script( 'flatpickr' );
707
+		    }
708 708
 
709
-		/**
709
+		    /**
710 710
 		 * Enqueue iconpicker if called.
711 711
 		 */
712
-		public function enqueue_iconpicker(){
713
-			wp_enqueue_style( 'iconpicker' );
714
-			wp_enqueue_script( 'iconpicker' );
715
-		}
712
+		    public function enqueue_iconpicker(){
713
+			    wp_enqueue_style( 'iconpicker' );
714
+			    wp_enqueue_script( 'iconpicker' );
715
+		    }
716 716
 
717
-		/**
717
+		    /**
718 718
 		 * Get the url path to the current folder.
719 719
 		 *
720 720
 		 * @return string
721 721
 		 */
722
-		public function get_url() {
723
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
724
-			$content_url = untrailingslashit( WP_CONTENT_URL );
722
+		    public function get_url() {
723
+			    $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
724
+			    $content_url = untrailingslashit( WP_CONTENT_URL );
725 725
 
726
-			// Replace http:// to https://.
727
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
728
-				$content_url = str_replace( 'http://', 'https://', $content_url );
729
-			}
726
+			    // Replace http:// to https://.
727
+			    if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
728
+				    $content_url = str_replace( 'http://', 'https://', $content_url );
729
+			    }
730 730
 
731
-			// Check if we are inside a plugin
732
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
733
-			$url = str_replace( $content_dir, $content_url, $file_dir );
731
+			    // Check if we are inside a plugin
732
+			    $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
733
+			    $url = str_replace( $content_dir, $content_url, $file_dir );
734 734
 
735
-			return trailingslashit( $url );
736
-		}
735
+			    return trailingslashit( $url );
736
+		    }
737 737
 
738
-		/**
738
+		    /**
739 739
 		 * Get the url path to the current folder.
740 740
 		 *
741 741
 		 * @return string
742 742
 		 */
743
-		public function get_url_old() {
743
+		    public function get_url_old() {
744 744
 
745
-			$url = '';
746
-			// check if we are inside a plugin
747
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
745
+			    $url = '';
746
+			    // check if we are inside a plugin
747
+			    $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
748 748
 
749
-			// add check in-case user has changed wp-content dir name.
750
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
751
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
752
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
749
+			    // add check in-case user has changed wp-content dir name.
750
+			    $wp_content_folder_name = basename(WP_CONTENT_DIR);
751
+			    $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
752
+			    $url_parts = explode("/$wp_content_folder_name/",plugins_url());
753 753
 
754
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
755
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
756
-			}
754
+			    if(!empty($url_parts[0]) && !empty($dir_parts[1])){
755
+				    $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
756
+			    }
757 757
 
758
-			return $url;
759
-		}
758
+			    return $url;
759
+		    }
760 760
 
761
-		/**
761
+		    /**
762 762
 		 * Register the database settings with WordPress.
763 763
 		 */
764
-		public function register_settings() {
765
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
766
-		}
764
+		    public function register_settings() {
765
+			    register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
766
+		    }
767 767
 
768
-		/**
768
+		    /**
769 769
 		 * Add the WordPress settings menu item.
770 770
 		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
771 771
 		 */
772
-		public function menu_item() {
773
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
774
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
775
-				$this,
776
-				'settings_page'
777
-			) );
778
-		}
779
-
780
-		/**
772
+		    public function menu_item() {
773
+			    $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
774
+			    call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
775
+				    $this,
776
+				    'settings_page'
777
+			    ) );
778
+		    }
779
+
780
+		    /**
781 781
 		 * Get a list of themes and their default JS settings.
782 782
 		 *
783 783
 		 * @return array
784 784
 		 */
785
-		public function theme_js_settings(){
786
-			return array(
787
-				'ayetheme' => 'popper',
788
-				'listimia' => 'required',
789
-				'listimia_backend' => 'core-popper',
790
-				//'avada'    => 'required', // removed as we now add compatibility
791
-			);
792
-		}
793
-
794
-		/**
785
+		    public function theme_js_settings(){
786
+			    return array(
787
+				    'ayetheme' => 'popper',
788
+				    'listimia' => 'required',
789
+				    'listimia_backend' => 'core-popper',
790
+				    //'avada'    => 'required', // removed as we now add compatibility
791
+			    );
792
+		    }
793
+
794
+		    /**
795 795
          * Get the date the site was installed.
796 796
          *
797 797
 		 * @return false|string
798 798
 		 */
799
-        public function get_site_install_date() {
800
-	        global $wpdb; // This gives you access to the WordPress database object
799
+            public function get_site_install_date() {
800
+	            global $wpdb; // This gives you access to the WordPress database object
801 801
 
802
-	        // Prepare the SQL query to get the oldest registration date
803
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
802
+	            // Prepare the SQL query to get the oldest registration date
803
+	            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
804 804
 
805
-	        // Execute the query
806
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
805
+	            // Execute the query
806
+	            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
807 807
 
808
-	        return $date ? $date : false;
809
-        }
808
+	            return $date ? $date : false;
809
+            }
810 810
 
811
-		/**
811
+		    /**
812 812
 		 * Show admin notice if backend scripts not loaded.
813 813
 		 */
814
-		public function show_admin_version_notice(){
815
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
816
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
817
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
818
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
819
-		}
820
-
821
-		/**
814
+		    public function show_admin_version_notice(){
815
+			    $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
816
+			    $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
817
+			    $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
818
+			    echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
819
+		    }
820
+
821
+		    /**
822 822
 		 * Get the current Font Awesome output settings.
823 823
 		 *
824 824
 		 * @return array The array of settings.
825 825
 		 */
826
-		public function get_settings() {
827
-
828
-			$db_settings = get_option( 'ayecode-ui-settings' );
829
-
830
-            // Maybe show default version notice
831
-			$site_install_date = new DateTime( self::get_site_install_date() );
832
-			$switch_over_date = new DateTime("2024-02-01");
833
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
834
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
835
-			}
836
-
837
-			$js_default = 'core-popper';
838
-			$js_default_backend = $js_default;
839
-
840
-			// maybe set defaults (if no settings set)
841
-			if(empty($db_settings)){
842
-				$active_theme = strtolower( get_template() ); // active parent theme.
843
-				$theme_js_settings = self::theme_js_settings();
844
-				if(isset($theme_js_settings[$active_theme])){
845
-					$js_default = $theme_js_settings[$active_theme];
846
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
847
-				}
848
-			}
849
-
850
-			/**
826
+		    public function get_settings() {
827
+
828
+			    $db_settings = get_option( 'ayecode-ui-settings' );
829
+
830
+                // Maybe show default version notice
831
+			    $site_install_date = new DateTime( self::get_site_install_date() );
832
+			    $switch_over_date = new DateTime("2024-02-01");
833
+			    if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
834
+				    add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
835
+			    }
836
+
837
+			    $js_default = 'core-popper';
838
+			    $js_default_backend = $js_default;
839
+
840
+			    // maybe set defaults (if no settings set)
841
+			    if(empty($db_settings)){
842
+				    $active_theme = strtolower( get_template() ); // active parent theme.
843
+				    $theme_js_settings = self::theme_js_settings();
844
+				    if(isset($theme_js_settings[$active_theme])){
845
+					    $js_default = $theme_js_settings[$active_theme];
846
+					    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
847
+				    }
848
+			    }
849
+
850
+			    /**
851 851
 			 * Filter the default settings.
852 852
 			 */
853
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
854
-				'css'            => 'compatibility', // core, compatibility
855
-				'js'             => $js_default, // js to load, core-popper, popper
856
-				'html_font_size' => '16', // js to load, core-popper, popper
857
-				'css_backend'    => 'compatibility', // core, compatibility
858
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
859
-				'disable_admin'  => '', // URL snippets to disable loading on admin
860
-                'bs_ver'         => '5', // The default bootstrap version to sue by default
861
-			), $db_settings );
862
-
863
-			$settings = wp_parse_args( $db_settings, $defaults );
864
-
865
-			/**
853
+			    $defaults = apply_filters( 'ayecode-ui-default-settings', array(
854
+				    'css'            => 'compatibility', // core, compatibility
855
+				    'js'             => $js_default, // js to load, core-popper, popper
856
+				    'html_font_size' => '16', // js to load, core-popper, popper
857
+				    'css_backend'    => 'compatibility', // core, compatibility
858
+				    'js_backend'     => $js_default_backend, // js to load, core-popper, popper
859
+				    'disable_admin'  => '', // URL snippets to disable loading on admin
860
+                    'bs_ver'         => '5', // The default bootstrap version to sue by default
861
+			    ), $db_settings );
862
+
863
+			    $settings = wp_parse_args( $db_settings, $defaults );
864
+
865
+			    /**
866 866
 			 * Filter the Bootstrap settings.
867 867
 			 *
868 868
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
869 869
 			 */
870
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
871
-		}
870
+			    return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
871
+		    }
872 872
 
873 873
 
874
-		/**
874
+		    /**
875 875
 		 * The settings page html output.
876 876
 		 */
877
-		public function settings_page() {
878
-			if ( ! current_user_can( 'manage_options' ) ) {
879
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
880
-			}
881
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
877
+		    public function settings_page() {
878
+			    if ( ! current_user_can( 'manage_options' ) ) {
879
+				    wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
880
+			    }
881
+                $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
882 882
 
883
-			?>
883
+			    ?>
884 884
             <div class="wrap">
885 885
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
886 886
                 <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
887 887
                 <form method="post" action="options.php">
888 888
 					<?php
889
-					settings_fields( 'ayecode-ui-settings' );
890
-					do_settings_sections( 'ayecode-ui-settings' );
891
-					?>
889
+					    settings_fields( 'ayecode-ui-settings' );
890
+					    do_settings_sections( 'ayecode-ui-settings' );
891
+					    ?>
892 892
 
893 893
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
894 894
                     <p><?php echo esc_html( apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.", 'ayecode-connect' ) ) );?></p>
895 895
 	                <div class="bsui"><?php
896
-	                if ( ! empty( $overrides ) ) {
897
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
898
-			                'type'=> 'info',
899
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
900
-		                ));
901
-	                }
902
-	                ?>
896
+	                    if ( ! empty( $overrides ) ) {
897
+		                    echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
898
+			                    'type'=> 'info',
899
+			                    'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
900
+		                    ));
901
+	                    }
902
+	                    ?>
903 903
                     </div>
904 904
                     <table class="form-table wpbs-table-version-settings">
905 905
                         <tr valign="top">
@@ -983,77 +983,77 @@  discard block
 block discarded – undo
983 983
                     </table>
984 984
 
985 985
 					<?php
986
-					submit_button();
987
-					?>
986
+					    submit_button();
987
+					    ?>
988 988
                 </form>
989 989
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
990 990
             </div>
991 991
 			<?php
992
-		}
993
-
994
-        public function get_load_source(){
995
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
996
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
997
-
998
-	        // Find source plugin/theme of SD
999
-	        $source = array();
1000
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1001
-		        $source = explode( "/", plugin_basename( $file ) );
1002
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1003
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1004
-
1005
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1006
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1007
-		        }
1008
-	        }
1009
-
1010
-            return isset($source[0]) ? esc_attr($source[0]) : '';
1011
-        }
1012
-
1013
-		public function customizer_settings($wp_customize){
1014
-			$wp_customize->add_section('aui_settings', array(
1015
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1016
-				'priority' => 120,
1017
-			));
1018
-
1019
-			//  =============================
1020
-			//  = Color Picker              =
1021
-			//  =============================
1022
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1023
-				'default'           => AUI_PRIMARY_COLOR,
1024
-				'sanitize_callback' => 'sanitize_hex_color',
1025
-				'capability'        => 'edit_theme_options',
1026
-				'type'              => 'option',
1027
-				'transport'         => 'refresh',
1028
-			));
1029
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1030
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1031
-				'section'  => 'aui_settings',
1032
-				'settings' => 'aui_options[color_primary]',
1033
-			)));
1034
-
1035
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1036
-				'default'           => '#6c757d',
1037
-				'sanitize_callback' => 'sanitize_hex_color',
1038
-				'capability'        => 'edit_theme_options',
1039
-				'type'              => 'option',
1040
-				'transport'         => 'refresh',
1041
-			));
1042
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1043
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1044
-				'section'  => 'aui_settings',
1045
-				'settings' => 'aui_options[color_secondary]',
1046
-			)));
1047
-		}
1048
-
1049
-		/**
992
+		    }
993
+
994
+            public function get_load_source(){
995
+	            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
996
+	            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
997
+
998
+	            // Find source plugin/theme of SD
999
+	            $source = array();
1000
+	            if ( strpos( $file, $plugins_dir ) !== false ) {
1001
+		            $source = explode( "/", plugin_basename( $file ) );
1002
+	            } else if ( function_exists( 'get_theme_root' ) ) {
1003
+		            $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1004
+
1005
+		            if ( strpos( $file, $themes_dir ) !== false ) {
1006
+			            $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1007
+		            }
1008
+	            }
1009
+
1010
+                return isset($source[0]) ? esc_attr($source[0]) : '';
1011
+            }
1012
+
1013
+		    public function customizer_settings($wp_customize){
1014
+			    $wp_customize->add_section('aui_settings', array(
1015
+				    'title'    => __('AyeCode UI', 'ayecode-connect' ),
1016
+				    'priority' => 120,
1017
+			    ));
1018
+
1019
+			    //  =============================
1020
+			    //  = Color Picker              =
1021
+			    //  =============================
1022
+			    $wp_customize->add_setting('aui_options[color_primary]', array(
1023
+				    'default'           => AUI_PRIMARY_COLOR,
1024
+				    'sanitize_callback' => 'sanitize_hex_color',
1025
+				    'capability'        => 'edit_theme_options',
1026
+				    'type'              => 'option',
1027
+				    'transport'         => 'refresh',
1028
+			    ));
1029
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1030
+				    'label'    => __('Primary Color', 'ayecode-connect' ),
1031
+				    'section'  => 'aui_settings',
1032
+				    'settings' => 'aui_options[color_primary]',
1033
+			    )));
1034
+
1035
+			    $wp_customize->add_setting('aui_options[color_secondary]', array(
1036
+				    'default'           => '#6c757d',
1037
+				    'sanitize_callback' => 'sanitize_hex_color',
1038
+				    'capability'        => 'edit_theme_options',
1039
+				    'type'              => 'option',
1040
+				    'transport'         => 'refresh',
1041
+			    ));
1042
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1043
+				    'label'    => __('Secondary Color', 'ayecode-connect' ),
1044
+				    'section'  => 'aui_settings',
1045
+				    'settings' => 'aui_options[color_secondary]',
1046
+			    )));
1047
+		    }
1048
+
1049
+		    /**
1050 1050
 		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1051 1051
 		 *
1052 1052
 		 * @return mixed
1053 1053
 		 */
1054
-		public static function bs3_compat_css() {
1055
-			ob_start();
1056
-			?>
1054
+		    public static function bs3_compat_css() {
1055
+			    ob_start();
1056
+			    ?>
1057 1057
             <style>
1058 1058
                 /* Bootstrap 3 compatibility */
1059 1059
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1070,7 +1070,7 @@  discard block
 block discarded – undo
1070 1070
                 /* KLEO theme specific */
1071 1071
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1072 1072
                 <?php } ?>
1073
-
1073
+    
1074 1074
                 <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1075 1075
                 /* With Avada builder */
1076 1076
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
@@ -1080,248 +1080,248 @@  discard block
 block discarded – undo
1080 1080
                 .bsui .collapse.in.row:not(.show){display: none;}
1081 1081
 
1082 1082
                 <?php } ?>
1083
-            </style>
1083
+                </style>
1084 1084
 			<?php
1085
-			return str_replace( array(
1086
-				'<style>',
1087
-				'</style>'
1088
-			), '', self::minify_css( ob_get_clean() ) );
1089
-		}
1085
+			    return str_replace( array(
1086
+				    '<style>',
1087
+				    '</style>'
1088
+			    ), '', self::minify_css( ob_get_clean() ) );
1089
+		    }
1090 1090
 
1091 1091
 
1092
-		public static function custom_css($compatibility = true) {
1093
-            global $aui_bs5;
1092
+		    public static function custom_css($compatibility = true) {
1093
+                global $aui_bs5;
1094 1094
 
1095
-			$colors = array();
1096
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1095
+			    $colors = array();
1096
+			    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1097 1097
 
1098 1098
 
1099
-				$setting = wp_get_global_settings();
1099
+				    $setting = wp_get_global_settings();
1100 1100
 
1101
-//                print_r(wp_get_global_styles());//exit;
1102
-//                print_r(get_default_block_editor_settings());exit;
1101
+    //                print_r(wp_get_global_styles());//exit;
1102
+    //                print_r(get_default_block_editor_settings());exit;
1103 1103
 
1104
-//                print_r($setting);echo  '###';exit;
1105
-				if(!empty($setting['color']['palette']['theme'])){
1106
-					foreach($setting['color']['palette']['theme'] as $color){
1107
-						$colors[$color['slug']] = esc_attr($color['color']);
1108
-					}
1109
-				}
1104
+    //                print_r($setting);echo  '###';exit;
1105
+				    if(!empty($setting['color']['palette']['theme'])){
1106
+					    foreach($setting['color']['palette']['theme'] as $color){
1107
+						    $colors[$color['slug']] = esc_attr($color['color']);
1108
+					    }
1109
+				    }
1110 1110
 
1111
-				if(!empty($setting['color']['palette']['custom'])){
1112
-					foreach($setting['color']['palette']['custom'] as $color){
1113
-						$colors[$color['slug']] = esc_attr($color['color']);
1114
-					}
1115
-				}
1116
-			}else{
1117
-				$settings = get_option('aui_options');
1118
-				$colors = array(
1119
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1120
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1121
-				);
1122
-			}
1111
+				    if(!empty($setting['color']['palette']['custom'])){
1112
+					    foreach($setting['color']['palette']['custom'] as $color){
1113
+						    $colors[$color['slug']] = esc_attr($color['color']);
1114
+					    }
1115
+				    }
1116
+			    }else{
1117
+				    $settings = get_option('aui_options');
1118
+				    $colors = array(
1119
+					    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1120
+					    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1121
+				    );
1122
+			    }
1123 1123
 
1124
-			ob_start();
1124
+			    ob_start();
1125 1125
 
1126
-			?>
1127
-            <style>
1126
+			    ?>
1127
+                <style>
1128 1128
                 <?php
1129 1129
 
1130
-					// BS v3 compat
1131
-					if( self::is_bs3_compat() ){
1132
-						echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1133
-					}
1134
-
1135
-                    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1136
-                    $is_fse = false;
1137
-                    if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1138
-                        $is_fse = true;
1139
-                    }
1130
+					    // BS v3 compat
1131
+					    if( self::is_bs3_compat() ){
1132
+						    echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1133
+					    }
1140 1134
 
1141
-					if(!empty($colors)){
1142
-						$d_colors = self::get_colors(true);
1135
+                        $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1136
+                        $is_fse = false;
1137
+                        if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1138
+                            $is_fse = true;
1139
+                        }
1143 1140
 
1144
-//						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1145
-						foreach($colors as $key => $color ){
1146
-							if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1147
-								$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1148
-								$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1149
-								echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1150
-							}
1151
-						}
1152
-					   // exit;
1153
-					}
1141
+					    if(!empty($colors)){
1142
+						    $d_colors = self::get_colors(true);
1143
+
1144
+    //						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1145
+						    foreach($colors as $key => $color ){
1146
+							    if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1147
+								    $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1148
+								    $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1149
+								    echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1150
+							    }
1151
+						    }
1152
+					       // exit;
1153
+					    }
1154
+
1155
+					    // Set admin bar z-index lower when modal is open.
1156
+					    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1157
+
1158
+					    if(is_admin()){
1159
+						    echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1160
+					    }
1161
+
1162
+                        if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' )  ){
1163
+                            $css = '';
1164
+                            $theme_settings = wp_get_global_styles();
1165
+
1166
+    //                        print_r( $theme_settings);exit;
1167
+
1168
+                            // font face
1169
+                            if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1170
+                                $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1171
+                                $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1172
+                            }
1154 1173
 
1155
-					// Set admin bar z-index lower when modal is open.
1156
-					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1174
+                            // font size
1175
+                            if( !empty( $theme_settings['typography']['fontSize'] ) ){
1176
+                                $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1177
+                            }
1157 1178
 
1158
-					if(is_admin()){
1159
-						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1160
-					}
1179
+                            // line height
1180
+                             if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1181
+                                $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1182
+                            }
1161 1183
 
1162
-                    if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' )  ){
1163
-                        $css = '';
1164
-                        $theme_settings = wp_get_global_styles();
1165 1184
 
1166
-//                        print_r( $theme_settings);exit;
1185
+                               // font weight
1186
+                             if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1187
+                                $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1188
+                            }
1167 1189
 
1168
-                        // font face
1169
-                        if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1170
-                            $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1171
-                            $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1172
-                        }
1190
+                            // Background
1191
+                             if( !empty( $theme_settings['color']['background'] ) ){
1192
+                                $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1193
+                            }
1173 1194
 
1174
-                        // font size
1175
-                        if( !empty( $theme_settings['typography']['fontSize'] ) ){
1176
-                            $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1177
-                        }
1195
+                             // Background Gradient
1196
+                             if( !empty( $theme_settings['color']['gradient'] ) ){
1197
+                                $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1198
+                            }
1178 1199
 
1179
-                        // line height
1180
-                         if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1181
-                            $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1182
-                        }
1200
+                               // Background Gradient
1201
+                             if( !empty( $theme_settings['color']['gradient'] ) ){
1202
+                                $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1203
+                            }
1183 1204
 
1205
+                            // text color
1206
+                            if( !empty( $theme_settings['color']['text'] ) ){
1207
+                                $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1208
+                            }
1184 1209
 
1185
-                           // font weight
1186
-                         if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1187
-                            $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1188
-                        }
1189 1210
 
1190
-                        // Background
1191
-                         if( !empty( $theme_settings['color']['background'] ) ){
1192
-                            $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1193
-                        }
1211
+                            // link colors
1212
+                            if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1213
+                                $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1214
+                            }
1215
+                            if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1216
+                                $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1217
+                            }
1194 1218
 
1195
-                         // Background Gradient
1196
-                         if( !empty( $theme_settings['color']['gradient'] ) ){
1197
-                            $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1198
-                        }
1199 1219
 
1200
-                           // Background Gradient
1201
-                         if( !empty( $theme_settings['color']['gradient'] ) ){
1202
-                            $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1203
-                        }
1204 1220
 
1205
-                        // text color
1206
-                        if( !empty( $theme_settings['color']['text'] ) ){
1207
-                            $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1208
-                        }
1221
+                            if($css){
1222
+                                echo  $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1223
+                            }
1209 1224
 
1225
+                            $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1210 1226
 
1211
-                        // link colors
1212
-                        if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1213
-                            $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1214
-                        }
1215
-                        if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1216
-                            $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1217
-                        }
1218 1227
 
1228
+                            // Headings
1229
+                            $headings_css = '';
1230
+                            if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1231
+                                $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1232
+                            }
1219 1233
 
1234
+                            // heading background
1235
+                            if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1236
+                                $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1237
+                            }
1220 1238
 
1221
-                        if($css){
1222
-                            echo  $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1223
-                        }
1239
+                             // heading font family
1240
+                            if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1241
+                                $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1242
+                            }
1224 1243
 
1225
-                        $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1244
+                            if( $headings_css ){
1245
+                                echo "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1246
+                            }
1226 1247
 
1248
+                            $hs = array('h1','h2','h3','h4','h5','h6');
1227 1249
 
1228
-                        // Headings
1229
-                        $headings_css = '';
1230
-                        if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1231
-                            $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1232
-                        }
1250
+                            foreach($hs as $hn){
1251
+                                $h_css = '';
1252
+                                 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1253
+                                    $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1254
+                                 }
1233 1255
 
1234
-                        // heading background
1235
-                        if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1236
-                            $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1237
-                        }
1256
+                                  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1257
+                                    $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1258
+                                 }
1238 1259
 
1239
-                         // heading font family
1240
-                        if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1241
-                            $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1242
-                        }
1260
+                                  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1261
+                                    $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1262
+                                 }
1243 1263
 
1244
-                        if( $headings_css ){
1245
-                            echo "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1264
+                                 if($h_css){
1265
+                                    echo esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1266
+                                 }
1267
+                            }
1246 1268
                         }
1247 1269
 
1248
-                        $hs = array('h1','h2','h3','h4','h5','h6');
1249
-
1250
-                        foreach($hs as $hn){
1251
-                            $h_css = '';
1252
-                             if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1253
-                                $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1254
-                             }
1255
-
1256
-                              if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1257
-                                $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1258
-                             }
1259
-
1260
-                              if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1261
-                                $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1262
-                             }
1263
-
1264
-                             if($h_css){
1265
-                                echo esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1266
-                             }
1270
+                        // Pagination on Hello Elementor theme.
1271
+                        if ( function_exists( 'hello_elementor_setup' ) ) {
1272
+                            echo '.aui-nav-links .pagination{justify-content:inherit}';
1267 1273
                         }
1268
-                    }
1269
-
1270
-                    // Pagination on Hello Elementor theme.
1271
-                    if ( function_exists( 'hello_elementor_setup' ) ) {
1272
-                        echo '.aui-nav-links .pagination{justify-content:inherit}';
1273
-                    }
1274
-                ?>
1275
-            </style>
1274
+                    ?>
1275
+                </style>
1276 1276
 			<?php
1277
-			/*
1277
+			    /*
1278 1278
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1279 1279
 			 */
1280
-			return str_replace( array(
1281
-				'<style>',
1282
-				'</style>'
1283
-			), '', self::minify_css( ob_get_clean() ) );
1284
-		}
1280
+			    return str_replace( array(
1281
+				    '<style>',
1282
+				    '</style>'
1283
+			    ), '', self::minify_css( ob_get_clean() ) );
1284
+		    }
1285 1285
 
1286
-		/**
1286
+		    /**
1287 1287
 		 * Check if we should add booststrap 3 compatibility changes.
1288 1288
 		 *
1289 1289
 		 * @return bool
1290 1290
 		 */
1291
-		public static function is_bs3_compat(){
1292
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1293
-		}
1291
+		    public static function is_bs3_compat(){
1292
+			    return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1293
+		    }
1294 1294
 
1295
-		public static function hex_to_rgb( $hex ) {
1296
-			// Remove '#' if present
1297
-			$hex = str_replace( '#', '', $hex );
1295
+		    public static function hex_to_rgb( $hex ) {
1296
+			    // Remove '#' if present
1297
+			    $hex = str_replace( '#', '', $hex );
1298 1298
 
1299
-			// Check if input is RGB
1300
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1301
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1299
+			    // Check if input is RGB
1300
+			    if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1301
+				    $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1302 1302
 
1303
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1304
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1305
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1303
+				    $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1304
+				    $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1305
+				    $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1306 1306
 
1307
-				return $rgb;
1308
-			}
1307
+				    return $rgb;
1308
+			    }
1309 1309
 
1310
-			// Convert 3-digit hex to 6-digit hex
1311
-			if ( strlen( $hex ) == 3 ) {
1312
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1313
-			}
1310
+			    // Convert 3-digit hex to 6-digit hex
1311
+			    if ( strlen( $hex ) == 3 ) {
1312
+				    $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1313
+			    }
1314 1314
 
1315
-			// Convert hex to RGB
1316
-			$r = hexdec( substr( $hex, 0, 2 ) );
1317
-			$g = hexdec( substr( $hex, 2, 2 ) );
1318
-			$b = hexdec( substr( $hex, 4, 2 ) );
1315
+			    // Convert hex to RGB
1316
+			    $r = hexdec( substr( $hex, 0, 2 ) );
1317
+			    $g = hexdec( substr( $hex, 2, 2 ) );
1318
+			    $b = hexdec( substr( $hex, 4, 2 ) );
1319 1319
 
1320
-			// Return RGB values as an array
1321
-			return $r . ',' . $g . ',' . $b;
1322
-		}
1320
+			    // Return RGB values as an array
1321
+			    return $r . ',' . $g . ',' . $b;
1322
+		    }
1323 1323
 
1324
-		/**
1324
+		    /**
1325 1325
 		 * Build the CSS to overwrite a bootstrap color variable.
1326 1326
 		 *
1327 1327
 		 * @param $type
@@ -1330,120 +1330,120 @@  discard block
 block discarded – undo
1330 1330
 		 *
1331 1331
 		 * @return string
1332 1332
 		 */
1333
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1334
-			global $aui_bs5;
1333
+		    public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1334
+			    global $aui_bs5;
1335 1335
 
1336
-			$is_var = false;
1337
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1338
-			if(!$color_code){return '';}
1339
-			if(strpos($color_code, 'var') !== false){
1340
-				//if(!sanitize_hex_color($color_code)){
1341
-				$color_code = esc_attr($color_code);
1342
-				$is_var = true;
1343
-//				$color_code = "rgba($color_code, 0.5)";
1344
-//                echo '###1'.$color_code.'###';//exit;
1345
-			}
1336
+			    $is_var = false;
1337
+			    $is_custom = strpos($type, 'custom-') !== false ? true : false;
1338
+			    if(!$color_code){return '';}
1339
+			    if(strpos($color_code, 'var') !== false){
1340
+				    //if(!sanitize_hex_color($color_code)){
1341
+				    $color_code = esc_attr($color_code);
1342
+				    $is_var = true;
1343
+    //				$color_code = "rgba($color_code, 0.5)";
1344
+    //                echo '###1'.$color_code.'###';//exit;
1345
+			    }
1346 1346
 
1347
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1347
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1348 1348
 
1349
-			if(!$color_code){return '';}
1349
+			    if(!$color_code){return '';}
1350 1350
 
1351
-			$rgb = self::hex_to_rgb($hex);
1351
+			    $rgb = self::hex_to_rgb($hex);
1352 1352
 
1353
-			if($compatibility===true || $compatibility===1){
1354
-				$compatibility = '.bsui';
1355
-			}elseif(!$compatibility){
1356
-				$compatibility = '';
1357
-			}else{
1358
-				$compatibility = esc_attr($compatibility);
1359
-			}
1353
+			    if($compatibility===true || $compatibility===1){
1354
+				    $compatibility = '.bsui';
1355
+			    }elseif(!$compatibility){
1356
+				    $compatibility = '';
1357
+			    }else{
1358
+				    $compatibility = esc_attr($compatibility);
1359
+			    }
1360 1360
 
1361
-			$prefix = $compatibility ? $compatibility . " " : "";
1361
+			    $prefix = $compatibility ? $compatibility . " " : "";
1362 1362
 
1363 1363
 
1364
-            $output = '';
1364
+                $output = '';
1365 1365
 
1366
-//            echo '####'.$color_code;exit;
1366
+    //            echo '####'.$color_code;exit;
1367 1367
 
1368
-			$type = sanitize_html_class($type);
1368
+			    $type = sanitize_html_class($type);
1369 1369
 
1370
-			/**
1370
+			    /**
1371 1371
 			 * c = color, b = background color, o = border-color, f = fill
1372 1372
 			 */
1373
-			$selectors = array(
1374
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1375
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1376
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1377
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1378
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1379
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1380
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1381
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1382
-				".badge-{$type}"                                            => array( 'b' ),
1383
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1384
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1385
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1386
-				".text-{$type}"                                     => array( 'c' ),
1387
-			);
1388
-
1389
-			if ( $aui_bs5 ) {
1390
-				unset($selectors[".alert-{$type}" ]);
1391
-			}
1392
-
1393
-			if ( $type == 'primary' ) {
1394
-				$selectors = $selectors + array(
1395
-						'a'                                                                                                    => array( 'c' ),
1396
-						'.btn-link'                                                                                            => array( 'c' ),
1397
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1398
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1399
-							'b',
1400
-							'o'
1401
-						),
1402
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1403
-							'b',
1404
-							'o'
1405
-						),
1406
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1407
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1408
-						'.page-link'                                                                                           => array( 'c' ),
1409
-						'.page-item.active .page-link'                                                                         => array(
1410
-							'b',
1411
-							'o'
1412
-						),
1413
-						'.progress-bar'                                                                                        => array( 'b' ),
1414
-						'.list-group-item.active'                                                                              => array(
1415
-							'b',
1416
-							'o'
1417
-						),
1418
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1419
-					);
1420
-			}
1421
-
1422
-
1423
-
1424
-            // link
1425
-			if ( $type === 'primary' ) {
1426
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1427
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1428
-				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1429
-
1430
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1431
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1432
-
1433
-                // dropdown
1434
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1435
-
1436
-                // pagination
1437
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1438
-
1439
-			}
1440
-
1441
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1442
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1443
-
1444
-			//  buttons
1445
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1446
-			$output .= ' 
1373
+			    $selectors = array(
1374
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1375
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1376
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1377
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1378
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1379
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1380
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1381
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1382
+				    ".badge-{$type}"                                            => array( 'b' ),
1383
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1384
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1385
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1386
+				    ".text-{$type}"                                     => array( 'c' ),
1387
+			    );
1388
+
1389
+			    if ( $aui_bs5 ) {
1390
+				    unset($selectors[".alert-{$type}" ]);
1391
+			    }
1392
+
1393
+			    if ( $type == 'primary' ) {
1394
+				    $selectors = $selectors + array(
1395
+						    'a'                                                                                                    => array( 'c' ),
1396
+						    '.btn-link'                                                                                            => array( 'c' ),
1397
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1398
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1399
+							    'b',
1400
+							    'o'
1401
+						    ),
1402
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1403
+							    'b',
1404
+							    'o'
1405
+						    ),
1406
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1407
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1408
+						    '.page-link'                                                                                           => array( 'c' ),
1409
+						    '.page-item.active .page-link'                                                                         => array(
1410
+							    'b',
1411
+							    'o'
1412
+						    ),
1413
+						    '.progress-bar'                                                                                        => array( 'b' ),
1414
+						    '.list-group-item.active'                                                                              => array(
1415
+							    'b',
1416
+							    'o'
1417
+						    ),
1418
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1419
+					    );
1420
+			    }
1421
+
1422
+
1423
+
1424
+                // link
1425
+			    if ( $type === 'primary' ) {
1426
+				    $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1427
+				    $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1428
+				    $output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1429
+
1430
+				    $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1431
+				    $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1432
+
1433
+                    // dropdown
1434
+				    $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1435
+
1436
+                    // pagination
1437
+				    $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1438
+
1439
+			    }
1440
+
1441
+			    $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1442
+			    $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1443
+
1444
+			    //  buttons
1445
+			    $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1446
+			    $output .= ' 
1447 1447
             --bs-btn-bg: '.esc_attr($color_code).';
1448 1448
             --bs-btn-border-color: '.esc_attr($color_code).';
1449 1449
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1455,17 +1455,17 @@  discard block
 block discarded – undo
1455 1455
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1456 1456
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1457 1457
             ';
1458
-//			$output .= '
1459
-//		    --bs-btn-color: #fff;
1460
-//			--bs-btn-hover-color: #fff;
1461
-//			--bs-btn-active-color: #fff;
1462
-//			--bs-btn-disabled-color: #fff;
1463
-//            ';
1464
-			$output .= '}';
1465
-
1466
-			//  buttons outline
1467
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1468
-			$output .= ' 
1458
+    //			$output .= '
1459
+    //		    --bs-btn-color: #fff;
1460
+    //			--bs-btn-hover-color: #fff;
1461
+    //			--bs-btn-active-color: #fff;
1462
+    //			--bs-btn-disabled-color: #fff;
1463
+    //            ';
1464
+			    $output .= '}';
1465
+
1466
+			    //  buttons outline
1467
+			    $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1468
+			    $output .= ' 
1469 1469
 			--bs-btn-color: '.esc_attr($color_code).';
1470 1470
             --bs-btn-border-color: '.esc_attr($color_code).';
1471 1471
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1477,140 +1477,140 @@  discard block
 block discarded – undo
1477 1477
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1478 1478
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1479 1479
             ';
1480
-//			$output .= '
1481
-//		    --bs-btn-color: #fff;
1482
-//			--bs-btn-hover-color: #fff;
1483
-//			--bs-btn-active-color: #fff;
1484
-//			--bs-btn-disabled-color: #fff;
1485
-//            ';
1486
-			$output .= '}';
1487
-
1488
-
1489
-            // button hover
1490
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1491
-			$output .= ' 
1480
+    //			$output .= '
1481
+    //		    --bs-btn-color: #fff;
1482
+    //			--bs-btn-hover-color: #fff;
1483
+    //			--bs-btn-active-color: #fff;
1484
+    //			--bs-btn-disabled-color: #fff;
1485
+    //            ';
1486
+			    $output .= '}';
1487
+
1488
+
1489
+                // button hover
1490
+			    $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1491
+			    $output .= ' 
1492 1492
             box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4);
1493 1493
             }
1494 1494
             ';
1495 1495
 
1496 1496
 
1497
-			if ( $aui_bs5 ) {
1498
-//				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1499
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1500
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1501
-			}
1502
-
1503
-
1504
-			if ( $is_custom ) {
1505
-
1506
-//				echo '###'.$type;exit;
1507
-
1508
-				// build rules into each type
1509
-				foreach($selectors as $selector => $types){
1510
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1511
-					$types = array_combine($types,$types);
1512
-					if(isset($types['c'])){$color[] = $selector;}
1513
-					if(isset($types['b'])){$background[] = $selector;}
1514
-					if(isset($types['o'])){$border[] = $selector;}
1515
-					if(isset($types['f'])){$fill[] = $selector;}
1516
-				}
1517
-
1518
-//				// build rules into each type
1519
-//				foreach($important_selectors as $selector => $types){
1520
-//					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1521
-//					$types = array_combine($types,$types);
1522
-//					if(isset($types['c'])){$color_i[] = $selector;}
1523
-//					if(isset($types['b'])){$background_i[] = $selector;}
1524
-//					if(isset($types['o'])){$border_i[] = $selector;}
1525
-//					if(isset($types['f'])){$fill_i[] = $selector;}
1526
-//				}
1527
-
1528
-				// add any color rules
1529
-				if(!empty($color)){
1530
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1531
-				}
1532
-				if(!empty($color_i)){
1533
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1534
-				}
1535
-
1536
-				// add any background color rules
1537
-				if(!empty($background)){
1538
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1539
-				}
1540
-				if(!empty($background_i)){
1541
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1542
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1543
-				}
1544
-
1545
-				// add any border color rules
1546
-				if(!empty($border)){
1547
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1548
-				}
1549
-				if(!empty($border_i)){
1550
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1551
-				}
1552
-
1553
-				// add any fill color rules
1554
-				if(!empty($fill)){
1555
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1556
-				}
1557
-				if(!empty($fill_i)){
1558
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1559
-				}
1560
-
1561
-			}
1562
-
1563
-
1564
-
1565
-
1566
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1567
-			// darken
1568
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1569
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1570
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1571
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1572
-
1573
-			// lighten
1574
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1575
-
1576
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1577
-			$op_25 = $color_code."40"; // 25% opacity
1578
-
1579
-
1580
-			// button states
1581
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1582
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1583
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1584
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1585
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1586
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1587
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1588
-
1589
-			// text
1590
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1591
-
1592
-
1593
-//			if ( $type == 'primary' ) {
1594
-//				// dropdown's
1595
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1596
-//
1597
-//				// input states
1598
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1599
-//
1600
-//				// page link
1601
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1602
-//			}
1603
-
1604
-			// alerts
1605
-			if ( $aui_bs5 ) {
1606
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1607
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1608
-			}
1609
-
1610
-			return $output;
1611
-		}
1612
-
1613
-		/**
1497
+			    if ( $aui_bs5 ) {
1498
+    //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1499
+				    $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1500
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1501
+			    }
1502
+
1503
+
1504
+			    if ( $is_custom ) {
1505
+
1506
+    //				echo '###'.$type;exit;
1507
+
1508
+				    // build rules into each type
1509
+				    foreach($selectors as $selector => $types){
1510
+					    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1511
+					    $types = array_combine($types,$types);
1512
+					    if(isset($types['c'])){$color[] = $selector;}
1513
+					    if(isset($types['b'])){$background[] = $selector;}
1514
+					    if(isset($types['o'])){$border[] = $selector;}
1515
+					    if(isset($types['f'])){$fill[] = $selector;}
1516
+				    }
1517
+
1518
+    //				// build rules into each type
1519
+    //				foreach($important_selectors as $selector => $types){
1520
+    //					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1521
+    //					$types = array_combine($types,$types);
1522
+    //					if(isset($types['c'])){$color_i[] = $selector;}
1523
+    //					if(isset($types['b'])){$background_i[] = $selector;}
1524
+    //					if(isset($types['o'])){$border_i[] = $selector;}
1525
+    //					if(isset($types['f'])){$fill_i[] = $selector;}
1526
+    //				}
1527
+
1528
+				    // add any color rules
1529
+				    if(!empty($color)){
1530
+					    $output .= implode(",",$color) . "{color: $color_code;} ";
1531
+				    }
1532
+				    if(!empty($color_i)){
1533
+					    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1534
+				    }
1535
+
1536
+				    // add any background color rules
1537
+				    if(!empty($background)){
1538
+					    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1539
+				    }
1540
+				    if(!empty($background_i)){
1541
+					    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1542
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1543
+				    }
1544
+
1545
+				    // add any border color rules
1546
+				    if(!empty($border)){
1547
+					    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1548
+				    }
1549
+				    if(!empty($border_i)){
1550
+					    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1551
+				    }
1552
+
1553
+				    // add any fill color rules
1554
+				    if(!empty($fill)){
1555
+					    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1556
+				    }
1557
+				    if(!empty($fill_i)){
1558
+					    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1559
+				    }
1560
+
1561
+			    }
1562
+
1563
+
1564
+
1565
+
1566
+			    $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1567
+			    // darken
1568
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1569
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1570
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1571
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1572
+
1573
+			    // lighten
1574
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1575
+
1576
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1577
+			    $op_25 = $color_code."40"; // 25% opacity
1578
+
1579
+
1580
+			    // button states
1581
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1582
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1583
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1584
+			    $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1585
+			    $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1586
+                $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1587
+                $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1588
+
1589
+			    // text
1590
+    //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1591
+
1592
+
1593
+    //			if ( $type == 'primary' ) {
1594
+    //				// dropdown's
1595
+    //				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1596
+    //
1597
+    //				// input states
1598
+    //				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1599
+    //
1600
+    //				// page link
1601
+    //				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1602
+    //			}
1603
+
1604
+			    // alerts
1605
+			    if ( $aui_bs5 ) {
1606
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1607
+				    $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1608
+			    }
1609
+
1610
+			    return $output;
1611
+		    }
1612
+
1613
+		    /**
1614 1614
 		 * Build the CSS to overwrite a bootstrap color variable.
1615 1615
 		 *
1616 1616
 		 * @param $type
@@ -1619,214 +1619,214 @@  discard block
 block discarded – undo
1619 1619
 		 *
1620 1620
 		 * @return string
1621 1621
 		 */
1622
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1623
-            global $aui_bs5;
1622
+		    public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1623
+                global $aui_bs5;
1624 1624
 
1625
-			$is_var = false;
1626
-			if(!$color_code){return '';}
1627
-			if(strpos($color_code, 'var') !== false){
1628
-				//if(!sanitize_hex_color($color_code)){
1629
-				$color_code = esc_attr($color_code);
1630
-				$is_var = true;
1631
-//				$color_code = "rgba($color_code, 0.5)";
1632
-//                echo '###1'.$color_code.'###';//exit;
1633
-			}
1625
+			    $is_var = false;
1626
+			    if(!$color_code){return '';}
1627
+			    if(strpos($color_code, 'var') !== false){
1628
+				    //if(!sanitize_hex_color($color_code)){
1629
+				    $color_code = esc_attr($color_code);
1630
+				    $is_var = true;
1631
+    //				$color_code = "rgba($color_code, 0.5)";
1632
+    //                echo '###1'.$color_code.'###';//exit;
1633
+			    }
1634 1634
 
1635
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1635
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1636 1636
 
1637
-			if(!$color_code){return '';}
1637
+			    if(!$color_code){return '';}
1638 1638
 
1639
-            $rgb = self::hex_to_rgb($hex);
1639
+                $rgb = self::hex_to_rgb($hex);
1640 1640
 
1641
-			if($compatibility===true || $compatibility===1){
1642
-				$compatibility = '.bsui';
1643
-			}elseif(!$compatibility){
1644
-				$compatibility = '';
1645
-			}else{
1646
-				$compatibility = esc_attr($compatibility);
1647
-			}
1641
+			    if($compatibility===true || $compatibility===1){
1642
+				    $compatibility = '.bsui';
1643
+			    }elseif(!$compatibility){
1644
+				    $compatibility = '';
1645
+			    }else{
1646
+				    $compatibility = esc_attr($compatibility);
1647
+			    }
1648 1648
 
1649 1649
 
1650 1650
 
1651
-//            echo '####'.$color_code;exit;
1651
+    //            echo '####'.$color_code;exit;
1652 1652
 
1653
-			$type = sanitize_html_class($type);
1653
+			    $type = sanitize_html_class($type);
1654 1654
 
1655
-			/**
1655
+			    /**
1656 1656
 			 * c = color, b = background color, o = border-color, f = fill
1657 1657
 			 */
1658
-			$selectors = array(
1659
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1660
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1661
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1662
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1663
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1664
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1665
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1666
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1667
-				".badge-{$type}"                                            => array( 'b' ),
1668
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1669
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1670
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1671
-			);
1672
-
1673
-			if ( $aui_bs5 ) {
1674
-                unset($selectors[".alert-{$type}" ]);
1675
-			}
1676
-
1677
-			if ( $type == 'primary' ) {
1678
-				$selectors = $selectors + array(
1679
-						'a'                                                                                                    => array( 'c' ),
1680
-						'.btn-link'                                                                                            => array( 'c' ),
1681
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1682
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1683
-							'b',
1684
-							'o'
1685
-						),
1686
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1687
-							'b',
1688
-							'o'
1689
-						),
1690
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1691
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1692
-						'.page-link'                                                                                           => array( 'c' ),
1693
-						'.page-item.active .page-link'                                                                         => array(
1694
-							'b',
1695
-							'o'
1696
-						),
1697
-						'.progress-bar'                                                                                        => array( 'b' ),
1698
-						'.list-group-item.active'                                                                              => array(
1699
-							'b',
1700
-							'o'
1701
-						),
1702
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1703
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1704
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1705
-//				    '.custom-range::-ms-thumb' => array('b'),
1706
-					);
1707
-			}
1708
-
1709
-			$important_selectors = array(
1710
-				".bg-{$type}" => array('b','f'),
1711
-				".border-{$type}" => array('o'),
1712
-				".text-{$type}" => array('c'),
1713
-			);
1714
-
1715
-			$color = array();
1716
-			$color_i = array();
1717
-			$background = array();
1718
-			$background_i = array();
1719
-			$border = array();
1720
-			$border_i = array();
1721
-			$fill = array();
1722
-			$fill_i = array();
1723
-
1724
-			$output = '';
1725
-
1726
-			if ( $aui_bs5 ) {
1727
-//				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1728
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1729
-			}
1730
-
1731
-			// build rules into each type
1732
-			foreach($selectors as $selector => $types){
1733
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1734
-				$types = array_combine($types,$types);
1735
-				if(isset($types['c'])){$color[] = $selector;}
1736
-				if(isset($types['b'])){$background[] = $selector;}
1737
-				if(isset($types['o'])){$border[] = $selector;}
1738
-				if(isset($types['f'])){$fill[] = $selector;}
1739
-			}
1740
-
1741
-			// build rules into each type
1742
-			foreach($important_selectors as $selector => $types){
1743
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1744
-				$types = array_combine($types,$types);
1745
-				if(isset($types['c'])){$color_i[] = $selector;}
1746
-				if(isset($types['b'])){$background_i[] = $selector;}
1747
-				if(isset($types['o'])){$border_i[] = $selector;}
1748
-				if(isset($types['f'])){$fill_i[] = $selector;}
1749
-			}
1750
-
1751
-			// add any color rules
1752
-			if(!empty($color)){
1753
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1754
-			}
1755
-			if(!empty($color_i)){
1756
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1757
-			}
1758
-
1759
-			// add any background color rules
1760
-			if(!empty($background)){
1761
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1762
-			}
1763
-			if(!empty($background_i)){
1764
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1765
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1766
-			}
1767
-
1768
-			// add any border color rules
1769
-			if(!empty($border)){
1770
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1771
-			}
1772
-			if(!empty($border_i)){
1773
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1774
-			}
1775
-
1776
-			// add any fill color rules
1777
-			if(!empty($fill)){
1778
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1779
-			}
1780
-			if(!empty($fill_i)){
1781
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1782
-			}
1783
-
1784
-
1785
-			$prefix = $compatibility ? $compatibility . " " : "";
1786
-
1787
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1788
-			// darken
1789
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1790
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1791
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1792
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1793
-
1794
-			// lighten
1795
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1796
-
1797
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1798
-			$op_25 = $color_code."40"; // 25% opacity
1799
-
1800
-
1801
-			// button states
1802
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1803
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1804
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1805
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1806
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1807
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1808
-
1809
-			if ( $type == 'primary' ) {
1810
-				// dropdown's
1811
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1812
-
1813
-				// input states
1814
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1815
-
1816
-				// page link
1817
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1818
-			}
1819
-
1820
-            // alerts
1821
-			if ( $aui_bs5 ) {
1822
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1823
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1824
-			}
1825
-
1826
-			return $output;
1827
-		}
1828
-
1829
-		/**
1658
+			    $selectors = array(
1659
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1660
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1661
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1662
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1663
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1664
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1665
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1666
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1667
+				    ".badge-{$type}"                                            => array( 'b' ),
1668
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1669
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1670
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1671
+			    );
1672
+
1673
+			    if ( $aui_bs5 ) {
1674
+                    unset($selectors[".alert-{$type}" ]);
1675
+			    }
1676
+
1677
+			    if ( $type == 'primary' ) {
1678
+				    $selectors = $selectors + array(
1679
+						    'a'                                                                                                    => array( 'c' ),
1680
+						    '.btn-link'                                                                                            => array( 'c' ),
1681
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1682
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1683
+							    'b',
1684
+							    'o'
1685
+						    ),
1686
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1687
+							    'b',
1688
+							    'o'
1689
+						    ),
1690
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1691
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1692
+						    '.page-link'                                                                                           => array( 'c' ),
1693
+						    '.page-item.active .page-link'                                                                         => array(
1694
+							    'b',
1695
+							    'o'
1696
+						    ),
1697
+						    '.progress-bar'                                                                                        => array( 'b' ),
1698
+						    '.list-group-item.active'                                                                              => array(
1699
+							    'b',
1700
+							    'o'
1701
+						    ),
1702
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1703
+    //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1704
+    //				    '.custom-range::-moz-range-thumb' => array('b'),
1705
+    //				    '.custom-range::-ms-thumb' => array('b'),
1706
+					    );
1707
+			    }
1708
+
1709
+			    $important_selectors = array(
1710
+				    ".bg-{$type}" => array('b','f'),
1711
+				    ".border-{$type}" => array('o'),
1712
+				    ".text-{$type}" => array('c'),
1713
+			    );
1714
+
1715
+			    $color = array();
1716
+			    $color_i = array();
1717
+			    $background = array();
1718
+			    $background_i = array();
1719
+			    $border = array();
1720
+			    $border_i = array();
1721
+			    $fill = array();
1722
+			    $fill_i = array();
1723
+
1724
+			    $output = '';
1725
+
1726
+			    if ( $aui_bs5 ) {
1727
+    //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1728
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1729
+			    }
1730
+
1731
+			    // build rules into each type
1732
+			    foreach($selectors as $selector => $types){
1733
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1734
+				    $types = array_combine($types,$types);
1735
+				    if(isset($types['c'])){$color[] = $selector;}
1736
+				    if(isset($types['b'])){$background[] = $selector;}
1737
+				    if(isset($types['o'])){$border[] = $selector;}
1738
+				    if(isset($types['f'])){$fill[] = $selector;}
1739
+			    }
1740
+
1741
+			    // build rules into each type
1742
+			    foreach($important_selectors as $selector => $types){
1743
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1744
+				    $types = array_combine($types,$types);
1745
+				    if(isset($types['c'])){$color_i[] = $selector;}
1746
+				    if(isset($types['b'])){$background_i[] = $selector;}
1747
+				    if(isset($types['o'])){$border_i[] = $selector;}
1748
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1749
+			    }
1750
+
1751
+			    // add any color rules
1752
+			    if(!empty($color)){
1753
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1754
+			    }
1755
+			    if(!empty($color_i)){
1756
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1757
+			    }
1758
+
1759
+			    // add any background color rules
1760
+			    if(!empty($background)){
1761
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1762
+			    }
1763
+			    if(!empty($background_i)){
1764
+				    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1765
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1766
+			    }
1767
+
1768
+			    // add any border color rules
1769
+			    if(!empty($border)){
1770
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1771
+			    }
1772
+			    if(!empty($border_i)){
1773
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1774
+			    }
1775
+
1776
+			    // add any fill color rules
1777
+			    if(!empty($fill)){
1778
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1779
+			    }
1780
+			    if(!empty($fill_i)){
1781
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1782
+			    }
1783
+
1784
+
1785
+			    $prefix = $compatibility ? $compatibility . " " : "";
1786
+
1787
+			    $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1788
+			    // darken
1789
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1790
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1791
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1792
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1793
+
1794
+			    // lighten
1795
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1796
+
1797
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1798
+			    $op_25 = $color_code."40"; // 25% opacity
1799
+
1800
+
1801
+			    // button states
1802
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1803
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1804
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1805
+			    $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1806
+			    $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1807
+			    $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1808
+
1809
+			    if ( $type == 'primary' ) {
1810
+				    // dropdown's
1811
+				    $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1812
+
1813
+				    // input states
1814
+				    $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1815
+
1816
+				    // page link
1817
+				    $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1818
+			    }
1819
+
1820
+                // alerts
1821
+			    if ( $aui_bs5 ) {
1822
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1823
+				    $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1824
+			    }
1825
+
1826
+			    return $output;
1827
+		    }
1828
+
1829
+		    /**
1830 1830
 		 *
1831 1831
 		 * @deprecated 0.1.76 Use css_overwrite()
1832 1832
 		 *
@@ -1836,151 +1836,151 @@  discard block
 block discarded – undo
1836 1836
 		 *
1837 1837
 		 * @return string
1838 1838
 		 */
1839
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1839
+		    public static function css_primary($color_code,$compatibility, $use_variable = false){
1840 1840
 
1841
-			if(!$use_variable){
1842
-				$color_code = sanitize_hex_color($color_code);
1843
-				if(!$color_code){return '';}
1844
-			}
1841
+			    if(!$use_variable){
1842
+				    $color_code = sanitize_hex_color($color_code);
1843
+				    if(!$color_code){return '';}
1844
+			    }
1845 1845
 
1846
-			/**
1846
+			    /**
1847 1847
 			 * c = color, b = background color, o = border-color, f = fill
1848 1848
 			 */
1849
-			$selectors = array(
1850
-				'a' => array('c'),
1851
-				'.btn-primary' => array('b','o'),
1852
-				'.btn-primary.disabled' => array('b','o'),
1853
-				'.btn-primary:disabled' => array('b','o'),
1854
-				'.btn-outline-primary' => array('c','o'),
1855
-				'.btn-outline-primary:hover' => array('b','o'),
1856
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1857
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1858
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1859
-				'.btn-link' => array('c'),
1860
-				'.dropdown-item.active' => array('b'),
1861
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1862
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1863
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1864
-//				'.custom-range::-moz-range-thumb' => array('b'),
1865
-//				'.custom-range::-ms-thumb' => array('b'),
1866
-				'.nav-pills .nav-link.active' => array('b'),
1867
-				'.nav-pills .show>.nav-link' => array('b'),
1868
-				'.page-link' => array('c'),
1869
-				'.page-item.active .page-link' => array('b','o'),
1870
-				'.badge-primary' => array('b'),
1871
-				'.alert-primary' => array('b','o'),
1872
-				'.progress-bar' => array('b'),
1873
-				'.list-group-item.active' => array('b','o'),
1874
-				'.bg-primary' => array('b','f'),
1875
-				'.btn-link.btn-primary' => array('c'),
1876
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1877
-			);
1878
-
1879
-			$important_selectors = array(
1880
-				'.bg-primary' => array('b','f'),
1881
-				'.border-primary' => array('o'),
1882
-				'.text-primary' => array('c'),
1883
-			);
1884
-
1885
-			$color = array();
1886
-			$color_i = array();
1887
-			$background = array();
1888
-			$background_i = array();
1889
-			$border = array();
1890
-			$border_i = array();
1891
-			$fill = array();
1892
-			$fill_i = array();
1893
-
1894
-			$output = '';
1895
-
1896
-			// build rules into each type
1897
-			foreach($selectors as $selector => $types){
1898
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1899
-				$types = array_combine($types,$types);
1900
-				if(isset($types['c'])){$color[] = $selector;}
1901
-				if(isset($types['b'])){$background[] = $selector;}
1902
-				if(isset($types['o'])){$border[] = $selector;}
1903
-				if(isset($types['f'])){$fill[] = $selector;}
1904
-			}
1905
-
1906
-			// build rules into each type
1907
-			foreach($important_selectors as $selector => $types){
1908
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1909
-				$types = array_combine($types,$types);
1910
-				if(isset($types['c'])){$color_i[] = $selector;}
1911
-				if(isset($types['b'])){$background_i[] = $selector;}
1912
-				if(isset($types['o'])){$border_i[] = $selector;}
1913
-				if(isset($types['f'])){$fill_i[] = $selector;}
1914
-			}
1915
-
1916
-			// add any color rules
1917
-			if(!empty($color)){
1918
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1919
-			}
1920
-			if(!empty($color_i)){
1921
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1922
-			}
1923
-
1924
-			// add any background color rules
1925
-			if(!empty($background)){
1926
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1927
-			}
1928
-			if(!empty($background_i)){
1929
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1930
-			}
1931
-
1932
-			// add any border color rules
1933
-			if(!empty($border)){
1934
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1935
-			}
1936
-			if(!empty($border_i)){
1937
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1938
-			}
1939
-
1940
-			// add any fill color rules
1941
-			if(!empty($fill)){
1942
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1943
-			}
1944
-			if(!empty($fill_i)){
1945
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1946
-			}
1947
-
1948
-
1949
-			$prefix = $compatibility ? ".bsui " : "";
1950
-
1951
-			// darken
1952
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1953
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1954
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1955
-
1956
-			// lighten
1957
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1958
-
1959
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1960
-			$op_25 = $color_code."40"; // 25% opacity
1961
-
1962
-
1963
-			// button states
1964
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1965
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1966
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1967
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1968
-
1969
-
1970
-			// dropdown's
1971
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1972
-
1973
-
1974
-			// input states
1975
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1976
-
1977
-			// page link
1978
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1979
-
1980
-			return $output;
1981
-		}
1982
-
1983
-		/**
1849
+			    $selectors = array(
1850
+				    'a' => array('c'),
1851
+				    '.btn-primary' => array('b','o'),
1852
+				    '.btn-primary.disabled' => array('b','o'),
1853
+				    '.btn-primary:disabled' => array('b','o'),
1854
+				    '.btn-outline-primary' => array('c','o'),
1855
+				    '.btn-outline-primary:hover' => array('b','o'),
1856
+				    '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1857
+				    '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1858
+				    '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1859
+				    '.btn-link' => array('c'),
1860
+				    '.dropdown-item.active' => array('b'),
1861
+				    '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1862
+				    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1863
+    //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1864
+    //				'.custom-range::-moz-range-thumb' => array('b'),
1865
+    //				'.custom-range::-ms-thumb' => array('b'),
1866
+				    '.nav-pills .nav-link.active' => array('b'),
1867
+				    '.nav-pills .show>.nav-link' => array('b'),
1868
+				    '.page-link' => array('c'),
1869
+				    '.page-item.active .page-link' => array('b','o'),
1870
+				    '.badge-primary' => array('b'),
1871
+				    '.alert-primary' => array('b','o'),
1872
+				    '.progress-bar' => array('b'),
1873
+				    '.list-group-item.active' => array('b','o'),
1874
+				    '.bg-primary' => array('b','f'),
1875
+				    '.btn-link.btn-primary' => array('c'),
1876
+				    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1877
+			    );
1878
+
1879
+			    $important_selectors = array(
1880
+				    '.bg-primary' => array('b','f'),
1881
+				    '.border-primary' => array('o'),
1882
+				    '.text-primary' => array('c'),
1883
+			    );
1884
+
1885
+			    $color = array();
1886
+			    $color_i = array();
1887
+			    $background = array();
1888
+			    $background_i = array();
1889
+			    $border = array();
1890
+			    $border_i = array();
1891
+			    $fill = array();
1892
+			    $fill_i = array();
1893
+
1894
+			    $output = '';
1895
+
1896
+			    // build rules into each type
1897
+			    foreach($selectors as $selector => $types){
1898
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1899
+				    $types = array_combine($types,$types);
1900
+				    if(isset($types['c'])){$color[] = $selector;}
1901
+				    if(isset($types['b'])){$background[] = $selector;}
1902
+				    if(isset($types['o'])){$border[] = $selector;}
1903
+				    if(isset($types['f'])){$fill[] = $selector;}
1904
+			    }
1905
+
1906
+			    // build rules into each type
1907
+			    foreach($important_selectors as $selector => $types){
1908
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1909
+				    $types = array_combine($types,$types);
1910
+				    if(isset($types['c'])){$color_i[] = $selector;}
1911
+				    if(isset($types['b'])){$background_i[] = $selector;}
1912
+				    if(isset($types['o'])){$border_i[] = $selector;}
1913
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1914
+			    }
1915
+
1916
+			    // add any color rules
1917
+			    if(!empty($color)){
1918
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1919
+			    }
1920
+			    if(!empty($color_i)){
1921
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1922
+			    }
1923
+
1924
+			    // add any background color rules
1925
+			    if(!empty($background)){
1926
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1927
+			    }
1928
+			    if(!empty($background_i)){
1929
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1930
+			    }
1931
+
1932
+			    // add any border color rules
1933
+			    if(!empty($border)){
1934
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1935
+			    }
1936
+			    if(!empty($border_i)){
1937
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1938
+			    }
1939
+
1940
+			    // add any fill color rules
1941
+			    if(!empty($fill)){
1942
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1943
+			    }
1944
+			    if(!empty($fill_i)){
1945
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1946
+			    }
1947
+
1948
+
1949
+			    $prefix = $compatibility ? ".bsui " : "";
1950
+
1951
+			    // darken
1952
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1953
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1954
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1955
+
1956
+			    // lighten
1957
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1958
+
1959
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1960
+			    $op_25 = $color_code."40"; // 25% opacity
1961
+
1962
+
1963
+			    // button states
1964
+			    $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1965
+			    $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1966
+			    $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1967
+			    $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1968
+
1969
+
1970
+			    // dropdown's
1971
+			    $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1972
+
1973
+
1974
+			    // input states
1975
+			    $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1976
+
1977
+			    // page link
1978
+			    $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1979
+
1980
+			    return $output;
1981
+		    }
1982
+
1983
+		    /**
1984 1984
 		 *
1985 1985
 		 * @deprecated 0.1.76 Use css_overwrite()
1986 1986
 		 *
@@ -1989,123 +1989,123 @@  discard block
 block discarded – undo
1989 1989
 		 *
1990 1990
 		 * @return string
1991 1991
 		 */
1992
-		public static function css_secondary($color_code,$compatibility){;
1993
-			$color_code = sanitize_hex_color($color_code);
1994
-			if(!$color_code){return '';}
1995
-			/**
1992
+		    public static function css_secondary($color_code,$compatibility){;
1993
+			    $color_code = sanitize_hex_color($color_code);
1994
+			    if(!$color_code){return '';}
1995
+			    /**
1996 1996
 			 * c = color, b = background color, o = border-color, f = fill
1997 1997
 			 */
1998
-			$selectors = array(
1999
-				'.btn-secondary' => array('b','o'),
2000
-				'.btn-secondary.disabled' => array('b','o'),
2001
-				'.btn-secondary:disabled' => array('b','o'),
2002
-				'.btn-outline-secondary' => array('c','o'),
2003
-				'.btn-outline-secondary:hover' => array('b','o'),
2004
-				'.btn-outline-secondary.disabled' => array('c'),
2005
-				'.btn-outline-secondary:disabled' => array('c'),
2006
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2007
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2008
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2009
-				'.badge-secondary' => array('b'),
2010
-				'.alert-secondary' => array('b','o'),
2011
-				'.btn-link.btn-secondary' => array('c'),
2012
-			);
2013
-
2014
-			$important_selectors = array(
2015
-				'.bg-secondary' => array('b','f'),
2016
-				'.border-secondary' => array('o'),
2017
-				'.text-secondary' => array('c'),
2018
-			);
2019
-
2020
-			$color = array();
2021
-			$color_i = array();
2022
-			$background = array();
2023
-			$background_i = array();
2024
-			$border = array();
2025
-			$border_i = array();
2026
-			$fill = array();
2027
-			$fill_i = array();
2028
-
2029
-			$output = '';
2030
-
2031
-			// build rules into each type
2032
-			foreach($selectors as $selector => $types){
2033
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2034
-				$types = array_combine($types,$types);
2035
-				if(isset($types['c'])){$color[] = $selector;}
2036
-				if(isset($types['b'])){$background[] = $selector;}
2037
-				if(isset($types['o'])){$border[] = $selector;}
2038
-				if(isset($types['f'])){$fill[] = $selector;}
2039
-			}
2040
-
2041
-			// build rules into each type
2042
-			foreach($important_selectors as $selector => $types){
2043
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2044
-				$types = array_combine($types,$types);
2045
-				if(isset($types['c'])){$color_i[] = $selector;}
2046
-				if(isset($types['b'])){$background_i[] = $selector;}
2047
-				if(isset($types['o'])){$border_i[] = $selector;}
2048
-				if(isset($types['f'])){$fill_i[] = $selector;}
2049
-			}
2050
-
2051
-			// add any color rules
2052
-			if(!empty($color)){
2053
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2054
-			}
2055
-			if(!empty($color_i)){
2056
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2057
-			}
2058
-
2059
-			// add any background color rules
2060
-			if(!empty($background)){
2061
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2062
-			}
2063
-			if(!empty($background_i)){
2064
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2065
-			}
2066
-
2067
-			// add any border color rules
2068
-			if(!empty($border)){
2069
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2070
-			}
2071
-			if(!empty($border_i)){
2072
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2073
-			}
2074
-
2075
-			// add any fill color rules
2076
-			if(!empty($fill)){
2077
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2078
-			}
2079
-			if(!empty($fill_i)){
2080
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2081
-			}
2082
-
2083
-
2084
-			$prefix = $compatibility ? ".bsui " : "";
2085
-
2086
-			// darken
2087
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2088
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2089
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2090
-
2091
-			// lighten
2092
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2093
-
2094
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2095
-			$op_25 = $color_code."40"; // 25% opacity
2096
-
2097
-
2098
-			// button states
2099
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2100
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2101
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
2102
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2103
-
2104
-
2105
-			return $output;
2106
-		}
2107
-
2108
-		/**
1998
+			    $selectors = array(
1999
+				    '.btn-secondary' => array('b','o'),
2000
+				    '.btn-secondary.disabled' => array('b','o'),
2001
+				    '.btn-secondary:disabled' => array('b','o'),
2002
+				    '.btn-outline-secondary' => array('c','o'),
2003
+				    '.btn-outline-secondary:hover' => array('b','o'),
2004
+				    '.btn-outline-secondary.disabled' => array('c'),
2005
+				    '.btn-outline-secondary:disabled' => array('c'),
2006
+				    '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2007
+				    '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2008
+				    '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2009
+				    '.badge-secondary' => array('b'),
2010
+				    '.alert-secondary' => array('b','o'),
2011
+				    '.btn-link.btn-secondary' => array('c'),
2012
+			    );
2013
+
2014
+			    $important_selectors = array(
2015
+				    '.bg-secondary' => array('b','f'),
2016
+				    '.border-secondary' => array('o'),
2017
+				    '.text-secondary' => array('c'),
2018
+			    );
2019
+
2020
+			    $color = array();
2021
+			    $color_i = array();
2022
+			    $background = array();
2023
+			    $background_i = array();
2024
+			    $border = array();
2025
+			    $border_i = array();
2026
+			    $fill = array();
2027
+			    $fill_i = array();
2028
+
2029
+			    $output = '';
2030
+
2031
+			    // build rules into each type
2032
+			    foreach($selectors as $selector => $types){
2033
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2034
+				    $types = array_combine($types,$types);
2035
+				    if(isset($types['c'])){$color[] = $selector;}
2036
+				    if(isset($types['b'])){$background[] = $selector;}
2037
+				    if(isset($types['o'])){$border[] = $selector;}
2038
+				    if(isset($types['f'])){$fill[] = $selector;}
2039
+			    }
2040
+
2041
+			    // build rules into each type
2042
+			    foreach($important_selectors as $selector => $types){
2043
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2044
+				    $types = array_combine($types,$types);
2045
+				    if(isset($types['c'])){$color_i[] = $selector;}
2046
+				    if(isset($types['b'])){$background_i[] = $selector;}
2047
+				    if(isset($types['o'])){$border_i[] = $selector;}
2048
+				    if(isset($types['f'])){$fill_i[] = $selector;}
2049
+			    }
2050
+
2051
+			    // add any color rules
2052
+			    if(!empty($color)){
2053
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
2054
+			    }
2055
+			    if(!empty($color_i)){
2056
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2057
+			    }
2058
+
2059
+			    // add any background color rules
2060
+			    if(!empty($background)){
2061
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
2062
+			    }
2063
+			    if(!empty($background_i)){
2064
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2065
+			    }
2066
+
2067
+			    // add any border color rules
2068
+			    if(!empty($border)){
2069
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
2070
+			    }
2071
+			    if(!empty($border_i)){
2072
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2073
+			    }
2074
+
2075
+			    // add any fill color rules
2076
+			    if(!empty($fill)){
2077
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
2078
+			    }
2079
+			    if(!empty($fill_i)){
2080
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2081
+			    }
2082
+
2083
+
2084
+			    $prefix = $compatibility ? ".bsui " : "";
2085
+
2086
+			    // darken
2087
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2088
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2089
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2090
+
2091
+			    // lighten
2092
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2093
+
2094
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
2095
+			    $op_25 = $color_code."40"; // 25% opacity
2096
+
2097
+
2098
+			    // button states
2099
+			    $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2100
+			    $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2101
+			    $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
2102
+			    $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2103
+
2104
+
2105
+			    return $output;
2106
+		    }
2107
+
2108
+		    /**
2109 2109
 		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2110 2110
 		 *
2111 2111
 		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
@@ -2113,265 +2113,265 @@  discard block
 block discarded – undo
2113 2113
 		 *
2114 2114
 		 * @return  string
2115 2115
 		 */
2116
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2117
-			$hexCode = ltrim($hexCode, '#');
2116
+		    public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2117
+			    $hexCode = ltrim($hexCode, '#');
2118 2118
 
2119
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2120
-				return $hexCode;
2121
-			}
2119
+			    if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2120
+				    return $hexCode;
2121
+			    }
2122 2122
 
2123
-			if (strlen($hexCode) == 3) {
2124
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2125
-			}
2123
+			    if (strlen($hexCode) == 3) {
2124
+				    $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2125
+			    }
2126 2126
 
2127
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2127
+			    $hexCode = array_map('hexdec', str_split($hexCode, 2));
2128 2128
 
2129
-			foreach ($hexCode as & $color) {
2130
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2131
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2129
+			    foreach ($hexCode as & $color) {
2130
+				    $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2131
+				    $adjustAmount = ceil($adjustableLimit * $adjustPercent);
2132 2132
 
2133
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2134
-			}
2133
+				    $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2134
+			    }
2135 2135
 
2136
-			return '#' . implode($hexCode);
2137
-		}
2136
+			    return '#' . implode($hexCode);
2137
+		    }
2138 2138
 
2139
-		/**
2139
+		    /**
2140 2140
 		 * Check if we should display examples.
2141 2141
 		 */
2142
-		public function maybe_show_examples(){
2143
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2144
-				echo "<head>";
2145
-				wp_head();
2146
-				echo "</head>";
2147
-				echo "<body>";
2148
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2149
-				echo "</body>";
2150
-				exit;
2151
-			}
2152
-		}
2153
-
2154
-		/**
2142
+		    public function maybe_show_examples(){
2143
+			    if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2144
+				    echo "<head>";
2145
+				    wp_head();
2146
+				    echo "</head>";
2147
+				    echo "<body>";
2148
+				    echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2149
+				    echo "</body>";
2150
+				    exit;
2151
+			    }
2152
+		    }
2153
+
2154
+		    /**
2155 2155
 		 * Get developer examples.
2156 2156
 		 *
2157 2157
 		 * @return string
2158 2158
 		 */
2159
-		public function get_examples(){
2160
-			$output = '';
2161
-
2162
-
2163
-			// open form
2164
-			$output .= "<form class='p-5 m-5 border rounded'>";
2165
-
2166
-			// input example
2167
-			$output .= aui()->input(array(
2168
-				'type'  =>  'text',
2169
-				'id'    =>  'text-example',
2170
-				'name'    =>  'text-example',
2171
-				'placeholder'   => 'text placeholder',
2172
-				'title'   => 'Text input example',
2173
-				'value' =>  '',
2174
-				'required'  => false,
2175
-				'help_text' => 'help text',
2176
-				'label' => 'Text input example label'
2177
-			));
2178
-
2179
-			// input example
2180
-			$output .= aui()->input(array(
2181
-				'type'  =>  'url',
2182
-				'id'    =>  'text-example2',
2183
-				'name'    =>  'text-example',
2184
-				'placeholder'   => 'url placeholder',
2185
-				'title'   => 'Text input example',
2186
-				'value' =>  '',
2187
-				'required'  => false,
2188
-				'help_text' => 'help text',
2189
-				'label' => 'Text input example label'
2190
-			));
2191
-
2192
-			// checkbox example
2193
-			$output .= aui()->input(array(
2194
-				'type'  =>  'checkbox',
2195
-				'id'    =>  'checkbox-example',
2196
-				'name'    =>  'checkbox-example',
2197
-				'placeholder'   => 'checkbox-example',
2198
-				'title'   => 'Checkbox example',
2199
-				'value' =>  '1',
2200
-				'checked'   => true,
2201
-				'required'  => false,
2202
-				'help_text' => 'help text',
2203
-				'label' => 'Checkbox checked'
2204
-			));
2205
-
2206
-			// checkbox example
2207
-			$output .= aui()->input(array(
2208
-				'type'  =>  'checkbox',
2209
-				'id'    =>  'checkbox-example2',
2210
-				'name'    =>  'checkbox-example2',
2211
-				'placeholder'   => 'checkbox-example',
2212
-				'title'   => 'Checkbox example',
2213
-				'value' =>  '1',
2214
-				'checked'   => false,
2215
-				'required'  => false,
2216
-				'help_text' => 'help text',
2217
-				'label' => 'Checkbox un-checked'
2218
-			));
2219
-
2220
-			// switch example
2221
-			$output .= aui()->input(array(
2222
-				'type'  =>  'checkbox',
2223
-				'id'    =>  'switch-example',
2224
-				'name'    =>  'switch-example',
2225
-				'placeholder'   => 'checkbox-example',
2226
-				'title'   => 'Switch example',
2227
-				'value' =>  '1',
2228
-				'checked'   => true,
2229
-				'switch'    => true,
2230
-				'required'  => false,
2231
-				'help_text' => 'help text',
2232
-				'label' => 'Switch on'
2233
-			));
2234
-
2235
-			// switch example
2236
-			$output .= aui()->input(array(
2237
-				'type'  =>  'checkbox',
2238
-				'id'    =>  'switch-example2',
2239
-				'name'    =>  'switch-example2',
2240
-				'placeholder'   => 'checkbox-example',
2241
-				'title'   => 'Switch example',
2242
-				'value' =>  '1',
2243
-				'checked'   => false,
2244
-				'switch'    => true,
2245
-				'required'  => false,
2246
-				'help_text' => 'help text',
2247
-				'label' => 'Switch off'
2248
-			));
2249
-
2250
-			// close form
2251
-			$output .= "</form>";
2252
-
2253
-			return $output;
2254
-		}
2255
-
2256
-		/**
2159
+		    public function get_examples(){
2160
+			    $output = '';
2161
+
2162
+
2163
+			    // open form
2164
+			    $output .= "<form class='p-5 m-5 border rounded'>";
2165
+
2166
+			    // input example
2167
+			    $output .= aui()->input(array(
2168
+				    'type'  =>  'text',
2169
+				    'id'    =>  'text-example',
2170
+				    'name'    =>  'text-example',
2171
+				    'placeholder'   => 'text placeholder',
2172
+				    'title'   => 'Text input example',
2173
+				    'value' =>  '',
2174
+				    'required'  => false,
2175
+				    'help_text' => 'help text',
2176
+				    'label' => 'Text input example label'
2177
+			    ));
2178
+
2179
+			    // input example
2180
+			    $output .= aui()->input(array(
2181
+				    'type'  =>  'url',
2182
+				    'id'    =>  'text-example2',
2183
+				    'name'    =>  'text-example',
2184
+				    'placeholder'   => 'url placeholder',
2185
+				    'title'   => 'Text input example',
2186
+				    'value' =>  '',
2187
+				    'required'  => false,
2188
+				    'help_text' => 'help text',
2189
+				    'label' => 'Text input example label'
2190
+			    ));
2191
+
2192
+			    // checkbox example
2193
+			    $output .= aui()->input(array(
2194
+				    'type'  =>  'checkbox',
2195
+				    'id'    =>  'checkbox-example',
2196
+				    'name'    =>  'checkbox-example',
2197
+				    'placeholder'   => 'checkbox-example',
2198
+				    'title'   => 'Checkbox example',
2199
+				    'value' =>  '1',
2200
+				    'checked'   => true,
2201
+				    'required'  => false,
2202
+				    'help_text' => 'help text',
2203
+				    'label' => 'Checkbox checked'
2204
+			    ));
2205
+
2206
+			    // checkbox example
2207
+			    $output .= aui()->input(array(
2208
+				    'type'  =>  'checkbox',
2209
+				    'id'    =>  'checkbox-example2',
2210
+				    'name'    =>  'checkbox-example2',
2211
+				    'placeholder'   => 'checkbox-example',
2212
+				    'title'   => 'Checkbox example',
2213
+				    'value' =>  '1',
2214
+				    'checked'   => false,
2215
+				    'required'  => false,
2216
+				    'help_text' => 'help text',
2217
+				    'label' => 'Checkbox un-checked'
2218
+			    ));
2219
+
2220
+			    // switch example
2221
+			    $output .= aui()->input(array(
2222
+				    'type'  =>  'checkbox',
2223
+				    'id'    =>  'switch-example',
2224
+				    'name'    =>  'switch-example',
2225
+				    'placeholder'   => 'checkbox-example',
2226
+				    'title'   => 'Switch example',
2227
+				    'value' =>  '1',
2228
+				    'checked'   => true,
2229
+				    'switch'    => true,
2230
+				    'required'  => false,
2231
+				    'help_text' => 'help text',
2232
+				    'label' => 'Switch on'
2233
+			    ));
2234
+
2235
+			    // switch example
2236
+			    $output .= aui()->input(array(
2237
+				    'type'  =>  'checkbox',
2238
+				    'id'    =>  'switch-example2',
2239
+				    'name'    =>  'switch-example2',
2240
+				    'placeholder'   => 'checkbox-example',
2241
+				    'title'   => 'Switch example',
2242
+				    'value' =>  '1',
2243
+				    'checked'   => false,
2244
+				    'switch'    => true,
2245
+				    'required'  => false,
2246
+				    'help_text' => 'help text',
2247
+				    'label' => 'Switch off'
2248
+			    ));
2249
+
2250
+			    // close form
2251
+			    $output .= "</form>";
2252
+
2253
+			    return $output;
2254
+		    }
2255
+
2256
+		    /**
2257 2257
 		 * Calendar params.
2258 2258
 		 *
2259 2259
 		 * @since 0.1.44
2260 2260
 		 *
2261 2261
 		 * @return array Calendar params.
2262 2262
 		 */
2263
-		public static function calendar_params() {
2264
-			$params = array(
2265
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2266
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2267
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2268
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2269
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2270
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2271
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2272
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2273
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2274
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2275
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2276
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2277
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2278
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2279
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2280
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2281
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2282
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2283
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2284
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2285
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2286
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2287
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2288
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2289
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2290
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2291
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2292
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2293
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2294
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2295
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2296
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2297
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2298
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2299
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2300
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2301
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2302
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2303
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2304
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2305
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2306
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2307
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2308
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2309
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2310
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2311
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2312
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2313
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2314
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2315
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2316
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2317
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2318
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2319
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2320
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2321
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2322
-				'time_24hr' => false,
2323
-				'year' => __( 'Year', 'ayecode-connect' ),
2324
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2325
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2326
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2327
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2328
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2329
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2330
-			);
2331
-
2332
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2333
-		}
2334
-
2335
-		/**
2263
+		    public static function calendar_params() {
2264
+			    $params = array(
2265
+				    'month_long_1' => __( 'January', 'ayecode-connect' ),
2266
+				    'month_long_2' => __( 'February', 'ayecode-connect' ),
2267
+				    'month_long_3' => __( 'March', 'ayecode-connect' ),
2268
+				    'month_long_4' => __( 'April', 'ayecode-connect' ),
2269
+				    'month_long_5' => __( 'May', 'ayecode-connect' ),
2270
+				    'month_long_6' => __( 'June', 'ayecode-connect' ),
2271
+				    'month_long_7' => __( 'July', 'ayecode-connect' ),
2272
+				    'month_long_8' => __( 'August', 'ayecode-connect' ),
2273
+				    'month_long_9' => __( 'September', 'ayecode-connect' ),
2274
+				    'month_long_10' => __( 'October', 'ayecode-connect' ),
2275
+				    'month_long_11' => __( 'November', 'ayecode-connect' ),
2276
+				    'month_long_12' => __( 'December', 'ayecode-connect' ),
2277
+				    'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2278
+				    'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2279
+				    'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2280
+				    'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2281
+				    'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2282
+				    'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2283
+				    'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2284
+				    'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2285
+				    'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2286
+				    'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2287
+				    'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2288
+				    'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2289
+				    'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2290
+				    'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2291
+				    'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2292
+				    'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2293
+				    'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2294
+				    'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2295
+				    'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2296
+				    'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2297
+				    'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2298
+				    'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2299
+				    'day_s2_4' => __( 'We', 'ayecode-connect' ),
2300
+				    'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2301
+				    'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2302
+				    'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2303
+				    'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2304
+				    'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2305
+				    'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2306
+				    'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2307
+				    'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2308
+				    'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2309
+				    'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2310
+				    'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2311
+				    'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2312
+				    'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2313
+				    'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2314
+				    'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2315
+				    'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2316
+				    'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2317
+				    'am_lower' => __( 'am', 'ayecode-connect' ),
2318
+				    'pm_lower' => __( 'pm', 'ayecode-connect' ),
2319
+				    'am_upper' => __( 'AM', 'ayecode-connect' ),
2320
+				    'pm_upper' => __( 'PM', 'ayecode-connect' ),
2321
+				    'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2322
+				    'time_24hr' => false,
2323
+				    'year' => __( 'Year', 'ayecode-connect' ),
2324
+				    'hour' => __( 'Hour', 'ayecode-connect' ),
2325
+				    'minute' => __( 'Minute', 'ayecode-connect' ),
2326
+				    'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2327
+				    'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2328
+				    'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2329
+				    'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2330
+			    );
2331
+
2332
+			    return apply_filters( 'ayecode_ui_calendar_params', $params );
2333
+		    }
2334
+
2335
+		    /**
2336 2336
 		 * Flatpickr calendar localize.
2337 2337
 		 *
2338 2338
 		 * @since 0.1.44
2339 2339
 		 *
2340 2340
 		 * @return string Calendar locale.
2341 2341
 		 */
2342
-		public static function flatpickr_locale() {
2343
-			$params = self::calendar_params();
2344
-
2345
-			if ( is_string( $params ) ) {
2346
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2347
-			} else {
2348
-				foreach ( (array) $params as $key => $value ) {
2349
-					if ( ! is_scalar( $value ) ) {
2350
-						continue;
2351
-					}
2352
-
2353
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2354
-				}
2355
-			}
2356
-
2357
-			$day_s3 = array();
2358
-			$day_s5 = array();
2359
-
2360
-			for ( $i = 1; $i <= 7; $i ++ ) {
2361
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2362
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2363
-			}
2364
-
2365
-			$month_s = array();
2366
-			$month_long = array();
2367
-
2368
-			for ( $i = 1; $i <= 12; $i ++ ) {
2369
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2370
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2371
-			}
2372
-
2373
-			ob_start();
2374
-		if ( 0 ) { ?><script><?php } ?>
2342
+		    public static function flatpickr_locale() {
2343
+			    $params = self::calendar_params();
2344
+
2345
+			    if ( is_string( $params ) ) {
2346
+				    $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2347
+			    } else {
2348
+				    foreach ( (array) $params as $key => $value ) {
2349
+					    if ( ! is_scalar( $value ) ) {
2350
+						    continue;
2351
+					    }
2352
+
2353
+					    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2354
+				    }
2355
+			    }
2356
+
2357
+			    $day_s3 = array();
2358
+			    $day_s5 = array();
2359
+
2360
+			    for ( $i = 1; $i <= 7; $i ++ ) {
2361
+				    $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2362
+				    $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2363
+			    }
2364
+
2365
+			    $month_s = array();
2366
+			    $month_long = array();
2367
+
2368
+			    for ( $i = 1; $i <= 12; $i ++ ) {
2369
+				    $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2370
+				    $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2371
+			    }
2372
+
2373
+			    ob_start();
2374
+		    if ( 0 ) { ?><script><?php } ?>
2375 2375
                 {
2376 2376
                     weekdays: {
2377 2377
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2407,192 +2407,192 @@  discard block
 block discarded – undo
2407 2407
                     hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2408 2408
                     minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2409 2409
                     time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2410
-                }
2410
+                    }
2411 2411
 				<?php if ( 0 ) { ?></script><?php } ?>
2412
-			<?php
2413
-			$locale = ob_get_clean();
2412
+    			<?php
2413
+			    $locale = ob_get_clean();
2414 2414
 
2415
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2416
-		}
2415
+			    return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2416
+		    }
2417 2417
 
2418
-		/**
2418
+		    /**
2419 2419
 		 * Select2 JS params.
2420 2420
 		 *
2421 2421
 		 * @since 0.1.44
2422 2422
 		 *
2423 2423
 		 * @return array Select2 JS params.
2424 2424
 		 */
2425
-		public static function select2_params() {
2426
-			$params = array(
2427
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2428
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2429
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2430
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2431
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2432
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2433
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2434
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2435
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2436
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2437
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2438
-			);
2439
-
2440
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2441
-		}
2442
-
2443
-		/**
2425
+		    public static function select2_params() {
2426
+			    $params = array(
2427
+				    'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2428
+				    'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2429
+				    'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2430
+				    'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2431
+				    'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2432
+				    'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2433
+				    'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2434
+				    'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2435
+				    'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2436
+				    'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2437
+				    'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2438
+			    );
2439
+
2440
+			    return apply_filters( 'ayecode_ui_select2_params', $params );
2441
+		    }
2442
+
2443
+		    /**
2444 2444
 		 * Select2 JS localize.
2445 2445
 		 *
2446 2446
 		 * @since 0.1.44
2447 2447
 		 *
2448 2448
 		 * @return string Select2 JS locale.
2449 2449
 		 */
2450
-		public static function select2_locale() {
2451
-			$params = self::select2_params();
2450
+		    public static function select2_locale() {
2451
+			    $params = self::select2_params();
2452 2452
 
2453
-			foreach ( (array) $params as $key => $value ) {
2454
-				if ( ! is_scalar( $value ) ) {
2455
-					continue;
2456
-				}
2453
+			    foreach ( (array) $params as $key => $value ) {
2454
+				    if ( ! is_scalar( $value ) ) {
2455
+					    continue;
2456
+				    }
2457 2457
 
2458
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2459
-			}
2458
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2459
+			    }
2460 2460
 
2461
-			$locale = json_encode( $params );
2461
+			    $locale = json_encode( $params );
2462 2462
 
2463
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2464
-		}
2463
+			    return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2464
+		    }
2465 2465
 
2466
-		/**
2466
+		    /**
2467 2467
 		 * Time ago JS localize.
2468 2468
 		 *
2469 2469
 		 * @since 0.1.47
2470 2470
 		 *
2471 2471
 		 * @return string Time ago JS locale.
2472 2472
 		 */
2473
-		public static function timeago_locale() {
2474
-			$params = array(
2475
-				'prefix_ago' => '',
2476
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2477
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2478
-				'suffix_after' => '',
2479
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2480
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2481
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2482
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2483
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2484
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2485
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2486
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2487
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2488
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2489
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2490
-			);
2491
-
2492
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2493
-
2494
-			foreach ( (array) $params as $key => $value ) {
2495
-				if ( ! is_scalar( $value ) ) {
2496
-					continue;
2497
-				}
2498
-
2499
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2500
-			}
2501
-
2502
-			$locale = json_encode( $params );
2503
-
2504
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2505
-		}
2506
-
2507
-		/**
2473
+		    public static function timeago_locale() {
2474
+			    $params = array(
2475
+				    'prefix_ago' => '',
2476
+				    'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2477
+				    'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2478
+				    'suffix_after' => '',
2479
+				    'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2480
+				    'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2481
+				    'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2482
+				    'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2483
+				    'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2484
+				    'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2485
+				    'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2486
+				    'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2487
+				    'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2488
+				    'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2489
+				    'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2490
+			    );
2491
+
2492
+			    $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2493
+
2494
+			    foreach ( (array) $params as $key => $value ) {
2495
+				    if ( ! is_scalar( $value ) ) {
2496
+					    continue;
2497
+				    }
2498
+
2499
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2500
+			    }
2501
+
2502
+			    $locale = json_encode( $params );
2503
+
2504
+			    return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2505
+		    }
2506
+
2507
+		    /**
2508 2508
 		 * JavaScript Minifier
2509 2509
 		 *
2510 2510
 		 * @param $input
2511 2511
 		 *
2512 2512
 		 * @return mixed
2513 2513
 		 */
2514
-		public static function minify_js($input) {
2515
-			if(trim($input) === "") return $input;
2516
-			return preg_replace(
2517
-				array(
2518
-					// Remove comment(s)
2519
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2520
-					// Remove white-space(s) outside the string and regex
2521
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2522
-					// Remove the last semicolon
2523
-					'#;+\}#',
2524
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2525
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2526
-					// --ibid. From `foo['bar']` to `foo.bar`
2527
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2528
-				),
2529
-				array(
2530
-					'$1',
2531
-					'$1$2',
2532
-					'}',
2533
-					'$1$3',
2534
-					'$1.$3'
2535
-				),
2536
-				$input);
2537
-		}
2538
-
2539
-		/**
2514
+		    public static function minify_js($input) {
2515
+			    if(trim($input) === "") return $input;
2516
+			    return preg_replace(
2517
+				    array(
2518
+					    // Remove comment(s)
2519
+					    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2520
+					    // Remove white-space(s) outside the string and regex
2521
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2522
+					    // Remove the last semicolon
2523
+					    '#;+\}#',
2524
+					    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2525
+					    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2526
+					    // --ibid. From `foo['bar']` to `foo.bar`
2527
+					    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2528
+				    ),
2529
+				    array(
2530
+					    '$1',
2531
+					    '$1$2',
2532
+					    '}',
2533
+					    '$1$3',
2534
+					    '$1.$3'
2535
+				    ),
2536
+				    $input);
2537
+		    }
2538
+
2539
+		    /**
2540 2540
 		 * Minify CSS
2541 2541
 		 *
2542 2542
 		 * @param $input
2543 2543
 		 *
2544 2544
 		 * @return mixed
2545 2545
 		 */
2546
-		public static function minify_css($input) {
2547
-			if(trim($input) === "") return $input;
2548
-			return preg_replace(
2549
-				array(
2550
-					// Remove comment(s)
2551
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2552
-					// Remove unused white-space(s)
2553
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2554
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2555
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2556
-					// Replace `:0 0 0 0` with `:0`
2557
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2558
-					// Replace `background-position:0` with `background-position:0 0`
2559
-					'#(background-position):0(?=[;\}])#si',
2560
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2561
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2562
-					// Minify string value
2563
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2564
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2565
-					// Minify HEX color code
2566
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2567
-					// Replace `(border|outline):none` with `(border|outline):0`
2568
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2569
-					// Remove empty selector(s)
2570
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2571
-				),
2572
-				array(
2573
-					'$1',
2574
-					'$1$2$3$4$5$6$7',
2575
-					'$1',
2576
-					':0',
2577
-					'$1:0 0',
2578
-					'.$1',
2579
-					'$1$3',
2580
-					'$1$2$4$5',
2581
-					'$1$2$3',
2582
-					'$1:0',
2583
-					'$1$2'
2584
-				),
2585
-				$input);
2586
-		}
2587
-
2588
-		/**
2546
+		    public static function minify_css($input) {
2547
+			    if(trim($input) === "") return $input;
2548
+			    return preg_replace(
2549
+				    array(
2550
+					    // Remove comment(s)
2551
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2552
+					    // Remove unused white-space(s)
2553
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2554
+					    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2555
+					    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2556
+					    // Replace `:0 0 0 0` with `:0`
2557
+					    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2558
+					    // Replace `background-position:0` with `background-position:0 0`
2559
+					    '#(background-position):0(?=[;\}])#si',
2560
+					    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2561
+					    '#(?<=[\s:,\-])0+\.(\d+)#s',
2562
+					    // Minify string value
2563
+					    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2564
+					    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2565
+					    // Minify HEX color code
2566
+					    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2567
+					    // Replace `(border|outline):none` with `(border|outline):0`
2568
+					    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2569
+					    // Remove empty selector(s)
2570
+					    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2571
+				    ),
2572
+				    array(
2573
+					    '$1',
2574
+					    '$1$2$3$4$5$6$7',
2575
+					    '$1',
2576
+					    ':0',
2577
+					    '$1:0 0',
2578
+					    '.$1',
2579
+					    '$1$3',
2580
+					    '$1$2$4$5',
2581
+					    '$1$2$3',
2582
+					    '$1:0',
2583
+					    '$1$2'
2584
+				    ),
2585
+				    $input);
2586
+		    }
2587
+
2588
+		    /**
2589 2589
 		 * Get the conditional fields JavaScript.
2590 2590
 		 *
2591 2591
 		 * @return mixed
2592 2592
 		 */
2593
-		public function conditional_fields_js() {
2594
-			ob_start();
2595
-			?>
2593
+		    public function conditional_fields_js() {
2594
+			    ob_start();
2595
+			    ?>
2596 2596
             <script>
2597 2597
                 /**
2598 2598
                  * Conditional Fields
@@ -3122,16 +3122,16 @@  discard block
 block discarded – undo
3122 3122
                     }
3123 3123
                 }
3124 3124
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3125
-            </script>
3125
+                </script>
3126 3126
 			<?php
3127
-			$output = ob_get_clean();
3127
+			    $output = ob_get_clean();
3128 3128
 
3129
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3130
-		}
3131
-	}
3129
+			    return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3130
+		    }
3131
+	    }
3132 3132
 
3133
-	/**
3133
+	    /**
3134 3134
 	 * Run the class if found.
3135 3135
 	 */
3136
-	AyeCode_UI_Settings::instance();
3136
+	    AyeCode_UI_Settings::instance();
3137 3137
 }
3138 3138
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/sd-plugin.php 1 patch
Switch Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * This is a Hello World test plugin for WP Super Duper Class.
4 4
  *
@@ -14,26 +14,26 @@  discard block
 block discarded – undo
14 14
  * Tested up to: 6.6
15 15
  */
16 16
 
17
-if ( ! defined( 'ABSPATH' ) ) {
18
-	exit;
17
+    if ( ! defined( 'ABSPATH' ) ) {
18
+	    exit;
19 19
 }
20 20
 
21
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
22
-	// include the class if needed
23
-	include_once( dirname( __FILE__ ) . "/wp-super-duper.php" );
21
+    if ( ! class_exists( 'WP_Super_Duper' ) ) {
22
+	    // include the class if needed
23
+	    include_once( dirname( __FILE__ ) . "/wp-super-duper.php" );
24 24
 }
25 25
 
26 26
 /*
27 27
  * Hello world example.
28 28
  */
29
-include_once( dirname( __FILE__ ) . "/hello-world.php" );
29
+    include_once( dirname( __FILE__ ) . "/hello-world.php" );
30 30
 
31 31
 /*
32 32
  * Map example.
33 33
  */
34
-include_once( dirname( __FILE__ ) . "/map.php" );
34
+    include_once( dirname( __FILE__ ) . "/map.php" );
35 35
 
36 36
 
37
-if ( ! function_exists( 'sd_get_class_build_keys' ) ) {
38
-	include_once( dirname( __FILE__ ) . "/sd-functions.php" );
37
+    if ( ! function_exists( 'sd_get_class_build_keys' ) ) {
38
+	    include_once( dirname( __FILE__ ) . "/sd-functions.php" );
39 39
 }
40 40
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/wp-super-duper.php 1 patch
Switch Indentation   +2001 added lines, -2001 removed lines patch added patch discarded remove patch
@@ -1,13 +1,13 @@  discard block
 block discarded – undo
1
-<?php
2
-if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
1
+    <?php
2
+    if ( ! defined( 'ABSPATH' ) ) {
3
+	    exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
6
+    if ( ! class_exists( 'WP_Super_Duper' ) ) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.2.9' );
8
+	    define( 'SUPER_DUPER_VER', '1.2.9' );
9 9
 
10
-	/**
10
+	    /**
11 11
 	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12 12
 	 *
13 13
 	 * Should not be called direct but extended instead.
@@ -16,285 +16,285 @@  discard block
 block discarded – undo
16 16
 	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17 17
 	 * @ver 1.1.1
18 18
 	 */
19
-	class WP_Super_Duper extends WP_Widget {
20
-
21
-		public $version = SUPER_DUPER_VER;
22
-		public $font_awesome_icon_version = "5.11.2";
23
-		public $block_code;
24
-		public $options;
25
-		public $base_id;
26
-		public $settings_hash;
27
-		public $arguments = array();
28
-		public $instance = array();
29
-		private $class_name;
30
-
31
-		/**
19
+	    class WP_Super_Duper extends WP_Widget {
20
+
21
+		    public $version = SUPER_DUPER_VER;
22
+		    public $font_awesome_icon_version = "5.11.2";
23
+		    public $block_code;
24
+		    public $options;
25
+		    public $base_id;
26
+		    public $settings_hash;
27
+		    public $arguments = array();
28
+		    public $instance = array();
29
+		    private $class_name;
30
+
31
+		    /**
32 32
 		 * The relative url to the current folder.
33 33
 		 *
34 34
 		 * @var string
35 35
 		 */
36
-		public $url = '';
36
+		    public $url = '';
37 37
 
38
-		/**
38
+		    /**
39 39
 		 * Take the array options and use them to build.
40 40
 		 */
41
-		public function __construct( $options ) {
42
-			global $sd_widgets;
43
-
44
-			$sd_widgets[ $options['base_id'] ] = array(
45
-				'name'       => $options['name'],
46
-				'class_name' => $options['class_name'],
47
-				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
-			);
49
-			$this->base_id                     = $options['base_id'];
50
-			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
54
-			$this->options = $options;
55
-
56
-			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
-
59
-			// nested blocks can't work as a widget
60
-			if(!empty($this->options['nested-block'])){
61
-				if(empty($this->options['output_types'])){
62
-					$this->options['output_types'] = array('shortcode','block');
63
-				}elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
-					unset($this->options['output_types'][$key]);
65
-				}
66
-			}
67
-
68
-			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
-				parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
-			}
72
-
73
-
74
-			if ( isset( $options['class_name'] ) ) {
75
-				// register widget
76
-				$this->class_name = $options['class_name'];
77
-
78
-				// register shortcode, this needs to be done even for blocks and widgets
79
-				$this->register_shortcode();
80
-
81
-
82
-				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
85
-				}
86
-
87
-				// register block
88
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
90
-				}
91
-			}
92
-
93
-			// add the CSS and JS we need ONCE
94
-			global $sd_widget_scripts;
95
-
96
-			if ( ! $sd_widget_scripts ) {
97
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
-				wp_add_inline_style( 'widgets', $this->widget_css() );
100
-
101
-				// maybe add elementor editor styles
102
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
103
-
104
-				$sd_widget_scripts = true;
105
-
106
-				// add shortcode insert button once
107
-				add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
108
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
109
-				// generatepress theme sections compatibility
110
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
111
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
112
-				}
113
-				/* Load script on Divi theme builder page */
114
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
115
-					add_thickbox();
116
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
117
-				}
118
-
119
-				if ( $this->is_preview() ) {
120
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
121
-					// this makes the insert button work for elementor
122
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
123
-						$this,
124
-						'shortcode_insert_button_script'
125
-					) ); // for elementor
126
-				}
127
-				// this makes the insert button work for cornerstone
128
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
129
-
130
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
131
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
132
-
133
-				// add generator text to head
134
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
135
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
136
-			}
137
-
138
-			do_action( 'wp_super_duper_widget_init', $options, $this );
139
-		}
140
-
141
-		/**
41
+		    public function __construct( $options ) {
42
+			    global $sd_widgets;
43
+
44
+			    $sd_widgets[ $options['base_id'] ] = array(
45
+				    'name'       => $options['name'],
46
+				    'class_name' => $options['class_name'],
47
+				    'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
+			    );
49
+			    $this->base_id                     = $options['base_id'];
50
+			    // lets filter the options before we do anything
51
+			    $options       = apply_filters( "wp_super_duper_options", $options );
52
+			    $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
+			    $options       = $this->add_name_from_key( $options );
54
+			    $this->options = $options;
55
+
56
+			    $this->base_id   = $options['base_id'];
57
+			    $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
+
59
+			    // nested blocks can't work as a widget
60
+			    if(!empty($this->options['nested-block'])){
61
+				    if(empty($this->options['output_types'])){
62
+					    $this->options['output_types'] = array('shortcode','block');
63
+				    }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
+					    unset($this->options['output_types'][$key]);
65
+				    }
66
+			    }
67
+
68
+			    // init parent
69
+			    if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
+				    parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
+			    }
72
+
73
+
74
+			    if ( isset( $options['class_name'] ) ) {
75
+				    // register widget
76
+				    $this->class_name = $options['class_name'];
77
+
78
+				    // register shortcode, this needs to be done even for blocks and widgets
79
+				    $this->register_shortcode();
80
+
81
+
82
+				    // Fusion Builder (avada) support
83
+				    if ( function_exists( 'fusion_builder_map' ) ) {
84
+					    add_action( 'init', array( $this, 'register_fusion_element' ) );
85
+				    }
86
+
87
+				    // register block
88
+				    if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
+					    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
90
+				    }
91
+			    }
92
+
93
+			    // add the CSS and JS we need ONCE
94
+			    global $sd_widget_scripts;
95
+
96
+			    if ( ! $sd_widget_scripts ) {
97
+				    wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
+				    wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
+				    wp_add_inline_style( 'widgets', $this->widget_css() );
100
+
101
+				    // maybe add elementor editor styles
102
+				    add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
103
+
104
+				    $sd_widget_scripts = true;
105
+
106
+				    // add shortcode insert button once
107
+				    add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
108
+				    add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
109
+				    // generatepress theme sections compatibility
110
+				    if ( function_exists( 'generate_sections_sections_metabox' ) ) {
111
+					    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
112
+				    }
113
+				    /* Load script on Divi theme builder page */
114
+				    if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
115
+					    add_thickbox();
116
+					    add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
117
+				    }
118
+
119
+				    if ( $this->is_preview() ) {
120
+					    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
121
+					    // this makes the insert button work for elementor
122
+					    add_action( 'elementor/editor/after_enqueue_scripts', array(
123
+						    $this,
124
+						    'shortcode_insert_button_script'
125
+					    ) ); // for elementor
126
+				    }
127
+				    // this makes the insert button work for cornerstone
128
+				    add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
129
+
130
+				    add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
131
+				    add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
132
+
133
+				    // add generator text to head
134
+				    add_action( 'admin_head', array( $this, 'generator' ), 99 );
135
+				    add_action( 'wp_head', array( $this, 'generator' ), 99 );
136
+			    }
137
+
138
+			    do_action( 'wp_super_duper_widget_init', $options, $this );
139
+		    }
140
+
141
+		    /**
142 142
 		 * The register widget function
143 143
 		 * @return void
144 144
 		 */
145
-		public function _register() {
146
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
147
-				parent::_register();
148
-			}
149
-		}
145
+		    public function _register() {
146
+			    if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
147
+				    parent::_register();
148
+			    }
149
+		    }
150 150
 
151
-		/**
151
+		    /**
152 152
 		 * Add our widget CSS to elementor editor.
153 153
 		 */
154
-		public function elementor_editor_styles() {
155
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
156
-		}
157
-
158
-		public function register_fusion_element() {
159
-
160
-			$options = $this->options;
161
-
162
-			if ( $this->base_id ) {
163
-
164
-				$params = $this->get_fusion_params();
165
-
166
-				$args = array(
167
-					'name'            => $options['name'],
168
-					'shortcode'       => $this->base_id,
169
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
170
-					'allow_generator' => true,
171
-				);
172
-
173
-				if ( ! empty( $params ) ) {
174
-					$args['params'] = $params;
175
-				}
176
-
177
-				fusion_builder_map( $args );
178
-			}
179
-
180
-		}
181
-
182
-		public function get_fusion_params() {
183
-			$params    = array();
184
-			$arguments = $this->get_arguments();
185
-
186
-			if ( ! empty( $arguments ) ) {
187
-				foreach ( $arguments as $key => $val ) {
188
-					$param = array();
189
-					// type
190
-					$param['type'] = str_replace(
191
-						array(
192
-							"text",
193
-							"number",
194
-							"email",
195
-							"color",
196
-							"checkbox"
197
-						),
198
-						array(
199
-							"textfield",
200
-							"textfield",
201
-							"textfield",
202
-							"colorpicker",
203
-							"select",
204
-
205
-						),
206
-						$val['type'] );
207
-
208
-					// multiselect
209
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
210
-						$param['type']     = 'multiple_select';
211
-						$param['multiple'] = true;
212
-					}
213
-
214
-					// heading
215
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
216
-
217
-					// description
218
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
219
-
220
-					// param_name
221
-					$param['param_name'] = $key;
222
-
223
-					// Default
224
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
225
-
226
-					// Group
227
-					if ( isset( $val['group'] ) ) {
228
-						$param['group'] = $val['group'];
229
-					}
230
-
231
-					// value
232
-					if ( $val['type'] == 'checkbox' ) {
233
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
234
-							unset( $param['default'] );
235
-						}
236
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
237
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
238
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
239
-					} else {
240
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
241
-					}
242
-
243
-					// setup the param
244
-					$params[] = $param;
245
-
246
-				}
247
-			}
248
-
249
-
250
-			return $params;
251
-		}
252
-
253
-		/**
154
+		    public function elementor_editor_styles() {
155
+			    wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
156
+		    }
157
+
158
+		    public function register_fusion_element() {
159
+
160
+			    $options = $this->options;
161
+
162
+			    if ( $this->base_id ) {
163
+
164
+				    $params = $this->get_fusion_params();
165
+
166
+				    $args = array(
167
+					    'name'            => $options['name'],
168
+					    'shortcode'       => $this->base_id,
169
+					    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
170
+					    'allow_generator' => true,
171
+				    );
172
+
173
+				    if ( ! empty( $params ) ) {
174
+					    $args['params'] = $params;
175
+				    }
176
+
177
+				    fusion_builder_map( $args );
178
+			    }
179
+
180
+		    }
181
+
182
+		    public function get_fusion_params() {
183
+			    $params    = array();
184
+			    $arguments = $this->get_arguments();
185
+
186
+			    if ( ! empty( $arguments ) ) {
187
+				    foreach ( $arguments as $key => $val ) {
188
+					    $param = array();
189
+					    // type
190
+					    $param['type'] = str_replace(
191
+						    array(
192
+							    "text",
193
+							    "number",
194
+							    "email",
195
+							    "color",
196
+							    "checkbox"
197
+						    ),
198
+						    array(
199
+							    "textfield",
200
+							    "textfield",
201
+							    "textfield",
202
+							    "colorpicker",
203
+							    "select",
204
+
205
+						    ),
206
+						    $val['type'] );
207
+
208
+					    // multiselect
209
+					    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
210
+						    $param['type']     = 'multiple_select';
211
+						    $param['multiple'] = true;
212
+					    }
213
+
214
+					    // heading
215
+					    $param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
216
+
217
+					    // description
218
+					    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
219
+
220
+					    // param_name
221
+					    $param['param_name'] = $key;
222
+
223
+					    // Default
224
+					    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
225
+
226
+					    // Group
227
+					    if ( isset( $val['group'] ) ) {
228
+						    $param['group'] = $val['group'];
229
+					    }
230
+
231
+					    // value
232
+					    if ( $val['type'] == 'checkbox' ) {
233
+						    if ( isset( $val['default'] ) && $val['default'] == '0' ) {
234
+							    unset( $param['default'] );
235
+						    }
236
+						    $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
237
+					    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
238
+						    $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
239
+					    } else {
240
+						    $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
241
+					    }
242
+
243
+					    // setup the param
244
+					    $params[] = $param;
245
+
246
+				    }
247
+			    }
248
+
249
+
250
+			    return $params;
251
+		    }
252
+
253
+		    /**
254 254
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
255 255
 		 */
256
-		public static function maybe_cornerstone_builder() {
257
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
258
-				self::shortcode_insert_button_script();
259
-			}
260
-		}
256
+		    public static function maybe_cornerstone_builder() {
257
+			    if ( did_action( 'cornerstone_before_boot_app' ) ) {
258
+				    self::shortcode_insert_button_script();
259
+			    }
260
+		    }
261 261
 
262
-		/**
262
+		    /**
263 263
 		 * A function to ge the shortcode builder picker html.
264 264
 		 *
265 265
 		 * @param string $editor_id
266 266
 		 *
267 267
 		 * @return string
268 268
 		 */
269
-		public static function get_picker( $editor_id = '' ) {
269
+		    public static function get_picker( $editor_id = '' ) {
270 270
 
271
-			ob_start();
272
-			if ( isset( $_POST['editor_id'] ) ) {
273
-				$editor_id = esc_attr( $_POST['editor_id'] );
274
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
275
-				$editor_id = 'main_content_content_vb_tiny_mce';
276
-			}
271
+			    ob_start();
272
+			    if ( isset( $_POST['editor_id'] ) ) {
273
+				    $editor_id = esc_attr( $_POST['editor_id'] );
274
+			    } elseif ( isset( $_REQUEST['et_fb'] ) ) {
275
+				    $editor_id = 'main_content_content_vb_tiny_mce';
276
+			    }
277 277
 
278
-			global $sd_widgets;
278
+			    global $sd_widgets;
279 279
 
280
-//			print_r($sd_widgets);exit;
281
-			?>
280
+    //			print_r($sd_widgets);exit;
281
+			    ?>
282 282
 
283 283
 			<div class="sd-shortcode-left-wrap">
284 284
 				<?php
285
-				ksort( $sd_widgets );
286
-				//				print_r($sd_widgets);exit;
287
-				if ( ! empty( $sd_widgets ) ) {
288
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
289
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
290
-					foreach ( $sd_widgets as $shortcode => $class ) {
291
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
292
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
293
-					}
294
-					echo "</select>";
295
-
296
-				}
297
-				?>
285
+				    ksort( $sd_widgets );
286
+				    //				print_r($sd_widgets);exit;
287
+				    if ( ! empty( $sd_widgets ) ) {
288
+					    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
289
+					    echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
290
+					    foreach ( $sd_widgets as $shortcode => $class ) {
291
+						    if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
292
+						    echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
293
+					    }
294
+					    echo "</select>";
295
+
296
+				    }
297
+				    ?>
298 298
 				<div class="sd-shortcode-settings"></div>
299 299
 
300 300
 			</div>
@@ -305,8 +305,8 @@  discard block
 block discarded – undo
305 305
 					<?php if ( $editor_id != '' ) { ?>
306 306
 						<button class="button sd-insert-shortcode-button"
307 307
 								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
308
-									echo "'" . $editor_id . "'";
309
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
308
+									    echo "'" . $editor_id . "'";
309
+								    } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
310 310
 					<?php } ?>
311 311
 					<button class="button"
312 312
 							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -314,94 +314,94 @@  discard block
 block discarded – undo
314 314
 			</div>
315 315
 			<?php
316 316
 
317
-			$html = ob_get_clean();
317
+			    $html = ob_get_clean();
318 318
 
319
-			if ( wp_doing_ajax() ) {
320
-				echo $html;
321
-				$should_die = true;
319
+			    if ( wp_doing_ajax() ) {
320
+				    echo $html;
321
+				    $should_die = true;
322 322
 
323
-				// some builder get the editor via ajax so we should not die on those occasions
324
-				$dont_die = array(
325
-					'parent_tag',// WP Bakery
326
-					'avia_request' // enfold
327
-				);
323
+				    // some builder get the editor via ajax so we should not die on those occasions
324
+				    $dont_die = array(
325
+					    'parent_tag',// WP Bakery
326
+					    'avia_request' // enfold
327
+				    );
328 328
 
329
-				foreach ( $dont_die as $request ) {
330
-					if ( isset( $_REQUEST[ $request ] ) ) {
331
-						$should_die = false;
332
-					}
333
-				}
329
+				    foreach ( $dont_die as $request ) {
330
+					    if ( isset( $_REQUEST[ $request ] ) ) {
331
+						    $should_die = false;
332
+					    }
333
+				    }
334 334
 
335
-				if ( $should_die ) {
336
-					wp_die();
337
-				}
335
+				    if ( $should_die ) {
336
+					    wp_die();
337
+				    }
338 338
 
339
-			} else {
340
-				return $html;
341
-			}
339
+			    } else {
340
+				    return $html;
341
+			    }
342 342
 
343
-			return '';
343
+			    return '';
344 344
 
345
-		}
345
+		    }
346 346
 
347
-		/**
347
+		    /**
348 348
 		 * Output the version in the header.
349 349
 		 */
350
-		public function generator() {
351
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
352
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
353
-
354
-			// Find source plugin/theme of SD
355
-			$source = array();
356
-			if ( strpos( $file, $plugins_dir ) !== false ) {
357
-				$source = explode( "/", plugin_basename( $file ) );
358
-			} else if ( function_exists( 'get_theme_root' ) ) {
359
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
360
-
361
-				if ( strpos( $file, $themes_dir ) !== false ) {
362
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
363
-				}
364
-			}
365
-
366
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
367
-		}
368
-
369
-		/**
350
+		    public function generator() {
351
+			    $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
352
+			    $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
353
+
354
+			    // Find source plugin/theme of SD
355
+			    $source = array();
356
+			    if ( strpos( $file, $plugins_dir ) !== false ) {
357
+				    $source = explode( "/", plugin_basename( $file ) );
358
+			    } else if ( function_exists( 'get_theme_root' ) ) {
359
+				    $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
360
+
361
+				    if ( strpos( $file, $themes_dir ) !== false ) {
362
+					    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
363
+				    }
364
+			    }
365
+
366
+			    echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
367
+		    }
368
+
369
+		    /**
370 370
 		 * Get widget settings.
371 371
 		 *
372 372
 		 * @since 1.0.0
373 373
 		 */
374
-		public static function get_widget_settings() {
375
-			global $sd_widgets;
376
-
377
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
378
-			if ( ! $shortcode ) {
379
-				wp_die();
380
-			}
381
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
382
-			if ( ! $widget_args ) {
383
-				wp_die();
384
-			}
385
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
386
-			if ( ! $class_name ) {
387
-				wp_die();
388
-			}
389
-
390
-			// invoke an instance method
391
-			$widget = new $class_name;
392
-
393
-			ob_start();
394
-			$widget->form( array() );
395
-			$form = ob_get_clean();
396
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
397
-			echo "<style>" . $widget->widget_css() . "</style>";
398
-			echo "<script>" . $widget->widget_js() . "</script>";
399
-			?>
400
-			<?php
401
-			wp_die();
402
-		}
403
-
404
-		/**
374
+		    public static function get_widget_settings() {
375
+			    global $sd_widgets;
376
+
377
+			    $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
378
+			    if ( ! $shortcode ) {
379
+				    wp_die();
380
+			    }
381
+			    $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
382
+			    if ( ! $widget_args ) {
383
+				    wp_die();
384
+			    }
385
+			    $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
386
+			    if ( ! $class_name ) {
387
+				    wp_die();
388
+			    }
389
+
390
+			    // invoke an instance method
391
+			    $widget = new $class_name;
392
+
393
+			    ob_start();
394
+			    $widget->form( array() );
395
+			    $form = ob_get_clean();
396
+			    echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
397
+			    echo "<style>" . $widget->widget_css() . "</style>";
398
+			    echo "<script>" . $widget->widget_js() . "</script>";
399
+			    ?>
400
+    			<?php
401
+			    wp_die();
402
+		    }
403
+
404
+		    /**
405 405
 		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
406 406
 		 *
407 407
 		 * @param string $editor_id Optional. Shortcode editor id. Default null.
@@ -410,39 +410,39 @@  discard block
 block discarded – undo
410 410
 		 *@since 1.0.0
411 411
 		 *
412 412
 		 */
413
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
414
-			global $sd_widgets, $shortcode_insert_button_once;
415
-			if ( $shortcode_insert_button_once ) {
416
-				return;
417
-			}
418
-			add_thickbox();
413
+		    public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
414
+			    global $sd_widgets, $shortcode_insert_button_once;
415
+			    if ( $shortcode_insert_button_once ) {
416
+				    return;
417
+			    }
418
+			    add_thickbox();
419 419
 
420 420
 
421
-			/**
421
+			    /**
422 422
 			 * Cornerstone makes us play dirty tricks :/
423 423
 			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
424 424
 			 */
425
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
426
-				echo '<span id="insert-media-button">';
427
-			}
425
+			    if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
426
+				    echo '<span id="insert-media-button">';
427
+			    }
428 428
 
429
-			echo self::shortcode_button( 'this', 'true' );
429
+			    echo self::shortcode_button( 'this', 'true' );
430 430
 
431
-			// see opening note
432
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
433
-				echo '</span>'; // end #insert-media-button
434
-			}
431
+			    // see opening note
432
+			    if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
433
+				    echo '</span>'; // end #insert-media-button
434
+			    }
435 435
 
436
-			// Add separate script for generatepress theme sections
437
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
438
-			} else {
439
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
440
-			}
436
+			    // Add separate script for generatepress theme sections
437
+			    if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
438
+			    } else {
439
+				    self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
440
+			    }
441 441
 
442
-			$shortcode_insert_button_once = true;
443
-		}
442
+			    $shortcode_insert_button_once = true;
443
+		    }
444 444
 
445
-		/**
445
+		    /**
446 446
 		 * Gets the shortcode insert button html.
447 447
 		 *
448 448
 		 * @param string $id
@@ -450,14 +450,14 @@  discard block
 block discarded – undo
450 450
 		 *
451 451
 		 * @return mixed
452 452
 		 */
453
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
454
-			ob_start();
455
-			?>
453
+		    public static function shortcode_button( $id = '', $search_for_id = '' ) {
454
+			    ob_start();
455
+			    ?>
456 456
 			<span class="sd-lable-shortcode-inserter">
457 457
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
458
-				if ( $search_for_id ) {
459
-					echo "," . $search_for_id;
460
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
458
+				    if ( $search_for_id ) {
459
+					    echo "," . $search_for_id;
460
+				    } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
461 461
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
462 462
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
463 463
 						  class="dashicons dashicons-screenoptions"></span>
@@ -468,21 +468,21 @@  discard block
 block discarded – undo
468 468
 			</span>
469 469
 
470 470
 			<?php
471
-			$html = ob_get_clean();
471
+			    $html = ob_get_clean();
472 472
 
473
-			// remove line breaks so we can use it in js
474
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
475
-		}
473
+			    // remove line breaks so we can use it in js
474
+			    return preg_replace( "/\r|\n/", "", trim( $html ) );
475
+		    }
476 476
 
477
-		/**
477
+		    /**
478 478
 		 * Makes SD work with the siteOrigin page builder.
479 479
 		 *
480 480
 		 * @return mixed
481 481
 		 *@since 1.0.6
482 482
 		 */
483
-		public static function siteorigin_js() {
484
-			ob_start();
485
-			?>
483
+		    public static function siteorigin_js() {
484
+			    ob_start();
485
+			    ?>
486 486
 			<script>
487 487
 				/**
488 488
 				 * Check a form to see what items should be shown or hidden.
@@ -558,19 +558,19 @@  discard block
 block discarded – undo
558 558
 				});
559 559
 			</script>
560 560
 			<?php
561
-			$output = ob_get_clean();
561
+			    $output = ob_get_clean();
562 562
 
563
-			/*
563
+			    /*
564 564
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
565 565
 			 */
566 566
 
567
-			return str_replace( array(
568
-				'<script>',
569
-				'</script>'
570
-			), '', $output );
571
-		}
567
+			    return str_replace( array(
568
+				    '<script>',
569
+				    '</script>'
570
+			    ), '', $output );
571
+		    }
572 572
 
573
-		/**
573
+		    /**
574 574
 		 * Output the JS and CSS for the shortcode insert button.
575 575
 		 *
576 576
 		 * @param string $editor_id
@@ -579,8 +579,8 @@  discard block
 block discarded – undo
579 579
 		 *@since 1.0.6
580 580
 		 *
581 581
 		 */
582
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
583
-			?>
582
+		    public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
583
+			    ?>
584 584
 			<style>
585 585
 				.sd-shortcode-left-wrap {
586 586
 					float: left;
@@ -703,40 +703,40 @@  discard block
 block discarded – undo
703 703
 					display: inline;
704 704
 				}
705 705
 				<?php } ?>
706
-				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
707
-				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
706
+    				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
707
+    				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
708 708
 				<?php } ?>
709
-			</style>
709
+    			</style>
710 710
 			<?php
711
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
712
-				echo "<script>" . self::siteorigin_js() . "</script>";
713
-			}
714
-			?>
715
-			<script>
711
+			    if ( class_exists( 'SiteOrigin_Panels' ) ) {
712
+				    echo "<script>" . self::siteorigin_js() . "</script>";
713
+			    }
714
+			    ?>
715
+    			<script>
716 716
 				<?php
717
-				if(! empty( $insert_shortcode_function )){
718
-					echo $insert_shortcode_function;
719
-				}else{
717
+				    if(! empty( $insert_shortcode_function )){
718
+					    echo $insert_shortcode_function;
719
+				    }else{
720 720
 
721
-				/**
721
+				    /**
722 722
 				 * Function for super duper insert shortcode.
723 723
 				 *
724 724
 				 * @since 1.0.0
725 725
 				 */
726
-				?>
726
+				    ?>
727 727
 				function sd_insert_shortcode($editor_id) {
728 728
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
729 729
 					if ($shortcode) {
730 730
 						if (!$editor_id) {
731 731
 							<?php
732
-							if ( isset( $_REQUEST['et_fb'] ) ) {
733
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
734
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
735
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
736
-							} else {
737
-								echo '$editor_id = "#wp-content-editor-container textarea";';
738
-							}
739
-							?>
732
+							    if ( isset( $_REQUEST['et_fb'] ) ) {
733
+								    echo '$editor_id = "#main_content_content_vb_tiny_mce";';
734
+							    } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
735
+								    echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
736
+							    } else {
737
+								    echo '$editor_id = "#wp-content-editor-container textarea";';
738
+							    }
739
+							    ?>
740 740
 						} else {
741 741
 							$editor_id = '#' + $editor_id;
742 742
 						}
@@ -1050,19 +1050,19 @@  discard block
 block discarded – undo
1050 1050
 				}
1051 1051
 			</script>
1052 1052
 			<?php
1053
-		}
1053
+		    }
1054 1054
 
1055
-		/**
1055
+		    /**
1056 1056
 		 * Gets some CSS for the widgets screen.
1057 1057
 		 *
1058 1058
 		 * @param bool $advanced If we should include advanced CSS.
1059 1059
 		 *
1060 1060
 		 * @return mixed
1061 1061
 		 */
1062
-		public function widget_css( $advanced = true ) {
1063
-			ob_start();
1064
-			?>
1065
-			<style>
1062
+		    public function widget_css( $advanced = true ) {
1063
+			    ob_start();
1064
+			    ?>
1065
+    			<style>
1066 1066
 				<?php if( $advanced ){ ?>
1067 1067
 				.sd-advanced-setting {
1068 1068
 					display: none;
@@ -1101,26 +1101,26 @@  discard block
 block discarded – undo
1101 1101
 				.elementor-control .sd-argument select[multiple] option{padding:3px}
1102 1102
 			</style>
1103 1103
 			<?php
1104
-			$output = ob_get_clean();
1104
+			    $output = ob_get_clean();
1105 1105
 
1106
-			/*
1106
+			    /*
1107 1107
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1108 1108
 			 */
1109 1109
 
1110
-			return str_replace( array(
1111
-				'<style>',
1112
-				'</style>'
1113
-			), '', $output );
1114
-		}
1110
+			    return str_replace( array(
1111
+				    '<style>',
1112
+				    '</style>'
1113
+			    ), '', $output );
1114
+		    }
1115 1115
 
1116
-		/**
1116
+		    /**
1117 1117
 		 * Gets some JS for the widgets screen.
1118 1118
 		 *
1119 1119
 		 * @return mixed
1120 1120
 		 */
1121
-		public function widget_js() {
1122
-			ob_start();
1123
-			?>
1121
+		    public function widget_js() {
1122
+			    ob_start();
1123
+			    ?>
1124 1124
 			<script>
1125 1125
 
1126 1126
 				/**
@@ -1269,110 +1269,110 @@  discard block
 block discarded – undo
1269 1269
 
1270 1270
 				}
1271 1271
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1272
-			</script>
1272
+    			</script>
1273 1273
 			<?php
1274
-			$output = ob_get_clean();
1274
+			    $output = ob_get_clean();
1275 1275
 
1276
-			/*
1276
+			    /*
1277 1277
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1278 1278
 			 */
1279 1279
 
1280
-			return str_replace( array(
1281
-				'<script>',
1282
-				'</script>'
1283
-			), '', $output );
1284
-		}
1280
+			    return str_replace( array(
1281
+				    '<script>',
1282
+				    '</script>'
1283
+			    ), '', $output );
1284
+		    }
1285 1285
 
1286 1286
 
1287
-		/**
1287
+		    /**
1288 1288
 		 * Set the name from the argument key.
1289 1289
 		 *
1290 1290
 		 * @param $options
1291 1291
 		 *
1292 1292
 		 * @return mixed
1293 1293
 		 */
1294
-		private function add_name_from_key( $options, $arguments = false ) {
1295
-			if ( ! empty( $options['arguments'] ) ) {
1296
-				foreach ( $options['arguments'] as $key => $val ) {
1297
-					$options['arguments'][ $key ]['name'] = $key;
1298
-				}
1299
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1300
-				foreach ( $options as $key => $val ) {
1301
-					$options[ $key ]['name'] = $key;
1302
-				}
1303
-			}
1304
-
1305
-			return $options;
1306
-		}
1307
-
1308
-		/**
1294
+		    private function add_name_from_key( $options, $arguments = false ) {
1295
+			    if ( ! empty( $options['arguments'] ) ) {
1296
+				    foreach ( $options['arguments'] as $key => $val ) {
1297
+					    $options['arguments'][ $key ]['name'] = $key;
1298
+				    }
1299
+			    } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1300
+				    foreach ( $options as $key => $val ) {
1301
+					    $options[ $key ]['name'] = $key;
1302
+				    }
1303
+			    }
1304
+
1305
+			    return $options;
1306
+		    }
1307
+
1308
+		    /**
1309 1309
 		 * Register the parent shortcode.
1310 1310
 		 *
1311 1311
 		 * @since 1.0.0
1312 1312
 		 */
1313
-		public function register_shortcode() {
1314
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1315
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1316
-		}
1313
+		    public function register_shortcode() {
1314
+			    add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1315
+			    add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1316
+		    }
1317 1317
 
1318
-		/**
1318
+		    /**
1319 1319
 		 * Render the shortcode via ajax so we can return it to Gutenberg.
1320 1320
 		 *
1321 1321
 		 * @since 1.0.0
1322 1322
 		 */
1323
-		public function render_shortcode() {
1324
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1325
-			if ( ! current_user_can( 'manage_options' ) ) {
1326
-				wp_die();
1327
-			}
1328
-
1329
-			// we might need the $post value here so lets set it.
1330
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1331
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1332
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1333
-					global $post;
1334
-					$post = $post_obj;
1335
-				}
1336
-			}
1337
-
1338
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1339
-				$is_preview = $this->is_preview();
1340
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1341
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1342
-				$attributes       = '';
1343
-				if ( ! empty( $attributes_array ) ) {
1344
-					foreach ( $attributes_array as $key => $value ) {
1345
-						if ( is_array( $value ) ) {
1346
-							$value = implode( ",", $value );
1347
-						}
1348
-
1349
-						if ( ! empty( $value ) ) {
1350
-							$value = wp_unslash( $value );
1351
-
1352
-							// Encode [ and ].
1353
-							if ( $is_preview ) {
1354
-								$value = $this->encode_shortcodes( $value );
1355
-							}
1356
-						}
1357
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1358
-					}
1359
-				}
1360
-
1361
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1362
-
1363
-				$content = do_shortcode( $shortcode );
1364
-
1365
-				// Decode [ and ].
1366
-				if ( ! empty( $content ) && $is_preview ) {
1367
-					$content = $this->decode_shortcodes( $content );
1368
-				}
1369
-
1370
-				echo $content;
1371
-			}
1372
-			wp_die();
1373
-		}
1374
-
1375
-		/**
1323
+		    public function render_shortcode() {
1324
+			    check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1325
+			    if ( ! current_user_can( 'manage_options' ) ) {
1326
+				    wp_die();
1327
+			    }
1328
+
1329
+			    // we might need the $post value here so lets set it.
1330
+			    if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1331
+				    $post_obj = get_post( absint( $_POST['post_id'] ) );
1332
+				    if ( ! empty( $post_obj ) && empty( $post ) ) {
1333
+					    global $post;
1334
+					    $post = $post_obj;
1335
+				    }
1336
+			    }
1337
+
1338
+			    if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1339
+				    $is_preview = $this->is_preview();
1340
+				    $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1341
+				    $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1342
+				    $attributes       = '';
1343
+				    if ( ! empty( $attributes_array ) ) {
1344
+					    foreach ( $attributes_array as $key => $value ) {
1345
+						    if ( is_array( $value ) ) {
1346
+							    $value = implode( ",", $value );
1347
+						    }
1348
+
1349
+						    if ( ! empty( $value ) ) {
1350
+							    $value = wp_unslash( $value );
1351
+
1352
+							    // Encode [ and ].
1353
+							    if ( $is_preview ) {
1354
+								    $value = $this->encode_shortcodes( $value );
1355
+							    }
1356
+						    }
1357
+						    $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1358
+					    }
1359
+				    }
1360
+
1361
+				    $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1362
+
1363
+				    $content = do_shortcode( $shortcode );
1364
+
1365
+				    // Decode [ and ].
1366
+				    if ( ! empty( $content ) && $is_preview ) {
1367
+					    $content = $this->decode_shortcodes( $content );
1368
+				    }
1369
+
1370
+				    echo $content;
1371
+			    }
1372
+			    wp_die();
1373
+		    }
1374
+
1375
+		    /**
1376 1376
 		 * Output the shortcode.
1377 1377
 		 *
1378 1378
 		 * @param array $args
@@ -1380,22 +1380,22 @@  discard block
 block discarded – undo
1380 1380
 		 *
1381 1381
 		 * @return string
1382 1382
 		 */
1383
-		public function shortcode_output( $args = array(), $content = '' ) {
1384
-			$_instance = $args;
1383
+		    public function shortcode_output( $args = array(), $content = '' ) {
1384
+			    $_instance = $args;
1385 1385
 
1386
-			$args = $this->argument_values( $args );
1386
+			    $args = $this->argument_values( $args );
1387 1387
 
1388
-			// add extra argument so we know its a output to gutenberg
1389
-			//$args
1390
-			$args = $this->string_to_bool( $args );
1388
+			    // add extra argument so we know its a output to gutenberg
1389
+			    //$args
1390
+			    $args = $this->string_to_bool( $args );
1391 1391
 
1392
-			// if we have a enclosed shortcode we add it to the special `html` argument
1393
-			if ( ! empty( $content ) ) {
1394
-				$args['html'] = $content;
1395
-			}
1392
+			    // if we have a enclosed shortcode we add it to the special `html` argument
1393
+			    if ( ! empty( $content ) ) {
1394
+				    $args['html'] = $content;
1395
+			    }
1396 1396
 
1397
-			if ( ! $this->is_preview() ) {
1398
-				/**
1397
+			    if ( ! $this->is_preview() ) {
1398
+				    /**
1399 1399
 				 * Filters the settings for a particular widget args.
1400 1400
 				 *
1401 1401
 				 * @param array          $args      The current widget instance's settings.
@@ -1405,95 +1405,95 @@  discard block
 block discarded – undo
1405 1405
 				 *@since 1.0.28
1406 1406
 				 *
1407 1407
 				 */
1408
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1409
-
1410
-				if ( ! is_array( $args ) ) {
1411
-					return $args;
1412
-				}
1413
-			}
1414
-
1415
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1416
-			$class .= " sdel-".$this->get_instance_hash();
1417
-
1418
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1419
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1420
-
1421
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1422
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1423
-
1424
-			$shortcode_args = array();
1425
-			$output         = '';
1426
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1427
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1428
-				$no_wrap = true;
1429
-			}
1430
-			$main_content = $this->output( $args, $shortcode_args, $content );
1431
-			if ( $main_content && ! $no_wrap ) {
1432
-				// wrap the shortcode in a div with the same class as the widget
1433
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1434
-				if ( ! empty( $args['title'] ) ) {
1435
-					// if its a shortcode and there is a title try to grab the title wrappers
1436
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1437
-					if ( empty( $instance ) ) {
1438
-						global $wp_registered_sidebars;
1439
-						if ( ! empty( $wp_registered_sidebars ) ) {
1440
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1441
-								if ( ! empty( $sidebar['before_title'] ) ) {
1442
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1443
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1444
-									break;
1445
-								}
1446
-							}
1447
-						}
1448
-					}
1449
-					$output .= $this->output_title( $shortcode_args, $args );
1450
-				}
1451
-				$output .= $main_content;
1452
-				$output .= '</div>';
1453
-			} elseif ( $main_content && $no_wrap ) {
1454
-				$output .= $main_content;
1455
-			}
1456
-
1457
-			// if preview show a placeholder if empty
1458
-			if ( $this->is_preview() && $output == '' ) {
1459
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1460
-			}
1461
-
1462
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1463
-		}
1464
-
1465
-		/**
1408
+				    $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1409
+
1410
+				    if ( ! is_array( $args ) ) {
1411
+					    return $args;
1412
+				    }
1413
+			    }
1414
+
1415
+			    $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1416
+			    $class .= " sdel-".$this->get_instance_hash();
1417
+
1418
+			    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1419
+			    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1420
+
1421
+			    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1422
+			    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1423
+
1424
+			    $shortcode_args = array();
1425
+			    $output         = '';
1426
+			    $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1427
+			    if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1428
+				    $no_wrap = true;
1429
+			    }
1430
+			    $main_content = $this->output( $args, $shortcode_args, $content );
1431
+			    if ( $main_content && ! $no_wrap ) {
1432
+				    // wrap the shortcode in a div with the same class as the widget
1433
+				    $output .= '<div class="' . $class . '" ' . $attrs . '>';
1434
+				    if ( ! empty( $args['title'] ) ) {
1435
+					    // if its a shortcode and there is a title try to grab the title wrappers
1436
+					    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1437
+					    if ( empty( $instance ) ) {
1438
+						    global $wp_registered_sidebars;
1439
+						    if ( ! empty( $wp_registered_sidebars ) ) {
1440
+							    foreach ( $wp_registered_sidebars as $sidebar ) {
1441
+								    if ( ! empty( $sidebar['before_title'] ) ) {
1442
+									    $shortcode_args['before_title'] = $sidebar['before_title'];
1443
+									    $shortcode_args['after_title']  = $sidebar['after_title'];
1444
+									    break;
1445
+								    }
1446
+							    }
1447
+						    }
1448
+					    }
1449
+					    $output .= $this->output_title( $shortcode_args, $args );
1450
+				    }
1451
+				    $output .= $main_content;
1452
+				    $output .= '</div>';
1453
+			    } elseif ( $main_content && $no_wrap ) {
1454
+				    $output .= $main_content;
1455
+			    }
1456
+
1457
+			    // if preview show a placeholder if empty
1458
+			    if ( $this->is_preview() && $output == '' ) {
1459
+				    $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1460
+			    }
1461
+
1462
+			    return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1463
+		    }
1464
+
1465
+		    /**
1466 1466
 		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1467 1467
 		 *
1468 1468
 		 * @param string $name
1469 1469
 		 *
1470 1470
 		 * @return string
1471 1471
 		 */
1472
-		public function preview_placeholder_text( $name = '' ) {
1473
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1474
-		}
1472
+		    public function preview_placeholder_text( $name = '' ) {
1473
+			    return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1474
+		    }
1475 1475
 
1476
-		/**
1476
+		    /**
1477 1477
 		 * Sometimes booleans values can be turned to strings, so we fix that.
1478 1478
 		 *
1479 1479
 		 * @param $options
1480 1480
 		 *
1481 1481
 		 * @return mixed
1482 1482
 		 */
1483
-		public function string_to_bool( $options ) {
1484
-			// convert bool strings to booleans
1485
-			foreach ( $options as $key => $val ) {
1486
-				if ( $val == 'false' ) {
1487
-					$options[ $key ] = false;
1488
-				} elseif ( $val == 'true' ) {
1489
-					$options[ $key ] = true;
1490
-				}
1491
-			}
1492
-
1493
-			return $options;
1494
-		}
1495
-
1496
-		/**
1483
+		    public function string_to_bool( $options ) {
1484
+			    // convert bool strings to booleans
1485
+			    foreach ( $options as $key => $val ) {
1486
+				    if ( $val == 'false' ) {
1487
+					    $options[ $key ] = false;
1488
+				    } elseif ( $val == 'true' ) {
1489
+					    $options[ $key ] = true;
1490
+				    }
1491
+			    }
1492
+
1493
+			    return $options;
1494
+		    }
1495
+
1496
+		    /**
1497 1497
 		 * Get the argument values that are also filterable.
1498 1498
 		 *
1499 1499
 		 * @param $instance
@@ -1502,159 +1502,159 @@  discard block
 block discarded – undo
1502 1502
 		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1503 1503
 		 *
1504 1504
 		 */
1505
-		public function argument_values( $instance ) {
1506
-			$argument_values = array();
1507
-
1508
-			// set widget instance
1509
-			$this->instance = $instance;
1510
-
1511
-			if ( empty( $this->arguments ) ) {
1512
-				$this->arguments = $this->get_arguments();
1513
-			}
1514
-
1515
-			if ( ! empty( $this->arguments ) ) {
1516
-				foreach ( $this->arguments as $key => $args ) {
1517
-					// set the input name from the key
1518
-					$args['name'] = $key;
1519
-					//
1520
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1521
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1522
-						// don't set default for an empty checkbox
1523
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1524
-						$argument_values[ $key ] = $args['default'];
1525
-					}
1526
-				}
1527
-			}
1528
-
1529
-			return $argument_values;
1530
-		}
1531
-
1532
-		/**
1505
+		    public function argument_values( $instance ) {
1506
+			    $argument_values = array();
1507
+
1508
+			    // set widget instance
1509
+			    $this->instance = $instance;
1510
+
1511
+			    if ( empty( $this->arguments ) ) {
1512
+				    $this->arguments = $this->get_arguments();
1513
+			    }
1514
+
1515
+			    if ( ! empty( $this->arguments ) ) {
1516
+				    foreach ( $this->arguments as $key => $args ) {
1517
+					    // set the input name from the key
1518
+					    $args['name'] = $key;
1519
+					    //
1520
+					    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1521
+					    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1522
+						    // don't set default for an empty checkbox
1523
+					    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1524
+						    $argument_values[ $key ] = $args['default'];
1525
+					    }
1526
+				    }
1527
+			    }
1528
+
1529
+			    return $argument_values;
1530
+		    }
1531
+
1532
+		    /**
1533 1533
 		 * Set arguments in super duper.
1534 1534
 		 *
1535 1535
 		 * @return array Set arguments.
1536 1536
 		 *@since 1.0.0
1537 1537
 		 *
1538 1538
 		 */
1539
-		public function set_arguments() {
1540
-			return $this->arguments;
1541
-		}
1539
+		    public function set_arguments() {
1540
+			    return $this->arguments;
1541
+		    }
1542 1542
 
1543
-		/**
1543
+		    /**
1544 1544
 		 * Get arguments in super duper.
1545 1545
 		 *
1546 1546
 		 * @return array Get arguments.
1547 1547
 		 *@since 1.0.0
1548 1548
 		 *
1549 1549
 		 */
1550
-		public function get_arguments() {
1551
-			if ( empty( $this->arguments ) ) {
1552
-				$this->arguments = $this->set_arguments();
1553
-			}
1550
+		    public function get_arguments() {
1551
+			    if ( empty( $this->arguments ) ) {
1552
+				    $this->arguments = $this->set_arguments();
1553
+			    }
1554 1554
 
1555
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1556
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1555
+			    $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1556
+			    $this->arguments = $this->add_name_from_key( $this->arguments, true );
1557 1557
 
1558
-			return $this->arguments;
1559
-		}
1558
+			    return $this->arguments;
1559
+		    }
1560 1560
 
1561
-		/**
1561
+		    /**
1562 1562
 		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1563 1563
 		 *
1564 1564
 		 * @param array $args
1565 1565
 		 * @param array $widget_args
1566 1566
 		 * @param string $content
1567 1567
 		 */
1568
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1568
+		    public function output( $args = array(), $widget_args = array(), $content = '' ) {
1569 1569
 
1570
-		}
1570
+		    }
1571 1571
 
1572
-		/**
1572
+		    /**
1573 1573
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1574 1574
 		 */
1575
-		public function register_block() {
1576
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1577
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1578
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1579
-			}
1580
-		}
1581
-
1582
-		/**
1575
+		    public function register_block() {
1576
+			    wp_add_inline_script( 'wp-blocks', $this->block() );
1577
+			    if ( class_exists( 'SiteOrigin_Panels' ) ) {
1578
+				    wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1579
+			    }
1580
+		    }
1581
+
1582
+		    /**
1583 1583
 		 * Check if we need to show advanced options.
1584 1584
 		 *
1585 1585
 		 * @return bool
1586 1586
 		 */
1587
-		public function block_show_advanced() {
1587
+		    public function block_show_advanced() {
1588 1588
 
1589
-			$show      = false;
1590
-			$arguments = $this->get_arguments();
1589
+			    $show      = false;
1590
+			    $arguments = $this->get_arguments();
1591 1591
 
1592
-			if ( ! empty( $arguments ) ) {
1593
-				foreach ( $arguments as $argument ) {
1594
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1595
-						$show = true;
1596
-						break; // no need to continue if we know we have it
1597
-					}
1598
-				}
1599
-			}
1592
+			    if ( ! empty( $arguments ) ) {
1593
+				    foreach ( $arguments as $argument ) {
1594
+					    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1595
+						    $show = true;
1596
+						    break; // no need to continue if we know we have it
1597
+					    }
1598
+				    }
1599
+			    }
1600 1600
 
1601
-			return $show;
1602
-		}
1601
+			    return $show;
1602
+		    }
1603 1603
 
1604
-		/**
1604
+		    /**
1605 1605
 		 * Get the url path to the current folder.
1606 1606
 		 *
1607 1607
 		 * @return string
1608 1608
 		 */
1609
-		public function get_url() {
1610
-			$url = $this->url;
1609
+		    public function get_url() {
1610
+			    $url = $this->url;
1611 1611
 
1612
-			if ( ! $url ) {
1613
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1614
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1612
+			    if ( ! $url ) {
1613
+				    $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1614
+				    $content_url = untrailingslashit( WP_CONTENT_URL );
1615 1615
 
1616
-				// Replace http:// to https://.
1617
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1618
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1619
-				}
1616
+				    // Replace http:// to https://.
1617
+				    if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1618
+					    $content_url = str_replace( 'http://', 'https://', $content_url );
1619
+				    }
1620 1620
 
1621
-				// Check if we are inside a plugin
1622
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1623
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1624
-				$url = trailingslashit( $url );
1625
-				$this->url = $url;
1626
-			}
1621
+				    // Check if we are inside a plugin
1622
+				    $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1623
+				    $url = str_replace( $content_dir, $content_url, $file_dir );
1624
+				    $url = trailingslashit( $url );
1625
+				    $this->url = $url;
1626
+			    }
1627 1627
 
1628
-			return $url;
1629
-		}
1628
+			    return $url;
1629
+		    }
1630 1630
 
1631
-		/**
1631
+		    /**
1632 1632
 		 * Get the url path to the current folder.
1633 1633
 		 *
1634 1634
 		 * @return string
1635 1635
 		 */
1636
-		public function get_url_old() {
1636
+		    public function get_url_old() {
1637 1637
 
1638
-			$url = $this->url;
1638
+			    $url = $this->url;
1639 1639
 
1640
-			if ( ! $url ) {
1641
-				// check if we are inside a plugin
1642
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1640
+			    if ( ! $url ) {
1641
+				    // check if we are inside a plugin
1642
+				    $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1643 1643
 
1644
-				$dir_parts = explode( "/wp-content/", $file_dir );
1645
-				$url_parts = explode( "/wp-content/", plugins_url() );
1644
+				    $dir_parts = explode( "/wp-content/", $file_dir );
1645
+				    $url_parts = explode( "/wp-content/", plugins_url() );
1646 1646
 
1647
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1648
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1649
-					$this->url = $url;
1650
-				}
1651
-			}
1647
+				    if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1648
+					    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1649
+					    $this->url = $url;
1650
+				    }
1651
+			    }
1652 1652
 
1653 1653
 
1654
-			return $url;
1655
-		}
1654
+			    return $url;
1655
+		    }
1656 1656
 
1657
-		/**
1657
+		    /**
1658 1658
 		 * Generate the block icon.
1659 1659
 		 *
1660 1660
 		 * Enables the use of Font Awesome icons.
@@ -1666,99 +1666,99 @@  discard block
 block discarded – undo
1666 1666
 		 * @return string
1667 1667
 		 *@since 1.1.0
1668 1668
 		 */
1669
-		public function get_block_icon( $icon ) {
1670
-
1671
-			// check if we have a Font Awesome icon
1672
-			$fa_type = '';
1673
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1674
-				$fa_type = 'solid';
1675
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1676
-				$fa_type = 'regular';
1677
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1678
-				$fa_type = 'brands';
1679
-			} else {
1680
-				$icon = "'" . $icon . "'";
1681
-			}
1682
-
1683
-			// set the icon if we found one
1684
-			if ( $fa_type ) {
1685
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1686
-				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1687
-			}
1688
-
1689
-			return $icon;
1690
-		}
1691
-
1692
-		public function group_arguments( $arguments ) {
1693
-			if ( ! empty( $arguments ) ) {
1694
-				$temp_arguments = array();
1695
-				$general        = __( "General", 'ayecode-connect' );
1696
-				$add_sections   = false;
1697
-				foreach ( $arguments as $key => $args ) {
1698
-					if ( isset( $args['group'] ) ) {
1699
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1700
-						$add_sections                             = true;
1701
-					} else {
1702
-						$temp_arguments[ $general ][ $key ] = $args;
1703
-					}
1704
-				}
1705
-
1706
-				// only add sections if more than one
1707
-				if ( $add_sections ) {
1708
-					$arguments = $temp_arguments;
1709
-				}
1710
-			}
1711
-
1712
-			return $arguments;
1713
-		}
1714
-
1715
-		/**
1669
+		    public function get_block_icon( $icon ) {
1670
+
1671
+			    // check if we have a Font Awesome icon
1672
+			    $fa_type = '';
1673
+			    if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1674
+				    $fa_type = 'solid';
1675
+			    } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1676
+				    $fa_type = 'regular';
1677
+			    } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1678
+				    $fa_type = 'brands';
1679
+			    } else {
1680
+				    $icon = "'" . $icon . "'";
1681
+			    }
1682
+
1683
+			    // set the icon if we found one
1684
+			    if ( $fa_type ) {
1685
+				    $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1686
+				    $icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1687
+			    }
1688
+
1689
+			    return $icon;
1690
+		    }
1691
+
1692
+		    public function group_arguments( $arguments ) {
1693
+			    if ( ! empty( $arguments ) ) {
1694
+				    $temp_arguments = array();
1695
+				    $general        = __( "General", 'ayecode-connect' );
1696
+				    $add_sections   = false;
1697
+				    foreach ( $arguments as $key => $args ) {
1698
+					    if ( isset( $args['group'] ) ) {
1699
+						    $temp_arguments[ $args['group'] ][ $key ] = $args;
1700
+						    $add_sections                             = true;
1701
+					    } else {
1702
+						    $temp_arguments[ $general ][ $key ] = $args;
1703
+					    }
1704
+				    }
1705
+
1706
+				    // only add sections if more than one
1707
+				    if ( $add_sections ) {
1708
+					    $arguments = $temp_arguments;
1709
+				    }
1710
+			    }
1711
+
1712
+			    return $arguments;
1713
+		    }
1714
+
1715
+		    /**
1716 1716
 		 * Parse used group tabs.
1717 1717
 		 *
1718 1718
 		 * @since 1.1.17
1719 1719
 		 */
1720
-		public function group_block_tabs( $tabs, $arguments ) {
1721
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1722
-				$has_sections = false;
1723
-
1724
-				foreach ( $this->arguments as $key => $args ) {
1725
-					if ( isset( $args['group'] ) ) {
1726
-						$has_sections = true;
1727
-						break;
1728
-					}
1729
-				}
1720
+		    public function group_block_tabs( $tabs, $arguments ) {
1721
+			    if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1722
+				    $has_sections = false;
1730 1723
 
1731
-				if ( ! $has_sections ) {
1732
-					return $tabs;
1733
-				}
1724
+				    foreach ( $this->arguments as $key => $args ) {
1725
+					    if ( isset( $args['group'] ) ) {
1726
+						    $has_sections = true;
1727
+						    break;
1728
+					    }
1729
+				    }
1734 1730
 
1735
-				$new_tabs = array();
1731
+				    if ( ! $has_sections ) {
1732
+					    return $tabs;
1733
+				    }
1736 1734
 
1737
-				foreach ( $tabs as $tab_key => $tab ) {
1738
-					$new_groups = array();
1735
+				    $new_tabs = array();
1739 1736
 
1740
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1741
-						foreach ( $tab['groups'] as $group ) {
1742
-							if ( isset( $arguments[ $group ] ) ) {
1743
-								$new_groups[] = $group;
1744
-							}
1745
-						}
1746
-					}
1737
+				    foreach ( $tabs as $tab_key => $tab ) {
1738
+					    $new_groups = array();
1747 1739
 
1748
-					if ( ! empty( $new_groups ) ) {
1749
-						$tab['groups'] = $new_groups;
1740
+					    if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1741
+						    foreach ( $tab['groups'] as $group ) {
1742
+							    if ( isset( $arguments[ $group ] ) ) {
1743
+								    $new_groups[] = $group;
1744
+							    }
1745
+						    }
1746
+					    }
1750 1747
 
1751
-						$new_tabs[ $tab_key ] = $tab;
1752
-					}
1753
-				}
1748
+					    if ( ! empty( $new_groups ) ) {
1749
+						    $tab['groups'] = $new_groups;
1754 1750
 
1755
-				$tabs = $new_tabs;
1756
-			}
1751
+						    $new_tabs[ $tab_key ] = $tab;
1752
+					    }
1753
+				    }
1757 1754
 
1758
-			return $tabs;
1759
-		}
1755
+				    $tabs = $new_tabs;
1756
+			    }
1760 1757
 
1761
-		/**
1758
+			    return $tabs;
1759
+		    }
1760
+
1761
+		    /**
1762 1762
 		 * Output the JS for building the dynamic Guntenberg block.
1763 1763
 		 *
1764 1764
 		 * @return mixed
@@ -1766,18 +1766,18 @@  discard block
 block discarded – undo
1766 1766
 		 * @since 1.1.0 Font Awesome classes can be used for icons.
1767 1767
 		 * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1768 1768
 		 */
1769
-		public function block() {
1770
-			global $sd_is_js_functions_loaded, $aui_bs5;
1769
+		    public function block() {
1770
+			    global $sd_is_js_functions_loaded, $aui_bs5;
1771 1771
 
1772
-			$show_advanced = $this->block_show_advanced();
1772
+			    $show_advanced = $this->block_show_advanced();
1773 1773
 
1774
-			ob_start();
1775
-			?>
1776
-			<script>
1774
+			    ob_start();
1775
+			    ?>
1776
+    			<script>
1777 1777
 			<?php
1778
-			if ( ! $sd_is_js_functions_loaded ) {
1779
-				$sd_is_js_functions_loaded = true;
1780
-			?>
1778
+			    if ( ! $sd_is_js_functions_loaded ) {
1779
+				    $sd_is_js_functions_loaded = true;
1780
+			    ?>
1781 1781
 function sd_show_view_options($this){
1782 1782
 	if(jQuery($this).html().length){
1783 1783
 		jQuery($this).html('');
@@ -2223,8 +2223,8 @@  discard block
 block discarded – undo
2223 2223
 				$classes = [];
2224 2224
 
2225 2225
 				<?php
2226
-				if($aui_bs5){
2227
-					?>
2226
+				    if($aui_bs5){
2227
+					    ?>
2228 2228
 				$aui_bs5 = true;
2229 2229
 				$p_ml = 'ms-';
2230 2230
 				$p_mr = 'me-';
@@ -2232,8 +2232,8 @@  discard block
 block discarded – undo
2232 2232
 				$p_pl = 'ps-';
2233 2233
 				$p_pr = 'pe-';
2234 2234
 					<?php
2235
-				}else{
2236
-						?>
2235
+				    }else{
2236
+						    ?>
2237 2237
 				$aui_bs5 = false;
2238 2238
 				$p_ml = 'ml-';
2239 2239
 				$p_mr = 'mr-';
@@ -2241,8 +2241,8 @@  discard block
 block discarded – undo
2241 2241
 				$p_pl = 'pl-';
2242 2242
 				$p_pr = 'pr-';
2243 2243
 					<?php
2244
-				}
2245
-				?>
2244
+				    }
2245
+				    ?>
2246 2246
 
2247 2247
 				// margins
2248 2248
 				if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] );  $mt = $args['mt']; }else{$mt = null;}
@@ -2426,12 +2426,12 @@  discard block
 block discarded – undo
2426 2426
 			<?php
2427 2427
 
2428 2428
 
2429
-			}
2429
+			    }
2430 2430
 
2431
-			if(method_exists($this,'block_global_js')){
2432
-					echo $this->block_global_js();
2433
-			}
2434
-			?>
2431
+			    if(method_exists($this,'block_global_js')){
2432
+					    echo $this->block_global_js();
2433
+			    }
2434
+			    ?>
2435 2435
 
2436 2436
 jQuery(function() {
2437 2437
 
@@ -2484,13 +2484,13 @@  discard block
 block discarded – undo
2484 2484
 						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2485 2485
 						supports: {
2486 2486
 							<?php
2487
-							if(!isset($this->options['block-supports']['renaming'])){
2488
-								$this->options['block-supports']['renaming'] = false;
2489
-							}
2490
-							if ( isset( $this->options['block-supports'] ) ) {
2491
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2492
-							}
2493
-							?>
2487
+							    if(!isset($this->options['block-supports']['renaming'])){
2488
+								    $this->options['block-supports']['renaming'] = false;
2489
+							    }
2490
+							    if ( isset( $this->options['block-supports'] ) ) {
2491
+								    echo $this->array_to_attributes( $this->options['block-supports'] );
2492
+							    }
2493
+							    ?>
2494 2494
 						},
2495 2495
 						__experimentalLabel( attributes, { context } ) {
2496 2496
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
@@ -2500,184 +2500,184 @@  discard block
 block discarded – undo
2500 2500
 						},
2501 2501
 						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2502 2502
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
2503
-						echo "keywords : " . $this->options['block-keywords'] . ",";
2504
-						}
2505
-
2506
-
2507
-						// block hover preview.
2508
-						$example_args = array();
2509
-						if(!empty($this->arguments)){
2510
-							foreach($this->arguments as $key => $a_args){
2511
-								if(isset($a_args['example'])){
2512
-									$example_args[$key] = $a_args['example'];
2513
-								}
2514
-							}
2515
-						}
2516
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2517
-						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2518
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2519
-							// no preview if set to false
2520
-						}elseif( !empty( $example_args ) ){
2521
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2522
-						}elseif( !empty( $this->options['example'] ) ){
2523
-							unset($this->options['example']['viewportWidth']);
2524
-							unset($this->options['example']['innerBlocks']);
2525
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2526
-							$example_parts = array();
2527
-							if($example_atts){
2528
-								$example_parts[] = rtrim($example_atts,",");
2529
-							}
2530
-							if($viewport_width){
2531
-								$example_parts[] = $viewport_width;
2532
-							}
2533
-							if($example_inner_blocks){
2534
-								$example_parts[] = $example_inner_blocks;
2535
-							}
2536
-							if(!empty($example_parts)){
2537
-								echo "example : {".implode(',', $example_parts)."},";
2538
-							}
2539
-						}else{
2540
-							echo 'example : {viewportWidth: 500},';
2541
-						}
2542
-
2543
-
2544
-
2545
-						// limit to parent
2546
-						if( !empty( $this->options['parent'] ) ){
2547
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2548
-						}
2549
-
2550
-						// limit allowed blocks
2551
-						if( !empty( $this->options['allowed-blocks'] ) ){
2552
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2553
-						}
2554
-
2555
-						// maybe set no_wrap
2556
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2557
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2558
-							$no_wrap = true;
2559
-						}
2560
-						if ( $no_wrap ) {
2561
-							$this->options['block-wrap'] = '';
2562
-						}
2563
-
2564
-						// maybe load the drag/drop functions.
2565
-						$img_drag_drop = false;
2566
-
2567
-						$show_alignment = false;
2568
-						// align feature
2569
-						/*echo "supports: {";
2503
+						    echo "keywords : " . $this->options['block-keywords'] . ",";
2504
+						    }
2505
+
2506
+
2507
+						    // block hover preview.
2508
+						    $example_args = array();
2509
+						    if(!empty($this->arguments)){
2510
+							    foreach($this->arguments as $key => $a_args){
2511
+								    if(isset($a_args['example'])){
2512
+									    $example_args[$key] = $a_args['example'];
2513
+								    }
2514
+							    }
2515
+						    }
2516
+						    $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2517
+						    $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2518
+						    if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2519
+							    // no preview if set to false
2520
+						    }elseif( !empty( $example_args ) ){
2521
+							    echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2522
+						    }elseif( !empty( $this->options['example'] ) ){
2523
+							    unset($this->options['example']['viewportWidth']);
2524
+							    unset($this->options['example']['innerBlocks']);
2525
+							    $example_atts = $this->array_to_attributes( $this->options['example'] );
2526
+							    $example_parts = array();
2527
+							    if($example_atts){
2528
+								    $example_parts[] = rtrim($example_atts,",");
2529
+							    }
2530
+							    if($viewport_width){
2531
+								    $example_parts[] = $viewport_width;
2532
+							    }
2533
+							    if($example_inner_blocks){
2534
+								    $example_parts[] = $example_inner_blocks;
2535
+							    }
2536
+							    if(!empty($example_parts)){
2537
+								    echo "example : {".implode(',', $example_parts)."},";
2538
+							    }
2539
+						    }else{
2540
+							    echo 'example : {viewportWidth: 500},';
2541
+						    }
2542
+
2543
+
2544
+
2545
+						    // limit to parent
2546
+						    if( !empty( $this->options['parent'] ) ){
2547
+							    echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2548
+						    }
2549
+
2550
+						    // limit allowed blocks
2551
+						    if( !empty( $this->options['allowed-blocks'] ) ){
2552
+							    echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2553
+						    }
2554
+
2555
+						    // maybe set no_wrap
2556
+						    $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2557
+						    if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2558
+							    $no_wrap = true;
2559
+						    }
2560
+						    if ( $no_wrap ) {
2561
+							    $this->options['block-wrap'] = '';
2562
+						    }
2563
+
2564
+						    // maybe load the drag/drop functions.
2565
+						    $img_drag_drop = false;
2566
+
2567
+						    $show_alignment = false;
2568
+						    // align feature
2569
+						    /*echo "supports: {";
2570 2570
 						echo "	align: true,";
2571 2571
 						echo "  html: false";
2572 2572
 						echo "},";*/
2573 2573
 
2574 2574
 
2575
-							echo "attributes : {";
2576
-
2577
-							if ( $show_advanced ) {
2578
-								echo "show_advanced: {";
2579
-								echo "	type: 'boolean',";
2580
-								echo "  default: false,";
2581
-								echo "},";
2582
-							}
2583
-
2584
-							// block wrap element
2585
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2586
-								echo "block_wrap: {";
2587
-								echo "	type: 'string',";
2588
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2589
-								echo "},";
2590
-							}
2591
-
2592
-
2593
-							if ( ! empty( $this->arguments ) ) {
2594
-
2595
-								foreach ( $this->arguments as $key => $args ) {
2596
-
2597
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2598
-										$img_drag_drop = true;
2599
-									}
2600
-
2601
-									// set if we should show alignment
2602
-									if ( $key == 'alignment' ) {
2603
-										$show_alignment = true;
2604
-									}
2605
-
2606
-									$extra = '';
2607
-
2608
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2609
-										continue;
2610
-									}
2611
-									elseif ( $args['type'] == 'checkbox' ) {
2612
-										$type    = 'boolean';
2613
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2614
-									} elseif ( $args['type'] == 'number' ) {
2615
-										$type    = 'number';
2616
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2617
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2618
-										$type = 'array';
2619
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2620
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2621
-										} else {
2622
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2623
-										}
2624
-									} elseif ( $args['type'] == 'tagselect' ) {
2625
-										$type    = 'array';
2626
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2627
-									} elseif ( $args['type'] == 'multiselect' ) {
2628
-										$type    = 'array';
2629
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2630
-									} elseif ( $args['type'] == 'image_xy' ) {
2631
-										$type    = 'object';
2632
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2633
-									} elseif ( $args['type'] == 'image' ) {
2634
-										$type    = 'string';
2635
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2636
-
2637
-										// add a field for ID
2638
-	//                                    echo $key . "_id : {";
2639
-	//                                    echo "type : 'number',";
2640
-	//                                    echo "},";
2641
-	//                                    echo $key . "_xy : {";
2642
-	//                                    echo "type : 'object',";
2643
-	//                                    echo "},";
2644
-
2645
-									} else {
2646
-										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2647
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2648
-
2649
-									}
2650
-									echo $key . " : {";
2651
-									echo "type : '$type',";
2652
-									echo "default : $default,";
2653
-									echo "},";
2654
-								}
2655
-							}
2656
-
2657
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2658
-							echo "sd_shortcode : {type : 'string',default: ''},";
2659
-
2660
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2661
-								echo "sd_shortcode_close : {type : 'string',default: ''},";
2662
-							}
2663
-
2664
-							echo "className: { type: 'string', default: '' },";
2665
-
2666
-							echo "},";
2667
-
2668
-
2669
-
2670
-						?>
2575
+							    echo "attributes : {";
2576
+
2577
+							    if ( $show_advanced ) {
2578
+								    echo "show_advanced: {";
2579
+								    echo "	type: 'boolean',";
2580
+								    echo "  default: false,";
2581
+								    echo "},";
2582
+							    }
2583
+
2584
+							    // block wrap element
2585
+							    if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2586
+								    echo "block_wrap: {";
2587
+								    echo "	type: 'string',";
2588
+								    echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2589
+								    echo "},";
2590
+							    }
2591
+
2592
+
2593
+							    if ( ! empty( $this->arguments ) ) {
2594
+
2595
+								    foreach ( $this->arguments as $key => $args ) {
2596
+
2597
+									    if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2598
+										    $img_drag_drop = true;
2599
+									    }
2600
+
2601
+									    // set if we should show alignment
2602
+									    if ( $key == 'alignment' ) {
2603
+										    $show_alignment = true;
2604
+									    }
2605
+
2606
+									    $extra = '';
2607
+
2608
+									    if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2609
+										    continue;
2610
+									    }
2611
+									    elseif ( $args['type'] == 'checkbox' ) {
2612
+										    $type    = 'boolean';
2613
+										    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2614
+									    } elseif ( $args['type'] == 'number' ) {
2615
+										    $type    = 'number';
2616
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2617
+									    } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2618
+										    $type = 'array';
2619
+										    if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2620
+											    $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2621
+										    } else {
2622
+											    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2623
+										    }
2624
+									    } elseif ( $args['type'] == 'tagselect' ) {
2625
+										    $type    = 'array';
2626
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2627
+									    } elseif ( $args['type'] == 'multiselect' ) {
2628
+										    $type    = 'array';
2629
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2630
+									    } elseif ( $args['type'] == 'image_xy' ) {
2631
+										    $type    = 'object';
2632
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2633
+									    } elseif ( $args['type'] == 'image' ) {
2634
+										    $type    = 'string';
2635
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2636
+
2637
+										    // add a field for ID
2638
+	    //                                    echo $key . "_id : {";
2639
+	    //                                    echo "type : 'number',";
2640
+	    //                                    echo "},";
2641
+	    //                                    echo $key . "_xy : {";
2642
+	    //                                    echo "type : 'object',";
2643
+	    //                                    echo "},";
2644
+
2645
+									    } else {
2646
+										    $type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2647
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2648
+
2649
+									    }
2650
+									    echo $key . " : {";
2651
+									    echo "type : '$type',";
2652
+									    echo "default : $default,";
2653
+									    echo "},";
2654
+								    }
2655
+							    }
2656
+
2657
+							    echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2658
+							    echo "sd_shortcode : {type : 'string',default: ''},";
2659
+
2660
+							    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2661
+								    echo "sd_shortcode_close : {type : 'string',default: ''},";
2662
+							    }
2663
+
2664
+							    echo "className: { type: 'string', default: '' },";
2665
+
2666
+							    echo "},";
2667
+
2668
+
2669
+
2670
+						    ?>
2671 2671
 
2672 2672
 						// The "edit" property must be a valid function.
2673 2673
 						edit: function (props) {
2674 2674
 
2675 2675
 
2676 2676
 <?php
2677
-// only include the drag/drop functions if required.
2678
-if( $img_drag_drop ){
2677
+    // only include the drag/drop functions if required.
2678
+    if( $img_drag_drop ){
2679 2679
 
2680
-?>
2680
+    ?>
2681 2681
 
2682 2682
 function enableDragSort(listClass) {
2683 2683
 	setTimeout(function(){
@@ -2741,10 +2741,10 @@  discard block
 block discarded – undo
2741 2741
 							}
2742 2742
 
2743 2743
 							<?php
2744
-							if(!empty($this->options['block-edit-raw'])) {
2745
-								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2746
-							}else{
2747
-							?>
2744
+							    if(!empty($this->options['block-edit-raw'])) {
2745
+								    echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2746
+							    }else{
2747
+							    ?>
2748 2748
 
2749 2749
 function hasSelectedInnerBlock(props) {
2750 2750
 	const select = wp.data.select('core/editor');
@@ -2766,9 +2766,9 @@  discard block
 block discarded – undo
2766 2766
 
2767 2767
 	var $value = '';
2768 2768
 	<?php
2769
-	// if we have a post_type and a category then link them
2770
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2771
-	?>
2769
+	    // if we have a post_type and a category then link them
2770
+	    if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2771
+	    ?>
2772 2772
 	if(typeof(prev_attributes[props.clientId]) != 'undefined'){
2773 2773
 		$pt = props.attributes.post_type;
2774 2774
 		if(post_type_rest_slugs.length){
@@ -2781,12 +2781,12 @@  discard block
 block discarded – undo
2781 2781
 			term_query_type = $pt;
2782 2782
 		}
2783 2783
 <?php
2784
-	$cat_path = '';
2785
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2786
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2787
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2788
-	}
2789
-?>
2784
+	    $cat_path = '';
2785
+	    if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2786
+		    $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2787
+		    $cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2788
+	    }
2789
+    ?>
2790 2790
 		/* taxonomies */
2791 2791
 		if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){
2792 2792
 			if (!window.gdCPTCats) {
@@ -2874,12 +2874,12 @@  discard block
 block discarded – undo
2874 2874
 		}
2875 2875
 	}
2876 2876
 	<?php } ?>
2877
-<?php
2878
-$current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2879
-if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2880
-	echo 'const { deviceType } = "";';
2877
+    <?php
2878
+    $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2879
+    if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2880
+	    echo 'const { deviceType } = "";';
2881 2881
 }else{
2882
-?>
2882
+    ?>
2883 2883
 /** Get device type const. */
2884 2884
 const { deviceType } = wp.data.useSelect != 'undefined' ?  wp.data.useSelect(select => {
2885 2885
 	const { __experimentalGetPreviewDeviceType } = select('core/edit-site') ? select('core/edit-site') : select('core/edit-post') ? select('core/edit-post') : ''; // For sie editor https://github.com/WordPress/gutenberg/issues/39248
@@ -2912,8 +2912,8 @@  discard block
 block discarded – undo
2912 2912
 										'attributes': props.attributes,
2913 2913
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2914 2914
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2915
-										echo $post->ID;
2916
-									}else{echo '0';}?>,
2915
+										    echo $post->ID;
2916
+									    }else{echo '0';}?>,
2917 2917
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2918 2918
 									};
2919 2919
 
@@ -2927,20 +2927,20 @@  discard block
 block discarded – undo
2927 2927
 										}
2928 2928
 
2929 2929
 										 <?php
2930
-										if(!empty($this->options['nested-block'])){
2931
-											?>
2930
+										    if(!empty($this->options['nested-block'])){
2931
+											    ?>
2932 2932
 											// props.setAttributes({content: env});
2933 2933
 										is_fetching = false;
2934 2934
 										prev_attributes[props.clientId] = props.attributes;
2935 2935
 											 <?php
2936
-										}else{
2937
-										?>
2936
+										    }else{
2937
+										    ?>
2938 2938
 										props.setAttributes({content: env});
2939 2939
 										is_fetching = false;
2940 2940
 										prev_attributes[props.clientId] = props.attributes;
2941 2941
 										<?php
2942
-										}
2943
-										?>
2942
+										    }
2943
+										    ?>
2944 2944
 
2945 2945
 
2946 2946
 										// if AUI is active call the js init function
@@ -2959,32 +2959,32 @@  discard block
 block discarded – undo
2959 2959
 							}
2960 2960
 
2961 2961
 							<?php
2962
-							if(!empty($this->options['block-edit-js'])) {
2963
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2964
-							}
2962
+							    if(!empty($this->options['block-edit-js'])) {
2963
+								    echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2964
+							    }
2965 2965
 
2966 2966
 
2967 2967
 
2968 2968
 
2969
-							if(empty($this->options['block-save-return'])){
2970
-							?>
2969
+							    if(empty($this->options['block-save-return'])){
2970
+							    ?>
2971 2971
 								///////////////////////////////////////////////////////////////////////
2972 2972
 
2973 2973
 									 // build the shortcode.
2974 2974
 								shortcode = "[<?php echo $this->options['base_id'];?>";
2975 2975
 								<?php
2976 2976
 
2977
-								if(! empty( $this->arguments )){
2977
+								    if(! empty( $this->arguments )){
2978 2978
 
2979
-								foreach($this->arguments as $key => $args){
2980
-								   // if($args['type']=='tabs'){continue;}
2979
+								    foreach($this->arguments as $key => $args){
2980
+								       // if($args['type']=='tabs'){continue;}
2981 2981
 
2982
-								   // don't add metadata arguments
2983
-								   if (substr($key, 0, 9 ) === 'metadata_') {
2984
-									   continue;
2985
-								   }
2986
-								?>
2987
-								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2982
+								       // don't add metadata arguments
2983
+								       if (substr($key, 0, 9 ) === 'metadata_') {
2984
+									       continue;
2985
+								       }
2986
+								    ?>
2987
+    								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2988 2988
 									if ('<?php echo esc_attr( $key );?>' == 'html') {
2989 2989
 									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
2990 2990
 										shortcode += props.attributes.<?php echo esc_attr( $key );?>.length && ( props.attributes.<?php echo esc_attr( $key );?>.x.length || props.attributes.<?php echo esc_attr( $key );?>.y.length ) ? " <?php echo esc_attr( $key );?>='{x:" + props.attributes.<?php echo esc_attr( $key );?>.x + ",y:"+props.attributes.<?php echo esc_attr( $key );?>.y +"}' " : "";
@@ -2994,10 +2994,10 @@  discard block
 block discarded – undo
2994 2994
 									}
2995 2995
 								}
2996 2996
 								<?php
2997
-								}
2998
-								}
2997
+								    }
2998
+								    }
2999 2999
 
3000
-								?>
3000
+								    ?>
3001 3001
 								shortcode += "]";
3002 3002
 
3003 3003
 								if(shortcode){
@@ -3005,17 +3005,17 @@  discard block
 block discarded – undo
3005 3005
 									props.setAttributes({sd_shortcode: shortcode});
3006 3006
 
3007 3007
 									<?php
3008
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3009
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3010
-									}
3011
-									?>
3008
+									    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3009
+										    echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3010
+									    }
3011
+									    ?>
3012 3012
 								}
3013 3013
 
3014 3014
 
3015 3015
 							///////////////////////////////////////////////////////////////////////
3016 3016
 							<?php
3017
-							} // end nested block check
3018
-							?>
3017
+							    } // end nested block check
3018
+							    ?>
3019 3019
 
3020 3020
 							return [
3021 3021
 
@@ -3039,10 +3039,10 @@  discard block
 block discarded – undo
3039 3039
 
3040 3040
 									<?php
3041 3041
 
3042
-									if(! empty( $this->arguments )){
3042
+									    if(! empty( $this->arguments )){
3043 3043
 
3044
-									if ( $show_advanced ) {
3045
-									?>
3044
+									    if ( $show_advanced ) {
3045
+									    ?>
3046 3046
 									el('div', {
3047 3047
 											style: {'padding-left': '16px','padding-right': '16px'}
3048 3048
 										},
@@ -3059,133 +3059,133 @@  discard block
 block discarded – undo
3059 3059
 									)
3060 3060
 									,
3061 3061
 									<?php
3062
-									}
3063
-
3064
-									$arguments = $this->group_arguments( $this->arguments );
3065
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3066
-
3067
-									// Do we have sections?
3068
-									$has_sections = $arguments == $this->arguments ? false : true;
3069
-
3070
-									if($has_sections){
3071
-									$panel_count = 0;
3072
-									$open_tab = '';
3073
-
3074
-									$open_tab_groups = array();
3075
-									$used_tabs = array();
3076
-
3077
-									foreach ( $arguments as $key => $args ) {
3078
-										$close_tab = false;
3079
-										$close_tabs = false;
3080
-
3081
-										 if ( ! empty( $block_group_tabs ) ) {
3082
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3083
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3084
-													$open_tab_groups[] = $key;
3085
-
3086
-													if ( $open_tab != $tab_name ) {
3087
-														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3088
-														$tab_args['tab']['open'] = true;
3089
-
3090
-														$this->block_tab_start( '', $tab_args );
3091
-														$open_tab = $tab_name;
3092
-														$used_tabs[] = $tab_name;
3093
-													}
3094
-
3095
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3096
-														$close_tab = true;
3097
-														$open_tab_groups = array();
3098
-
3099
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3100
-															$close_tabs = true;
3101
-														}
3102
-													}
3103
-												}
3104
-											}
3105
-										}
3106
-										?>
3062
+									    }
3063
+
3064
+									    $arguments = $this->group_arguments( $this->arguments );
3065
+									    $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3066
+
3067
+									    // Do we have sections?
3068
+									    $has_sections = $arguments == $this->arguments ? false : true;
3069
+
3070
+									    if($has_sections){
3071
+									    $panel_count = 0;
3072
+									    $open_tab = '';
3073
+
3074
+									    $open_tab_groups = array();
3075
+									    $used_tabs = array();
3076
+
3077
+									    foreach ( $arguments as $key => $args ) {
3078
+										    $close_tab = false;
3079
+										    $close_tabs = false;
3080
+
3081
+										     if ( ! empty( $block_group_tabs ) ) {
3082
+											    foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3083
+												    if ( in_array( $key, $tab_args['groups'] ) ) {
3084
+													    $open_tab_groups[] = $key;
3085
+
3086
+													    if ( $open_tab != $tab_name ) {
3087
+														    $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3088
+														    $tab_args['tab']['open'] = true;
3089
+
3090
+														    $this->block_tab_start( '', $tab_args );
3091
+														    $open_tab = $tab_name;
3092
+														    $used_tabs[] = $tab_name;
3093
+													    }
3094
+
3095
+													    if ( $open_tab_groups == $tab_args['groups'] ) {
3096
+														    $close_tab = true;
3097
+														    $open_tab_groups = array();
3098
+
3099
+														    if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3100
+															    $close_tabs = true;
3101
+														    }
3102
+													    }
3103
+												    }
3104
+											    }
3105
+										    }
3106
+										    ?>
3107 3107
 										el(wp.components.PanelBody, {
3108 3108
 												title: '<?php esc_attr_e( $key ); ?>',
3109 3109
 												initialOpen: <?php if ( $panel_count ) {
3110
-												echo "false";
3111
-											} else {
3112
-												echo "true";
3113
-											}?>
3114
-											},
3110
+												    echo "false";
3111
+											    } else {
3112
+												    echo "true";
3113
+											    }?>
3114
+    											},
3115 3115
 											<?php
3116
-											foreach ( $args as $k => $a ) {
3117
-												$this->block_tab_start( $k, $a );
3118
-												$this->block_row_start( $k, $a );
3119
-												$this->build_block_arguments( $k, $a );
3120
-												$this->block_row_end( $k, $a );
3121
-												$this->block_tab_end( $k, $a );
3122
-											}
3123
-											?>
3124
-										),
3116
+											    foreach ( $args as $k => $a ) {
3117
+												    $this->block_tab_start( $k, $a );
3118
+												    $this->block_row_start( $k, $a );
3119
+												    $this->build_block_arguments( $k, $a );
3120
+												    $this->block_row_end( $k, $a );
3121
+												    $this->block_tab_end( $k, $a );
3122
+											    }
3123
+											    ?>
3124
+    										),
3125 3125
 										<?php
3126
-										$panel_count ++;
3127
-
3128
-										if($close_tab || $close_tabs){
3129
-											$tab_args = array(
3130
-												'tab'	=> array(
3131
-													'tabs_close' => $close_tabs,
3132
-												'close' => true,
3133
-												)
3134
-
3135
-											);
3136
-											$this->block_tab_end( '', $tab_args );
3137
-//											echo '###close'; print_r($tab_args);
3138
-											$panel_count = 0;
3139
-										}
3140
-//
3141
-
3142
-									}
3143
-									}else {
3144
-									?>
3126
+										    $panel_count ++;
3127
+
3128
+										    if($close_tab || $close_tabs){
3129
+											    $tab_args = array(
3130
+												    'tab'	=> array(
3131
+													    'tabs_close' => $close_tabs,
3132
+												    'close' => true,
3133
+												    )
3134
+
3135
+											    );
3136
+											    $this->block_tab_end( '', $tab_args );
3137
+    //											echo '###close'; print_r($tab_args);
3138
+											    $panel_count = 0;
3139
+										    }
3140
+    //
3141
+
3142
+									    }
3143
+									    }else {
3144
+									    ?>
3145 3145
 									el(wp.components.PanelBody, {
3146 3146
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3147 3147
 											initialOpen: true
3148 3148
 										},
3149 3149
 										<?php
3150
-										foreach ( $this->arguments as $key => $args ) {
3151
-											$this->block_row_start( $key, $args );
3152
-											$this->build_block_arguments( $key, $args );
3153
-											$this->block_row_end( $key, $args );
3154
-										}
3155
-										?>
3156
-									),
3150
+										    foreach ( $this->arguments as $key => $args ) {
3151
+											    $this->block_row_start( $key, $args );
3152
+											    $this->build_block_arguments( $key, $args );
3153
+											    $this->block_row_end( $key, $args );
3154
+										    }
3155
+										    ?>
3156
+    									),
3157 3157
 									<?php
3158
-									}
3158
+									    }
3159 3159
 
3160
-									}
3161
-									?>
3160
+									    }
3161
+									    ?>
3162 3162
 
3163 3163
 								),
3164 3164
 
3165 3165
 								<?php
3166
-								// If the user sets block-output array then build it
3167
-								if ( ! empty( $this->options['block-output'] ) ) {
3168
-								$this->block_element( $this->options['block-output'] );
3169
-							}elseif(!empty($this->options['block-edit-return'])){
3170
-								   echo $this->options['block-edit-return'];
3171
-							}else{
3172
-								// if no block-output is set then we try and get the shortcode html output via ajax.
3173
-								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3174
-								?>
3175
-								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3166
+								    // If the user sets block-output array then build it
3167
+								    if ( ! empty( $this->options['block-output'] ) ) {
3168
+								    $this->block_element( $this->options['block-output'] );
3169
+							    }elseif(!empty($this->options['block-edit-return'])){
3170
+								       echo $this->options['block-edit-return'];
3171
+							    }else{
3172
+								    // if no block-output is set then we try and get the shortcode html output via ajax.
3173
+								    $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3174
+								    ?>
3175
+    								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3176 3176
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
3177 3177
 									className: props.className,
3178 3178
 									<?php //if(isset($this->arguments['visibility_conditions'])){ echo 'dataVisibilityConditionSD: props.visibility_conditions ? true : false,';} //@todo we need to implement this in the other outputs also ?>
3179 3179
 									style: {'minHeight': '30px'}
3180 3180
 								}))
3181 3181
 								<?php
3182
-								}
3183
-								?>
3184
-							]; // end return
3182
+								    }
3183
+								    ?>
3184
+    							]; // end return
3185 3185
 
3186 3186
 							<?php
3187
-							} // end block-edit-raw else
3188
-							?>
3187
+							    } // end block-edit-raw else
3188
+							    ?>
3189 3189
 						},
3190 3190
 
3191 3191
 						// The "save" property must be specified and must be a valid function.
@@ -3199,17 +3199,17 @@  discard block
 block discarded – undo
3199 3199
 							$html = '';
3200 3200
 							<?php
3201 3201
 
3202
-							if(! empty( $this->arguments )){
3202
+							    if(! empty( $this->arguments )){
3203 3203
 
3204
-							foreach($this->arguments as $key => $args){
3205
-							   // if($args['type']=='tabs'){continue;}
3204
+							    foreach($this->arguments as $key => $args){
3205
+							       // if($args['type']=='tabs'){continue;}
3206 3206
 
3207
-							   // don't add metadata arguments
3208
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3209
-								   continue;
3210
-							   }
3211
-							?>
3212
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3207
+							       // don't add metadata arguments
3208
+							       if (substr($key, 0, 9 ) === 'metadata_') {
3209
+								       continue;
3210
+							       }
3211
+							    ?>
3212
+    							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3213 3213
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
3214 3214
 									$html = attr.<?php echo esc_attr( $key );?>;
3215 3215
 								} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
@@ -3219,20 +3219,20 @@  discard block
 block discarded – undo
3219 3219
 								}
3220 3220
 							}
3221 3221
 							<?php
3222
-							}
3223
-							}
3222
+							    }
3223
+							    }
3224 3224
 
3225
-							?>
3225
+							    ?>
3226 3226
 							content += "]";
3227 3227
 							 content = '';
3228 3228
 
3229 3229
 							<?php
3230
-//                            if(!empty($this->options['nested-block'])){
3231
-//                                ?>
3230
+    //                            if(!empty($this->options['nested-block'])){
3231
+    //                                ?>
3232 3232
 //                                $html = 'el( InnerBlocks.Content )';
3233 3233
 //                                <?php
3234
-//                            }
3235
-							?>
3234
+    //                            }
3235
+							    ?>
3236 3236
 							// if has html element
3237 3237
 							if ($html) {
3238 3238
 								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
@@ -3252,38 +3252,38 @@  discard block
 block discarded – undo
3252 3252
 							}
3253 3253
 
3254 3254
 							<?php
3255
-//							if(!empty($this->options['nested-block'])){
3256
-//                                ?x>
3257
-//                              return el(
3258
-//                                    'div',
3259
-//                                    { className: props.className,
3260
-//                                        style: {'minHeight': '300px','position':'relative','overflow':'hidden','backgroundImage': 'url(https://s.w.org/images/core/5.5/don-quixote-06.jpg)'}
3261
-//                                    },
3262
-//                                    el( InnerBlocks.Content ),
3263
-//                                    el('div', {dangerouslySetInnerHTML: {__html: content}, className: align})
3264
-//                                );
3265
-//                                <x?php
3266
-//							}else
3267
-
3268
-							if(!empty($this->options['block-output'])){
3269
-//                               echo "return";
3270
-//                               $this->block_element( $this->options['block-output'], true );
3271
-//                               echo ";";
3272
-
3273
-							   ?>
3255
+    //							if(!empty($this->options['nested-block'])){
3256
+    //                                ?x>
3257
+    //                              return el(
3258
+    //                                    'div',
3259
+    //                                    { className: props.className,
3260
+    //                                        style: {'minHeight': '300px','position':'relative','overflow':'hidden','backgroundImage': 'url(https://s.w.org/images/core/5.5/don-quixote-06.jpg)'}
3261
+    //                                    },
3262
+    //                                    el( InnerBlocks.Content ),
3263
+    //                                    el('div', {dangerouslySetInnerHTML: {__html: content}, className: align})
3264
+    //                                );
3265
+    //                                <x?php
3266
+    //							}else
3267
+
3268
+							    if(!empty($this->options['block-output'])){
3269
+    //                               echo "return";
3270
+    //                               $this->block_element( $this->options['block-output'], true );
3271
+    //                               echo ";";
3272
+
3273
+							       ?>
3274 3274
 							  return el(
3275 3275
 								   '',
3276 3276
 								   {},
3277 3277
 								  // el('', {dangerouslySetInnerHTML: {__html: content}}),
3278 3278
 								   <?php $this->block_element( $this->options['block-output'], true ); ?>
3279
-								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3279
+    								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3280 3280
 							   );
3281 3281
 								<?php
3282 3282
 
3283
-							}elseif(!empty($this->options['block-save-return'])){
3284
-								   echo 'return ' . $this->options['block-save-return'];
3285
-							}elseif(!empty($this->options['nested-block'])){
3286
-								?>
3283
+							    }elseif(!empty($this->options['block-save-return'])){
3284
+								       echo 'return ' . $this->options['block-save-return'];
3285
+							    }elseif(!empty($this->options['nested-block'])){
3286
+								    ?>
3287 3287
 							  return el(
3288 3288
 								   '',
3289 3289
 								   {},
@@ -3292,22 +3292,22 @@  discard block
 block discarded – undo
3292 3292
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3293 3293
 							   );
3294 3294
 								<?php
3295
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3296
-								echo "return ". $this->options['block-edit-return'].";";
3297
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3298
-							?>
3299
-							return content;
3295
+							    }elseif(!empty( $this->options['block-save-return'] ) ){
3296
+								    echo "return ". $this->options['block-edit-return'].";";
3297
+							    }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3298
+							    ?>
3299
+    							return content;
3300 3300
 							<?php
3301
-							}else{
3302
-							?>
3301
+							    }else{
3302
+							    ?>
3303 3303
 							var block_wrap = 'div';
3304 3304
 							if (attr.hasOwnProperty("block_wrap")) {
3305 3305
 								block_wrap = attr.block_wrap;
3306 3306
 							}
3307 3307
 							return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} ));
3308 3308
 							<?php
3309
-							}
3310
-							?>
3309
+							    }
3310
+							    ?>
3311 3311
 
3312 3312
 
3313 3313
 						}
@@ -3321,43 +3321,43 @@  discard block
 block discarded – undo
3321 3321
 				});
3322 3322
 			</script>
3323 3323
 			<?php
3324
-			$output = ob_get_clean();
3324
+			    $output = ob_get_clean();
3325 3325
 
3326
-			/*
3326
+			    /*
3327 3327
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3328 3328
 			 */
3329 3329
 
3330
-			return str_replace( array(
3331
-				'<script>',
3332
-				'</script>'
3333
-			), '', $output );
3334
-		}
3330
+			    return str_replace( array(
3331
+				    '<script>',
3332
+				    '</script>'
3333
+			    ), '', $output );
3334
+		    }
3335 3335
 
3336 3336
 
3337 3337
 
3338
-		public function block_row_start($key, $args){
3338
+		    public function block_row_start($key, $args){
3339 3339
 
3340
-			// check for row
3341
-			if(!empty($args['row'])){
3340
+			    // check for row
3341
+			    if(!empty($args['row'])){
3342 3342
 
3343
-				if(!empty($args['row']['open'])){
3343
+				    if(!empty($args['row']['open'])){
3344 3344
 
3345
-				// element require
3346
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3347
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3348
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3349
-				$device_type_icon = '';
3350
-				if($device_type=='Desktop'){
3351
-					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3352
-				}elseif($device_type=='Tablet'){
3353
-					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3354
-				}elseif($device_type=='Mobile'){
3355
-					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3356
-				}
3357
-				echo $element_require;
3358
-				echo $device_type_require;
3345
+				    // element require
3346
+				    $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3347
+				    $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3348
+				    $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3349
+				    $device_type_icon = '';
3350
+				    if($device_type=='Desktop'){
3351
+					    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3352
+				    }elseif($device_type=='Tablet'){
3353
+					    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3354
+				    }elseif($device_type=='Mobile'){
3355
+					    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3356
+				    }
3357
+				    echo $element_require;
3358
+				    echo $device_type_require;
3359 3359
 
3360
-					if(false){?><script><?php }?>
3360
+					    if(false){?><script><?php }?>
3361 3361
 						el('div', {
3362 3362
 								className: 'bsui components-base-control',
3363 3363
 							},
@@ -3368,15 +3368,15 @@  discard block
 block discarded – undo
3368 3368
 								},
3369 3369
 								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}),
3370 3370
 								<?php if($device_type_icon){ ?>
3371
-									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3371
+    									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3372 3372
 								<?php
3373
-								}
3374
-								?>
3373
+								    }
3374
+								    ?>
3375 3375
 
3376 3376
 
3377 3377
 							),
3378 3378
 							<?php }?>
3379
-							<?php if(!empty($args['row']['desc'])){ ?>
3379
+    							<?php if(!empty($args['row']['desc'])){ ?>
3380 3380
 							el('p', {
3381 3381
 									className: 'components-base-control__help mb-0',
3382 3382
 								},
@@ -3395,51 +3395,51 @@  discard block
 block discarded – undo
3395 3395
 									},
3396 3396
 
3397 3397
 					<?php
3398
-					if(false){?></script><?php }
3399
-				}elseif(!empty($args['row']['close'])){
3400
-					if(false){?><script><?php }?>
3398
+					    if(false){?></script><?php }
3399
+				    }elseif(!empty($args['row']['close'])){
3400
+					    if(false){?><script><?php }?>
3401 3401
 						el(
3402 3402
 							'div',
3403 3403
 							{
3404 3404
 								className: 'col pl-0 ps-0',
3405 3405
 							},
3406 3406
 					<?php
3407
-					if(false){?></script><?php }
3408
-				}else{
3409
-					if(false){?><script><?php }?>
3407
+					    if(false){?></script><?php }
3408
+				    }else{
3409
+					    if(false){?><script><?php }?>
3410 3410
 						el(
3411 3411
 							'div',
3412 3412
 							{
3413 3413
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3414 3414
 							},
3415 3415
 					<?php
3416
-					if(false){?></script><?php }
3417
-				}
3416
+					    if(false){?></script><?php }
3417
+				    }
3418 3418
 
3419
-			}
3419
+			    }
3420 3420
 
3421
-		}
3421
+		    }
3422 3422
 
3423
-		public function block_row_end($key, $args){
3423
+		    public function block_row_end($key, $args){
3424 3424
 
3425
-			if(!empty($args['row'])){
3426
-				// maybe close
3427
-				if(!empty($args['row']['close'])){
3428
-					echo "))";
3429
-				}
3425
+			    if(!empty($args['row'])){
3426
+				    // maybe close
3427
+				    if(!empty($args['row']['close'])){
3428
+					    echo "))";
3429
+				    }
3430 3430
 
3431
-				echo "),";
3432
-			}
3433
-		}
3431
+				    echo "),";
3432
+			    }
3433
+		    }
3434 3434
 
3435
-		public function block_tab_start($key, $args){
3435
+		    public function block_tab_start($key, $args){
3436 3436
 
3437
-			// check for row
3438
-			if(!empty($args['tab'])){
3437
+			    // check for row
3438
+			    if(!empty($args['tab'])){
3439 3439
 
3440
-				if(!empty($args['tab']['tabs_open'])){
3440
+				    if(!empty($args['tab']['tabs_open'])){
3441 3441
 
3442
-					if(false){?><script><?php }?>
3442
+					    if(false){?><script><?php }?>
3443 3443
 
3444 3444
 el('div',{className: 'bsui'},
3445 3445
 
@@ -3452,12 +3452,12 @@  discard block
 block discarded – undo
3452 3452
 										tabs: [
3453 3453
 
3454 3454
 					<?php
3455
-					if(false){?></script><?php }
3456
-				}
3455
+					    if(false){?></script><?php }
3456
+				    }
3457 3457
 
3458
-				if(!empty($args['tab']['open'])){
3458
+				    if(!empty($args['tab']['open'])){
3459 3459
 
3460
-					if(false){?><script><?php }?>
3460
+					    if(false){?><script><?php }?>
3461 3461
 							{
3462 3462
 												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3463 3463
 												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
@@ -3466,125 +3466,125 @@  discard block
 block discarded – undo
3466 3466
 									className: 'components-base-control__help mb-0',
3467 3467
 									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3468 3468
 								}),<?php }
3469
-					if(false){?></script><?php }
3470
-				}
3469
+					    if(false){?></script><?php }
3470
+				    }
3471 3471
 
3472
-			}
3472
+			    }
3473 3473
 
3474
-		}
3474
+		    }
3475 3475
 
3476
-		public function block_tab_end($key, $args){
3476
+		    public function block_tab_end($key, $args){
3477 3477
 
3478
-			if(!empty($args['tab'])){
3479
-				// maybe close
3480
-				if(!empty($args['tab']['close'])){
3481
-					echo ")}, /* tab close */";
3482
-				}
3478
+			    if(!empty($args['tab'])){
3479
+				    // maybe close
3480
+				    if(!empty($args['tab']['close'])){
3481
+					    echo ")}, /* tab close */";
3482
+				    }
3483 3483
 
3484
-				if(!empty($args['tab']['tabs_close'])){
3485
-					if(false){?><script><?php }?>
3484
+				    if(!empty($args['tab']['tabs_close'])){
3485
+					    if(false){?><script><?php }?>
3486 3486
 						]}, ( tab ) => {
3487 3487
 								return tab.content;
3488 3488
 							}
3489 3489
 						)), /* tabs close */
3490 3490
 					<?php if(false){ ?></script><?php }
3491
-				}
3492
-			}
3493
-		}
3494
-
3495
-		public function build_block_arguments( $key, $args ) {
3496
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3497
-			$options           = '';
3498
-			$extra             = '';
3499
-			$require           = '';
3500
-			$inside_elements   = '';
3501
-			$after_elements	   = '';
3502
-
3503
-			// `content` is a protected and special argument
3504
-			if ( $key == 'content' ) {
3505
-				return;
3506
-			}
3507
-
3508
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3509
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3510
-			$device_type_icon = '';
3511
-			if($device_type=='Desktop'){
3512
-				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3513
-			}elseif($device_type=='Tablet'){
3514
-				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3515
-			}elseif($device_type=='Mobile'){
3516
-				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3517
-			}
3518
-
3519
-			// icon
3520
-			$icon = '';
3521
-			if( !empty( $args['icon'] ) ){
3522
-				$icon .= "el('div', {";
3523
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3524
-									$icon .= "className: 'text-center',";
3525
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3526
-								$icon .= "}),";
3527
-
3528
-				// blank title as its added to the icon.
3529
-				$args['title'] = '';
3530
-			}
3531
-
3532
-			// require advanced
3533
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3534
-
3535
-			// element require
3536
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3537
-
3538
-
3539
-			$onchange  = "props.setAttributes({ $key: $key } )";
3540
-			$onchangecomplete  = "";
3541
-			$value     = "props.attributes.$key";
3542
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3543
-			if ( in_array( $args['type'], $text_type ) ) {
3544
-				$type = 'TextControl';
3545
-				// Save numbers as numbers and not strings
3546
-				if ( $args['type'] == 'number' ) {
3547
-					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3548
-				}
3549
-
3550
-				if (substr($key, 0, 9 ) === 'metadata_') {
3551
-					$real_key = str_replace('metadata_','', $key );
3552
-					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3553
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3554
-				}
3555
-			}
3556
-//			else if ( $args['type'] == 'popup' ) {
3557
-//				$type = 'TextControl';
3558
-//				$args['type'] == 'text';
3559
-//				$after_elements .= "el( wp.components.Button, {
3560
-//                          className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3561
-//                          onClick: function(){
3562
-//							  aui_modal('','<input id=\'zzz\' value= />');
3563
-//							  const source = document.getElementById('zzz');
3564
-//							  source.value = props.attributes.$key;
3565
-//							  source.addEventListener('input', function(e){props.setAttributes({ $key: e.target.value });});
3566
-//                          }
3567
-//                        },
3568
-//                        'test'
3569
-//                        ),";
3570
-//
3571
-//				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3572
-//			}
3573
-			else if ( $args['type'] == 'styleid' ) {
3574
-				$type = 'TextControl';
3575
-				$args['type'] == 'text';
3576
-				// Save numbers as numbers and not strings
3577
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3578
-			}else if ( $args['type'] == 'notice' ) {
3579
-
3580
-				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3581
-				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3582
-
3583
-				$notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3584
-				echo $notice_message ? $element_require . $notice : '';
3585
-				return;
3586
-			}
3587
-			/*
3491
+				    }
3492
+			    }
3493
+		    }
3494
+
3495
+		    public function build_block_arguments( $key, $args ) {
3496
+			    $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3497
+			    $options           = '';
3498
+			    $extra             = '';
3499
+			    $require           = '';
3500
+			    $inside_elements   = '';
3501
+			    $after_elements	   = '';
3502
+
3503
+			    // `content` is a protected and special argument
3504
+			    if ( $key == 'content' ) {
3505
+				    return;
3506
+			    }
3507
+
3508
+			    $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3509
+			    $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3510
+			    $device_type_icon = '';
3511
+			    if($device_type=='Desktop'){
3512
+				    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3513
+			    }elseif($device_type=='Tablet'){
3514
+				    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3515
+			    }elseif($device_type=='Mobile'){
3516
+				    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3517
+			    }
3518
+
3519
+			    // icon
3520
+			    $icon = '';
3521
+			    if( !empty( $args['icon'] ) ){
3522
+				    $icon .= "el('div', {";
3523
+									    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3524
+									    $icon .= "className: 'text-center',";
3525
+									    $icon .= "title: '".addslashes( $args['title'] )."',";
3526
+								    $icon .= "}),";
3527
+
3528
+				    // blank title as its added to the icon.
3529
+				    $args['title'] = '';
3530
+			    }
3531
+
3532
+			    // require advanced
3533
+			    $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3534
+
3535
+			    // element require
3536
+			    $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3537
+
3538
+
3539
+			    $onchange  = "props.setAttributes({ $key: $key } )";
3540
+			    $onchangecomplete  = "";
3541
+			    $value     = "props.attributes.$key";
3542
+			    $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3543
+			    if ( in_array( $args['type'], $text_type ) ) {
3544
+				    $type = 'TextControl';
3545
+				    // Save numbers as numbers and not strings
3546
+				    if ( $args['type'] == 'number' ) {
3547
+					    $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3548
+				    }
3549
+
3550
+				    if (substr($key, 0, 9 ) === 'metadata_') {
3551
+					    $real_key = str_replace('metadata_','', $key );
3552
+					    $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3553
+					    $value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3554
+				    }
3555
+			    }
3556
+    //			else if ( $args['type'] == 'popup' ) {
3557
+    //				$type = 'TextControl';
3558
+    //				$args['type'] == 'text';
3559
+    //				$after_elements .= "el( wp.components.Button, {
3560
+    //                          className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3561
+    //                          onClick: function(){
3562
+    //							  aui_modal('','<input id=\'zzz\' value= />');
3563
+    //							  const source = document.getElementById('zzz');
3564
+    //							  source.value = props.attributes.$key;
3565
+    //							  source.addEventListener('input', function(e){props.setAttributes({ $key: e.target.value });});
3566
+    //                          }
3567
+    //                        },
3568
+    //                        'test'
3569
+    //                        ),";
3570
+    //
3571
+    //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3572
+    //			}
3573
+			    else if ( $args['type'] == 'styleid' ) {
3574
+				    $type = 'TextControl';
3575
+				    $args['type'] == 'text';
3576
+				    // Save numbers as numbers and not strings
3577
+				    $value     = "props.attributes.$key ? props.attributes.$key : ''";
3578
+			    }else if ( $args['type'] == 'notice' ) {
3579
+
3580
+				    $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3581
+				    $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3582
+
3583
+				    $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3584
+				    echo $notice_message ? $element_require . $notice : '';
3585
+				    return;
3586
+			    }
3587
+			    /*
3588 3588
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
3589 3589
 						elseif($args['type']=='tabs'){
3590 3590
 							?>
@@ -3637,22 +3637,22 @@  discard block
 block discarded – undo
3637 3637
 							return;
3638 3638
 						}
3639 3639
 */
3640
-			elseif ( $args['type'] == 'color' ) {
3641
-				$type = 'ColorPicker';
3642
-				$onchange = "";
3643
-				$extra = "color: $value,";
3644
-				if(!empty($args['disable_alpha'])){
3645
-					$extra .= "disableAlpha: true,";
3646
-				}
3647
-				$onchangecomplete = "onChangeComplete: function($key) {
3640
+			    elseif ( $args['type'] == 'color' ) {
3641
+				    $type = 'ColorPicker';
3642
+				    $onchange = "";
3643
+				    $extra = "color: $value,";
3644
+				    if(!empty($args['disable_alpha'])){
3645
+					    $extra .= "disableAlpha: true,";
3646
+				    }
3647
+				    $onchangecomplete = "onChangeComplete: function($key) {
3648 3648
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
3649 3649
 						props.setAttributes({
3650 3650
 							$key: value
3651 3651
 						});
3652 3652
 					},";
3653
-			}elseif ( $args['type'] == 'gradient' ) {
3654
-				$type = 'GradientPicker';
3655
-				$extra .= "gradients: [{
3653
+			    }elseif ( $args['type'] == 'gradient' ) {
3654
+				    $type = 'GradientPicker';
3655
+				    $extra .= "gradients: [{
3656 3656
 			name: 'Vivid cyan blue to vivid purple',
3657 3657
 			gradient:
3658 3658
 				'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
@@ -3689,10 +3689,10 @@  discard block
 block discarded – undo
3689 3689
 			slug: 'cool-to-warm-spectrum',
3690 3690
 		}],";
3691 3691
 
3692
-			}elseif ( $args['type'] == 'image' ) {
3693
-//                print_r($args);
3692
+			    }elseif ( $args['type'] == 'image' ) {
3693
+    //                print_r($args);
3694 3694
 
3695
-				$img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3695
+				    $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3696 3696
 							url:  props.attributes.{$key}_use_featured === true ? 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgYmFzZVByb2ZpbGU9InRpbnkiIGhlaWdodD0iNDAwIiB2ZXJzaW9uPSIxLjIiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzIC8+PHJlY3QgZmlsbD0iI2QzZDNkMyIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIHg9IjAiIHk9IjAiIC8+PGxpbmUgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgeDE9IjAiIHgyPSI0MDAiIHkxPSIwIiB5Mj0iNDAwIiAvPjxsaW5lIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTAiIHgxPSIwIiB4Mj0iNDAwIiB5MT0iNDAwIiB5Mj0iMCIgLz48cmVjdCBmaWxsPSIjZDNkM2QzIiBoZWlnaHQ9IjUwIiB3aWR0aD0iMjE4LjAiIHg9IjkxLjAiIHk9IjE3NS4wIiAvPjx0ZXh0IGZpbGw9IndoaXRlIiBmb250LXNpemU9IjMwIiBmb250LXdlaWdodD0iYm9sZCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjAwLjAiIHk9IjIwNy41Ij5QTEFDRUhPTERFUjwvdGV4dD48L3N2Zz4='  : props.attributes.$key,
3697 3697
 							value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy  : {x: 0.5,y: 0.5,},
3698 3698
 //                            value: props.attributes.{$key}_xy,
@@ -3713,16 +3713,16 @@  discard block
 block discarded – undo
3713 3713
 						}), ";
3714 3714
 
3715 3715
 
3716
-				$value = '""';
3717
-				$type = 'MediaUpload';
3718
-				$extra .= "onSelect: function(media){
3716
+				    $value = '""';
3717
+				    $type = 'MediaUpload';
3718
+				    $extra .= "onSelect: function(media){
3719 3719
 					  return props.setAttributes({
3720 3720
 						  $key: media.url,
3721 3721
 						  {$key}_id: media.id
3722 3722
 						});
3723 3723
 					  },";
3724
-				   $extra .= "type: 'image',";
3725
-				   $extra .= "render: function (obj) {
3724
+				       $extra .= "type: 'image',";
3725
+				       $extra .= "render: function (obj) {
3726 3726
 						return el( 'div',{},
3727 3727
 						( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, {
3728 3728
 						  className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
@@ -3748,11 +3748,11 @@  discard block
 block discarded – undo
3748 3748
 
3749 3749
 
3750 3750
 					  }";
3751
-				$onchange = "";
3751
+				    $onchange = "";
3752 3752
 
3753
-				//$inside_elements = ",el('div',{},'file upload')";
3754
-			} else if ( $args['type'] == 'images' ) {
3755
-				$img_preview = "props.attributes.$key && (function() {
3753
+				    //$inside_elements = ",el('div',{},'file upload')";
3754
+			    } else if ( $args['type'] == 'images' ) {
3755
+				    $img_preview = "props.attributes.$key && (function() {
3756 3756
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3757 3757
 	let images = [];
3758 3758
 	uploads.map((upload, index) => (
@@ -3779,9 +3779,9 @@  discard block
 block discarded – undo
3779 3779
 })(),";
3780 3780
 
3781 3781
 
3782
-				$value = '""';
3783
-				$type = 'MediaUpload';
3784
-				$extra .= "onSelect: function(media){
3782
+				    $value = '""';
3783
+				    $type = 'MediaUpload';
3784
+				    $extra .= "onSelect: function(media){
3785 3785
 	let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : [];
3786 3786
 	if(media.length){
3787 3787
 		for (var i=0; i < media.length; i++) {
@@ -3794,9 +3794,9 @@  discard block
 block discarded – undo
3794 3794
 	}
3795 3795
 	return props.setAttributes({ $key: slimImagesV});
3796 3796
 },";
3797
-				$extra .= "type: 'image',";
3798
-				$extra .= "multiple: true,";
3799
-				$extra .= "render: function (obj) {
3797
+				    $extra .= "type: 'image',";
3798
+				    $extra .= "multiple: true,";
3799
+				    $extra .= "render: function (obj) {
3800 3800
 	/* Init the sort */
3801 3801
 	enableDragSort('sd-sortable');
3802 3802
 	return el( 'div',{},
@@ -3823,40 +3823,40 @@  discard block
 block discarded – undo
3823 3823
 		)
3824 3824
 	)
3825 3825
 }";
3826
-				$onchange = "";
3827
-
3828
-				//$inside_elements = ",el('div',{},'file upload')";
3829
-			}
3830
-			elseif ( $args['type'] == 'checkbox' ) {
3831
-				$type = 'CheckboxControl';
3832
-				$extra .= "checked: props.attributes.$key,";
3833
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3834
-			} elseif ( $args['type'] == 'textarea' ) {
3835
-				$type = 'TextareaControl';
3836
-
3837
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3838
-				$type = 'SelectControl';
3839
-
3840
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3841
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3842
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3843
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3844
-				}else {
3845
-
3846
-					if ( ! empty( $args['options'] ) ) {
3847
-						$options .= "options: [";
3848
-						foreach ( $args['options'] as $option_val => $option_label ) {
3849
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3850
-						}
3851
-						$options .= "],";
3852
-					}
3853
-				}
3854
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3855
-					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3856
-				}
3857
-
3858
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3859
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3826
+				    $onchange = "";
3827
+
3828
+				    //$inside_elements = ",el('div',{},'file upload')";
3829
+			    }
3830
+			    elseif ( $args['type'] == 'checkbox' ) {
3831
+				    $type = 'CheckboxControl';
3832
+				    $extra .= "checked: props.attributes.$key,";
3833
+				    $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3834
+			    } elseif ( $args['type'] == 'textarea' ) {
3835
+				    $type = 'TextareaControl';
3836
+
3837
+			    } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3838
+				    $type = 'SelectControl';
3839
+
3840
+				    if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3841
+					    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3842
+				    }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3843
+					    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3844
+				    }else {
3845
+
3846
+					    if ( ! empty( $args['options'] ) ) {
3847
+						    $options .= "options: [";
3848
+						    foreach ( $args['options'] as $option_val => $option_label ) {
3849
+							    $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3850
+						    }
3851
+						    $options .= "],";
3852
+					    }
3853
+				    }
3854
+				    if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3855
+					    $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3856
+				    }
3857
+
3858
+				    if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3859
+					    $after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3860 3860
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3861 3861
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3862 3862
 									  onClick: function(){
@@ -3867,56 +3867,56 @@  discard block
 block discarded – undo
3867 3867
 									},
3868 3868
 									'Clear'
3869 3869
 							),";
3870
-				}
3871
-			} elseif ( $args['type'] == 'tagselect' ) {
3872
-//				$type = 'FormTokenField';
3873
-//
3874
-//				if ( ! empty( $args['options'] ) ) {
3875
-//						$options .= "suggestions: [";
3876
-//						foreach ( $args['options'] as $option_val => $option_label ) {
3877
-//							$options .= "{ value: '" . esc_attr( $option_val ) . "', title: '" . addslashes( $option_label ) . "' },";
3878
-////							$options .= "'" . esc_attr( $option_val ) . "':'" . addslashes( $option_label ) . "',";
3879
-//						}
3880
-//						$options .= "],";
3881
-//				}
3882
-//
3883
-//				$onchangex  = "{ ( selectedItems ) => {
3884
-//						// Build array of selected posts.
3885
-//						let selectedPostsArray = [];
3886
-//						selectedPosts.map(
3887
-//							( postName ) => {
3888
-//								const matchingPost = posts.find( ( post ) => {
3889
-//									return post.title.raw === postName;
3890
-//
3891
-//								} );
3892
-//								if ( matchingPost !== undefined ) {
3893
-//									selectedPostsArray.push( matchingPost.id );
3894
-//								}
3895
-//							}
3896
-//						)
3897
-//
3898
-//						setAttributes( { selectedPosts: selectedPostsArray } );
3899
-//					} } ";
3900
-//				$onchange  = '';// "props.setAttributes({ $key: [ props.attributes.$key ] } )";
3901
-//
3902
-////				$options  = "";
3903
-//				$value     = "[]";
3904
-//				$extra .= ' __experimentalExpandOnFocus: true,';
3905
-
3906
-			} else if ( $args['type'] == 'alignment' ) {
3907
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3908
-			} else if ( $args['type'] == 'margins' ) {
3909
-
3910
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3911
-				$type = 'TextControl';
3912
-				$value = "(props.attributes.$key ? props.attributes.$key : '')";
3913
-				$args['type'] = 'text';
3914
-				$options .= 'disabled:true,';
3915
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
3916
-				$bsvc_body = $this->block_visibility_fields( $args );
3917
-				// @TODO reset button
3918
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
3919
-				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3870
+				    }
3871
+			    } elseif ( $args['type'] == 'tagselect' ) {
3872
+    //				$type = 'FormTokenField';
3873
+    //
3874
+    //				if ( ! empty( $args['options'] ) ) {
3875
+    //						$options .= "suggestions: [";
3876
+    //						foreach ( $args['options'] as $option_val => $option_label ) {
3877
+    //							$options .= "{ value: '" . esc_attr( $option_val ) . "', title: '" . addslashes( $option_label ) . "' },";
3878
+    ////							$options .= "'" . esc_attr( $option_val ) . "':'" . addslashes( $option_label ) . "',";
3879
+    //						}
3880
+    //						$options .= "],";
3881
+    //				}
3882
+    //
3883
+    //				$onchangex  = "{ ( selectedItems ) => {
3884
+    //						// Build array of selected posts.
3885
+    //						let selectedPostsArray = [];
3886
+    //						selectedPosts.map(
3887
+    //							( postName ) => {
3888
+    //								const matchingPost = posts.find( ( post ) => {
3889
+    //									return post.title.raw === postName;
3890
+    //
3891
+    //								} );
3892
+    //								if ( matchingPost !== undefined ) {
3893
+    //									selectedPostsArray.push( matchingPost.id );
3894
+    //								}
3895
+    //							}
3896
+    //						)
3897
+    //
3898
+    //						setAttributes( { selectedPosts: selectedPostsArray } );
3899
+    //					} } ";
3900
+    //				$onchange  = '';// "props.setAttributes({ $key: [ props.attributes.$key ] } )";
3901
+    //
3902
+    ////				$options  = "";
3903
+    //				$value     = "[]";
3904
+    //				$extra .= ' __experimentalExpandOnFocus: true,';
3905
+
3906
+			    } else if ( $args['type'] == 'alignment' ) {
3907
+				    $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3908
+			    } else if ( $args['type'] == 'margins' ) {
3909
+
3910
+			    } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3911
+				    $type = 'TextControl';
3912
+				    $value = "(props.attributes.$key ? props.attributes.$key : '')";
3913
+				    $args['type'] = 'text';
3914
+				    $options .= 'disabled:true,';
3915
+				    $bsvc_title = esc_attr( addslashes( $args['title'] ) );
3916
+				    $bsvc_body = $this->block_visibility_fields( $args );
3917
+				    // @TODO reset button
3918
+				    $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
3919
+				    $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3920 3920
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3921 3921
 						onClick: function() {
3922 3922
 							var sValue = props.attributes." . $key . ";
@@ -3942,54 +3942,54 @@  discard block
 block discarded – undo
3942 3942
 					},
3943 3943
 					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
3944 3944
 				) ),";
3945
-			} else {
3946
-				return;// if we have not implemented the control then don't break the JS.
3947
-			}
3948
-
3949
-			// color input does not show the labels so we add them
3950
-			if($args['type']=='color'){
3951
-				// add show only if advanced
3952
-				echo $require_advanced;
3953
-				// add setting require if defined
3954
-				echo $element_require;
3955
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3956
-			}
3957
-
3958
-			// add show only if advanced
3959
-			echo $require_advanced;
3960
-			// add setting require if defined
3961
-			echo $element_require;
3962
-			echo $device_type_require;
3963
-
3964
-			// icon
3965
-			echo $icon;
3966
-			?>
3967
-			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3945
+			    } else {
3946
+				    return;// if we have not implemented the control then don't break the JS.
3947
+			    }
3948
+
3949
+			    // color input does not show the labels so we add them
3950
+			    if($args['type']=='color'){
3951
+				    // add show only if advanced
3952
+				    echo $require_advanced;
3953
+				    // add setting require if defined
3954
+				    echo $element_require;
3955
+				    echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3956
+			    }
3957
+
3958
+			    // add show only if advanced
3959
+			    echo $require_advanced;
3960
+			    // add setting require if defined
3961
+			    echo $element_require;
3962
+			    echo $device_type_require;
3963
+
3964
+			    // icon
3965
+			    echo $icon;
3966
+			    ?>
3967
+    			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3968 3968
 			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
3969
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3969
+			    } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3970 3970
 			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
3971 3971
 			value: <?php echo $value; ?>,
3972 3972
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
3973
-				echo "type: '" . addslashes( $args['type'] ) . "',";
3974
-			} ?>
3975
-			<?php if ( ! empty( $args['placeholder'] ) ) {
3976
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
3977
-			} ?>
3978
-			<?php echo $options; ?>
3979
-			<?php echo $extra; ?>
3980
-			<?php echo $custom_attributes; ?>
3981
-			<?php echo $onchangecomplete; ?>
3982
-			<?php if ( $onchange ) { ?>
3983
-			onChange: function ( <?php echo $key; ?> ) {
3973
+				    echo "type: '" . addslashes( $args['type'] ) . "',";
3974
+			    } ?>
3975
+    			<?php if ( ! empty( $args['placeholder'] ) ) {
3976
+				    echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
3977
+			    } ?>
3978
+    			<?php echo $options; ?>
3979
+    			<?php echo $extra; ?>
3980
+    			<?php echo $custom_attributes; ?>
3981
+    			<?php echo $onchangecomplete; ?>
3982
+    			<?php if ( $onchange ) { ?>
3983
+    			onChange: function ( <?php echo $key; ?> ) {
3984 3984
 				<?php echo $onchange; ?>
3985
-			}
3985
+    			}
3986 3986
 			<?php } ?>
3987
-		} <?php echo $inside_elements; ?> ),
3987
+    		} <?php echo $inside_elements; ?> ),
3988 3988
 			<?php
3989
-			echo $after_elements;
3990
-		}
3989
+			    echo $after_elements;
3990
+		    }
3991 3991
 
3992
-		/**
3992
+		    /**
3993 3993
 		 * Convert an array of attributes to block string.
3994 3994
 		 *
3995 3995
 		 * @param $custom_attributes
@@ -3998,448 +3998,448 @@  discard block
 block discarded – undo
3998 3998
 		 *@todo there is prob a faster way to do this, also we could add some validation here.
3999 3999
 		 *
4000 4000
 		 */
4001
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4002
-			$attributes = '';
4003
-			if ( ! empty( $custom_attributes ) ) {
4001
+		    public function array_to_attributes( $custom_attributes, $html = false ) {
4002
+			    $attributes = '';
4003
+			    if ( ! empty( $custom_attributes ) ) {
4004 4004
 
4005
-				foreach ( $custom_attributes as $key => $val ) {
4006
-					if(is_array($val)){
4007
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4008
-					}else{
4009
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4010
-					}
4011
-				}
4005
+				    foreach ( $custom_attributes as $key => $val ) {
4006
+					    if(is_array($val)){
4007
+						    $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4008
+					    }else{
4009
+						    $attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4010
+					    }
4011
+				    }
4012 4012
 
4013
-			}
4013
+			    }
4014 4014
 
4015
-			return $attributes;
4016
-		}
4015
+			    return $attributes;
4016
+		    }
4017 4017
 
4018 4018
 
4019 4019
 
4020
-		/**
4020
+		    /**
4021 4021
 		 * A self looping function to create the output for JS block elements.
4022 4022
 		 *
4023 4023
 		 * This is what is output in the WP Editor visual view.
4024 4024
 		 *
4025 4025
 		 * @param $args
4026 4026
 		 */
4027
-		public function block_element( $args, $save = false ) {
4028
-
4029
-//            print_r($args);echo '###';exit;
4030
-
4031
-			if ( ! empty( $args ) ) {
4032
-				foreach ( $args as $element => $new_args ) {
4027
+		    public function block_element( $args, $save = false ) {
4028
+
4029
+    //            print_r($args);echo '###';exit;
4030
+
4031
+			    if ( ! empty( $args ) ) {
4032
+				    foreach ( $args as $element => $new_args ) {
4033
+
4034
+					    if ( is_array( $new_args ) ) { // its an element
4035
+
4033 4036
 
4034
-					if ( is_array( $new_args ) ) { // its an element
4035
-
4036
-
4037
-						if ( isset( $new_args['element'] ) ) {
4038
-
4039
-							if ( isset( $new_args['element_require'] ) ) {
4040
-								echo str_replace( array(
4041
-										"'+",
4042
-										"+'"
4043
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4044
-								unset( $new_args['element_require'] );
4045
-							}
4046
-
4047
-							if($new_args['element']=='InnerBlocks'){
4048
-								echo "\n el( InnerBlocks, {";
4049
-							}elseif($new_args['element']=='innerBlocksProps'){
4050
-								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4051
-							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4052
-//                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4053
-								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4054
-								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4055
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4056
-
4057
-								echo "} ), {";
4058
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4059
-							//    echo '###';
4060
-
4061
-							  //  echo '###';
4062
-							}elseif($new_args['element']=='BlocksProps'){
4063
-
4064
-								if ( isset($new_args['if_inner_element']) ) {
4065
-									$element = $new_args['if_inner_element'];
4066
-								}else {
4067
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4068
-								}
4069
-
4070
-								unset($new_args['inner_element']);
4071
-								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4072
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4073
-
4074
-
4075
-							   // echo "} ),";
4076
-
4077
-							}else{
4078
-								echo "\n el( '" . $new_args['element'] . "', {";
4079
-							}
4037
+						    if ( isset( $new_args['element'] ) ) {
4080 4038
 
4081
-
4082
-							// get the attributes
4083
-							foreach ( $new_args as $new_key => $new_value ) {
4084
-
4085
-
4086
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4087
-									// do nothing
4088
-								} else {
4089
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4090
-								}
4091
-							}
4092
-
4093
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4094
-
4095
-							// get the content
4096
-							$first_item = 0;
4097
-							foreach ( $new_args as $new_key => $new_value ) {
4098
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4099
-
4100
-									if ( $new_key === 'content' ) {
4101
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4102
-									}else if ( $new_key === 'if_content' ) {
4103
-										echo  $this->block_props_replace(  $new_value  );
4104
-									}
4105
-
4106
-									if ( is_array( $new_value ) ) {
4107
-
4108
-										if ( isset( $new_value['element_require'] ) ) {
4109
-											echo str_replace( array(
4110
-													"'+",
4111
-													"+'"
4112
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4113
-											unset( $new_value['element_require'] );
4114
-										}
4115
-
4116
-										if ( isset( $new_value['element_repeat'] ) ) {
4117
-											$x = 1;
4118
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4119
-												$this->block_element( array( '' => $new_value ),$save );
4120
-												$x ++;
4121
-											}
4122
-										} else {
4123
-											$this->block_element( array( '' => $new_value ),$save );
4124
-										}
4125
-									}
4126
-									$first_item ++;
4127
-								}
4128
-							}
4129
-
4130
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4131
-								echo "))";// end content
4132
-							}else{
4133
-								echo ")";// end content
4134
-							}
4135
-
4136
-
4137
-							echo ", \n";
4138
-
4139
-						}
4140
-					} else {
4141
-
4142
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4143
-							$extra = '';
4144
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4145
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4146
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4147
-							}
4148
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4149
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4150
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4151
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4152
-//                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4153
-						} elseif ( $element == 'style' ) {
4154
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4155
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4156
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4157
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4158
-						} elseif ( $element == 'template' && $new_args ) {
4159
-							echo $element . ": $new_args,";
4160
-						} else {
4161
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4162
-						}
4163
-
4164
-					}
4165
-				}
4166
-			}
4167
-		}
4168
-
4169
-		/**
4039
+							    if ( isset( $new_args['element_require'] ) ) {
4040
+								    echo str_replace( array(
4041
+										    "'+",
4042
+										    "+'"
4043
+									    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4044
+								    unset( $new_args['element_require'] );
4045
+							    }
4046
+
4047
+							    if($new_args['element']=='InnerBlocks'){
4048
+								    echo "\n el( InnerBlocks, {";
4049
+							    }elseif($new_args['element']=='innerBlocksProps'){
4050
+								    $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4051
+							      //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4052
+    //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4053
+								    echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4054
+								    echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4055
+								    echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4056
+
4057
+								    echo "} ), {";
4058
+								    echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4059
+							    //    echo '###';
4060
+
4061
+							      //  echo '###';
4062
+							    }elseif($new_args['element']=='BlocksProps'){
4063
+
4064
+								    if ( isset($new_args['if_inner_element']) ) {
4065
+									    $element = $new_args['if_inner_element'];
4066
+								    }else {
4067
+									    $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4068
+								    }
4069
+
4070
+								    unset($new_args['inner_element']);
4071
+								    echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4072
+								    echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4073
+
4074
+
4075
+							       // echo "} ),";
4076
+
4077
+							    }else{
4078
+								    echo "\n el( '" . $new_args['element'] . "', {";
4079
+							    }
4080
+
4081
+
4082
+							    // get the attributes
4083
+							    foreach ( $new_args as $new_key => $new_value ) {
4084
+
4085
+
4086
+								    if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4087
+									    // do nothing
4088
+								    } else {
4089
+									    echo $this->block_element( array( $new_key => $new_value ),$save );
4090
+								    }
4091
+							    }
4092
+
4093
+							    echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4094
+
4095
+							    // get the content
4096
+							    $first_item = 0;
4097
+							    foreach ( $new_args as $new_key => $new_value ) {
4098
+								    if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4099
+
4100
+									    if ( $new_key === 'content' ) {
4101
+										    echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4102
+									    }else if ( $new_key === 'if_content' ) {
4103
+										    echo  $this->block_props_replace(  $new_value  );
4104
+									    }
4105
+
4106
+									    if ( is_array( $new_value ) ) {
4107
+
4108
+										    if ( isset( $new_value['element_require'] ) ) {
4109
+											    echo str_replace( array(
4110
+													    "'+",
4111
+													    "+'"
4112
+												    ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4113
+											    unset( $new_value['element_require'] );
4114
+										    }
4115
+
4116
+										    if ( isset( $new_value['element_repeat'] ) ) {
4117
+											    $x = 1;
4118
+											    while ( $x <= absint( $new_value['element_repeat'] ) ) {
4119
+												    $this->block_element( array( '' => $new_value ),$save );
4120
+												    $x ++;
4121
+											    }
4122
+										    } else {
4123
+											    $this->block_element( array( '' => $new_value ),$save );
4124
+										    }
4125
+									    }
4126
+									    $first_item ++;
4127
+								    }
4128
+							    }
4129
+
4130
+							    if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4131
+								    echo "))";// end content
4132
+							    }else{
4133
+								    echo ")";// end content
4134
+							    }
4135
+
4136
+
4137
+							    echo ", \n";
4138
+
4139
+						    }
4140
+					    } else {
4141
+
4142
+						    if ( substr( $element, 0, 3 ) === "if_" ) {
4143
+							    $extra = '';
4144
+							    if( strpos($new_args, '[%WrapClass%]') !== false ){
4145
+								    $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4146
+								    $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4147
+							    }
4148
+							    echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4149
+						    } elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4150
+							    $new_args = str_replace('[%WrapStyle%]','',$new_args);
4151
+							    echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4152
+    //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4153
+						    } elseif ( $element == 'style' ) {
4154
+							    echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4155
+						    } elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4156
+							    $new_args = str_replace('[%WrapClass%]','',$new_args);
4157
+							    echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4158
+						    } elseif ( $element == 'template' && $new_args ) {
4159
+							    echo $element . ": $new_args,";
4160
+						    } else {
4161
+							    echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4162
+						    }
4163
+
4164
+					    }
4165
+				    }
4166
+			    }
4167
+		    }
4168
+
4169
+		    /**
4170 4170
 		 * Replace block attributes placeholders with the proper naming.
4171 4171
 		 *
4172 4172
 		 * @param $string
4173 4173
 		 *
4174 4174
 		 * @return mixed
4175 4175
 		 */
4176
-		public function block_props_replace( $string, $no_wrap = false ) {
4177
-			if ( $no_wrap ) {
4178
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4179
-			} else {
4180
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4181
-			}
4176
+		    public function block_props_replace( $string, $no_wrap = false ) {
4177
+			    if ( $no_wrap ) {
4178
+				    $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4179
+			    } else {
4180
+				    $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4181
+			    }
4182 4182
 
4183
-			return $string;
4184
-		}
4183
+			    return $string;
4184
+		    }
4185 4185
 
4186
-		/**
4186
+		    /**
4187 4187
 		 * Outputs the content of the widget
4188 4188
 		 *
4189 4189
 		 * @param array $args
4190 4190
 		 * @param array $instance
4191 4191
 		 */
4192
-		public function widget( $args, $instance ) {
4193
-			if ( ! is_array( $args ) ) {
4194
-				$args = array();
4195
-			}
4196
-
4197
-			// Get the filtered values
4198
-			$argument_values = $this->argument_values( $instance );
4199
-			$argument_values = $this->string_to_bool( $argument_values );
4200
-			$output          = $this->output( $argument_values, $args );
4201
-
4202
-			$no_wrap = false;
4203
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4204
-				$no_wrap = true;
4205
-			}
4206
-
4207
-			ob_start();
4208
-			if ( $output && ! $no_wrap ) {
4209
-
4210
-				$class_original = $this->options['widget_ops']['classname'];
4211
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4212
-
4213
-				// Before widget
4214
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4215
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4216
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4217
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4218
-
4219
-				// After widget
4220
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4221
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4222
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4223
-
4224
-				echo $before_widget;
4225
-				// elementor strips the widget wrapping div so we check for and add it back if needed
4226
-				if ( $this->is_elementor_widget_output() ) {
4227
-					// Filter class & attrs for elementor widget output.
4228
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4229
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4230
-
4231
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4232
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4233
-
4234
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4235
-				}
4236
-				echo $this->output_title( $args, $instance );
4237
-				echo $output;
4238
-				if ( $this->is_elementor_widget_output() ) {
4239
-					echo "</span>";
4240
-				}
4241
-				echo $after_widget;
4242
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4243
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4244
-				echo $output;
4245
-			} elseif ( $output && $no_wrap ) {
4246
-				echo $output;
4247
-			}
4248
-			$output = ob_get_clean();
4249
-
4250
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4251
-
4252
-			echo $output;
4253
-		}
4254
-
4255
-		/**
4192
+		    public function widget( $args, $instance ) {
4193
+			    if ( ! is_array( $args ) ) {
4194
+				    $args = array();
4195
+			    }
4196
+
4197
+			    // Get the filtered values
4198
+			    $argument_values = $this->argument_values( $instance );
4199
+			    $argument_values = $this->string_to_bool( $argument_values );
4200
+			    $output          = $this->output( $argument_values, $args );
4201
+
4202
+			    $no_wrap = false;
4203
+			    if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4204
+				    $no_wrap = true;
4205
+			    }
4206
+
4207
+			    ob_start();
4208
+			    if ( $output && ! $no_wrap ) {
4209
+
4210
+				    $class_original = $this->options['widget_ops']['classname'];
4211
+				    $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4212
+
4213
+				    // Before widget
4214
+				    $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4215
+				    $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4216
+				    $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4217
+				    $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4218
+
4219
+				    // After widget
4220
+				    $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4221
+				    $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4222
+				    $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4223
+
4224
+				    echo $before_widget;
4225
+				    // elementor strips the widget wrapping div so we check for and add it back if needed
4226
+				    if ( $this->is_elementor_widget_output() ) {
4227
+					    // Filter class & attrs for elementor widget output.
4228
+					    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4229
+					    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4230
+
4231
+					    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4232
+					    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4233
+
4234
+					    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4235
+				    }
4236
+				    echo $this->output_title( $args, $instance );
4237
+				    echo $output;
4238
+				    if ( $this->is_elementor_widget_output() ) {
4239
+					    echo "</span>";
4240
+				    }
4241
+				    echo $after_widget;
4242
+			    } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4243
+				    $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4244
+				    echo $output;
4245
+			    } elseif ( $output && $no_wrap ) {
4246
+				    echo $output;
4247
+			    }
4248
+			    $output = ob_get_clean();
4249
+
4250
+			    $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4251
+
4252
+			    echo $output;
4253
+		    }
4254
+
4255
+		    /**
4256 4256
 		 * Tests if the current output is inside a elementor container.
4257 4257
 		 *
4258 4258
 		 * @return bool
4259 4259
 		 *@since 1.0.4
4260 4260
 		 */
4261
-		public function is_elementor_widget_output() {
4262
-			$result = false;
4263
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4264
-				$result = true;
4265
-			}
4261
+		    public function is_elementor_widget_output() {
4262
+			    $result = false;
4263
+			    if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4264
+				    $result = true;
4265
+			    }
4266 4266
 
4267
-			return $result;
4268
-		}
4267
+			    return $result;
4268
+		    }
4269 4269
 
4270
-		/**
4270
+		    /**
4271 4271
 		 * Tests if the current output is inside a elementor preview.
4272 4272
 		 *
4273 4273
 		 * @return bool
4274 4274
 		 *@since 1.0.4
4275 4275
 		 */
4276
-		public function is_elementor_preview() {
4277
-			$result = false;
4278
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4279
-				$result = true;
4280
-			}
4276
+		    public function is_elementor_preview() {
4277
+			    $result = false;
4278
+			    if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4279
+				    $result = true;
4280
+			    }
4281 4281
 
4282
-			return $result;
4283
-		}
4282
+			    return $result;
4283
+		    }
4284 4284
 
4285
-		/**
4285
+		    /**
4286 4286
 		 * Tests if the current output is inside a Divi preview.
4287 4287
 		 *
4288 4288
 		 * @return bool
4289 4289
 		 *@since 1.0.6
4290 4290
 		 */
4291
-		public function is_divi_preview() {
4292
-			$result = false;
4293
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4294
-				$result = true;
4295
-			}
4291
+		    public function is_divi_preview() {
4292
+			    $result = false;
4293
+			    if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4294
+				    $result = true;
4295
+			    }
4296 4296
 
4297
-			return $result;
4298
-		}
4297
+			    return $result;
4298
+		    }
4299 4299
 
4300
-		/**
4300
+		    /**
4301 4301
 		 * Tests if the current output is inside a Beaver builder preview.
4302 4302
 		 *
4303 4303
 		 * @return bool
4304 4304
 		 *@since 1.0.6
4305 4305
 		 */
4306
-		public function is_beaver_preview() {
4307
-			$result = false;
4308
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4309
-				$result = true;
4310
-			}
4306
+		    public function is_beaver_preview() {
4307
+			    $result = false;
4308
+			    if ( isset( $_REQUEST['fl_builder'] ) ) {
4309
+				    $result = true;
4310
+			    }
4311 4311
 
4312
-			return $result;
4313
-		}
4312
+			    return $result;
4313
+		    }
4314 4314
 
4315
-		/**
4315
+		    /**
4316 4316
 		 * Tests if the current output is inside a siteorigin builder preview.
4317 4317
 		 *
4318 4318
 		 * @return bool
4319 4319
 		 *@since 1.0.6
4320 4320
 		 */
4321
-		public function is_siteorigin_preview() {
4322
-			$result = false;
4323
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4324
-				$result = true;
4325
-			}
4321
+		    public function is_siteorigin_preview() {
4322
+			    $result = false;
4323
+			    if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4324
+				    $result = true;
4325
+			    }
4326 4326
 
4327
-			return $result;
4328
-		}
4327
+			    return $result;
4328
+		    }
4329 4329
 
4330
-		/**
4330
+		    /**
4331 4331
 		 * Tests if the current output is inside a cornerstone builder preview.
4332 4332
 		 *
4333 4333
 		 * @return bool
4334 4334
 		 *@since 1.0.8
4335 4335
 		 */
4336
-		public function is_cornerstone_preview() {
4337
-			$result = false;
4338
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4339
-				$result = true;
4340
-			}
4336
+		    public function is_cornerstone_preview() {
4337
+			    $result = false;
4338
+			    if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4339
+				    $result = true;
4340
+			    }
4341 4341
 
4342
-			return $result;
4343
-		}
4342
+			    return $result;
4343
+		    }
4344 4344
 
4345
-		/**
4345
+		    /**
4346 4346
 		 * Tests if the current output is inside a fusion builder preview.
4347 4347
 		 *
4348 4348
 		 * @return bool
4349 4349
 		 *@since 1.1.0
4350 4350
 		 */
4351
-		public function is_fusion_preview() {
4352
-			$result = false;
4353
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4354
-				$result = true;
4355
-			}
4351
+		    public function is_fusion_preview() {
4352
+			    $result = false;
4353
+			    if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4354
+				    $result = true;
4355
+			    }
4356 4356
 
4357
-			return $result;
4358
-		}
4357
+			    return $result;
4358
+		    }
4359 4359
 
4360
-		/**
4360
+		    /**
4361 4361
 		 * Tests if the current output is inside a Oxygen builder preview.
4362 4362
 		 *
4363 4363
 		 * @return bool
4364 4364
 		 *@since 1.0.18
4365 4365
 		 */
4366
-		public function is_oxygen_preview() {
4367
-			$result = false;
4368
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4369
-				$result = true;
4370
-			}
4366
+		    public function is_oxygen_preview() {
4367
+			    $result = false;
4368
+			    if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4369
+				    $result = true;
4370
+			    }
4371 4371
 
4372
-			return $result;
4373
-		}
4372
+			    return $result;
4373
+		    }
4374 4374
 
4375
-		/**
4375
+		    /**
4376 4376
 		 * Check for Kallyas theme Zion builder preview.
4377 4377
 		 *
4378 4378
 		 * @since 1.1.22
4379 4379
 		 *
4380 4380
 		 * @return bool True when preview page otherwise false.
4381 4381
 		 */
4382
-		public function is_kallyas_zion_preview() {
4383
-			$result = false;
4382
+		    public function is_kallyas_zion_preview() {
4383
+			    $result = false;
4384 4384
 
4385
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4386
-				$result = true;
4387
-			}
4385
+			    if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4386
+				    $result = true;
4387
+			    }
4388 4388
 
4389
-			return $result;
4390
-		}
4389
+			    return $result;
4390
+		    }
4391 4391
 
4392
-		/**
4392
+		    /**
4393 4393
 		 * Check for Bricks theme builder preview.
4394 4394
 		 *
4395 4395
 		 * @since 1.1.31
4396 4396
 		 *
4397 4397
 		 * @return bool True when preview page otherwise false.
4398 4398
 		 */
4399
-		public function is_bricks_preview() {
4400
-			$result = false;
4399
+		    public function is_bricks_preview() {
4400
+			    $result = false;
4401 4401
 
4402
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4403
-				$result = true;
4404
-			}
4402
+			    if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4403
+				    $result = true;
4404
+			    }
4405 4405
 
4406
-			return $result;
4407
-		}
4406
+			    return $result;
4407
+		    }
4408 4408
 
4409
-		/**
4409
+		    /**
4410 4410
 		 * General function to check if we are in a preview situation.
4411 4411
 		 *
4412 4412
 		 * @return bool
4413 4413
 		 *@since 1.0.6
4414 4414
 		 */
4415
-		public function is_preview() {
4416
-			$preview = false;
4417
-			if ( $this->is_divi_preview() ) {
4418
-				$preview = true;
4419
-			} elseif ( $this->is_elementor_preview() ) {
4420
-				$preview = true;
4421
-			} elseif ( $this->is_beaver_preview() ) {
4422
-				$preview = true;
4423
-			} elseif ( $this->is_siteorigin_preview() ) {
4424
-				$preview = true;
4425
-			} elseif ( $this->is_cornerstone_preview() ) {
4426
-				$preview = true;
4427
-			} elseif ( $this->is_fusion_preview() ) {
4428
-				$preview = true;
4429
-			} elseif ( $this->is_oxygen_preview() ) {
4430
-				$preview = true;
4431
-			} elseif( $this->is_kallyas_zion_preview() ) {
4432
-				$preview = true;
4433
-			} elseif( $this->is_block_content_call() ) {
4434
-				$preview = true;
4435
-			} elseif( $this->is_bricks_preview() ) {
4436
-				$preview = true;
4437
-			}
4438
-
4439
-			return $preview;
4440
-		}
4441
-
4442
-		/**
4415
+		    public function is_preview() {
4416
+			    $preview = false;
4417
+			    if ( $this->is_divi_preview() ) {
4418
+				    $preview = true;
4419
+			    } elseif ( $this->is_elementor_preview() ) {
4420
+				    $preview = true;
4421
+			    } elseif ( $this->is_beaver_preview() ) {
4422
+				    $preview = true;
4423
+			    } elseif ( $this->is_siteorigin_preview() ) {
4424
+				    $preview = true;
4425
+			    } elseif ( $this->is_cornerstone_preview() ) {
4426
+				    $preview = true;
4427
+			    } elseif ( $this->is_fusion_preview() ) {
4428
+				    $preview = true;
4429
+			    } elseif ( $this->is_oxygen_preview() ) {
4430
+				    $preview = true;
4431
+			    } elseif( $this->is_kallyas_zion_preview() ) {
4432
+				    $preview = true;
4433
+			    } elseif( $this->is_block_content_call() ) {
4434
+				    $preview = true;
4435
+			    } elseif( $this->is_bricks_preview() ) {
4436
+				    $preview = true;
4437
+			    }
4438
+
4439
+			    return $preview;
4440
+		    }
4441
+
4442
+		    /**
4443 4443
 		 * Output the super title.
4444 4444
 		 *
4445 4445
 		 * @param $args
@@ -4447,172 +4447,172 @@  discard block
 block discarded – undo
4447 4447
 		 *
4448 4448
 		 * @return string
4449 4449
 		 */
4450
-		public function output_title( $args, $instance = array() ) {
4451
-			$output = '';
4452
-			if ( ! empty( $instance['title'] ) ) {
4453
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4454
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4455
-
4456
-				if ( empty( $instance['widget_title_tag'] ) ) {
4457
-					if ( ! isset( $args['before_title'] ) ) {
4458
-						$args['before_title'] = '';
4459
-					}
4460
-
4461
-					if ( ! isset( $args['after_title'] ) ) {
4462
-						$args['after_title'] = '';
4463
-					}
4464
-
4465
-					$output = $args['before_title'] . $title . $args['after_title'];
4466
-				} else {
4467
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
4468
-
4469
-					// classes
4470
-					$title_classes = array();
4471
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4472
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4473
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4474
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4475
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4476
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4477
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4478
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4479
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4480
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4481
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4482
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4483
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4484
-
4485
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4486
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
4487
-				}
4488
-
4489
-			}
4490
-
4491
-			return $output;
4492
-		}
4493
-
4494
-		/**
4450
+		    public function output_title( $args, $instance = array() ) {
4451
+			    $output = '';
4452
+			    if ( ! empty( $instance['title'] ) ) {
4453
+				    /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4454
+				    $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4455
+
4456
+				    if ( empty( $instance['widget_title_tag'] ) ) {
4457
+					    if ( ! isset( $args['before_title'] ) ) {
4458
+						    $args['before_title'] = '';
4459
+					    }
4460
+
4461
+					    if ( ! isset( $args['after_title'] ) ) {
4462
+						    $args['after_title'] = '';
4463
+					    }
4464
+
4465
+					    $output = $args['before_title'] . $title . $args['after_title'];
4466
+				    } else {
4467
+					    $title_tag = esc_attr( $instance['widget_title_tag'] );
4468
+
4469
+					    // classes
4470
+					    $title_classes = array();
4471
+					    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4472
+					    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4473
+					    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4474
+					    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4475
+					    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4476
+					    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4477
+					    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4478
+					    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4479
+					    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4480
+					    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4481
+					    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4482
+					    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4483
+					    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4484
+
4485
+					    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4486
+					    $output = "<$title_tag class='$class' >$title</$title_tag>";
4487
+				    }
4488
+
4489
+			    }
4490
+
4491
+			    return $output;
4492
+		    }
4493
+
4494
+		    /**
4495 4495
 		 * Outputs the options form inputs for the widget.
4496 4496
 		 *
4497 4497
 		 * @param array $instance The widget options.
4498 4498
 		 */
4499
-		public function form( $instance ) {
4499
+		    public function form( $instance ) {
4500 4500
 
4501
-			// set widget instance
4502
-			$this->instance = $instance;
4501
+			    // set widget instance
4502
+			    $this->instance = $instance;
4503 4503
 
4504
-			// set it as a SD widget
4505
-			echo $this->widget_advanced_toggle();
4504
+			    // set it as a SD widget
4505
+			    echo $this->widget_advanced_toggle();
4506 4506
 
4507
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4508
-			$arguments_raw = $this->get_arguments();
4507
+			    echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4508
+			    $arguments_raw = $this->get_arguments();
4509 4509
 
4510
-			if ( is_array( $arguments_raw ) ) {
4510
+			    if ( is_array( $arguments_raw ) ) {
4511 4511
 
4512
-				$arguments = $this->group_arguments( $arguments_raw );
4512
+				    $arguments = $this->group_arguments( $arguments_raw );
4513 4513
 
4514
-				// Do we have sections?
4515
-				$has_sections = $arguments == $arguments_raw ? false : true;
4514
+				    // Do we have sections?
4515
+				    $has_sections = $arguments == $arguments_raw ? false : true;
4516 4516
 
4517 4517
 
4518
-				if ( $has_sections ) {
4519
-					$panel_count = 0;
4520
-					foreach ( $arguments as $key => $args ) {
4518
+				    if ( $has_sections ) {
4519
+					    $panel_count = 0;
4520
+					    foreach ( $arguments as $key => $args ) {
4521 4521
 
4522
-						?>
4522
+						    ?>
4523 4523
 						<script>
4524 4524
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
4525 4525
 						</script>
4526 4526
 						<?php
4527 4527
 
4528
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
4529
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4530
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4531
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4528
+						    $hide       = $panel_count ? ' style="display:none;" ' : '';
4529
+						    $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4530
+						    echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4531
+						    echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4532 4532
 
4533
-						foreach ( $args as $k => $a ) {
4533
+						    foreach ( $args as $k => $a ) {
4534 4534
 
4535
-							$this->widget_inputs_row_start($k, $a);
4536
-							$this->widget_inputs( $a, $instance );
4537
-							$this->widget_inputs_row_end($k, $a);
4535
+							    $this->widget_inputs_row_start($k, $a);
4536
+							    $this->widget_inputs( $a, $instance );
4537
+							    $this->widget_inputs_row_end($k, $a);
4538 4538
 
4539
-						}
4539
+						    }
4540 4540
 
4541
-						echo "</div>";
4541
+						    echo "</div>";
4542 4542
 
4543
-						$panel_count ++;
4543
+						    $panel_count ++;
4544 4544
 
4545
-					}
4546
-				} else {
4547
-					foreach ( $arguments as $key => $args ) {
4548
-						$this->widget_inputs_row_start($key, $args);
4549
-						$this->widget_inputs( $args, $instance );
4550
-						$this->widget_inputs_row_end($key, $args);
4551
-					}
4552
-				}
4545
+					    }
4546
+				    } else {
4547
+					    foreach ( $arguments as $key => $args ) {
4548
+						    $this->widget_inputs_row_start($key, $args);
4549
+						    $this->widget_inputs( $args, $instance );
4550
+						    $this->widget_inputs_row_end($key, $args);
4551
+					    }
4552
+				    }
4553 4553
 
4554
-			}
4555
-		}
4554
+			    }
4555
+		    }
4556 4556
 
4557
-		public function widget_inputs_row_start( $key, $args ) {
4558
-			if ( ! empty( $args['row'] ) ) {
4559
-				// Maybe open
4560
-				if ( ! empty( $args['row']['open'] ) ) {
4561
-					?>
4562
-					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4557
+		    public function widget_inputs_row_start( $key, $args ) {
4558
+			    if ( ! empty( $args['row'] ) ) {
4559
+				    // Maybe open
4560
+				    if ( ! empty( $args['row']['open'] ) ) {
4561
+					    ?>
4562
+    					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4563 4563
 					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4564
-					<?php
4565
-						if ( isset( $args['row']['icon'] ) ) {
4566
-							$args['row']['icon'] = '';
4567
-						}
4568
-
4569
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4570
-							$args['row']['device_type'] = $args['device_type'];
4571
-						}
4572
-					?>
4573
-					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4564
+    					<?php
4565
+						    if ( isset( $args['row']['icon'] ) ) {
4566
+							    $args['row']['icon'] = '';
4567
+						    }
4568
+
4569
+						    if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4570
+							    $args['row']['device_type'] = $args['device_type'];
4571
+						    }
4572
+					    ?>
4573
+    					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4574 4574
 					<?php } ?>
4575
-					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4575
+    					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4576 4576
 					<div class='col pr-2'>
4577 4577
 					<?php
4578
-				} else if ( ! empty( $args['row']['close'] ) ) {
4579
-					echo "<div class='col pl-0 ps-0'>";
4580
-				} else {
4581
-					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4582
-				}
4583
-			}
4584
-		}
4585
-
4586
-		public function widget_inputs_row_end( $key, $args ) {
4587
-			if ( ! empty( $args['row'] ) ) {
4588
-				// Maybe close
4589
-				if ( ! empty( $args['row']['close'] ) ) {
4590
-					echo "</div></div>";
4591
-				}
4592
-				echo "</div>";
4593
-			}
4594
-		}
4595
-
4596
-		/**
4578
+				    } else if ( ! empty( $args['row']['close'] ) ) {
4579
+					    echo "<div class='col pl-0 ps-0'>";
4580
+				    } else {
4581
+					    echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4582
+				    }
4583
+			    }
4584
+		    }
4585
+
4586
+		    public function widget_inputs_row_end( $key, $args ) {
4587
+			    if ( ! empty( $args['row'] ) ) {
4588
+				    // Maybe close
4589
+				    if ( ! empty( $args['row']['close'] ) ) {
4590
+					    echo "</div></div>";
4591
+				    }
4592
+				    echo "</div>";
4593
+			    }
4594
+		    }
4595
+
4596
+		    /**
4597 4597
 		 * Get the hidden input that when added makes the advanced button show on widget settings.
4598 4598
 		 *
4599 4599
 		 * @return string
4600 4600
 		 */
4601
-		public function widget_advanced_toggle() {
4601
+		    public function widget_advanced_toggle() {
4602 4602
 
4603
-			$output = '';
4604
-			if ( $this->block_show_advanced() ) {
4605
-				$val = 1;
4606
-			} else {
4607
-				$val = 0;
4608
-			}
4603
+			    $output = '';
4604
+			    if ( $this->block_show_advanced() ) {
4605
+				    $val = 1;
4606
+			    } else {
4607
+				    $val = 0;
4608
+			    }
4609 4609
 
4610
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4610
+			    $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4611 4611
 
4612
-			return $output;
4613
-		}
4612
+			    return $output;
4613
+		    }
4614 4614
 
4615
-		/**
4615
+		    /**
4616 4616
 		 * Convert require element.
4617 4617
 		 *
4618 4618
 		 * @param string $input Input element.
@@ -4621,67 +4621,67 @@  discard block
 block discarded – undo
4621 4621
 		 *@since 1.0.0
4622 4622
 		 *
4623 4623
 		 */
4624
-		public function convert_element_require( $input ) {
4625
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4624
+		    public function convert_element_require( $input ) {
4625
+			    $input = str_replace( "'", '"', $input );// we only want double quotes
4626 4626
 
4627
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4628
-				"jQuery(form).find('[data-argument=\"",
4629
-				"\"]').find('input,select,textarea').val()",
4630
-				"\"]').find('input:checked').val()"
4631
-			), $input ) );
4627
+			    $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4628
+				    "jQuery(form).find('[data-argument=\"",
4629
+				    "\"]').find('input,select,textarea').val()",
4630
+				    "\"]').find('input:checked').val()"
4631
+			    ), $input ) );
4632 4632
 
4633
-			return $output;
4634
-		}
4633
+			    return $output;
4634
+		    }
4635 4635
 
4636
-		/**
4636
+		    /**
4637 4637
 		 * Builds the inputs for the widget options.
4638 4638
 		 *
4639 4639
 		 * @param $args
4640 4640
 		 * @param $instance
4641 4641
 		 */
4642
-		public function widget_inputs( $args, $instance ) {
4643
-
4644
-			$class             = "";
4645
-			$element_require   = "";
4646
-			$custom_attributes = "";
4647
-
4648
-			// get value
4649
-			if ( isset( $instance[ $args['name'] ] ) ) {
4650
-				$value = $instance[ $args['name'] ];
4651
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4652
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4653
-			} else {
4654
-				$value = '';
4655
-			}
4656
-
4657
-			// get placeholder
4658
-			if ( ! empty( $args['placeholder'] ) ) {
4659
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4660
-			} else {
4661
-				$placeholder = '';
4662
-			}
4663
-
4664
-			// get if advanced
4665
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4666
-				$class .= " sd-advanced-setting ";
4667
-			}
4668
-
4669
-			// element_require
4670
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4671
-				$element_require = $args['element_require'];
4672
-			}
4673
-
4674
-			// custom_attributes
4675
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4676
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4677
-			}
4678
-
4679
-			// before wrapper
4680
-			?>
4681
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4642
+		    public function widget_inputs( $args, $instance ) {
4643
+
4644
+			    $class             = "";
4645
+			    $element_require   = "";
4646
+			    $custom_attributes = "";
4647
+
4648
+			    // get value
4649
+			    if ( isset( $instance[ $args['name'] ] ) ) {
4650
+				    $value = $instance[ $args['name'] ];
4651
+			    } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4652
+				    $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4653
+			    } else {
4654
+				    $value = '';
4655
+			    }
4656
+
4657
+			    // get placeholder
4658
+			    if ( ! empty( $args['placeholder'] ) ) {
4659
+				    $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4660
+			    } else {
4661
+				    $placeholder = '';
4662
+			    }
4663
+
4664
+			    // get if advanced
4665
+			    if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4666
+				    $class .= " sd-advanced-setting ";
4667
+			    }
4668
+
4669
+			    // element_require
4670
+			    if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4671
+				    $element_require = $args['element_require'];
4672
+			    }
4673
+
4674
+			    // custom_attributes
4675
+			    if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4676
+				    $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4677
+			    }
4678
+
4679
+			    // before wrapper
4680
+			    ?>
4681
+    			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4682 4682
 			<?php
4683
-			switch ( $args['type'] ) {
4684
-				//array('text','password','number','email','tel','url','color')
4683
+			    switch ( $args['type'] ) {
4684
+				    //array('text','password','number','email','tel','url','color')
4685 4685
 				case "text":
4686 4686
 				case "password":
4687 4687
 				case "number":
@@ -4745,7 +4745,7 @@  discard block
 block discarded – undo
4745 4745
 					break;
4746 4746
 				default:
4747 4747
 					echo "No input type found!"; // @todo we need to add more input types.
4748
-			}
4748
+			    }
4749 4749
 			// after wrapper
4750 4750
 			?></p><?php
4751 4751
 		}
Please login to merge, or discard this patch.