# Consent

A customizable React consent banner with typed events and built-in preferences.

Source: https://docs.peax.co/consent



Consent provides the interface for asking visitors about their choices. It includes compact and stacked banners, a preferences panel, English and German copy, and a theme built with CSS custom properties.

## Start here [#start-here]

Follow the [quickstart](/consent/quickstart) for a complete controlled integration, then try the [examples](/consent/examples).

## Package responsibilities [#package-responsibilities]

| Package                        | Responsibility                                                       |
| ------------------------------ | -------------------------------------------------------------------- |
| `@peax/consent-banner-react`   | React components, temporary preference drafts and interaction events |
| `@peax/consent-banner-theme`   | Stylesheet, semantic tokens and TypeScript theme contracts           |
| `@peax/consent-banner-locales` | Dictionaries, locale resolution and safe message parsing             |

These docs describe **0.2.0** of all three packages. React 18.2+ within 18.x and React 19 are supported, with matching React DOM. Packages provide ESM and TypeScript declarations.

## Your application owns consent [#your-application-owns-consent]

The banner does not store consent, load or block trackers, or communicate with a Peax backend. Connect decision events to your persistence and service controls. Keep optional services inactive until the relevant consent exists.

`@peax/consent-core` has no published runtime API for this integration. No Peax account is required to render the banner.

Read [state and events](/consent/concepts/state) and [persistence and enforcement](/consent/concepts/integration) before shipping.
