@c15t/react 2.0.0-rc.9 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -20
- package/dist/components/consent-banner/consent-banner.cjs +1 -1
- package/dist/components/consent-banner/consent-banner.js +1 -1
- package/dist/components/consent-dialog/atoms/card.cjs +1 -1
- package/dist/components/consent-dialog/atoms/card.js +1 -1
- package/dist/components/consent-dialog/atoms/overlay.cjs +1 -1
- package/dist/components/consent-dialog/atoms/overlay.js +1 -1
- package/dist/components/consent-widget/atoms/root.cjs +1 -1
- package/dist/components/consent-widget/atoms/root.js +1 -1
- package/dist/components/consent-widget/consent-widget.cjs +1 -1
- package/dist/components/consent-widget/consent-widget.js +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.cjs +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.js +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -1
- package/dist/components/shared/ui/branding.cjs +1 -1
- package/dist/components/shared/ui/branding.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/iab/styles.tw3.css +54 -11
- package/dist/index.cjs +1 -1
- package/dist/styles.tw3.css +70 -10
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist-types/components/consent-dialog/atoms/card.d.ts +1 -0
- package/dist-types/components/consent-dialog/atoms/overlay.d.ts +8 -16
- package/dist-types/components/consent-dialog/index.d.ts +2 -1
- package/dist-types/components/consent-widget/atoms/root.d.ts +0 -5
- package/dist-types/components/shared/ui/branding.d.ts +5 -1
- package/dist-types/components/shared/ui/logo.d.ts +10 -0
- package/dist-types/types/consent-manager.d.ts +2 -2
- package/dist-types/version.d.ts +1 -1
- package/docs/ai-agents.md +111 -0
- package/docs/building-headless-components.md +118 -16
- package/docs/components/consent-banner.md +1 -30
- package/docs/components/consent-dialog.md +4 -3
- package/docs/components/consent-manager-provider.md +13 -13
- package/docs/components/consent-widget.md +1 -28
- package/docs/components/dev-tools.md +33 -0
- package/docs/concepts/client-modes.md +1 -1
- package/docs/concepts/policy-packs.md +1 -1
- package/docs/hooks/use-consent-manager/overview.md +18 -2
- package/docs/iab/consent-banner.md +8 -6
- package/docs/iab/consent-dialog.md +8 -6
- package/docs/iab/overview.md +13 -12
- package/docs/iab/use-gvl-data.md +11 -199
- package/docs/internationalization.md +1 -1
- package/docs/optimization.md +35 -1
- package/docs/policy-packs.md +1 -1
- package/docs/quickstart.md +12 -9
- package/docs/styling/color-scheme.md +1 -1
- package/docs/styling/css-variables.md +1 -1
- package/docs/styling/overview.md +11 -4
- package/docs/styling/slots.md +7 -3
- package/docs/styling/tailwind.md +5 -1
- package/docs/styling/tokens.md +3 -1
- package/iab/styles.tw3.css +1 -0
- package/package.json +28 -15
- package/readme.json +4 -4
- package/styles.tw3.css +1 -0
package/docs/styling/overview.md
CHANGED
|
@@ -102,6 +102,7 @@ Use tokens first when the change is semantic:
|
|
|
102
102
|
* Banner card background -> `theme.colors.surface`
|
|
103
103
|
* Banner footer background -> `theme.colors.surfaceHover`
|
|
104
104
|
* Shared copy color -> `theme.colors.text` and `theme.colors.textMuted`
|
|
105
|
+
* Primary-filled surfaces such as stock branding tags and filled actions -> `theme.colors.primary` with `theme.colors.textOnPrimary` as the matching foreground override
|
|
105
106
|
|
|
106
107
|
```tsx
|
|
107
108
|
options={{
|
|
@@ -114,6 +115,8 @@ options={{
|
|
|
114
115
|
}}
|
|
115
116
|
```
|
|
116
117
|
|
|
118
|
+
If you set `theme.colors.primary` but omit `theme.colors.textOnPrimary`, c15t derives a readable foreground automatically. Add `textOnPrimary` only when you need to force a specific branded foreground color.
|
|
119
|
+
|
|
117
120
|
### 3. Component slots
|
|
118
121
|
|
|
119
122
|
Target specific component parts via the `slots` object:
|
|
@@ -317,7 +320,7 @@ Color palette for light mode.
|
|
|
317
320
|
|borderHover|string \|undefined|Hover state for bordered elements.|-|Optional|
|
|
318
321
|
|text|string \|undefined|Primary text color for headings and body.|-|Optional|
|
|
319
322
|
|textMuted|string \|undefined|Muted text color for secondary content.|-|Optional|
|
|
320
|
-
|textOnPrimary|string \|undefined|Text color for content on primary background.|-|Optional|
|
|
323
|
+
|textOnPrimary|string \|undefined|Text color for content on primary background. Auto-derived from \`primary\` when omitted.|-|Optional|
|
|
321
324
|
|overlay|string \|undefined|Overlay color for modal backdrops.|-|Optional|
|
|
322
325
|
|switchTrack|string \|undefined|Toggle track color (off state).|-|Optional|
|
|
323
326
|
|switchTrackActive|string \|undefined|Toggle track color (on state).|-|Optional|
|
|
@@ -337,7 +340,7 @@ Dark mode color overrides.
|
|
|
337
340
|
|borderHover|string \|undefined|Hover state for bordered elements.|-|Optional|
|
|
338
341
|
|text|string \|undefined|Primary text color for headings and body.|-|Optional|
|
|
339
342
|
|textMuted|string \|undefined|Muted text color for secondary content.|-|Optional|
|
|
340
|
-
|textOnPrimary|string \|undefined|Text color for content on primary background.|-|Optional|
|
|
343
|
+
|textOnPrimary|string \|undefined|Text color for content on primary background. Auto-derived from \`primary\` when omitted.|-|Optional|
|
|
341
344
|
|overlay|string \|undefined|Overlay color for modal backdrops.|-|Optional|
|
|
342
345
|
|switchTrack|string \|undefined|Toggle track color (off state).|-|Optional|
|
|
343
346
|
|switchTrackActive|string \|undefined|Toggle track color (on state).|-|Optional|
|
|
@@ -423,6 +426,7 @@ Component-specific style overrides.
|
|
|
423
426
|
|consentBannerDescription|SlotStyle \|undefined|Banner description text element.|-|Optional|
|
|
424
427
|
|consentBannerFooter|SlotStyle \|undefined|Footer container for banner action buttons.|-|Optional|
|
|
425
428
|
|consentBannerFooterSubGroup|SlotStyle \|undefined|Nested button group inside the banner footer.|-|Optional|
|
|
429
|
+
|consentBannerTag|SlotStyle \|undefined|Branding tag rendered above the consent banner card.|-|Optional|
|
|
426
430
|
|consentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the banner when enabled.|-|Optional|
|
|
427
431
|
|consentDialog|SlotStyle \|undefined|Root wrapper for the consent dialog modal.|-|Optional|
|
|
428
432
|
|consentDialogCard|SlotStyle \|undefined|Main dialog card container.|-|Optional|
|
|
@@ -430,22 +434,25 @@ Component-specific style overrides.
|
|
|
430
434
|
|consentDialogTitle|SlotStyle \|undefined|Dialog title text element.|-|Optional|
|
|
431
435
|
|consentDialogDescription|SlotStyle \|undefined|Dialog description text element.|-|Optional|
|
|
432
436
|
|consentDialogContent|SlotStyle \|undefined|Dialog content region (typically holds ConsentWidget).|-|Optional|
|
|
433
|
-
|consentDialogFooter|SlotStyle \|undefined|
|
|
437
|
+
|consentDialogFooter|SlotStyle \|undefined|Footer container used by compound dialog layouts.|-|Optional|
|
|
438
|
+
|consentDialogTag|SlotStyle \|undefined|Branding tag rendered below the stock consent dialog card.|-|Optional|
|
|
434
439
|
|consentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the dialog.|-|Optional|
|
|
435
440
|
|consentWidget|SlotStyle \|undefined|Root wrapper for the consent widget/preferences panel.|-|Optional|
|
|
436
441
|
|consentWidgetAccordion|SlotStyle \|undefined|Accordion region listing consent categories.|-|Optional|
|
|
437
442
|
|consentWidgetFooter|SlotStyle \|undefined|Footer area for widget actions and links.|-|Optional|
|
|
438
|
-
|
|
|
443
|
+
|consentWidgetTag|SlotStyle \|undefined|Branding tag rendered below the standalone consent widget.|-|Optional|
|
|
439
444
|
|frame|SlotStyle \|undefined|Frame wrapper used by blocking placeholders (e.g., iframe blocking).|-|Optional|
|
|
440
445
|
|iabConsentBanner|SlotStyle \|undefined|Root wrapper for the IAB consent banner.|-|Optional|
|
|
441
446
|
|iabConsentBannerCard|SlotStyle \|undefined|Main card container for IAB banner content.|-|Optional|
|
|
442
447
|
|iabConsentBannerHeader|SlotStyle \|undefined|Header region for IAB banner title/description.|-|Optional|
|
|
443
448
|
|iabConsentBannerFooter|SlotStyle \|undefined|Footer container for IAB banner actions.|-|Optional|
|
|
449
|
+
|iabConsentBannerTag|SlotStyle \|undefined|Branding tag rendered above the IAB banner card.|-|Optional|
|
|
444
450
|
|iabConsentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB banner.|-|Optional|
|
|
445
451
|
|iabConsentDialog|SlotStyle \|undefined|Root wrapper for the IAB consent dialog.|-|Optional|
|
|
446
452
|
|iabConsentDialogCard|SlotStyle \|undefined|Main card container for IAB dialog content.|-|Optional|
|
|
447
453
|
|iabConsentDialogHeader|SlotStyle \|undefined|Header region for IAB dialog title/description.|-|Optional|
|
|
448
454
|
|iabConsentDialogFooter|SlotStyle \|undefined|Footer container for IAB dialog actions.|-|Optional|
|
|
455
|
+
|iabConsentDialogTag|SlotStyle \|undefined|Branding tag rendered below the IAB dialog card.|-|Optional|
|
|
449
456
|
|iabConsentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB dialog.|-|Optional|
|
|
450
457
|
|buttonPrimary|SlotStyle \|undefined|Shared primary button style used across consent components.|-|Optional|
|
|
451
458
|
|buttonSecondary|SlotStyle \|undefined|Shared secondary button style used across consent components.|-|Optional|
|
package/docs/styling/slots.md
CHANGED
|
@@ -4,7 +4,7 @@ description: Target individual component parts with styles using the slot system
|
|
|
4
4
|
---
|
|
5
5
|
## What are Slots?
|
|
6
6
|
|
|
7
|
-
Slots let you target specific parts of consent components with styles. Each component is built from named slots such as `consentBannerTitle` and `
|
|
7
|
+
Slots let you target specific parts of consent components with styles. Each component is built from named slots such as `consentBannerTitle` and `consentDialogTag`.
|
|
8
8
|
|
|
9
9
|
Use slots after the stock component APIs and design tokens:
|
|
10
10
|
|
|
@@ -88,6 +88,7 @@ Use the typed API reference below for the full slot list and descriptions. It st
|
|
|
88
88
|
|consentBannerDescription|SlotStyle \|undefined|Banner description text element.|-|Optional|
|
|
89
89
|
|consentBannerFooter|SlotStyle \|undefined|Footer container for banner action buttons.|-|Optional|
|
|
90
90
|
|consentBannerFooterSubGroup|SlotStyle \|undefined|Nested button group inside the banner footer.|-|Optional|
|
|
91
|
+
|consentBannerTag|SlotStyle \|undefined|Branding tag rendered above the consent banner card.|-|Optional|
|
|
91
92
|
|consentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the banner when enabled.|-|Optional|
|
|
92
93
|
|consentDialog|SlotStyle \|undefined|Root wrapper for the consent dialog modal.|-|Optional|
|
|
93
94
|
|consentDialogCard|SlotStyle \|undefined|Main dialog card container.|-|Optional|
|
|
@@ -95,22 +96,25 @@ Use the typed API reference below for the full slot list and descriptions. It st
|
|
|
95
96
|
|consentDialogTitle|SlotStyle \|undefined|Dialog title text element.|-|Optional|
|
|
96
97
|
|consentDialogDescription|SlotStyle \|undefined|Dialog description text element.|-|Optional|
|
|
97
98
|
|consentDialogContent|SlotStyle \|undefined|Dialog content region (typically holds ConsentWidget).|-|Optional|
|
|
98
|
-
|consentDialogFooter|SlotStyle \|undefined|
|
|
99
|
+
|consentDialogFooter|SlotStyle \|undefined|Footer container used by compound dialog layouts.|-|Optional|
|
|
100
|
+
|consentDialogTag|SlotStyle \|undefined|Branding tag rendered below the stock consent dialog card.|-|Optional|
|
|
99
101
|
|consentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the dialog.|-|Optional|
|
|
100
102
|
|consentWidget|SlotStyle \|undefined|Root wrapper for the consent widget/preferences panel.|-|Optional|
|
|
101
103
|
|consentWidgetAccordion|SlotStyle \|undefined|Accordion region listing consent categories.|-|Optional|
|
|
102
104
|
|consentWidgetFooter|SlotStyle \|undefined|Footer area for widget actions and links.|-|Optional|
|
|
103
|
-
|
|
|
105
|
+
|consentWidgetTag|SlotStyle \|undefined|Branding tag rendered below the standalone consent widget.|-|Optional|
|
|
104
106
|
|frame|SlotStyle \|undefined|Frame wrapper used by blocking placeholders (e.g., iframe blocking).|-|Optional|
|
|
105
107
|
|iabConsentBanner|SlotStyle \|undefined|Root wrapper for the IAB consent banner.|-|Optional|
|
|
106
108
|
|iabConsentBannerCard|SlotStyle \|undefined|Main card container for IAB banner content.|-|Optional|
|
|
107
109
|
|iabConsentBannerHeader|SlotStyle \|undefined|Header region for IAB banner title/description.|-|Optional|
|
|
108
110
|
|iabConsentBannerFooter|SlotStyle \|undefined|Footer container for IAB banner actions.|-|Optional|
|
|
111
|
+
|iabConsentBannerTag|SlotStyle \|undefined|Branding tag rendered above the IAB banner card.|-|Optional|
|
|
109
112
|
|iabConsentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB banner.|-|Optional|
|
|
110
113
|
|iabConsentDialog|SlotStyle \|undefined|Root wrapper for the IAB consent dialog.|-|Optional|
|
|
111
114
|
|iabConsentDialogCard|SlotStyle \|undefined|Main card container for IAB dialog content.|-|Optional|
|
|
112
115
|
|iabConsentDialogHeader|SlotStyle \|undefined|Header region for IAB dialog title/description.|-|Optional|
|
|
113
116
|
|iabConsentDialogFooter|SlotStyle \|undefined|Footer container for IAB dialog actions.|-|Optional|
|
|
117
|
+
|iabConsentDialogTag|SlotStyle \|undefined|Branding tag rendered below the IAB dialog card.|-|Optional|
|
|
114
118
|
|iabConsentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB dialog.|-|Optional|
|
|
115
119
|
|buttonPrimary|SlotStyle \|undefined|Shared primary button style used across consent components.|-|Optional|
|
|
116
120
|
|buttonSecondary|SlotStyle \|undefined|Shared secondary button style used across consent components.|-|Optional|
|
package/docs/styling/tailwind.md
CHANGED
|
@@ -18,17 +18,21 @@ Import the standard c15t stylesheet once in your app-level CSS entrypoint:
|
|
|
18
18
|
|
|
19
19
|
Keeping the c15t stylesheet in your global CSS entrypoint makes layer and cascade order explicit. JS/TSX side-effect imports can load in a different order across framework and Tailwind tooling, which makes style regressions harder to debug.
|
|
20
20
|
|
|
21
|
+
With Tailwind v4, keep c15t at the end of the top-level `@import` block so Fumadocs, `tw-animate-css`, and other preset imports do not override c15t theme tokens.
|
|
22
|
+
|
|
21
23
|
### Tailwind v4
|
|
22
24
|
|
|
23
|
-
Tailwind v4 automatically scans your source files. Import Tailwind normally, then
|
|
25
|
+
Tailwind v4 automatically scans your source files. Import Tailwind normally, then keep the c15t stylesheet last in the top-level `@import` block so Fumadocs, `tw-animate-css`, or other preset styles load first. c15t component styles join Tailwind's `components` layer automatically, so no extra c15t-specific layer declaration is needed:
|
|
24
26
|
|
|
25
27
|
```css title="src/index.css"
|
|
26
28
|
@import "tailwindcss";
|
|
29
|
+
@import "tw-animate-css";
|
|
27
30
|
@import "@c15t/react/styles.css";
|
|
28
31
|
```
|
|
29
32
|
|
|
30
33
|
```css title="app/globals.css"
|
|
31
34
|
@import "tailwindcss";
|
|
35
|
+
@import "tw-animate-css";
|
|
32
36
|
@import "@c15t/nextjs/styles.css";
|
|
33
37
|
```
|
|
34
38
|
|
package/docs/styling/tokens.md
CHANGED
|
@@ -6,6 +6,8 @@ description: The six base token categories that control colors, typography, spac
|
|
|
6
6
|
|
|
7
7
|
Color tokens define the palette for all consent components. Set `colors` for light mode and `dark` for dark mode overrides.
|
|
8
8
|
|
|
9
|
+
When `textOnPrimary` is omitted, c15t derives it automatically from `primary` to keep text readable on primary-filled surfaces such as stock branding tags and buttons. Set `textOnPrimary` explicitly when you need a specific foreground color.
|
|
10
|
+
|
|
9
11
|
```tsx
|
|
10
12
|
const theme = {
|
|
11
13
|
colors: {
|
|
@@ -45,7 +47,7 @@ const theme = {
|
|
|
45
47
|
|borderHover|string \|undefined|Hover state for bordered elements.|-|Optional|
|
|
46
48
|
|text|string \|undefined|Primary text color for headings and body.|-|Optional|
|
|
47
49
|
|textMuted|string \|undefined|Muted text color for secondary content.|-|Optional|
|
|
48
|
-
|textOnPrimary|string \|undefined|Text color for content on primary background.|-|Optional|
|
|
50
|
+
|textOnPrimary|string \|undefined|Text color for content on primary background. Auto-derived from \`primary\` when omitted.|-|Optional|
|
|
49
51
|
|overlay|string \|undefined|Overlay color for modal backdrops.|-|Optional|
|
|
50
52
|
|switchTrack|string \|undefined|Toggle track color (off state).|-|Optional|
|
|
51
53
|
|switchTrackActive|string \|undefined|Toggle track color (on state).|-|Optional|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "../dist/iab/styles.tw3.css";
|
package/package.json
CHANGED
|
@@ -1,31 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c15t/react",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.2",
|
|
4
|
+
"description": "Headless cookie banner, consent manager & preference center for React. RSC-compatible, GDPR/CCPA/LGPD/TCF, TypeScript-first.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
|
+
"react-consent",
|
|
8
|
+
"react-cookie-banner",
|
|
9
|
+
"react-cookie-consent",
|
|
7
10
|
"consent",
|
|
8
11
|
"privacy",
|
|
9
12
|
"gdpr",
|
|
10
13
|
"ccpa",
|
|
11
14
|
"lgpd",
|
|
15
|
+
"tcf",
|
|
16
|
+
"iab",
|
|
17
|
+
"cmp",
|
|
12
18
|
"headless",
|
|
13
19
|
"typescript",
|
|
14
20
|
"cookie-banner",
|
|
21
|
+
"cookie-consent",
|
|
15
22
|
"consent-management-platform",
|
|
16
|
-
"
|
|
23
|
+
"consent-management",
|
|
17
24
|
"consent-banner",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
25
|
+
"consent-manager-react",
|
|
26
|
+
"preference-center",
|
|
27
|
+
"react-server-components",
|
|
28
|
+
"rsc",
|
|
29
|
+
"use-client",
|
|
30
|
+
"tracking-consent"
|
|
21
31
|
],
|
|
22
32
|
"homepage": "https://c15t.com/docs/frameworks/react/quickstart",
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/c15t/c15t/issues"
|
|
35
|
+
},
|
|
23
36
|
"repository": {
|
|
24
37
|
"type": "git",
|
|
25
38
|
"url": "https://github.com/c15t/c15t.git",
|
|
26
39
|
"directory": "packages/react"
|
|
27
40
|
},
|
|
28
|
-
"license": "
|
|
41
|
+
"license": "Apache-2.0",
|
|
29
42
|
"sideEffects": [
|
|
30
43
|
"**/*.css"
|
|
31
44
|
],
|
|
@@ -140,6 +153,7 @@
|
|
|
140
153
|
"dist-types",
|
|
141
154
|
"client",
|
|
142
155
|
"styles.css",
|
|
156
|
+
"styles.tw3.css",
|
|
143
157
|
"iab",
|
|
144
158
|
"src/styles.tw3.css",
|
|
145
159
|
"src/iab/styles.tw3.css",
|
|
@@ -151,10 +165,10 @@
|
|
|
151
165
|
"build:agent-docs": "bun ../../scripts/agent-docs/generate-package-docs.ts @c15t/react",
|
|
152
166
|
"check-types": "bun prebuild && tsc --noEmit",
|
|
153
167
|
"clean:dist:test-artifacts": "bun --eval \"import { rmSync } from 'node:fs'; rmSync('dist/mockServiceWorker.js', { force: true });\"",
|
|
154
|
-
"dev": "bun prebuild && rslib build
|
|
168
|
+
"dev": "sh -c 'bun prebuild && rslib build --no-dts --no-clean && bun scripts/generate-distribution-css.ts && rslib build --watch --no-dts --no-clean'",
|
|
155
169
|
"fmt": "bun biome format --write . && bun biome check --formatter-enabled=false --linter-enabled=false --write",
|
|
156
170
|
"lint": "bun biome lint ./src",
|
|
157
|
-
"prepack": "
|
|
171
|
+
"prepack": "bun run build",
|
|
158
172
|
"test": "bun prebuild && vitest run",
|
|
159
173
|
"test:watch": "bun prebuild && vitest"
|
|
160
174
|
},
|
|
@@ -164,14 +178,13 @@
|
|
|
164
178
|
"not op_mini all"
|
|
165
179
|
],
|
|
166
180
|
"dependencies": {
|
|
167
|
-
"@c15t/ui": "2.0.
|
|
168
|
-
"c15t": "2.0.0
|
|
169
|
-
"clsx": "2.1.1"
|
|
181
|
+
"@c15t/ui": "2.0.1",
|
|
182
|
+
"c15t": "2.0.0"
|
|
170
183
|
},
|
|
171
184
|
"devDependencies": {
|
|
172
|
-
"@c15t/backend": "2.0.
|
|
173
|
-
"@c15t/iab": "2.0.0
|
|
174
|
-
"@c15t/typescript-config": "0.0.1
|
|
185
|
+
"@c15t/backend": "2.0.2",
|
|
186
|
+
"@c15t/iab": "2.0.0",
|
|
187
|
+
"@c15t/typescript-config": "0.0.1",
|
|
175
188
|
"@c15t/vitest-config": "1.0.0",
|
|
176
189
|
"@iabtechlabtcf/core": "^1.5.20",
|
|
177
190
|
"genversion": "3.2.0",
|
package/readme.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "@c15t/react: React Consent Components",
|
|
3
|
-
"description": "
|
|
3
|
+
"description": "Headless cookie banner, consent manager & preference center for React. RSC-compatible, GDPR/CCPA/LGPD/TCF, TypeScript-first.",
|
|
4
4
|
"features": [
|
|
5
5
|
"Works with React 19, 18, 17, and 16.8",
|
|
6
6
|
"Full 'use client' support for React Server Components",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"prerequisites": [
|
|
16
16
|
"React 16.8 or later",
|
|
17
17
|
"Node.js 18.17.0 or later",
|
|
18
|
-
"A hosted [c15t instance](https://
|
|
18
|
+
"A hosted [c15t instance](https://inth.com) (free sign-up) or [self-hosted deployment](https://c15t.com/docs/self-host/v2)"
|
|
19
19
|
],
|
|
20
20
|
"manualInstallation": [
|
|
21
21
|
"",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
],
|
|
32
32
|
"usage": [
|
|
33
33
|
"Import `ConsentManagerProvider` in your app's root component",
|
|
34
|
-
"Add `
|
|
34
|
+
"Add `ConsentBanner` and `ConsentDialog` components",
|
|
35
35
|
"Customise styling and behaviour to fit your app",
|
|
36
36
|
"For full implementation details, see the [React quickstart docs](https://c15t.com/docs/frameworks/react/quickstart)",
|
|
37
37
|
|
|
38
|
-
"```tsx\n// App.tsx\nimport {
|
|
38
|
+
"```tsx\n// App.tsx\nimport {\n ConsentManagerProvider,\n ConsentBanner,\n ConsentDialog,\n} from '@c15t/react'\n\nfunction App() {\n return (\n <ConsentManagerProvider>\n <YourApp />\n <ConsentBanner />\n <ConsentDialog />\n </ConsentManagerProvider>\n )\n}\n```"
|
|
39
39
|
],
|
|
40
40
|
"docsLink": "https://c15t.com/docs/frameworks/react/quickstart",
|
|
41
41
|
"quickStartLink": "https://c15t.com/docs/frameworks/react/quickstart",
|
package/styles.tw3.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "./dist/styles.tw3.css";
|