--- ## PushPermissionPrompt Dismissible prompt asking the user to enable push notifications. Handles VAPID subscription and server-side registration. **Import:** `import { PushPermissionPrompt } from '@urbicon-ui/auth';` ### Examples ```svelte console.log('Subscribed', sub)} /> ``` ### Api | Prop | Type | Required | Default | Description | | --- | --- | :---: | --- | --- | | vapidPublicKey | `string` | yes | | VAPID public key for push subscription. | | class | `string` | no | | Extra classes on the root element. | | 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. | | onDismissed | `() => void` | no | | Called when the user dismisses the prompt. | | onSubscribed | `(subscription: PushSubscription) => void` | no | | Called after successful push subscription. | | slotClasses | `Partial>` | no | | Per-slot class overrides. See component source for available slot keys. | | subscriptionEndpoint | `string` | no | '/api/notifications/push-subscription' | API endpoint for registering subscriptions. | | t | `AuthLocale` | no | | Locale bundle. Auto-detected from i18n context when omitted. | | unstyled | `boolean` | no | | Strip all default styling. | ### Slots (slotClasses keys) `root`, `text`, `actions`