chore(work): finish 09-cookie-consent-banner

This commit is contained in:
2026-05-19 23:38:46 +02:00
parent 051bfbf062
commit 5151454783
3 changed files with 8 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
{
"updated_at": "2026-05-19T21:03:59.518Z",
"updated_at": "2026-05-19T21:38:49.057Z",
"epics": {
"binder-wrap-helper": {
"status": "done",
@@ -331,10 +331,10 @@
]
},
"09-cookie-consent-banner": {
"status": "todo",
"status": "done",
"title": "CookieConsentBanner component in core-ui",
"ac_total": 1,
"ac_completed": 0,
"ac_completed": 1,
"depends_on": [
"05-core-consent-react",
"08-core-ui-scaffold"
@@ -569,11 +569,6 @@
}
},
"ready": [
{
"epic": "dsr-consent-and-cookie-banner",
"story": "09-cookie-consent-banner",
"title": "CookieConsentBanner component in core-ui"
},
{
"epic": "dsr-consent-and-cookie-banner",
"story": "10-auth-signup-migration",

View File

@@ -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.

View File

@@ -16,7 +16,7 @@ features:
auth,
]
created: 2026-05-19T12:00:00Z
updated: 2026-05-19T21:03:59.344Z
updated: 2026-05-19T21:38:48.887Z
---
## Goal
@@ -37,6 +37,6 @@ Epic A delivered declarative PII inventory + retention + sub-processors. Epic B
- [x] [06 — core-dsr: scaffold + interfaces + Payload impls + handlers + dsrRouter](06-core-dsr/_story.md)
- [x] [07 — core-api router composition: dsrRouter + consentRouter into appRouter](07-core-api-router-composition/_story.md)
- [x] [08 — core-ui scaffold](08-core-ui-scaffold/_story.md)
- [ ] [09 — CookieConsentBanner component in core-ui](09-cookie-consent-banner/_story.md)
- [x] [09 — CookieConsentBanner component in core-ui](09-cookie-consent-banner/_story.md)
- [ ] [10 — auth signUp anonymous consent migration](10-auth-signup-migration/_story.md)
- [ ] [11 — Documentation: DSR guide + consent guide + glossary + CLAUDE.md](11-documentation/_story.md)