
Dynamic Island Toast
A pixel-faithful Apple Dynamic Island that morphs, splits, and breathes while it hosts live activities inside your app.
A Google AI Mode search bar with a rainbow that travels the rim, cycling typewriter prompts, and an inline Google wordmark.
Google-Style Search Bar is a React and Tailwind CSS AI search input in the style of Google AI Mode, in Next.js or any React app, with no dependencies. A rainbow travels the rim along the pill's real path on canvas, so colors spread evenly, while typewriter prompts cycle in the empty field. It is a real form in a labelled search region, and voice, Lens, and AI Mode buttons fire callbacks. The rim pauses off screen and respects reduced motion. The wordmark is Google's, so hide it with hideWordmark in your own product.
Run the following command
pnpm dlx wensity@latest add google-search
npx wensity@latest add google-search
yarn dlx wensity@latest add google-search
bunx wensity@latest add google-search
Import GoogleSearch from @/components/wensity/google-search and render it anywhere in your React or Next.js app. The source lands in your own repo, so every prop, class and animation below is yours to edit.
"use client";import { GoogleSearch } from "@/components/wensity/google-search";export default function Example() {return (<GoogleSearchonSubmit={(query) => console.log(query)}/>);}
| Prop | Type | Default | Description |
|---|---|---|---|
suggestions | readonly string[] | Four Google-style idle prompts | Cycling typewriter prompts shown while the field is idle. |
value | string | - | Controlled query. |
defaultValue | string | "" | Uncontrolled initial query. |
onChange | (value: string) => void | - | Fires on every text change. |
onSubmit | (value: string) => void | - | Fires when the form submits. |
hideWordmark | boolean | false | Hide the inline Google wordmark. |
wordmarkTone | "mono" | "color" | "mono" | Mono follows the theme, near-black on light and white on dark. Color uses the official letter fills. |
aiModeLabel | string | "AI Mode" | Label inside the trailing pill. |
onAiMode | () => void | - | Fires when the AI Mode pill is pressed. |
onVoice | () => void | - | Fires when the microphone button is pressed. |
onLens | () => void | - | Fires when the Lens button is pressed. |
glow | boolean | true | Draw the travelling rainbow rim. |
label | string | "Google Search" | Accessible name for the search region. |

A pixel-faithful Apple Dynamic Island that morphs, splits, and breathes while it hosts live activities inside your app.

A seamless, GPU-only logo strip that never stutters or snaps at the loop point.

A pinned cinematic section that morphs in lock-step with scroll, staying perfectly in sync whichever way you travel.

Lava lamp background for React heroes: soft gradient shapes that drift and melt.