From b646e8b22b3cd05ed90726442943fb4e1ebf6bde Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bartek.jaskulski@wpdesk.net>
Date: Mon, 6 Sep 2021 16:19:09 +0200
Subject: [PATCH] feat: add email input field

---
 src/Field/InputEmailField.php    | 22 ++++++++++++++++++++++
 src/Sanitizer/EmailSanitizer.php | 12 ++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 src/Field/InputEmailField.php
 create mode 100644 src/Sanitizer/EmailSanitizer.php

diff --git a/src/Field/InputEmailField.php b/src/Field/InputEmailField.php
new file mode 100644
index 0000000..ee18412
--- /dev/null
+++ b/src/Field/InputEmailField.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace WPDesk\Forms\Field;
+
+use WPDesk\Forms\Sanitizer;
+use WPDesk\Forms\Sanitizer\EmailSanitizer;
+
+class InputEmailField extends BasicField {
+	public function __construct() {
+		parent::__construct();
+		$this->set_default_value( '' );
+		$this->set_attribute( 'type', 'email' );
+	}
+
+	public function get_sanitizer(): Sanitizer {
+		return new EmailSanitizer();
+	}
+
+	public function get_template_name(): string {
+		return 'input-text';
+	}
+}
diff --git a/src/Sanitizer/EmailSanitizer.php b/src/Sanitizer/EmailSanitizer.php
new file mode 100644
index 0000000..1a51a78
--- /dev/null
+++ b/src/Sanitizer/EmailSanitizer.php
@@ -0,0 +1,12 @@
+<?php
+
+namespace WPDesk\Forms\Sanitizer;
+
+use WPDesk\Forms\Sanitizer;
+
+class EmailSanitizer implements Sanitizer {
+	public function sanitize( $value ): string {
+		return sanitize_email( $value );
+	}
+
+}
-- 
GitLab