Input Morph Message

July 2024

An input component that morphs its content into a message bubble when submitted. Made possible with layout animations in Framer Motion. Inspired by iOS.

Unlock code snippet

Enter your email to access all code snippets and subscribe to my newsletter for updates.

import { useState } from "react";
import Button from "./ui/Button";
// Nice try lol, I promise I will not send you a tons of spam emails
// I just want to build a newsletter list to share my latest content with you 🥹
const INIT = "INIT";
const SUBMITTING = "SUBMITTING";
const ERROR = "ERROR";
const SUCCESS = "SUCCESS";
const formStates = [INIT, SUBMITTING, ERROR, SUCCESS] as const;
function NewsletterForm() {
return (
<form>
<input type="email" placeholder="
Enter your email" />
<Button type="submit">Subscribe</Button>
</form>
);
}
}