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