# Material Design 3 Button

> A high-fidelity implementation of the Google Material Design 3 (M3) button, architected specifically for shadcn/ui and Tailwind CSS. Unlike standard buttons, this component includes a custom physics-based Ripple engine (ported from Google's web components), dual-layer elevation shadows (Key + Ambient), and mathematically accurate state layers (hover/press opacity). Features: True M3 Physics: "Standard Easing" motion curves and "Press Hold" ripple logic. 5 Official Variants: Filled, Elevated, Tonal, Outlined, and Text. Tailwind Native: Styled entirely with utility classes and CSS variables (no heavy JS libraries). Radix Slot Support: Fully polymorphic (use as Link, a, or div) via the asChild prop. The perfect choice for developers who want the tactile feel of Android/Google apps within a modern React codebase.

- Author: [Hossain Jahed](https://21st.dev/@easemize)
- License: unknown
- npm dependencies: @radix-ui/react-slot, class-variance-authority
- Live preview: https://21st.dev/@easemize/components/material-design-3-button

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/easemize/material-design-3-button?api_key=$API_KEY_21ST"
```

Requires a 21st API key (generate one at https://21st.dev/mcp) passed as `API_KEY_21ST`. Free accounts get a limited number of installs per day; unlimited on a paid plan — see https://21st.dev/pricing.

Full component directory: https://21st.dev/llms.txt
