PluginProbe ʕ •ᴥ•ʔ
Essential Addons for Elementor – Popular Elementor Templates & Widgets / 5.8.7
Essential Addons for Elementor – Popular Elementor Templates & Widgets v5.8.7
6.6.5 6.6.4 6.6.3 5.7.3 5.7.4 5.8.0 5.8.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.15 5.8.16 5.8.18 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.10 5.9.11 5.9.12 5.9.13 5.9.14 5.9.15 5.9.16 5.9.17 5.9.18 5.9.19 5.9.2 5.9.20 5.9.21 5.9.22 5.9.23 5.9.24 5.9.25 5.9.26 5.9.27 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 6.0.1 6.0.10 6.0.11 6.0.12 6.0.13 6.0.14 6.0.15 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.0 6.1.1 6.1.10 6.1.11 trunk 6.1.12 1.0.0 6.1.13 1.0.1 6.1.14 1.1.0 6.1.15 2.0 6.1.17 2.1 6.1.18 2.10.0 6.1.19 2.10.1 6.1.2 2.10.2 6.1.20 2.10.3 6.1.3 2.10.4 6.1.4 2.10.5 6.1.5 2.2.0 6.1.6 2.2.1 6.1.7 2.2.2 6.1.8 2.2.3 6.1.9 2.2.4 6.2.0 2.2.5 6.2.1 2.3.0 6.2.2 2.3.1 6.2.3 2.4.0 6.2.4 2.4.1 6.3.0 2.4.2 6.3.1 2.4.3 6.3.2 2.5.0 6.3.3 2.6.0 6.4.0 2.7.0 6.5.0 2.7.1 6.5.1 2.7.10 6.5.10 2.7.11 6.5.11 2.7.2 6.5.12 2.7.3 6.5.13 2.7.4 6.5.2 2.7.5 6.5.3 2.7.6 6.5.4 2.7.7 6.5.5 2.7.8 6.5.6 2.7.9 6.5.7 2.8.0 6.5.8 2.8.1 6.5.9 2.8.2 6.6.0 2.8.3 6.6.1 2.8.4 6.6.2 2.8.5 2.8.6 2.8.7 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 3.1.5 3.2.0 3.3.0 3.3.1 3.3.2 3.3.3 3.4.0 3.5.0 3.5.1 3.5.2 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 5.0.0 5.0.1 5.0.10 5.0.11 5.0.12 5.0.13 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.4.6 5.5.5 5.6.5 5.7.2
essential-addons-for-elementor-lite / includes / Elements / GravityForms.php
essential-addons-for-elementor-lite / includes / Elements Last commit date
Adv_Accordion.php 2 years ago Adv_Tabs.php 2 years ago Advanced_Data_Table.php 2 years ago Better_Payment.php 4 years ago Betterdocs_Category_Box.php 2 years ago Betterdocs_Category_Grid.php 2 years ago Betterdocs_Search_Form.php 2 years ago Business_Reviews.php 2 years ago Caldera_Forms.php 2 years ago Career_Page.php 4 years ago Contact_Form_7.php 2 years ago Content_Ticker.php 2 years ago Countdown.php 2 years ago Creative_Button.php 2 years ago Crowdfundly_All_Campaign.php 4 years ago Crowdfundly_Organization.php 4 years ago Crowdfundly_Single_Campaign.php 4 years ago Cta_Box.php 2 years ago Data_Table.php 2 years ago Dual_Color_Header.php 2 years ago EmbedPress.php 4 years ago Event_Calendar.php 2 years ago Facebook_Feed.php 2 years ago Fancy_Text.php 2 years ago Feature_List.php 2 years ago Filterable_Gallery.php 2 years ago Flip_Box.php 2 years ago FluentForm.php 2 years ago Formstack.php 2 years ago GravityForms.php 2 years ago Image_Accordion.php 2 years ago Info_Box.php 2 years ago Interactive_Circle.php 2 years ago Login_Register.php 2 years ago NFT_Gallery.php 2 years ago NinjaForms.php 2 years ago Post_Grid.php 2 years ago Post_Timeline.php 2 years ago Pricing_Table.php 2 years ago Product_Grid.php 2 years ago Progress_Bar.php 2 years ago SVG_Draw.php 3 years ago Simple_Menu.php 2 years ago Sticky_Video.php 2 years ago Team_Member.php 2 years ago Testimonial.php 2 years ago Tooltip.php 2 years ago Twitter_Feed.php 2 years ago TypeForm.php 2 years ago WeForms.php 2 years ago Woo_Cart.php 2 years ago Woo_Checkout.php 2 years ago Woo_Product_Carousel.php 2 years ago Woo_Product_Compare.php 4 years ago Woo_Product_Gallery.php 2 years ago Woocommerce_Review.php 4 years ago WpForms.php 2 years ago index.php 3 years ago
GravityForms.php
2695 lines
1 <?php
2 namespace Essential_Addons_Elementor\Elements;
3
4 // If this file is called directly, abort.
5 if (!defined('ABSPATH')) {
6 exit;
7 }
8
9 use \Elementor\Controls_Manager;
10 use \Elementor\Group_Control_Border;
11 use \Elementor\Group_Control_Box_Shadow;
12 use \Elementor\Group_Control_Typography;
13 use \Elementor\Core\Kits\Documents\Tabs\Global_Typography;
14 use \Elementor\Widget_Base;
15
16 use \Essential_Addons_Elementor\Classes\Helper;
17
18
19 /**
20 * Gravity Forms Widget
21 */
22 class GravityForms extends Widget_Base {
23
24 /**
25 * Retrieve gravity forms widget name.
26 *
27 * @access public
28 *
29 * @return string Widget name.
30 */
31 public function get_name() {
32 return 'eael-gravity-form';
33 }
34
35 /**
36 * Retrieve gravity forms widget title.
37 *
38 * @access public
39 *
40 * @return string Widget title.
41 */
42 public function get_title() {
43 return __( 'Gravity Forms', 'essential-addons-for-elementor-lite');
44 }
45
46 /**
47 * Retrieve the list of categories the gravity forms widget belongs to.
48 *
49 * Used to determine where to display the widget in the editor.
50 *
51 * @access public
52 *
53 * @return array Widget categories.
54 */
55 public function get_categories() {
56 return [ 'essential-addons-elementor' ];
57 }
58
59 public function get_keywords()
60 {
61 return [
62 'contact form',
63 'ea contact form',
64 'ea gravity form',
65 'ea form styler',
66 'form styler',
67 'elementor form',
68 'feedback',
69 'gravityforms',
70 'ea',
71 'essential addons'
72 ];
73 }
74
75 public function get_custom_help_url()
76 {
77 return 'https://essential-addons.com/elementor/docs/gravity-forms/';
78 }
79
80 /**
81 * Retrieve gravity forms widget icon.
82 *
83 * @access public
84 *
85 * @return string Widget icon.
86 */
87 public function get_icon() {
88 return 'eaicon-gravity-form';
89 }
90
91 /**
92 * Register gravity forms widget controls.
93 *
94 * Adds different input fields to allow the user to change and customize the widget settings.
95 *
96 * @access protected
97 */
98 protected function register_controls() {
99
100 /*-----------------------------------------------------------------------------------*/
101 /* CONTENT TAB
102 /*-----------------------------------------------------------------------------------*/
103 if(!class_exists('\GFForms')) {
104 $this->start_controls_section(
105 'eael_global_warning',
106 [
107 'label' => __( 'Warning!', 'essential-addons-for-elementor-lite'),
108 ]
109 );
110
111 $this->add_control(
112 'eael_global_warning_text',
113 [
114 'type' => Controls_Manager::RAW_HTML,
115 'raw' => __( '<strong>Gravity Forms</strong> is not installed/activated on your site. Please install and activate <strong>Gravity Forms</strong> first.', 'essential-addons-for-elementor-lite'),
116 'content_classes' => 'eael-warning',
117 ]
118 );
119
120 $this->end_controls_section();
121 } else {
122 /**
123 * Content Tab: Contact Form
124 * -------------------------------------------------
125 */
126 $this->start_controls_section(
127 'section_info_box',
128 [
129 'label' => __( 'Gravity Forms', 'essential-addons-for-elementor-lite'),
130 ]
131 );
132
133 $this->add_control(
134 'contact_form_list',
135 [
136 'label' => esc_html__( 'Select Form', 'essential-addons-for-elementor-lite'),
137 'type' => Controls_Manager::SELECT,
138 'label_block' => true,
139 'options' => Helper::get_gravity_form_list(),
140 'default' => '0',
141 ]
142 );
143
144 $this->add_control(
145 'custom_title_description',
146 [
147 'label' => __( 'Custom Title & Description', 'essential-addons-for-elementor-lite'),
148 'type' => Controls_Manager::SWITCHER,
149 'label_on' => __( 'Yes', 'essential-addons-for-elementor-lite'),
150 'label_off' => __( 'No', 'essential-addons-for-elementor-lite'),
151 'return_value' => 'yes',
152 ]
153 );
154
155 $this->add_control(
156 'form_title',
157 [
158 'label' => __( 'Title', 'essential-addons-for-elementor-lite'),
159 'type' => Controls_Manager::SWITCHER,
160 'default' => 'yes',
161 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite'),
162 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite'),
163 'return_value' => 'yes',
164 'condition' => [
165 'custom_title_description!' => 'yes',
166 ],
167 ]
168 );
169
170 $this->add_control(
171 'form_description',
172 [
173 'label' => __( 'Description', 'essential-addons-for-elementor-lite'),
174 'type' => Controls_Manager::SWITCHER,
175 'default' => 'yes',
176 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite'),
177 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite'),
178 'return_value' => 'yes',
179 'condition' => [
180 'custom_title_description!' => 'yes',
181 ],
182 ]
183 );
184
185 $this->add_control(
186 'form_title_custom',
187 [
188 'label' => esc_html__( 'Title', 'essential-addons-for-elementor-lite'),
189 'type' => Controls_Manager::TEXT,
190 'dynamic' => [
191 'active' => true,
192 ],
193 'label_block' => true,
194 'default' => '',
195 'condition' => [
196 'custom_title_description' => 'yes',
197 ],
198 'ai' => [
199 'active' => false,
200 ],
201 ]
202 );
203
204 $this->add_control(
205 'form_description_custom',
206 [
207 'label' => esc_html__( 'Description', 'essential-addons-for-elementor-lite'),
208 'type' => Controls_Manager::TEXTAREA,
209 'dynamic' => [
210 'active' => true,
211 ],
212 'default' => '',
213 'condition' => [
214 'custom_title_description' => 'yes',
215 ],
216 ]
217 );
218
219 $this->add_control(
220 'labels_switch',
221 [
222 'label' => __( 'Labels', 'essential-addons-for-elementor-lite'),
223 'type' => Controls_Manager::SWITCHER,
224 'default' => 'yes',
225 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite'),
226 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite'),
227 'return_value' => 'yes',
228 ]
229 );
230
231 $this->add_control(
232 'placeholder_switch',
233 [
234 'label' => __( 'Placeholder', 'essential-addons-for-elementor-lite'),
235 'type' => Controls_Manager::SWITCHER,
236 'default' => 'yes',
237 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite'),
238 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite'),
239 'return_value' => 'yes',
240 ]
241 );
242
243 $this->add_control(
244 'form_ajax',
245 [
246 'label' => __( 'Use Ajax', 'essential-addons-for-elementor-lite'),
247 'type' => Controls_Manager::SWITCHER,
248 'description' => __( 'Use ajax to submit the form', 'essential-addons-for-elementor-lite'),
249 'label_on' => __( 'Yes', 'essential-addons-for-elementor-lite'),
250 'label_off' => __( 'No', 'essential-addons-for-elementor-lite'),
251 'return_value' => 'yes',
252 ]
253 );
254
255 $this->end_controls_section();
256
257 /**
258 * Content Tab: Errors
259 * -------------------------------------------------
260 */
261 $this->start_controls_section(
262 'section_errors',
263 [
264 'label' => __( 'Errors', 'essential-addons-for-elementor-lite'),
265 ]
266 );
267
268 $this->add_control(
269 'error_messages',
270 [
271 'label' => __( 'Error Messages', 'essential-addons-for-elementor-lite'),
272 'type' => Controls_Manager::SELECT,
273 'default' => 'show',
274 'options' => [
275 'show' => __( 'Show', 'essential-addons-for-elementor-lite'),
276 'hide' => __( 'Hide', 'essential-addons-for-elementor-lite'),
277 ],
278 'selectors_dictionary' => [
279 'show' => ' ',
280 'hide' => 'none !important',
281 ],
282 'selectors' => [
283 '{{WRAPPER}} .eael-gravity-form .validation_message' => 'display: {{VALUE}};',
284 ],
285 ]
286 );
287
288 $this->add_control(
289 'validation_errors',
290 [
291 'label' => __( 'Validation Errors', 'essential-addons-for-elementor-lite'),
292 'type' => Controls_Manager::SELECT,
293 'default' => 'show',
294 'options' => [
295 'show' => __( 'Show', 'essential-addons-for-elementor-lite'),
296 'hide' => __( 'Hide', 'essential-addons-for-elementor-lite'),
297 ],
298 'selectors_dictionary' => [
299 'show' => ' ',
300 'hide' => 'none !important',
301 ],
302 'selectors' => [
303 '{{WRAPPER}} .eael-gravity-form .validation_error' => 'display: {{VALUE}};',
304 ],
305 ]
306 );
307
308 $this->end_controls_section();
309 }
310
311 /*-----------------------------------------------------------------------------------*/
312 /* STYLE TAB
313 /*-----------------------------------------------------------------------------------*/
314
315 /**
316 * Style Tab: Form Container
317 * -------------------------------------------------
318 */
319 $this->start_controls_section(
320 'section_container_style',
321 [
322 'label' => __( 'Form Container', 'essential-addons-for-elementor-lite'),
323 'tab' => Controls_Manager::TAB_STYLE,
324 ]
325 );
326
327 $this->add_control(
328 'eael_gravity_form_background',
329 [
330 'label' => esc_html__( 'Form Background Color', 'essential-addons-for-elementor-lite'),
331 'type' => Controls_Manager::COLOR,
332 'selectors' => [
333 '{{WRAPPER}} .eael-contact-form' => 'background: {{VALUE}};',
334 ],
335 ]
336 );
337
338 $this->add_responsive_control(
339 'eael_gravity_form_alignment',
340 [
341 'label' => esc_html__( 'Form Alignment', 'essential-addons-for-elementor-lite'),
342 'type' => Controls_Manager::CHOOSE,
343 'label_block' => true,
344 'options' => [
345 'default' => [
346 'title' => __( 'Default', 'essential-addons-for-elementor-lite'),
347 'icon' => 'eicon-ban',
348 ],
349 'left' => [
350 'title' => esc_html__( 'Left', 'essential-addons-for-elementor-lite'),
351 'icon' => 'eicon-h-align-left',
352 ],
353 'center' => [
354 'title' => esc_html__( 'Center', 'essential-addons-for-elementor-lite'),
355 'icon' => 'eicon-h-align-center',
356 ],
357 'right' => [
358 'title' => esc_html__( 'Right', 'essential-addons-for-elementor-lite'),
359 'icon' => 'eicon-h-align-right',
360 ],
361 ],
362 'default' => 'default',
363 ]
364 );
365
366 $this->add_responsive_control(
367 'eael_gravity_form_width',
368 [
369 'label' => esc_html__( 'Form Width', 'essential-addons-for-elementor-lite'),
370 'type' => Controls_Manager::SLIDER,
371 'size_units' => [ 'px', 'em', '%' ],
372 'range' => [
373 'px' => [
374 'min' => 10,
375 'max' => 1500,
376 ],
377 'em' => [
378 'min' => 1,
379 'max' => 80,
380 ],
381 ],
382 'selectors' => [
383 '{{WRAPPER}} .eael-contact-form' => 'width: {{SIZE}}{{UNIT}};',
384 ],
385 ]
386 );
387
388 $this->add_responsive_control(
389 'eael_gravity_form_max_width',
390 [
391 'label' => esc_html__( 'Form Max Width', 'essential-addons-for-elementor-lite'),
392 'type' => Controls_Manager::SLIDER,
393 'size_units' => [ 'px', 'em', '%' ],
394 'range' => [
395 'px' => [
396 'min' => 10,
397 'max' => 1500,
398 ],
399 'em' => [
400 'min' => 1,
401 'max' => 80,
402 ],
403 ],
404 'selectors' => [
405 '{{WRAPPER}} .eael-contact-form' => 'max-width: {{SIZE}}{{UNIT}};',
406 ],
407 ]
408 );
409
410
411 $this->add_responsive_control(
412 'eael_gravity_form_margin',
413 [
414 'label' => esc_html__( 'Form Margin', 'essential-addons-for-elementor-lite'),
415 'type' => Controls_Manager::DIMENSIONS,
416 'size_units' => [ 'px', 'em', '%' ],
417 'selectors' => [
418 '{{WRAPPER}} .eael-contact-form' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
419 ],
420 ]
421 );
422
423 $this->add_responsive_control(
424 'eael_gravity_form_padding',
425 [
426 'label' => esc_html__( 'Form Padding', 'essential-addons-for-elementor-lite'),
427 'type' => Controls_Manager::DIMENSIONS,
428 'size_units' => [ 'px', 'em', '%' ],
429 'selectors' => [
430 '{{WRAPPER}} .eael-contact-form' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
431 ],
432 ]
433 );
434
435
436 $this->add_control(
437 'eael_gravity_form_border_radius',
438 [
439 'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite'),
440 'type' => Controls_Manager::DIMENSIONS,
441 'separator' => 'before',
442 'size_units' => [ 'px' ],
443 'selectors' => [
444 '{{WRAPPER}} .eael-contact-form' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
445 ],
446 ]
447 );
448
449
450 $this->add_group_control(
451 Group_Control_Border::get_type(),
452 [
453 'name' => 'eael_gravity_form_border',
454 'selector' => '{{WRAPPER}} .eael-contact-form',
455 ]
456 );
457
458
459 $this->add_group_control(
460 Group_Control_Box_Shadow::get_type(),
461 [
462 'name' => 'eael_gravity_form_box_shadow',
463 'selector' => '{{WRAPPER}} .eael-contact-form',
464 ]
465 );
466
467 $this->end_controls_section();
468 /**
469 * Style Tab: Title and Description
470 * -------------------------------------------------
471 */
472 $this->start_controls_section(
473 'section_general_style',
474 [
475 'label' => __( 'Title & Description', 'essential-addons-for-elementor-lite'),
476 'tab' => Controls_Manager::TAB_STYLE,
477 ]
478 );
479
480 $this->add_responsive_control(
481 'heading_alignment',
482 [
483 'label' => __( 'Alignment', 'essential-addons-for-elementor-lite'),
484 'type' => Controls_Manager::CHOOSE,
485 'options' => [
486 'left' => [
487 'title' => __( 'Left', 'essential-addons-for-elementor-lite'),
488 'icon' => 'eicon-text-align-left',
489 ],
490 'center' => [
491 'title' => __( 'Center', 'essential-addons-for-elementor-lite'),
492 'icon' => 'eicon-text-align-center',
493 ],
494 'right' => [
495 'title' => __( 'Right', 'essential-addons-for-elementor-lite'),
496 'icon' => 'eicon-text-align-right',
497 ],
498 ],
499 'default' => '',
500 'selectors' => [
501 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_heading, {{WRAPPER}} .eael-gravity-form .eael-gravity-form-heading'
502 => 'text-align: {{VALUE}};',
503 ],
504 ]
505 );
506
507 $this->add_control(
508 'title_heading',
509 [
510 'label' => __( 'Title', 'essential-addons-for-elementor-lite'),
511 'type' => Controls_Manager::HEADING,
512 'separator' => 'before',
513 ]
514 );
515
516 $this->add_control(
517 'title_text_color',
518 [
519 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
520 'type' => Controls_Manager::COLOR,
521 'default' => '',
522 'selectors' => [
523 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_title, {{WRAPPER}} .eael-gravity-form .eael-gravity-form-title' => 'color: {{VALUE}}',
524 ],
525 ]
526 );
527
528 $this->add_group_control(
529 Group_Control_Typography::get_type(),
530 [
531 'name' => 'title_typography',
532 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
533 'global' => [
534 'default' => Global_Typography::TYPOGRAPHY_ACCENT
535 ],
536 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_title, {{WRAPPER}} .eael-gravity-form .eael-gravity-form-title',
537 ]
538 );
539
540 $this->add_control(
541 'description_heading',
542 [
543 'label' => __( 'Description', 'essential-addons-for-elementor-lite'),
544 'type' => Controls_Manager::HEADING,
545 'separator' => 'before',
546 ]
547 );
548
549 $this->add_control(
550 'description_text_color',
551 [
552 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
553 'type' => Controls_Manager::COLOR,
554 'default' => '',
555 'selectors' => [
556 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_description, {{WRAPPER}} .eael-gravity-form .eael-gravity-form-description' => 'color: {{VALUE}}',
557 ],
558 ]
559 );
560
561 $this->add_group_control(
562 Group_Control_Typography::get_type(),
563 [
564 'name' => 'description_typography',
565 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
566 'global' => [
567 'default' => Global_Typography::TYPOGRAPHY_ACCENT
568 ],
569 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_description, {{WRAPPER}} .eael-gravity-form .eael-gravity-form-description',
570 ]
571 );
572
573 $this->end_controls_section();
574
575 /**
576 * Style Tab: Labels
577 * -------------------------------------------------
578 */
579 $this->start_controls_section(
580 'section_label_style',
581 [
582 'label' => __( 'Labels', 'essential-addons-for-elementor-lite'),
583 'tab' => Controls_Manager::TAB_STYLE,
584 'condition' => [
585 'labels_switch' => 'yes',
586 ],
587 ]
588 );
589
590 $this->add_control(
591 'text_color_label',
592 [
593 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
594 'type' => Controls_Manager::COLOR,
595 'selectors' => [
596 '{{WRAPPER}} .eael-gravity-form .gfield .gfield_label' => 'color: {{VALUE}}',
597 ],
598 'condition' => [
599 'labels_switch' => 'yes',
600 ],
601 ]
602 );
603
604 $this->add_group_control(
605 Group_Control_Typography::get_type(),
606 [
607 'name' => 'typography_label',
608 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
609 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield .gfield_label',
610 'condition' => [
611 'labels_switch' => 'yes',
612 ],
613 ]
614 );
615
616 $this->end_controls_section();
617
618 /**
619 * Style Tab: Sub-Labels
620 * -------------------------------------------------
621 */
622 $this->start_controls_section(
623 'section_sub_label_style',
624 [
625 'label' => __( 'Sub-Labels', 'essential-addons-for-elementor-lite'),
626 'tab' => Controls_Manager::TAB_STYLE,
627 'condition' => [
628 'labels_switch' => 'yes',
629 ],
630 ]
631 );
632
633 $this->add_control(
634 'text_color_sub_label',
635 [
636 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
637 'type' => Controls_Manager::COLOR,
638 'selectors' => [
639 '{{WRAPPER}} .eael-gravity-form .gfield label' => 'color: {{VALUE}}',
640 ],
641 'condition' => [
642 'labels_switch' => 'yes',
643 ],
644 ]
645 );
646
647 $this->add_group_control(
648 Group_Control_Typography::get_type(),
649 [
650 'name' => 'typography_sub_label',
651 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
652 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield label',
653 'condition' => [
654 'labels_switch' => 'yes',
655 ],
656 ]
657 );
658
659 $this->end_controls_section();
660
661 /**
662 * Style Tab: Input & Textarea
663 * -------------------------------------------------
664 */
665 $this->start_controls_section(
666 'section_fields_style',
667 [
668 'label' => __( 'Input & Textarea', 'essential-addons-for-elementor-lite'),
669 'tab' => Controls_Manager::TAB_STYLE,
670 ]
671 );
672
673 $this->add_responsive_control(
674 'input_alignment',
675 [
676 'label' => __( 'Alignment', 'essential-addons-for-elementor-lite'),
677 'type' => Controls_Manager::CHOOSE,
678 'options' => [
679 'left' => [
680 'title' => __( 'Left', 'essential-addons-for-elementor-lite'),
681 'icon' => 'eicon-text-align-left',
682 ],
683 'center' => [
684 'title' => __( 'Center', 'essential-addons-for-elementor-lite'),
685 'icon' => 'eicon-text-align-center',
686 ],
687 'right' => [
688 'title' => __( 'Right', 'essential-addons-for-elementor-lite'),
689 'icon' => 'eicon-text-align-right',
690 ],
691 ],
692 'default' => '',
693 'selectors' => [
694 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea' => 'text-align: {{VALUE}};',
695 ],
696 ]
697 );
698
699 $this->start_controls_tabs( 'tabs_fields_style' );
700
701 $this->start_controls_tab(
702 'tab_fields_normal',
703 [
704 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
705 ]
706 );
707
708 $this->add_control(
709 'field_bg_color',
710 [
711 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
712 'type' => Controls_Manager::COLOR,
713 'default' => '',
714 'selectors' => [
715 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select' => 'background-color: {{VALUE}}',
716 ],
717 ]
718 );
719
720 $this->add_control(
721 'field_text_color',
722 [
723 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
724 'type' => Controls_Manager::COLOR,
725 'default' => '',
726 'selectors' => [
727 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select' => 'color: {{VALUE}}',
728 ],
729 ]
730 );
731
732 $this->add_responsive_control(
733 'field_spacing',
734 [
735 'label' => __( 'Spacing', 'essential-addons-for-elementor-lite'),
736 'type' => Controls_Manager::SLIDER,
737 'range' => [
738 'px' => [
739 'min' => 0,
740 'max' => 100,
741 'step' => 1,
742 ],
743 ],
744 'size_units' => [ 'px', 'em', '%' ],
745 'selectors' => [
746 '{{WRAPPER}} .eael-gravity-form .gfield' => 'margin-bottom: {{SIZE}}{{UNIT}}',
747 ],
748 ]
749 );
750
751 $this->add_responsive_control(
752 'field_spacing_right',
753 [
754 'label' => __( 'Spacing Right', 'essential-addons-for-elementor-lite'),
755 'type' => Controls_Manager::SLIDER,
756 'range' => [
757 'px' => [
758 'min' => 0,
759 'max' => 100,
760 'step' => 1,
761 ],
762 ],
763 'size_units' => [ 'px', 'em', '%' ],
764 'selectors' => [
765 '{{WRAPPER}} .eael-gravity-form .gfield.gf_left_half' => 'padding-right: {{SIZE}}{{UNIT}}',
766 ],
767 ]
768 );
769
770 $this->add_responsive_control(
771 'field_padding',
772 [
773 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
774 'type' => Controls_Manager::DIMENSIONS,
775 'size_units' => [ 'px', 'em', '%' ],
776 'selectors' => [
777 '{{WRAPPER}} .eael-gravity-form .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-gravity-form .gfield textarea' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
778 ],
779 ]
780 );
781
782 $this->add_responsive_control(
783 'text_indent',
784 [
785 'label' => __( 'Text Indent', 'essential-addons-for-elementor-lite'),
786 'type' => Controls_Manager::SLIDER,
787 'range' => [
788 'px' => [
789 'min' => 0,
790 'max' => 60,
791 'step' => 1,
792 ],
793 '%' => [
794 'min' => 0,
795 'max' => 30,
796 'step' => 1,
797 ],
798 ],
799 'size_units' => [ 'px', 'em', '%' ],
800 'selectors' => [
801 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select' => 'text-indent: {{SIZE}}{{UNIT}}',
802 ],
803 ]
804 );
805
806 $this->add_responsive_control(
807 'input_width',
808 [
809 'label' => __( 'Input Width', 'essential-addons-for-elementor-lite'),
810 'type' => Controls_Manager::SLIDER,
811 'range' => [
812 'px' => [
813 'min' => 0,
814 'max' => 1200,
815 'step' => 1,
816 ],
817 ],
818 'size_units' => [ 'px', 'em', '%' ],
819 'selectors' => [
820 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield select' => 'width: {{SIZE}}{{UNIT}}',
821 ],
822 ]
823 );
824
825 $this->add_responsive_control(
826 'input_height',
827 [
828 'label' => __( 'Input Height', 'essential-addons-for-elementor-lite'),
829 'type' => Controls_Manager::SLIDER,
830 'range' => [
831 'px' => [
832 'min' => 0,
833 'max' => 80,
834 'step' => 1,
835 ],
836 ],
837 'size_units' => [ 'px', 'em', '%' ],
838 'selectors' => [
839 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="url"], {{WRAPPER}} .eael-gravity-form .gfield select' => 'height: {{SIZE}}{{UNIT}}',
840 ],
841 ]
842 );
843
844 $this->add_responsive_control(
845 'textarea_width',
846 [
847 'label' => __( 'Textarea Width', 'essential-addons-for-elementor-lite'),
848 'type' => Controls_Manager::SLIDER,
849 'range' => [
850 'px' => [
851 'min' => 0,
852 'max' => 1200,
853 'step' => 1,
854 ],
855 ],
856 'size_units' => [ 'px', 'em', '%' ],
857 'selectors' => [
858 '{{WRAPPER}} .eael-gravity-form .gfield textarea' => 'width: {{SIZE}}{{UNIT}}',
859 ],
860 ]
861 );
862
863 $this->add_responsive_control(
864 'textarea_height',
865 [
866 'label' => __( 'Textarea Height', 'essential-addons-for-elementor-lite'),
867 'type' => Controls_Manager::SLIDER,
868 'range' => [
869 'px' => [
870 'min' => 0,
871 'max' => 400,
872 'step' => 1,
873 ],
874 ],
875 'size_units' => [ 'px', 'em', '%' ],
876 'selectors' => [
877 '{{WRAPPER}} .eael-gravity-form .gfield textarea' => 'height: {{SIZE}}{{UNIT}}',
878 ],
879 ]
880 );
881
882 $this->add_group_control(
883 Group_Control_Border::get_type(),
884 [
885 'name' => 'field_border',
886 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
887 'placeholder' => '1px',
888 'default' => '1px',
889 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select',
890 'separator' => 'before',
891 ]
892 );
893
894 $this->add_control(
895 'field_radius',
896 [
897 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
898 'type' => Controls_Manager::DIMENSIONS,
899 'size_units' => [ 'px', 'em', '%' ],
900 'selectors' => [
901 '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
902 ],
903 ]
904 );
905
906 $this->add_group_control(
907 Group_Control_Typography::get_type(),
908 [
909 'name' => 'field_typography',
910 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
911 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield .ginput_container input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container_date input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container_phone input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container_email input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield .ginput_container_text input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select',
912 'separator' => 'before',
913 ]
914 );
915
916 $this->add_group_control(
917 Group_Control_Box_Shadow::get_type(),
918 [
919 'name' => 'field_box_shadow',
920 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield input[type="text"], {{WRAPPER}} .eael-gravity-form .gfield input[type="email"], {{WRAPPER}} .eael-gravity-form .gfield input[type="tel"], {{WRAPPER}} .eael-gravity-form .gfield input[type="number"], {{WRAPPER}} .eael-gravity-form .gfield textarea, {{WRAPPER}} .eael-gravity-form .gfield select',
921 'separator' => 'before',
922 ]
923 );
924
925 $this->end_controls_tab();
926
927 $this->start_controls_tab(
928 'tab_fields_focus',
929 [
930 'label' => __( 'Focus', 'essential-addons-for-elementor-lite'),
931 ]
932 );
933
934 $this->add_control(
935 'field_bg_color_focus',
936 [
937 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
938 'type' => Controls_Manager::COLOR,
939 'default' => '',
940 'selectors' => [
941 '{{WRAPPER}} .eael-gravity-form .gfield input:focus, {{WRAPPER}} .eael-gravity-form .gfield textarea:focus' => 'background-color: {{VALUE}}',
942 ],
943 ]
944 );
945
946 $this->add_group_control(
947 Group_Control_Border::get_type(),
948 [
949 'name' => 'focus_input_border',
950 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
951 'placeholder' => '1px',
952 'default' => '1px',
953 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield input:focus, {{WRAPPER}} .eael-gravity-form .gfield textarea:focus',
954 ]
955 );
956
957 $this->add_group_control(
958 Group_Control_Box_Shadow::get_type(),
959 [
960 'name' => 'focus_box_shadow',
961 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield input:focus, {{WRAPPER}} .eael-gravity-form .gfield textarea:focus',
962 'separator' => 'before',
963 ]
964 );
965
966 $this->end_controls_tab();
967
968 $this->end_controls_tabs();
969
970 $this->end_controls_section();
971
972 /**
973 * Style Tab: Field Description
974 * -------------------------------------------------
975 */
976 $this->start_controls_section(
977 'section_field_description_style',
978 [
979 'label' => __( 'Field Description', 'essential-addons-for-elementor-lite'),
980 'tab' => Controls_Manager::TAB_STYLE,
981 ]
982 );
983
984 $this->add_control(
985 'field_description_text_color',
986 [
987 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
988 'type' => Controls_Manager::COLOR,
989 'selectors' => [
990 '{{WRAPPER}} .eael-gravity-form .gfield .gfield_description' => 'color: {{VALUE}}',
991 ],
992 ]
993 );
994
995 $this->add_group_control(
996 Group_Control_Typography::get_type(),
997 [
998 'name' => 'field_description_typography',
999 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1000 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield .gfield_description',
1001 ]
1002 );
1003
1004 $this->add_responsive_control(
1005 'field_description_spacing',
1006 [
1007 'label' => __( 'Spacing', 'essential-addons-for-elementor-lite'),
1008 'type' => Controls_Manager::SLIDER,
1009 'range' => [
1010 'px' => [
1011 'min' => 0,
1012 'max' => 100,
1013 'step' => 1,
1014 ],
1015 ],
1016 'size_units' => [ 'px', 'em', '%' ],
1017 'selectors' => [
1018 '{{WRAPPER}} .eael-gravity-form .gfield .gfield_description' => 'padding-top: {{SIZE}}{{UNIT}}',
1019 ],
1020 ]
1021 );
1022
1023 $this->end_controls_section();
1024
1025 /**
1026 * Style Tab: Section Field
1027 * -------------------------------------------------
1028 */
1029 $this->start_controls_section(
1030 'section_field_style',
1031 [
1032 'label' => __( 'Section Field', 'essential-addons-for-elementor-lite'),
1033 'tab' => Controls_Manager::TAB_STYLE,
1034 ]
1035 );
1036
1037 $this->add_control(
1038 'section_field_text_color',
1039 [
1040 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
1041 'type' => Controls_Manager::COLOR,
1042 'default' => '',
1043 'selectors' => [
1044 '{{WRAPPER}} .eael-gravity-form .gfield.gsection .gsection_title' => 'color: {{VALUE}}',
1045 ],
1046 ]
1047 );
1048
1049 $this->add_group_control(
1050 Group_Control_Typography::get_type(),
1051 [
1052 'name' => 'section_field_typography',
1053 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1054 'global' => [
1055 'default' => Global_Typography::TYPOGRAPHY_ACCENT
1056 ],
1057 'selector' => '{{WRAPPER}} .eael-gravity-form .gfield.gsection .gsection_title',
1058 'separator' => 'before',
1059 ]
1060 );
1061
1062 $this->add_control(
1063 'section_field_border_type',
1064 [
1065 'label' => __( 'Border Type', 'essential-addons-for-elementor-lite'),
1066 'type' => Controls_Manager::SELECT,
1067 'default' => 'solid',
1068 'options' => [
1069 'none' => __( 'None', 'essential-addons-for-elementor-lite'),
1070 'solid' => __( 'Solid', 'essential-addons-for-elementor-lite'),
1071 'double' => __( 'Double', 'essential-addons-for-elementor-lite'),
1072 'dotted' => __( 'Dotted', 'essential-addons-for-elementor-lite'),
1073 'dashed' => __( 'Dashed', 'essential-addons-for-elementor-lite'),
1074 ],
1075 'selectors' => [
1076 '{{WRAPPER}} .eael-gravity-form .gfield.gsection' => 'border-bottom-style: {{VALUE}}',
1077 ],
1078 'separator' => 'before',
1079 ]
1080 );
1081
1082 $this->add_responsive_control(
1083 'section_field_border_height',
1084 [
1085 'label' => __( 'Border Height', 'essential-addons-for-elementor-lite'),
1086 'type' => Controls_Manager::SLIDER,
1087 'default' => [
1088 'size' => 1,
1089 ],
1090 'range' => [
1091 'px' => [
1092 'min' => 1,
1093 'max' => 20,
1094 'step' => 1,
1095 ],
1096 ],
1097 'size_units' => [ 'px' ],
1098 'selectors' => [
1099 '{{WRAPPER}} .eael-gravity-form .gfield.gsection' => 'border-bottom-width: {{SIZE}}{{UNIT}}',
1100 ],
1101 'condition' => [
1102 'section_field_border_type!' => 'none',
1103 ],
1104 ]
1105 );
1106
1107 $this->add_control(
1108 'section_field_border_color',
1109 [
1110 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
1111 'type' => Controls_Manager::COLOR,
1112 'default' => '',
1113 'selectors' => [
1114 '{{WRAPPER}} .eael-gravity-form .gfield.gsection' => 'border-bottom-color: {{VALUE}}',
1115 ],
1116 'condition' => [
1117 'section_field_border_type!' => 'none',
1118 ],
1119 ]
1120 );
1121
1122 $this->add_responsive_control(
1123 'section_field_margin',
1124 [
1125 'label' => __( 'Margin', 'essential-addons-for-elementor-lite'),
1126 'type' => Controls_Manager::DIMENSIONS,
1127 'size_units' => [ 'px', 'em', '%' ],
1128 'selectors' => [
1129 '{{WRAPPER}} .eael-gravity-form .gfield.gsection' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1130 ],
1131 'separator' => 'before',
1132 ]
1133 );
1134
1135 $this->end_controls_section();
1136
1137 /**
1138 * Style Tab: Section Field
1139 * -------------------------------------------------
1140 */
1141 $this->start_controls_section(
1142 'section_price_style',
1143 [
1144 'label' => __( 'Price', 'essential-addons-for-elementor-lite'),
1145 'tab' => Controls_Manager::TAB_STYLE,
1146 ]
1147 );
1148
1149 $this->add_control(
1150 'price_label_color',
1151 [
1152 'label' => __( 'Price Label Color', 'essential-addons-for-elementor-lite'),
1153 'type' => Controls_Manager::COLOR,
1154 'default' => '',
1155 'selectors' => [
1156 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .ginput_product_price_label' => 'color: {{VALUE}}',
1157 ],
1158 ]
1159 );
1160
1161 $this->add_control(
1162 'price_text_color',
1163 [
1164 'label' => __( 'Price Color', 'essential-addons-for-elementor-lite'),
1165 'type' => Controls_Manager::COLOR,
1166 'default' => '',
1167 'selectors' => [
1168 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .ginput_product_price' => 'color: {{VALUE}}',
1169 ],
1170 ]
1171 );
1172
1173 $this->end_controls_section();
1174
1175 /**
1176 * Style Tab: Section Field
1177 * -------------------------------------------------
1178 */
1179 $this->start_controls_section(
1180 'section_total_price_style',
1181 [
1182 'label' => __( 'Total Price', 'essential-addons-for-elementor-lite'),
1183 'tab' => Controls_Manager::TAB_STYLE,
1184 ]
1185 );
1186
1187 $this->add_group_control(
1188 Group_Control_Typography::get_type(),
1189 [
1190 'name' => 'total_price_typography',
1191 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1192 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .ginput_container_total .ginput_total',
1193 'separator' => 'before',
1194 ]
1195 );
1196
1197 $this->add_control(
1198 'total_price_text_color',
1199 [
1200 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1201 'type' => Controls_Manager::COLOR,
1202 'default' => '',
1203 'selectors' => [
1204 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .ginput_container_total .ginput_total' => 'color: {{VALUE}}',
1205 ],
1206 ]
1207 );
1208
1209 $this->end_controls_section();
1210
1211 /**
1212 * Style Tab: Placeholder
1213 * -------------------------------------------------
1214 */
1215 $this->start_controls_section(
1216 'section_placeholder_style',
1217 [
1218 'label' => __( 'Placeholder', 'essential-addons-for-elementor-lite'),
1219 'tab' => Controls_Manager::TAB_STYLE,
1220 'condition' => [
1221 'placeholder_switch' => 'yes',
1222 ],
1223 ]
1224 );
1225
1226 $this->add_control(
1227 'text_color_placeholder',
1228 [
1229 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
1230 'type' => Controls_Manager::COLOR,
1231 'selectors' => [
1232 '{{WRAPPER}} .eael-gravity-form .gfield input::-webkit-input-placeholder, {{WRAPPER}} .eael-gravity-form .gfield textarea::-webkit-input-placeholder' => 'color: {{VALUE}}',
1233 ],
1234 'condition' => [
1235 'placeholder_switch' => 'yes',
1236 ],
1237 ]
1238 );
1239
1240 $this->end_controls_section();
1241
1242 /**
1243 * Style Tab: Checkbox
1244 * -------------------------------------------------
1245 */
1246 $this->start_controls_section(
1247 'section_checkbox_style',
1248 [
1249 'label' => __( 'Checkbox', 'essential-addons-for-elementor-lite'),
1250 'tab' => Controls_Manager::TAB_STYLE,
1251 ]
1252 );
1253
1254 $this->add_control(
1255 'custom_radio_checkbox',
1256 [
1257 'label' => __( 'Custom Styles', 'essential-addons-for-elementor-lite'),
1258 'type' => Controls_Manager::SWITCHER,
1259 'label_on' => __( 'Yes', 'essential-addons-for-elementor-lite'),
1260 'label_off' => __( 'No', 'essential-addons-for-elementor-lite'),
1261 'return_value' => 'yes',
1262 ]
1263 );
1264
1265 $this->add_responsive_control(
1266 'checkbox_size',
1267 [
1268 'label' => __( 'Size', 'essential-addons-for-elementor-lite'),
1269 'type' => Controls_Manager::SLIDER,
1270 'default' => [
1271 'size' => '15',
1272 'unit' => 'px'
1273 ],
1274 'range' => [
1275 'px' => [
1276 'min' => 0,
1277 'max' => 80,
1278 'step' => 1,
1279 ],
1280 ],
1281 'size_units' => [ 'px', 'em', '%' ],
1282 'selectors' => [
1283 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'width: {{SIZE}}{{UNIT}} !important; height: {{SIZE}}{{UNIT}}',
1284 ],
1285 'condition' => [
1286 'custom_radio_checkbox' => 'yes',
1287 ],
1288 ]
1289 );
1290
1291 $this->start_controls_tabs( 'tabs_checkbox_style' );
1292
1293 $this->start_controls_tab(
1294 'checkbox_normal',
1295 [
1296 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
1297 'condition' => [
1298 'custom_radio_checkbox' => 'yes',
1299 ],
1300 ]
1301 );
1302
1303 $this->add_control(
1304 'checkbox_color',
1305 [
1306 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1307 'type' => Controls_Manager::COLOR,
1308 'default' => '',
1309 'selectors' => [
1310 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'background: {{VALUE}}',
1311 ],
1312 'condition' => [
1313 'custom_radio_checkbox' => 'yes',
1314 ],
1315 ]
1316 );
1317
1318 $this->add_responsive_control(
1319 'checkbox_border_width',
1320 [
1321 'label' => __( 'Border Width', 'essential-addons-for-elementor-lite'),
1322 'type' => Controls_Manager::SLIDER,
1323 'range' => [
1324 'px' => [
1325 'min' => 0,
1326 'max' => 15,
1327 'step' => 1,
1328 ],
1329 ],
1330 'size_units' => [ 'px' ],
1331 'selectors' => [
1332 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'border-width: {{SIZE}}{{UNIT}}',
1333 ],
1334 'condition' => [
1335 'custom_radio_checkbox' => 'yes',
1336 ],
1337 ]
1338 );
1339
1340 $this->add_control(
1341 'checkbox_border_color',
1342 [
1343 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
1344 'type' => Controls_Manager::COLOR,
1345 'default' => '',
1346 'selectors' => [
1347 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'border-color: {{VALUE}}',
1348 ],
1349 'condition' => [
1350 'custom_radio_checkbox' => 'yes',
1351 ],
1352 ]
1353 );
1354
1355 $this->add_control(
1356 'checkbox_heading',
1357 [
1358 'label' => __( 'Checkbox', 'essential-addons-for-elementor-lite'),
1359 'type' => Controls_Manager::HEADING,
1360 'condition' => [
1361 'custom_radio_checkbox' => 'yes',
1362 ],
1363 ]
1364 );
1365
1366 $this->add_control(
1367 'checkbox_border_radius',
1368 [
1369 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
1370 'type' => Controls_Manager::DIMENSIONS,
1371 'size_units' => [ 'px', 'em', '%' ],
1372 'selectors' => [
1373 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1374 ],
1375 'condition' => [
1376 'custom_radio_checkbox' => 'yes',
1377 ],
1378 ]
1379 );
1380
1381 $this->add_responsive_control(
1382 'checkbox_margin',
1383 [
1384 'label' => esc_html__( 'Margin', 'essential-addons-for-elementor-lite'),
1385 'type' => Controls_Manager::DIMENSIONS,
1386 'size_units' => [ 'px', 'em', '%' ],
1387 'selectors' => [
1388 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1389 ],
1390 ]
1391 );
1392
1393 $this->add_responsive_control(
1394 'checkbox_padding',
1395 [
1396 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
1397 'type' => Controls_Manager::DIMENSIONS,
1398 'size_units' => [ 'px', 'em', '%' ],
1399 'selectors' => [
1400 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1401 ],
1402 ]
1403 );
1404
1405 $this->end_controls_tab();
1406
1407 $this->start_controls_tab(
1408 'checkbox_checked',
1409 [
1410 'label' => __( 'Checked', 'essential-addons-for-elementor-lite'),
1411 'condition' => [
1412 'custom_radio_checkbox' => 'yes',
1413 ],
1414 ]
1415 );
1416
1417 $this->add_control(
1418 'checkbox_color_checked',
1419 [
1420 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1421 'type' => Controls_Manager::COLOR,
1422 'default' => '',
1423 'selectors' => [
1424 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]:checked:before' => 'background: {{VALUE}}',
1425 ],
1426 'condition' => [
1427 'custom_radio_checkbox' => 'yes',
1428 ],
1429 ]
1430 );
1431
1432 $this->end_controls_tab();
1433
1434 $this->end_controls_tabs();
1435
1436 $this->end_controls_section();
1437
1438 /**
1439 * Style Tab: Radio
1440 * -------------------------------------------------
1441 */
1442 $this->start_controls_section(
1443 'section_radio_style',
1444 [
1445 'label' => __( 'Radio', 'essential-addons-for-elementor-lite'),
1446 'tab' => Controls_Manager::TAB_STYLE,
1447 ]
1448 );
1449
1450 $this->add_control(
1451 'custom_radio_style',
1452 [
1453 'label' => __( 'Custom Styles', 'essential-addons-for-elementor-lite'),
1454 'type' => Controls_Manager::SWITCHER,
1455 'label_on' => __( 'Yes', 'essential-addons-for-elementor-lite'),
1456 'label_off' => __( 'No', 'essential-addons-for-elementor-lite'),
1457 'return_value' => 'yes',
1458 ]
1459 );
1460
1461 $this->add_responsive_control(
1462 'radio_size',
1463 [
1464 'label' => __( 'Size', 'essential-addons-for-elementor-lite'),
1465 'type' => Controls_Manager::SLIDER,
1466 'default' => [
1467 'size' => '15',
1468 'unit' => 'px'
1469 ],
1470 'range' => [
1471 'px' => [
1472 'min' => 0,
1473 'max' => 80,
1474 'step' => 1,
1475 ],
1476 ],
1477 'size_units' => [ 'px', 'em', '%' ],
1478 'selectors' => [
1479 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'width: {{SIZE}}{{UNIT}} !important; height: {{SIZE}}{{UNIT}}',
1480 ],
1481 'condition' => [
1482 'custom_radio_style' => 'yes',
1483 ],
1484 ]
1485 );
1486
1487 $this->start_controls_tabs( 'tabs_radio_style' );
1488
1489 $this->start_controls_tab(
1490 'radio_normal',
1491 [
1492 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
1493 'condition' => [
1494 'custom_radio_style' => 'yes',
1495 ],
1496 ]
1497 );
1498
1499 $this->add_control(
1500 'radio_color',
1501 [
1502 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1503 'type' => Controls_Manager::COLOR,
1504 'default' => '',
1505 'selectors' => [
1506 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'background: {{VALUE}}',
1507 ],
1508 'condition' => [
1509 'custom_radio_style' => 'yes',
1510 ],
1511 ]
1512 );
1513
1514 $this->add_responsive_control(
1515 'radio_border_width',
1516 [
1517 'label' => __( 'Border Width', 'essential-addons-for-elementor-lite'),
1518 'type' => Controls_Manager::SLIDER,
1519 'range' => [
1520 'px' => [
1521 'min' => 0,
1522 'max' => 15,
1523 'step' => 1,
1524 ],
1525 ],
1526 'size_units' => [ 'px' ],
1527 'selectors' => [
1528 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'border-width: {{SIZE}}{{UNIT}}',
1529 ],
1530 'condition' => [
1531 'custom_radio_style' => 'yes',
1532 ],
1533 ]
1534 );
1535
1536 $this->add_control(
1537 'radio_border_color',
1538 [
1539 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
1540 'type' => Controls_Manager::COLOR,
1541 'default' => '',
1542 'selectors' => [
1543 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'border-color: {{VALUE}}',
1544 ],
1545 'condition' => [
1546 'custom_radio_style' => 'yes',
1547 ],
1548 ]
1549 );
1550
1551 $this->add_control(
1552 'radio_heading',
1553 [
1554 'label' => __( 'Radio Buttons', 'essential-addons-for-elementor-lite'),
1555 'type' => Controls_Manager::HEADING,
1556 'condition' => [
1557 'custom_radio_style' => 'yes',
1558 ],
1559 ]
1560 );
1561
1562 $this->add_control(
1563 'radio_border_radius',
1564 [
1565 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
1566 'type' => Controls_Manager::DIMENSIONS,
1567 'size_units' => [ 'px', 'em', '%' ],
1568 'selectors' => [
1569 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1570 ],
1571 'condition' => [
1572 'custom_radio_style' => 'yes',
1573 ],
1574 ]
1575 );
1576
1577 $this->add_responsive_control(
1578 'radio_margin',
1579 [
1580 'label' => esc_html__( 'Margin', 'essential-addons-for-elementor-lite'),
1581 'type' => Controls_Manager::DIMENSIONS,
1582 'size_units' => [ 'px', 'em', '%' ],
1583 'selectors' => [
1584 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1585 ],
1586 ]
1587 );
1588
1589 $this->add_responsive_control(
1590 'radio_padding',
1591 [
1592 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
1593 'type' => Controls_Manager::DIMENSIONS,
1594 'size_units' => [ 'px', 'em', '%' ],
1595 'selectors' => [
1596 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1597 ],
1598 ]
1599 );
1600
1601 $this->end_controls_tab();
1602
1603 $this->start_controls_tab(
1604 'radio_checked',
1605 [
1606 'label' => __( 'Checked', 'essential-addons-for-elementor-lite'),
1607 'condition' => [
1608 'custom_radio_style' => 'yes',
1609 ],
1610 ]
1611 );
1612
1613 $this->add_control(
1614 'radio_color_checked',
1615 [
1616 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1617 'type' => Controls_Manager::COLOR,
1618 'default' => '',
1619 'selectors' => [
1620 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]:checked:before' => 'background: {{VALUE}}',
1621 ],
1622 'condition' => [
1623 'custom_radio_style' => 'yes',
1624 ],
1625 ]
1626 );
1627
1628 $this->end_controls_tab();
1629
1630 $this->end_controls_tabs();
1631
1632 $this->end_controls_section();
1633
1634 /**
1635 * Style Tab: File upload
1636 * -------------------------------------------------
1637 */
1638 $this->start_controls_section(
1639 'file_upload_style',
1640 [
1641 'label' => __( 'File Upload', 'essential-addons-for-elementor-lite'),
1642 'tab' => Controls_Manager::TAB_STYLE,
1643 ]
1644 );
1645
1646 $this->start_controls_tabs( 'file_upload_tabs_button_style' );
1647
1648 $this->start_controls_tab(
1649 'file_upload_tab_button_normal',
1650 [
1651 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
1652 ]
1653 );
1654
1655 $this->add_control(
1656 'file_upload_button_bg_color_normal',
1657 [
1658 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
1659 'type' => Controls_Manager::COLOR,
1660 'default' => '',
1661 'selectors' => [
1662 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button' => 'background-color: {{VALUE}}',
1663 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button' => 'background-color: {{VALUE}}',
1664 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button' => 'background-color: {{VALUE}}',
1665 ],
1666 ]
1667 );
1668
1669 $this->add_control(
1670 'file_upload_button_text_color_normal',
1671 [
1672 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
1673 'type' => Controls_Manager::COLOR,
1674 'default' => '',
1675 'selectors' => [
1676 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button' => 'color: {{VALUE}}',
1677 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button' => 'color: {{VALUE}}',
1678 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button' => 'color: {{VALUE}}',
1679 ],
1680 ]
1681 );
1682
1683 $this->add_group_control(
1684 Group_Control_Border::get_type(),
1685 [
1686 'name' => 'file_upload_button_border_normal',
1687 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
1688 'placeholder' => '1px',
1689 'default' => '1px',
1690 'selector' => '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button, {{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button, {{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button',
1691 ]
1692 );
1693
1694 $this->add_control(
1695 'file_upload_button_border_radius',
1696 [
1697 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
1698 'type' => Controls_Manager::DIMENSIONS,
1699 'size_units' => [ 'px', 'em', '%' ],
1700 'selectors' => [
1701 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1702 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1703 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1704 ],
1705 ]
1706 );
1707
1708 $this->add_responsive_control(
1709 'file_upload_button_padding',
1710 [
1711 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
1712 'type' => Controls_Manager::DIMENSIONS,
1713 'size_units' => [ 'px', 'em', '%' ],
1714 'selectors' => [
1715 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1716 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1717 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1718 ],
1719 ]
1720 );
1721
1722 $this->end_controls_tab();
1723
1724 $this->start_controls_tab(
1725 'file_upload_tab_button_hover',
1726 [
1727 'label' => __( 'Hover', 'essential-addons-for-elementor-lite'),
1728 ]
1729 );
1730
1731 $this->add_control(
1732 'file_upload_button_bg_color_hover',
1733 [
1734 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
1735 'type' => Controls_Manager::COLOR,
1736 'default' => '',
1737 'selectors' => [
1738 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button:hover' => 'background-color: {{VALUE}}',
1739 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button:hover' => 'background-color: {{VALUE}}',
1740 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button:hover' => 'background-color: {{VALUE}}',
1741 ],
1742 ]
1743 );
1744
1745 $this->add_control(
1746 'file_upload_button_text_color_hover',
1747 [
1748 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
1749 'type' => Controls_Manager::COLOR,
1750 'default' => '',
1751 'selectors' => [
1752 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button:hover' => 'color: {{VALUE}}',
1753 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button:hover' => 'color: {{VALUE}}',
1754 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button:hover' => 'color: {{VALUE}}',
1755 ],
1756 ]
1757 );
1758
1759 $this->add_control(
1760 'file_upload_button_border_color_hover',
1761 [
1762 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
1763 'type' => Controls_Manager::COLOR,
1764 'default' => '',
1765 'selectors' => [
1766 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button:hover' => 'border-color: {{VALUE}}',
1767 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button:hover' => 'border-color: {{VALUE}}',
1768 '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button:hover' => 'border-color: {{VALUE}}',
1769 ],
1770 ]
1771 );
1772
1773 $this->end_controls_tab();
1774
1775 $this->end_controls_tabs();
1776
1777 $this->add_group_control(
1778 Group_Control_Typography::get_type(),
1779 [
1780 'name' => 'file_upload_button_typography',
1781 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1782 'global' => [
1783 'default' => Global_Typography::TYPOGRAPHY_ACCENT
1784 ],
1785 'selector' => '{{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::file-selector-button, {{WRAPPER}} .eael-gravity-form .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button, {{WRAPPER}} .eael-gravity-form .ginput_container_fileupload .button',
1786 'separator' => 'before',
1787 ]
1788 );
1789
1790 $this->add_control(
1791 'file_upload_rules_heading',
1792 [
1793 'label' => __( 'Rules', 'essential-addons-for-elementor-lite'),
1794 'type' => Controls_Manager::HEADING,
1795 'separator' => 'before',
1796 ]
1797 );
1798
1799 $this->add_group_control(
1800 Group_Control_Typography::get_type(),
1801 [
1802 'name' => 'file_upload_rulestypography',
1803 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1804 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_fileupload_rules',
1805 ]
1806 );
1807
1808 $this->add_control(
1809 'file_upload_rules_color',
1810 [
1811 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1812 'type' => Controls_Manager::COLOR,
1813 'default' => '',
1814 'selectors' => [
1815 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gform_fileupload_rules' => 'color: {{VALUE}}',
1816 ],
1817 ]
1818 );
1819
1820 $this->end_controls_section();
1821
1822 /**
1823 * Style Tab: Scrolling Text
1824 * -------------------------------------------------
1825 */
1826 $this->start_controls_section(
1827 'scrolling_text_style',
1828 [
1829 'label' => __( 'Scrolling Text', 'essential-addons-for-elementor-lite'),
1830 'tab' => Controls_Manager::TAB_STYLE,
1831 ]
1832 );
1833
1834 $this->add_group_control(
1835 Group_Control_Typography::get_type(),
1836 [
1837 'name' => 'scrolling_text_typography',
1838 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
1839 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description',
1840 'separator' => 'before',
1841 ]
1842 );
1843
1844 $this->add_control(
1845 'scrolling_text_color',
1846 [
1847 'label' => __( 'Color', 'essential-addons-for-elementor-lite'),
1848 'type' => Controls_Manager::COLOR,
1849 'default' => '',
1850 'selectors' => [
1851 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description' => 'color: {{VALUE}}',
1852 ],
1853 ]
1854 );
1855
1856 $this->add_control(
1857 'scrolling_text_bg_color',
1858 [
1859 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
1860 'type' => Controls_Manager::COLOR,
1861 'default' => '',
1862 'selectors' => [
1863 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description' => 'background-color: {{VALUE}}',
1864 ],
1865 ]
1866 );
1867
1868 $this->add_responsive_control(
1869 'scrolling_text_width',
1870 [
1871 'label' => __( 'Width', 'essential-addons-for-elementor-lite'),
1872 'type' => Controls_Manager::SLIDER,
1873 'default' => [
1874 'size' => '100',
1875 'unit' => '%'
1876 ],
1877 'range' => [
1878 'px' => [
1879 'min' => 0,
1880 'max' => 1200,
1881 'step' => 1,
1882 ],
1883 ],
1884 'size_units' => [ 'px', '%' ],
1885 'selectors' => [
1886 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text' => 'width: {{SIZE}}{{UNIT}}',
1887 ],
1888 ]
1889 );
1890
1891 $this->add_group_control(
1892 Group_Control_Border::get_type(),
1893 [
1894 'name' => 'scrolling_text_border',
1895 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
1896 'placeholder' => '1px',
1897 'default' => '1px',
1898 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text',
1899 ]
1900 );
1901
1902 $this->add_control(
1903 'scrolling_text_border_radius',
1904 [
1905 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
1906 'type' => Controls_Manager::DIMENSIONS,
1907 'size_units' => [ 'px', 'em', '%' ],
1908 'selectors' => [
1909 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1910 ],
1911 ]
1912 );
1913
1914 $this->add_responsive_control(
1915 'scrolling_text_padding',
1916 [
1917 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
1918 'type' => Controls_Manager::DIMENSIONS,
1919 'size_units' => [ 'px', 'em', '%' ],
1920 'selectors' => [
1921 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1922 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description' => 'margin: 0;',
1923 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text::-webkit-scrollbar' => 'border:2px solid #009900;',
1924 ],
1925 ]
1926 );
1927
1928 $this->add_responsive_control(
1929 'scrolling_text_margin',
1930 [
1931 'label' => esc_html__( 'Margin', 'essential-addons-for-elementor-lite'),
1932 'type' => Controls_Manager::DIMENSIONS,
1933 'size_units' => [ 'px', 'em', '%' ],
1934 'selectors' => [
1935 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .gf_scroll_text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
1936 ],
1937 ]
1938 );
1939
1940 $this->end_controls_section();
1941
1942 /**
1943 * Style Tab: Submit Button
1944 * -------------------------------------------------
1945 */
1946 $this->start_controls_section(
1947 'section_submit_button_style',
1948 [
1949 'label' => __( 'Submit Button', 'essential-addons-for-elementor-lite'),
1950 'tab' => Controls_Manager::TAB_STYLE,
1951 ]
1952 );
1953
1954 $this->add_responsive_control(
1955 'button_align',
1956 [
1957 'label' => __( 'Alignment', 'essential-addons-for-elementor-lite'),
1958 'type' => Controls_Manager::CHOOSE,
1959 'options' => [
1960 'left' => [
1961 'title' => __( 'Left', 'essential-addons-for-elementor-lite'),
1962 'icon' => 'eicon-h-align-left',
1963 ],
1964 'center' => [
1965 'title' => __( 'Center', 'essential-addons-for-elementor-lite'),
1966 'icon' => 'eicon-h-align-center',
1967 ],
1968 'right' => [
1969 'title' => __( 'Right', 'essential-addons-for-elementor-lite'),
1970 'icon' => 'eicon-h-align-right',
1971 ],
1972 ],
1973 'default' => '',
1974 'selectors' => [
1975 '{{WRAPPER}} .eael-gravity-form .gform_footer' => 'text-align: {{VALUE}};justify-content: {{VALUE}};',
1976 '{{WRAPPER}} .eael-gravity-form .gfield--type-submit' => 'text-align: {{VALUE}};justify-content: {{VALUE}};',
1977 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'display:inline-block;'
1978 ],
1979 'condition' => [
1980 'button_width_type' => 'custom',
1981 ],
1982 ]
1983 );
1984
1985 $this->add_control(
1986 'button_width_type',
1987 [
1988 'label' => __( 'Width', 'essential-addons-for-elementor-lite'),
1989 'type' => Controls_Manager::SELECT,
1990 'default' => 'custom',
1991 'options' => [
1992 'full-width' => __( 'Full Width', 'essential-addons-for-elementor-lite'),
1993 'custom' => __( 'Custom', 'essential-addons-for-elementor-lite'),
1994 ],
1995 'prefix_class' => 'eael-gravity-form-button-',
1996 ]
1997 );
1998
1999 $this->add_responsive_control(
2000 'button_width',
2001 [
2002 'label' => __( 'Width', 'essential-addons-for-elementor-lite'),
2003 'type' => Controls_Manager::SLIDER,
2004 'default' => [
2005 'size' => '100',
2006 'unit' => 'px'
2007 ],
2008 'range' => [
2009 'px' => [
2010 'min' => 0,
2011 'max' => 1200,
2012 'step' => 1,
2013 ],
2014 ],
2015 'size_units' => [ 'px', '%' ],
2016 'selectors' => [
2017 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'width: {{SIZE}}{{UNIT}}',
2018 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'width: {{SIZE}}{{UNIT}}',
2019 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'width: {{SIZE}}{{UNIT}}'
2020 ],
2021 'condition' => [
2022 'button_width_type' => 'custom',
2023 ],
2024 ]
2025 );
2026
2027 $this->start_controls_tabs( 'tabs_button_style' );
2028
2029 $this->start_controls_tab(
2030 'tab_button_normal',
2031 [
2032 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
2033 ]
2034 );
2035
2036 $this->add_control(
2037 'button_bg_color_normal',
2038 [
2039 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
2040 'type' => Controls_Manager::COLOR,
2041 'default' => '',
2042 'selectors' => [
2043 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'background-color: {{VALUE}}',
2044 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'background-color: {{VALUE}}',
2045 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'background-color: {{VALUE}}',
2046 ],
2047 ]
2048 );
2049
2050 $this->add_control(
2051 'button_text_color_normal',
2052 [
2053 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2054 'type' => Controls_Manager::COLOR,
2055 'default' => '',
2056 'selectors' => [
2057 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'color: {{VALUE}}',
2058 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'color: {{VALUE}}',
2059 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'color: {{VALUE}}',
2060 ],
2061 ]
2062 );
2063
2064 $this->add_group_control(
2065 Group_Control_Border::get_type(),
2066 [
2067 'name' => 'button_border_normal',
2068 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
2069 'placeholder' => '1px',
2070 'default' => '1px',
2071 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"], {{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"], {{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button',
2072 ]
2073 );
2074
2075 $this->add_control(
2076 'button_border_radius',
2077 [
2078 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
2079 'type' => Controls_Manager::DIMENSIONS,
2080 'size_units' => [ 'px', 'em', '%' ],
2081 'selectors' => [
2082 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2083 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2084 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2085 ],
2086 ]
2087 );
2088
2089 $this->end_controls_tab();
2090
2091 $this->start_controls_tab(
2092 'tab_button_hover',
2093 [
2094 'label' => __( 'Hover', 'essential-addons-for-elementor-lite'),
2095 ]
2096 );
2097
2098 $this->add_control(
2099 'button_bg_color_hover',
2100 [
2101 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
2102 'type' => Controls_Manager::COLOR,
2103 'default' => '',
2104 'selectors' => [
2105 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]:hover' => 'background-color: {{VALUE}}',
2106 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]:hover' => 'background-color: {{VALUE}}',
2107 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button:hover' => 'background-color: {{VALUE}}'
2108 ],
2109 ]
2110 );
2111
2112 $this->add_control(
2113 'button_text_color_hover',
2114 [
2115 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2116 'type' => Controls_Manager::COLOR,
2117 'default' => '',
2118 'selectors' => [
2119 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]:hover' => 'color: {{VALUE}}',
2120 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]:hover' => 'color: {{VALUE}}',
2121 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button:hover' => 'color: {{VALUE}}'
2122 ],
2123 ]
2124 );
2125
2126 $this->add_control(
2127 'button_border_color_hover',
2128 [
2129 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
2130 'type' => Controls_Manager::COLOR,
2131 'default' => '',
2132 'selectors' => [
2133 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]:hover' => 'border-color: {{VALUE}}',
2134 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]:hover' => 'border-color: {{VALUE}}',
2135 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button:hover' => 'border-color: {{VALUE}}'
2136 ],
2137 ]
2138 );
2139
2140 $this->end_controls_tab();
2141
2142 $this->end_controls_tabs();
2143
2144 $this->add_responsive_control(
2145 'button_padding',
2146 [
2147 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
2148 'type' => Controls_Manager::DIMENSIONS,
2149 'size_units' => [ 'px', 'em', '%' ],
2150 'selectors' => [
2151 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2152 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2153 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2154 ],
2155 'separator' => 'before'
2156 ]
2157 );
2158
2159 $this->add_responsive_control(
2160 'button_margin',
2161 [
2162 'label' => __( 'Margin Top', 'essential-addons-for-elementor-lite'),
2163 'type' => Controls_Manager::SLIDER,
2164 'range' => [
2165 'px' => [
2166 'min' => 0,
2167 'max' => 100,
2168 'step' => 1,
2169 ],
2170 ],
2171 'size_units' => [ 'px', 'em', '%' ],
2172 'selectors' => [
2173 '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"]' => 'margin-top: {{SIZE}}{{UNIT}}',
2174 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]' => 'margin-top: {{SIZE}}{{UNIT}}',
2175 '{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button' => 'margin-top: {{SIZE}}{{UNIT}}'
2176 ],
2177 ]
2178 );
2179
2180 $this->add_group_control(
2181 Group_Control_Typography::get_type(),
2182 [
2183 'name' => 'button_typography',
2184 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
2185 'global' => [
2186 'default' => Global_Typography::TYPOGRAPHY_ACCENT
2187 ],
2188 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"], {{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"],{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button',
2189 'separator' => 'before',
2190 ]
2191 );
2192
2193 $this->add_group_control(
2194 Group_Control_Box_Shadow::get_type(),
2195 [
2196 'name' => 'button_box_shadow',
2197 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_footer input[type="submit"], {{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="submit"],{{WRAPPER}} .eael-gravity-form .gform_body input[type="submit"].gform-button',
2198 'separator' => 'before',
2199 ]
2200 );
2201
2202 $this->end_controls_section();
2203
2204
2205 /**
2206 * Style Tab: Next Button
2207 * -------------------------------------------------
2208 */
2209 $this->start_controls_section(
2210 'eael_gravity_forms_section_next_button_style',
2211 [
2212 'label' => __( 'Next/Previous Button', 'essential-addons-for-elementor-lite'),
2213 'tab' => Controls_Manager::TAB_STYLE,
2214 ]
2215 );
2216
2217 $this->add_responsive_control(
2218 'eael_gravity_forms_next_button_align',
2219 [
2220 'label' => __( 'Alignment', 'essential-addons-for-elementor-lite'),
2221 'type' => Controls_Manager::CHOOSE,
2222 'options' => [
2223 'left' => [
2224 'title' => __( 'Left', 'essential-addons-for-elementor-lite'),
2225 'icon' => 'eicon-h-align-left',
2226 ],
2227 'center' => [
2228 'title' => __( 'Center', 'essential-addons-for-elementor-lite'),
2229 'icon' => 'eicon-h-align-center',
2230 ],
2231 'right' => [
2232 'title' => __( 'Right', 'essential-addons-for-elementor-lite'),
2233 'icon' => 'eicon-h-align-right',
2234 ],
2235 ],
2236 'default' => '',
2237 'selectors' => [
2238 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer' => 'text-align: {{VALUE}};',
2239 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'display:inline-block;'
2240 ],
2241 ]
2242 );
2243
2244 $this->add_responsive_control(
2245 'eael_gravity_forms_next_button_width',
2246 [
2247 'label' => __( 'Width', 'essential-addons-for-elementor-lite'),
2248 'type' => Controls_Manager::SLIDER,
2249 'default' => [
2250 'size' => '100',
2251 'unit' => 'px'
2252 ],
2253 'range' => [
2254 'px' => [
2255 'min' => 0,
2256 'max' => 1200,
2257 'step' => 1,
2258 ],
2259 ],
2260 'size_units' => [ 'px', '%' ],
2261 'selectors' => [
2262 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'width: {{SIZE}}{{UNIT}}',
2263 ],
2264 ]
2265 );
2266
2267 $this->start_controls_tabs( 'eael_gravity_forms_tabs_next_button_style' );
2268
2269 $this->start_controls_tab(
2270 'eael_gravity_forms_tab_next_button_normal',
2271 [
2272 'label' => __( 'Normal', 'essential-addons-for-elementor-lite'),
2273 ]
2274 );
2275
2276 $this->add_control(
2277 'eael_gravity_forms_next_button_bg_color_normal',
2278 [
2279 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
2280 'type' => Controls_Manager::COLOR,
2281 'default' => '',
2282 'selectors' => [
2283 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'background-color: {{VALUE}}',
2284 ],
2285 ]
2286 );
2287
2288 $this->add_control(
2289 'eael_gravity_forms_next_button_text_color_normal',
2290 [
2291 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2292 'type' => Controls_Manager::COLOR,
2293 'default' => '',
2294 'selectors' => [
2295 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'color: {{VALUE}}',
2296 ],
2297 ]
2298 );
2299
2300 $this->add_group_control(
2301 Group_Control_Border::get_type(),
2302 [
2303 'name' => 'eael_gravity_forms_next_button_border_normal',
2304 'label' => __( 'Border', 'essential-addons-for-elementor-lite'),
2305 'placeholder' => '1px',
2306 'default' => '1px',
2307 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]',
2308 ]
2309 );
2310
2311 $this->add_control(
2312 'eael_gravity_forms_next_button_border_radius',
2313 [
2314 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite'),
2315 'type' => Controls_Manager::DIMENSIONS,
2316 'size_units' => [ 'px', 'em', '%' ],
2317 'selectors' => [
2318 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2319 ],
2320 ]
2321 );
2322
2323 $this->add_responsive_control(
2324 'eael_gravity_forms_next_button_padding',
2325 [
2326 'label' => __( 'Padding', 'essential-addons-for-elementor-lite'),
2327 'type' => Controls_Manager::DIMENSIONS,
2328 'size_units' => [ 'px', 'em', '%' ],
2329 'selectors' => [
2330 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2331 ],
2332 ]
2333 );
2334
2335 $this->add_responsive_control(
2336 'eael_gravity_forms_next_button_margin',
2337 [
2338 'label' => __( 'Margin Top', 'essential-addons-for-elementor-lite'),
2339 'type' => Controls_Manager::SLIDER,
2340 'range' => [
2341 'px' => [
2342 'min' => 0,
2343 'max' => 100,
2344 'step' => 1,
2345 ],
2346 ],
2347 'size_units' => [ 'px', 'em', '%' ],
2348 'selectors' => [
2349 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]' => 'margin-top: {{SIZE}}{{UNIT}}',
2350 ],
2351 ]
2352 );
2353
2354 $this->end_controls_tab();
2355
2356 $this->start_controls_tab(
2357 'eael_gravity_forms_tab_next_button_hover',
2358 [
2359 'label' => __( 'Hover', 'essential-addons-for-elementor-lite'),
2360 ]
2361 );
2362
2363 $this->add_control(
2364 'eael_gravity_forms_next_button_bg_color_hover',
2365 [
2366 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite'),
2367 'type' => Controls_Manager::COLOR,
2368 'default' => '',
2369 'selectors' => [
2370 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]:hover' => 'background-color: {{VALUE}}',
2371 ],
2372 ]
2373 );
2374
2375 $this->add_control(
2376 'eael_gravity_forms_next_button_text_color_hover',
2377 [
2378 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2379 'type' => Controls_Manager::COLOR,
2380 'default' => '',
2381 'selectors' => [
2382 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]:hover' => 'color: {{VALUE}}',
2383 ],
2384 ]
2385 );
2386
2387 $this->add_control(
2388 'eael_gravity_forms_next_button_border_color_hover',
2389 [
2390 'label' => __( 'Border Color', 'essential-addons-for-elementor-lite'),
2391 'type' => Controls_Manager::COLOR,
2392 'default' => '',
2393 'selectors' => [
2394 '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]:hover' => 'border-color: {{VALUE}}',
2395 ],
2396 ]
2397 );
2398
2399 $this->end_controls_tab();
2400
2401 $this->end_controls_tabs();
2402
2403 $this->add_group_control(
2404 Group_Control_Typography::get_type(),
2405 [
2406 'name' => 'eael_gravity_forms_next_button_typography',
2407 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
2408 'global' => [
2409 'default' => Global_Typography::TYPOGRAPHY_ACCENT
2410 ],
2411 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]',
2412 'separator' => 'before',
2413 ]
2414 );
2415
2416 $this->add_group_control(
2417 Group_Control_Box_Shadow::get_type(),
2418 [
2419 'name' => 'eael_gravity_forms_next_button_box_shadow',
2420 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_body .gform_page_footer input[type="button"]',
2421 'separator' => 'before',
2422 ]
2423 );
2424
2425 $this->end_controls_section();
2426
2427
2428 /**
2429 * Style Tab: Errors
2430 * -------------------------------------------------
2431 */
2432 $this->start_controls_section(
2433 'section_error_style',
2434 [
2435 'label' => __( 'Errors', 'essential-addons-for-elementor-lite'),
2436 'tab' => Controls_Manager::TAB_STYLE,
2437 ]
2438 );
2439
2440 $this->add_control(
2441 'error_messages_heading',
2442 [
2443 'label' => __( 'Error Messages', 'essential-addons-for-elementor-lite'),
2444 'type' => Controls_Manager::HEADING,
2445 'condition' => [
2446 'error_messages' => 'show',
2447 ],
2448 ]
2449 );
2450
2451 $this->add_control(
2452 'error_message_text_color',
2453 [
2454 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2455 'type' => Controls_Manager::COLOR,
2456 'default' => '',
2457 'selectors' => [
2458 '{{WRAPPER}} .eael-gravity-form .gfield .validation_message' => 'color: {{VALUE}}',
2459 ],
2460 'condition' => [
2461 'error_messages' => 'show',
2462 ],
2463 ]
2464 );
2465
2466 $this->add_control(
2467 'validation_errors_heading',
2468 [
2469 'label' => __( 'Validation Errors', 'essential-addons-for-elementor-lite'),
2470 'type' => Controls_Manager::HEADING,
2471 'separator' => 'before',
2472 'condition' => [
2473 'validation_errors' => 'show',
2474 ],
2475 ]
2476 );
2477
2478 $this->add_control(
2479 'validation_error_description_color',
2480 [
2481 'label' => __( 'Error Description Color', 'essential-addons-for-elementor-lite'),
2482 'type' => Controls_Manager::COLOR,
2483 'default' => '',
2484 'selectors' => [
2485 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .validation_error' => 'color: {{VALUE}}',
2486 ],
2487 'condition' => [
2488 'validation_errors' => 'show',
2489 ],
2490 ]
2491 );
2492
2493 $this->add_control(
2494 'validation_error_border_color',
2495 [
2496 'label' => __( 'Error Border Color', 'essential-addons-for-elementor-lite'),
2497 'type' => Controls_Manager::COLOR,
2498 'default' => '',
2499 'selectors' => [
2500 '{{WRAPPER}} .eael-gravity-form .gform_wrapper .validation_error' => 'border-top-color: {{VALUE}}; border-bottom-color: {{VALUE}}',
2501 '{{WRAPPER}} .eael-gravity-form .gfield_error' => 'border-top-color: {{VALUE}}; border-bottom-color: {{VALUE}}',
2502 ],
2503 'condition' => [
2504 'validation_errors' => 'show',
2505 ],
2506 ]
2507 );
2508
2509 $this->add_control(
2510 'validation_errors_bg_color',
2511 [
2512 'label' => __( 'Error Field Background Color', 'essential-addons-for-elementor-lite'),
2513 'type' => Controls_Manager::COLOR,
2514 'default' => '',
2515 'selectors' => [
2516 '{{WRAPPER}} .eael-gravity-form .gfield_error' => 'background: {{VALUE}}',
2517 ],
2518 'condition' => [
2519 'validation_errors' => 'show',
2520 ],
2521 ]
2522 );
2523
2524 $this->add_control(
2525 'validation_error_field_label_color',
2526 [
2527 'label' => __( 'Error Field Label Color', 'essential-addons-for-elementor-lite'),
2528 'type' => Controls_Manager::COLOR,
2529 'default' => '',
2530 'selectors' => [
2531 '{{WRAPPER}} .eael-gravity-form .gfield_error .gfield_label' => 'color: {{VALUE}}',
2532 ],
2533 'condition' => [
2534 'validation_errors' => 'show',
2535 ],
2536 ]
2537 );
2538
2539 $this->add_control(
2540 'validation_error_field_input_border_color',
2541 [
2542 'label' => __( 'Error Field Input Border Color', 'essential-addons-for-elementor-lite'),
2543 'type' => Controls_Manager::COLOR,
2544 'default' => '',
2545 'selectors' => [
2546 '{{WRAPPER}} .eael-gravity-form .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .gform_wrapper li.gfield_error textarea' => 'border-color: {{VALUE}}',
2547 ],
2548 'condition' => [
2549 'validation_errors' => 'show',
2550 ],
2551 ]
2552 );
2553
2554 $this->add_control(
2555 'validation_error_field_input_border_width',
2556 [
2557 'label' => __( 'Error Field Input Border Width', 'essential-addons-for-elementor-lite'),
2558 'type' => Controls_Manager::NUMBER,
2559 'default' => 1,
2560 'min' => 1,
2561 'max' => 10,
2562 'step' => 1,
2563 'selectors' => [
2564 '{{WRAPPER}} .eael-gravity-form .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .gform_wrapper li.gfield_error textarea' => 'border-width: {{VALUE}}px',
2565 ],
2566 'condition' => [
2567 'validation_errors' => 'show',
2568 ],
2569 ]
2570 );
2571
2572 $this->end_controls_section();
2573
2574 /**
2575 * Style Tab: Thank You Message
2576 * -------------------------------------------------
2577 */
2578 $this->start_controls_section(
2579 'section_ty_style',
2580 [
2581 'label' => __( 'Thank You Message', 'essential-addons-for-elementor-lite'),
2582 'tab' => Controls_Manager::TAB_STYLE,
2583 ]
2584 );
2585
2586 $this->add_control(
2587 'ty_message_text_color',
2588 [
2589 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite'),
2590 'type' => Controls_Manager::COLOR,
2591 'default' => '',
2592 'selectors' => [
2593 '{{WRAPPER}} .eael-gravity-form .gform_confirmation_wrapper .gform_confirmation_message' => 'color: {{VALUE}}!important',
2594 ],
2595 ]
2596 );
2597
2598 $this->add_group_control(
2599 Group_Control_Typography::get_type(),
2600 [
2601 'name' => 'eaelgf_thankyou_message_typography',
2602 'label' => __( 'Typography', 'essential-addons-for-elementor-lite'),
2603 'global' => [
2604 'default' => Global_Typography::TYPOGRAPHY_ACCENT
2605 ],
2606 'selector' => '{{WRAPPER}} .eael-gravity-form .gform_confirmation_wrapper .gform_confirmation_message',
2607 'separator' => 'before',
2608 ]
2609 );
2610
2611 $this->end_controls_section();
2612 }
2613
2614 /**
2615 * Render gravity forms widget output on the frontend.
2616 *
2617 * Written in PHP and used to generate the final HTML.
2618 *
2619 * @access protected
2620 */
2621 protected function render() {
2622 if(!class_exists('\GFForms')) {
2623 return;
2624 }
2625
2626 $settings = $this->get_settings_for_display();
2627
2628 $this->add_render_attribute( 'contact-form', 'class', [
2629 'eael-contact-form',
2630 'eael-gravity-form',
2631 ]
2632 );
2633
2634 if ( $settings['labels_switch'] != 'yes' ) {
2635 $this->add_render_attribute( 'contact-form', 'class', 'labels-hide' );
2636 }
2637
2638 if ( $settings['placeholder_switch'] != 'yes' ) {
2639 $this->add_render_attribute( 'contact-form', 'class', 'placeholder-hide' );
2640 }
2641
2642 if ( $settings['custom_title_description'] == 'yes' ) {
2643 $this->add_render_attribute( 'contact-form', 'class', 'title-description-hide' );
2644 }
2645
2646 if ( $settings['custom_radio_checkbox'] == 'yes' || $settings['custom_radio_style'] == 'yes' ) {
2647 $this->add_render_attribute( 'contact-form', 'class', 'eael-custom-radio-checkbox' );
2648 }
2649
2650 if ( $settings['eael_gravity_form_alignment'] == 'left' ) {
2651 $this->add_render_attribute( 'contact-form', 'class', 'eael-contact-form-align-left' );
2652 }
2653 elseif ( $settings['eael_gravity_form_alignment'] == 'center' ) {
2654 $this->add_render_attribute( 'contact-form', 'class', 'eael-contact-form-align-center' );
2655 }
2656 elseif ( $settings['eael_gravity_form_alignment'] == 'right' ) {
2657 $this->add_render_attribute( 'contact-form', 'class', 'eael-contact-form-align-right' );
2658 }
2659 else {
2660 $this->add_render_attribute( 'contact-form', 'class', 'eael-contact-form-align-default' );
2661 }
2662
2663 if ( ! empty( $settings['contact_form_list'] ) ) { ?>
2664 <div <?php echo $this->get_render_attribute_string( 'contact-form' ); ?>>
2665 <?php if ( $settings['custom_title_description'] == 'yes' ) { ?>
2666 <div class="eael-gravity-form-heading">
2667 <?php if ( $settings['form_title_custom'] != '' ) { ?>
2668 <h3 class="eael-contact-form-title eael-gravity-form-title">
2669 <?php echo esc_attr( $settings['form_title_custom'] ); ?>
2670 </h3>
2671 <?php } ?>
2672 <?php if ( $settings['form_description_custom'] != '' ) { ?>
2673 <div class="eael-contact-form-description eael-gravity-form-description">
2674 <?php echo $this->parse_text_editor( $settings['form_description_custom'] ); ?>
2675 </div>
2676 <?php } ?>
2677 </div>
2678 <?php } ?>
2679 <?php
2680 $eael_form_id = $settings['contact_form_list'];
2681 $eael_form_title = $settings['form_title'];
2682 $eael_form_description = $settings['form_description'];
2683 $eael_form_ajax = $settings['form_ajax'];
2684
2685 gravity_form( $eael_form_id, $eael_form_title, $eael_form_description, $display_inactive = false, $field_values = null, $eael_form_ajax, '', $echo = true );
2686 ?>
2687 </div>
2688 <?php
2689 }
2690 }
2691
2692 protected function content_template() {}
2693
2694 }
2695