PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / trunk
Shortcodes and extra features for Phlox theme vtrunk
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elementor / widgets / contact-form.php
auxin-elements / includes / elementor / widgets Last commit date
theme-elements 6 months ago accordion.php 6 months ago audio.php 6 months ago before-after.php 6 months ago button.php 6 months ago carousel-navigation.php 6 months ago circle-chart.php 6 months ago contact-box.php 6 months ago contact-form.php 6 months ago custom-list.php 6 months ago divider.php 6 months ago gallery.php 6 months ago gmap.php 2 days ago heading-modern.php 5 months ago icon.php 6 months ago image.php 6 months ago mailchimp.php 6 months ago modern-button.php 6 months ago products-grid.php 6 months ago quote.php 6 months ago recent-comments.php 6 months ago recent-posts-grid-carousel.php 1 month ago recent-posts-land-style.php 6 months ago recent-posts-masonry.php 6 months ago recent-posts-tiles-carousel.php 6 months ago recent-posts-tiles.php 6 months ago recent-posts-timeline.php 6 months ago recent-products.php 6 months ago responsive-table.php 6 months ago search.php 6 months ago staff.php 6 months ago svg.php 6 months ago tabs.php 6 months ago testimonial.php 6 months ago text.php 6 months ago touch-slider.php 6 months ago video.php 6 months ago
contact-form.php
1796 lines
1 <?php
2 namespace Auxin\Plugin\CoreElements\Elementor\Elements;
3
4 use Elementor\Plugin;
5 use Elementor\Widget_Base;
6 use Elementor\Controls_Manager;
7 use Elementor\Group_Control_Typography;
8 use Elementor\Group_Control_Background;
9 use Elementor\Group_Control_Box_Shadow;
10 use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
11 use Elementor\Group_Control_Border;
12
13
14 if ( ! defined( 'ABSPATH' ) ) {
15 exit; // Exit if accessed directly.
16 }
17
18 /**
19 * Elementor 'Contact_Form' widget.
20 *
21 * Elementor widget that displays an 'Contact_Form' with lightbox.
22 *
23 * @since 1.0.0
24 */
25 class ContactForm extends Widget_Base {
26
27 /**
28 * Get widget name.
29 *
30 * Retrieve 'Contact_Form' widget name.
31 *
32 * @since 1.0.0
33 * @access public
34 *
35 * @return string Widget name.
36 */
37 public function get_name() {
38 return 'aux_contact_form';
39 }
40
41 /**
42 * Get widget title.
43 *
44 * Retrieve 'Contact_Form' widget title.
45 *
46 * @since 1.0.0
47 * @access public
48 *
49 * @return string Widget title.
50 */
51 public function get_title() {
52 return __('Contact Form', 'auxin-elements' );
53 }
54
55 public function has_widget_inner_wrapper(): bool {
56 return ! \Elementor\Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' );
57 }
58
59
60 /**
61 * Get widget icon.
62 *
63 * Retrieve 'Contact_Form' widget icon.
64 *
65 * @since 1.0.0
66 * @access public
67 *
68 * @return string Widget icon.
69 */
70 public function get_icon() {
71 return 'eicon-form-horizontal auxin-badge';
72 }
73
74 /**
75 * Get widget categories.
76 *
77 * Retrieve 'Contact_Form' widget icon.
78 *
79 * @since 1.0.0
80 * @access public
81 *
82 * @return string Widget icon.
83 */
84 public function get_categories() {
85 return ['auxin-core'];
86 }
87
88 /**
89 * Register 'Contact_Form' widget controls.
90 *
91 * Adds different input fields to allow the user to change and customize the widget settings.
92 *
93 * @since 1.0.0
94 * @access protected
95 */
96 protected function register_controls() {
97
98 /*-----------------------------------------------------------------------------------*/
99 /* contact_section
100 /*-----------------------------------------------------------------------------------*/
101
102 $this->start_controls_section(
103 'contact_section',
104 array(
105 'label' => __('Contact', 'auxin-elements' ),
106 )
107 );
108
109 $this->add_control(
110 'type',
111 array(
112 'label' => __('Contact form Type','auxin-elements' ),
113 'description' => __('Specifies contact form element\'s type. Whether to use built-in form or Contact Form 7.', 'auxin-elements' ),
114 'label_block' => true,
115 'type' => Controls_Manager::SELECT,
116 'default' => 'phlox',
117 'options' => array(
118 'phlox' => __('Phlox Contact Form', 'auxin-elements' ),
119 'cf7' => __('Contact Form 7 Shortcode', 'auxin-elements' ),
120 )
121 )
122 );
123
124 $this->add_control(
125 'cf7_shortcode',
126 array(
127 'label' => __('Shortcode','auxin-elements' ),
128 'description' => __('Put a Contact Form 7 shortcode that you have already created.','auxin-elements' ),
129 'type' => Controls_Manager::TEXT,
130 'label_block' => true,
131 'separator' => 'before',
132 'condition' => [
133 'type' => ['cf7']
134 ],
135 )
136 );
137
138 $this->add_control(
139 'email',
140 array(
141 'label' => __('Email','auxin-elements' ),
142 'description' => __('Email address of message\'s recipient', 'auxin-elements' ),
143 'type' => Controls_Manager::TEXT,
144 'label_block' => true,
145 'input_type' => 'email',
146 'separator' => 'before',
147 'condition' => [
148 'type' => ['phlox']
149 ]
150 )
151 );
152
153 $this->end_controls_section();
154
155 /*-----------------------------------------------------------------------------------*/
156 /* Style TAB
157 /*-----------------------------------------------------------------------------------*/
158
159 /* -------------------------------------------------------------------------- */
160 /* General inputs
161 /* -------------------------------------------------------------------------- */
162
163 $this->start_controls_section(
164 'general_input_section',
165 [
166 'label' => __('All Inputs', 'auxin-elements' ),
167 'tab' => Controls_Manager::TAB_STYLE,
168 ]
169 );
170
171 $this->add_group_control(
172 Group_Control_Typography::get_type(),
173 [
174 'name' => 'general_input_typography',
175 'label' => __( 'Typography', 'auxin-elements' ),
176 'global' => [
177 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
178 ],
179 'selector' => '{{WRAPPER}} input:not([type="submit"])'
180 ]
181 );
182
183 $this->add_control(
184 'general_input_color',
185 [
186 'label' => __( 'Color', 'auxin-elements' ),
187 'type' => Controls_Manager::COLOR,
188 'selectors' => [
189 '{{WRAPPER}} input:not([type="submit"])' => 'color: {{VALUE}};'
190 ]
191 ]
192 );
193
194 $this->add_responsive_control(
195 'general_input_width',
196 [
197 'label' => __( 'Width', 'auxin-elements' ),
198 'size_units' => [ 'px','em', '%'],
199 'type' => Controls_Manager::SLIDER,
200 'range' => [
201 'px' => [
202 'min' => 0,
203 'max' => 1000,
204 'step' => 5,
205 ],
206 '%' => [
207 'min' => 0,
208 'max' => 100,
209 ],
210 'em' => [
211 'min' => 0,
212 'max' => 100,
213 ],
214 ],
215 'selectors' => [
216 '{{WRAPPER}} input:not([type="submit"])' => 'width: {{SIZE}}{{UNIT}};'
217 ]
218 ]
219 );
220
221 $this->add_responsive_control(
222 'general_input_max_width',
223 [
224 'label' => __( 'Max Width', 'auxin-elements' ),
225 'size_units' => [ 'px','em', '%'],
226 'type' => Controls_Manager::SLIDER,
227 'range' => [
228 'px' => [
229 'min' => 0,
230 'max' => 1000,
231 'step' => 5
232 ],
233 '%' => [
234 'min' => 0,
235 'max' => 100
236 ],
237 'em' => [
238 'min' => 0,
239 'max' => 100
240 ]
241 ],
242 'selectors' => [
243 '{{WRAPPER}} input:not([type="submit"])' => 'max-width: {{SIZE}}{{UNIT}};'
244 ]
245 ]
246 );
247
248 $this->add_responsive_control(
249 'general_input_height',
250 [
251 'label' => __( 'Height', 'auxin-elements' ),
252 'size_units' => [ 'px', 'em'],
253 'type' => Controls_Manager::SLIDER,
254 'range' => [
255 'px' => [
256 'min' => 0,
257 'max' => 1000,
258 'step' => 5
259 ],
260 '%' => [
261 'min' => 0,
262 'max' => 100
263 ],
264 'em' => [
265 'min' => 0,
266 'max' => 100
267 ]
268 ],
269 'selectors' => [
270 '{{WRAPPER}} input:not([type="submit"])' => 'height: {{SIZE}}{{UNIT}};'
271 ],
272 'separator' => 'after'
273 ]
274 );
275
276
277 $this->add_responsive_control(
278 'general_input_border_radius',
279 [
280 'label' => __( 'Border Radius', 'auxin-elements' ),
281 'type' => Controls_Manager::DIMENSIONS,
282 'size_units' => [ 'px', '%' ],
283 'selectors' => [
284 '{{WRAPPER}} input:not([type="submit"])' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
285 ],
286 ]
287 );
288
289 $this->add_responsive_control(
290 'general_input_padding',
291 [
292 'label' => __( 'Padding', 'auxin-elements' ),
293 'type' => Controls_Manager::DIMENSIONS,
294 'size_units' => [ 'px', '%', 'em' ],
295 'selectors' => [
296 '{{WRAPPER}} input:not([type="submit"])' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
297 ],
298 'separator' => 'after'
299 ]
300 );
301
302 $this->add_responsive_control(
303 'general_input_margin',
304 [
305 'label' => __( 'Margin', 'auxin-elements' ),
306 'type' => Controls_Manager::DIMENSIONS,
307 'size_units' => [ 'px', '%', 'em' ],
308 'selectors' => [
309 '{{WRAPPER}} input:not([type="submit"])' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
310 ],
311 'separator' => 'after'
312 ]
313 );
314
315 // Background and Box Shadow for input - START
316 $this->start_controls_tabs( 'general_input_tabs' );
317
318 $this->start_controls_tab(
319 'general_input_tab_normal_state',
320 [
321 'label' => __( 'Normal', 'auxin-elements' ),
322 ]
323 );
324
325 $this->add_group_control(
326 Group_Control_Background::get_type(),
327 [
328 'name' => 'general_input_background',
329 'selector' => '{{WRAPPER}} input:not([type="submit"])',
330 'types' => [ 'classic', 'gradient']
331 ]
332 );
333
334 $this->add_group_control(
335 Group_Control_Box_Shadow::get_type(),
336 [
337 'name' => 'general_input_box_shadow',
338 'selector' => '{{WRAPPER}} input:not([type="submit"])'
339 ]
340 );
341
342 $this->add_group_control(
343 Group_Control_Border::get_type(),
344 [
345 'name' => 'general_input_border',
346 'selector' => '{{WRAPPER}} input:not([type="submit"])'
347 ]
348 );
349
350 $this->end_controls_tab();
351
352 $this->start_controls_tab(
353 'general_input_tab_hover_state',
354 [
355 'label' => __( 'Hover', 'auxin-elements' ),
356 ]
357 );
358
359 $this->add_group_control(
360 Group_Control_Background::get_type(),
361 [
362 'name' => 'general_input_background_hover',
363 'selector' => '{{WRAPPER}} input:not([type="submit"]):hover',
364 'types' => [ 'classic', 'gradient']
365 ]
366 );
367
368 $this->add_group_control(
369 Group_Control_Box_Shadow::get_type(),
370 [
371 'name' => 'general_input_box_shadow_hover',
372 'selector' => '{{WRAPPER}} input:not([type="submit"]):hover'
373 ]
374 );
375
376 $this->add_group_control(
377 Group_Control_Border::get_type(),
378 [
379 'name' => 'general_input_border_hover',
380 'selector' => '{{WRAPPER}} input:not([type="submit"]):hover'
381 ]
382 );
383
384 $this->add_control(
385 'general_input_transition',
386 [
387 'label' => __( 'Transition Duration', 'auxin-elements' ),
388 'type' => Controls_Manager::SLIDER,
389 'default' => [
390 'size' => 0.3,
391 ],
392 'range' => [
393 'px' => [
394 'max' => 3,
395 'step' => 0.1,
396 ],
397 ],
398 'render_type' => 'ui',
399 'selectors' => [
400 '{{WRAPPER}} input:not([type="submit"])' => "transition:all ease-out {{SIZE}}s;"
401 ]
402 ]
403 );
404
405 $this->end_controls_tab();
406
407 $this->start_controls_tab(
408 'general_input_tab_focus_state',
409 [
410 'label' => __( 'Focus', 'auxin-elements' ),
411 ]
412 );
413
414 $this->add_group_control(
415 Group_Control_Background::get_type(),
416 [
417 'name' => 'general_input_background_focus',
418 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus',
419 'types' => [ 'classic', 'gradient']
420 ]
421 );
422
423 $this->add_group_control(
424 Group_Control_Box_Shadow::get_type(),
425 [
426 'name' => 'general_input_box_shadow_focus',
427 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus'
428 ]
429 );
430
431 $this->add_group_control(
432 Group_Control_Border::get_type(),
433 [
434 'name' => 'general_input_border_focus',
435 'selector' => '{{WRAPPER}} input:not([type="submit"]):focus'
436 ]
437 );
438
439 $this->end_controls_tab();
440
441 $this->end_controls_tabs();
442 // Background and Box Shadow for input - END
443
444 $this->end_controls_section();
445
446
447 /* -------------------------------------------------------------------------- */
448 /* Placeholder Style
449 /* -------------------------------------------------------------------------- */
450 $this->start_controls_section(
451 'placeholder_section',
452 [
453 'label' => __('Input Placeholder', 'auxin-elements' ),
454 'tab' => Controls_Manager::TAB_STYLE
455 ]
456 );
457
458 $this->add_group_control(
459 Group_Control_Typography::get_type(),
460 [
461 'name' => 'placeholder_typography',
462 'label' => __( 'Typography', 'auxin-elements' ),
463 'global' => [
464 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
465 ],
466 'selector' => '{{WRAPPER}} input:not([type="submit"])::placeholder'
467 ]
468 );
469
470 $this->add_control(
471 'placeholder_color',
472 [
473 'label' => __( 'Color', 'auxin-elements' ),
474 'type' => Controls_Manager::COLOR,
475 'selectors' => [
476 '{{WRAPPER}} input:not([type="submit"])::placeholder' => 'color: {{VALUE}};'
477 ]
478 ]
479 );
480
481 $this->end_controls_section();
482
483 /* -------------------------------------------------------------------------- */
484 /* Text Input Style
485 /* -------------------------------------------------------------------------- */
486
487 $this->start_controls_section(
488 'text_input_section',
489 [
490 'label' => __('Text Inputs', 'auxin-elements' ),
491 'tab' => Controls_Manager::TAB_STYLE,
492 ]
493 );
494
495 $this->add_control(
496 'text_input_color',
497 [
498 'label' => __( 'Color', 'auxin-elements' ),
499 'type' => Controls_Manager::COLOR,
500 'selectors' => [
501 '{{WRAPPER}} input[type="text"]' => 'color: {{VALUE}};'
502 ]
503 ]
504 );
505
506 $this->add_responsive_control(
507 'text_input_width',
508 [
509 'label' => __( 'Width', 'auxin-elements' ),
510 'size_units' => [ 'px','em', '%'],
511 'type' => Controls_Manager::SLIDER,
512 'range' => [
513 'px' => [
514 'min' => 0,
515 'max' => 1000,
516 'step' => 5,
517 ],
518 '%' => [
519 'min' => 0,
520 'max' => 100,
521 ],
522 'em' => [
523 'min' => 0,
524 'max' => 100,
525 ],
526 ],
527 'selectors' => [
528 '{{WRAPPER}} input[type="text"]' => 'width: {{SIZE}}{{UNIT}};',
529 ],
530 ]
531 );
532
533 $this->add_responsive_control(
534 'text_input_max_width',
535 [
536 'label' => __( 'Max Width', 'auxin-elements' ),
537 'size_units' => [ 'px','em', '%'],
538 'type' => Controls_Manager::SLIDER,
539 'range' => [
540 'px' => [
541 'min' => 0,
542 'max' => 1000,
543 'step' => 5
544 ],
545 '%' => [
546 'min' => 0,
547 'max' => 100
548 ],
549 'em' => [
550 'min' => 0,
551 'max' => 100
552 ]
553 ],
554 'selectors' => [
555 '{{WRAPPER}} input[type="text"]' => 'max-width: {{SIZE}}{{UNIT}};',
556 ]
557 ]
558 );
559
560 $this->add_responsive_control(
561 'text_input_height',
562 [
563 'label' => __( 'Height', 'auxin-elements' ),
564 'size_units' => [ 'px', 'em'],
565 'type' => Controls_Manager::SLIDER,
566 'range' => [
567 'px' => [
568 'min' => 0,
569 'max' => 1000,
570 'step' => 5
571 ],
572 '%' => [
573 'min' => 0,
574 'max' => 100
575 ],
576 'em' => [
577 'min' => 0,
578 'max' => 100
579 ]
580 ],
581 'selectors' => [
582 '{{WRAPPER}} input[type="text"]' => 'height: {{SIZE}}{{UNIT}};',
583 ],
584 'separator' => 'after'
585 ]
586 );
587
588
589 $this->add_group_control(
590 Group_Control_Border::get_type(),
591 [
592 'name' => 'text_input_border',
593 'selector' => '{{WRAPPER}} input[type="text"]'
594 ]
595 );
596
597 $this->add_responsive_control(
598 'text_input_border_radius',
599 [
600 'label' => __( 'Border Radius', 'auxin-elements' ),
601 'type' => Controls_Manager::DIMENSIONS,
602 'size_units' => [ 'px', '%' ],
603 'selectors' => [
604 '{{WRAPPER}} input[type="text"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
605 ],
606 ]
607 );
608
609 $this->add_responsive_control(
610 'text_input_padding',
611 [
612 'label' => __( 'Padding', 'auxin-elements' ),
613 'type' => Controls_Manager::DIMENSIONS,
614 'size_units' => [ 'px', '%', 'em' ],
615 'selectors' => [
616 '{{WRAPPER}} input[type="text"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
617 ],
618 'separator' => 'after'
619 ]
620 );
621
622 // Background and Box Shadow for input - START
623 $this->start_controls_tabs( 'text_input_tabs' );
624
625 $this->start_controls_tab(
626 'text_input_tab_normal_state',
627 [
628 'label' => __( 'Normal', 'auxin-elements' ),
629 ]
630 );
631
632 $this->add_group_control(
633 Group_Control_Background::get_type(),
634 [
635 'name' => 'text_input_background',
636 'selector' => '{{WRAPPER}} input[type="text"]',
637 'types' => [ 'classic', 'gradient']
638 ]
639 );
640
641 $this->add_group_control(
642 Group_Control_Box_Shadow::get_type(),
643 [
644 'name' => 'text_input_box_shadow',
645 'selector' => '{{WRAPPER}} input[type="text"]'
646 ]
647 );
648
649 $this->end_controls_tab();
650
651 $this->start_controls_tab(
652 'text_input_tab_hover_state',
653 [
654 'label' => __( 'Hover', 'auxin-elements' ),
655 ]
656 );
657
658 $this->add_group_control(
659 Group_Control_Background::get_type(),
660 [
661 'name' => 'text_input_background_hover',
662 'selector' => '{{WRAPPER}} input[type="text"]:hover',
663 'types' => [ 'classic', 'gradient']
664 ]
665 );
666
667 $this->add_group_control(
668 Group_Control_Box_Shadow::get_type(),
669 [
670 'name' => 'text_input_box_shadow_hover',
671 'selector' => '{{WRAPPER}} input[type="text"]:hover'
672 ]
673 );
674
675 $this->add_control(
676 'text_input_transition',
677 [
678 'label' => __( 'Transition Duration', 'auxin-elements' ),
679 'type' => Controls_Manager::SLIDER,
680 'default' => [
681 'size' => 0.3,
682 ],
683 'range' => [
684 'px' => [
685 'max' => 3,
686 'step' => 0.1,
687 ],
688 ],
689 'render_type' => 'ui',
690 'selectors' => [
691 '{{WRAPPER}} input[type="text"]' => "transition:all ease-out {{SIZE}}s;"
692 ]
693 ]
694 );
695
696 $this->end_controls_tab();
697
698 $this->end_controls_tabs();
699 // Background and Box Shadow for input - END
700
701 $this->end_controls_section();
702
703 /* -------------------------------------------------------------------------- */
704 /* Email Input Style
705 /* -------------------------------------------------------------------------- */
706
707 $this->start_controls_section(
708 'email_input_section',
709 [
710 'label' => __('Email Inputs', 'auxin-elements' ),
711 'tab' => Controls_Manager::TAB_STYLE
712 ]
713 );
714
715 $this->add_control(
716 'email_input_color',
717 [
718 'label' => __( 'Color', 'auxin-elements' ),
719 'type' => Controls_Manager::COLOR,
720 'selectors' => [
721 '{{WRAPPER}} input[type="email"]' => 'color: {{VALUE}};'
722 ]
723 ]
724 );
725
726 $this->add_responsive_control(
727 'email_input_width',
728 [
729 'label' => __( 'Width', 'auxin-elements' ),
730 'size_units' => [ 'px','em', '%'],
731 'type' => Controls_Manager::SLIDER,
732 'range' => [
733 'px' => [
734 'min' => 0,
735 'max' => 1000,
736 'step' => 5,
737 ],
738 '%' => [
739 'min' => 0,
740 'max' => 100,
741 ],
742 'em' => [
743 'min' => 0,
744 'max' => 100,
745 ],
746 ],
747 'selectors' => [
748 '{{WRAPPER}} input[type="email"]' => 'width: {{SIZE}}{{UNIT}};'
749 ],
750 ]
751 );
752
753 $this->add_responsive_control(
754 'email_input_max_width',
755 [
756 'label' => __( 'Max Width', 'auxin-elements' ),
757 'size_units' => [ 'px','em', '%'],
758 'type' => Controls_Manager::SLIDER,
759 'range' => [
760 'px' => [
761 'min' => 0,
762 'max' => 1000,
763 'step' => 5
764 ],
765 '%' => [
766 'min' => 0,
767 'max' => 100
768 ],
769 'em' => [
770 'min' => 0,
771 'max' => 100
772 ]
773 ],
774 'selectors' => [
775 '{{WRAPPER}} input[type="email"]' => 'max-width: {{SIZE}}{{UNIT}};'
776 ]
777 ]
778 );
779
780 $this->add_responsive_control(
781 'email_input_height',
782 [
783 'label' => __( 'Height', 'auxin-elements' ),
784 'size_units' => [ 'px', 'em'],
785 'type' => Controls_Manager::SLIDER,
786 'range' => [
787 'px' => [
788 'min' => 0,
789 'max' => 1000,
790 'step' => 5
791 ],
792 '%' => [
793 'min' => 0,
794 'max' => 100
795 ],
796 'em' => [
797 'min' => 0,
798 'max' => 100
799 ]
800 ],
801 'selectors' => [
802 '{{WRAPPER}} input[type="email"]' => 'height: {{SIZE}}{{UNIT}};'
803 ],
804 'separator' => 'after'
805 ]
806 );
807
808
809 $this->add_group_control(
810 Group_Control_Border::get_type(),
811 [
812 'name' => 'email_input_border',
813 'selector' => '{{WRAPPER}} input[type="email"]'
814 ]
815 );
816
817 $this->add_responsive_control(
818 'email_input_border_radius',
819 [
820 'label' => __( 'Border Radius', 'auxin-elements' ),
821 'type' => Controls_Manager::DIMENSIONS,
822 'size_units' => [ 'px', '%' ],
823 'selectors' => [
824 '{{WRAPPER}} input[type="email"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
825 ],
826 ]
827 );
828
829 $this->add_responsive_control(
830 'email_input_padding',
831 [
832 'label' => __( 'Padding', 'auxin-elements' ),
833 'type' => Controls_Manager::DIMENSIONS,
834 'size_units' => [ 'px', '%', 'em' ],
835 'selectors' => [
836 '{{WRAPPER}} input[type="email"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
837 ],
838 'separator' => 'after'
839 ]
840 );
841
842 // Background and Box Shadow for input - START
843 $this->start_controls_tabs( 'email_input_tabs' );
844
845 $this->start_controls_tab(
846 'email_input_tab_normal_state',
847 [
848 'label' => __( 'Normal', 'auxin-elements' ),
849 ]
850 );
851
852 $this->add_group_control(
853 Group_Control_Background::get_type(),
854 [
855 'name' => 'email_input_background',
856 'selector' => '{{WRAPPER}} input[type="email"]',
857 'types' => [ 'classic', 'gradient']
858 ]
859 );
860
861 $this->add_group_control(
862 Group_Control_Box_Shadow::get_type(),
863 [
864 'name' => 'email_input_box_shadow',
865 'selector' => '{{WRAPPER}} input[type="email"]'
866 ]
867 );
868
869 $this->end_controls_tab();
870
871 $this->start_controls_tab(
872 'email_input_tab_hover_state',
873 [
874 'label' => __( 'Hover', 'auxin-elements' ),
875 ]
876 );
877
878 $this->add_group_control(
879 Group_Control_Background::get_type(),
880 [
881 'name' => 'email_input_background_hover',
882 'selector' => '{{WRAPPER}} input[type="email"]:hover',
883 'types' => [ 'classic', 'gradient']
884 ]
885 );
886
887 $this->add_group_control(
888 Group_Control_Box_Shadow::get_type(),
889 [
890 'name' => 'email_input_box_shadow_hover',
891 'selector' => '{{WRAPPER}} input[type="email"]:hover'
892 ]
893 );
894
895 $this->add_control(
896 'email_input_transition',
897 [
898 'label' => __( 'Transition Duration', 'auxin-elements' ),
899 'type' => Controls_Manager::SLIDER,
900 'default' => [
901 'size' => 0.3,
902 ],
903 'range' => [
904 'px' => [
905 'max' => 3,
906 'step' => 0.1,
907 ],
908 ],
909 'render_type' => 'ui',
910 'selectors' => [
911 '{{WRAPPER}} input[type="email"]' => "transition:all ease-out {{SIZE}}s;"
912 ]
913 ]
914 );
915
916 $this->end_controls_tab();
917
918 $this->end_controls_tabs();
919
920 $this->end_controls_section();
921
922 /* -------------------------------------------------------------------------- */
923 /* Dropdown Style
924 /* -------------------------------------------------------------------------- */
925
926 $this->start_controls_section(
927 'dropdown_section',
928 [
929 'label' => __('Dropdown', 'auxin-elements' ),
930 'tab' => Controls_Manager::TAB_STYLE,
931 ]
932 );
933
934 $this->add_group_control(
935 Group_Control_Typography::get_type(),
936 [
937 'name' => 'dropdown_typography',
938 'label' => __( 'Typography', 'auxin-elements' ),
939 'global' => [
940 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
941 ],
942 'selector' => '{{WRAPPER}} select',
943 ]
944 );
945
946 $this->add_control(
947 'dropdown_color',
948 [
949 'label' => __( 'Color', 'auxin-elements' ),
950 'type' => Controls_Manager::COLOR,
951 'selectors' => [
952 '{{WRAPPER}} select' => 'color: {{VALUE}};',
953 ]
954 ]
955 );
956
957 $this->add_responsive_control(
958 'dropdown_width',
959 [
960 'label' => __( 'Width', 'auxin-elements' ),
961 'size_units' => [ 'px','em', '%'],
962 'type' => Controls_Manager::SLIDER,
963 'range' => [
964 'px' => [
965 'min' => 0,
966 'max' => 1000,
967 'step' => 5,
968 ],
969 '%' => [
970 'min' => 0,
971 'max' => 100,
972 ],
973 'em' => [
974 'min' => 0,
975 'max' => 100,
976 ],
977 ],
978 'selectors' => [
979 '{{WRAPPER}} select' => 'width: {{SIZE}}{{UNIT}};',
980 ],
981 ]
982 );
983
984 $this->add_responsive_control(
985 'dropdown_max_width',
986 [
987 'label' => __( 'Max Width', 'auxin-elements' ),
988 'size_units' => [ 'px','em', '%'],
989 'type' => Controls_Manager::SLIDER,
990 'range' => [
991 'px' => [
992 'min' => 0,
993 'max' => 1000,
994 'step' => 5
995 ],
996 '%' => [
997 'min' => 0,
998 'max' => 100
999 ],
1000 'em' => [
1001 'min' => 0,
1002 'max' => 100
1003 ]
1004 ],
1005 'selectors' => [
1006 '{{WRAPPER}} select' => 'max-width: {{SIZE}}{{UNIT}};',
1007 ]
1008 ]
1009 );
1010
1011 $this->add_responsive_control(
1012 'dropdown_height',
1013 [
1014 'label' => __( 'Height', 'auxin-elements' ),
1015 'size_units' => [ 'px', 'em'],
1016 'type' => Controls_Manager::SLIDER,
1017 'range' => [
1018 'px' => [
1019 'min' => 0,
1020 'max' => 1000,
1021 'step' => 5
1022 ],
1023 '%' => [
1024 'min' => 0,
1025 'max' => 100
1026 ],
1027 'em' => [
1028 'min' => 0,
1029 'max' => 100
1030 ]
1031 ],
1032 'selectors' => [
1033 '{{WRAPPER}} select' => 'height: {{SIZE}}{{UNIT}};',
1034 ],
1035 'separator' => 'after'
1036 ]
1037 );
1038
1039
1040 $this->add_group_control(
1041 Group_Control_Border::get_type(),
1042 [
1043 'name' => 'dropdown_border',
1044 'selector' => '{{WRAPPER}} select'
1045 ]
1046 );
1047
1048 $this->add_responsive_control(
1049 'dropdown_border_radius',
1050 [
1051 'label' => __( 'Border Radius', 'auxin-elements' ),
1052 'type' => Controls_Manager::DIMENSIONS,
1053 'size_units' => [ 'px', '%' ],
1054 'selectors' => [
1055 '{{WRAPPER}} select' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1056 ],
1057 ]
1058 );
1059
1060 $this->add_responsive_control(
1061 'dropdown_padding',
1062 [
1063 'label' => __( 'Padding', 'auxin-elements' ),
1064 'type' => Controls_Manager::DIMENSIONS,
1065 'size_units' => [ 'px', '%', 'em' ],
1066 'selectors' => [
1067 '{{WRAPPER}} select' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1068 ],
1069 'separator' => 'after'
1070 ]
1071 );
1072
1073 $this->add_responsive_control(
1074 'dropdown_margin',
1075 [
1076 'label' => __( 'Margin', 'auxin-elements' ),
1077 'type' => Controls_Manager::DIMENSIONS,
1078 'size_units' => [ 'px', '%', 'em' ],
1079 'selectors' => [
1080 '{{WRAPPER}} select' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1081 ],
1082 'separator' => 'after'
1083 ]
1084 );
1085
1086 // Background and Box Shadow for input - START
1087 $this->start_controls_tabs( 'dropdown_input_tabs' );
1088
1089 $this->start_controls_tab(
1090 'dropdown_tab_normal_state',
1091 [
1092 'label' => __( 'Normal', 'auxin-elements' ),
1093 ]
1094 );
1095
1096 $this->add_group_control(
1097 Group_Control_Background::get_type(),
1098 [
1099 'name' => 'dropdown_background',
1100 'selector' => '{{WRAPPER}} select',
1101 'types' => [ 'classic', 'gradient']
1102 ]
1103 );
1104
1105 $this->add_group_control(
1106 Group_Control_Box_Shadow::get_type(),
1107 [
1108 'name' => 'dropdown_box_shadow',
1109 'selector' => '{{WRAPPER}} select'
1110 ]
1111 );
1112
1113 $this->end_controls_tab();
1114
1115 $this->start_controls_tab(
1116 'dropdown_tab_hover_state',
1117 [
1118 'label' => __( 'Hover', 'auxin-elements' ),
1119 ]
1120 );
1121
1122 $this->add_group_control(
1123 Group_Control_Background::get_type(),
1124 [
1125 'name' => 'dropdown_background_hover',
1126 'selector' => '{{WRAPPER}} select:hover',
1127 'types' => [ 'classic', 'gradient']
1128 ]
1129 );
1130
1131 $this->add_group_control(
1132 Group_Control_Box_Shadow::get_type(),
1133 [
1134 'name' => 'dropdown_box_shadow_hover',
1135 'selector' => '{{WRAPPER}} select:hover'
1136 ]
1137 );
1138
1139 $this->add_control(
1140 'dropdown_transition',
1141 [
1142 'label' => __( 'Transition Duration', 'auxin-elements' ),
1143 'type' => Controls_Manager::SLIDER,
1144 'default' => [
1145 'size' => 0.3,
1146 ],
1147 'range' => [
1148 'px' => [
1149 'max' => 3,
1150 'step' => 0.1,
1151 ],
1152 ],
1153 'render_type' => 'ui',
1154 'selectors' => [
1155 '{{WRAPPER}} select' => "transition:all ease-out {{SIZE}}s;"
1156 ]
1157 ]
1158 );
1159
1160 $this->end_controls_tab();
1161
1162 $this->end_controls_tabs();
1163 // Background and Box Shadow for input - END
1164
1165 $this->end_controls_section();
1166
1167 /* -------------------------------------------------------------------------- */
1168 /* Textarea Style
1169 /* -------------------------------------------------------------------------- */
1170
1171 $this->start_controls_section(
1172 'textarea_section',
1173 [
1174 'label' => __('Textarea', 'auxin-elements' ),
1175 'tab' => Controls_Manager::TAB_STYLE,
1176 ]
1177 );
1178
1179 $this->add_group_control(
1180 Group_Control_Typography::get_type(),
1181 [
1182 'name' => 'textarea_typography',
1183 'label' => __( 'Typography', 'auxin-elements' ),
1184 'global' => [
1185 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1186 ],
1187 'selector' => '{{WRAPPER}} textarea',
1188 ]
1189 );
1190
1191 $this->add_control(
1192 'textarea_color',
1193 [
1194 'label' => __( 'Color', 'auxin-elements' ),
1195 'type' => Controls_Manager::COLOR,
1196 'selectors' => [
1197 '{{WRAPPER}} textarea' => 'color: {{VALUE}};',
1198 ]
1199 ]
1200 );
1201
1202 $this->add_responsive_control(
1203 'textarea_width',
1204 [
1205 'label' => __( 'Width', 'auxin-elements' ),
1206 'size_units' => [ 'px','em', '%'],
1207 'type' => Controls_Manager::SLIDER,
1208 'range' => [
1209 'px' => [
1210 'min' => 0,
1211 'max' => 1000,
1212 'step' => 5,
1213 ],
1214 '%' => [
1215 'min' => 0,
1216 'max' => 100,
1217 ],
1218 'em' => [
1219 'min' => 0,
1220 'max' => 100,
1221 ],
1222 ],
1223 'selectors' => [
1224 '{{WRAPPER}} textarea' => 'width: {{SIZE}}{{UNIT}};',
1225 ],
1226 ]
1227 );
1228
1229 $this->add_responsive_control(
1230 'textarea_max_width',
1231 [
1232 'label' => __( 'Max Width', 'auxin-elements' ),
1233 'size_units' => [ 'px','em', '%'],
1234 'type' => Controls_Manager::SLIDER,
1235 'range' => [
1236 'px' => [
1237 'min' => 0,
1238 'max' => 1000,
1239 'step' => 5
1240 ],
1241 '%' => [
1242 'min' => 0,
1243 'max' => 100
1244 ],
1245 'em' => [
1246 'min' => 0,
1247 'max' => 100
1248 ]
1249 ],
1250 'selectors' => [
1251 '{{WRAPPER}} textarea' => 'max-width: {{SIZE}}{{UNIT}};',
1252 ]
1253 ]
1254 );
1255
1256 $this->add_responsive_control(
1257 'textarea_height',
1258 [
1259 'label' => __( 'Height', 'auxin-elements' ),
1260 'size_units' => [ 'px', 'em'],
1261 'type' => Controls_Manager::SLIDER,
1262 'range' => [
1263 'px' => [
1264 'min' => 0,
1265 'max' => 1000,
1266 'step' => 5
1267 ],
1268 '%' => [
1269 'min' => 0,
1270 'max' => 100
1271 ],
1272 'em' => [
1273 'min' => 0,
1274 'max' => 100
1275 ]
1276 ],
1277 'selectors' => [
1278 '{{WRAPPER}} textarea' => 'height: {{SIZE}}{{UNIT}};',
1279 ],
1280 'separator' => 'after'
1281 ]
1282 );
1283
1284 $this->add_responsive_control(
1285 'textarea_border_radius',
1286 [
1287 'label' => __( 'Border Radius', 'auxin-elements' ),
1288 'type' => Controls_Manager::DIMENSIONS,
1289 'size_units' => [ 'px', '%' ],
1290 'selectors' => [
1291 '{{WRAPPER}} textarea' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1292 ],
1293 ]
1294 );
1295
1296 $this->add_responsive_control(
1297 'textarea_padding',
1298 [
1299 'label' => __( 'Padding', 'auxin-elements' ),
1300 'type' => Controls_Manager::DIMENSIONS,
1301 'size_units' => [ 'px', '%', 'em' ],
1302 'selectors' => [
1303 '{{WRAPPER}} textarea' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1304 ],
1305 'separator' => 'after'
1306 ]
1307 );
1308
1309 $this->add_responsive_control(
1310 'textarea_margin',
1311 [
1312 'label' => __( 'Margin', 'auxin-elements' ),
1313 'type' => Controls_Manager::DIMENSIONS,
1314 'size_units' => [ 'px', '%', 'em' ],
1315 'selectors' => [
1316 '{{WRAPPER}} textarea' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1317 ],
1318 'separator' => 'after'
1319 ]
1320 );
1321
1322 // Background and Box Shadow for input - START
1323 $this->start_controls_tabs( 'textarea_tabs' );
1324
1325 $this->start_controls_tab(
1326 'textarea_tab_normal_state',
1327 [
1328 'label' => __( 'Normal', 'auxin-elements' ),
1329 ]
1330 );
1331
1332 $this->add_group_control(
1333 Group_Control_Background::get_type(),
1334 [
1335 'name' => 'textarea_background',
1336 'selector' => '{{WRAPPER}} textarea',
1337 'types' => [ 'classic', 'gradient']
1338 ]
1339 );
1340
1341 $this->add_group_control(
1342 Group_Control_Box_Shadow::get_type(),
1343 [
1344 'name' => 'textarea_box_shadow',
1345 'selector' => '{{WRAPPER}} textarea'
1346 ]
1347 );
1348
1349 $this->add_group_control(
1350 Group_Control_Border::get_type(),
1351 [
1352 'name' => 'textarea_border',
1353 'selector' => '{{WRAPPER}} textarea'
1354 ]
1355 );
1356
1357 $this->end_controls_tab();
1358
1359 $this->start_controls_tab(
1360 'textarea_tab_hover_state',
1361 [
1362 'label' => __( 'Hover', 'auxin-elements' ),
1363 ]
1364 );
1365
1366 $this->add_group_control(
1367 Group_Control_Background::get_type(),
1368 [
1369 'name' => 'textarea_background_hover',
1370 'selector' => '{{WRAPPER}} textarea:hover',
1371 'types' => [ 'classic', 'gradient']
1372 ]
1373 );
1374
1375 $this->add_group_control(
1376 Group_Control_Box_Shadow::get_type(),
1377 [
1378 'name' => 'textarea_box_shadow_hover',
1379 'selector' => '{{WRAPPER}} textarea:hover'
1380 ]
1381 );
1382
1383 $this->add_group_control(
1384 Group_Control_Border::get_type(),
1385 [
1386 'name' => 'textarea_border_hover',
1387 'selector' => '{{WRAPPER}} textarea:hover'
1388 ]
1389 );
1390
1391 $this->add_control(
1392 'textarea_transition',
1393 [
1394 'label' => __( 'Transition Duration', 'auxin-elements' ),
1395 'type' => Controls_Manager::SLIDER,
1396 'default' => [
1397 'size' => 0.3,
1398 ],
1399 'range' => [
1400 'px' => [
1401 'max' => 3,
1402 'step' => 0.1,
1403 ],
1404 ],
1405 'render_type' => 'ui',
1406 'selectors' => [
1407 '{{WRAPPER}} textarea' => "transition:all ease-out {{SIZE}}s;"
1408 ]
1409 ]
1410 );
1411
1412 $this->end_controls_tab();
1413
1414 $this->start_controls_tab(
1415 'textarea_tab_focus_state',
1416 [
1417 'label' => __( 'Focus', 'auxin-elements' ),
1418 ]
1419 );
1420
1421 $this->add_group_control(
1422 Group_Control_Background::get_type(),
1423 [
1424 'name' => 'textarea_background_focus',
1425 'selector' => '{{WRAPPER}} textarea:focus',
1426 'types' => [ 'classic', 'gradient']
1427 ]
1428 );
1429
1430 $this->add_group_control(
1431 Group_Control_Box_Shadow::get_type(),
1432 [
1433 'name' => 'textarea_box_shadow_focus',
1434 'selector' => '{{WRAPPER}} textarea:focus'
1435 ]
1436 );
1437
1438 $this->add_group_control(
1439 Group_Control_Border::get_type(),
1440 [
1441 'name' => 'textarea_border_focus',
1442 'selector' => '{{WRAPPER}} textarea:focus'
1443 ]
1444 );
1445
1446 $this->end_controls_tab();
1447
1448 $this->end_controls_tabs();
1449
1450 $this->end_controls_section();
1451
1452 /* -------------------------------------------------------------------------- */
1453 /* Textarea Placeholder Style
1454 /* -------------------------------------------------------------------------- */
1455
1456 $this->start_controls_section(
1457 'textarea_placeholder_section',
1458 [
1459 'label' => __('Textarea Placeholder', 'auxin-elements' ),
1460 'tab' => Controls_Manager::TAB_STYLE
1461 ]
1462 );
1463
1464 $this->add_group_control(
1465 Group_Control_Typography::get_type(),
1466 [
1467 'name' => 'textarea_placeholder_typography',
1468 'label' => __( 'Typography', 'auxin-elements' ),
1469 'global' => [
1470 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1471 ],
1472 'selector' => '{{WRAPPER}} textarea::placeholder'
1473 ]
1474 );
1475
1476 $this->add_control(
1477 'textarea_placeholder_color',
1478 [
1479 'label' => __( 'Color', 'auxin-elements' ),
1480 'type' => Controls_Manager::COLOR,
1481 'selectors' => [
1482 '{{WRAPPER}} textarea::placeholder' => 'color: {{VALUE}};',
1483 ]
1484 ]
1485 );
1486
1487 $this->end_controls_section();
1488
1489 /* -------------------------------------------------------------------------- */
1490 /* Labels */
1491 /* -------------------------------------------------------------------------- */
1492
1493 $this->start_controls_section(
1494 'labels_section',
1495 [
1496 'label' => __('Labels', 'auxin-elements' ),
1497 'tab' => Controls_Manager::TAB_STYLE,
1498 ]
1499 );
1500
1501 $this->add_group_control(
1502 Group_Control_Typography::get_type(),
1503 [
1504 'name' => 'labels_typography',
1505 'label' => __( 'Typography', 'auxin-elements' ),
1506 'global' => [
1507 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1508 ],
1509 'selector' => '{{WRAPPER}} label'
1510 ]
1511 );
1512
1513 $this->add_control(
1514 'labels_color',
1515 [
1516 'label' => __( 'Color', 'auxin-elements' ),
1517 'type' => Controls_Manager::COLOR,
1518 'selectors' => [
1519 '{{WRAPPER}} label' => 'color: {{VALUE}};'
1520 ]
1521 ]
1522 );
1523
1524 $this->end_controls_section();
1525
1526 /* -------------------------------------------------------------------------- */
1527 /* Submit Button Style
1528 /* -------------------------------------------------------------------------- */
1529
1530 $this->start_controls_section(
1531 'submit_input_section',
1532 [
1533 'label' => __('Submit Button', 'auxin-elements' ),
1534 'tab' => Controls_Manager::TAB_STYLE,
1535 ]
1536 );
1537
1538 $this->add_group_control(
1539 Group_Control_Typography::get_type(),
1540 [
1541 'name' => 'submit_input_typography',
1542 'label' => __( 'Typography', 'auxin-elements' ),
1543 'global' => [
1544 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1545 ],
1546 'selector' => '{{WRAPPER}} input[type="submit"]',
1547 ]
1548 );
1549
1550 $this->add_control(
1551 'submit_input_color',
1552 [
1553 'label' => __( 'Color', 'auxin-elements' ),
1554 'type' => Controls_Manager::COLOR,
1555 'selectors' => [
1556 '{{WRAPPER}} input[type="submit"]' => 'color: {{VALUE}};',
1557 ]
1558 ]
1559 );
1560
1561 $this->add_responsive_control(
1562 'submit_input_width',
1563 [
1564 'label' => __( 'Width', 'auxin-elements' ),
1565 'size_units' => [ 'px','em', '%'],
1566 'type' => Controls_Manager::SLIDER,
1567 'range' => [
1568 'px' => [
1569 'min' => 0,
1570 'max' => 1000,
1571 'step' => 5,
1572 ],
1573 '%' => [
1574 'min' => 0,
1575 'max' => 100,
1576 ],
1577 'em' => [
1578 'min' => 0,
1579 'max' => 100,
1580 ],
1581 ],
1582 'selectors' => [
1583 '{{WRAPPER}} input[type="submit"]' => 'width: {{SIZE}}{{UNIT}};',
1584 ],
1585 ]
1586 );
1587
1588 $this->add_responsive_control(
1589 'submit_input_max_width',
1590 [
1591 'label' => __( 'Max Width', 'auxin-elements' ),
1592 'size_units' => [ 'px','em', '%'],
1593 'type' => Controls_Manager::SLIDER,
1594 'range' => [
1595 'px' => [
1596 'min' => 0,
1597 'max' => 1000,
1598 'step' => 5
1599 ],
1600 '%' => [
1601 'min' => 0,
1602 'max' => 100
1603 ],
1604 'em' => [
1605 'min' => 0,
1606 'max' => 100
1607 ]
1608 ],
1609 'selectors' => [
1610 '{{WRAPPER}} input[type="submit"]' => 'max-width: {{SIZE}}{{UNIT}};',
1611 ]
1612 ]
1613 );
1614
1615 $this->add_responsive_control(
1616 'submit_input_height',
1617 [
1618 'label' => __( 'Height', 'auxin-elements' ),
1619 'size_units' => [ 'px', 'em'],
1620 'type' => Controls_Manager::SLIDER,
1621 'range' => [
1622 'px' => [
1623 'min' => 0,
1624 'max' => 1000,
1625 'step' => 5
1626 ],
1627 '%' => [
1628 'min' => 0,
1629 'max' => 100
1630 ],
1631 'em' => [
1632 'min' => 0,
1633 'max' => 100
1634 ]
1635 ],
1636 'selectors' => [
1637 '{{WRAPPER}} input[type="submit"]' => 'height: {{SIZE}}{{UNIT}};',
1638 ],
1639 'separator' => 'after'
1640 ]
1641 );
1642
1643
1644 $this->add_group_control(
1645 Group_Control_Border::get_type(),
1646 [
1647 'name' => 'submit_input_border',
1648 'selector' => '{{WRAPPER}} input[type="submit"]'
1649 ]
1650 );
1651
1652 $this->add_responsive_control(
1653 'submit_input_border_radius',
1654 [
1655 'label' => __( 'Border Radius', 'auxin-elements' ),
1656 'type' => Controls_Manager::DIMENSIONS,
1657 'size_units' => [ 'px', '%' ],
1658 'selectors' => [
1659 '{{WRAPPER}} input[type="submit"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1660 ],
1661 ]
1662 );
1663
1664 $this->add_responsive_control(
1665 'submit_input_padding',
1666 [
1667 'label' => __( 'Padding', 'auxin-elements' ),
1668 'type' => Controls_Manager::DIMENSIONS,
1669 'size_units' => [ 'px', '%', 'em' ],
1670 'selectors' => [
1671 '{{WRAPPER}} input[type="submit"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1672 ],
1673 'separator' => 'after'
1674 ]
1675 );
1676
1677 $this->add_responsive_control(
1678 'submit_input_margin',
1679 [
1680 'label' => __( 'Margin', 'auxin-elements' ),
1681 'type' => Controls_Manager::DIMENSIONS,
1682 'size_units' => [ 'px', '%', 'em' ],
1683 'selectors' => [
1684 '{{WRAPPER}} input[type="submit"]' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1685 ],
1686 'separator' => 'after'
1687 ]
1688 );
1689
1690 // Background and Box Shadow for input - START
1691 $this->start_controls_tabs( 'submit_input_tabs' );
1692
1693 $this->start_controls_tab(
1694 'submit_input_tab_normal_state',
1695 [
1696 'label' => __( 'Normal', 'auxin-elements' ),
1697 ]
1698 );
1699
1700 $this->add_group_control(
1701 Group_Control_Background::get_type(),
1702 [
1703 'name' => 'submit_input_background',
1704 'selector' => '{{WRAPPER}} input[type="submit"]',
1705 'types' => [ 'classic', 'gradient']
1706 ]
1707 );
1708
1709 $this->add_group_control(
1710 Group_Control_Box_Shadow::get_type(),
1711 [
1712 'name' => 'submit_input_box_shadow',
1713 'selector' => '{{WRAPPER}} input[type="submit"]'
1714 ]
1715 );
1716
1717 $this->end_controls_tab();
1718
1719 $this->start_controls_tab(
1720 'submit_input_tab_hover_state',
1721 [
1722 'label' => __( 'Hover', 'auxin-elements' ),
1723 ]
1724 );
1725
1726 $this->add_group_control(
1727 Group_Control_Background::get_type(),
1728 [
1729 'name' => 'submit_input_background_hover',
1730 'selector' => '{{WRAPPER}} input[type="submit"]:hover',
1731 'types' => [ 'classic', 'gradient']
1732 ]
1733 );
1734
1735 $this->add_group_control(
1736 Group_Control_Box_Shadow::get_type(),
1737 [
1738 'name' => 'submit_input_box_shadow_hover',
1739 'selector' => '{{WRAPPER}} input[type="submit"]:hover'
1740 ]
1741 );
1742
1743 $this->add_control(
1744 'submit_input_transition',
1745 [
1746 'label' => __( 'Transition Duration', 'auxin-elements' ),
1747 'type' => Controls_Manager::SLIDER,
1748 'default' => [
1749 'size' => 0.3,
1750 ],
1751 'range' => [
1752 'px' => [
1753 'max' => 3,
1754 'step' => 0.1,
1755 ],
1756 ],
1757 'render_type' => 'ui',
1758 'selectors' => [
1759 '{{WRAPPER}} input[type="submit"]' => "transition:all ease-out {{SIZE}}s;"
1760 ]
1761 ]
1762 );
1763
1764 $this->end_controls_tab();
1765
1766 $this->end_controls_tabs();
1767 // Background and Box Shadow for input - END
1768
1769 $this->end_controls_section();
1770
1771 }
1772
1773 /**
1774 * Render image box widget output on the frontend.
1775 *
1776 * Written in PHP and used to generate the final HTML.
1777 *
1778 * @since 1.0.0
1779 * @access protected
1780 */
1781 protected function render() {
1782
1783 $settings = $this->get_settings_for_display();
1784
1785 $args = array(
1786 'type' => $settings['type'],
1787 'email' => $settings['email'],
1788 'cf7_shortcode' => $settings['cf7_shortcode']
1789 );
1790
1791 // get the shortcode base blog page
1792 echo auxin_widget_contact_form_callback( $args );
1793 }
1794
1795 }
1796