# Unsaved Guard

> A provider and hook that warns users before they lose unsaved form changes, intercepting page reload, tab close, and in-app link clicks with a confirm dialog, and exposing a guard function to wrap programmatic navigation.

- Author: [Mohammad Shehadeh](https://21st.dev/@mohammadshehadeh)
- Library: [Hirael](https://21st.dev/@mohammadshehadeh/library/hirael)
- License: MIT
- Live preview: https://21st.dev/@mohammadshehadeh/components/unsaved-guard

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/mohammadshehadeh/unsaved-guard?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
