---
## ResetPasswordPage
Pre-built reset-password page with password confirmation.
Sends POST to `apiPath` (default `/api/auth/reset-password`). Pair with `createResetPasswordHandler(authDeps)` on the server.
**Import:** `import { ResetPasswordPage } from '@urbicon-ui/auth';`
### Examples
```svelte
```
### Api
| Prop | Type | Required | Default | Description |
| --- | --- | :---: | --- | --- |
| token | `string` | yes | | Reset token from URL query parameter. |
| apiPath | `string` | no | '/api/auth/reset-password' | API endpoint for the reset request. |
| class | `string` | no | | Extra classes on the root element. In the same Tailwind bucket `class` wins over the `slotClasses` entry for the element it lands on. Presets and provider defaults sit below both. |
| csrf | `CsrfClientOptions` | no | | CSRF cookie/header names. Only needed when the server overrides the defaults via `config.csrf`. Mutating requests echo the token automatically. |
| fetcher | `typeof globalThis.fetch` | no | | Custom fetch implementation for all API calls. Defaults to the global `fetch`. Useful for mock backends in demos/tests or custom retry/auth layers. |
| footer | `Snippet` | no | | Content rendered below the form, above links. |
| header | `Snippet` | no | | Content rendered between the heading and the form. |
| links | `Snippet` | no | | Replaces the link area below the form. |
| loginUrl | `string` | no | '/auth/login' | URL for the login page link. |
| passwordPolicy | `PasswordPolicy` | no | | The password policy to gate against, when you already have it server-side (`resolvePasswordPolicy(config.password)` in a `+page.server.ts` load). Supplying it skips the `policyPath` request. |
| policyPath | `string | null` | no | '/api/auth/password-policy' | Endpoint serving `createPasswordPolicyHandler`, read once on mount so the checklist and the submit gate match what the server enforces. `null` disables the request and falls back to the package defaults (min 8, no character classes). |
| preset | `string` | no | | Apply a named preset registered via ``. Resolves after the provider defaults and before this instance's own `slotClasses`, so a project-wide look lives in one place instead of being repeated at every usage site. |
| showRequirements | `boolean` | no | true | Show the real-time password requirements checklist. |
| slotClasses | `AuthPageSlotClasses` | no | | Per-slot class overrides. Keys: `root`, `card`, `title`, `form`, `field`, `requirements`, `submit`, `error`, `success`, `links`. In the same Tailwind bucket `class` wins over the `slotClasses` entry for the element it lands on. Presets and provider defaults sit below both. |
| t | `PartialAuthLocale` | no | | Locale overrides, deep-merged over the bundle registered for the active locale — English unless `registerAuthLocale` ran for it. Pass any subset, from a single string to a whole tree. |
| unstyled | `boolean` | no | | Strip all default styling. |
### Types
```ts
type PartialAuthLocale = DeepPartial
```
```ts
interface PasswordPolicy {
/** Minimum length. @default 8 */
minLength: number;
/** Require at least one `A-Z`. @default false */
requireUppercase: boolean;
/** Require at least one `a-z`. @default false */
requireLowercase: boolean;
/** Require at least one `0-9`. @default false */
requireDigit: boolean;
/** Require at least one character outside `A-Za-z0-9`. @default false */
requireSpecial: boolean;
}
```
```ts
interface CsrfClientOptions {
cookieName?: string;
headerName?: string;
/**
* Match the server's `csrf.useHostPrefix` — read the token from the
* `__Host-`-prefixed cookie name. Leave `false` (default) unless the server
* sets `useHostPrefix: true`.
*/
useHostPrefix?: boolean;
}
```
```ts
interface AuthPageSlotClasses {
/** Outermost wrapper element. */
root?: string;
/** Card container around the form. */
card?: string;
/** Page heading (h1). */
title?: string;
/** Form element wrapping all fields. */
form?: string;
/** Individual form field (Input). */
field?: string;
/** Submit button. */
submit?: string;
/** Error alert container. */
error?: string;
/** Success message container. */
success?: string;
/** Links area below the form (e.g. "Forgot password?"). */
links?: string;
/** Password requirements checklist (RegisterPage, ResetPasswordPage). */
requirements?: string;
}
```
```ts
type DeepPartial = T extends object ? { [K in keyof T]?: DeepPartial } : T
```
- `interface AuthLocale` — 8 members, definition omitted (387 lines; full definition: packages/auth/src/lib/i18n/keys.ts)