import type { PartialAuthLocale } from '../../../i18n/keys.js'; import type { CsrfClientOptions } from '../../csrf.js'; /** * @summary Add, rename and remove the passkeys on an account. * @description Self-service panel for managing passkeys (WebAuthn credentials). Register, list, rename and delete passkeys. * Renaming happens inline on the row: the name becomes a text field, Enter or Save commits, Escape or Cancel restores it, and focus returns to the row's rename button either way. * Communicates with `apiPath` (default `/api/auth/passkey`). Pair with `createPasskeyHandlers` — this panel uses its `registrationOptions`, `registrationVerify`, `list` (GET `${apiPath}/list`) and `item` (DELETE and PATCH on `${apiPath}/[credentialId]`) groups; the login flow additionally uses `authenticationOptions` and `authenticationVerify`. * * @tag form * @related LoginPage * @stability beta * * @example * ```svelte * * ``` */ export interface PasskeyManagerProps { /** * Locale overrides, deep-merged over the active built-in bundle (resolved * from the i18n context). Pass any subset, from a single string to a whole tree. */ t?: PartialAuthLocale; /** API base path for passkey operations. @default '/api/auth/passkey' */ apiPath?: string; /** CSRF cookie/header names. Only needed when the server overrides the defaults via `config.csrf`. Mutating requests echo the token automatically. */ csrf?: CsrfClientOptions; /** Custom fetch implementation for all API calls. Defaults to the global `fetch`. Useful for mock backends in demos/tests or custom retry/auth layers. */ fetcher?: typeof globalThis.fetch; /** Strip all default styling. */ unstyled?: boolean; /** Per-slot class overrides. */ slotClasses?: Partial>; /** * 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. */ preset?: string; /** Extra classes on the root element. */ class?: string; } export { default as PasskeyManager } from './PasskeyManager.svelte';