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