Layout
Masked reveal disclosure
Masked reveal disclosure: A disclosure whose panel grows to its own natural height while a soft gradient edge wipes the content into view from the top, then runs backwards on close.
Using Masked reveal disclosure
Masked reveal disclosure uses the card preview frame with a light/dark theme setting.
Customize the preview
These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.
| Control | Type | Default | Preview limits |
|---|---|---|---|
label | text | Recovery keys | Up to 32 characters |
defaultOpen | boolean | false | No additional limit in the metadata. |
durationMs | number | 350 | From 120 to 900; step 10 |
keepRendered | boolean | false | No additional limit in the metadata. |
accent | color | #38BDF8 | No additional limit in the metadata. |
Which frameworks are available for Masked reveal disclosure?
Masked reveal disclosure is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.
What does Masked reveal disclosure depend on?
The React metadata lists these npm dependencies beyond React: motion, clsx, tailwind-merge.
What accessibility details are visible in Masked reveal disclosure?
The React source for Masked reveal disclosure includes: native elements (button); attributes and handlers (aria-controls, aria-expanded, aria-hidden, aria-labelledby); explicit roles (region). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.
How does Masked reveal disclosure handle reduced motion?
Masked reveal disclosure reads the motion preference in its React source through useReducedMotion(). Preference-dependent expressions in index.tsx: heightTransition: reduce ? { duration: 0 } : { duration: durationMs / 1000, ease: [0.4, 0, 0.2, 1] }; reduce ? 0 : 20; reduce ? { duration: 0.12, ease: "easeOut" } : { duration: durationMs / 1000, ease: [0.4, 0, 0.2, 1] }. Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.