Search Reveal

Construction circles expand into a search field, type your product name, and reveal an abstract graphic panel

Installation
$ pnpm dlx shadcn@latest add @remocn/search-reveal

Usage

Two fine construction circles expand, then snap into a short white dash. The dash stretches into a search pill, types remocn, and reveals a purple panel with contour rings and graphic accents. Corner markers follow the field and then the expanding panel.

tsx
import { SearchReveal } from "@/components/remocn/search-reveal";
 
export const Intro = () => <SearchReveal text="remocn" />;

This is a simulated search interface for video. It does not accept keyboard input or perform a search. Edit the text through props or the preview controls. All motion and cursor timing come from the Remotion frame; no assets, fonts, CSS animation clocks, or network requests are required.

Timing

At 30 fps and the default speed:

FramesMotion
0–25Overlapping circles expand beyond the frame
26–48Short dash stretches and levels into a search field
52–78Caret appears and remocn types one character at a time
56–90Graphic panel expands from the field into a rectangle
90–108Final pose holds with the caret hidden

searchRevealLength is 90 frames for the default copy. Longer text or slower typing extends the animation. getSearchRevealDuration({ text, framesPerCharacter, speed }) returns the full preview duration, including an 18-frame hold, at 30 fps. For another frame rate, multiply by fps / 30 and round up. The docs preview updates its duration automatically. After completion the final pose stays visible, ready for a cut to the next scene.

Minimal variation

tsx
<SearchReveal
  text="Find your next idea"
  fieldWidth={640}
  showPanel={false}
  showGuides={false}
  framesPerCharacter={3}
/>

The scene scales to fit the composition while retaining its proportions. Long copy automatically reduces its font size to fit the field. Typing keeps Unicode grapheme clusters intact. reducedMotion immediately displays the finished composition, suitable when a host opts into a static preview.

Props15

PropTypeDefault
text
string"remocn"

Search copy, revealed one grapheme at a time

fieldWidth
number464

Final field width at 1280×720, clamped to 320–640

fontSize
number34

Maximum text size, clamped to 18–54 and reduced for long copy

framesPerCharacter
number4

Typing interval at 30 fps, clamped to 1–12

showPanel
booleantrue

Reveal the abstract graphic panel behind the field

showGuides
booleantrue

Show construction ticks, corner crosses, and fine guide lines

color
string"#26232b"

Text, caret, and corner markers

fieldColor
string"#ffffff"

Search field and contour ring color

ringColor
string"#cbc5cf"

Construction circles, guide lines, and search icon

panelColor
string"#a800b7"

Graphic panel background, Remocn primary purple

accentColor
string"#e8f99a"

Flower and graphic accents

backgroundColor
string"#f5f1f5"

Full-frame background; accepts transparent

speed
number1

Playback multiplier; zero freezes the opening frame

reducedMotion
booleanfalse

Show the static finished composition

className
string—

Optional full-frame root class

  • textstring

    Search copy, revealed one grapheme at a time

    Default"remocn"

  • fieldWidthnumber

    Final field width at 1280×720, clamped to 320–640

    Default464

  • fontSizenumber

    Maximum text size, clamped to 18–54 and reduced for long copy

    Default34

  • framesPerCharacternumber

    Typing interval at 30 fps, clamped to 1–12

    Default4

  • showPanelboolean

    Reveal the abstract graphic panel behind the field

    Defaulttrue

  • showGuidesboolean

    Show construction ticks, corner crosses, and fine guide lines

    Defaulttrue

  • colorstring

    Text, caret, and corner markers

    Default"#26232b"

  • fieldColorstring

    Search field and contour ring color

    Default"#ffffff"

  • ringColorstring

    Construction circles, guide lines, and search icon

    Default"#cbc5cf"

  • panelColorstring

    Graphic panel background, Remocn primary purple

    Default"#a800b7"

  • accentColorstring

    Flower and graphic accents

    Default"#e8f99a"

  • backgroundColorstring

    Full-frame background; accepts transparent

    Default"#f5f1f5"

  • speednumber

    Playback multiplier; zero freezes the opening frame

    Default1

  • reducedMotionboolean

    Show the static finished composition

    Defaultfalse

  • classNamestring

    Optional full-frame root class