Modal
Accessible dialog overlay with focus trap, escape handling, and scroll lock.
Rendering Modal…
Installation
Copy the source into your project with the CLI. It lands under @/components/ui and is yours to edit.
npx mlola-ui add modalUsage
import { Modal } from "@/components/ui/modal";
export function Example() {
return <Modal />;
}Styling comes from the engine stylesheet and the nearest theme. Set it once at the root:
<html data-theme="graphite" data-mode="light">Options
| Prop | Values |
|---|---|
size | smmdlgxlfull |
The exported TypeScript types are the complete API. Open the Code tab above for every prop and its default.
Accessibility and theming
- Semantic elements, accessible names and state relationships are part of the contract.
- Keyboard, pointer and touch paths are operable; focus stays visible in every theme.
- Light and dark modes pass WCAG AA contrast in all 5 canonical themes.
- Reduced motion and forced colours keep meaning and operation.
Dependencies
Installed alongside this component. No third-party UI runtime is ever added.
@mlola-ui/behavior@mlola-ui/icons