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