Measured entry

motion-primitives-text-effect

text-effectdark-futuristicmotion on file

A client-side React text animation component that splits a string by character, word, or line and applies configurable Motion variants. It ships as copied TSX from a shadcn registry and depends on Motion plus a project-local cn utility backed by clsx and tailwind-merge.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of motion-primitives-text-effect at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of motion-primitives-text-effect at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of motion-primitives-text-effect at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

Measured

Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.

Harness measurements recorded for motion-primitives-text-effect
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal72.0 KB (137.5 KB build, 65.5 KB baseline)
Bare modeFAIL
Provider requiredNO
Demo usedwritten from the component source API

What the harness recorded

BARE BUILD

src/cut/demo.jsx (2:10): "default" is not exported by "src/cut/index.jsx", imported by "src/cut/demo.jsx".

Verdict

A flexible, focused text reveal primitive with clean preset and customization options. It needs a shadcn-style setup, and the bare demo also assumes a default export that the source does not provide, so expect a small integration fix outside that environment.

Use it if

  • You need reveal and exit animation for short headings, labels, or campaign copy.
  • Your React app already uses Motion and can host a client component.
  • You want presets with an escape hatch for custom variants and transitions.

Skip it if

  • Your text content contains links, emphasis, or other React nodes rather than a plain string.
  • Your performance budget cannot justify adding Motion for a small text flourish.
  • You require reduced-motion behavior to be built into the component rather than added by your team.

Install

Installation record for motion-primitives-text-effect
Declared dependenciesmotion, clsx, tailwind-merge
Missing on installnone
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno provider required in the harness

For a non-shadcn project, install Motion, clsx, and tailwind-merge; add a compatible cn utility; configure the project alias or replace that import; preserve client-component support; and import TextEffect by its named export.

Source and credit

This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.

Alternatives

Other published entries for the text-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.