chore(work): finish 09-cookie-consent-banner
This commit is contained in:
@@ -3,12 +3,12 @@ id: 09-cookie-consent-banner
|
||||
epic: dsr-consent-and-cookie-banner
|
||||
title: CookieConsentBanner component in core-ui
|
||||
type: user-story
|
||||
status: todo
|
||||
status: done
|
||||
feature: core-ui
|
||||
depends-on: [05-core-consent-react, 08-core-ui-scaffold]
|
||||
blocks: [11-documentation]
|
||||
created: 2026-05-19T12:00:00Z
|
||||
updated: 2026-05-19T09:55:07.020Z
|
||||
updated: 2026-05-19T21:38:48.887Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
@@ -51,4 +51,4 @@ Downstream consumers need a drop-in cookie consent banner that satisfies CNIL gu
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Add `<CookieConsentBanner>` headless component in `packages/core-ui/src/cookie-consent-banner/` with `variant: "modal" | "banner"` prop, granular category toggles (essential non-toggleable), equal-prominence Reject All / Accept All buttons (CNIL compliance baked into default visual treatment), render-prop overrides (`renderHeader`, `renderCategoryRow`, `renderActions`), `__consent_state` cookie management (SameSite=Lax, Secure, 1-year, versioned `_v: 1`), `onConsentChange` callback, `useConsent()` integration for authenticated context, `<CookieConsentBannerLoader>` SSR-safe wrapper; Storybook story covering both variants + render-prop example; axe-core a11y pass; RTL behavioral tests (Reject All, Save Selected with toggle, ESC = Reject All, tab order, modal focus-trap); export from `core-ui` index; all gates pass.
|
||||
- [x] Add `<CookieConsentBanner>` headless component in `packages/core-ui/src/cookie-consent-banner/` with `variant: "modal" | "banner"` prop, granular category toggles (essential non-toggleable), equal-prominence Reject All / Accept All buttons (CNIL compliance baked into default visual treatment), render-prop overrides (`renderHeader`, `renderCategoryRow`, `renderActions`), `__consent_state` cookie management (SameSite=Lax, Secure, 1-year, versioned `_v: 1`), `onConsentChange` callback, `useConsent()` integration for authenticated context, `<CookieConsentBannerLoader>` SSR-safe wrapper; Storybook story covering both variants + render-prop example; axe-core a11y pass; RTL behavioral tests (Reject All, Save Selected with toggle, ESC = Reject All, tab order, modal focus-trap); export from `core-ui` index; all gates pass.
|
||||
|
||||
Reference in New Issue
Block a user