PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 4.11.34
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v4.11.34
4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / includes / controls / premium-background.php
premium-addons-for-elementor / includes / controls Last commit date
pa-image-choose.php 8 months ago premium-acf-selector.php 8 months ago premium-background.php 8 months ago premium-post-filter.php 8 months ago premium-select.php 8 months ago premium-tax-filter.php 8 months ago
premium-background.php
311 lines
1 <?php
2
3 /**
4 * Class: Premium_Background
5 * Name: Premium Background
6 * Slug: premium-background
7 */
8
9 namespace PremiumAddons\Includes\Controls;
10
11 use Elementor\Controls_Manager;
12 use Elementor\Group_Control_Background;
13
14 if ( ! defined( 'ABSPATH' ) ) {
15 exit();
16 }
17
18 /**
19 * Premium background control.
20 *
21 * A base control for creating background control. Displays input fields to define
22 * the background color, background image, background gradient or background video.
23 *
24 * @since 4.11.34
25 */
26 class Premium_Background extends Group_Control_Background {
27
28 /**
29 * Fields.
30 *
31 * Holds all the background control fields.
32 *
33 * @since 1.2.2
34 * @access protected
35 * @static
36 *
37 * @var array Background control fields.
38 */
39 protected static $fields;
40
41 /**
42 * Get background control type.
43 *
44 * Retrieve the control type, in this case `background`.
45 *
46 * @return string Control type.
47 * @since 1.0.0
48 * @access public
49 * @static
50 *
51 */
52 public static function get_type() {
53 return 'pa-background';
54 }
55
56 /**
57 * Init fields.
58 *
59 * Initialize background control fields.
60 *
61 * @return array Control fields.
62 * @since 1.2.2
63 * @access public
64 *
65 */
66 public function init_fields() {
67 $fields = [];
68
69 $fields['background'] = [
70 'label' => esc_html_x( 'Background Type', 'Background Control', 'premium-addons-for-elementor' ),
71 'type' => Controls_Manager::CHOOSE,
72 'render_type' => 'ui',
73 ];
74
75 $fields['color'] = [
76 'label' => esc_html_x( 'Color', 'Background Control', 'premium-addons-for-elementor' ),
77 'type' => Controls_Manager::COLOR,
78 'default' => '',
79 'title' => esc_html_x( 'Background Color', 'Background Control', 'premium-addons-for-elementor' ),
80 'selectors' => [
81 '{{SELECTOR}}' => 'background-color: {{VALUE}};',
82 ],
83 'condition' => [
84 'background' => [ 'classic', 'gradient', 'video' ],
85 ],
86 ];
87
88 $fields['color_stop'] = [
89 'label' => esc_html_x( 'Location', 'Background Control', 'premium-addons-for-elementor' ),
90 'type' => Controls_Manager::SLIDER,
91 'size_units' => [ '%', 'custom' ],
92 'default' => [
93 'unit' => '%',
94 'size' => 0,
95 ],
96 'render_type' => 'ui',
97 'condition' => [
98 'background' => [ 'gradient' ],
99 ],
100 'of_type' => 'gradient',
101 ];
102
103 $fields['color_b'] = [
104 'label' => esc_html_x( 'Second Color', 'Background Control', 'premium-addons-for-elementor' ),
105 'type' => Controls_Manager::COLOR,
106 'default' => '#f2295b',
107 'render_type' => 'ui',
108 'condition' => [
109 'background' => [ 'gradient' ],
110 ],
111 'of_type' => 'gradient',
112 ];
113
114 $fields['color_b_stop'] = [
115 'label' => esc_html_x( 'Location', 'Background Control', 'premium-addons-for-elementor' ),
116 'type' => Controls_Manager::SLIDER,
117 'size_units' => [ '%', 'custom' ],
118 'default' => [
119 'unit' => '%',
120 'size' => 100,
121 ],
122 'render_type' => 'ui',
123 'condition' => [
124 'background' => [ 'gradient' ],
125 ],
126 'of_type' => 'gradient',
127 ];
128
129 $fields['gradient_type'] = [
130 'label' => esc_html_x( 'Type', 'Background Control', 'premium-addons-for-elementor' ),
131 'type' => Controls_Manager::SELECT,
132 'options' => [
133 'linear' => esc_html_x( 'Linear', 'Background Control', 'premium-addons-for-elementor' ),
134 'radial' => esc_html_x( 'Radial', 'Background Control', 'premium-addons-for-elementor' ),
135 ],
136 'default' => 'linear',
137 'render_type' => 'ui',
138 'condition' => [
139 'background' => [ 'gradient' ],
140 ],
141 'of_type' => 'gradient',
142 ];
143
144 $fields['gradient_angle'] = [
145 'label' => esc_html_x( 'Angle', 'Background Control', 'premium-addons-for-elementor' ),
146 'type' => Controls_Manager::SLIDER,
147 'size_units' => [ 'deg', 'grad', 'rad', 'turn', 'custom' ],
148 'default' => [
149 'unit' => 'deg',
150 'size' => 180,
151 ],
152 'selectors' => [
153 '{{SELECTOR}}' => 'background-color: transparent; background-image: linear-gradient({{SIZE}}{{UNIT}}, {{color.VALUE}} {{color_stop.SIZE}}{{color_stop.UNIT}}, {{color_b.VALUE}} {{color_b_stop.SIZE}}{{color_b_stop.UNIT}})',
154 ],
155 'condition' => [
156 'background' => [ 'gradient' ],
157 'gradient_type' => 'linear',
158 ],
159 'of_type' => 'gradient',
160 ];
161
162 $fields['gradient_position'] = [
163 'label' => esc_html_x( 'Position', 'Background Control', 'premium-addons-for-elementor' ),
164 'type' => Controls_Manager::SELECT,
165 'options' => [
166 'center center' => esc_html_x( 'Center Center', 'Background Control', 'premium-addons-for-elementor' ),
167 'center left' => esc_html_x( 'Center Left', 'Background Control', 'premium-addons-for-elementor' ),
168 'center right' => esc_html_x( 'Center Right', 'Background Control', 'premium-addons-for-elementor' ),
169 'top center' => esc_html_x( 'Top Center', 'Background Control', 'premium-addons-for-elementor' ),
170 'top left' => esc_html_x( 'Top Left', 'Background Control', 'premium-addons-for-elementor' ),
171 'top right' => esc_html_x( 'Top Right', 'Background Control', 'premium-addons-for-elementor' ),
172 'bottom center' => esc_html_x( 'Bottom Center', 'Background Control', 'premium-addons-for-elementor' ),
173 'bottom left' => esc_html_x( 'Bottom Left', 'Background Control', 'premium-addons-for-elementor' ),
174 'bottom right' => esc_html_x( 'Bottom Right', 'Background Control', 'premium-addons-for-elementor' ),
175 ],
176 'default' => 'center center',
177 'selectors' => [
178 '{{SELECTOR}}' => 'background-color: transparent; background-image: radial-gradient(at {{VALUE}}, {{color.VALUE}} {{color_stop.SIZE}}{{color_stop.UNIT}}, {{color_b.VALUE}} {{color_b_stop.SIZE}}{{color_b_stop.UNIT}})',
179 ],
180 'condition' => [
181 'background' => [ 'gradient' ],
182 'gradient_type' => 'radial',
183 ],
184 'of_type' => 'gradient',
185 ];
186
187 $fields['image'] = [
188 'label' => esc_html_x( 'Image', 'Background Control', 'premium-addons-for-elementor' ),
189 'type' => Controls_Manager::MEDIA,
190 'ai' => [
191 'category' => 'background',
192 ],
193 'dynamic' => [
194 'active' => true,
195 ],
196 'responsive' => false,
197 'title' => esc_html_x( 'Background Image', 'Background Control', 'premium-addons-for-elementor' ),
198 'selectors' => [
199 '{{SELECTOR}}' => 'background-image: url("{{URL}}");',
200 ],
201 'has_sizes' => true,
202 'render_type' => 'template',
203 'condition' => [
204 'background' => [ 'classic' ],
205 ],
206 ];
207
208 $fields['position'] = [
209 'label' => esc_html_x( 'Position', 'Background Control', 'premium-addons-for-elementor' ),
210 'type' => Controls_Manager::SELECT,
211 'default' => '',
212 'separator' => 'before',
213 'responsive' => false,
214 'options' => [
215 '' => esc_html_x( 'Default', 'Background Control', 'premium-addons-for-elementor' ),
216 'center center' => esc_html_x( 'Center Center', 'Background Control', 'premium-addons-for-elementor' ),
217 'center left' => esc_html_x( 'Center Left', 'Background Control', 'premium-addons-for-elementor' ),
218 'center right' => esc_html_x( 'Center Right', 'Background Control', 'premium-addons-for-elementor' ),
219 'top center' => esc_html_x( 'Top Center', 'Background Control', 'premium-addons-for-elementor' ),
220 'top left' => esc_html_x( 'Top Left', 'Background Control', 'premium-addons-for-elementor' ),
221 'top right' => esc_html_x( 'Top Right', 'Background Control', 'premium-addons-for-elementor' ),
222 'bottom center' => esc_html_x( 'Bottom Center', 'Background Control', 'premium-addons-for-elementor' ),
223 'bottom left' => esc_html_x( 'Bottom Left', 'Background Control', 'premium-addons-for-elementor' ),
224 'bottom right' => esc_html_x( 'Bottom Right', 'Background Control', 'premium-addons-for-elementor' ),
225
226 ],
227 'selectors' => [
228 '{{SELECTOR}}' => 'background-position: {{VALUE}};',
229 ],
230 'condition' => [
231 'background' => [ 'classic' ],
232 'image[url]!' => '',
233 ],
234 ];
235
236 $fields['attachment'] = [
237 'label' => esc_html_x( 'Attachment', 'Background Control', 'premium-addons-for-elementor' ),
238 'type' => Controls_Manager::SELECT,
239 'default' => '',
240 'options' => [
241 '' => esc_html_x( 'Default', 'Background Control', 'premium-addons-for-elementor' ),
242 'scroll' => esc_html_x( 'Scroll', 'Background Control', 'premium-addons-for-elementor' ),
243 'fixed' => esc_html_x( 'Fixed', 'Background Control', 'premium-addons-for-elementor' ),
244 ],
245 'selectors' => [
246 '(desktop+){{SELECTOR}}' => 'background-attachment: {{VALUE}};',
247 ],
248 'condition' => [
249 'background' => [ 'classic' ],
250 'image[url]!' => '',
251 ],
252 ];
253
254 $fields['attachment_alert'] = [
255 'type' => Controls_Manager::RAW_HTML,
256 'content_classes' => 'elementor-control-field-description',
257 'raw' => esc_html__( 'Note: Attachment Fixed works only on desktop.', 'premium-addons-for-elementor' ),
258 'separator' => 'none',
259 'condition' => [
260 'background' => [ 'classic' ],
261 'image[url]!' => '',
262 'attachment' => 'fixed',
263 ],
264 ];
265
266 $fields['repeat'] = [
267 'label' => esc_html_x( 'Repeat', 'Background Control', 'premium-addons-for-elementor' ),
268 'type' => Controls_Manager::SELECT,
269 'default' => '',
270 'responsive' => false,
271 'options' => [
272 '' => esc_html_x( 'Default', 'Background Control', 'premium-addons-for-elementor' ),
273 'no-repeat' => esc_html_x( 'No-repeat', 'Background Control', 'premium-addons-for-elementor' ),
274 'repeat' => esc_html_x( 'Repeat', 'Background Control', 'premium-addons-for-elementor' ),
275 'repeat-x' => esc_html_x( 'Repeat-x', 'Background Control', 'premium-addons-for-elementor' ),
276 'repeat-y' => esc_html_x( 'Repeat-y', 'Background Control', 'premium-addons-for-elementor' ),
277 ],
278 'selectors' => [
279 '{{SELECTOR}}' => 'background-repeat: {{VALUE}};',
280 ],
281 'condition' => [
282 'background' => [ 'classic' ],
283 'image[url]!' => '',
284 ],
285 ];
286
287 $fields['size'] = [
288 'label' => esc_html_x( 'Display Size', 'Background Control', 'premium-addons-for-elementor' ),
289 'type' => Controls_Manager::SELECT,
290 'responsive' => false,
291 'default' => '',
292 'options' => [
293 '' => esc_html_x( 'Default', 'Background Control', 'premium-addons-for-elementor' ),
294 'auto' => esc_html_x( 'Auto', 'Background Control', 'premium-addons-for-elementor' ),
295 'cover' => esc_html_x( 'Cover', 'Background Control', 'premium-addons-for-elementor' ),
296 'contain' => esc_html_x( 'Contain', 'Background Control', 'premium-addons-for-elementor' ),
297 ],
298 'selectors' => [
299 '{{SELECTOR}}' => 'background-size: {{VALUE}};',
300 ],
301 'condition' => [
302 'background' => [ 'classic' ],
303 'image[url]!' => '',
304 ],
305 ];
306
307 return $fields;
308 }
309
310 }
311