@c15t/react 0.0.1-rc.8 → 1.0.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.
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +41 -20
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +34 -6
- package/dist/components/consent-manager-dialog/atoms/dialog-card.cjs +67 -32
- package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts +9 -3
- package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/atoms/dialog-card.js +26 -12
- package/dist/components/consent-manager-dialog/atoms/overlay.cjs +20 -19
- package/dist/components/consent-manager-dialog/atoms/overlay.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.js +7 -4
- package/dist/components/consent-manager-dialog/consent-manager-dialog.cjs +20 -16
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts +0 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog.js +10 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.cjs +12 -10
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.js +4 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog_module.css +29 -15
- package/dist/components/consent-manager-dialog/index.cjs +43 -17
- package/dist/components/consent-manager-dialog/theme.cjs +3 -4
- package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +41 -20
- package/dist/components/consent-manager-widget/__tests__/styles.spec.js +34 -6
- package/dist/components/consent-manager-widget/atoms/accordion.cjs +50 -24
- package/dist/components/consent-manager-widget/atoms/accordion.d.ts.map +1 -1
- package/dist/components/consent-manager-widget/atoms/button.cjs +27 -13
- package/dist/components/consent-manager-widget/atoms/footer.cjs +19 -17
- package/dist/components/consent-manager-widget/atoms/root.cjs +10 -8
- package/dist/components/consent-manager-widget/consent-manager-widget.cjs +11 -22
- package/dist/components/consent-manager-widget/consent-manager-widget.d.ts.map +1 -1
- package/dist/components/consent-manager-widget/consent-manager-widget.js +3 -14
- package/dist/components/consent-manager-widget/consent-manager-widget.module.cjs +12 -13
- package/dist/components/consent-manager-widget/consent-manager-widget.module.js +4 -5
- package/dist/components/consent-manager-widget/consent-manager-widget_module.css +24 -29
- package/dist/components/consent-manager-widget/index.cjs +87 -29
- package/dist/components/consent-manager-widget/theme.cjs +3 -4
- package/dist/components/consent-manager-widget/types.cjs +3 -4
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.cjs +189 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts +2 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts.map +1 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.js +183 -0
- package/dist/components/cookie-banner/__tests__/styles.spec.cjs +35 -20
- package/dist/components/cookie-banner/__tests__/styles.spec.js +28 -6
- package/dist/components/cookie-banner/atoms/overlay.cjs +18 -18
- package/dist/components/cookie-banner/atoms/overlay.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/overlay.js +7 -5
- package/dist/components/cookie-banner/atoms/root.cjs +17 -17
- package/dist/components/cookie-banner/atoms/root.d.ts +14 -0
- package/dist/components/cookie-banner/atoms/root.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/root.js +6 -4
- package/dist/components/cookie-banner/components.cjs +69 -28
- package/dist/components/cookie-banner/components.d.ts.map +1 -1
- package/dist/components/cookie-banner/components.js +14 -3
- package/dist/components/cookie-banner/cookie-banner.cjs +11 -9
- package/dist/components/cookie-banner/cookie-banner.d.ts +12 -0
- package/dist/components/cookie-banner/cookie-banner.d.ts.map +1 -1
- package/dist/components/cookie-banner/cookie-banner.js +3 -1
- package/dist/components/cookie-banner/cookie-banner.module.cjs +10 -10
- package/dist/components/cookie-banner/cookie-banner.module.js +2 -2
- package/dist/components/cookie-banner/cookie-banner_module.css +7 -7
- package/dist/components/cookie-banner/error-boundary.cjs +8 -9
- package/dist/components/cookie-banner/error-boundary.d.ts +1 -1
- package/dist/components/cookie-banner/error-boundary.js +0 -1
- package/dist/components/cookie-banner/index.cjs +65 -23
- package/dist/components/cookie-banner/theme.cjs +3 -4
- package/dist/components/shared/libs/polymorphic.cjs +3 -4
- package/dist/components/shared/libs/polymorphic.d.ts +1 -7
- package/dist/components/shared/libs/polymorphic.d.ts.map +1 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +8 -8
- package/dist/components/shared/primitives/box.cjs +10 -10
- package/dist/components/shared/primitives/box.d.ts.map +1 -1
- package/dist/components/shared/primitives/box.js +3 -3
- package/dist/components/shared/primitives/button.cjs +9 -9
- package/dist/components/shared/primitives/button.d.ts +2 -102
- package/dist/components/shared/primitives/button.d.ts.map +1 -1
- package/dist/components/shared/primitives/button.js +2 -2
- package/dist/components/shared/primitives/button.types.cjs +3 -4
- package/dist/components/shared/primitives/button.types.d.ts +1 -8
- package/dist/components/shared/primitives/button.types.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion.cjs +25 -17
- package/dist/components/shared/ui/accordion/accordion.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +8 -8
- package/dist/components/shared/ui/accordion/accordion.module.cjs +11 -11
- package/dist/components/shared/ui/accordion/accordion.module.js +3 -3
- package/dist/components/shared/ui/accordion/accordion.types.cjs +3 -4
- package/dist/components/shared/ui/accordion/accordion.types.d.ts +0 -10
- package/dist/components/shared/ui/accordion/accordion.types.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion_module.css +39 -19
- package/dist/components/shared/ui/accordion/index.cjs +7 -14
- package/dist/components/shared/ui/button/button.cjs +16 -16
- package/dist/components/shared/ui/button/button.d.ts +4 -204
- package/dist/components/shared/ui/button/button.d.ts.map +1 -1
- package/dist/components/shared/ui/button/button.module.cjs +10 -10
- package/dist/components/shared/ui/button/button.module.js +2 -2
- package/dist/components/shared/ui/button/button.types.cjs +3 -4
- package/dist/components/shared/ui/button/button_module.css +40 -19
- package/dist/components/shared/ui/button/index.cjs +7 -14
- package/dist/components/shared/ui/icon.cjs +8 -8
- package/dist/components/shared/ui/icon.d.ts.map +1 -1
- package/dist/components/shared/ui/logo.cjs +43 -54
- package/dist/components/shared/ui/logo.d.ts +3 -2
- package/dist/components/shared/ui/logo.d.ts.map +1 -1
- package/dist/components/shared/ui/logo.js +32 -46
- package/dist/components/shared/ui/switch/index.cjs +7 -14
- package/dist/components/shared/ui/switch/switch.cjs +11 -15
- package/dist/components/shared/ui/switch/switch.d.ts.map +1 -1
- package/dist/components/shared/ui/switch/switch.js +3 -3
- package/dist/components/shared/ui/switch/switch.module.cjs +10 -10
- package/dist/components/shared/ui/switch/switch.module.js +2 -2
- package/dist/components/shared/ui/switch/switch.types.cjs +3 -4
- package/dist/components/shared/ui/switch/switch_module.css +32 -10
- package/dist/context/consent-manager-context.cjs +9 -9
- package/dist/context/consent-manager-context.d.ts +29 -10
- package/dist/context/consent-manager-context.d.ts.map +1 -1
- package/dist/context/consent-manager-context.js +1 -1
- package/dist/context/theme-context.cjs +17 -9
- package/dist/context/theme-context.d.ts +16 -1
- package/dist/context/theme-context.d.ts.map +1 -1
- package/dist/context/theme-context.js +7 -1
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +76 -0
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-consent-manager.test.js +70 -0
- package/dist/hooks/__tests__/use-styles.test.cjs +76 -0
- package/dist/hooks/__tests__/use-styles.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-styles.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-styles.test.js +70 -0
- package/dist/hooks/__tests__/use-theme.test.cjs +86 -0
- package/dist/hooks/__tests__/use-theme.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-theme.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-theme.test.js +80 -0
- package/dist/hooks/index.cjs +23 -21
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +18 -1
- package/dist/hooks/use-color-scheme.cjs +66 -0
- package/dist/hooks/use-color-scheme.d.ts +16 -0
- package/dist/hooks/use-color-scheme.d.ts.map +1 -0
- package/dist/hooks/use-color-scheme.js +32 -0
- package/dist/hooks/use-consent-manager.cjs +13 -9
- package/dist/hooks/use-consent-manager.d.ts +13 -5
- package/dist/hooks/use-consent-manager.d.ts.map +1 -1
- package/dist/hooks/use-consent-manager.js +5 -1
- package/dist/hooks/use-focus-trap.cjs +76 -0
- package/dist/hooks/use-focus-trap.d.ts +15 -0
- package/dist/hooks/use-focus-trap.d.ts.map +1 -0
- package/dist/hooks/use-focus-trap.js +42 -0
- package/dist/hooks/use-scroll-lock.cjs +55 -0
- package/dist/hooks/use-scroll-lock.d.ts +26 -0
- package/dist/hooks/use-scroll-lock.d.ts.map +1 -0
- package/dist/hooks/use-scroll-lock.js +21 -0
- package/dist/{utils → hooks}/use-styles.cjs +13 -13
- package/dist/{utils → hooks}/use-styles.d.ts.map +1 -1
- package/dist/{utils → hooks}/use-styles.js +5 -5
- package/dist/hooks/use-theme.cjs +10 -12
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/hooks/use-theme.js +2 -4
- package/dist/hooks/use-translations.cjs +8 -8
- package/dist/index.cjs +66 -30
- package/dist/index.d.ts +9 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/providers/__tests__/provider-basic.test.cjs +127 -0
- package/dist/providers/__tests__/provider-basic.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-basic.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-basic.test.js +121 -0
- package/dist/providers/__tests__/provider-context.test.cjs +139 -0
- package/dist/providers/__tests__/provider-context.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-context.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-context.test.js +133 -0
- package/dist/providers/__tests__/provider-errors.test.cjs +98 -0
- package/dist/providers/__tests__/provider-errors.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-errors.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-errors.test.js +92 -0
- package/dist/providers/__tests__/test-helpers.cjs +171 -0
- package/dist/providers/__tests__/test-helpers.d.ts +6 -0
- package/dist/providers/__tests__/test-helpers.d.ts.map +1 -0
- package/dist/providers/__tests__/test-helpers.js +134 -0
- package/dist/providers/consent-manager-provider.cjs +95 -38
- package/dist/providers/consent-manager-provider.d.ts +16 -2
- package/dist/providers/consent-manager-provider.d.ts.map +1 -1
- package/dist/providers/consent-manager-provider.js +87 -30
- package/dist/types/consent-manager.cjs +3 -4
- package/dist/types/consent-manager.d.ts +47 -72
- package/dist/types/consent-manager.d.ts.map +1 -1
- package/dist/types/theme/index.cjs +7 -14
- package/dist/types/theme/style-keys.cjs +3 -4
- package/dist/types/theme/style-types.cjs +3 -4
- package/dist/utils/cn.cjs +10 -16
- package/dist/utils/cn.d.ts +1 -5
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +1 -2
- package/dist/utils/merge-styles.cjs +8 -8
- package/dist/utils/test-helpers.cjs +70 -0
- package/dist/utils/test-helpers.d.ts +30 -0
- package/dist/utils/test-helpers.d.ts.map +1 -0
- package/dist/utils/test-helpers.js +33 -0
- package/dist/utils/translations.cjs +12 -8
- package/package.json +17 -12
- package/dist/components/consent-manager-dialog/__tests__/utils.cjs +0 -68
- package/dist/components/consent-manager-dialog/__tests__/utils.d.ts +0 -13
- package/dist/components/consent-manager-dialog/__tests__/utils.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/__tests__/utils.js +0 -34
- package/dist/components/consent-manager-widget/__tests__/utils.cjs +0 -68
- package/dist/components/consent-manager-widget/__tests__/utils.d.ts +0 -13
- package/dist/components/consent-manager-widget/__tests__/utils.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/__tests__/utils.js +0 -34
- package/dist/components/consent-manager-widget/atoms/logo.cjs +0 -101
- package/dist/components/consent-manager-widget/atoms/logo.d.ts +0 -8
- package/dist/components/consent-manager-widget/atoms/logo.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/logo.js +0 -67
- package/dist/components/cookie-banner/__tests__/utils.cjs +0 -67
- package/dist/components/cookie-banner/__tests__/utils.d.ts +0 -13
- package/dist/components/cookie-banner/__tests__/utils.d.ts.map +0 -1
- package/dist/components/cookie-banner/__tests__/utils.js +0 -33
- /package/dist/{utils → hooks}/use-styles.d.ts +0 -0
package/dist/index.cjs
CHANGED
|
@@ -9,12 +9,24 @@ var __webpack_modules__ = {
|
|
|
9
9
|
"./components/cookie-banner/cookie-banner": function(module) {
|
|
10
10
|
module.exports = require("./components/cookie-banner/cookie-banner.cjs");
|
|
11
11
|
},
|
|
12
|
-
"
|
|
13
|
-
module.exports = require("./hooks/
|
|
12
|
+
"./hooks/use-color-scheme": function(module) {
|
|
13
|
+
module.exports = require("./hooks/use-color-scheme.cjs");
|
|
14
|
+
},
|
|
15
|
+
"./hooks/use-consent-manager": function(module) {
|
|
16
|
+
module.exports = require("./hooks/use-consent-manager.cjs");
|
|
17
|
+
},
|
|
18
|
+
"./hooks/use-focus-trap": function(module) {
|
|
19
|
+
module.exports = require("./hooks/use-focus-trap.cjs");
|
|
20
|
+
},
|
|
21
|
+
"./hooks/use-translations": function(module) {
|
|
22
|
+
module.exports = require("./hooks/use-translations.cjs");
|
|
14
23
|
},
|
|
15
24
|
"./providers/consent-manager-provider": function(module) {
|
|
16
25
|
module.exports = require("./providers/consent-manager-provider.cjs");
|
|
17
26
|
},
|
|
27
|
+
"./utils/translations": function(module) {
|
|
28
|
+
module.exports = require("./utils/translations.cjs");
|
|
29
|
+
},
|
|
18
30
|
c15t: function(module) {
|
|
19
31
|
module.exports = require("c15t");
|
|
20
32
|
}
|
|
@@ -30,12 +42,8 @@ function __webpack_require__(moduleId) {
|
|
|
30
42
|
return module.exports;
|
|
31
43
|
}
|
|
32
44
|
(()=>{
|
|
33
|
-
__webpack_require__.n =
|
|
34
|
-
var getter = module && module.__esModule ?
|
|
35
|
-
return module['default'];
|
|
36
|
-
} : function() {
|
|
37
|
-
return module;
|
|
38
|
-
};
|
|
45
|
+
__webpack_require__.n = (module)=>{
|
|
46
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
39
47
|
__webpack_require__.d(getter, {
|
|
40
48
|
a: getter
|
|
41
49
|
});
|
|
@@ -43,7 +51,7 @@ function __webpack_require__(moduleId) {
|
|
|
43
51
|
};
|
|
44
52
|
})();
|
|
45
53
|
(()=>{
|
|
46
|
-
__webpack_require__.d =
|
|
54
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
47
55
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
48
56
|
enumerable: true,
|
|
49
57
|
get: definition[key]
|
|
@@ -51,12 +59,10 @@ function __webpack_require__(moduleId) {
|
|
|
51
59
|
};
|
|
52
60
|
})();
|
|
53
61
|
(()=>{
|
|
54
|
-
__webpack_require__.o =
|
|
55
|
-
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
56
|
-
};
|
|
62
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
57
63
|
})();
|
|
58
64
|
(()=>{
|
|
59
|
-
__webpack_require__.r =
|
|
65
|
+
__webpack_require__.r = (exports1)=>{
|
|
60
66
|
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
61
67
|
value: 'Module'
|
|
62
68
|
});
|
|
@@ -69,33 +75,63 @@ var __webpack_exports__ = {};
|
|
|
69
75
|
(()=>{
|
|
70
76
|
__webpack_require__.r(__webpack_exports__);
|
|
71
77
|
__webpack_require__.d(__webpack_exports__, {
|
|
72
|
-
ConsentManagerDialog: ()=>
|
|
73
|
-
ConsentManagerProvider: ()=>
|
|
74
|
-
ConsentManagerWidget: ()=>
|
|
78
|
+
ConsentManagerDialog: ()=>_components_consent_manager_dialog_consent_manager_dialog__WEBPACK_IMPORTED_MODULE_2__.ConsentManagerDialog,
|
|
79
|
+
ConsentManagerProvider: ()=>_providers_consent_manager_provider__WEBPACK_IMPORTED_MODULE_3__.ConsentManagerProvider,
|
|
80
|
+
ConsentManagerWidget: ()=>_components_consent_manager_widget_consent_manager_widget__WEBPACK_IMPORTED_MODULE_1__.ConsentManagerWidget,
|
|
75
81
|
CookieBanner: ()=>_components_cookie_banner_cookie_banner__WEBPACK_IMPORTED_MODULE_0__.CookieBanner,
|
|
76
|
-
|
|
82
|
+
configureConsentManager: ()=>c15t__WEBPACK_IMPORTED_MODULE_8__.configureConsentManager,
|
|
83
|
+
useColorScheme: ()=>_hooks_use_color_scheme__WEBPACK_IMPORTED_MODULE_6__.useColorScheme,
|
|
84
|
+
useConsentManager: ()=>_hooks_use_consent_manager__WEBPACK_IMPORTED_MODULE_4__.useConsentManager,
|
|
85
|
+
useFocusTrap: ()=>_hooks_use_focus_trap__WEBPACK_IMPORTED_MODULE_7__.useFocusTrap,
|
|
86
|
+
useTranslations: ()=>_hooks_use_translations__WEBPACK_IMPORTED_MODULE_5__.useTranslations
|
|
77
87
|
});
|
|
78
88
|
var _components_cookie_banner_cookie_banner__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./components/cookie-banner/cookie-banner");
|
|
79
|
-
var
|
|
80
|
-
var
|
|
81
|
-
var
|
|
89
|
+
var _components_consent_manager_widget_consent_manager_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./components/consent-manager-widget/consent-manager-widget");
|
|
90
|
+
var _components_consent_manager_dialog_consent_manager_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./components/consent-manager-dialog/consent-manager-dialog");
|
|
91
|
+
var _providers_consent_manager_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./providers/consent-manager-provider");
|
|
92
|
+
var _hooks_use_consent_manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./hooks/use-consent-manager");
|
|
93
|
+
var _hooks_use_translations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./hooks/use-translations");
|
|
94
|
+
var _hooks_use_color_scheme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("./hooks/use-color-scheme");
|
|
95
|
+
var _hooks_use_focus_trap__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("./hooks/use-focus-trap");
|
|
96
|
+
var c15t__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("c15t");
|
|
97
|
+
var _utils_translations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("./utils/translations");
|
|
82
98
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
83
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
99
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_translations__WEBPACK_IMPORTED_MODULE_9__)if ([
|
|
100
|
+
"useColorScheme",
|
|
101
|
+
"useFocusTrap",
|
|
102
|
+
"useTranslations",
|
|
87
103
|
"ConsentManagerWidget",
|
|
104
|
+
"configureConsentManager",
|
|
88
105
|
"CookieBanner",
|
|
106
|
+
"useConsentManager",
|
|
107
|
+
"default",
|
|
108
|
+
"ConsentManagerProvider",
|
|
89
109
|
"ConsentManagerDialog"
|
|
90
110
|
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
91
|
-
return
|
|
111
|
+
return _utils_translations__WEBPACK_IMPORTED_MODULE_9__[key];
|
|
92
112
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
93
113
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
94
|
-
var _providers_consent_manager_provider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./providers/consent-manager-provider");
|
|
95
|
-
var c15t__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("c15t");
|
|
96
114
|
})();
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
exports.ConsentManagerDialog = __webpack_exports__.ConsentManagerDialog;
|
|
116
|
+
exports.ConsentManagerProvider = __webpack_exports__.ConsentManagerProvider;
|
|
117
|
+
exports.ConsentManagerWidget = __webpack_exports__.ConsentManagerWidget;
|
|
118
|
+
exports.CookieBanner = __webpack_exports__.CookieBanner;
|
|
119
|
+
exports.configureConsentManager = __webpack_exports__.configureConsentManager;
|
|
120
|
+
exports.useColorScheme = __webpack_exports__.useColorScheme;
|
|
121
|
+
exports.useConsentManager = __webpack_exports__.useConsentManager;
|
|
122
|
+
exports.useFocusTrap = __webpack_exports__.useFocusTrap;
|
|
123
|
+
exports.useTranslations = __webpack_exports__.useTranslations;
|
|
124
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
125
|
+
"ConsentManagerDialog",
|
|
126
|
+
"ConsentManagerProvider",
|
|
127
|
+
"ConsentManagerWidget",
|
|
128
|
+
"CookieBanner",
|
|
129
|
+
"configureConsentManager",
|
|
130
|
+
"useColorScheme",
|
|
131
|
+
"useConsentManager",
|
|
132
|
+
"useFocusTrap",
|
|
133
|
+
"useTranslations"
|
|
134
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
135
|
+
Object.defineProperty(exports, '__esModule', {
|
|
100
136
|
value: true
|
|
101
137
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
export { CookieBanner } from './components/cookie-banner/cookie-banner';
|
|
2
2
|
export type { CookieBannerProps } from './components/cookie-banner/cookie-banner';
|
|
3
|
-
export type { CookieBannerTheme } from './components/cookie-banner/theme';
|
|
4
|
-
export { ConsentManagerDialog } from './components/consent-manager-dialog/consent-manager-dialog';
|
|
5
|
-
export type { ConsentManagerDialogProps } from './components/consent-manager-dialog/consent-manager-dialog';
|
|
6
|
-
export type { ConsentManagerDialogTheme } from './components/consent-manager-dialog/theme';
|
|
7
3
|
export { ConsentManagerWidget } from './components/consent-manager-widget/consent-manager-widget';
|
|
8
4
|
export type { ConsentManagerWidgetProps } from './components/consent-manager-widget/types';
|
|
9
|
-
export
|
|
10
|
-
export
|
|
5
|
+
export { ConsentManagerDialog } from './components/consent-manager-dialog/consent-manager-dialog';
|
|
6
|
+
export type { ConsentManagerDialogProps } from './components/consent-manager-dialog/consent-manager-dialog';
|
|
11
7
|
export { ConsentManagerProvider } from './providers/consent-manager-provider';
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
15
|
-
export
|
|
8
|
+
export { useConsentManager } from './hooks/use-consent-manager';
|
|
9
|
+
export { useTranslations } from './hooks/use-translations';
|
|
10
|
+
export { useColorScheme } from './hooks/use-color-scheme';
|
|
11
|
+
export { useFocusTrap } from './hooks/use-focus-trap';
|
|
12
|
+
export { configureConsentManager, type ConsentManagerInterface, } from 'c15t';
|
|
13
|
+
export type { ConsentManagerProviderProps, ConsentManagerOptions, } from './types/consent-manager';
|
|
14
|
+
export * from './utils/translations';
|
|
16
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,GAC5B,MAAM,MAAM,CAAC;AAGd,YAAY,EACX,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import * as __WEBPACK_EXTERNAL_MODULE__components_cookie_banner_cookie_banner_js_aba0c776__ from "./components/cookie-banner/cookie-banner.js";
|
|
2
|
-
import * as __WEBPACK_EXTERNAL_MODULE__components_consent_manager_dialog_consent_manager_dialog_js_d74113dd__ from "./components/consent-manager-dialog/consent-manager-dialog.js";
|
|
3
2
|
import * as __WEBPACK_EXTERNAL_MODULE__components_consent_manager_widget_consent_manager_widget_js_080fb908__ from "./components/consent-manager-widget/consent-manager-widget.js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__components_consent_manager_dialog_consent_manager_dialog_js_d74113dd__ from "./components/consent-manager-dialog/consent-manager-dialog.js";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE__providers_consent_manager_provider_js_7459f585__ from "./providers/consent-manager-provider.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_2b895421__ from "./hooks/use-consent-manager.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_translations_js_78932b91__ from "./hooks/use-translations.js";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_color_scheme_js_41dc75de__ from "./hooks/use-color-scheme.js";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_focus_trap_js_7fdb46fa__ from "./hooks/use-focus-trap.js";
|
|
5
9
|
import * as __WEBPACK_EXTERNAL_MODULE_c15t__ from "c15t";
|
|
6
|
-
export * from "./
|
|
10
|
+
export * from "./utils/translations.js";
|
|
7
11
|
var __webpack_exports__ConsentManagerDialog = __WEBPACK_EXTERNAL_MODULE__components_consent_manager_dialog_consent_manager_dialog_js_d74113dd__.ConsentManagerDialog;
|
|
8
12
|
var __webpack_exports__ConsentManagerProvider = __WEBPACK_EXTERNAL_MODULE__providers_consent_manager_provider_js_7459f585__.ConsentManagerProvider;
|
|
9
13
|
var __webpack_exports__ConsentManagerWidget = __WEBPACK_EXTERNAL_MODULE__components_consent_manager_widget_consent_manager_widget_js_080fb908__.ConsentManagerWidget;
|
|
10
14
|
var __webpack_exports__CookieBanner = __WEBPACK_EXTERNAL_MODULE__components_cookie_banner_cookie_banner_js_aba0c776__.CookieBanner;
|
|
11
|
-
var
|
|
12
|
-
|
|
15
|
+
var __webpack_exports__configureConsentManager = __WEBPACK_EXTERNAL_MODULE_c15t__.configureConsentManager;
|
|
16
|
+
var __webpack_exports__useColorScheme = __WEBPACK_EXTERNAL_MODULE__hooks_use_color_scheme_js_41dc75de__.useColorScheme;
|
|
17
|
+
var __webpack_exports__useConsentManager = __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_2b895421__.useConsentManager;
|
|
18
|
+
var __webpack_exports__useFocusTrap = __WEBPACK_EXTERNAL_MODULE__hooks_use_focus_trap_js_7fdb46fa__.useFocusTrap;
|
|
19
|
+
var __webpack_exports__useTranslations = __WEBPACK_EXTERNAL_MODULE__hooks_use_translations_js_78932b91__.useTranslations;
|
|
20
|
+
export { __webpack_exports__ConsentManagerDialog as ConsentManagerDialog, __webpack_exports__ConsentManagerProvider as ConsentManagerProvider, __webpack_exports__ConsentManagerWidget as ConsentManagerWidget, __webpack_exports__CookieBanner as CookieBanner, __webpack_exports__configureConsentManager as configureConsentManager, __webpack_exports__useColorScheme as useColorScheme, __webpack_exports__useConsentManager as useConsentManager, __webpack_exports__useFocusTrap as useFocusTrap, __webpack_exports__useTranslations as useTranslations };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_exports__ = {};
|
|
3
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
+
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
+
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
+
const external_index_cjs_namespaceObject = require("../../index.cjs");
|
|
7
|
+
const mockFetch = external_vitest_namespaceObject.vi.fn();
|
|
8
|
+
window.fetch = mockFetch;
|
|
9
|
+
(0, external_vitest_namespaceObject.describe)('ConsentManagerProvider Basic Request Behavior', ()=>{
|
|
10
|
+
(0, external_vitest_namespaceObject.beforeEach)(()=>{
|
|
11
|
+
external_vitest_namespaceObject.vi.resetAllMocks();
|
|
12
|
+
external_vitest_namespaceObject.vi.useFakeTimers();
|
|
13
|
+
mockFetch.mockResolvedValue(new Response(JSON.stringify({
|
|
14
|
+
showConsentBanner: true
|
|
15
|
+
}), {
|
|
16
|
+
status: 200,
|
|
17
|
+
headers: {
|
|
18
|
+
'Content-Type': 'application/json'
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
});
|
|
22
|
+
(0, external_vitest_namespaceObject.afterEach)(()=>{
|
|
23
|
+
external_vitest_namespaceObject.vi.clearAllMocks();
|
|
24
|
+
external_vitest_namespaceObject.vi.useRealTimers();
|
|
25
|
+
});
|
|
26
|
+
(0, external_vitest_namespaceObject.it)('should only make one initial request for consent banner status', async ()=>{
|
|
27
|
+
(0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
28
|
+
options: {
|
|
29
|
+
mode: 'c15t',
|
|
30
|
+
backendURL: '/api/c15t'
|
|
31
|
+
},
|
|
32
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
33
|
+
children: "Test Component"
|
|
34
|
+
})
|
|
35
|
+
}));
|
|
36
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
37
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
38
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining('/api/c15t/show-consent-banner'), external_vitest_namespaceObject.expect.any(Object));
|
|
39
|
+
});
|
|
40
|
+
(0, external_vitest_namespaceObject.it)('should not make additional requests when props change but core options remain same', async ()=>{
|
|
41
|
+
mockFetch.mockClear();
|
|
42
|
+
const { rerender } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
43
|
+
options: {
|
|
44
|
+
mode: 'offline',
|
|
45
|
+
react: {
|
|
46
|
+
theme: 'light'
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
50
|
+
children: "Light theme"
|
|
51
|
+
})
|
|
52
|
+
}));
|
|
53
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
54
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();
|
|
55
|
+
rerender(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
56
|
+
options: {
|
|
57
|
+
mode: 'offline',
|
|
58
|
+
react: {
|
|
59
|
+
theme: 'dark'
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
63
|
+
children: "Dark theme"
|
|
64
|
+
})
|
|
65
|
+
}));
|
|
66
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
67
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();
|
|
68
|
+
});
|
|
69
|
+
(0, external_vitest_namespaceObject.it)('should make a new request when core options change', async ()=>{
|
|
70
|
+
const { rerender } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
71
|
+
options: {
|
|
72
|
+
mode: 'c15t',
|
|
73
|
+
backendURL: '/api/c15t-1'
|
|
74
|
+
},
|
|
75
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
76
|
+
children: "First URL"
|
|
77
|
+
})
|
|
78
|
+
}));
|
|
79
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
80
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
81
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining('/api/c15t-1/show-consent-banner'), external_vitest_namespaceObject.expect.any(Object));
|
|
82
|
+
mockFetch.mockClear();
|
|
83
|
+
rerender(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
84
|
+
options: {
|
|
85
|
+
mode: 'c15t',
|
|
86
|
+
backendURL: '/api/c15t-2'
|
|
87
|
+
},
|
|
88
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
89
|
+
children: "Second URL"
|
|
90
|
+
})
|
|
91
|
+
}));
|
|
92
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
93
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining('/api/c15t-2/show-consent-banner'), external_vitest_namespaceObject.expect.any(Object));
|
|
94
|
+
});
|
|
95
|
+
(0, external_vitest_namespaceObject.it)('should handle rapid re-renders without making duplicate requests', async ()=>{
|
|
96
|
+
mockFetch.mockClear();
|
|
97
|
+
const { rerender } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
98
|
+
options: {
|
|
99
|
+
mode: 'offline'
|
|
100
|
+
},
|
|
101
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
102
|
+
children: "Counter: 0"
|
|
103
|
+
})
|
|
104
|
+
}));
|
|
105
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
106
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();
|
|
107
|
+
for(let i = 1; i <= 5; i++){
|
|
108
|
+
rerender(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider, {
|
|
109
|
+
options: {
|
|
110
|
+
mode: 'offline'
|
|
111
|
+
},
|
|
112
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
113
|
+
children: [
|
|
114
|
+
"Counter: ",
|
|
115
|
+
i
|
|
116
|
+
]
|
|
117
|
+
})
|
|
118
|
+
}));
|
|
119
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
120
|
+
}
|
|
121
|
+
(0, external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
125
|
+
Object.defineProperty(exports, '__esModule', {
|
|
126
|
+
value: true
|
|
127
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-basic.test.d.ts","sourceRoot":"","sources":["../../../src/providers/__tests__/provider-basic.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__ from "../../index.js";
|
|
5
|
+
const mockFetch = __WEBPACK_EXTERNAL_MODULE_vitest__.vi.fn();
|
|
6
|
+
window.fetch = mockFetch;
|
|
7
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('ConsentManagerProvider Basic Request Behavior', ()=>{
|
|
8
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.beforeEach)(()=>{
|
|
9
|
+
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.resetAllMocks();
|
|
10
|
+
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.useFakeTimers();
|
|
11
|
+
mockFetch.mockResolvedValue(new Response(JSON.stringify({
|
|
12
|
+
showConsentBanner: true
|
|
13
|
+
}), {
|
|
14
|
+
status: 200,
|
|
15
|
+
headers: {
|
|
16
|
+
'Content-Type': 'application/json'
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
});
|
|
20
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.afterEach)(()=>{
|
|
21
|
+
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.clearAllMocks();
|
|
22
|
+
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.useRealTimers();
|
|
23
|
+
});
|
|
24
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should only make one initial request for consent banner status', async ()=>{
|
|
25
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
26
|
+
options: {
|
|
27
|
+
mode: 'c15t',
|
|
28
|
+
backendURL: '/api/c15t'
|
|
29
|
+
},
|
|
30
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
31
|
+
children: "Test Component"
|
|
32
|
+
})
|
|
33
|
+
}));
|
|
34
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
35
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
36
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledWith(__WEBPACK_EXTERNAL_MODULE_vitest__.expect.stringContaining('/api/c15t/show-consent-banner'), __WEBPACK_EXTERNAL_MODULE_vitest__.expect.any(Object));
|
|
37
|
+
});
|
|
38
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should not make additional requests when props change but core options remain same', async ()=>{
|
|
39
|
+
mockFetch.mockClear();
|
|
40
|
+
const { rerender } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
41
|
+
options: {
|
|
42
|
+
mode: 'offline',
|
|
43
|
+
react: {
|
|
44
|
+
theme: 'light'
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
48
|
+
children: "Light theme"
|
|
49
|
+
})
|
|
50
|
+
}));
|
|
51
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
52
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).not.toHaveBeenCalled();
|
|
53
|
+
rerender(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
54
|
+
options: {
|
|
55
|
+
mode: 'offline',
|
|
56
|
+
react: {
|
|
57
|
+
theme: 'dark'
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
61
|
+
children: "Dark theme"
|
|
62
|
+
})
|
|
63
|
+
}));
|
|
64
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
65
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).not.toHaveBeenCalled();
|
|
66
|
+
});
|
|
67
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should make a new request when core options change', async ()=>{
|
|
68
|
+
const { rerender } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
69
|
+
options: {
|
|
70
|
+
mode: 'c15t',
|
|
71
|
+
backendURL: '/api/c15t-1'
|
|
72
|
+
},
|
|
73
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
74
|
+
children: "First URL"
|
|
75
|
+
})
|
|
76
|
+
}));
|
|
77
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
78
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
79
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledWith(__WEBPACK_EXTERNAL_MODULE_vitest__.expect.stringContaining('/api/c15t-1/show-consent-banner'), __WEBPACK_EXTERNAL_MODULE_vitest__.expect.any(Object));
|
|
80
|
+
mockFetch.mockClear();
|
|
81
|
+
rerender(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
82
|
+
options: {
|
|
83
|
+
mode: 'c15t',
|
|
84
|
+
backendURL: '/api/c15t-2'
|
|
85
|
+
},
|
|
86
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
87
|
+
children: "Second URL"
|
|
88
|
+
})
|
|
89
|
+
}));
|
|
90
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
91
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledWith(__WEBPACK_EXTERNAL_MODULE_vitest__.expect.stringContaining('/api/c15t-2/show-consent-banner'), __WEBPACK_EXTERNAL_MODULE_vitest__.expect.any(Object));
|
|
92
|
+
});
|
|
93
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should handle rapid re-renders without making duplicate requests', async ()=>{
|
|
94
|
+
mockFetch.mockClear();
|
|
95
|
+
const { rerender } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
96
|
+
options: {
|
|
97
|
+
mode: 'offline'
|
|
98
|
+
},
|
|
99
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
100
|
+
children: "Counter: 0"
|
|
101
|
+
})
|
|
102
|
+
}));
|
|
103
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
104
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).not.toHaveBeenCalled();
|
|
105
|
+
for(let i = 1; i <= 5; i++){
|
|
106
|
+
rerender(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_js_cbfda0f6__.ConsentManagerProvider, {
|
|
107
|
+
options: {
|
|
108
|
+
mode: 'offline'
|
|
109
|
+
},
|
|
110
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
111
|
+
children: [
|
|
112
|
+
"Counter: ",
|
|
113
|
+
i
|
|
114
|
+
]
|
|
115
|
+
})
|
|
116
|
+
}));
|
|
117
|
+
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
118
|
+
}
|
|
119
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).not.toHaveBeenCalled();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_exports__ = {};
|
|
3
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
+
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
+
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
+
const use_consent_manager_cjs_namespaceObject = require("../../hooks/use-consent-manager.cjs");
|
|
7
|
+
const external_consent_manager_provider_cjs_namespaceObject = require("../consent-manager-provider.cjs");
|
|
8
|
+
const external_test_helpers_cjs_namespaceObject = require("./test-helpers.cjs");
|
|
9
|
+
const { mockConfigureConsentManager } = (0, external_test_helpers_cjs_namespaceObject.setupMocks)();
|
|
10
|
+
external_vitest_namespaceObject.vi.mock('c15t', async ()=>{
|
|
11
|
+
const originalModule = await external_vitest_namespaceObject.vi.importActual('c15t');
|
|
12
|
+
return {
|
|
13
|
+
...originalModule,
|
|
14
|
+
configureConsentManager: (options)=>{
|
|
15
|
+
mockConfigureConsentManager(options);
|
|
16
|
+
return {
|
|
17
|
+
getCallbacks: ()=>options.callbacks || {},
|
|
18
|
+
showConsentBanner: async ()=>({
|
|
19
|
+
ok: true,
|
|
20
|
+
data: {
|
|
21
|
+
showConsentBanner: true
|
|
22
|
+
},
|
|
23
|
+
error: null,
|
|
24
|
+
response: null
|
|
25
|
+
}),
|
|
26
|
+
setConsent: async ()=>({
|
|
27
|
+
ok: true,
|
|
28
|
+
data: {
|
|
29
|
+
success: true
|
|
30
|
+
},
|
|
31
|
+
error: null,
|
|
32
|
+
response: null
|
|
33
|
+
}),
|
|
34
|
+
verifyConsent: async ()=>({
|
|
35
|
+
ok: true,
|
|
36
|
+
data: {
|
|
37
|
+
valid: true
|
|
38
|
+
},
|
|
39
|
+
error: null,
|
|
40
|
+
response: null
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
const modifyContextShowPopup = external_vitest_namespaceObject.vi.fn();
|
|
47
|
+
external_vitest_namespaceObject.vi.mock('../../hooks/use-consent-manager', async ()=>{
|
|
48
|
+
const originalModule = await external_vitest_namespaceObject.vi.importActual('../../hooks/use-consent-manager');
|
|
49
|
+
return {
|
|
50
|
+
...originalModule,
|
|
51
|
+
useConsentManager: ()=>{
|
|
52
|
+
const result = originalModule.useConsentManager();
|
|
53
|
+
result.showPopup = true;
|
|
54
|
+
modifyContextShowPopup();
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
(0, external_vitest_namespaceObject.describe)('ConsentManagerProvider Context Values', ()=>{
|
|
60
|
+
(0, external_vitest_namespaceObject.beforeEach)(()=>{
|
|
61
|
+
external_vitest_namespaceObject.vi.resetAllMocks();
|
|
62
|
+
external_vitest_namespaceObject.vi.useFakeTimers();
|
|
63
|
+
});
|
|
64
|
+
(0, external_vitest_namespaceObject.afterEach)(()=>{
|
|
65
|
+
external_vitest_namespaceObject.vi.clearAllMocks();
|
|
66
|
+
external_vitest_namespaceObject.vi.useRealTimers();
|
|
67
|
+
});
|
|
68
|
+
(0, external_vitest_namespaceObject.it)('should provide correct context values to children', async ()=>{
|
|
69
|
+
const ConsumerComponent = ()=>{
|
|
70
|
+
const context = (0, use_consent_manager_cjs_namespaceObject.useConsentManager)();
|
|
71
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
74
|
+
"data-testid": "has-manager",
|
|
75
|
+
children: Boolean(context.manager).toString()
|
|
76
|
+
}),
|
|
77
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
78
|
+
"data-testid": "show-popup",
|
|
79
|
+
children: context.showPopup ? 'true' : 'false'
|
|
80
|
+
}),
|
|
81
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
82
|
+
"data-testid": "debug-state",
|
|
83
|
+
children: JSON.stringify({
|
|
84
|
+
showPopup: context.showPopup
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
const { getByTestId } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider, {
|
|
91
|
+
options: {
|
|
92
|
+
mode: 'offline',
|
|
93
|
+
react: {
|
|
94
|
+
theme: 'dark'
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ConsumerComponent, {})
|
|
98
|
+
}));
|
|
99
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
100
|
+
(0, external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled();
|
|
101
|
+
await external_vitest_namespaceObject.vi.waitFor(()=>{
|
|
102
|
+
(0, external_vitest_namespaceObject.expect)(getByTestId('has-manager')).toHaveTextContent('true');
|
|
103
|
+
(0, external_vitest_namespaceObject.expect)(getByTestId('show-popup')).toHaveTextContent('true');
|
|
104
|
+
}, {
|
|
105
|
+
timeout: 3000
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
(0, external_vitest_namespaceObject.it)('should execute callbacks when provided', async ()=>{
|
|
109
|
+
const onConsentSet = external_vitest_namespaceObject.vi.fn();
|
|
110
|
+
(0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider, {
|
|
111
|
+
options: {
|
|
112
|
+
mode: 'offline',
|
|
113
|
+
callbacks: {
|
|
114
|
+
onConsentSet
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
118
|
+
children: "Test"
|
|
119
|
+
})
|
|
120
|
+
}));
|
|
121
|
+
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
122
|
+
await external_vitest_namespaceObject.vi.waitFor(()=>{
|
|
123
|
+
(0, external_vitest_namespaceObject.expect)(mockConfigureConsentManager).toHaveBeenCalled();
|
|
124
|
+
}, {
|
|
125
|
+
timeout: 3000
|
|
126
|
+
});
|
|
127
|
+
const mockCall = mockConfigureConsentManager.mock.calls[0];
|
|
128
|
+
(0, external_vitest_namespaceObject.expect)(mockCall).toBeDefined();
|
|
129
|
+
if (mockCall) {
|
|
130
|
+
const options = mockCall[0];
|
|
131
|
+
(0, external_vitest_namespaceObject.expect)(options).toHaveProperty('callbacks');
|
|
132
|
+
(0, external_vitest_namespaceObject.expect)(options.callbacks).toHaveProperty('onConsentSet', onConsentSet);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
137
|
+
Object.defineProperty(exports, '__esModule', {
|
|
138
|
+
value: true
|
|
139
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-context.test.d.ts","sourceRoot":"","sources":["../../../src/providers/__tests__/provider-context.test.tsx"],"names":[],"mappings":""}
|