Chromatic Media Portal

A cursor-led image portal combining localized chromatic separation, subtle perspective and an interactive mask that reveals a second image.

v1.0Framer Code ComponentAvailableChangelog →

Quick Start

  1. Use Add to Framer from your purchase confirmation or receipt, or paste the supplied component URL into your Framer project.
  2. Give the instance a width and height. Start around 720 × 540 px for desktop or 320 × 420 px for a portrait card. The component follows its frame; it does not enforce an aspect ratio.
  3. Open Content and choose Base Media and Alternate Media. Both controls accept images.
  4. Add Alt Text and Alternate Alt, then choose Fit, Position X and Position Y. The same crop settings apply to both images.
  5. Choose Preset, Reveal → Mask Shape, and Reveal → Trigger.
  6. Open Framer Preview. Move the pointer, click or tap, and try Enter / Space while the component is focused. Canvas uses a static preview.

A new instance starts with Chromatic Noir, Hover, Circle and Expand on Click enabled. It includes an embedded placeholder, not the photographs or surrounding controls from the demo website. Without an alternate image, chromatic separation and tilt still work; reveal is unavailable.

Presets

PresetTreatmentMotion and timing
Chromatic NoirCyan, magenta and a lighter red contribution; 10 px intensity; Screen blend; 80% channel opacity.Up to 4° tilt, 3 px elastic movement, 65 ms follow lag and 550 ms reveal.
Duotone StudioTwo muted channels; 4 px intensity; Lighten blend; 58% channel opacity.Up to 1.8° tilt, 1 px elastic movement, 90 ms follow lag and 720 ms reveal.
CustomUses your saved chromatic and motion controls.Reveal Duration and the detailed motion controls become available.

Named presets own their visual settings. Choose Custom before adjusting intensity, channel colours, blend, falloff, decay, tilt amount or reveal duration. Custom values are retained when you switch presets. Chromatic → Enabled and Motion → Enable Tilt remain available in named presets. Content, mask shape, trigger, radius, delays and style remain configurable.

Content

ControlOptions or rangeDefaultPurpose
Base MediaImageEmbedded placeholderMain image.
Alternate MediaImageEmptySecond image revealed through the mask.
Alt Text / Alternate AltTextEmptyDescriptions for assistive technology. Image-picker descriptions are used when these fields are empty.
FitCover, Contain, FillCoverCover crops; Contain preserves the whole image with background space; Fill stretches to the frame.
Position X / Position Y0–100%50% / 50%Shared image alignment within the frame.

Use images with similar composition for a seamless transition, or deliberately different subjects for a stronger reveal. Both sources occupy the same box, but photographs with different proportions retain their own crop under Cover. Transparent images are supported; the configured background remains visible in uncovered areas.

Reveal

ControlOptions or rangeDefaultPurpose
TriggerHover, Hold, Click, Always RevealedHoverHow the second image becomes visible.
Mask ShapeCircle, Organic, RectangleCircleCircular, subtly irregular or rectangular window.
Reveal Radius40–500 px140 pxLocal window size; scales down in smaller frames.
Expand on ClickOn, OffOnClicking or tapping can expand the window to the whole frame.
Duration200–1200 ms550 ms in CustomOpening time; closing takes approximately 80% of this value.
Hover Delay0–2000 ms120 msDelay before Hover opens the local window.
Hold Delay100–3000 ms450 msPointer dwell time before Hold opens the local window.
Corner0–100 px8 pxRectangle corner radius; decreases as the mask expands.

Hover and Hold

Hover opens a local window after Hover Delay. Hold waits for Hold Delay; it means keeping the pointer over the component, not holding down the mouse button. Leaving closes an unpinned window. With Expand on Click enabled, clicking expands and pins the reveal; another click closes it. The local window follows the pointer smoothly.

Click and Always Revealed

Click toggles the second image. When Expand on Click is off, it toggles a local window instead of a full reveal. Always Revealed displays the complete alternate image without a reveal button. Expansion is calculated from the origin to the farthest corner, so clicks near an edge can still cover the complete frame.

Touch and keyboard

On touch devices, Hover and Hold become tap-to-toggle. Tilt and pointer-following colour movement are disabled for touch. Scrolling gestures are not treated as taps.

With a loaded alternate image and Interaction enabled, the component is focusable. Enter or Space toggles the portal from the centre; Escape closes it. Focus has a visible outline. Without an alternate image, the component is not exposed as an unnecessary button.

Chromatic

The effect uses displaced, tinted representations of the main image, softly masked around the pointer. It is localized rather than a permanent colour filter over the photograph. The alternate image appears above the chromatic layers so a complete reveal preserves its colours.

The following detailed controls are available in Custom:

ControlOptions or rangeDefaultPurpose
EnabledOn, OffOnEnables the chromatic effect, independently of reveal.
Intensity0–20 px10 pxDisplacement strength. Zero hides the chromatic layers.
Effect Radius80–600 px240 pxArea around the pointer affected by colour separation.
FalloffSoft, Medium, SharpSoftSoftness of the boundary.
Cyan ChannelColour#00E7FFFirst channel colour.
Magenta ChannelColour#FF2EBESecond channel colour.
Red ChannelColour#FF3A38Smaller third-channel contribution.
BlendScreen, Lighten, Difference, Multiply, NormalScreenHow the colour layers combine.
Channel Opacity0–100%80%Chromatic layer visibility.
DecayFast, Normal, SlowNormalRate of colour separation returning to rest after exit.

Effect Radius, Reveal Radius, displacement and tilt scale down below a 480 px minimum frame dimension. Values in the panel describe the full-size settings. Fast pointer motion adds a bounded contribution, and the start of a reveal briefly increases intensity. Screen and Lighten are good starting points; other blends vary significantly with image colours.

Motion

ControlRangeDefault in CustomPurpose
Enable TiltOn, OffOnEnables perspective rotation.
Tilt0–10°4°Maximum configured tilt.
Perspective400–2000 px1000 pxPerspective depth.
Elastic0–8 px3 pxSmall pointer-responsive translation.
Follow Lag0–200 ms65 msPointer-follow smoothing.

Tilt and Perspective controls hide when Enable Tilt is off. Motion returns smoothly to neutral on exit. A small interaction scale is derived internally. The animation stops once settled and pauses when offscreen or the page is hidden.

Style and Behavior

Group / controlDefaultPurpose
Style → Background#050505Loading background and space left by Contain.
Style → Radius0 pxFrame corner radius, including separate corners.
Style → OverlayNoneNone, Dark or Custom tint over the complete component.
Style → Overlay Color#050505Colour used by Custom overlay.
Style → Opacity0%Overlay opacity; has no effect while Overlay is None.
Behavior → InteractionOnEnables pointer and reveal interaction.
Behavior → CursorDefaultDefault or Pointer system cursor.
Behavior → Button LabelReveal alternate imageAccessible action label; translate it for your website.
Behavior → Canvas PreviewBaseBase, Local or Revealed static editor presentation.

Canvas Preview changes the editor presentation only. It needs an alternate image for Local or Revealed. The published website follows the configured trigger. Interaction off disables user interaction; Always Revealed can still display the alternate image.

Reduced Motion

The device's prefers-reduced-motion setting is always respected. Pointer-following chromatic motion, tilt, elastic movement and organic morphing are disabled. The reveal becomes a 200 ms crossfade, retaining click, tap and keyboard access. There is no control to override this preference.

Demo and Delivery

The public preview includes photographs, a toolbar and four example instances. Those elements demonstrate the component; they are not part of the purchased standalone component. The default Cursor is Default, while the demo explicitly uses Pointer and Spanish button labels.

Your purchase provides the component's Add to Framer link and a bilingual setup download. Documentation is available in English and Spanish. Supply your own images and confirm that you have permission to use them.

Troubleshooting

The image does not reveal

Choose Alternate Media and wait for it to load. Check Interaction, Trigger and its delay. Always Revealed displays the alternate without a toggle. A failed alternate image is ignored; a failed base image falls back to the placeholder.

Changing intensity or duration has no effect

Choose Custom. Named presets own the detailed visual and timing settings. Also check Chromatic → Enabled, Channel Opacity and the device's reduced-motion preference.

The effect looks too strong in a small card

Use Duotone Studio, or choose Custom and reduce Intensity and Tilt. Smaller frames already scale down the effect and reveal radii.

The crop looks different between images

Use photographs with matching proportions and composition. Fit and Position X / Y are shared; there is no independent crop control for the second image.

Canvas does not animate

This is intentional. Choose Canvas Preview to inspect a static state; use Preview or the published site for interaction.

FAQ

Does this version support video?

No. Version 1.0 is the image edition. It does not accept video or synchronize video playback.

Can I use only the main image?

Yes. The chromatic effect and tilt work without an alternate image.

Does it require a service or additional package?

No. It uses React and Framer with browser styling and animation APIs. There is no external service, API key, required image CDN or extra animation package.

Can I put a title or button over it?

Yes, place separate Framer layers above the component. An overlay that intercepts pointer events can prevent the portal from receiving input in that area.

Limitations

This version supports images only and has no lightbox, navigation action, audio, drag-to-rotate or custom cursor. It has shared crop settings rather than independent positioning for each source. Image loading depends on the supplied asset. Large images and many simultaneously active instances increase rendering cost; smoothness depends on device and browser. CSS masking, blending and SVG filters may vary slightly across browsers.

Get support

Changelog

v1.0

Initial release of the image edition.

  • Localized chromatic separation, cursor smoothing, subtle tilt and progressive exit decay.
  • Circle, Organic and Rectangle reveal masks with Hover, Hold, Click and Always Revealed.
  • Chromatic Noir, Duotone Studio and Custom presets.
  • Responsive images, touch fallback, keyboard operation and system reduced motion.
  • Grouped Framer controls, static Canvas previews and English/Spanish documentation.
Search documentation

Start with a component, or search for a setting.

App Story RailApp Story RailTurn app screenshots into an image-led chapter rail with depth, swipe navigation, and a matching story panel.Arc Portfolio DeckArc Portfolio DeckPresent selected projects as an interactive arc of editorial cards with drag, keyboard navigation and editable project links.Chromatic Media PortalChromatic Media PortalA cursor-led image portal combining localized chromatic separation, subtle perspective and an interactive mask that reveals a second image.Code Demo NarratorCode Demo NarratorExplain software with scroll-synced code, visual previews, line highlights, annotations and diffs.Device Morph StageDevice Morph StagePresent one product across Phone, Tablet, and Desktop inside a single transforming device frame.Fluid Music PlayerFluid Music PlayerPlay uploaded audio or direct audio URLs in a compact player that expands into artwork, playback controls, and a track queue.Global Presence Orbit MapGlobal Presence Orbit MapInteractive world map with selectable locations, curved routes, a detail panel, and coordinated motion in Flat and Globe views.Launch Drop CapsuleLaunch Drop CapsulePresent a scheduled launch through Teaser, Preorder, Live, and Closed phases with a countdown, changing CTA, and optional manual availability meter.Liquid Section NavigatorLiquid Section NavigatorA floating section navigator with a liquid active indicator, scroll tracking, three visual presets, optional progress and a compact mobile menu.Scroll Demo NarratorScroll Demo NarratorTurn a product demo into a scroll-synced story: a sticky screen, chapter text, accent colour, and a progress line that move together.
↑ ↓ to navigate↵ to openesc to close

Create a free website with Framer, the website builder loved by startups, designers and agencies.