+ )
+}
diff --git a/src/components/auth/register-form.tsx b/src/components/auth/register-form.tsx
new file mode 100644
index 0000000..30cd0f0
--- /dev/null
+++ b/src/components/auth/register-form.tsx
@@ -0,0 +1,155 @@
+import * as React from "react"
+
+import { Button } from "@/components/ui/button"
+import { Input } from "@/components/ui/input"
+import { Label } from "@/components/ui/label"
+import { CaptchaField } from "@/components/auth/captcha-field"
+
+export function RegisterForm(props: {
+ tenantId: string
+ disabled?: boolean
+ captcha: string
+ onCaptchaChange: (next: string) => void
+ captchaKey: string
+ onRefreshCaptcha: () => void
+ onRegisterSuccessPrefillLogin: (payload: { email: string; password: string }) => void
+ onLoginAfterRegister: (payload: { email: string; password: string }) => Promise