PluginProbe ʕ •ᴥ•ʔ
Essential Addons for Elementor – Popular Elementor Templates & Widgets / 4.1.0
Essential Addons for Elementor – Popular Elementor Templates & Widgets v4.1.0
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 / FluentForm.php
essential-addons-for-elementor-lite / includes / Elements Last commit date
Adv_Accordion.php 5 years ago Adv_Tabs.php 5 years ago Advanced_Data_Table.php 5 years ago Betterdocs_Category_Box.php 5 years ago Betterdocs_Category_Grid.php 5 years ago Betterdocs_Search_Form.php 5 years ago Caldera_Forms.php 5 years ago Contact_Form_7.php 5 years ago Content_Ticker.php 5 years ago Countdown.php 5 years ago Creative_Button.php 5 years ago Cta_Box.php 5 years ago Data_Table.php 5 years ago Dual_Color_Header.php 5 years ago EmbedPress.php 5 years ago Event_Calendar.php 5 years ago Facebook_Feed.php 5 years ago Fancy_Text.php 5 years ago Feature_List.php 5 years ago Filterable_Gallery.php 5 years ago Flip_Box.php 5 years ago FluentForm.php 5 years ago Formstack.php 5 years ago GravityForms.php 5 years ago Image_Accordion.php 5 years ago Info_Box.php 5 years ago NinjaForms.php 5 years ago Post_Grid.php 5 years ago Post_Timeline.php 5 years ago Pricing_Table.php 5 years ago Product_Grid.php 5 years ago Progress_Bar.php 5 years ago Sticky_Video.php 5 years ago Team_Member.php 5 years ago Testimonial.php 5 years ago Tooltip.php 5 years ago Twitter_Feed.php 5 years ago TypeForm.php 5 years ago WeForms.php 5 years ago Woo_Checkout.php 5 years ago WpForms.php 5 years ago
FluentForm.php
2232 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 as Controls_Manager;
10 use \Elementor\Group_Control_Border as Group_Control_Border;
11 use \Elementor\Group_Control_Box_Shadow as Group_Control_Box_Shadow;
12 use \Elementor\Group_Control_Typography as Group_Control_Typography;
13 use \Elementor\Scheme_Typography as Scheme_Typography;
14 use \Elementor\Widget_Base as Widget_Base;
15 use \Elementor\Group_Control_Background as Group_Control_Background;
16 use \Elementor\Scheme_Color;
17
18 class FluentForm extends Widget_Base
19 {
20
21 use \Essential_Addons_Elementor\Traits\Helper;
22
23 public function get_name()
24 {
25 return 'eael-fluentform';
26 }
27
28 public function get_title()
29 {
30 return __('Fluent Form', 'essential-addons-for-elementor-lite');
31 }
32
33 public function get_categories()
34 {
35 return ['essential-addons-elementor'];
36 }
37
38 public function get_icon()
39 {
40 return 'eaicon-fluent-forms';
41 }
42
43 public function get_keywords() {
44 return [
45 'ea contact form',
46 'ea fluentform',
47 'ea fluent form',
48 'ea fluent forms',
49 'contact form',
50 'form styler',
51 'elementor form',
52 'feedback',
53 'fluentforms',
54 'ea',
55 'essential addons'
56 ];
57 }
58
59 public function get_custom_help_url() {
60 return 'https://essential-addons.com/elementor/docs/fluent-form/';
61 }
62
63 public function get_style_depends() {
64 return [
65 'fluent-form-styles',
66 'fluentform-public-default'
67 ];
68 }
69
70 protected function _register_controls()
71 {
72 /*-----------------------------------------------------------------------------------*/
73 /* Content Tab
74 /*-----------------------------------------------------------------------------------*/
75 if (!defined('FLUENTFORM')) {
76 $this->start_controls_section(
77 'eael_global_warning',
78 [
79 'label' => __('Warning!', 'essential-addons-for-elementor-lite'),
80 ]
81 );
82
83 $this->add_control(
84 'eael_global_warning_text',
85 [
86 'type' => Controls_Manager::RAW_HTML,
87 'raw' => __('<strong>Fluent Form</strong> is not installed/activated on your site. Please install and activate <a href="plugin-install.php?s=fluentform&tab=search&type=term" target="_blank">Fluent Form</a> first.', 'essential-addons-for-elementor-lite'),
88 'content_classes' => 'eael-warning',
89 ]
90 );
91
92 $this->end_controls_section();
93 } else {
94 /**
95 * Content Tab: Caldera Forms
96 * -------------------------------------------------
97 */
98 $this->start_controls_section(
99 'section_form_info_box',
100 [
101 'label' => __('Fluent Form', 'essential-addons-for-elementor-lite'),
102 ]
103 );
104
105
106
107 $this->add_control(
108 'form_list',
109 [
110 'label' => esc_html__('Fluent Form', 'essential-addons-for-elementor-lite'),
111 'type' => Controls_Manager::SELECT,
112 'label_block' => true,
113 'options' => $this->eael_select_fluent_forms(),
114 'default' => '0',
115 ]
116 );
117
118 $this->add_control(
119 'custom_title_description',
120 [
121 'label' => __('Custom Title & Description', 'essential-addons-for-elementor-lite'),
122 'type' => Controls_Manager::SWITCHER,
123 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'),
124 'label_off' => __('No', 'essential-addons-for-elementor-lite'),
125 'return_value' => 'yes',
126 ]
127 );
128
129 $this->add_control(
130 'form_title_custom',
131 [
132 'label' => esc_html__('Title', 'essential-addons-for-elementor-lite'),
133 'type' => Controls_Manager::TEXT,
134 'label_block' => true,
135 'default' => '',
136 'condition' => [
137 'custom_title_description' => 'yes',
138 ],
139 ]
140 );
141
142 $this->add_control(
143 'form_description_custom',
144 [
145 'label' => esc_html__('Description', 'essential-addons-for-elementor-lite'),
146 'type' => Controls_Manager::TEXTAREA,
147 'default' => '',
148 'condition' => [
149 'custom_title_description' => 'yes',
150 ],
151 ]
152 );
153
154 $this->add_control(
155 'labels_switch',
156 [
157 'label' => __('Labels', 'essential-addons-for-elementor-lite'),
158 'type' => Controls_Manager::SWITCHER,
159 'default' => 'yes',
160 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
161 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
162 'return_value' => 'yes'
163 ]
164 );
165
166 $this->add_control(
167 'placeholder_switch',
168 [
169 'label' => __('Placeholder', 'essential-addons-for-elementor-lite'),
170 'type' => Controls_Manager::SWITCHER,
171 'default' => 'yes',
172 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
173 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
174 'return_value' => 'yes',
175 ]
176 );
177
178 $this->end_controls_section();
179
180 /**
181 * Content Tab: Errors
182 * -------------------------------------------------
183 */
184 $this->start_controls_section(
185 'section_errors',
186 [
187 'label' => __('Errors', 'essential-addons-for-elementor-lite'),
188 ]
189 );
190
191 $this->add_control(
192 'error_messages',
193 [
194 'label' => __('Error Messages', 'essential-addons-for-elementor-lite'),
195 'type' => Controls_Manager::SELECT,
196 'default' => 'show',
197 'options' => [
198 'show' => __('Show', 'essential-addons-for-elementor-lite'),
199 'hide' => __('Hide', 'essential-addons-for-elementor-lite'),
200 ]
201 ]
202 );
203
204 $this->end_controls_section();
205 }
206
207 /*-----------------------------------------------------------------------------------*/
208 /* Style Tab
209 /*-----------------------------------------------------------------------------------*/
210
211 /**
212 * Style Tab: Form Title & Description
213 * -------------------------------------------------
214 */
215 $this->start_controls_section(
216 'section_form_title_style',
217 [
218 'label' => __('Title & Description', 'essential-addons-for-elementor-lite'),
219 'tab' => Controls_Manager::TAB_STYLE,
220 'condition' => [
221 'custom_title_description' => 'yes',
222 ],
223 ]
224 );
225
226 $this->add_responsive_control(
227 'heading_alignment',
228 [
229 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
230 'type' => Controls_Manager::CHOOSE,
231 'options' => [
232 'left' => [
233 'title' => __('Left', 'essential-addons-for-elementor-lite'),
234 'icon' => 'fa fa-align-left',
235 ],
236 'center' => [
237 'title' => __('Center', 'essential-addons-for-elementor-lite'),
238 'icon' => 'fa fa-align-center',
239 ],
240 'right' => [
241 'title' => __('Right', 'essential-addons-for-elementor-lite'),
242 'icon' => 'fa fa-align-right',
243 ],
244 ],
245 'default' => '',
246 'selectors' => [
247 '{{WRAPPER}} .eael-fluentform-title' => 'text-align: {{VALUE}};',
248 '{{WRAPPER}} .eael-fluentform-description' => 'text-align: {{VALUE}};',
249 ],
250 'condition' => [
251 'custom_title_description' => 'yes',
252 ],
253 ]
254 );
255
256 $this->add_control(
257 'title_heading',
258 [
259 'label' => __('Title', 'essential-addons-for-elementor-lite'),
260 'type' => Controls_Manager::HEADING,
261 'separator' => 'before',
262 'condition' => [
263 'custom_title_description' => 'yes',
264 ],
265 ]
266 );
267
268 $this->add_control(
269 'form_title_text_color',
270 [
271 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
272 'type' => Controls_Manager::COLOR,
273 'default' => '',
274 'selectors' => [
275 '{{WRAPPER}} .eael-fluentform-title' => 'color: {{VALUE}}',
276 ],
277 'condition' => [
278 'custom_title_description' => 'yes',
279 ],
280 ]
281 );
282
283 $this->add_group_control(
284 Group_Control_Typography::get_type(),
285 [
286 'name' => 'form_title_typography',
287 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
288 'selector' => '{{WRAPPER}} .eael-fluentform-title',
289 'condition' => [
290 'custom_title_description' => 'yes',
291 ],
292 ]
293 );
294
295 $this->add_responsive_control(
296 'form_title_margin',
297 [
298 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
299 'type' => Controls_Manager::DIMENSIONS,
300 'size_units' => ['px', 'em', '%'],
301 'allowed_dimensions' => 'vertical',
302 'placeholder' => [
303 'top' => '',
304 'right' => 'auto',
305 'bottom' => '',
306 'left' => 'auto',
307 ],
308 'selectors' => [
309 '{{WRAPPER}} .eael-fluentform-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
310 ],
311 'condition' => [
312 'custom_title_description' => 'yes',
313 ],
314 ]
315 );
316
317 $this->add_control(
318 'description_heading',
319 [
320 'label' => __('Description', 'essential-addons-for-elementor-lite'),
321 'type' => Controls_Manager::HEADING,
322 'separator' => 'before',
323 'condition' => [
324 'custom_title_description' => 'yes',
325 ],
326 ]
327 );
328
329 $this->add_control(
330 'form_description_text_color',
331 [
332 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
333 'type' => Controls_Manager::COLOR,
334 'default' => '',
335 'selectors' => [
336 '{{WRAPPER}} .eael-fluentform-description' => 'color: {{VALUE}}',
337 ],
338 'condition' => [
339 'custom_title_description' => 'yes',
340 ],
341 ]
342 );
343
344 $this->add_group_control(
345 Group_Control_Typography::get_type(),
346 [
347 'name' => 'form_description_typography',
348 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
349 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
350 'selector' => '{{WRAPPER}} .eael-fluentform-description',
351 'condition' => [
352 'custom_title_description' => 'yes',
353 ],
354 ]
355 );
356
357 $this->add_responsive_control(
358 'form_description_margin',
359 [
360 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
361 'type' => Controls_Manager::DIMENSIONS,
362 'size_units' => ['px', 'em', '%'],
363 'allowed_dimensions' => 'vertical',
364 'placeholder' => [
365 'top' => '',
366 'right' => 'auto',
367 'bottom' => '',
368 'left' => 'auto',
369 ],
370 'selectors' => [
371 '{{WRAPPER}} .eael-fluentform-description' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
372 ],
373 'condition' => [
374 'custom_title_description' => 'yes',
375 ],
376 ]
377 );
378
379 $this->end_controls_section();
380
381 /**
382 * Style Tab: Form Container
383 * -------------------------------------------------
384 */
385 $this->start_controls_section(
386 'section_container_style',
387 [
388 'label' => __('Form Container', 'essential-addons-for-elementor-lite'),
389 'tab' => Controls_Manager::TAB_STYLE,
390 ]
391 );
392
393 $this->add_control(
394 'eael_contact_form_background',
395 [
396 'label' => esc_html__('Form Background Color', 'essential-addons-for-elementor-lite'),
397 'type' => Controls_Manager::COLOR,
398 'selectors' => [
399 '{{WRAPPER}} .eael-contact-form' => 'background: {{VALUE}};',
400 ],
401 ]
402 );
403
404 $this->add_control(
405 'fluentform_link_color',
406 [
407 'label' => __('Color', 'essential-addons-for-elementor-lite'),
408 'type' => Controls_Manager::COLOR,
409 'default' => '',
410 'selectors' => [
411 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group a' => 'color: {{VALUE}};',
412 ],
413 ]
414 );
415
416 $this->add_responsive_control(
417 'eael_contact_form_alignment',
418 [
419 'label' => esc_html__('Form Alignment', 'essential-addons-for-elementor-lite'),
420 'type' => Controls_Manager::CHOOSE,
421 'label_block' => true,
422 'options' => [
423 'default' => [
424 'title' => __('Default', 'essential-addons-for-elementor-lite'),
425 'icon' => 'fa fa-ban',
426 ],
427 'left' => [
428 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'),
429 'icon' => 'eicon-h-align-left',
430 ],
431 'center' => [
432 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'),
433 'icon' => 'eicon-h-align-center',
434 ],
435 'right' => [
436 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'),
437 'icon' => 'eicon-h-align-right',
438 ],
439 ],
440 'default' => 'default',
441 ]
442 );
443
444 $this->add_responsive_control(
445 'eael_contact_form_max_width',
446 [
447 'label' => esc_html__('Form Max Width', 'essential-addons-for-elementor-lite'),
448 'type' => Controls_Manager::SLIDER,
449 'size_units' => ['px', 'em', '%'],
450 'range' => [
451 'px' => [
452 'min' => 10,
453 'max' => 1500,
454 ],
455 'em' => [
456 'min' => 1,
457 'max' => 80,
458 ],
459 ],
460 'selectors' => [
461 '{{WRAPPER}} .eael-contact-form' => 'width: {{SIZE}}{{UNIT}};'
462 ],
463 ]
464 );
465
466 $this->add_responsive_control(
467 'eael_contact_form_margin',
468 [
469 'label' => esc_html__('Form Margin', 'essential-addons-for-elementor-lite'),
470 'type' => Controls_Manager::DIMENSIONS,
471 'size_units' => ['px', 'em', '%'],
472 'selectors' => [
473 '{{WRAPPER}} .eael-contact-form' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
474 ],
475 ]
476 );
477
478 $this->add_responsive_control(
479 'eael_contact_form_padding',
480 [
481 'label' => esc_html__('Form Padding', 'essential-addons-for-elementor-lite'),
482 'type' => Controls_Manager::DIMENSIONS,
483 'size_units' => ['px', 'em', '%'],
484 'selectors' => [
485 '{{WRAPPER}} .eael-contact-form' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
486 ],
487 ]
488 );
489
490 $this->add_control(
491 'eael_contact_form_border_radius',
492 [
493 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
494 'type' => Controls_Manager::DIMENSIONS,
495 'separator' => 'before',
496 'size_units' => ['px'],
497 'selectors' => [
498 '{{WRAPPER}} .eael-contact-form' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
499 ],
500 ]
501 );
502
503 $this->add_group_control(
504 Group_Control_Border::get_type(),
505 [
506 'name' => 'eael_contact_form_border',
507 'selector' => '{{WRAPPER}} .eael-contact-form',
508 ]
509 );
510
511 $this->add_group_control(
512 Group_Control_Box_Shadow::get_type(),
513 [
514 'name' => 'eael_contact_form_box_shadow',
515 'selector' => '{{WRAPPER}} .eael-contact-form',
516 ]
517 );
518
519 $this->end_controls_section();
520
521 /**
522 * Style Tab: Labels
523 * -------------------------------------------------
524 */
525 $this->start_controls_section(
526 'section_label_style',
527 [
528 'label' => __('Labels', 'essential-addons-for-elementor-lite'),
529 'tab' => Controls_Manager::TAB_STYLE,
530 ]
531 );
532
533 $this->add_control(
534 'text_color_label',
535 [
536 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
537 'type' => Controls_Manager::COLOR,
538 'selectors' => [
539 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group label' => 'color: {{VALUE}}',
540 ],
541 ]
542 );
543
544 $this->add_group_control(
545 Group_Control_Typography::get_type(),
546 [
547 'name' => 'typography_label',
548 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
549 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group label',
550 ]
551 );
552
553 $this->end_controls_section();
554
555 /**
556 * Style Tab: Input & Textarea
557 * -------------------------------------------------
558 */
559 $this->start_controls_section(
560 'section_fields_style',
561 [
562 'label' => __('Input & Textarea', 'essential-addons-for-elementor-lite'),
563 'tab' => Controls_Manager::TAB_STYLE,
564 ]
565 );
566
567 $this->add_responsive_control(
568 'input_alignment',
569 [
570 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
571 'type' => Controls_Manager::CHOOSE,
572 'options' => [
573 'left' => [
574 'title' => __('Left', 'essential-addons-for-elementor-lite'),
575 'icon' => 'fa fa-align-left',
576 ],
577 'center' => [
578 'title' => __('Center', 'essential-addons-for-elementor-lite'),
579 'icon' => 'fa fa-align-center',
580 ],
581 'right' => [
582 'title' => __('Right', 'essential-addons-for-elementor-lite'),
583 'icon' => 'fa fa-align-right',
584 ],
585 ],
586 'default' => '',
587 'selectors' => [
588 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'text-align: {{VALUE}};',
589 ],
590 ]
591 );
592
593 $this->start_controls_tabs('tabs_fields_style');
594
595 $this->start_controls_tab(
596 'tab_fields_normal',
597 [
598 'label' => __('Normal', 'essential-addons-for-elementor-lite'),
599 ]
600 );
601
602 $this->add_control(
603 'field_bg_color',
604 [
605 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
606 'type' => Controls_Manager::COLOR,
607 'default' => '',
608 'selectors' => [
609 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'background-color: {{VALUE}}',
610 ],
611 ]
612 );
613
614 $this->add_control(
615 'field_text_color',
616 [
617 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
618 'type' => Controls_Manager::COLOR,
619 'default' => '',
620 'selectors' => [
621 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'color: {{VALUE}}',
622 ],
623 ]
624 );
625
626 $this->add_group_control(
627 Group_Control_Border::get_type(),
628 [
629 'name' => 'field_border',
630 'label' => __('Border', 'essential-addons-for-elementor-lite'),
631 'placeholder' => '1px',
632 'default' => '1px',
633 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select',
634 'separator' => 'before',
635 ]
636 );
637
638 $this->add_control(
639 'field_radius',
640 [
641 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
642 'type' => Controls_Manager::DIMENSIONS,
643 'size_units' => ['px', 'em', '%'],
644 'selectors' => [
645 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
646 ],
647 ]
648 );
649
650 $this->add_responsive_control(
651 'field_text_indent',
652 [
653 'label' => __('Text Indent', 'essential-addons-for-elementor-lite'),
654 'type' => Controls_Manager::SLIDER,
655 'range' => [
656 'px' => [
657 'min' => 0,
658 'max' => 60,
659 'step' => 1,
660 ],
661 '%' => [
662 'min' => 0,
663 'max' => 30,
664 'step' => 1,
665 ],
666 ],
667 'size_units' => ['px', 'em', '%'],
668 'selectors' => [
669 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'text-indent: {{SIZE}}{{UNIT}}',
670 ],
671 'separator' => 'before',
672 ]
673 );
674
675 $this->add_responsive_control(
676 'input_width',
677 [
678 'label' => __('Input Width', 'essential-addons-for-elementor-lite'),
679 'type' => Controls_Manager::SLIDER,
680 'range' => [
681 'px' => [
682 'min' => 0,
683 'max' => 1200,
684 'step' => 1,
685 ],
686 ],
687 'size_units' => ['px', 'em', '%'],
688 'selectors' => [
689 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'width: {{SIZE}}{{UNIT}}',
690 ],
691 ]
692 );
693
694 $this->add_responsive_control(
695 'input_height',
696 [
697 'label' => __('Input Height', 'essential-addons-for-elementor-lite'),
698 'type' => Controls_Manager::SLIDER,
699 'range' => [
700 'px' => [
701 'min' => 0,
702 'max' => 80,
703 'step' => 1,
704 ],
705 ],
706 'size_units' => ['px', 'em', '%'],
707 'selectors' => [
708 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'height: {{SIZE}}{{UNIT}}',
709 ],
710 ]
711 );
712
713 $this->add_responsive_control(
714 'textarea_width',
715 [
716 'label' => __('Textarea Width', 'essential-addons-for-elementor-lite'),
717 'type' => Controls_Manager::SLIDER,
718 'range' => [
719 'px' => [
720 'min' => 0,
721 'max' => 1200,
722 'step' => 1,
723 ],
724 ],
725 'size_units' => ['px', 'em', '%'],
726 'selectors' => [
727 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea' => 'width: {{SIZE}}{{UNIT}}',
728 ],
729 ]
730 );
731
732 $this->add_responsive_control(
733 'textarea_height',
734 [
735 'label' => __('Textarea Height', 'essential-addons-for-elementor-lite'),
736 'type' => Controls_Manager::SLIDER,
737 'range' => [
738 'px' => [
739 'min' => 0,
740 'max' => 400,
741 'step' => 1,
742 ],
743 ],
744 'size_units' => ['px', 'em', '%'],
745 'selectors' => [
746 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea' => 'height: {{SIZE}}{{UNIT}}',
747 ],
748 ]
749 );
750
751 $this->add_responsive_control(
752 'field_padding',
753 [
754 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
755 'type' => Controls_Manager::DIMENSIONS,
756 'size_units' => ['px', 'em', '%'],
757 'selectors' => [
758 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
759 ],
760 ]
761 );
762
763 $this->add_responsive_control(
764 'field_spacing',
765 [
766 'label' => __('Spacing', 'essential-addons-for-elementor-lite'),
767 'type' => Controls_Manager::SLIDER,
768 'range' => [
769 'px' => [
770 'min' => 0,
771 'max' => 100,
772 'step' => 1,
773 ],
774 ],
775 'size_units' => ['px', 'em', '%'],
776 'selectors' => [
777 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group' => 'margin-bottom: {{SIZE}}{{UNIT}}',
778 ],
779 ]
780 );
781
782 $this->add_group_control(
783 Group_Control_Typography::get_type(),
784 [
785 'name' => 'field_typography',
786 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
787 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select',
788 'separator' => 'before',
789 ]
790 );
791
792 $this->add_group_control(
793 Group_Control_Box_Shadow::get_type(),
794 [
795 'name' => 'field_box_shadow',
796 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group select',
797 'separator' => 'before',
798 ]
799 );
800
801 $this->end_controls_tab();
802
803 $this->start_controls_tab(
804 'tab_fields_focus',
805 [
806 'label' => __('Focus', 'essential-addons-for-elementor-lite'),
807 ]
808 );
809
810 $this->add_control(
811 'field_bg_color_focus',
812 [
813 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
814 'type' => Controls_Manager::COLOR,
815 'default' => '',
816 'selectors' => [
817 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea:focus' => 'background-color: {{VALUE}}',
818 ],
819 ]
820 );
821
822 $this->add_group_control(
823 Group_Control_Border::get_type(),
824 [
825 'name' => 'focus_input_border',
826 'label' => __('Border', 'essential-addons-for-elementor-lite'),
827 'placeholder' => '1px',
828 'default' => '1px',
829 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea:focus',
830 ]
831 );
832
833 $this->add_group_control(
834 Group_Control_Box_Shadow::get_type(),
835 [
836 'name' => 'focus_box_shadow',
837 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea:focus',
838 'separator' => 'before',
839 ]
840 );
841
842 $this->end_controls_tab();
843
844 $this->end_controls_tabs();
845
846 $this->end_controls_section();
847
848 /**
849 * Style Tab: Placeholder
850 * -------------------------------------------------
851 */
852 $this->start_controls_section(
853 'section_placeholder_style',
854 [
855 'label' => __('Placeholder', 'essential-addons-for-elementor-lite'),
856 'tab' => Controls_Manager::TAB_STYLE,
857 'condition' => [
858 'placeholder_switch' => 'yes',
859 ],
860 ]
861 );
862
863 $this->add_control(
864 'text_color_placeholder',
865 [
866 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
867 'type' => Controls_Manager::COLOR,
868 'selectors' => [
869 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group input::-webkit-input-placeholder, {{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group textarea::-webkit-input-placeholder' => 'color: {{VALUE}}',
870 ],
871 'condition' => [
872 'placeholder_switch' => 'yes',
873 ],
874 ]
875 );
876
877 $this->end_controls_section();
878
879 /**
880 * Style Tab: Radio & Checkbox
881 * -------------------------------------------------
882 */
883 $this->start_controls_section(
884 'section_radio_checkbox_style',
885 [
886 'label' => __('Radio & Checkbox', 'essential-addons-for-elementor-lite'),
887 'tab' => Controls_Manager::TAB_STYLE,
888 ]
889 );
890
891 $this->add_control(
892 'custom_radio_checkbox',
893 [
894 'label' => __('Custom Styles', 'essential-addons-for-elementor-lite'),
895 'type' => Controls_Manager::SWITCHER,
896 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'),
897 'label_off' => __('No', 'essential-addons-for-elementor-lite'),
898 'return_value' => 'yes',
899 ]
900 );
901
902 $this->add_responsive_control(
903 'radio_checkbox_size',
904 [
905 'label' => __('Size', 'essential-addons-for-elementor-lite'),
906 'type' => Controls_Manager::SLIDER,
907 'default' => [
908 'size' => '15',
909 'unit' => 'px',
910 ],
911 'range' => [
912 'px' => [
913 'min' => 0,
914 'max' => 80,
915 'step' => 1,
916 ],
917 ],
918 'size_units' => ['px', 'em', '%'],
919 'selectors' => [
920 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}',
921 ],
922 'condition' => [
923 'custom_radio_checkbox' => 'yes',
924 ],
925 ]
926 );
927
928 $this->start_controls_tabs('tabs_radio_checkbox_style');
929
930 $this->start_controls_tab(
931 'radio_checkbox_normal',
932 [
933 'label' => __('Normal', 'essential-addons-for-elementor-lite'),
934 'condition' => [
935 'custom_radio_checkbox' => 'yes',
936 ],
937 ]
938 );
939
940 $this->add_control(
941 'radio_checkbox_color',
942 [
943 'label' => __('Color', 'essential-addons-for-elementor-lite'),
944 'type' => Controls_Manager::COLOR,
945 'default' => '',
946 'selectors' => [
947 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'background: {{VALUE}}',
948 ],
949 'condition' => [
950 'custom_radio_checkbox' => 'yes',
951 ],
952 ]
953 );
954
955 $this->add_responsive_control(
956 'checkbox_border_width',
957 [
958 'label' => __('Border Width', 'essential-addons-for-elementor-lite'),
959 'type' => Controls_Manager::SLIDER,
960 'range' => [
961 'px' => [
962 'min' => 0,
963 'max' => 15,
964 'step' => 1,
965 ],
966 ],
967 'size_units' => ['px'],
968 'selectors' => [
969 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'border-width: {{SIZE}}{{UNIT}}',
970 ],
971 'condition' => [
972 'custom_radio_checkbox' => 'yes',
973 ],
974 ]
975 );
976
977 $this->add_control(
978 'checkbox_border_color',
979 [
980 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
981 'type' => Controls_Manager::COLOR,
982 'default' => '',
983 'selectors' => [
984 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"], {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]' => 'border-color: {{VALUE}}',
985 ],
986 'condition' => [
987 'custom_radio_checkbox' => 'yes',
988 ],
989 ]
990 );
991
992 $this->add_control(
993 'checkbox_heading',
994 [
995 'label' => __('Checkbox', 'essential-addons-for-elementor-lite'),
996 'type' => Controls_Manager::HEADING,
997 'condition' => [
998 'custom_radio_checkbox' => 'yes',
999 ],
1000 ]
1001 );
1002
1003 $this->add_control(
1004 'checkbox_border_radius',
1005 [
1006 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
1007 'type' => Controls_Manager::DIMENSIONS,
1008 'size_units' => ['px', 'em', '%'],
1009 'selectors' => [
1010 '{{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}};',
1011 ],
1012 'condition' => [
1013 'custom_radio_checkbox' => 'yes',
1014 ],
1015 ]
1016 );
1017
1018 $this->add_control(
1019 'radio_heading',
1020 [
1021 'label' => __('Radio Buttons', 'essential-addons-for-elementor-lite'),
1022 'type' => Controls_Manager::HEADING,
1023 'condition' => [
1024 'custom_radio_checkbox' => 'yes',
1025 ],
1026 ]
1027 );
1028
1029 $this->add_control(
1030 'radio_border_radius',
1031 [
1032 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
1033 'type' => Controls_Manager::DIMENSIONS,
1034 'size_units' => ['px', 'em', '%'],
1035 'selectors' => [
1036 '{{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}};',
1037 ],
1038 'condition' => [
1039 'custom_radio_checkbox' => 'yes',
1040 ],
1041 ]
1042 );
1043
1044 $this->end_controls_tab();
1045
1046 $this->start_controls_tab(
1047 'radio_checkbox_checked',
1048 [
1049 'label' => __('Checked', 'essential-addons-for-elementor-lite'),
1050 'condition' => [
1051 'custom_radio_checkbox' => 'yes',
1052 ],
1053 ]
1054 );
1055
1056 $this->add_control(
1057 'radio_checkbox_color_checked',
1058 [
1059 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1060 'type' => Controls_Manager::COLOR,
1061 'default' => '',
1062 'selectors' => [
1063 '{{WRAPPER}} .eael-custom-radio-checkbox input[type="checkbox"]:checked:before, {{WRAPPER}} .eael-custom-radio-checkbox input[type="radio"]:checked:before' => 'background: {{VALUE}}',
1064 ],
1065 'condition' => [
1066 'custom_radio_checkbox' => 'yes',
1067 ],
1068 ]
1069 );
1070
1071 $this->end_controls_tab();
1072
1073 $this->end_controls_tabs();
1074
1075 $this->end_controls_section();
1076
1077 /**
1078 * Style Tab: Section Break Style
1079 * -------------------------------------------------
1080 */
1081 $this->start_controls_section(
1082 'section_break_style',
1083 [
1084 'label' => __('Section Break Style', 'essential-addons-for-elementor-lite'),
1085 'tab' => Controls_Manager::TAB_STYLE,
1086 ]
1087 );
1088
1089 $this->add_control(
1090 'section_break_label',
1091 [
1092 'label' => __('Label', 'essential-addons-for-elementor-lite'),
1093 'type' => Controls_Manager::HEADING
1094 ]
1095 );
1096
1097 $this->add_control(
1098 'section_break_label_color',
1099 [
1100 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1101 'type' => Controls_Manager::COLOR,
1102 'default' => '',
1103 'selectors' => [
1104 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break .ff-el-section-title' => 'color: {{VALUE}};',
1105 ],
1106 ]
1107 );
1108
1109 $this->add_group_control(
1110 Group_Control_Typography::get_type(),
1111 [
1112 'name' => 'section_break_label_typography',
1113 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1114 'selector' => '.eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break .ff-el-section-title',
1115 'separator' => 'before',
1116 ]
1117 );
1118
1119 $this->add_responsive_control(
1120 'section_break_label_padding',
1121 [
1122 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1123 'type' => Controls_Manager::DIMENSIONS,
1124 'size_units' => ['px', 'em', '%'],
1125 'selectors' => [
1126 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break .ff-el-section-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1127 ],
1128 ]
1129 );
1130
1131 $this->add_responsive_control(
1132 'section_break_label_margin',
1133 [
1134 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
1135 'type' => Controls_Manager::DIMENSIONS,
1136 'size_units' => ['px', 'em', '%'],
1137 'selectors' => [
1138 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break .ff-el-section-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1139 ],
1140 ]
1141 );
1142
1143 $this->add_control(
1144 'section_break_description',
1145 [
1146 'label' => __('Description', 'essential-addons-for-elementor-lite'),
1147 'type' => Controls_Manager::HEADING,
1148 'separator' => 'before'
1149 ]
1150 );
1151
1152 $this->add_control(
1153 'section_break_description_color',
1154 [
1155 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1156 'type' => Controls_Manager::COLOR,
1157 'default' => '',
1158 'selectors' => [
1159 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break div' => 'color: {{VALUE}};',
1160 ],
1161 ]
1162 );
1163
1164 $this->add_group_control(
1165 Group_Control_Typography::get_type(),
1166 [
1167 'name' => 'section_break_description_typography',
1168 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1169 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break div',
1170 'separator' => 'before',
1171 ]
1172 );
1173
1174 $this->add_responsive_control(
1175 'section_break_description_padding',
1176 [
1177 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1178 'type' => Controls_Manager::DIMENSIONS,
1179 'size_units' => ['px', 'em', '%'],
1180 'selectors' => [
1181 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break div' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1182 ],
1183 ]
1184 );
1185
1186 $this->add_responsive_control(
1187 'section_break_description_margin',
1188 [
1189 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
1190 'type' => Controls_Manager::DIMENSIONS,
1191 'size_units' => ['px', 'em', '%'],
1192 'selectors' => [
1193 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-section-break div' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1194 ],
1195 ]
1196 );
1197
1198 $this->add_responsive_control(
1199 'section_break_alignment',
1200 [
1201 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
1202 'type' => Controls_Manager::CHOOSE,
1203 'options' => [
1204 'left' => [
1205 'title' => __('Left', 'essential-addons-for-elementor-lite'),
1206 'icon' => 'eicon-h-align-left',
1207 ],
1208 'center' => [
1209 'title' => __('Center', 'essential-addons-for-elementor-lite'),
1210 'icon' => 'eicon-h-align-center',
1211 ],
1212 'right' => [
1213 'title' => __('Right', 'essential-addons-for-elementor-lite'),
1214 'icon' => 'eicon-h-align-right',
1215 ],
1216 ],
1217 'prefix_class' => 'eael-fluentform-section-break-content-'
1218 ]
1219 );
1220
1221 $this->end_controls_section();
1222
1223 /**
1224 * Style Tab: Section Checkbox grid Style
1225 * -------------------------------------------------
1226 */
1227 $this->start_controls_section(
1228 'section_table_grid',
1229 [
1230 'label' => __('Checkbox Grid Style', 'essential-addons-for-elementor-lite'),
1231 'tab' => Controls_Manager::TAB_STYLE,
1232 ]
1233 );
1234
1235 $this->add_control(
1236 'section_table_grid_head',
1237 [
1238 'label' => __('Grid Table Head', 'essential-addons-for-elementor-lite'),
1239 'type' => Controls_Manager::HEADING,
1240 'separator' => 'before'
1241 ]
1242 );
1243
1244 $this->add_control(
1245 'section_table_grid_head_color',
1246 [
1247 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
1248 'type' => Controls_Manager::COLOR,
1249 'default' => '',
1250 'selectors' => [
1251 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table thead th' => 'background-color: {{VALUE}};',
1252 ],
1253 ]
1254 );
1255
1256 $this->add_control(
1257 'section_table_grid_head_text_color',
1258 [
1259 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1260 'type' => Controls_Manager::COLOR,
1261 'default' => '',
1262 'selectors' => [
1263 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table thead th' => 'color: {{VALUE}};',
1264 ],
1265 ]
1266 );
1267
1268 $this->add_group_control(
1269 Group_Control_Typography::get_type(),
1270 [
1271 'name' => 'section_table_grid_head_typography',
1272 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1273 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table thead th',
1274 'separator' => 'before',
1275 ]
1276 );
1277
1278 $this->add_responsive_control(
1279 'section_table_grid_head_height',
1280 [
1281 'label' => __('Height', 'essential-addons-for-elementor-lite'),
1282 'type' => Controls_Manager::SLIDER,
1283 'range' => [
1284 'px' => [
1285 'min' => 0,
1286 'max' => 1200,
1287 'step' => 1,
1288 ],
1289 ],
1290 'size_units' => ['px', '%'],
1291 'selectors' => [
1292 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table thead th' => 'height: {{SIZE}}{{UNIT}}',
1293 ]
1294 ]
1295 );
1296
1297 $this->add_responsive_control(
1298 'section_table_grid_head_padding',
1299 [
1300 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1301 'type' => Controls_Manager::DIMENSIONS,
1302 'size_units' => ['px', 'em', '%'],
1303 'selectors' => [
1304 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table thead th' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1305 ],
1306 ]
1307 );
1308
1309 $this->add_control(
1310 'section_table_grid_item',
1311 [
1312 'label' => __('Grid Table Item', 'essential-addons-for-elementor-lite'),
1313 'type' => Controls_Manager::HEADING,
1314 'separator' => 'before'
1315 ]
1316 );
1317
1318 $this->add_control(
1319 'table_grid_item_color',
1320 [
1321 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1322 'type' => Controls_Manager::COLOR,
1323 'default' => '',
1324 'selectors' => [
1325 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table tbody tr td' => 'color: {{VALUE}} !important;',
1326 ],
1327 ]
1328 );
1329
1330 $this->add_control(
1331 'table_grid_item_bg_color',
1332 [
1333 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
1334 'type' => Controls_Manager::COLOR,
1335 'default' => '',
1336 'selectors' => [
1337 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table tbody tr td' => 'background-color: {{VALUE}};',
1338 ],
1339 ]
1340 );
1341
1342 $this->add_control(
1343 'table_grid_item_odd_bg_color',
1344 [
1345 'label' => __('Odd Item Background Color', 'essential-addons-for-elementor-lite'),
1346 'type' => Controls_Manager::COLOR,
1347 'default' => '',
1348 'selectors' => [
1349 '{{WRAPPER}} .ff-checkable-grids tbody>tr:nth-child(2n)>td' => 'background-color: {{VALUE}} !important;',
1350 ],
1351 ]
1352 );
1353
1354 $this->add_group_control(
1355 Group_Control_Typography::get_type(),
1356 [
1357 'name' => 'table_grid_item_typography',
1358 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1359 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table tbody tr td',
1360 ]
1361 );
1362
1363 $this->add_responsive_control(
1364 'section_table_grid_item_height',
1365 [
1366 'label' => __('Height', 'essential-addons-for-elementor-lite'),
1367 'type' => Controls_Manager::SLIDER,
1368 'range' => [
1369 'px' => [
1370 'min' => 0,
1371 'max' => 1200,
1372 'step' => 1,
1373 ],
1374 ],
1375 'size_units' => ['px', '%'],
1376 'selectors' => [
1377 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table tbody tr td' => 'height: {{SIZE}}{{UNIT}}',
1378 ]
1379 ]
1380 );
1381
1382 $this->add_responsive_control(
1383 'section_table_grid_item_padding',
1384 [
1385 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1386 'type' => Controls_Manager::DIMENSIONS,
1387 'size_units' => ['px', 'em', '%'],
1388 'selectors' => [
1389 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-table tbody tr td' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1390 ],
1391 ]
1392 );
1393
1394 $this->end_controls_section();
1395
1396 /**
1397 * Style Tab: Address Line
1398 * -------------------------------------------------
1399 */
1400 $this->start_controls_section(
1401 'section_address_line_style',
1402 [
1403 'label' => __('Address Line Style', 'essential-addons-for-elementor-lite'),
1404 'tab' => Controls_Manager::TAB_STYLE,
1405 ]
1406 );
1407
1408 $this->add_control(
1409 'address_line_label_color',
1410 [
1411 'label' => __('Label Color', 'essential-addons-for-elementor-lite'),
1412 'type' => Controls_Manager::COLOR,
1413 'default' => '',
1414 'selectors' => [
1415 '{{WRAPPER}} .fluent-address label' => 'color: {{VALUE}};',
1416 ],
1417 ]
1418 );
1419
1420 $this->add_group_control(
1421 Group_Control_Typography::get_type(),
1422 [
1423 'name' => 'address_line_label_typography',
1424 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1425 'selector' => '{{WRAPPER}} .fluent-address label',
1426 ]
1427 );
1428
1429 $this->end_controls_section();
1430
1431 /**
1432 * Style Tab: Submit Button
1433 * -------------------------------------------------
1434 */
1435 $this->start_controls_section(
1436 'section_submit_button_style',
1437 [
1438 'label' => __('Submit Button', 'essential-addons-for-elementor-lite'),
1439 'tab' => Controls_Manager::TAB_STYLE,
1440 ]
1441 );
1442
1443 $this->add_responsive_control(
1444 'button_align',
1445 [
1446 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
1447 'type' => Controls_Manager::CHOOSE,
1448 'options' => [
1449 'left' => [
1450 'title' => __('Left', 'essential-addons-for-elementor-lite'),
1451 'icon' => 'eicon-h-align-left',
1452 ],
1453 'center' => [
1454 'title' => __('Center', 'essential-addons-for-elementor-lite'),
1455 'icon' => 'eicon-h-align-center',
1456 ],
1457 'right' => [
1458 'title' => __('Right', 'essential-addons-for-elementor-lite'),
1459 'icon' => 'eicon-h-align-right',
1460 ],
1461 ],
1462 'default' => '',
1463 'prefix_class' => 'eael-fluentform-form-button-',
1464 'condition' => [
1465 'button_width_type' => 'custom',
1466 ],
1467 ]
1468 );
1469
1470 $this->add_control(
1471 'button_width_type',
1472 [
1473 'label' => __('Width', 'essential-addons-for-elementor-lite'),
1474 'type' => Controls_Manager::SELECT,
1475 'default' => 'custom',
1476 'options' => [
1477 'full-width' => __('Full Width', 'essential-addons-for-elementor-lite'),
1478 'custom' => __('Custom', 'essential-addons-for-elementor-lite'),
1479 ],
1480 'prefix_class' => 'eael-fluentform-form-button-',
1481 ]
1482 );
1483
1484 $this->add_responsive_control(
1485 'button_width',
1486 [
1487 'label' => __('Width', 'essential-addons-for-elementor-lite'),
1488 'type' => Controls_Manager::SLIDER,
1489 'range' => [
1490 'px' => [
1491 'min' => 0,
1492 'max' => 1200,
1493 'step' => 1,
1494 ],
1495 ],
1496 'size_units' => ['px', '%'],
1497 'selectors' => [
1498 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'width: {{SIZE}}{{UNIT}}',
1499 ],
1500 'condition' => [
1501 'button_width_type' => 'custom',
1502 ],
1503 ]
1504 );
1505
1506 $this->start_controls_tabs('tabs_button_style');
1507
1508 $this->start_controls_tab(
1509 'tab_button_normal',
1510 [
1511 'label' => __('Normal', 'essential-addons-for-elementor-lite'),
1512 ]
1513 );
1514
1515 $this->add_control(
1516 'button_bg_color_normal',
1517 [
1518 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
1519 'type' => Controls_Manager::COLOR,
1520 'default' => '#409EFF',
1521 'selectors' => [
1522 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'background-color: {{VALUE}} !important;',
1523 ],
1524 ]
1525 );
1526
1527 $this->add_control(
1528 'button_text_color_normal',
1529 [
1530 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
1531 'type' => Controls_Manager::COLOR,
1532 'default' => '#ffffff',
1533 'selectors' => [
1534 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'color: {{VALUE}} !important;',
1535 ],
1536 ]
1537 );
1538
1539 $this->add_group_control(
1540 Group_Control_Border::get_type(),
1541 [
1542 'name' => 'button_border_normal',
1543 'label' => __('Border', 'essential-addons-for-elementor-lite'),
1544 'placeholder' => '1px',
1545 'default' => '1px',
1546 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit',
1547 ]
1548 );
1549
1550 $this->add_control(
1551 'button_border_radius',
1552 [
1553 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
1554 'type' => Controls_Manager::DIMENSIONS,
1555 'size_units' => ['px', 'em', '%'],
1556 'selectors' => [
1557 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1558 ],
1559 ]
1560 );
1561
1562 $this->add_responsive_control(
1563 'button_padding',
1564 [
1565 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1566 'type' => Controls_Manager::DIMENSIONS,
1567 'size_units' => ['px', 'em', '%'],
1568 'selectors' => [
1569 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1570 ],
1571 ]
1572 );
1573
1574 $this->add_responsive_control(
1575 'button_margin',
1576 [
1577 'label' => __('Margin Top', 'essential-addons-for-elementor-lite'),
1578 'type' => Controls_Manager::SLIDER,
1579 'range' => [
1580 'px' => [
1581 'min' => 0,
1582 'max' => 100,
1583 'step' => 1,
1584 ],
1585 ],
1586 'size_units' => ['px', 'em', '%'],
1587 'selectors' => [
1588 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit' => 'margin-top: {{SIZE}}{{UNIT}}',
1589 ],
1590 ]
1591 );
1592
1593 $this->add_group_control(
1594 Group_Control_Typography::get_type(),
1595 [
1596 'name' => 'button_typography',
1597 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
1598 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit',
1599 'separator' => 'before',
1600 ]
1601 );
1602
1603 $this->add_group_control(
1604 Group_Control_Box_Shadow::get_type(),
1605 [
1606 'name' => 'button_box_shadow',
1607 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit',
1608 'separator' => 'before',
1609 ]
1610 );
1611
1612 $this->end_controls_tab();
1613
1614 $this->start_controls_tab(
1615 'tab_button_hover',
1616 [
1617 'label' => __('Hover', 'essential-addons-for-elementor-lite'),
1618 ]
1619 );
1620
1621 $this->add_control(
1622 'button_bg_color_hover',
1623 [
1624 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
1625 'type' => Controls_Manager::COLOR,
1626 'default' => '',
1627 'selectors' => [
1628 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit:hover' => 'background-color: {{VALUE}} !important;',
1629 ],
1630 ]
1631 );
1632
1633 $this->add_control(
1634 'button_text_color_hover',
1635 [
1636 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
1637 'type' => Controls_Manager::COLOR,
1638 'default' => '',
1639 'selectors' => [
1640 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit:hover' => 'color: {{VALUE}} !important;',
1641 ],
1642 ]
1643 );
1644
1645 $this->add_control(
1646 'button_border_color_hover',
1647 [
1648 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
1649 'type' => Controls_Manager::COLOR,
1650 'default' => '',
1651 'selectors' => [
1652 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-el-group .ff-btn-submit:hover' => 'border-color: {{VALUE}}',
1653 ],
1654 ]
1655 );
1656
1657 $this->end_controls_tab();
1658
1659 $this->end_controls_tabs();
1660
1661 $this->end_controls_section();
1662
1663 /**
1664 * Style Tab: Success Message
1665 * -------------------------------------------------
1666 */
1667
1668 if( defined("FLUENTFORMPRO") ) {
1669
1670 $this->start_controls_section(
1671 'section_pagination_style',
1672 [
1673 'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
1674 'tab' => Controls_Manager::TAB_STYLE,
1675 ]
1676 );
1677
1678 $this->start_controls_tabs('form_progressbar_style_tabs');
1679
1680 $this->start_controls_tab(
1681 'form_progressbar_normal',
1682 [
1683 'label' => __('Normal', 'essential-addons-for-elementor-lite'),
1684 ]
1685 );
1686
1687 $this->add_control(
1688 'pagination_progressbar_label',
1689 [
1690 'label' => __('Label', 'essential-addons-for-elementor-lite'),
1691 'type' => Controls_Manager::HEADING
1692 ]
1693 );
1694
1695 $this->add_control(
1696 'show_label',
1697 [
1698 'label' => __( 'Show Label', 'essential-addons-for-elementor-lite' ),
1699 'type' => Controls_Manager::SWITCHER,
1700 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite' ),
1701 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite' ),
1702 'return_value' => 'yes',
1703 'default' => 'yes',
1704 'prefix_class' => 'eael-ff-step-header-'
1705 ]
1706 );
1707
1708 $this->add_control(
1709 'label_color',
1710 [
1711 'label' => __( 'Label Color', 'essential-addons-for-elementor-lite' ),
1712 'type' => Controls_Manager::COLOR,
1713 'scheme' => [
1714 'type' => Scheme_Color::get_type(),
1715 'value' => Scheme_Color::COLOR_1,
1716 ],
1717 'selectors' => [
1718 '{{WRAPPER}} .ff-el-progress-status' => 'color: {{VALUE}}',
1719 ],
1720 'condition' => [
1721 'show_label' => 'yes'
1722 ]
1723 ]
1724 );
1725
1726 $this->add_group_control(
1727 Group_Control_Typography::get_type(),
1728 [
1729 'name' => 'label_typography',
1730 'label' => __( 'Typography', 'essential-addons-for-elementor-lite' ),
1731 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1732 'selector' => '{{WRAPPER}} .ff-el-progress-status',
1733 'condition' => [
1734 'show_label' => 'yes'
1735 ]
1736 ]
1737 );
1738
1739 $this->add_control(
1740 'label_space',
1741 [
1742 'label' => __( 'Spacing', 'essential-addons-for-elementor-lite' ),
1743 'type' => Controls_Manager::DIMENSIONS,
1744 'size_units' => [ 'px', '%', 'em' ],
1745 'selectors' => [
1746 '{{WRAPPER}} .ff-el-progress-status' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1747 ],
1748 'condition' => [
1749 'show_label' => 'yes'
1750 ],
1751 'separator' => 'after'
1752 ]
1753 );
1754
1755 $this->add_control(
1756 'pagination_progressbar',
1757 [
1758 'label' => __('Progressbar', 'essential-addons-for-elementor-lite'),
1759 'type' => Controls_Manager::HEADING,
1760 ]
1761 );
1762
1763 $this->add_control(
1764 'show_progressbar',
1765 [
1766 'label' => __( 'Show Progressbar', 'essential-addons-for-elementor-lite' ),
1767 'type' => Controls_Manager::SWITCHER,
1768 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite' ),
1769 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite' ),
1770 'return_value' => 'yes',
1771 'default' => 'yes',
1772 'prefix_class' => 'eael-ff-step-progressbar-'
1773 ]
1774 );
1775
1776 $this->add_control(
1777 'progressbar_height',
1778 [
1779 'label' => __( 'Height', 'essential-addons-for-elementor-lite' ),
1780 'type' => Controls_Manager::SLIDER,
1781 'size_units' => [ 'px' ],
1782 'range' => [
1783 'px' => [
1784 'min' => 0,
1785 'max' => 100,
1786 'step' => 1,
1787 ]
1788 ],
1789 'selectors' => [
1790 '{{WRAPPER}} .ff-el-progress' => 'height: {{SIZE}}{{UNIT}};',
1791 ],
1792 'condition' => [
1793 'show_progressbar' => 'yes'
1794 ]
1795 ]
1796 );
1797
1798 $this->add_control(
1799 'progressbar_color',
1800 [
1801 'label' => __( 'Title Color', 'essential-addons-for-elementor-lite' ),
1802 'type' => Controls_Manager::COLOR,
1803 'scheme' => [
1804 'type' => Scheme_Color::get_type(),
1805 'value' => Scheme_Color::COLOR_1,
1806 ],
1807 'selectors' => [
1808 '{{WRAPPER}} .ff-el-progress-bar span' => 'color: {{VALUE}};',
1809 ],
1810 'condition' => [
1811 'show_progressbar' => 'yes'
1812 ]
1813 ]
1814 );
1815
1816 $this->add_group_control(
1817 Group_Control_Border::get_type(),
1818 [
1819 'name' => 'progressbar_border',
1820 'label' => __( 'Border', 'essential-addons-for-elementor-lite' ),
1821 'selector' => '{{WRAPPER}} .ff-el-progress',
1822 'condition' => [
1823 'show_progressbar' => 'yes'
1824 ]
1825 ]
1826 );
1827
1828 $this->add_control(
1829 'progressbar_border_radius',
1830 [
1831 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite' ),
1832 'type' => Controls_Manager::DIMENSIONS,
1833 'size_units' => [ 'px', '%', 'em' ],
1834 'selectors' => [
1835 '{{WRAPPER}} .ff-el-progress' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1836 ],
1837 'condition' => [
1838 'show_progressbar' => 'yes'
1839 ]
1840 ]
1841 );
1842
1843 $this->add_group_control(
1844 Group_Control_Background::get_type(),
1845 [
1846 'name' => 'progressbar_bg',
1847 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
1848 'types' => [ 'classic', 'gradient' ],
1849 'selector' => '{{WRAPPER}} .ff-el-progress',
1850 'condition' => [
1851 'show_progressbar' => 'yes'
1852 ],
1853 'exclude' => [
1854 'image'
1855 ]
1856 ]
1857 );
1858
1859 $this->end_controls_tab();
1860
1861 $this->start_controls_tab(
1862 'form_progressbar_filled',
1863 [
1864 'label' => __('Filled', 'essential-addons-for-elementor-lite'),
1865 ]
1866 );
1867
1868 $this->add_group_control(
1869 Group_Control_Background::get_type(),
1870 [
1871 'name' => 'progressbar_bg_filled',
1872 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
1873 'types' => [ 'classic', 'gradient' ],
1874 'selector' => '{{WRAPPER}} .ff-el-progress-bar',
1875 'condition' => [
1876 'show_progressbar' => 'yes'
1877 ],
1878 'exclude' => [
1879 'image'
1880 ]
1881 ]
1882 );
1883
1884
1885 $this->end_controls_tab();
1886
1887 $this->end_controls_tabs();
1888
1889
1890 $this->start_controls_tabs(
1891 'form_pagination_button_style_tabs',
1892 [
1893 'separator' => 'before'
1894 ]
1895 );
1896
1897 $this->start_controls_tab(
1898 'form_pagination_button',
1899 [
1900 'label' => __('Normal', 'essential-addons-for-elementor-lite'),
1901 ]
1902 );
1903
1904 $this->add_control(
1905 'pagination_button_style',
1906 [
1907 'label' => __('Button', 'essential-addons-for-elementor-lite'),
1908 'type' => Controls_Manager::HEADING
1909 ]
1910 );
1911
1912 $this->add_control(
1913 'pagination_button_color',
1914 [
1915 'label' => __( 'Color', 'essential-addons-for-elementor-lite' ),
1916 'type' => Controls_Manager::COLOR,
1917 'selectors' => [
1918 '{{WRAPPER}} .step-nav button' => 'color: {{VALUE}};',
1919 ]
1920 ]
1921 );
1922
1923 $this->add_group_control(
1924 Group_Control_Typography::get_type(),
1925 [
1926 'name' => 'pagination_button_typography',
1927 'label' => __( 'Typography', 'essential-addons-for-elementor-lite' ),
1928 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1929 'selector' => '{{WRAPPER}} .step-nav button',
1930 ]
1931 );
1932
1933 $this->add_group_control(
1934 Group_Control_Background::get_type(),
1935 [
1936 'name' => 'pagination_button_bg',
1937 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
1938 'types' => [ 'classic', 'gradient' ],
1939 'selector' => '{{WRAPPER}} .step-nav button',
1940 ]
1941 );
1942
1943 $this->add_group_control(
1944 Group_Control_Border::get_type(),
1945 [
1946 'name' => 'pagination_button_border',
1947 'label' => __( 'Border', 'essential-addons-for-elementor-lite' ),
1948 'selector' => '{{WRAPPER}} .step-nav button',
1949 ]
1950 );
1951
1952 $this->add_control(
1953 'pagination_button_border_radius',
1954 [
1955 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite' ),
1956 'type' => Controls_Manager::DIMENSIONS,
1957 'size_units' => [ 'px', '%', 'em' ],
1958 'selectors' => [
1959 '{{WRAPPER}} .step-nav button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1960 ],
1961 ]
1962 );
1963
1964 $this->add_control(
1965 'pagination_button_padding',
1966 [
1967 'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
1968 'type' => Controls_Manager::DIMENSIONS,
1969 'size_units' => [ 'px', '%', 'em' ],
1970 'selectors' => [
1971 '{{WRAPPER}} .step-nav button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1972 ],
1973 ]
1974 );
1975
1976 $this->end_controls_tab();
1977
1978 $this->start_controls_tab(
1979 'form_pagination_button_hover',
1980 [
1981 'label' => __('Hover', 'essential-addons-for-elementor-lite'),
1982 ]
1983 );
1984
1985 $this->add_control(
1986 'pagination_button_hover_color',
1987 [
1988 'label' => __( 'Color', 'essential-addons-for-elementor-lite' ),
1989 'type' => Controls_Manager::COLOR,
1990 'selectors' => [
1991 '{{WRAPPER}} .step-nav button:hover' => 'color: {{VALUE}};',
1992 ]
1993 ]
1994 );
1995
1996 $this->add_group_control(
1997 Group_Control_Background::get_type(),
1998 [
1999 'name' => 'pagination_button_hover_bg',
2000 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
2001 'types' => [ 'classic', 'gradient' ],
2002 'selector' => '{{WRAPPER}} .step-nav button:hover',
2003 ]
2004 );
2005
2006 $this->add_control(
2007 'pagination_button_border_hover_radius',
2008 [
2009 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite' ),
2010 'type' => Controls_Manager::DIMENSIONS,
2011 'size_units' => [ 'px', '%', 'em' ],
2012 'selectors' => [
2013 '{{WRAPPER}} .step-nav button:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2014 ],
2015 ]
2016 );
2017
2018 $this->end_controls_tab();
2019
2020 $this->end_controls_tabs();
2021
2022
2023 $this->end_controls_section();
2024 }
2025
2026
2027 /**
2028 * Style Tab: Success Message
2029 * -------------------------------------------------
2030 */
2031 $this->start_controls_section(
2032 'section_success_message_style',
2033 [
2034 'label' => __('Success Message', 'essential-addons-for-elementor-lite'),
2035 'tab' => Controls_Manager::TAB_STYLE,
2036 ]
2037 );
2038
2039 $this->add_control(
2040 'success_message_bg_color',
2041 [
2042 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
2043 'type' => Controls_Manager::COLOR,
2044 'selectors' => [
2045 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-message-success' => 'background-color: {{VALUE}}',
2046 ],
2047 ]
2048 );
2049
2050 $this->add_control(
2051 'success_message_text_color',
2052 [
2053 'label' => __('Text Color', 'essential-addons-for-elementor-lite'),
2054 'type' => Controls_Manager::COLOR,
2055 'selectors' => [
2056 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-message-success' => 'color: {{VALUE}}',
2057 ],
2058 ]
2059 );
2060
2061 $this->add_group_control(
2062 Group_Control_Border::get_type(),
2063 [
2064 'name' => 'success_message_border',
2065 'label' => __('Border', 'essential-addons-for-elementor-lite'),
2066 'placeholder' => '1px',
2067 'default' => '1px',
2068 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-message-success',
2069 ]
2070 );
2071
2072 $this->add_group_control(
2073 Group_Control_Typography::get_type(),
2074 [
2075 'name' => 'success_message_typography',
2076 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2077 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .ff-message-success',
2078 ]
2079 );
2080
2081 $this->end_controls_section();
2082
2083 /**
2084 * Style Tab: Errors
2085 * -------------------------------------------------
2086 */
2087 $this->start_controls_section(
2088 'section_error_style',
2089 [
2090 'label' => __('Errors', 'essential-addons-for-elementor-lite'),
2091 'tab' => Controls_Manager::TAB_STYLE,
2092 ]
2093 );
2094
2095 $this->add_control(
2096 'error_messages_heading',
2097 [
2098 'label' => __('Error Messages', 'essential-addons-for-elementor-lite'),
2099 'type' => Controls_Manager::HEADING,
2100 'condition' => [
2101 'error_messages' => 'show',
2102 ],
2103 ]
2104 );
2105
2106 $this->add_control(
2107 'error_message_text_color',
2108 [
2109 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2110 'type' => Controls_Manager::COLOR,
2111 'default' => '',
2112 'selectors' => [
2113 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .error.text-danger' => 'color: {{VALUE}}',
2114 ],
2115 'condition' => [
2116 'error_messages' => 'show',
2117 ],
2118 ]
2119 );
2120
2121 $this->add_group_control(
2122 Group_Control_Typography::get_type(),
2123 [
2124 'name' => 'error_message_typography',
2125 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2126 'selector' => '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .error.text-danger',
2127 ]
2128 );
2129
2130 $this->add_responsive_control(
2131 'error_message_padding',
2132 [
2133 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
2134 'type' => Controls_Manager::DIMENSIONS,
2135 'size_units' => ['px', 'em', '%'],
2136 'selectors' => [
2137 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .error.text-danger' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2138 ],
2139 ]
2140 );
2141
2142 $this->add_responsive_control(
2143 'error_message_margin',
2144 [
2145 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
2146 'type' => Controls_Manager::DIMENSIONS,
2147 'size_units' => ['px', 'em', '%'],
2148 'selectors' => [
2149 '{{WRAPPER}} .eael-contact-form.eael-fluent-form-wrapper .error.text-danger' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2150 ],
2151 ]
2152 );
2153
2154 $this->end_controls_section();
2155
2156 }
2157
2158 protected function render()
2159 {
2160
2161 if( ! defined('FLUENTFORM') ) return;
2162
2163
2164 $settings = $this->get_settings_for_display();
2165
2166 $this->add_render_attribute(
2167 'eael_fluentform_wrapper',
2168 [
2169 'class' => [
2170 'eael-contact-form',
2171 'eael-fluent-form-wrapper',
2172 'clearfix'
2173 ]
2174 ]
2175 );
2176
2177 if ( $settings['placeholder_switch'] != 'yes' ) {
2178 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'placeholder-hide' );
2179 }
2180
2181 if( $settings['labels_switch'] != 'yes' ) {
2182 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'fluent-form-labels-hide' );
2183 }
2184
2185 if( $settings['error_messages'] == 'hide' ) {
2186 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'error-message-hide' );
2187 }
2188
2189 if ( $settings['custom_radio_checkbox'] == 'yes' ) {
2190 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'eael-custom-radio-checkbox' );
2191 }
2192 if ( $settings['eael_contact_form_alignment'] == 'left' ) {
2193 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'eael-contact-form-align-left' );
2194 }
2195 elseif ( $settings['eael_contact_form_alignment'] == 'center' ) {
2196 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'eael-contact-form-align-center' );
2197 }
2198 elseif ( $settings['eael_contact_form_alignment'] == 'right' ) {
2199 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'eael-contact-form-align-right' );
2200 }
2201 else {
2202 $this->add_render_attribute( 'eael_fluentform_wrapper', 'class', 'eael-contact-form-align-default' );
2203 }
2204
2205 $shortcode = '[fluentform id="'.$this->get_settings_for_display('form_list').'"]';
2206
2207 ?>
2208 <div <?php echo $this->get_render_attribute_string('eael_fluentform_wrapper'); ?>>
2209
2210 <?php if ( $settings['custom_title_description'] == 'yes' ) { ?>
2211 <div class="eael-fluentform-heading">
2212 <?php if ( $settings['form_title_custom'] != '' ) { ?>
2213 <h3 class="eael-contact-form-title eael-fluentform-title">
2214 <?php echo esc_attr( $settings['form_title_custom'] ); ?>
2215 </h3>
2216 <?php } ?>
2217 <?php if ( $settings['form_description_custom'] != '' ) { ?>
2218 <div class="eael-contact-form-description eael-fluentform-description">
2219 <?php echo $this->parse_text_editor( $settings['form_description_custom'] ); ?>
2220 </div>
2221 <?php } ?>
2222 </div>
2223 <?php } ?>
2224
2225 <?php echo do_shortcode( shortcode_unautop( $shortcode ) ); ?>
2226 </div>
2227
2228 <?php
2229 }
2230
2231 }
2232