Measured entry

tripled-fluid-modal-transition-shadcnui

dialogminimal-flatmotion on file

A client-side React modal shipped as a shadcn registry component. It manages its own open state and uses Framer Motion for the backdrop, spring entrance, exit, and close-button interaction. Styling relies on Tailwind utilities and shadcn theme tokens, while the close icon comes from Lucide React; the listed button registry dependency is not used by the component source.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of tripled-fluid-modal-transition-shadcnui at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of tripled-fluid-modal-transition-shadcnui at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of tripled-fluid-modal-transition-shadcnui 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 tripled-fluid-modal-transition-shadcnui
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical1
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal60.6 KB (126.0 KB build, 65.4 KB baseline)
Bare modeFAIL
Provider requiredNO
Demo usedwritten from the component source API

What the harness recorded

BARE BUILD

✗ Build failed in 985ms
error during build:
[vite]: Rollup failed to resolve import "lucide-react" from "<sandbox>re-f378227ad4ea/src/cut/components/uitripled/fluid-modal-transition-shadcnui.tsx".

Verdict

The animation and responsive mounting work, but this is a visual modal shell rather than a production-ready dialog. Use it as a starting point only if you will add an accessible name, dialog semantics, keyboard handling, focus trapping, focus return, and safer instance-specific motion identifiers.

Use it if

  • You want a compact, self-contained animated modal whose title, trigger, and body can be supplied as React content.
  • Your application already uses Tailwind theme tokens and Framer Motion, and you can finish the dialog accessibility behavior.
  • You need a modal that renders without a context provider and closes by backdrop click or its icon control.

Skip it if

  • You need an accessible dialog out of the box: the close control has no accessible name, and the component lacks dialog semantics and focus management.
  • You need keyboard dismissal, focus return, scroll locking, or other production-grade modal behavior without adding it yourself.
  • You want a lightweight dialog without taking on Framer Motion and Lucide React.
  • You plan to render multiple instances without revising the shared motion layout identifier.

Install

Installation record for tripled-fluid-modal-transition-shadcnui
Declared dependenciesframer-motion, react, radix-ui
Missing on installnone
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno provider required in the harness

In a non-shadcn project, add React, Framer Motion, and Lucide React, configure Tailwind, and map the background, card, border, primary, foreground, and muted design tokens used by the classes. No provider is required. The advertised shadcn button dependency can be omitted unless your surrounding implementation uses it.

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 dialog pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.