@c15t/react 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 (113) hide show
  1. package/README.md +108 -45
  2. package/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +1 -1
  3. package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +1 -1
  4. package/dist/components/consent-manager-dialog/atoms/dialog-card.cjs +1 -1
  5. package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts +2 -3
  6. package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts.map +1 -1
  7. package/dist/components/consent-manager-dialog/atoms/dialog-card.js +1 -1
  8. package/dist/components/consent-manager-dialog/atoms/overlay.cjs +1 -1
  9. package/dist/components/consent-manager-dialog/atoms/overlay.d.ts +12 -33
  10. package/dist/components/consent-manager-dialog/atoms/overlay.d.ts.map +1 -1
  11. package/dist/components/consent-manager-dialog/atoms/overlay.js +1 -1
  12. package/dist/components/consent-manager-dialog/atoms/root.cjs +2 -0
  13. package/dist/components/consent-manager-dialog/atoms/root.d.ts +60 -0
  14. package/dist/components/consent-manager-dialog/atoms/root.d.ts.map +1 -0
  15. package/dist/components/consent-manager-dialog/atoms/root.js +2 -0
  16. package/dist/components/consent-manager-dialog/consent-manager-dialog.cjs +1 -1
  17. package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts +14 -33
  18. package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -1
  19. package/dist/components/consent-manager-dialog/consent-manager-dialog.js +1 -1
  20. package/dist/components/consent-manager-dialog/consent-manager-dialog.module.cjs +1 -1
  21. package/dist/components/consent-manager-dialog/consent-manager-dialog.module.js +1 -1
  22. package/dist/components/consent-manager-dialog/index.cjs +1 -1
  23. package/dist/components/consent-manager-dialog/index.d.ts +76 -2
  24. package/dist/components/consent-manager-dialog/index.d.ts.map +1 -1
  25. package/dist/components/consent-manager-dialog/index.js +1 -1
  26. package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +1 -1
  27. package/dist/components/consent-manager-widget/__tests__/styles.spec.js +3 -3
  28. package/dist/components/consent-manager-widget/atoms/accordion.cjs +1 -1
  29. package/dist/components/consent-manager-widget/atoms/accordion.d.ts.map +1 -1
  30. package/dist/components/consent-manager-widget/atoms/accordion.js +1 -1
  31. package/dist/components/consent-manager-widget/atoms/root.cjs +1 -1
  32. package/dist/components/consent-manager-widget/atoms/root.d.ts.map +1 -1
  33. package/dist/components/consent-manager-widget/atoms/root.js +1 -1
  34. package/dist/components/consent-manager-widget/consent-manager-widget.d.ts +0 -41
  35. package/dist/components/consent-manager-widget/consent-manager-widget.d.ts.map +1 -1
  36. package/dist/components/consent-manager-widget/index.cjs +1 -2
  37. package/dist/components/consent-manager-widget/index.d.ts +79 -5
  38. package/dist/components/consent-manager-widget/index.d.ts.map +1 -1
  39. package/dist/components/consent-manager-widget/index.js +1 -2
  40. package/dist/components/consent-manager-widget/theme.d.ts +1 -1
  41. package/dist/components/consent-manager-widget/theme.d.ts.map +1 -1
  42. package/dist/components/cookie-banner/__tests__/styles.spec.cjs +3 -3
  43. package/dist/components/cookie-banner/__tests__/styles.spec.js +3 -3
  44. package/dist/components/cookie-banner/atoms/overlay.cjs +1 -1
  45. package/dist/components/cookie-banner/atoms/overlay.d.ts.map +1 -1
  46. package/dist/components/cookie-banner/atoms/overlay.js +1 -1
  47. package/dist/components/cookie-banner/atoms/root.cjs +1 -1
  48. package/dist/components/cookie-banner/atoms/root.d.ts.map +1 -1
  49. package/dist/components/cookie-banner/atoms/root.js +1 -1
  50. package/dist/components/cookie-banner/cookie-banner.cjs +1 -1
  51. package/dist/components/cookie-banner/cookie-banner.d.ts +0 -60
  52. package/dist/components/cookie-banner/cookie-banner.d.ts.map +1 -1
  53. package/dist/components/cookie-banner/cookie-banner.js +1 -1
  54. package/dist/components/cookie-banner/cookie-banner.module.cjs +1 -1
  55. package/dist/components/cookie-banner/cookie-banner.module.js +1 -1
  56. package/dist/components/cookie-banner/index.cjs +2 -1
  57. package/dist/components/cookie-banner/index.d.ts +83 -35
  58. package/dist/components/cookie-banner/index.d.ts.map +1 -1
  59. package/dist/components/cookie-banner/index.js +2 -1
  60. package/dist/components/shared/libs/recursive-clone-children.d.ts.map +1 -1
  61. package/dist/components/shared/primitives/box.d.ts.map +1 -1
  62. package/dist/components/shared/primitives/button.types.d.ts +1 -2
  63. package/dist/components/shared/primitives/button.types.d.ts.map +1 -1
  64. package/dist/components/shared/ui/accordion/accordion.d.ts.map +1 -1
  65. package/dist/components/shared/ui/accordion/accordion.module.cjs +1 -1
  66. package/dist/components/shared/ui/accordion/accordion.module.js +1 -1
  67. package/dist/components/shared/ui/icon.d.ts.map +1 -1
  68. package/dist/components/shared/ui/switch/switch.module.cjs +1 -1
  69. package/dist/components/shared/ui/switch/switch.module.js +1 -1
  70. package/dist/headless.cjs +1 -1
  71. package/dist/headless.d.ts +5 -5
  72. package/dist/headless.d.ts.map +1 -1
  73. package/dist/headless.js +1 -1
  74. package/dist/hooks/index.cjs +1 -1
  75. package/dist/hooks/index.d.ts +1 -0
  76. package/dist/hooks/index.d.ts.map +1 -1
  77. package/dist/hooks/index.js +1 -1
  78. package/dist/hooks/use-color-scheme.cjs +1 -0
  79. package/dist/hooks/use-color-scheme.d.ts.map +1 -1
  80. package/dist/hooks/use-color-scheme.js +1 -0
  81. package/dist/hooks/use-consent-manager.d.ts +18 -12
  82. package/dist/hooks/use-consent-manager.d.ts.map +1 -1
  83. package/dist/hooks/use-focus-trap.cjs +1 -0
  84. package/dist/hooks/use-focus-trap.d.ts.map +1 -1
  85. package/dist/hooks/use-focus-trap.js +1 -0
  86. package/dist/hooks/use-scroll-lock.cjs +1 -0
  87. package/dist/hooks/use-scroll-lock.d.ts +0 -4
  88. package/dist/hooks/use-scroll-lock.d.ts.map +1 -1
  89. package/dist/hooks/use-scroll-lock.js +1 -0
  90. package/dist/hooks/use-styles.d.ts +1 -2
  91. package/dist/hooks/use-styles.d.ts.map +1 -1
  92. package/dist/hooks/use-text-direction.cjs +2 -0
  93. package/dist/hooks/use-text-direction.d.ts +6 -0
  94. package/dist/hooks/use-text-direction.d.ts.map +1 -0
  95. package/dist/hooks/use-text-direction.js +2 -0
  96. package/dist/index.cjs +1 -1
  97. package/dist/index.d.ts +10 -10
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/providers/__tests__/provider-context.test.cjs +1 -1
  101. package/dist/providers/__tests__/provider-context.test.js +1 -1
  102. package/dist/providers/__tests__/provider-errors.test.cjs +1 -1
  103. package/dist/providers/__tests__/provider-errors.test.js +1 -1
  104. package/dist/providers/consent-manager-provider.cjs +1 -1
  105. package/dist/providers/consent-manager-provider.d.ts.map +1 -1
  106. package/dist/providers/consent-manager-provider.js +1 -1
  107. package/dist/types/consent-manager.d.ts +5 -1
  108. package/dist/types/consent-manager.d.ts.map +1 -1
  109. package/dist/version.cjs +1 -1
  110. package/dist/version.d.ts +1 -1
  111. package/dist/version.js +1 -1
  112. package/package.json +33 -9
  113. package/readme.json +37 -0
@@ -1,8 +1,8 @@
1
- export { ConsentManagerProvider } from './providers/consent-manager-provider';
2
- export { useConsentManager } from './hooks/use-consent-manager';
3
- export { useTranslations } from './hooks/use-translations';
1
+ export { type ConsentManagerInterface, configureConsentManager, defaultTranslationConfig, detectBrowserLanguage, mergeTranslationConfigs, prepareTranslationConfig, } from 'c15t';
4
2
  export { useColorScheme } from './hooks/use-color-scheme';
3
+ export { useConsentManager } from './hooks/use-consent-manager';
5
4
  export { useFocusTrap } from './hooks/use-focus-trap';
6
- export { configureConsentManager, type ConsentManagerInterface, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from 'c15t';
7
- export type { ConsentManagerProviderProps, ConsentManagerOptions, } from './types/consent-manager';
5
+ export { useTranslations } from './hooks/use-translations';
6
+ export { ConsentManagerProvider } from './providers/consent-manager-provider';
7
+ export type { ConsentManagerOptions, ConsentManagerProviderProps, } from './types/consent-manager';
8
8
  //# sourceMappingURL=headless.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,EAE5B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,MAAM,CAAC;AAGd,YAAY,EACX,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EAEvB,wBAAwB,GACxB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,YAAY,EACX,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC"}
package/dist/headless.js CHANGED
@@ -1 +1 @@
1
- import*as e from"./providers/consent-manager-provider.js";import*as a from"./hooks/use-consent-manager.js";import*as s from"./hooks/use-translations.js";import*as o from"./hooks/use-color-scheme.js";import*as r from"./hooks/use-focus-trap.js";import*as n from"c15t";var t=e.ConsentManagerProvider,_=n.configureConsentManager,p=n.defaultTranslationConfig,i=n.detectBrowserLanguage,g=n.mergeTranslationConfigs,u=n.prepareTranslationConfig,c=o.useColorScheme,f=a.useConsentManager,m=r.useFocusTrap,C=s.useTranslations;export{t as ConsentManagerProvider,_ as configureConsentManager,p as defaultTranslationConfig,i as detectBrowserLanguage,g as mergeTranslationConfigs,u as prepareTranslationConfig,c as useColorScheme,f as useConsentManager,m as useFocusTrap,C as useTranslations};
1
+ import*as e from"c15t";import*as a from"./hooks/use-color-scheme.js";import*as s from"./hooks/use-consent-manager.js";import*as o from"./hooks/use-focus-trap.js";import*as r from"./hooks/use-translations.js";import*as n from"./providers/consent-manager-provider.js";var t=n.ConsentManagerProvider,_=e.configureConsentManager,p=e.defaultTranslationConfig,i=e.detectBrowserLanguage,g=e.mergeTranslationConfigs,u=e.prepareTranslationConfig,c=a.useColorScheme,f=s.useConsentManager,m=o.useFocusTrap,C=r.useTranslations;export{t as ConsentManagerProvider,_ as configureConsentManager,p as defaultTranslationConfig,i as detectBrowserLanguage,g as mergeTranslationConfigs,u as prepareTranslationConfig,c as useColorScheme,f as useConsentManager,m as useFocusTrap,C as useTranslations};
@@ -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_modules__={"./use-consent-manager":function(e){e.exports=require("./use-consent-manager.cjs")},"./use-focus-trap":function(e){e.exports=require("./use-focus-trap.cjs")},"./use-theme":function(e){e.exports=require("./use-theme.cjs")},"./use-translations":function(e){e.exports=require("./use-translations.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__);var e=__webpack_require__("./use-consent-manager"),_={};for(var r in e)"default"!==r&&(_[r]=(function(_){return e[_]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var a=__webpack_require__("./use-focus-trap"),_={};for(var r in a)"default"!==r&&(_[r]=(function(e){return a[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./use-theme"),_={};for(var r in t)"default"!==r&&(_[r]=(function(e){return t[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./use-translations"),_={};for(var r in u)"default"!==r&&(_[r]=(function(e){return u[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_)})(),__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_modules__={"./use-consent-manager":function(e){e.exports=require("./use-consent-manager.cjs")},"./use-focus-trap":function(e){e.exports=require("./use-focus-trap.cjs")},"./use-text-direction":function(e){e.exports=require("./use-text-direction.cjs")},"~/hooks/use-theme":function(e){e.exports=require("./use-theme.cjs")},"./use-translations":function(e){e.exports=require("./use-translations.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__);var e=__webpack_require__("./use-consent-manager"),_={};for(var r in e)"default"!==r&&(_[r]=(function(_){return e[_]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./use-focus-trap"),_={};for(var r in t)"default"!==r&&(_[r]=(function(e){return t[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./use-text-direction"),_={};for(var r in u)"default"!==r&&(_[r]=(function(e){return u[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var a=__webpack_require__("~/hooks/use-theme"),_={};for(var r in a)"default"!==r&&(_[r]=(function(e){return a[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var o=__webpack_require__("./use-translations"),_={};for(var r in o)"default"!==r&&(_[r]=(function(e){return o[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1,5 +1,6 @@
1
1
  export * from './use-consent-manager';
2
2
  export * from './use-focus-trap';
3
+ export * from './use-text-direction';
3
4
  export * from './use-theme';
4
5
  export * from './use-translations';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- import*as e from"./use-theme.js";export*from"./use-consent-manager.js";export*from"./use-focus-trap.js";export*from"./use-translations.js";var o={"~/hooks/use-theme":function(o){o.exports=e}},r={};!function e(s){var t=r[s];if(void 0!==t)return t.exports;var n=r[s]={exports:{}};return o[s](n,n.exports,e),n.exports}("~/hooks/use-theme");
1
+ import*as e from"./use-theme.js";export*from"./use-consent-manager.js";export*from"./use-focus-trap.js";export*from"./use-text-direction.js";export*from"./use-translations.js";var o={"~/hooks/use-theme":function(o){o.exports=e}},r={};!function e(s){var t=r[s];if(void 0!==t)return t.exports;var n=r[s]={exports:{}};return o[s](n,n.exports,e),n.exports}("~/hooks/use-theme");
@@ -1 +1,2 @@
1
+ 'use client';
1
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,t)=>{for(var _ in t)__webpack_require__.o(t,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:t[_]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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:()=>useColorScheme});let external_react_namespaceObject=require("react");function useColorScheme(e){(0,external_react_namespaceObject.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),_=document.documentElement.classList.contains("dark"),r=e=>{document.documentElement.classList.toggle("c15t-dark",e.matches)},c=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"class"===t.attributeName){let e=document.documentElement.classList.contains("dark");document.documentElement.classList.toggle("c15t-dark",e)}});switch(e){case"light":document.documentElement.classList.remove("c15t-dark");break;case"dark":document.documentElement.classList.add("c15t-dark");break;case"system":document.documentElement.classList.toggle("c15t-dark",t.matches),t.addEventListener("change",r);break;default:document.documentElement.classList.toggle("c15t-dark",_),c.observe(document.documentElement,{attributes:!0})}return()=>{t.removeEventListener("change",r),c.disconnect()}},[e])}for(var __webpack_i__ in exports.useColorScheme=__webpack_exports__.useColorScheme,__webpack_exports__)-1===["useColorScheme"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- {"version":3,"file":"use-color-scheme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-color-scheme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,QAyDvD"}
1
+ {"version":3,"file":"use-color-scheme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-color-scheme.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,QAyDvD"}
@@ -1 +1,2 @@
1
+ 'use client';
1
2
  import*as e from"react";function t(t){(0,e.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),c=document.documentElement.classList.contains("dark"),s=e=>{document.documentElement.classList.toggle("c15t-dark",e.matches)},n=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"class"===t.attributeName){let e=document.documentElement.classList.contains("dark");document.documentElement.classList.toggle("c15t-dark",e)}});switch(t){case"light":document.documentElement.classList.remove("c15t-dark");break;case"dark":document.documentElement.classList.add("c15t-dark");break;case"system":document.documentElement.classList.toggle("c15t-dark",e.matches),e.addEventListener("change",s);break;default:document.documentElement.classList.toggle("c15t-dark",c),n.observe(document.documentElement,{attributes:!0})}return()=>{e.removeEventListener("change",s),n.disconnect()}},[t])}export{t as useColorScheme};
@@ -29,42 +29,48 @@ export declare function useConsentManager(): {
29
29
  mode: string;
30
30
  meta?: Record<string, unknown>;
31
31
  };
32
+ branding: import("@c15t/backend/contracts").ContractsOutputs["consent"]["showBanner"]["branding"];
32
33
  consents: import("c15t").ConsentState;
34
+ selectedConsents: import("c15t").ConsentState;
33
35
  consentInfo: {
34
36
  time: number;
35
37
  type: "all" | "custom" | "necessary";
36
38
  } | null;
37
39
  showPopup: boolean;
38
40
  isLoadingConsentInfo: boolean;
41
+ hasFetchedBanner: boolean;
42
+ lastBannerFetchData: import("c15t").ConsentBannerResponse | null;
39
43
  gdprTypes: import("c15t").AllConsentNames[];
40
44
  isPrivacyDialogOpen: boolean;
41
- complianceSettings: Record<import("c15t").ComplianceRegion, import("c15t").ComplianceSettings>;
42
45
  callbacks: import("c15t").Callbacks;
43
- detectedCountry: string | null;
44
46
  locationInfo: import("c15t").LocationInfo | null;
45
- jurisdictionInfo: import("c15t").JurisdictionInfo | null;
46
- privacySettings: import("c15t").PrivacySettings;
47
47
  translationConfig: import("c15t").TranslationConfig;
48
- isConsentDomain: boolean;
49
48
  ignoreGeoLocation: boolean;
50
49
  setTranslationConfig: (config: import("c15t").TranslationConfig) => void;
51
50
  includeNonDisplayedConsents: boolean;
52
51
  consentTypes: import("c15t").ConsentType[];
52
+ setSelectedConsent: (name: import("c15t").AllConsentNames, value: boolean) => void;
53
+ saveConsents: (type: "all" | "custom" | "necessary") => void;
53
54
  setConsent: (name: import("c15t").AllConsentNames, value: boolean) => void;
55
+ resetConsents: () => void;
54
56
  setShowPopup: (show: boolean, force?: boolean) => void;
55
57
  setIsPrivacyDialogOpen: (isOpen: boolean) => void;
56
- saveConsents: (type: "all" | "custom" | "necessary") => void;
57
- resetConsents: () => void;
58
58
  setGdprTypes: (types: import("c15t").AllConsentNames[]) => void;
59
- setComplianceSetting: (region: import("c15t").ComplianceRegion, settings: Partial<import("c15t").ComplianceSettings>) => void;
60
- resetComplianceSettings: () => void;
61
- setCallback: (name: keyof import("c15t").Callbacks, callback: import("c15t").CallbackFunction | undefined) => void;
62
- setDetectedCountry: (country: string) => void;
59
+ setCallback: (name: keyof import("c15t").Callbacks, callback: import("c15t").Callbacks[keyof import("c15t").Callbacks] | undefined) => void;
63
60
  setLocationInfo: (location: import("c15t").LocationInfo | null) => void;
64
61
  fetchConsentBannerInfo: () => Promise<import("c15t").ConsentBannerResponse | undefined>;
65
62
  getDisplayedConsents: () => typeof import("c15t").consentTypes;
66
63
  hasConsented: () => boolean;
67
- getEffectiveConsents: () => import("c15t").ConsentState;
68
64
  hasConsentFor: (consentType: import("c15t").AllConsentNames) => boolean;
65
+ has: <CategoryType extends import("c15t").AllConsentNames>(condition: import("node_modules/c15t/dist/libs/has").HasCondition<CategoryType>) => boolean;
66
+ isConsentDomain: boolean;
67
+ detectedCountry: string | null;
68
+ privacySettings: import("c15t").PrivacySettings;
69
+ complianceSettings: Record<import("c15t").ComplianceRegion, import("c15t").ComplianceSettings>;
70
+ jurisdictionInfo: import("c15t").JurisdictionInfo | null;
71
+ getEffectiveConsents: () => import("c15t").ConsentState;
72
+ setDetectedCountry: (country: string) => void;
73
+ resetComplianceSettings: () => void;
74
+ setComplianceSetting: (region: import("c15t").ComplianceRegion, settings: Partial<import("c15t").ComplianceSettings>) => void;
69
75
  };
70
76
  //# sourceMappingURL=use-consent-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-consent-manager.d.ts","sourceRoot":"","sources":["../../src/hooks/use-consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB;;;;;;YAgBqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;uCAAm2E,CAAC;;;;;;;;;;;;;;;EAD16E"}
1
+ {"version":3,"file":"use-consent-manager.d.ts","sourceRoot":"","sources":["../../src/hooks/use-consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB;;;;;;YAgBoI,CAAC;;cAAuF,6DAA4B,cAAc;;;;;;;;;;;;;;;;;;;;;;;;uCAAmlF,CAAC;;;;;;;;;;;;;;;;;;;EAD13F"}
@@ -1 +1,2 @@
1
+ 'use client';
1
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,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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__,{useFocusTrap:()=>useFocusTrap});let external_react_namespaceObject=require("react");function useFocusTrap(e,t){let r=(0,external_react_namespaceObject.useRef)(null);(0,external_react_namespaceObject.useEffect)(()=>{if(!e||!t||!t.current)return;r.current=document.activeElement;let _=getFocusableElements(t.current);if(_.length>0)setTimeout(()=>{_[0]?.focus()},0);else if(-1!==t.current.tabIndex)try{t.current.focus()}catch{}let c=e=>{if("Tab"!==e.key||!t.current)return;let r=getFocusableElements(t.current);if(0===r.length)return;let _=r[0],c=r.at(-1);e.shiftKey&&document.activeElement===_?(e.preventDefault(),c?.focus()):e.shiftKey||document.activeElement!==c||(e.preventDefault(),_?.focus())};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),r.current&&"focus"in r.current&&setTimeout(()=>r.current?.focus(),0)}},[e,t])}function getFocusableElements(e){return Array.from(e.querySelectorAll('a[href]:not([disabled]),button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[contenteditable],[tabindex]:not([tabindex="-1"])')).filter(e=>e.offsetWidth>0&&e.offsetHeight>0)}for(var __webpack_i__ in exports.useFocusTrap=__webpack_exports__.useFocusTrap,__webpack_exports__)-1===["useFocusTrap"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- {"version":3,"file":"use-focus-trap.d.ts","sourceRoot":"","sources":["../../src/hooks/use-focus-trap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GACzC,IAAI,CAiEN"}
1
+ {"version":3,"file":"use-focus-trap.d.ts","sourceRoot":"","sources":["../../src/hooks/use-focus-trap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GACzC,IAAI,CAiEN"}
@@ -1 +1,2 @@
1
+ 'use client';
1
2
  import*as e from"react";function t(t,r){let u=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!t||!r||!r.current)return;u.current=document.activeElement;let e=n(r.current);if(e.length>0)setTimeout(()=>{e[0]?.focus()},0);else if(-1!==r.current.tabIndex)try{r.current.focus()}catch{}let c=e=>{if("Tab"!==e.key||!r.current)return;let t=n(r.current);if(0===t.length)return;let u=t[0],c=t.at(-1);e.shiftKey&&document.activeElement===u?(e.preventDefault(),c?.focus()):e.shiftKey||document.activeElement!==c||(e.preventDefault(),u?.focus())};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),u.current&&"focus"in u.current&&setTimeout(()=>u.current?.focus(),0)}},[t,r])}function n(e){return Array.from(e.querySelectorAll('a[href]:not([disabled]),button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[contenteditable],[tabindex]:not([tabindex="-1"])')).filter(e=>e.offsetWidth>0&&e.offsetHeight>0)}export{t as useFocusTrap};
@@ -1 +1,2 @@
1
+ 'use client';
1
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__,{useScrollLock:()=>useScrollLock});let external_react_namespaceObject=require("react");function useScrollLock(e){(0,external_react_namespaceObject.useEffect)(()=>{if(e){let e={overflow:document.body.style.overflow,paddingRight:document.body.style.paddingRight},_=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",_>0&&(document.body.style.paddingRight=`${_}px`),()=>{document.body.style.overflow=e.overflow,document.body.style.paddingRight=e.paddingRight}}},[e])}for(var __webpack_i__ in exports.useScrollLock=__webpack_exports__.useScrollLock,__webpack_exports__)-1===["useScrollLock"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1,7 +1,3 @@
1
- /**
2
- * @packageDocumentation
3
- * Provides a reusable hook for managing document scroll locking.
4
- */
5
1
  /**
6
2
  * Hook to manage document scroll locking.
7
3
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll-lock.d.ts","sourceRoot":"","sources":["../../src/hooks/use-scroll-lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CA0BvD"}
1
+ {"version":3,"file":"use-scroll-lock.d.ts","sourceRoot":"","sources":["../../src/hooks/use-scroll-lock.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CA0BvD"}
@@ -1 +1,2 @@
1
+ 'use client';
1
2
  import*as e from"react";function o(o){(0,e.useEffect)(()=>{if(o){let e={overflow:document.body.style.overflow,paddingRight:document.body.style.paddingRight},o=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",o>0&&(document.body.style.paddingRight=`${o}px`),()=>{document.body.style.overflow=e.overflow,document.body.style.paddingRight=e.paddingRight}}},[o])}export{o as useScrollLock};
@@ -1,5 +1,4 @@
1
- import type { AllThemeKeys } from '../types/theme';
2
- import type { ClassNameStyle, ThemeValue } from '../types/theme';
1
+ import type { AllThemeKeys, ClassNameStyle, ThemeValue } from '../types/theme';
3
2
  /**
4
3
  * Hook for retrieving and merging styles from theme context and component props.
5
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use-styles.d.ts","sourceRoot":"","sources":["../../src/hooks/use-styles.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wBAAgB,SAAS,CACxB,QAAQ,EAAE,YAAY,EACtB,cAAc,CAAC,EAAE,UAAU,GACzB,cAAc,CAyFhB"}
1
+ {"version":3,"file":"use-styles.d.ts","sourceRoot":"","sources":["../../src/hooks/use-styles.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wBAAgB,SAAS,CACxB,QAAQ,EAAE,YAAY,EACtB,cAAc,CAAC,EAAE,UAAU,GACzB,cAAc,CAyFhB"}
@@ -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__,{useTextDirection:()=>useTextDirection});let external_react_namespaceObject=require("react"),RTL_LANGUAGES=["ar","he","fa","ur","ps","sd","ku","dv"];function useTextDirection(e){let _=(0,external_react_namespaceObject.useMemo)(()=>{let _=e?e.split("-")[0]?.toLowerCase():"en";return RTL_LANGUAGES.includes(_||"")?"rtl":"ltr"},[e]);return(0,external_react_namespaceObject.useEffect)(()=>{"rtl"===_?document.body.classList.add("c15t-rtl"):document.body.classList.remove("c15t-rtl")},[_]),_}for(var __webpack_i__ in exports.useTextDirection=__webpack_exports__.useTextDirection,__webpack_exports__)-1===["useTextDirection"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Manage text direction based on the language
3
+ * @param language - 'en' | 'ar' ... etc
4
+ */
5
+ export declare function useTextDirection(language?: string): "ltr" | "rtl";
6
+ //# sourceMappingURL=use-text-direction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-text-direction.d.ts","sourceRoot":"","sources":["../../src/hooks/use-text-direction.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,iBAkBjD"}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import*as t from"react";let e=["ar","he","fa","ur","ps","sd","ku","dv"];function r(r){let s=(0,t.useMemo)(()=>{let t=r?r.split("-")[0]?.toLowerCase():"en";return e.includes(t||"")?"rtl":"ltr"},[r]);return(0,t.useEffect)(()=>{"rtl"===s?document.body.classList.add("c15t-rtl"):document.body.classList.remove("c15t-rtl")},[s]),s}export{r as useTextDirection};
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 n in a)__webpack_require__.o(a,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},__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:()=>use_color_scheme_cjs_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>external_c15t_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>external_c15t_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>external_c15t_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>use_focus_trap_cjs_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>external_c15t_namespaceObject.detectBrowserLanguage,CookieBanner:()=>cookie_banner_cjs_namespaceObject.CookieBanner,configureConsentManager:()=>external_c15t_namespaceObject.configureConsentManager,useConsentManager:()=>use_consent_manager_cjs_namespaceObject.useConsentManager,useTranslations:()=>use_translations_cjs_namespaceObject.useTranslations,ConsentManagerProvider:()=>consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,ConsentManagerDialog:()=>consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog});let cookie_banner_cjs_namespaceObject=require("./components/cookie-banner/cookie-banner.cjs"),consent_manager_widget_cjs_namespaceObject=require("./components/consent-manager-widget/consent-manager-widget.cjs"),consent_manager_dialog_cjs_namespaceObject=require("./components/consent-manager-dialog/consent-manager-dialog.cjs"),consent_manager_provider_cjs_namespaceObject=require("./providers/consent-manager-provider.cjs"),use_consent_manager_cjs_namespaceObject=require("./hooks/use-consent-manager.cjs"),use_translations_cjs_namespaceObject=require("./hooks/use-translations.cjs"),use_color_scheme_cjs_namespaceObject=require("./hooks/use-color-scheme.cjs"),use_focus_trap_cjs_namespaceObject=require("./hooks/use-focus-trap.cjs"),external_c15t_namespaceObject=require("c15t");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_require__={};__webpack_require__.d=(e,n)=>{for(var a in n)__webpack_require__.o(n,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__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:()=>use_color_scheme_cjs_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>external_c15t_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>external_c15t_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>external_c15t_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>consent_manager_widget_index_cjs_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>use_focus_trap_cjs_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>external_c15t_namespaceObject.detectBrowserLanguage,CookieBanner:()=>cookie_banner_index_cjs_namespaceObject.CookieBanner,configureConsentManager:()=>external_c15t_namespaceObject.configureConsentManager,useConsentManager:()=>use_consent_manager_cjs_namespaceObject.useConsentManager,useTranslations:()=>use_translations_cjs_namespaceObject.useTranslations,ConsentManagerProvider:()=>consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,ConsentManagerDialog:()=>index_cjs_namespaceObject.ConsentManagerDialog});let external_c15t_namespaceObject=require("c15t"),index_cjs_namespaceObject=require("./components/consent-manager-dialog/index.cjs"),consent_manager_widget_index_cjs_namespaceObject=require("./components/consent-manager-widget/index.cjs"),cookie_banner_index_cjs_namespaceObject=require("./components/cookie-banner/index.cjs"),use_color_scheme_cjs_namespaceObject=require("./hooks/use-color-scheme.cjs"),use_consent_manager_cjs_namespaceObject=require("./hooks/use-consent-manager.cjs"),use_focus_trap_cjs_namespaceObject=require("./hooks/use-focus-trap.cjs"),use_translations_cjs_namespaceObject=require("./hooks/use-translations.cjs"),consent_manager_provider_cjs_namespaceObject=require("./providers/consent-manager-provider.cjs");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});
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- export { CookieBanner } from './components/cookie-banner/cookie-banner';
2
- export type { CookieBannerProps } from './components/cookie-banner/cookie-banner';
3
- export { ConsentManagerWidget } from './components/consent-manager-widget/consent-manager-widget';
4
- export type { ConsentManagerWidgetProps } from './components/consent-manager-widget/types';
5
- export { ConsentManagerDialog } from './components/consent-manager-dialog/consent-manager-dialog';
1
+ export { type ConsentManagerInterface, configureConsentManager, defaultTranslationConfig, detectBrowserLanguage, mergeTranslationConfigs, prepareTranslationConfig, } from 'c15t';
2
+ export { ConsentManagerDialog } from './components/consent-manager-dialog';
6
3
  export type { ConsentManagerDialogProps } from './components/consent-manager-dialog/consent-manager-dialog';
7
- export { ConsentManagerProvider } from './providers/consent-manager-provider';
8
- export { useConsentManager } from './hooks/use-consent-manager';
9
- export { useTranslations } from './hooks/use-translations';
4
+ export { ConsentManagerWidget } from './components/consent-manager-widget';
5
+ export type { ConsentManagerWidgetProps } from './components/consent-manager-widget/types';
6
+ export { CookieBanner } from './components/cookie-banner';
7
+ export type { CookieBannerProps } from './components/cookie-banner/cookie-banner';
10
8
  export { useColorScheme } from './hooks/use-color-scheme';
9
+ export { useConsentManager } from './hooks/use-consent-manager';
11
10
  export { useFocusTrap } from './hooks/use-focus-trap';
12
- export { configureConsentManager, type ConsentManagerInterface, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from 'c15t';
13
- export type { ConsentManagerProviderProps, ConsentManagerOptions, } from './types/consent-manager';
11
+ export { useTranslations } from './hooks/use-translations';
12
+ export { ConsentManagerProvider } from './providers/consent-manager-provider';
13
+ export type { ConsentManagerOptions, ConsentManagerProviderProps, } from './types/consent-manager';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,EAE5B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,MAAM,CAAC;AAGd,YAAY,EACX,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EAEvB,wBAAwB,GACxB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,YAAY,EACX,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import*as e from"./components/cookie-banner/cookie-banner.js";import*as a from"./components/consent-manager-widget/consent-manager-widget.js";import*as o from"./components/consent-manager-dialog/consent-manager-dialog.js";import*as n from"./providers/consent-manager-provider.js";import*as s from"./hooks/use-consent-manager.js";import*as r from"./hooks/use-translations.js";import*as t from"./hooks/use-color-scheme.js";import*as _ from"./hooks/use-focus-trap.js";import*as i from"c15t";var g=o.ConsentManagerDialog,p=n.ConsentManagerProvider,c=a.ConsentManagerWidget,m=e.CookieBanner,C=i.configureConsentManager,u=i.defaultTranslationConfig,f=i.detectBrowserLanguage,l=i.mergeTranslationConfigs,k=i.prepareTranslationConfig,d=t.useColorScheme,w=s.useConsentManager,b=_.useFocusTrap,M=r.useTranslations;export{g as ConsentManagerDialog,p as ConsentManagerProvider,c as ConsentManagerWidget,m as CookieBanner,C as configureConsentManager,u as defaultTranslationConfig,f as detectBrowserLanguage,l as mergeTranslationConfigs,k as prepareTranslationConfig,d as useColorScheme,w as useConsentManager,b as useFocusTrap,M as useTranslations};
1
+ import*as e from"c15t";import*as a from"./components/consent-manager-dialog/index.js";import*as o from"./components/consent-manager-widget/index.js";import*as n from"./components/cookie-banner/index.js";import*as s from"./hooks/use-color-scheme.js";import*as r from"./hooks/use-consent-manager.js";import*as t from"./hooks/use-focus-trap.js";import*as _ from"./hooks/use-translations.js";import*as i from"./providers/consent-manager-provider.js";var p=a.ConsentManagerDialog,g=i.ConsentManagerProvider,c=o.ConsentManagerWidget,m=n.CookieBanner,C=e.configureConsentManager,u=e.defaultTranslationConfig,f=e.detectBrowserLanguage,l=e.mergeTranslationConfigs,k=e.prepareTranslationConfig,d=s.useColorScheme,w=r.useConsentManager,x=t.useFocusTrap,M=_.useTranslations;export{p as ConsentManagerDialog,g as ConsentManagerProvider,c as ConsentManagerWidget,m as CookieBanner,C as configureConsentManager,u as defaultTranslationConfig,f as detectBrowserLanguage,l as mergeTranslationConfigs,k as prepareTranslationConfig,d as useColorScheme,w as useConsentManager,x as useFocusTrap,M as useTranslations};
@@ -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 jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockConfigureConsentManager:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>(e(t),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:external_c15t_namespaceObject.defaultTranslationConfig.translations.en}},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let modifyContextShowPopup=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,modifyContextShowPopup(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),(0,external_consent_manager_provider_cjs_namespaceObject.clearConsentManagerCache)()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"show-popup",children:e.showPopup?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:e.showPopup})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,external_vitest_namespaceObject.it)("should execute callbacks when provided",async()=>{let t=external_vitest_namespaceObject.vi.fn();(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:t}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalled()},{timeout:3e3});let a=e.mock.calls[0];if((0,external_vitest_namespaceObject.expect)(a).toBeDefined(),a){let e=a[0];(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("callbacks"),(0,external_vitest_namespaceObject.expect)(e.callbacks).toHaveProperty("onConsentSet",t)}})}),__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 jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockConfigureConsentManager:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>(e(t),{showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:external_c15t_namespaceObject.defaultTranslationConfig.translations.en}},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let modifyContextShowPopup=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,modifyContextShowPopup(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),(0,external_consent_manager_provider_cjs_namespaceObject.clearConsentManagerCache)()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"show-popup",children:e.showPopup?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:e.showPopup})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("show-popup")).toHaveTextContent("true")},{timeout:3e3})})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- import*as e from"react/jsx-runtime";import*as t from"c15t";import*as a from"vitest";import*as n from"vitest-browser-react";import*as s from"../../hooks/use-consent-manager.js";import*as o from"../consent-manager-provider.js";import*as r from"./test-helpers.js";let{mockConfigureConsentManager:i}=(0,r.setupMocks)();a.vi.mock("c15t",async()=>({...await a.vi.importActual("c15t"),configureConsentManager:e=>(i(e),{getCallbacks:()=>e.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:t.defaultTranslationConfig.translations.en}},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let l=a.vi.fn();a.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await a.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,l(),t}}}),(0,a.describe)("ConsentManagerProvider Context Values",()=>{(0,a.beforeEach)(()=>{a.vi.resetAllMocks(),a.vi.useFakeTimers(),(0,o.clearConsentManagerCache)()}),(0,a.afterEach)(()=>{a.vi.clearAllMocks(),a.vi.useRealTimers()}),(0,a.it)("should provide correct context values to children",async()=>{let{getByTestId:t}=(0,n.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,e.jsx)(()=>{let t=(0,s.useConsentManager)();return(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{"data-testid":"has-manager",children:(!!t.manager).toString()}),(0,e.jsx)("div",{"data-testid":"show-popup",children:t.showPopup?"true":"false"}),(0,e.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:t.showPopup})})]})},{})}));await a.vi.runAllTimersAsync(),(0,a.expect)(l).toHaveBeenCalled(),await a.vi.waitFor(()=>{(0,a.expect)(t("has-manager")).toHaveTextContent("true"),(0,a.expect)(t("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,a.it)("should execute callbacks when provided",async()=>{let t=a.vi.fn();(0,n.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:t}},children:(0,e.jsx)("div",{children:"Test"})})),await a.vi.runAllTimersAsync(),await a.vi.waitFor(()=>{(0,a.expect)(i).toHaveBeenCalled()},{timeout:3e3});let s=i.mock.calls[0];if((0,a.expect)(s).toBeDefined(),s){let e=s[0];(0,a.expect)(e).toHaveProperty("callbacks"),(0,a.expect)(e.callbacks).toHaveProperty("onConsentSet",t)}})});
1
+ import*as e from"react/jsx-runtime";import*as t from"c15t";import*as n from"vitest";import*as s from"vitest-browser-react";import*as a from"../../hooks/use-consent-manager.js";import*as r from"../consent-manager-provider.js";import*as o from"./test-helpers.js";let{mockConfigureConsentManager:i}=(0,o.setupMocks)();n.vi.mock("c15t",async()=>({...await n.vi.importActual("c15t"),configureConsentManager:e=>(i(e),{showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:t.defaultTranslationConfig.translations.en}},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let l=n.vi.fn();n.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await n.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,l(),t}}}),(0,n.describe)("ConsentManagerProvider Context Values",()=>{(0,n.beforeEach)(()=>{n.vi.resetAllMocks(),n.vi.useFakeTimers(),(0,r.clearConsentManagerCache)()}),(0,n.afterEach)(()=>{n.vi.clearAllMocks(),n.vi.useRealTimers()}),(0,n.it)("should provide correct context values to children",async()=>{let{getByTestId:t}=(0,s.render)((0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,e.jsx)(()=>{let t=(0,a.useConsentManager)();return(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{"data-testid":"has-manager",children:(!!t.manager).toString()}),(0,e.jsx)("div",{"data-testid":"show-popup",children:t.showPopup?"true":"false"}),(0,e.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:t.showPopup})})]})},{})}));await n.vi.runAllTimersAsync(),(0,n.expect)(l).toHaveBeenCalled(),await n.vi.waitFor(()=>{(0,n.expect)(t("has-manager")).toHaveTextContent("true"),(0,n.expect)(t("show-popup")).toHaveTextContent("true")},{timeout:3e3})})});
@@ -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 jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockFetch:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>{let a=t.backendURL||"";return"c15t"===t.mode&&e(`${a}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Error Handling",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),e.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks()}),(0,external_vitest_namespaceObject.it)("should handle errors from API responses",async()=>{let{getByTestId:t}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"request-state",children:e.manager?"Manager Ready":"Manager Not Ready"})},{})}));await external_vitest_namespaceObject.vi.waitFor(()=>{let e=t("request-state");(0,external_vitest_namespaceObject.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalledTimes(1)})}),__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 jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockFetch:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>{let a=t.backendURL||"";return"c15t"===t.mode&&e(`${a}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Error Handling",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),e.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks()}),(0,external_vitest_namespaceObject.it)("should handle errors from API responses",async()=>{let{getByTestId:t}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"request-state",children:e.manager?"Manager Ready":"Manager Not Ready"})},{})}));await external_vitest_namespaceObject.vi.waitFor(()=>{let e=t("request-state");(0,external_vitest_namespaceObject.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalledTimes(1)})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- import*as e from"react/jsx-runtime";import*as r from"vitest";import*as s from"vitest-browser-react";import*as t from"../../hooks/use-consent-manager.js";import*as a from"../consent-manager-provider.js";import*as n from"./test-helpers.js";let{mockFetch:o}=(0,n.setupMocks)();r.vi.mock("c15t",async()=>({...await r.vi.importActual("c15t"),configureConsentManager:e=>{let r=e.backendURL||"";return"c15t"===e.mode&&o(`${r}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{getCallbacks:()=>e.callbacks||{},showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,r.describe)("ConsentManagerProvider Error Handling",()=>{(0,r.beforeEach)(()=>{r.vi.resetAllMocks(),o.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,r.afterEach)(()=>{r.vi.clearAllMocks()}),(0,r.it)("should handle errors from API responses",async()=>{let{getByTestId:n}=(0,s.render)((0,e.jsx)(a.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,e.jsx)(()=>{let r=(0,t.useConsentManager)();return(0,e.jsx)("div",{"data-testid":"request-state",children:r.manager?"Manager Ready":"Manager Not Ready"})},{})}));await r.vi.waitFor(()=>{let e=n("request-state");(0,r.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,r.expect)(o).toHaveBeenCalledTimes(1)})});
1
+ import*as e from"react/jsx-runtime";import*as r from"vitest";import*as s from"vitest-browser-react";import*as t from"../../hooks/use-consent-manager.js";import*as n from"../consent-manager-provider.js";import*as a from"./test-helpers.js";let{mockFetch:o}=(0,a.setupMocks)();r.vi.mock("c15t",async()=>({...await r.vi.importActual("c15t"),configureConsentManager:e=>{let r=e.backendURL||"";return"c15t"===e.mode&&o(`${r}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,r.describe)("ConsentManagerProvider Error Handling",()=>{(0,r.beforeEach)(()=>{r.vi.resetAllMocks(),o.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,r.afterEach)(()=>{r.vi.clearAllMocks()}),(0,r.it)("should handle errors from API responses",async()=>{let{getByTestId:a}=(0,s.render)((0,e.jsx)(n.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,e.jsx)(()=>{let r=(0,t.useConsentManager)();return(0,e.jsx)("div",{"data-testid":"request-state",children:r.manager?"Manager Ready":"Manager Not Ready"})},{})}));await r.vi.waitFor(()=>{let e=a("request-state");(0,r.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,r.expect)(o).toHaveBeenCalledTimes(1)})});
@@ -1,2 +1,2 @@
1
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,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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,clearConsentManagerCache:()=>clearConsentManagerCache});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_react_namespaceObject=require("react"),consent_manager_context_cjs_namespaceObject=require("../context/consent-manager-context.cjs"),theme_context_cjs_namespaceObject=require("../context/theme-context.cjs"),use_color_scheme_cjs_namespaceObject=require("../hooks/use-color-scheme.cjs"),external_version_cjs_namespaceObject=require("../version.cjs"),storeCache=new Map,managerCache=new Map;function clearConsentManagerCache(){storeCache.clear(),managerCache.clear()}function generateCacheKey(e,t,n){return`${e}:${t??"default"}:${n?"custom":"none"}`}function ConsentManagerProvider({children:e,options:t}){let{mode:n,backendURL:a,callbacks:r,store:c={},translations:o,react:_={}}=t,{initialGdprTypes:s,initialComplianceSettings:i}=c,{theme:l,disableAnimation:p=!1,scrollLock:u=!1,trapFocus:m=!0,colorScheme:g,noStyle:b=!1}=_,d=(0,external_react_namespaceObject.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===n||"offline"===n)&&(a?.includes("c15t.dev")||a?.includes("c15t.cloud")||window.location.hostname.includes("c15t.dev")||window.location.hostname.includes("c15t.cloud"))),[n,a]),j=generateCacheKey(n||"c15t",a||"/api/c15t","endpointHandlers"in t?t.endpointHandlers:void 0),x=(0,external_react_namespaceObject.useMemo)(()=>{let e,o=managerCache.get(j);return o||(e="offline"===n?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"offline",callbacks:r,store:c}):"custom"===n&&"endpointHandlers"in t?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"custom",endpointHandlers:t.endpointHandlers,callbacks:r,store:c}):(0,external_c15t_namespaceObject.configureConsentManager)({mode:"c15t",backendURL:a||"/api/c15t",callbacks:r,store:c}),managerCache.set(j,e),e)},[j,n,a,r,c,t]),f=(0,external_react_namespaceObject.useMemo)(()=>{let e=storeCache.get(j);if(e)return e;let a=(0,external_c15t_namespaceObject.createConsentManagerStore)(x,{unstable_googleTagManager:t.unstable_googleTagManager,config:{pkg:"@c15t/react",version:external_version_cjs_namespaceObject.version,mode:n||"Unknown"},ignoreGeoLocation:t.ignoreGeoLocation,initialGdprTypes:t.consentCategories,...c,isConsentDomain:d,initialTranslationConfig:o});return storeCache.set(j,a),a},[j,x,n,t.unstable_googleTagManager,t.ignoreGeoLocation,t.consentCategories,c,d,o]),C=(0,external_react_namespaceObject.useRef)({gdprTypes:s,complianceSettings:i,consentCategories:t.consentCategories}),[O,h]=(0,external_react_namespaceObject.useState)(()=>f?f.getState():{});(0,external_react_namespaceObject.useEffect)(()=>{if(f)return f.subscribe(h)},[f]),(0,external_react_namespaceObject.useEffect)(()=>{if(!f)return;let{setGdprTypes:e,setComplianceSetting:t}=f.getState(),n=C.current;if((n.gdprTypes||n.consentCategories)&&e(n.gdprTypes||n.consentCategories||[]),n.complianceSettings)for(let[e,a]of Object.entries(n.complianceSettings))t(e,a);h(f.getState())},[f]);let w=(0,external_react_namespaceObject.useMemo)(()=>({theme:l,noStyle:b,disableAnimation:p,scrollLock:u,trapFocus:m,colorScheme:g}),[l,b,p,u,m,g]);(0,use_color_scheme_cjs_namespaceObject.useColorScheme)(g);let M=(0,external_react_namespaceObject.useMemo)(()=>{if(!f)throw Error("Consent store must be initialized before creating context value");return{state:O,store:f,manager:x}},[O,f,x]);return(0,jsx_runtime_namespaceObject.jsx)(consent_manager_context_cjs_namespaceObject.ConsentStateContext.Provider,{value:M,children:(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:w,children:e})})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.clearConsentManagerCache=__webpack_exports__.clearConsentManagerCache,__webpack_exports__)-1===["ConsentManagerProvider","clearConsentManagerCache"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
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,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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,clearConsentManagerCache:()=>clearConsentManagerCache});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_react_namespaceObject=require("react"),consent_manager_context_cjs_namespaceObject=require("../context/consent-manager-context.cjs"),theme_context_cjs_namespaceObject=require("../context/theme-context.cjs"),use_color_scheme_cjs_namespaceObject=require("../hooks/use-color-scheme.cjs"),external_version_cjs_namespaceObject=require("../version.cjs"),storeCache=new Map,managerCache=new Map;function clearConsentManagerCache(){storeCache.clear(),managerCache.clear()}function generateCacheKey(e,t,n){return`${e}:${t??"default"}:${n?"custom":"none"}`}function ConsentManagerProvider({children:e,options:t}){let{mode:n,backendURL:a,store:r={},translations:c,react:o={}}=t,{initialGdprTypes:_,initialComplianceSettings:s}=r,{theme:i,disableAnimation:l=!1,scrollLock:p=!1,trapFocus:u=!0,colorScheme:m,noStyle:g=!1}=o,b=(0,external_react_namespaceObject.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===n||"offline"===n)&&(a?.includes("c15t.dev")||a?.includes("c15t.cloud")||window.location.hostname.includes("c15t.dev")||window.location.hostname.includes("c15t.cloud"))),[n,a]),d=generateCacheKey(n||"c15t",a||"/api/c15t","endpointHandlers"in t?t.endpointHandlers:void 0),j=(0,external_react_namespaceObject.useMemo)(()=>{let e,c=managerCache.get(d);return c||(e="offline"===n?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"offline",store:r}):"custom"===n&&"endpointHandlers"in t?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"custom",endpointHandlers:t.endpointHandlers,store:r}):(0,external_c15t_namespaceObject.configureConsentManager)({mode:"c15t",backendURL:a||"/api/c15t",store:r}),managerCache.set(d,e),e)},[d,n,a,r,t]),x=(0,external_react_namespaceObject.useMemo)(()=>{let e=storeCache.get(d);if(e)return e;let a=(0,external_c15t_namespaceObject.createConsentManagerStore)(j,{unstable_googleTagManager:t.unstable_googleTagManager,config:{pkg:"@c15t/react",version:external_version_cjs_namespaceObject.version,mode:n||"Unknown"},ignoreGeoLocation:t.ignoreGeoLocation,initialGdprTypes:t.consentCategories,callbacks:t.callbacks,...r,isConsentDomain:b,initialTranslationConfig:c});return storeCache.set(d,a),a},[d,j,n,t.callbacks,t.unstable_googleTagManager,t.ignoreGeoLocation,t.consentCategories,r,b,c]),f=(0,external_react_namespaceObject.useRef)({gdprTypes:_,complianceSettings:s,consentCategories:t.consentCategories}),[C,O]=(0,external_react_namespaceObject.useState)(()=>x?x.getState():{});(0,external_react_namespaceObject.useEffect)(()=>{if(x)return x.subscribe(O)},[x]),(0,external_react_namespaceObject.useEffect)(()=>{if(!x)return;let{setGdprTypes:e,setComplianceSetting:t}=x.getState(),n=f.current;if((n.gdprTypes||n.consentCategories)&&e(n.gdprTypes||n.consentCategories||[]),n.complianceSettings)for(let[e,a]of Object.entries(n.complianceSettings))t(e,a);O(x.getState())},[x]);let h=(0,external_react_namespaceObject.useMemo)(()=>({theme:i,noStyle:g,disableAnimation:l,scrollLock:p,trapFocus:u,colorScheme:m}),[i,g,l,p,u,m]);(0,use_color_scheme_cjs_namespaceObject.useColorScheme)(m);let w=(0,external_react_namespaceObject.useMemo)(()=>{if(!x)throw Error("Consent store must be initialized before creating context value");return{state:C,store:x,manager:j}},[C,x,j]);return(0,jsx_runtime_namespaceObject.jsx)(consent_manager_context_cjs_namespaceObject.ConsentStateContext.Provider,{value:w,children:(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:h,children:e})})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.clearConsentManagerCache=__webpack_exports__.clearConsentManagerCache,__webpack_exports__)-1===["ConsentManagerProvider","clearConsentManagerCache"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +1 @@
1
- {"version":3,"file":"consent-manager-provider.d.ts","sourceRoot":"","sources":["../../src/providers/consent-manager-provider.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAa5E;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CA+M7B"}
1
+ {"version":3,"file":"consent-manager-provider.d.ts","sourceRoot":"","sources":["../../src/providers/consent-manager-provider.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAa5E;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CAuM7B"}
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import*as e from"react/jsx-runtime";import*as t from"c15t";import*as n from"react";import*as o from"../context/consent-manager-context.js";import*as r from"../context/theme-context.js";import*as a from"../hooks/use-color-scheme.js";import*as s from"../version.js";let i=new Map,c=new Map;function l(){i.clear(),c.clear()}function g({children:l,options:g}){var u,d,m;let{mode:f,backendURL:p,callbacks:C,store:M={},translations:v,react:h={}}=g,{initialGdprTypes:x,initialComplianceSettings:b}=M,{theme:w,disableAnimation:S=!1,scrollLock:T=!1,trapFocus:j=!0,colorScheme:y,noStyle:G=!1}=h,H=(0,n.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===f||"offline"===f)&&(p?.includes("c15t.dev")||p?.includes("c15t.cloud")||window.location.hostname.includes("c15t.dev")||window.location.hostname.includes("c15t.cloud"))),[f,p]),k=(u=f||"c15t",d=p||"/api/c15t",m="endpointHandlers"in g?g.endpointHandlers:void 0,`${u}:${d??"default"}:${m?"custom":"none"}`),L=(0,n.useMemo)(()=>{let e,n=c.get(k);return n||(e="offline"===f?(0,t.configureConsentManager)({mode:"offline",callbacks:C,store:M}):"custom"===f&&"endpointHandlers"in g?(0,t.configureConsentManager)({mode:"custom",endpointHandlers:g.endpointHandlers,callbacks:C,store:M}):(0,t.configureConsentManager)({mode:"c15t",backendURL:p||"/api/c15t",callbacks:C,store:M}),c.set(k,e),e)},[k,f,p,C,M,g]),E=(0,n.useMemo)(()=>{let e=i.get(k);if(e)return e;let n=(0,t.createConsentManagerStore)(L,{unstable_googleTagManager:g.unstable_googleTagManager,config:{pkg:"@c15t/react",version:s.version,mode:f||"Unknown"},ignoreGeoLocation:g.ignoreGeoLocation,initialGdprTypes:g.consentCategories,...M,isConsentDomain:H,initialTranslationConfig:v});return i.set(k,n),n},[k,L,f,g.unstable_googleTagManager,g.ignoreGeoLocation,g.consentCategories,M,H,v]),P=(0,n.useRef)({gdprTypes:x,complianceSettings:b,consentCategories:g.consentCategories}),[$,_]=(0,n.useState)(()=>E?E.getState():{});(0,n.useEffect)(()=>{if(E)return E.subscribe(_)},[E]),(0,n.useEffect)(()=>{if(!E)return;let{setGdprTypes:e,setComplianceSetting:t}=E.getState(),n=P.current;if((n.gdprTypes||n.consentCategories)&&e(n.gdprTypes||n.consentCategories||[]),n.complianceSettings)for(let[e,o]of Object.entries(n.complianceSettings))t(e,o);_(E.getState())},[E]);let R=(0,n.useMemo)(()=>({theme:w,noStyle:G,disableAnimation:S,scrollLock:T,trapFocus:j,colorScheme:y}),[w,G,S,T,j,y]);(0,a.useColorScheme)(y);let U=(0,n.useMemo)(()=>{if(!E)throw Error("Consent store must be initialized before creating context value");return{state:$,store:E,manager:L}},[$,E,L]);return(0,e.jsx)(o.ConsentStateContext.Provider,{value:U,children:(0,e.jsx)(r.GlobalThemeContext.Provider,{value:R,children:l})})}export{g as ConsentManagerProvider,l as clearConsentManagerCache};
2
+ import*as e from"react/jsx-runtime";import*as t from"c15t";import*as n from"react";import*as o from"../context/consent-manager-context.js";import*as r from"../context/theme-context.js";import*as a from"../hooks/use-color-scheme.js";import*as s from"../version.js";let i=new Map,c=new Map;function l(){i.clear(),c.clear()}function g({children:l,options:g}){var u,d,m;let{mode:f,backendURL:p,store:C={},translations:M,react:b={}}=g,{initialGdprTypes:v,initialComplianceSettings:h}=C,{theme:x,disableAnimation:w=!1,scrollLock:S=!1,trapFocus:T=!0,colorScheme:j,noStyle:k=!1}=b,y=(0,n.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===f||"offline"===f)&&(p?.includes("c15t.dev")||p?.includes("c15t.cloud")||window.location.hostname.includes("c15t.dev")||window.location.hostname.includes("c15t.cloud"))),[f,p]),G=(u=f||"c15t",d=p||"/api/c15t",m="endpointHandlers"in g?g.endpointHandlers:void 0,`${u}:${d??"default"}:${m?"custom":"none"}`),H=(0,n.useMemo)(()=>{let e,n=c.get(G);return n||(e="offline"===f?(0,t.configureConsentManager)({mode:"offline",store:C}):"custom"===f&&"endpointHandlers"in g?(0,t.configureConsentManager)({mode:"custom",endpointHandlers:g.endpointHandlers,store:C}):(0,t.configureConsentManager)({mode:"c15t",backendURL:p||"/api/c15t",store:C}),c.set(G,e),e)},[G,f,p,C,g]),L=(0,n.useMemo)(()=>{let e=i.get(G);if(e)return e;let n=(0,t.createConsentManagerStore)(H,{unstable_googleTagManager:g.unstable_googleTagManager,config:{pkg:"@c15t/react",version:s.version,mode:f||"Unknown"},ignoreGeoLocation:g.ignoreGeoLocation,initialGdprTypes:g.consentCategories,callbacks:g.callbacks,...C,isConsentDomain:y,initialTranslationConfig:M});return i.set(G,n),n},[G,H,f,g.callbacks,g.unstable_googleTagManager,g.ignoreGeoLocation,g.consentCategories,C,y,M]),E=(0,n.useRef)({gdprTypes:v,complianceSettings:h,consentCategories:g.consentCategories}),[P,$]=(0,n.useState)(()=>L?L.getState():{});(0,n.useEffect)(()=>{if(L)return L.subscribe($)},[L]),(0,n.useEffect)(()=>{if(!L)return;let{setGdprTypes:e,setComplianceSetting:t}=L.getState(),n=E.current;if((n.gdprTypes||n.consentCategories)&&e(n.gdprTypes||n.consentCategories||[]),n.complianceSettings)for(let[e,o]of Object.entries(n.complianceSettings))t(e,o);$(L.getState())},[L]);let _=(0,n.useMemo)(()=>({theme:x,noStyle:k,disableAnimation:w,scrollLock:S,trapFocus:T,colorScheme:j}),[x,k,w,S,T,j]);(0,a.useColorScheme)(j);let R=(0,n.useMemo)(()=>{if(!L)throw Error("Consent store must be initialized before creating context value");return{state:P,store:L,manager:H}},[P,L,H]);return(0,e.jsx)(o.ConsentStateContext.Provider,{value:R,children:(0,e.jsx)(r.GlobalThemeContext.Provider,{value:_,children:l})})}export{g as ConsentManagerProvider,l as clearConsentManagerCache};
@@ -2,7 +2,7 @@
2
2
  * @packageDocumentation
3
3
  * Type definitions for the consent manager components.
4
4
  */
5
- import type { AllConsentNames, ConsentManagerOptions as CoreOptions, GTMConfiguration, TranslationConfig } from 'c15t';
5
+ import type { AllConsentNames, Callbacks, ConsentManagerOptions as CoreOptions, GTMConfiguration, TranslationConfig } from 'c15t';
6
6
  import type { ReactNode } from 'react';
7
7
  import type { ConsentManagerDialogTheme } from '../components/consent-manager-dialog/theme';
8
8
  import type { ConsentManagerWidgetTheme } from '../components/consent-manager-widget/theme';
@@ -70,6 +70,10 @@ export type ConsentManagerOptions = CoreOptions & {
70
70
  * @default ['necessary', 'marketing']
71
71
  */
72
72
  consentCategories?: AllConsentNames[];
73
+ /**
74
+ * Callbacks for the consent manager.
75
+ */
76
+ callbacks?: Callbacks;
73
77
  };
74
78
  /**
75
79
  * Configuration options for the ConsentManagerProvider.
@@ -1 +1 @@
1
- {"version":3,"file":"consent-manager.d.ts","sourceRoot":"","sources":["../../src/types/consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,IAAI,WAAW,EACpC,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,iBAAiB,GACxB,yBAAyB,GACzB,yBAAyB,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IACjD;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACtC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,qBAAqB,CAAC;CAC/B"}
1
+ {"version":3,"file":"consent-manager.d.ts","sourceRoot":"","sources":["../../src/types/consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,qBAAqB,IAAI,WAAW,EACpC,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,iBAAiB,GACxB,yBAAyB,GACzB,yBAAyB,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IACjD;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,qBAAqB,CAAC;CAC/B"}
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,6 +1,30 @@
1
1
  {
2
2
  "name": "@c15t/react",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
+ "description": "Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization",
5
+ "keywords": [
6
+ "react",
7
+ "consent",
8
+ "privacy",
9
+ "gdpr",
10
+ "ccpa",
11
+ "lgpd",
12
+ "headless",
13
+ "typescript",
14
+ "cookie-banner",
15
+ "consent-management-platform",
16
+ "cmp",
17
+ "consent-banner",
18
+ "user-consent",
19
+ "privacy-compliance",
20
+ "web-privacy"
21
+ ],
22
+ "homepage": "https://c15t.com/docs/frameworks/react/quickstart",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/c15t/c15t.git",
26
+ "directory": "packages/react"
27
+ },
4
28
  "license": "GPL-3.0-only",
5
29
  "sideEffects": false,
6
30
  "type": "module",
@@ -68,17 +92,17 @@
68
92
  "@radix-ui/react-switch": "1.1.4",
69
93
  "clsx": "2.1.1",
70
94
  "zustand": "^5.0.3",
71
- "c15t": "1.5.0"
95
+ "c15t": "1.6.0"
72
96
  },
73
97
  "devDependencies": {
74
98
  "genversion": "^3.2.0",
75
- "@c15t/backend": "1.5.0",
99
+ "@c15t/backend": "1.6.0",
76
100
  "@c15t/typescript-config": "0.0.1-beta.1",
77
101
  "@c15t/vitest-config": "1.0.0"
78
102
  },
79
103
  "peerDependencies": {
80
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
81
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
104
+ "react": "^19.0.0 || ^19.0.0-rc || ^18.0.0 || ^17.0.0 || ^16.8.0",
105
+ "react-dom": "^19.0.0 || ^19.0.0-rc || ^18.0.0 || ^17.0.0 || ^16.8.0"
82
106
  },
83
107
  "publishConfig": {
84
108
  "access": "public"
@@ -86,11 +110,11 @@
86
110
  "scripts": {
87
111
  "prebuild": "genversion --esm --semi src/version.ts",
88
112
  "build": "pnpm prebuild && rslib build",
113
+ "check-types": "pnpm prebuild && tsc --noEmit",
89
114
  "dev": "pnpm prebuild && rslib build --watch",
90
- "check-types": "tsc --noEmit",
91
- "fmt": "pnpm biome format --write . && pnpm biome check --formatter-enabled=false --linter-enabled=false --organize-imports-enabled=true --write",
115
+ "fmt": "pnpm biome format --write . && pnpm biome check --formatter-enabled=false --linter-enabled=false --write",
92
116
  "lint": "pnpm biome lint ./src",
93
- "test": "vitest run",
94
- "test:watch": "vitest"
117
+ "test": "pnpm prebuild && vitest run",
118
+ "test:watch": "pnpm prebuild && vitest"
95
119
  }
96
120
  }