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