Drag Elements

Installation

No MCP yet? Connect your agent.

Integration

Install into a client-capable React, TypeScript, and Tailwind project with the consumer's @/lib/utils helper. This item declares motion. Install those packages at versions compatible with the consuming application.

Behavior to verify

Give the effect a stable containing block and verify pointer, touch, keyboard, resize, cleanup, and reduced-motion behavior that applies to its inputs.

Agent guides

Integrate motion, pointer, scroll, and physics effectsWhen: Fancy Components respond to continuous input, use Motion or Matter.js, or animate outside their initial bounds.From the collection

Integrate motion, pointer, scroll, and physics effects

Fancy Components often turns continuous input into continuous animation. Treat the parent geometry, event lifecycle, and fallback behavior as part of the component integration.

Motion and pointer effects

  • Give pointer trails, proximity text, parallax, tilt, and attractor effects a clear bounded target. Provide a useful non-pointer state for touch and keyboard users.
  • Give scroll effects enough document range to operate, but do not trap scrolling or hide essential content before the trigger runs.
  • Apply the application's reduced-motion policy to looping marquees, screensaver, floating, ticker, typewriter, rotating text, and variable-font animation.
  • Avoid using hover animation as the only indication of a link, action, or state.

Matter.js components

Gravity and Cursor Attractor and Gravity use matter-js, poly-decomp, Lodash, and SVG path conversion. Their container needs an explicit width and height before the engine starts. Confirm resize handling, device-pixel scaling, cleanup on unmount, collision bounds, and pointer constraints. Profile representative content on lower-power devices before using a large body count.

Browser-specific filters

Test SVG filters in every supported browser. Pixelate SVG Filter is not supported in Safari at the recorded upstream revision, while Pixel Trail and gooey filtering also have Safari limitations. Keep readable unfiltered content or a deliberate fallback when the effect is unavailable.

Supply fonts, images, SVG paths, and filtersWhen: A text, image, carousel, SVG, or filter component needs project-owned visual assets.From the collection

Supply fonts, images, SVG paths, and filters

Fancy registry payloads install component logic, not a finished brand system. The consuming project supplies the content assets and the visual conditions the effect expects.

Variable fonts

Variable Font and Cursor, Variable Font Cursor Proximity, Breathing Text, and the hover variants animate font axes. Load a variable font that exposes the configured axis tags, set the intended fallback, and verify interpolation in every supported browser. A static fallback should remain readable when an axis or animation is unavailable.

Media and paths

  • Image Trail, Parallax Floating, Box Carousel, and Media Between Text need project-owned images or video with explicit sizes and meaningful alternative text where the media conveys information.
  • Element Along SVG Path, Marquee Along SVG Path, and Text Along Path need valid path geometry. Keep the SVG view box aligned with the rendered container.
  • Animated Gradient with SVG and Circling Elements include their CSS-variable definitions in the registry payload. Preserve them when merging styles.
  • Gooey and Pixelate filters should use unique filter identifiers when multiple instances render on one page.

Use the installed component as a starting point, then replace upstream demo assets and text. The documentation site's fonts and theme are presentation choices, not collection-wide providers.