Entrance moment
Reveal content with a strong silhouette and clear interior structure.
The brighter center panel, hard edges, and layered chips give the mask something to shape while it animates.
Intersection-observer mask transition with circle, diamond, or wipe shapes
The demo uses a dense poster-style layout instead of a single line, which makes the clip path and masking feel like an actual effect instead of a missed render.
Entrance moment
The brighter center panel, hard edges, and layered chips give the mask something to shape while it animates.
Large type, layered fills, and enough surface area to make the mask read immediately.
Three independent blocks keep the clip path visible as the content opens.
Good for entrance moments. Bad for tiny text-only wrappers.
Copy this entrypoint first. It includes the imports required to get the component on screen.
<script lang="ts">
import '@dryui/ui/themes/default.css';
import '@dryui/ui/themes/dark.css';
import { MaskReveal } from '@dryui/ui';
</script>
<MaskReveal>Content</MaskReveal> Root package
import { MaskReveal } from '@dryui/ui' Per-component subpath
import { MaskReveal } from '@dryui/ui/mask-reveal' Props, CSS variables, and the public data attributes you can target when styling.
| Prop | Type | Description | Default | Required | Bindable |
|---|---|---|---|---|---|
| shape | circlelineardiagonaldiamond | — | 'circle' | — | — |
| direction | inout | — | 'in' | — | — |
| once | boolean | — | true | — | — |
| threshold | number | — | 0.18 | — | — |
| duration | number | — | — | — | — |
| children | Snippet | Content rendered inside the component. | — | — | — |