@c15t/nextjs 1.5.0 → 1.6.0

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.
Files changed (46) hide show
  1. package/README.md +107 -34
  2. package/dist/client.cjs +1 -0
  3. package/dist/client.d.ts +3 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +1 -0
  6. package/dist/components/callbacks/index.cjs +2 -0
  7. package/dist/components/callbacks/index.d.ts +5 -0
  8. package/dist/components/callbacks/index.d.ts.map +1 -0
  9. package/dist/components/callbacks/index.js +2 -0
  10. package/dist/components/consent-manager-provider/index.cjs +1 -1
  11. package/dist/components/consent-manager-provider/index.d.ts +2 -2
  12. package/dist/components/consent-manager-provider/index.d.ts.map +1 -1
  13. package/dist/components/consent-manager-provider/index.js +1 -1
  14. package/dist/components/consent-manager-provider/initial-data-hoc.d.ts +1 -2
  15. package/dist/components/consent-manager-provider/initial-data-hoc.d.ts.map +1 -1
  16. package/dist/components/consent-manager-provider/pages.d.ts +1 -1
  17. package/dist/components/consent-manager-provider/pages.d.ts.map +1 -1
  18. package/dist/components/consent-manager-provider/utils/enrich-options.d.ts +1 -1
  19. package/dist/components/consent-manager-provider/utils/enrich-options.d.ts.map +1 -1
  20. package/dist/components/consent-manager-provider/utils/initial-data.test.cjs +1 -1
  21. package/dist/components/consent-manager-provider/utils/initial-data.test.js +1 -1
  22. package/dist/components/react/headless.cjs +1 -0
  23. package/dist/components/react/headless.d.ts +2 -0
  24. package/dist/components/react/headless.d.ts.map +1 -0
  25. package/dist/components/react/headless.js +1 -0
  26. package/dist/index.cjs +1 -1
  27. package/dist/index.d.ts +1 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/pages.cjs +1 -1
  31. package/dist/pages.d.ts +2 -3
  32. package/dist/pages.d.ts.map +1 -1
  33. package/dist/pages.js +1 -1
  34. package/dist/shared.cjs +1 -0
  35. package/dist/shared.d.ts +3 -0
  36. package/dist/shared.d.ts.map +1 -0
  37. package/dist/shared.js +1 -0
  38. package/dist/types.cjs +1 -0
  39. package/dist/types.d.ts +38 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +0 -0
  42. package/dist/version.cjs +1 -1
  43. package/dist/version.d.ts +1 -1
  44. package/dist/version.js +1 -1
  45. package/package.json +54 -16
  46. package/readme.json +36 -0
package/README.md CHANGED
@@ -1,53 +1,128 @@
1
+ <p align="center">
2
+ <a href="https://c15t.com?utm_source=github&utm_medium=repopage_%40c15t%2Fnextjs" target="_blank" rel="noopener noreferrer">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="../../docs/assets/c15t-banner-readme-dark.svg" type="image/svg+xml">
5
+ <img src="../../docs/assets/c15t-banner-readme-light.svg" alt="c15t Banner" type="image/svg+xml">
6
+ </picture>
7
+ </a>
8
+ <br />
9
+ <h1 align="center">@c15t/nextjs: Next.js Integration</h1>
10
+ </p>
11
+
12
+ [![GitHub stars](https://img.shields.io/github/stars/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t)
13
+ [![CI](https://img.shields.io/github/actions/workflow/status/c15t/c15t/ci.yml?style=flat-square)](https://github.com/c15t/c15t/actions/workflows/ci.yml)
14
+ [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg?style=flat-square)](https://github.com/c15t/c15t/blob/main/LICENSE.md)
15
+ [![Discord](https://img.shields.io/discord/1312171102268690493?style=flat-square)](https://c15t.com/discord)
16
+ [![npm version](https://img.shields.io/npm/v/%40c15t%2Fnextjs?style=flat-square)](https://www.npmjs.com/package/@c15t/nextjs)
17
+ [![Top Language](https://img.shields.io/github/languages/top/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t)
18
+ [![Last Commit](https://img.shields.io/github/last-commit/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t/commits/main)
19
+ [![Open Issues](https://img.shields.io/github/issues/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t/issues)
20
+
21
+ Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization
22
+
23
+ ## Key Features
24
+
25
+ - Works with Next.js 15, 14, and 13
26
+ - Full 'use client' support for React Server Components
27
+ - Server-side rendering support for both app and pages routers
28
+ - Automatic GDPR, CCPA, and LGPD compliance
29
+ - Minimal configuration with TypeScript-first design
30
+ - Headless, customisable UI components (Cookie Banner, Consent Dialog, etc.)
31
+ - Built-in internationalisation support
32
+ - Seamless consent storage and tracking
33
+
34
+ ## Prerequisites
35
+
36
+ - Next.js 13.5.4 or later
37
+ - React 18 or later
38
+ - Node.js 18.17.0 or later
39
+ - A hosted [c15t instance](https://consent.io) (free sign-up) or [self-hosted deployment](https://c15t.com/docs/self-host/v2)
40
+
41
+ ## Quick Start
42
+
43
+ Easiest setup with @c15t/cli:
1
44
 
2
- # @c15t/nextjs
45
+ ```bash
46
+ # Generate schema and code
47
+ pnpm dlx @c15t/cli generate
48
+ # Alternatives:
49
+ # npx @c15t/cli generate
50
+ # bunx --bun @c15t/cli generate
51
+ ```
52
+
53
+ The CLI will:
3
54
 
4
- Next.js integration for C15T consent management. This package combines `@c15t/node-sdk`, `@c15t/react`, and `@c15t/middleware` into a single, easy-to-use package for Next.js applications.
55
+ - Install necessary packages
56
+ - Configure your c15t instance
57
+ - Set up environment variables
58
+ - Add consent management components to your app
5
59
 
6
- ## Installation
60
+ ## Manual Installation
7
61
 
8
62
  ```bash
9
- npm install @c15t/nextjs
10
- # or
11
- yarn add @c15t/nextjs
12
- # or
13
63
  pnpm add @c15t/nextjs
14
64
  ```
15
65
 
16
- ## Features
66
+ To manually install, follow the guide in our [docs – manual setup](https://c15t.com/docs/frameworks/nextjs/quickstart#manual-setup).
67
+
68
+ ## Usage
69
+
70
+ 1. Import `ConsentManagerProvider` in your app's root layout
71
+ 2. Add `CookieBanner` and `ConsentManagerDialog` components
72
+ 3. Customise styling and behaviour to fit your app
73
+ 4. For full implementation details, see the [Next.js quickstart docs](https://c15t.com/docs/frameworks/next/quickstart)
74
+
75
+ ```tsx
76
+ // app/layout.tsx
77
+ import { ConsentManagerProvider, CookieBanner } from '@c15t/nextjs'
78
+
79
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
80
+ return (
81
+ <html lang="en">
82
+ <body>
83
+ <ConsentManagerProvider>
84
+ {children}
85
+ <CookieBanner />
86
+ </ConsentManagerProvider>
87
+ </body>
88
+ </html>
89
+ )
90
+ }
91
+ ```
17
92
 
18
- - 🔄 Automatic middleware integration
19
- - 🎯 Type-safe API client
20
- - 🎨 Pre-built React components
21
- - 🔒 Secure consent management
22
- - 📱 Responsive design
23
- - 🌐 Server-side rendering support
93
+ ## Documentation
24
94
 
25
- ## API Reference
95
+ For further information, guides, and examples visit the [reference documentation](https://c15t.com/docs/frameworks/next/quickstart).
26
96
 
27
- ### Components
97
+ ## Support
28
98
 
29
- - `C15TNextProvider`: Provider component for the consent management system
30
- - `ConsentBanner`: Pre-built consent banner component
31
- - `ConsentManager`: Component for managing consent preferences
32
- - `ConsentButton`: Button component for triggering consent dialogs
99
+ - Join our [Discord community](https://c15t.com/discord)
100
+ - Open an issue on our [GitHub repository](https://github.com/c15t/c15t/issues)
101
+ - Visit [consent.io](https://consent.io) and use the chat widget
102
+ - Contact our support team via email [support@consent.io](mailto:support@consent.io)
33
103
 
34
- ### Hooks
104
+ ## Contributing
35
105
 
36
- - `useConsent`: Hook for accessing consent state and methods
37
- - `useConsentPreferences`: Hook for managing consent preferences
38
- - `useConsentBanner`: Hook for controlling the consent banner
106
+ - We're open to all community contributions!
107
+ - Read our [Contribution Guidelines](https://c15t.com/docs/oss/contributing)
108
+ - Review our [Code of Conduct](https://c15t.com/docs/oss/code-of-conduct)
109
+ - Fork the repository
110
+ - Create a new branch for your feature
111
+ - Submit a pull request
112
+ - **All contributions, big or small, are welcome and appreciated!**
39
113
 
40
- ### Utilities
114
+ ## Security
41
115
 
42
- - `withC15T`: Higher-order function for configuring Next.js
43
- - `createConsentClient`: Function for creating a consent client instance
116
+ If you believe you have found a security vulnerability in c15t, we encourage you to **_responsibly disclose this and NOT open a public issue_**. We will investigate all legitimate reports.
44
117
 
118
+ Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our Open Source Software. To do this, please visit [https://github.com/c15t/c15t/security](https://github.com/c15t/c15t/security) and click the "Report a vulnerability" button.
45
119
 
46
- ## Support
120
+ ### Security Policy
47
121
 
48
- - 📚 [Documentation](https://c15t.com/docs)
49
- - 💬 [Discord Community](https://c15t.com/discord)
50
- - 🐛 [Issue Tracker](https://github.com/c15t/c15t/issues)
122
+ - Please do not share security vulnerabilities in public forums, issues, or pull requests
123
+ - Provide detailed information about the potential vulnerability
124
+ - Allow reasonable time for us to address the issue before any public disclosure
125
+ - We are committed to addressing security concerns promptly and transparently
51
126
 
52
127
  ## License
53
128
 
@@ -55,6 +130,4 @@ pnpm add @c15t/nextjs
55
130
 
56
131
  ---
57
132
 
58
- <div align="center">
59
- <strong>Built with ❤️ by the <a href="https://www.consent.io">consent.io</a> team</strong>
60
- </div>
133
+ **Built with ❤️ by the [consent.io](https://www.consent.io?utm_source=github&utm_medium=repopage_%40c15t%2Fnextjs) team**
@@ -0,0 +1 @@
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./components/callbacks":function(e){e.exports=require("./components/callbacks/index.cjs")},"./shared":function(e){e.exports=require("./shared.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerCallbacks:()=>e.ConsentManagerCallbacks});var e=__webpack_require__("./components/callbacks"),_=__webpack_require__("./shared"),r={};for(var a in _)0>["ConsentManagerCallbacks","default"].indexOf(a)&&(r[a]=(function(e){return _[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,r)})(),exports.ConsentManagerCallbacks=__webpack_exports__.ConsentManagerCallbacks,__webpack_exports__)-1===["ConsentManagerCallbacks"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ export { ConsentManagerCallbacks } from './components/callbacks';
2
+ export * from './shared';
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,cAAc,UAAU,CAAC"}
package/dist/client.js ADDED
@@ -0,0 +1 @@
1
+ import*as a from"./components/callbacks/index.js";export*from"./shared.js";var s=a.ConsentManagerCallbacks;export{s as ConsentManagerCallbacks};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerCallbacks:()=>ConsentManagerCallbacks});let react_namespaceObject=require("@c15t/react"),external_react_namespaceObject=require("react");function ConsentManagerCallbacks({callbacks:e}){let{setCallback:_}=(0,react_namespaceObject.useConsentManager)();return(0,external_react_namespaceObject.useEffect)(()=>{if(e)for(let[r,a]of Object.entries(e))_(r,a)},[e,_]),null}for(var __webpack_i__ in exports.ConsentManagerCallbacks=__webpack_exports__.ConsentManagerCallbacks,__webpack_exports__)-1===["ConsentManagerCallbacks"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,5 @@
1
+ import { type ConsentManagerProviderProps } from '@c15t/react';
2
+ export declare function ConsentManagerCallbacks({ callbacks, }: {
3
+ callbacks: ConsentManagerProviderProps['options']['callbacks'];
4
+ }): null;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/callbacks/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,2BAA2B,EAEhC,MAAM,aAAa,CAAC;AAGrB,wBAAgB,uBAAuB,CAAC,EACvC,SAAS,GACT,EAAE;IACF,SAAS,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;CAC/D,QAiBA"}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import*as e from"@c15t/react";import*as t from"react";function r({callbacks:r}){let{setCallback:n}=(0,e.useConsentManager)();return(0,t.useEffect)(()=>{if(r)for(let[e,t]of Object.entries(r))n(e,t)},[r,n]),null}export{r as ConsentManagerCallbacks};
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>ConsentManagerProvider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@c15t/react"),headers_namespaceObject=require("next/headers"),enrich_options_cjs_namespaceObject=require("./utils/enrich-options.cjs"),initial_data_cjs_namespaceObject=require("./utils/initial-data.cjs");function ConsentManagerProvider({children:e,options:_}){let r;return r="c15t"===_.mode?(0,initial_data_cjs_namespaceObject.getC15TInitialData)(_.backendURL,(0,headers_namespaceObject.headers)()):void 0,(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ConsentManagerProvider,{options:(0,enrich_options_cjs_namespaceObject.enrichOptions)({options:_,initialData:r,usingAppDir:!0}),children:e})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,__webpack_exports__)-1===["ConsentManagerProvider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>ConsentManagerProvider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@c15t/react"),headers_namespaceObject=require("next/headers"),enrich_options_cjs_namespaceObject=require("./utils/enrich-options.cjs"),initial_data_cjs_namespaceObject=require("./utils/initial-data.cjs");function ConsentManagerProvider({children:e,options:_}){let r;if("c15t"===_.mode){if(!_.backendURL)throw Error("backendURL is required for c15t mode");r=(0,initial_data_cjs_namespaceObject.getC15TInitialData)(_.backendURL,(0,headers_namespaceObject.headers)())}else r=void 0;return(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ConsentManagerProvider,{options:(0,enrich_options_cjs_namespaceObject.enrichOptions)({options:_,initialData:r,usingAppDir:!0}),children:e})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,__webpack_exports__)-1===["ConsentManagerProvider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1,3 +1,3 @@
1
- import { type ConsentManagerProviderProps } from '@c15t/react';
2
- export declare function ConsentManagerProvider({ children, options, }: ConsentManagerProviderProps): import("react/jsx-runtime").JSX.Element;
1
+ import type { AppDirectoryConsentManagerProviderProps } from '../../types';
2
+ export declare function ConsentManagerProvider({ children, options, }: AppDirectoryConsentManagerProviderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;AASrB,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CAwB7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,uCAAuC,EAEvC,MAAM,aAAa,CAAC;AAIrB,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,uCAAuC,2CA4BzC"}
@@ -1 +1 @@
1
- import*as t from"react/jsx-runtime";import*as i from"@c15t/react";import*as r from"next/headers";import*as a from"./utils/enrich-options.js";import*as e from"./utils/initial-data.js";function o({children:o,options:n}){let s;return s="c15t"===n.mode?(0,e.getC15TInitialData)(n.backendURL,(0,r.headers)()):void 0,(0,t.jsx)(i.ConsentManagerProvider,{options:(0,a.enrichOptions)({options:n,initialData:s,usingAppDir:!0}),children:o})}export{o as ConsentManagerProvider};
1
+ import*as r from"react/jsx-runtime";import*as i from"@c15t/react";import*as t from"next/headers";import*as e from"./utils/enrich-options.js";import*as o from"./utils/initial-data.js";function a({children:a,options:n}){let s;if("c15t"===n.mode){if(!n.backendURL)throw Error("backendURL is required for c15t mode");s=(0,o.getC15TInitialData)(n.backendURL,(0,t.headers)())}else s=void 0;return(0,r.jsx)(i.ConsentManagerProvider,{options:(0,e.enrichOptions)({options:n,initialData:s,usingAppDir:!0}),children:a})}export{a as ConsentManagerProvider};
@@ -1,6 +1,5 @@
1
- import type { ConsentManagerProviderProps } from '@c15t/react';
2
1
  import type { GetServerSideProps } from 'next';
3
- type InitialData = Awaited<NonNullable<ConsentManagerProviderProps['options']['store']>['_initialData']>;
2
+ import type { InitialData } from '../../types';
4
3
  interface WithInitialC15TDataProps {
5
4
  initialC15TData?: InitialData;
6
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initial-data-hoc.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/initial-data-hoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,MAAM,CAAC;AAG1E,KAAK,WAAW,GAAG,OAAO,CACzB,WAAW,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAC5E,CAAC;AAEF,UAAU,wBAAwB;IACjC,eAAe,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAC5C,kBAAkB,CAAC,KAAK,GAAG,wBAAwB,CAAC,CAqCtD"}
1
+ {"version":3,"file":"initial-data-hoc.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/initial-data-hoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,MAAM,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,UAAU,wBAAwB;IACjC,eAAe,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAC5C,kBAAkB,CAAC,KAAK,GAAG,wBAAwB,CAAC,CAqCtD"}
@@ -1,5 +1,5 @@
1
1
  import { type ConsentManagerProviderProps } from '@c15t/react';
2
- type InitialDataPromise = NonNullable<ConsentManagerProviderProps['options']['store']>['_initialData'];
2
+ import type { InitialDataPromise } from '../../types';
3
3
  /**
4
4
  * Base props for the consent manager provider
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/pages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;AAGrB,KAAK,kBAAkB,GAAG,WAAW,CACpC,2BAA2B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAC/C,CAAC,cAAc,CAAC,CAAC;AAElB;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACxB,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,GAAG,iBAAiB,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,GAAG;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG,iBAAiB,GAAG;IACzC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,GAAG;QACjD,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,KAAK,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,2CAiBhE"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/pages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACxB,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,GAAG,iBAAiB,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,GAAG;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG,iBAAiB,GAAG;IACzC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,GAAG;QACjD,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,KAAK,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,2CAiBhE"}
@@ -1,5 +1,5 @@
1
1
  import type { ConsentManagerProviderProps } from '@c15t/react';
2
- type InitialDataPromise = NonNullable<ConsentManagerProviderProps['options']['store']>['_initialData'];
2
+ import type { InitialDataPromise } from '../../../types';
3
3
  interface EnrichOptionsProps {
4
4
  initialData?: InitialDataPromise;
5
5
  usingAppDir?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"enrich-options.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-manager-provider/utils/enrich-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAG/D,KAAK,kBAAkB,GAAG,WAAW,CACpC,2BAA2B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAC/C,CAAC,cAAc,CAAC,CAAC;AAElB,UAAU,kBAAkB;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CAChD;AAED,wBAAgB,aAAa,CAAC,EAC7B,OAAO,EACP,WAAW,EACX,WAAmB,GACnB,EAAE,kBAAkB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CA4B7D"}
1
+ {"version":3,"file":"enrich-options.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-manager-provider/utils/enrich-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,UAAU,kBAAkB;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CAChD;AAED,wBAAgB,aAAa,CAAC,EAC7B,OAAO,EACP,WAAW,EACX,WAAmB,GACnB,EAAE,kBAAkB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CA4B7D"}
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let external_vitest_namespaceObject=require("vitest"),external_headers_cjs_namespaceObject=require("./headers.cjs"),external_initial_data_cjs_namespaceObject=require("./initial-data.cjs"),external_normalize_url_cjs_namespaceObject=require("./normalize-url.cjs");for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("next/headers",()=>({headers:()=>new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"})})),external_vitest_namespaceObject.vi.mock("./headers",()=>({extractRelevantHeaders:external_vitest_namespaceObject.vi.fn()})),external_vitest_namespaceObject.vi.mock("./normalize-url",()=>({normalizeBackendURL:external_vitest_namespaceObject.vi.fn()})),(0,external_vitest_namespaceObject.describe)("getC15TInitialData",()=>{let e={"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"},t=new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"}),a=external_vitest_namespaceObject.vi.fn();(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.stubGlobal("fetch",a),external_headers_cjs_namespaceObject.extractRelevantHeaders.mockReturnValue(e),external_normalize_url_cjs_namespaceObject.normalizeBackendURL.mockReturnValue("https://api.example.com")}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.unstubAllGlobals()}),(0,external_vitest_namespaceObject.it)("should return undefined when normalized URL is not available",async()=>{external_normalize_url_cjs_namespaceObject.normalizeBackendURL.mockReturnValue(null);let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should return undefined when no relevant headers are present",async()=>{external_headers_cjs_namespaceObject.extractRelevantHeaders.mockReturnValue({});let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should successfully fetch and return consent banner data",async()=>{let n={showConsentBanner:!0,jurisdiction:{message:"Please accept cookies",code:"GDPR"},location:{countryCode:"US",regionCode:"CA"},translations:{language:"en",translations:{common:{acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",save:"Save"},cookieBanner:{title:"Cookie Preferences",description:"We use cookies to improve your experience"},consentManagerDialog:{title:"Manage Cookie Preferences",description:"Customize your cookie preferences"},consentTypes:{necessary:{title:"Necessary",description:"Required for the website to function"},experience:{title:"Experience",description:"Enhance your browsing experience"},functionality:{title:"Functionality",description:"Enable specific functionality"},marketing:{title:"Marketing",description:"Help us improve our marketing"},measurement:{title:"Measurement",description:"Help us measure performance"}}}}};a.mockResolvedValueOnce({ok:!0,json:()=>Promise.resolve(n)});let c=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(a).toHaveBeenCalledWith("https://api.example.com/show-consent-banner",{method:"GET",headers:e}),(0,external_vitest_namespaceObject.expect)(c).toEqual(n)}),(0,external_vitest_namespaceObject.it)("should handle fetch failure gracefully",async()=>{a.mockRejectedValueOnce(Error("Network error"));let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should handle non-ok response gracefully",async()=>{a.mockResolvedValueOnce({ok:!1,status:500,statusText:"Internal Server Error"});let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let external_vitest_namespaceObject=require("vitest"),external_headers_cjs_namespaceObject=require("./headers.cjs"),external_initial_data_cjs_namespaceObject=require("./initial-data.cjs"),external_normalize_url_cjs_namespaceObject=require("./normalize-url.cjs");for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("next/headers",()=>({headers:()=>new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"})})),external_vitest_namespaceObject.vi.mock("./headers",()=>({extractRelevantHeaders:external_vitest_namespaceObject.vi.fn()})),external_vitest_namespaceObject.vi.mock("./normalize-url",()=>({normalizeBackendURL:external_vitest_namespaceObject.vi.fn()})),(0,external_vitest_namespaceObject.describe)("getC15TInitialData",()=>{let e={"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"},t=new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"}),a=external_vitest_namespaceObject.vi.fn();(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.stubGlobal("fetch",a),external_headers_cjs_namespaceObject.extractRelevantHeaders.mockReturnValue(e),external_normalize_url_cjs_namespaceObject.normalizeBackendURL.mockReturnValue("https://api.example.com")}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.unstubAllGlobals()}),(0,external_vitest_namespaceObject.it)("should return undefined when normalized URL is not available",async()=>{external_normalize_url_cjs_namespaceObject.normalizeBackendURL.mockReturnValue(null);let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should return undefined when no relevant headers are present",async()=>{external_headers_cjs_namespaceObject.extractRelevantHeaders.mockReturnValue({});let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should successfully fetch and return consent banner data",async()=>{let n={showConsentBanner:!0,branding:"c15t",jurisdiction:{message:"Please accept cookies",code:"GDPR"},location:{countryCode:"US",regionCode:"CA"},translations:{language:"en",translations:{common:{acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",save:"Save"},cookieBanner:{title:"Cookie Preferences",description:"We use cookies to improve your experience"},consentManagerDialog:{title:"Manage Cookie Preferences",description:"Customize your cookie preferences"},consentTypes:{necessary:{title:"Necessary",description:"Required for the website to function"},experience:{title:"Experience",description:"Enhance your browsing experience"},functionality:{title:"Functionality",description:"Enable specific functionality"},marketing:{title:"Marketing",description:"Help us improve our marketing"},measurement:{title:"Measurement",description:"Help us measure performance"}}}}};a.mockResolvedValueOnce({ok:!0,json:()=>Promise.resolve(n)});let c=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(a).toHaveBeenCalledWith("https://api.example.com/show-consent-banner",{method:"GET",headers:e}),(0,external_vitest_namespaceObject.expect)(c).toEqual(n)}),(0,external_vitest_namespaceObject.it)("should handle fetch failure gracefully",async()=>{a.mockRejectedValueOnce(Error("Network error"));let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()}),(0,external_vitest_namespaceObject.it)("should handle non-ok response gracefully",async()=>{a.mockResolvedValueOnce({ok:!1,status:500,statusText:"Internal Server Error"});let e=await (0,external_initial_data_cjs_namespaceObject.getC15TInitialData)("https://example.com",t);(0,external_vitest_namespaceObject.expect)(e).toBeUndefined()})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- import*as e from"vitest";import*as t from"./headers.js";import*as a from"./initial-data.js";import*as o from"./normalize-url.js";e.vi.mock("next/headers",()=>({headers:()=>new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"})})),e.vi.mock("./headers",()=>({extractRelevantHeaders:e.vi.fn()})),e.vi.mock("./normalize-url",()=>({normalizeBackendURL:e.vi.fn()})),(0,e.describe)("getC15TInitialData",()=>{let n={"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"},r=new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"}),i=e.vi.fn();(0,e.beforeEach)(()=>{e.vi.clearAllMocks(),e.vi.stubGlobal("fetch",i),t.extractRelevantHeaders.mockReturnValue(n),o.normalizeBackendURL.mockReturnValue("https://api.example.com")}),(0,e.afterEach)(()=>{e.vi.unstubAllGlobals()}),(0,e.it)("should return undefined when normalized URL is not available",async()=>{o.normalizeBackendURL.mockReturnValue(null);let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()}),(0,e.it)("should return undefined when no relevant headers are present",async()=>{t.extractRelevantHeaders.mockReturnValue({});let o=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(o).toBeUndefined()}),(0,e.it)("should successfully fetch and return consent banner data",async()=>{let t={showConsentBanner:!0,jurisdiction:{message:"Please accept cookies",code:"GDPR"},location:{countryCode:"US",regionCode:"CA"},translations:{language:"en",translations:{common:{acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",save:"Save"},cookieBanner:{title:"Cookie Preferences",description:"We use cookies to improve your experience"},consentManagerDialog:{title:"Manage Cookie Preferences",description:"Customize your cookie preferences"},consentTypes:{necessary:{title:"Necessary",description:"Required for the website to function"},experience:{title:"Experience",description:"Enhance your browsing experience"},functionality:{title:"Functionality",description:"Enable specific functionality"},marketing:{title:"Marketing",description:"Help us improve our marketing"},measurement:{title:"Measurement",description:"Help us measure performance"}}}}};i.mockResolvedValueOnce({ok:!0,json:()=>Promise.resolve(t)});let o=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(i).toHaveBeenCalledWith("https://api.example.com/show-consent-banner",{method:"GET",headers:n}),(0,e.expect)(o).toEqual(t)}),(0,e.it)("should handle fetch failure gracefully",async()=>{i.mockRejectedValueOnce(Error("Network error"));let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()}),(0,e.it)("should handle non-ok response gracefully",async()=>{i.mockResolvedValueOnce({ok:!1,status:500,statusText:"Internal Server Error"});let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()})});
1
+ import*as e from"vitest";import*as t from"./headers.js";import*as a from"./initial-data.js";import*as o from"./normalize-url.js";e.vi.mock("next/headers",()=>({headers:()=>new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"})})),e.vi.mock("./headers",()=>({extractRelevantHeaders:e.vi.fn()})),e.vi.mock("./normalize-url",()=>({normalizeBackendURL:e.vi.fn()})),(0,e.describe)("getC15TInitialData",()=>{let n={"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"},r=new Headers({"x-forwarded-proto":"https","x-forwarded-host":"example.com",cookie:"test=123"}),i=e.vi.fn();(0,e.beforeEach)(()=>{e.vi.clearAllMocks(),e.vi.stubGlobal("fetch",i),t.extractRelevantHeaders.mockReturnValue(n),o.normalizeBackendURL.mockReturnValue("https://api.example.com")}),(0,e.afterEach)(()=>{e.vi.unstubAllGlobals()}),(0,e.it)("should return undefined when normalized URL is not available",async()=>{o.normalizeBackendURL.mockReturnValue(null);let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()}),(0,e.it)("should return undefined when no relevant headers are present",async()=>{t.extractRelevantHeaders.mockReturnValue({});let o=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(o).toBeUndefined()}),(0,e.it)("should successfully fetch and return consent banner data",async()=>{let t={showConsentBanner:!0,branding:"c15t",jurisdiction:{message:"Please accept cookies",code:"GDPR"},location:{countryCode:"US",regionCode:"CA"},translations:{language:"en",translations:{common:{acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",save:"Save"},cookieBanner:{title:"Cookie Preferences",description:"We use cookies to improve your experience"},consentManagerDialog:{title:"Manage Cookie Preferences",description:"Customize your cookie preferences"},consentTypes:{necessary:{title:"Necessary",description:"Required for the website to function"},experience:{title:"Experience",description:"Enhance your browsing experience"},functionality:{title:"Functionality",description:"Enable specific functionality"},marketing:{title:"Marketing",description:"Help us improve our marketing"},measurement:{title:"Measurement",description:"Help us measure performance"}}}}};i.mockResolvedValueOnce({ok:!0,json:()=>Promise.resolve(t)});let o=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(i).toHaveBeenCalledWith("https://api.example.com/show-consent-banner",{method:"GET",headers:n}),(0,e.expect)(o).toEqual(t)}),(0,e.it)("should handle fetch failure gracefully",async()=>{i.mockRejectedValueOnce(Error("Network error"));let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()}),(0,e.it)("should handle non-ok response gracefully",async()=>{i.mockResolvedValueOnce({ok:!1,status:500,statusText:"Internal Server Error"});let t=await (0,a.getC15TInitialData)("https://example.com",r);(0,e.expect)(t).toBeUndefined()})});
@@ -0,0 +1 @@
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"@c15t/react/headless":function(e){e.exports=require("@c15t/react/headless")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("@c15t/react/headless"),_={};for(var r in e)"default"!==r&&(_[r]=(function(_){return e[_]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,2 @@
1
+ export * from '@c15t/react/headless';
2
+ //# sourceMappingURL=headless.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/components/react/headless.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export*from"@c15t/react/headless";
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>react_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>react_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>react_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>react_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>react_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>react_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>react_namespaceObject.detectBrowserLanguage,CookieBanner:()=>react_namespaceObject.CookieBanner,configureConsentManager:()=>react_namespaceObject.configureConsentManager,useConsentManager:()=>react_namespaceObject.useConsentManager,useTranslations:()=>react_namespaceObject.useTranslations,ConsentManagerProvider:()=>index_cjs_namespaceObject.ConsentManagerProvider,ConsentManagerDialog:()=>react_namespaceObject.ConsentManagerDialog});let index_cjs_namespaceObject=require("./components/consent-manager-provider/index.cjs"),react_namespaceObject=require("@c15t/react");for(var __webpack_i__ in exports.ConsentManagerDialog=__webpack_exports__.ConsentManagerDialog,exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.ConsentManagerWidget=__webpack_exports__.ConsentManagerWidget,exports.CookieBanner=__webpack_exports__.CookieBanner,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useTranslations=__webpack_exports__.useTranslations,__webpack_exports__)-1===["ConsentManagerDialog","ConsentManagerProvider","ConsentManagerWidget","CookieBanner","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useFocusTrap","useTranslations"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./components/consent-manager-provider":function(e){e.exports=require("./components/consent-manager-provider/index.cjs")},"./shared":function(e){e.exports=require("./shared.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>e.ConsentManagerProvider});var e=__webpack_require__("./components/consent-manager-provider"),_=__webpack_require__("./shared"),r={};for(var a in _)0>["ConsentManagerProvider","default"].indexOf(a)&&(r[a]=(function(e){return _[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,r)})(),exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,__webpack_exports__)-1===["ConsentManagerProvider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
package/dist/index.d.ts CHANGED
@@ -8,6 +8,5 @@
8
8
  * @see {@link ./middleware} for Next.js middleware integration
9
9
  */
10
10
  export { ConsentManagerProvider } from './components/consent-manager-provider';
11
- export { CookieBanner, ConsentManagerWidget, ConsentManagerDialog, useConsentManager, useTranslations, useColorScheme, useFocusTrap, configureConsentManager, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from '@c15t/react';
12
- export type { ConsentManagerOptions, ConsentManagerProviderProps, ConsentManagerDialogProps, ConsentManagerInterface, ConsentManagerWidgetProps, CookieBannerProps, } from '@c15t/react';
11
+ export * from './shared';
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,uBAAuB,EAEvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACX,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,GACjB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import*as e from"./components/consent-manager-provider/index.js";import*as a from"@c15t/react";var n=a.ConsentManagerDialog,o=e.ConsentManagerProvider,r=a.ConsentManagerWidget,s=a.CookieBanner,_=a.configureConsentManager,t=a.defaultTranslationConfig,g=a.detectBrowserLanguage,i=a.mergeTranslationConfigs,p=a.prepareTranslationConfig,C=a.useColorScheme,c=a.useConsentManager,u=a.useFocusTrap,l=a.useTranslations;export{n as ConsentManagerDialog,o as ConsentManagerProvider,r as ConsentManagerWidget,s as CookieBanner,_ as configureConsentManager,t as defaultTranslationConfig,g as detectBrowserLanguage,i as mergeTranslationConfigs,p as prepareTranslationConfig,C as useColorScheme,c as useConsentManager,u as useFocusTrap,l as useTranslations};
1
+ import*as r from"./components/consent-manager-provider/index.js";export*from"./shared.js";var e=r.ConsentManagerProvider;export{e as ConsentManagerProvider};
package/dist/pages.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>react_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>react_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>react_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>react_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>react_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>react_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>react_namespaceObject.detectBrowserLanguage,CookieBanner:()=>react_namespaceObject.CookieBanner,configureConsentManager:()=>react_namespaceObject.configureConsentManager,useConsentManager:()=>react_namespaceObject.useConsentManager,useTranslations:()=>react_namespaceObject.useTranslations,ConsentManagerProvider:()=>pages_cjs_namespaceObject.ConsentManagerProvider,withInitialC15TData:()=>initial_data_hoc_cjs_namespaceObject.withInitialC15TData,ConsentManagerDialog:()=>react_namespaceObject.ConsentManagerDialog});let pages_cjs_namespaceObject=require("./components/consent-manager-provider/pages.cjs"),initial_data_hoc_cjs_namespaceObject=require("./components/consent-manager-provider/initial-data-hoc.cjs"),react_namespaceObject=require("@c15t/react");for(var __webpack_i__ in exports.ConsentManagerDialog=__webpack_exports__.ConsentManagerDialog,exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.ConsentManagerWidget=__webpack_exports__.ConsentManagerWidget,exports.CookieBanner=__webpack_exports__.CookieBanner,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useTranslations=__webpack_exports__.useTranslations,exports.withInitialC15TData=__webpack_exports__.withInitialC15TData,__webpack_exports__)-1===["ConsentManagerDialog","ConsentManagerProvider","ConsentManagerWidget","CookieBanner","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useFocusTrap","useTranslations","withInitialC15TData"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./components/consent-manager-provider/initial-data-hoc":function(e){e.exports=require("./components/consent-manager-provider/initial-data-hoc.cjs")},"./components/consent-manager-provider/pages":function(e){e.exports=require("./components/consent-manager-provider/pages.cjs")},"./shared":function(e){e.exports=require("./shared.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>_.ConsentManagerProvider,withInitialC15TData:()=>e.withInitialC15TData});var e=__webpack_require__("./components/consent-manager-provider/initial-data-hoc"),_=__webpack_require__("./components/consent-manager-provider/pages"),r=__webpack_require__("./shared"),a={};for(var t in r)0>["ConsentManagerProvider","default","withInitialC15TData"].indexOf(t)&&(a[t]=(function(e){return r[e]}).bind(0,t));__webpack_require__.d(__webpack_exports__,a)})(),exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.withInitialC15TData=__webpack_exports__.withInitialC15TData,__webpack_exports__)-1===["ConsentManagerProvider","withInitialC15TData"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
package/dist/pages.d.ts CHANGED
@@ -7,8 +7,7 @@
7
7
  * @see {@link @c15t/react} for React components and hooks
8
8
  * @see {@link ./middleware} for Next.js middleware integration
9
9
  */
10
- export { ConsentManagerProvider } from './components/consent-manager-provider/pages';
11
10
  export { withInitialC15TData } from './components/consent-manager-provider/initial-data-hoc';
12
- export { CookieBanner, ConsentManagerWidget, ConsentManagerDialog, useConsentManager, useTranslations, useColorScheme, useFocusTrap, configureConsentManager, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from '@c15t/react';
13
- export type { ConsentManagerOptions, ConsentManagerProviderProps, ConsentManagerDialogProps, ConsentManagerInterface, ConsentManagerWidgetProps, CookieBannerProps, } from '@c15t/react';
11
+ export { ConsentManagerProvider } from './components/consent-manager-provider/pages';
12
+ export * from './shared';
14
13
  //# sourceMappingURL=pages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAE7F,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,uBAAuB,EAEvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACX,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,GACjB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,cAAc,UAAU,CAAC"}
package/dist/pages.js CHANGED
@@ -1 +1 @@
1
- import*as e from"./components/consent-manager-provider/pages.js";import*as a from"./components/consent-manager-provider/initial-data-hoc.js";import*as n from"@c15t/react";var o=n.ConsentManagerDialog,r=e.ConsentManagerProvider,s=n.ConsentManagerWidget,t=n.CookieBanner,_=n.configureConsentManager,i=n.defaultTranslationConfig,p=n.detectBrowserLanguage,g=n.mergeTranslationConfigs,c=n.prepareTranslationConfig,C=n.useColorScheme,l=n.useConsentManager,u=n.useFocusTrap,w=n.useTranslations,f=a.withInitialC15TData;export{o as ConsentManagerDialog,r as ConsentManagerProvider,s as ConsentManagerWidget,t as CookieBanner,_ as configureConsentManager,i as defaultTranslationConfig,p as detectBrowserLanguage,g as mergeTranslationConfigs,c as prepareTranslationConfig,C as useColorScheme,l as useConsentManager,u as useFocusTrap,w as useTranslations,f as withInitialC15TData};
1
+ import*as a from"./components/consent-manager-provider/initial-data-hoc.js";import*as r from"./components/consent-manager-provider/pages.js";export*from"./shared.js";var e=r.ConsentManagerProvider,o=a.withInitialC15TData;export{e as ConsentManagerProvider,o as withInitialC15TData};
@@ -0,0 +1 @@
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>react_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>react_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>react_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>react_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>react_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>react_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>react_namespaceObject.detectBrowserLanguage,CookieBanner:()=>react_namespaceObject.CookieBanner,configureConsentManager:()=>react_namespaceObject.configureConsentManager,useConsentManager:()=>react_namespaceObject.useConsentManager,useTranslations:()=>react_namespaceObject.useTranslations,ConsentManagerDialog:()=>react_namespaceObject.ConsentManagerDialog});let react_namespaceObject=require("@c15t/react");for(var __webpack_i__ in exports.ConsentManagerDialog=__webpack_exports__.ConsentManagerDialog,exports.ConsentManagerWidget=__webpack_exports__.ConsentManagerWidget,exports.CookieBanner=__webpack_exports__.CookieBanner,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useTranslations=__webpack_exports__.useTranslations,__webpack_exports__)-1===["ConsentManagerDialog","ConsentManagerWidget","CookieBanner","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useFocusTrap","useTranslations"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ export type { ConsentManagerDialogProps, ConsentManagerInterface, ConsentManagerOptions, ConsentManagerWidgetProps, CookieBannerProps, } from '@c15t/react';
2
+ export { ConsentManagerDialog, ConsentManagerWidget, CookieBanner, configureConsentManager, defaultTranslationConfig, detectBrowserLanguage, mergeTranslationConfigs, prepareTranslationConfig, useColorScheme, useConsentManager, useFocusTrap, useTranslations, } from '@c15t/react';
3
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAGA,YAAY,EACX,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EAEvB,wBAAwB,EACxB,cAAc,EAEd,iBAAiB,EACjB,YAAY,EACZ,eAAe,GACf,MAAM,aAAa,CAAC"}
package/dist/shared.js ADDED
@@ -0,0 +1 @@
1
+ import*as e from"@c15t/react";var a=e.ConsentManagerDialog,n=e.ConsentManagerWidget,s=e.CookieBanner,o=e.configureConsentManager,r=e.defaultTranslationConfig,_=e.detectBrowserLanguage,t=e.mergeTranslationConfigs,g=e.prepareTranslationConfig,p=e.useColorScheme,i=e.useConsentManager,C=e.useFocusTrap,c=e.useTranslations;export{a as ConsentManagerDialog,n as ConsentManagerWidget,s as CookieBanner,o as configureConsentManager,r as defaultTranslationConfig,_ as detectBrowserLanguage,t as mergeTranslationConfigs,g as prepareTranslationConfig,p as useColorScheme,i as useConsentManager,C as useFocusTrap,c as useTranslations};
package/dist/types.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in __webpack_require__.r(__webpack_exports__),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,38 @@
1
+ import type { ConsentManagerProviderProps as ReactConsentManagerProviderProps } from '@c15t/react';
2
+ /**
3
+ * NextJS-specific configuration options for the ConsentManagerProvider.
4
+ *
5
+ * @remarks
6
+ * This interface extends the base React ConsentManagerProviderProps but excludes
7
+ * callback functionality. Callbacks are omitted to simplify the NextJS integration
8
+ * and prevent potential conflicts with server-side rendering.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic NextJS consent manager setup without callbacks
13
+ * <ConsentManagerProvider
14
+ * options={{
15
+ * mode: 'c15t',
16
+ * backendURL: '/api/c15t',
17
+ * react: {
18
+ * theme: customTheme
19
+ * }
20
+ * }}
21
+ * >
22
+ * {children}
23
+ * </ConsentManagerProvider>
24
+ * ```
25
+ *
26
+ * @see {@link ReactConsentManagerProviderProps} For the complete React provider props
27
+ * @public
28
+ */
29
+ export type AppDirectoryConsentManagerProviderProps = Omit<ReactConsentManagerProviderProps, 'options'> & {
30
+ /**
31
+ * Configuration options for the consent manager without callback functions.
32
+ * This ensures NextJS compatibility by removing potentially problematic callbacks.
33
+ */
34
+ options: Omit<ReactConsentManagerProviderProps['options'], 'callbacks'>;
35
+ };
36
+ export type InitialDataPromise = NonNullable<ReactConsentManagerProviderProps['options']['store']>['_initialData'];
37
+ export type InitialData = Awaited<InitialDataPromise>;
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,IAAI,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACzD,gCAAgC,EAChC,SAAS,CACT,GAAG;IACH;;;OAGG;IACH,OAAO,EAAE,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC3C,gCAAgC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CACpD,CAAC,cAAc,CAAC,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC"}
package/dist/types.js ADDED
File without changes
package/dist/version.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{version:()=>version});let version="1.5.0";for(var __webpack_i__ in exports.version=__webpack_exports__.version,__webpack_exports__)-1===["version"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{version:()=>version});let version="1.6.0";for(var __webpack_i__ in exports.version=__webpack_exports__.version,__webpack_exports__)-1===["version"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "1.5.0";
1
+ export declare const version = "1.6.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- let e="1.5.0";export{e as version};
1
+ let e="1.6.0";export{e as version};
package/package.json CHANGED
@@ -1,36 +1,70 @@
1
1
  {
2
2
  "name": "@c15t/nextjs",
3
- "version": "1.5.0",
4
- "description": "Next.js integration for C15T consent management",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.mjs",
8
- "types": "./dist/index.d.ts",
9
- "files": [
10
- "dist"
3
+ "version": "1.6.0",
4
+ "description": "Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization.",
5
+ "keywords": [
6
+ "nextjs",
7
+ "consent",
8
+ "privacy",
9
+ "gdpr",
10
+ "ccpa",
11
+ "lgpd",
12
+ "server-side rendering",
13
+ "react",
14
+ "typescript",
15
+ "cookie-banner",
16
+ "consent-management-platform",
17
+ "cmp",
18
+ "consent-banner",
19
+ "user-consent",
20
+ "privacy-compliance",
21
+ "web-privacy"
11
22
  ],
23
+ "homepage": "https://c15t.com/docs/frameworks/next/quickstart",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/c15t/c15t.git",
27
+ "directory": "packages/nextjs"
28
+ },
29
+ "license": "GPL-3.0-only",
30
+ "sideEffects": false,
31
+ "type": "module",
12
32
  "exports": {
33
+ "./headless": {
34
+ "types": "./dist/components/react/headless.d.ts",
35
+ "import": "./dist/components/react/headless.js",
36
+ "require": "./dist/components/react/headless.cjs"
37
+ },
13
38
  "./pages": {
14
39
  "types": "./dist/pages.d.ts",
15
40
  "import": "./dist/pages.js",
16
41
  "require": "./dist/pages.cjs"
17
42
  },
43
+ "./client": {
44
+ "types": "./dist/client.d.ts",
45
+ "import": "./dist/client.js",
46
+ "require": "./dist/client.cjs"
47
+ },
18
48
  ".": {
19
49
  "types": "./dist/index.d.ts",
20
50
  "import": "./dist/index.js",
21
51
  "require": "./dist/index.cjs"
22
52
  }
23
53
  },
24
- "sideEffects": false,
25
- "license": "GPL-3.0-only",
54
+ "main": "./dist/index.js",
55
+ "module": "./dist/index.mjs",
56
+ "types": "./dist/index.d.ts",
57
+ "files": [
58
+ "dist"
59
+ ],
26
60
  "dependencies": {
27
- "@c15t/react": "1.5.0",
28
- "@c15t/translations": "1.5.0"
61
+ "@c15t/react": "1.6.0",
62
+ "@c15t/translations": "1.6.0"
29
63
  },
30
64
  "devDependencies": {
31
65
  "genversion": "^3.2.0",
32
66
  "typescript": "^5.0.0",
33
- "@c15t/backend": "1.5.0",
67
+ "@c15t/backend": "1.6.0",
34
68
  "@c15t/typescript-config": "0.0.1-beta.1",
35
69
  "@c15t/vitest-config": "1.0.0"
36
70
  },
@@ -39,13 +73,17 @@
39
73
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
40
74
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
41
75
  },
76
+ "publishConfig": {
77
+ "access": "public"
78
+ },
42
79
  "scripts": {
43
80
  "prebuild": "genversion --esm --semi src/version.ts",
44
81
  "build": "pnpm prebuild && rslib build",
82
+ "check-types": "pnpm prebuild && tsc --noEmit",
45
83
  "dev": "pnpm prebuild && rslib build --watch",
46
- "fmt": "pnpm biome format --write . && pnpm biome check --formatter-enabled=false --linter-enabled=false --organize-imports-enabled=true --write",
84
+ "fmt": "pnpm biome format --write . && pnpm biome check --formatter-enabled=false --linter-enabled=false --write",
47
85
  "lint": "pnpm biome lint ./src",
48
- "test": "vitest run --passWithNoTests",
49
- "test:watch": "vitest --passWithNoTests"
86
+ "test": "pnpm prebuild && vitest run --passWithNoTests",
87
+ "test:watch": "pnpm prebuild && vitest --passWithNoTests"
50
88
  }
51
89
  }
package/readme.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "title": "@c15t/nextjs: Next.js Integration",
3
+ "description": "Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization",
4
+ "features": [
5
+ "Works with Next.js 15, 14, and 13",
6
+ "Full 'use client' support for React Server Components",
7
+ "Server-side rendering support for both app and pages routers",
8
+ "Automatic GDPR, CCPA, and LGPD compliance",
9
+ "Minimal configuration with TypeScript-first design",
10
+ "Headless, customisable UI components (Cookie Banner, Consent Dialog, etc.)",
11
+ "Built-in internationalisation support",
12
+ "Seamless consent storage and tracking"
13
+ ],
14
+ "prerequisites": [
15
+ "Next.js 13.5.4 or later",
16
+ "React 18 or later",
17
+ "Node.js 18.17.0 or later",
18
+ "A hosted [c15t instance](https://consent.io) (free sign-up) or [self-hosted deployment](https://c15t.com/docs/self-host/v2)"
19
+ ],
20
+ "manualInstallation": [
21
+ "",
22
+ "```bash\npnpm add @c15t/nextjs\n```",
23
+ "",
24
+ "To manually install, follow the guide in our [docs – manual setup](https://c15t.com/docs/frameworks/nextjs/quickstart#manual-setup)."
25
+ ],
26
+ "usage": [
27
+ "Import `ConsentManagerProvider` in your app's root layout",
28
+ "Add `CookieBanner` and `ConsentManagerDialog` components",
29
+ "Customise styling and behaviour to fit your app",
30
+ "For full implementation details, see the [Next.js quickstart docs](https://c15t.com/docs/frameworks/next/quickstart)",
31
+ "```tsx\n// app/layout.tsx\nimport { ConsentManagerProvider, CookieBanner } from '@c15t/nextjs'\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <ConsentManagerProvider>\n {children}\n <CookieBanner />\n </ConsentManagerProvider>\n </body>\n </html>\n )\n}\n```"
32
+ ],
33
+ "docsLink": "https://c15t.com/docs/frameworks/next/quickstart",
34
+ "quickStartLink": "https://c15t.com/docs/frameworks/next/quickstart",
35
+ "showCLIGeneration": true
36
+ }