@c15t/react 0.0.1-rc.3
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/LICENSE.md +595 -0
- package/README.md +55 -0
- package/dist/common/components/consent-manager-provider.cjs +93 -0
- package/dist/common/components/consent-manager-provider.d.ts +16 -0
- package/dist/common/components/consent-manager-provider.d.ts.map +1 -0
- package/dist/common/components/consent-manager-provider.js +59 -0
- package/dist/common/context/consent-manager-context.cjs +38 -0
- package/dist/common/context/consent-manager-context.d.ts +13 -0
- package/dist/common/context/consent-manager-context.d.ts.map +1 -0
- package/dist/common/context/consent-manager-context.js +4 -0
- package/dist/common/hooks/use-consent-manager.cjs +45 -0
- package/dist/common/hooks/use-consent-manager.d.ts +20 -0
- package/dist/common/hooks/use-consent-manager.d.ts.map +1 -0
- package/dist/common/hooks/use-consent-manager.js +11 -0
- package/dist/common/index.cjs +42 -0
- package/dist/common/index.d.ts +7 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +9 -0
- package/dist/common/store/use-consent-manager.cjs +47 -0
- package/dist/common/store/use-consent-manager.d.ts +136 -0
- package/dist/common/store/use-consent-manager.d.ts.map +1 -0
- package/dist/common/store/use-consent-manager.js +13 -0
- package/dist/common/store/use-translations.cjs +58 -0
- package/dist/common/store/use-translations.d.ts +29 -0
- package/dist/common/store/use-translations.d.ts.map +1 -0
- package/dist/common/store/use-translations.js +24 -0
- package/dist/common/types/consent-manager.cjs +19 -0
- package/dist/common/types/consent-manager.d.ts +82 -0
- package/dist/common/types/consent-manager.d.ts.map +1 -0
- package/dist/common/types/consent-manager.js +0 -0
- package/dist/common/utils/theme.cjs +47 -0
- package/dist/common/utils/theme.d.ts +8 -0
- package/dist/common/utils/theme.d.ts.map +1 -0
- package/dist/common/utils/theme.js +13 -0
- package/dist/common/utils/translations.cjs +86 -0
- package/dist/common/utils/translations.d.ts +14 -0
- package/dist/common/utils/translations.d.ts.map +1 -0
- package/dist/common/utils/translations.js +50 -0
- package/dist/consent-manager-dialog/__tests__/styles.spec.cjs +218 -0
- package/dist/consent-manager-dialog/__tests__/styles.spec.d.ts +2 -0
- package/dist/consent-manager-dialog/__tests__/styles.spec.d.ts.map +1 -0
- package/dist/consent-manager-dialog/__tests__/styles.spec.js +183 -0
- package/dist/consent-manager-dialog/__tests__/utils.cjs +68 -0
- package/dist/consent-manager-dialog/__tests__/utils.d.ts +13 -0
- package/dist/consent-manager-dialog/__tests__/utils.d.ts.map +1 -0
- package/dist/consent-manager-dialog/__tests__/utils.js +34 -0
- package/dist/consent-manager-dialog/atoms/dialog-card.cjs +139 -0
- package/dist/consent-manager-dialog/atoms/dialog-card.d.ts +90 -0
- package/dist/consent-manager-dialog/atoms/dialog-card.d.ts.map +1 -0
- package/dist/consent-manager-dialog/atoms/dialog-card.js +94 -0
- package/dist/consent-manager-dialog/atoms/overlay.cjs +67 -0
- package/dist/consent-manager-dialog/atoms/overlay.d.ts +71 -0
- package/dist/consent-manager-dialog/atoms/overlay.d.ts.map +1 -0
- package/dist/consent-manager-dialog/atoms/overlay.js +32 -0
- package/dist/consent-manager-dialog/consent-manager-dialog.cjs +129 -0
- package/dist/consent-manager-dialog/consent-manager-dialog.css +75 -0
- package/dist/consent-manager-dialog/consent-manager-dialog.d.ts +44 -0
- package/dist/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -0
- package/dist/consent-manager-dialog/consent-manager-dialog.js +95 -0
- package/dist/consent-manager-dialog/index.cjs +51 -0
- package/dist/consent-manager-dialog/index.d.ts +4 -0
- package/dist/consent-manager-dialog/index.d.ts.map +1 -0
- package/dist/consent-manager-dialog/index.js +18 -0
- package/dist/consent-manager-dialog/theme.cjs +19 -0
- package/dist/consent-manager-dialog/theme.d.ts +19 -0
- package/dist/consent-manager-dialog/theme.d.ts.map +1 -0
- package/dist/consent-manager-dialog/theme.js +0 -0
- package/dist/consent-manager-widget/__tests__/styles.spec.cjs +228 -0
- package/dist/consent-manager-widget/__tests__/styles.spec.d.ts +2 -0
- package/dist/consent-manager-widget/__tests__/styles.spec.d.ts.map +1 -0
- package/dist/consent-manager-widget/__tests__/styles.spec.js +193 -0
- package/dist/consent-manager-widget/__tests__/utils.cjs +68 -0
- package/dist/consent-manager-widget/__tests__/utils.d.ts +13 -0
- package/dist/consent-manager-widget/__tests__/utils.d.ts.map +1 -0
- package/dist/consent-manager-widget/__tests__/utils.js +34 -0
- package/dist/consent-manager-widget/atoms/accordion.cjs +147 -0
- package/dist/consent-manager-widget/atoms/accordion.d.ts +57 -0
- package/dist/consent-manager-widget/atoms/accordion.d.ts.map +1 -0
- package/dist/consent-manager-widget/atoms/accordion.js +98 -0
- package/dist/consent-manager-widget/atoms/button.cjs +77 -0
- package/dist/consent-manager-widget/atoms/button.d.ts +17 -0
- package/dist/consent-manager-widget/atoms/button.d.ts.map +1 -0
- package/dist/consent-manager-widget/atoms/button.js +38 -0
- package/dist/consent-manager-widget/atoms/footer.cjs +70 -0
- package/dist/consent-manager-widget/atoms/footer.d.ts +22 -0
- package/dist/consent-manager-widget/atoms/footer.d.ts.map +1 -0
- package/dist/consent-manager-widget/atoms/footer.js +34 -0
- package/dist/consent-manager-widget/atoms/logo.cjs +101 -0
- package/dist/consent-manager-widget/atoms/logo.d.ts +8 -0
- package/dist/consent-manager-widget/atoms/logo.d.ts.map +1 -0
- package/dist/consent-manager-widget/atoms/logo.js +67 -0
- package/dist/consent-manager-widget/atoms/root.cjs +64 -0
- package/dist/consent-manager-widget/atoms/root.d.ts +82 -0
- package/dist/consent-manager-widget/atoms/root.d.ts.map +1 -0
- package/dist/consent-manager-widget/atoms/root.js +29 -0
- package/dist/consent-manager-widget/consent-manager-widget.cjs +98 -0
- package/dist/consent-manager-widget/consent-manager-widget.css +79 -0
- package/dist/consent-manager-widget/consent-manager-widget.d.ts +51 -0
- package/dist/consent-manager-widget/consent-manager-widget.d.ts.map +1 -0
- package/dist/consent-manager-widget/consent-manager-widget.js +64 -0
- package/dist/consent-manager-widget/index.cjs +62 -0
- package/dist/consent-manager-widget/index.d.ts +10 -0
- package/dist/consent-manager-widget/index.d.ts.map +1 -0
- package/dist/consent-manager-widget/index.js +29 -0
- package/dist/consent-manager-widget/theme.cjs +19 -0
- package/dist/consent-manager-widget/theme.d.ts +48 -0
- package/dist/consent-manager-widget/theme.d.ts.map +1 -0
- package/dist/consent-manager-widget/theme.js +0 -0
- package/dist/consent-manager-widget/types.cjs +19 -0
- package/dist/consent-manager-widget/types.d.ts +18 -0
- package/dist/consent-manager-widget/types.d.ts.map +1 -0
- package/dist/consent-manager-widget/types.js +0 -0
- package/dist/cookie-banner/__tests__/styles.spec.cjs +234 -0
- package/dist/cookie-banner/__tests__/styles.spec.d.ts +2 -0
- package/dist/cookie-banner/__tests__/styles.spec.d.ts.map +1 -0
- package/dist/cookie-banner/__tests__/styles.spec.js +199 -0
- package/dist/cookie-banner/__tests__/utils.cjs +67 -0
- package/dist/cookie-banner/__tests__/utils.d.ts +13 -0
- package/dist/cookie-banner/__tests__/utils.d.ts.map +1 -0
- package/dist/cookie-banner/__tests__/utils.js +33 -0
- package/dist/cookie-banner/atoms/overlay.cjs +71 -0
- package/dist/cookie-banner/atoms/overlay.d.ts +46 -0
- package/dist/cookie-banner/atoms/overlay.d.ts.map +1 -0
- package/dist/cookie-banner/atoms/overlay.js +36 -0
- package/dist/cookie-banner/atoms/root.cjs +116 -0
- package/dist/cookie-banner/atoms/root.d.ts +79 -0
- package/dist/cookie-banner/atoms/root.d.ts.map +1 -0
- package/dist/cookie-banner/atoms/root.js +81 -0
- package/dist/cookie-banner/components.cjs +160 -0
- package/dist/cookie-banner/components.d.ts +136 -0
- package/dist/cookie-banner/components.d.ts.map +1 -0
- package/dist/cookie-banner/components.js +109 -0
- package/dist/cookie-banner/cookie-banner.cjs +99 -0
- package/dist/cookie-banner/cookie-banner.css +226 -0
- package/dist/cookie-banner/cookie-banner.d.ts +134 -0
- package/dist/cookie-banner/cookie-banner.d.ts.map +1 -0
- package/dist/cookie-banner/cookie-banner.js +65 -0
- package/dist/cookie-banner/error-boundary.cjs +68 -0
- package/dist/cookie-banner/error-boundary.d.ts +56 -0
- package/dist/cookie-banner/error-boundary.d.ts.map +1 -0
- package/dist/cookie-banner/error-boundary.js +34 -0
- package/dist/cookie-banner/index.cjs +59 -0
- package/dist/cookie-banner/index.d.ts +52 -0
- package/dist/cookie-banner/index.d.ts.map +1 -0
- package/dist/cookie-banner/index.js +26 -0
- package/dist/cookie-banner/theme.cjs +19 -0
- package/dist/cookie-banner/theme.d.ts +30 -0
- package/dist/cookie-banner/theme.d.ts.map +1 -0
- package/dist/cookie-banner/theme.js +0 -0
- package/dist/index.cjs +89 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/primitives/box.cjs +54 -0
- package/dist/primitives/box.d.ts +47 -0
- package/dist/primitives/box.d.ts.map +1 -0
- package/dist/primitives/box.js +20 -0
- package/dist/primitives/button.cjs +93 -0
- package/dist/primitives/button.d.ts +207 -0
- package/dist/primitives/button.d.ts.map +1 -0
- package/dist/primitives/button.js +59 -0
- package/dist/primitives/button.types.cjs +19 -0
- package/dist/primitives/button.types.d.ts +34 -0
- package/dist/primitives/button.types.d.ts.map +1 -0
- package/dist/primitives/button.types.js +0 -0
- package/dist/theme/context.cjs +44 -0
- package/dist/theme/context.d.ts +96 -0
- package/dist/theme/context.d.ts.map +1 -0
- package/dist/theme/context.js +9 -0
- package/dist/theme/index.cjs +39 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +6 -0
- package/dist/theme/style-keys.cjs +39 -0
- package/dist/theme/style-keys.d.ts +77 -0
- package/dist/theme/style-keys.d.ts.map +1 -0
- package/dist/theme/style-keys.js +5 -0
- package/dist/theme/use-style.cjs +95 -0
- package/dist/theme/use-style.d.ts +32 -0
- package/dist/theme/use-style.d.ts.map +1 -0
- package/dist/theme/use-style.js +61 -0
- package/dist/theme/utils/merge-styles.cjs +62 -0
- package/dist/theme/utils/merge-styles.d.ts +3 -0
- package/dist/theme/utils/merge-styles.d.ts.map +1 -0
- package/dist/theme/utils/merge-styles.js +28 -0
- package/dist/ui/components/accordion.cjs +204 -0
- package/dist/ui/components/accordion.css +158 -0
- package/dist/ui/components/accordion.d.ts +45 -0
- package/dist/ui/components/accordion.d.ts.map +1 -0
- package/dist/ui/components/accordion.js +164 -0
- package/dist/ui/components/button.cjs +185 -0
- package/dist/ui/components/button.css +303 -0
- package/dist/ui/components/button.d.ts +445 -0
- package/dist/ui/components/button.d.ts.map +1 -0
- package/dist/ui/components/button.js +149 -0
- package/dist/ui/components/card.cjs +80 -0
- package/dist/ui/components/card.css +55 -0
- package/dist/ui/components/card.d.ts +10 -0
- package/dist/ui/components/card.d.ts.map +1 -0
- package/dist/ui/components/card.js +41 -0
- package/dist/ui/components/icon.cjs +57 -0
- package/dist/ui/components/icon.d.ts +8 -0
- package/dist/ui/components/icon.d.ts.map +1 -0
- package/dist/ui/components/icon.js +23 -0
- package/dist/ui/components/logo.cjs +101 -0
- package/dist/ui/components/logo.d.ts +8 -0
- package/dist/ui/components/logo.d.ts.map +1 -0
- package/dist/ui/components/logo.js +67 -0
- package/dist/ui/components/switch.cjs +81 -0
- package/dist/ui/components/switch.css +135 -0
- package/dist/ui/components/switch.d.ts +25 -0
- package/dist/ui/components/switch.d.ts.map +1 -0
- package/dist/ui/components/switch.js +47 -0
- package/dist/ui/libs/cn.cjs +55 -0
- package/dist/ui/libs/cn.d.ts +11 -0
- package/dist/ui/libs/cn.d.ts.map +1 -0
- package/dist/ui/libs/cn.js +6 -0
- package/dist/ui/libs/polymorphic.cjs +19 -0
- package/dist/ui/libs/polymorphic.d.ts +15 -0
- package/dist/ui/libs/polymorphic.d.ts.map +1 -0
- package/dist/ui/libs/polymorphic.js +0 -0
- package/dist/ui/libs/recursive-clone-children.cjs +49 -0
- package/dist/ui/libs/recursive-clone-children.d.ts +14 -0
- package/dist/ui/libs/recursive-clone-children.d.ts.map +1 -0
- package/dist/ui/libs/recursive-clone-children.js +15 -0
- package/dist/ui/theme/context.cjs +6 -0
- package/dist/ui/theme/context.d.ts +2 -0
- package/dist/ui/theme/context.d.ts.map +1 -0
- package/dist/ui/theme/context.js +0 -0
- package/package.json +71 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
.c15t-cookie-banner {
|
|
2
|
+
isolation: isolate;
|
|
3
|
+
-webkit-text-size-adjust: 100%;
|
|
4
|
+
tab-size: 4;
|
|
5
|
+
--c15t-cookie-banner-radius-sm: .3125rem;
|
|
6
|
+
--c15t-cookie-banner-radius-lg: 1.25rem;
|
|
7
|
+
--c15t-cookie-banner-max-width: 440px;
|
|
8
|
+
--c15t-cookie-banner-duration: .15s;
|
|
9
|
+
--c15t-cookie-banner-ease: var(--c15t-ease-out);
|
|
10
|
+
--c15t-cookie-banner-border-width: 1px;
|
|
11
|
+
--c15t-cookie-banner-shadow: 0 16px 32px -12px #0e121b1a;
|
|
12
|
+
--c15t-cookie-banner-bg: #fff;
|
|
13
|
+
--c15t-cookie-banner-footer-bg: #f7f7f7;
|
|
14
|
+
--c15t-cookie-banner-text-color: hsl(0 0% 9.02);
|
|
15
|
+
--c15t-cookie-banner-border-color: #ebebeb;
|
|
16
|
+
--c15t-cookie-banner-title-color: hsl(0 0% 9.02);
|
|
17
|
+
--c15t-cookie-banner-description-color: #5c5c5c;
|
|
18
|
+
font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
|
|
19
|
+
line-height: 1.15;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.dark .c15t-cookie-banner {
|
|
23
|
+
--c15t-cookie-banner-bg: hsl(0 0% 9.02);
|
|
24
|
+
--c15t-cookie-banner-border-color: #333;
|
|
25
|
+
--c15t-cookie-banner-footer-bg: #1c1c1c;
|
|
26
|
+
--c15t-cookie-banner-title-color: #e6e6e6;
|
|
27
|
+
--c15t-cookie-banner-description-color: #999;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.c15t-cookie-banner-root {
|
|
31
|
+
z-index: 999999998;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
width: 100%;
|
|
34
|
+
padding: 1rem;
|
|
35
|
+
display: flex;
|
|
36
|
+
position: fixed;
|
|
37
|
+
|
|
38
|
+
@media (width >= 640px) {
|
|
39
|
+
& {
|
|
40
|
+
width: auto;
|
|
41
|
+
padding: 1.5rem;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.c15t-cookie-banner-root-bottom-left {
|
|
47
|
+
bottom: 0;
|
|
48
|
+
left: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.c15t-cookie-banner-root-bottom-right {
|
|
52
|
+
bottom: 0;
|
|
53
|
+
right: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.c15t-cookie-banner-root-top-left {
|
|
57
|
+
top: 0;
|
|
58
|
+
left: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.c15t-cookie-banner-root-top-right {
|
|
62
|
+
top: 0;
|
|
63
|
+
right: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.c15t-cookie-banner-card {
|
|
67
|
+
width: 100%;
|
|
68
|
+
max-width: var(--c15t-cookie-banner-max-width);
|
|
69
|
+
border-radius: var(--c15t-cookie-banner-radius-lg);
|
|
70
|
+
border-width: var(--c15t-cookie-banner-border-width);
|
|
71
|
+
border-color: var(--c15t-cookie-banner-border-color);
|
|
72
|
+
background-color: var(--c15t-cookie-banner-bg);
|
|
73
|
+
box-shadow: var(--c15t-cookie-banner-shadow);
|
|
74
|
+
position: relative;
|
|
75
|
+
overflow: hidden;
|
|
76
|
+
|
|
77
|
+
&[data-state="open"] {
|
|
78
|
+
animation: c15t-cookie-banner-enter var(--c15t-cookie-banner-duration) var(--c15t-cookie-banner-ease);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&[data-state="closed"] {
|
|
82
|
+
animation: c15t-cookie-banner-exit var(--c15t-cookie-banner-duration) var(--c15t-cookie-banner-ease);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.c15t-cookie-banner-card > :not([hidden]) ~ :not([hidden]) {
|
|
87
|
+
border-top-width: var(--c15t-cookie-banner-border-width);
|
|
88
|
+
border-color: var(--c15t-cookie-banner-border-color);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.c15t-cookie-banner-card:focus {
|
|
92
|
+
outline-offset: 2px;
|
|
93
|
+
outline: none;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@keyframes c15t-cookie-banner-enter {
|
|
97
|
+
from {
|
|
98
|
+
opacity: 0;
|
|
99
|
+
transform: scale(.95);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
to {
|
|
103
|
+
opacity: 1;
|
|
104
|
+
transform: scale(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@keyframes c15t-cookie-banner-exit {
|
|
109
|
+
from {
|
|
110
|
+
opacity: 1;
|
|
111
|
+
transform: scale(1);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
to {
|
|
115
|
+
opacity: 0;
|
|
116
|
+
transform: scale(.95);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.c15t-cookie-banner-reject-button {
|
|
121
|
+
width: 100%;
|
|
122
|
+
|
|
123
|
+
@media (width >= 640px) {
|
|
124
|
+
& {
|
|
125
|
+
width: auto;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.c15t-cookie-banner-accept-button {
|
|
131
|
+
width: 100%;
|
|
132
|
+
|
|
133
|
+
@media (width >= 640px) {
|
|
134
|
+
& {
|
|
135
|
+
width: auto;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.c15t-cookie-banner-customize-button {
|
|
141
|
+
width: 100%;
|
|
142
|
+
|
|
143
|
+
@media (width >= 640px) {
|
|
144
|
+
& {
|
|
145
|
+
width: auto;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.c15t-cookie-banner-header {
|
|
151
|
+
color: var(--c15t-cookie-banner-text-color);
|
|
152
|
+
flex-direction: column;
|
|
153
|
+
padding: 1rem;
|
|
154
|
+
display: flex;
|
|
155
|
+
|
|
156
|
+
@media (width >= 640px) {
|
|
157
|
+
& {
|
|
158
|
+
padding: 1.5rem;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
& > :not([hidden]) ~ :not([hidden]) {
|
|
163
|
+
--c15t-space-y-reverse: 0;
|
|
164
|
+
margin-top: calc(.5rem * calc(1 - var(--c15t-space-y-reverse)));
|
|
165
|
+
margin-bottom: calc(.5rem * var(--c15t-space-y-reverse));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.c15t-cookie-banner-footer {
|
|
170
|
+
background-color: var(--c15t-cookie-banner-footer-bg);
|
|
171
|
+
flex-direction: column;
|
|
172
|
+
justify-content: space-between;
|
|
173
|
+
gap: .75rem;
|
|
174
|
+
padding: 1rem 1.25rem;
|
|
175
|
+
display: flex;
|
|
176
|
+
|
|
177
|
+
@media (width >= 640px) {
|
|
178
|
+
& {
|
|
179
|
+
flex-direction: row;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.c15t-cookie-banner-footer-sub-group {
|
|
185
|
+
flex-direction: row;
|
|
186
|
+
justify-content: space-between;
|
|
187
|
+
gap: 1rem;
|
|
188
|
+
display: flex;
|
|
189
|
+
|
|
190
|
+
@media (width <= 640px) {
|
|
191
|
+
& {
|
|
192
|
+
gap: .25rem;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@media (width <= 640px) {
|
|
198
|
+
.c15t-cookie-banner-reject-button, .c15t-cookie-banner-customize-button {
|
|
199
|
+
width: 100%;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.c15t-cookie-banner-description {
|
|
204
|
+
letter-spacing: -.006em;
|
|
205
|
+
color: var(--c15t-cookie-banner-description-color);
|
|
206
|
+
font-size: .875rem;
|
|
207
|
+
font-weight: 400;
|
|
208
|
+
line-height: 1.25rem;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.c15t-cookie-banner-title {
|
|
212
|
+
letter-spacing: -.011em;
|
|
213
|
+
color: var(--c15t-cookie-banner-title-color);
|
|
214
|
+
font-size: 1rem;
|
|
215
|
+
font-weight: 500;
|
|
216
|
+
line-height: 1.5rem;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.c15t-cookie-banner-overlay {
|
|
220
|
+
--c15t-cookie-banner-overlay-bg: #00000080;
|
|
221
|
+
background-color: var(--c15t-cookie-banner-overlay-bg);
|
|
222
|
+
z-index: 999999997;
|
|
223
|
+
position: fixed;
|
|
224
|
+
inset: 0;
|
|
225
|
+
}
|
|
226
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Provides the main cookie banner component for privacy consent management.
|
|
4
|
+
* Implements an accessible, customizable banner following GDPR and CCPA requirements.
|
|
5
|
+
*/
|
|
6
|
+
import type { FC, ReactNode } from 'react';
|
|
7
|
+
import type { CookieBannerTheme } from './theme';
|
|
8
|
+
import './cookie-banner.css';
|
|
9
|
+
/**
|
|
10
|
+
* Props for configuring and customizing the CookieBanner component.
|
|
11
|
+
*f
|
|
12
|
+
* @remarks
|
|
13
|
+
* Provides comprehensive customization options for the cookie banner's appearance
|
|
14
|
+
* and behavior while maintaining compliance with privacy regulations.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export interface CookieBannerProps {
|
|
19
|
+
/**
|
|
20
|
+
* Custom styles to apply to the banner and its child components
|
|
21
|
+
* @remarks Allows for deep customization of the banner's appearance while maintaining accessibility
|
|
22
|
+
* @type {Partial<CookieBannerTheme>}
|
|
23
|
+
* @default undefined
|
|
24
|
+
*/
|
|
25
|
+
theme?: Partial<CookieBannerTheme>;
|
|
26
|
+
/**
|
|
27
|
+
* When true, removes all default styling from the component
|
|
28
|
+
* @remarks Useful for implementing completely custom designs
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
noStyle?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Content to display as the banner's title
|
|
34
|
+
* @remarks Supports string or ReactNode for rich content
|
|
35
|
+
* @default undefined
|
|
36
|
+
*/
|
|
37
|
+
title?: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Content to display as the banner's description
|
|
40
|
+
* @remarks Supports string or ReactNode for rich content
|
|
41
|
+
* @default undefined
|
|
42
|
+
*/
|
|
43
|
+
description?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Content to display on the reject button
|
|
46
|
+
* @remarks Required by GDPR for explicit consent rejection
|
|
47
|
+
* @default undefined
|
|
48
|
+
*/
|
|
49
|
+
rejectButtonText?: ReactNode;
|
|
50
|
+
/**
|
|
51
|
+
* Content to display on the customize button
|
|
52
|
+
* @remarks Opens detailed consent preferences
|
|
53
|
+
* @default undefined
|
|
54
|
+
*/
|
|
55
|
+
customizeButtonText?: ReactNode;
|
|
56
|
+
/**
|
|
57
|
+
* Content to display on the accept button
|
|
58
|
+
* @remarks Primary action for accepting cookie preferences
|
|
59
|
+
* @default undefined
|
|
60
|
+
*/
|
|
61
|
+
acceptButtonText?: ReactNode;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A customizable cookie consent banner component.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* This component serves as the main entry point for rendering a cookie consent banner.
|
|
68
|
+
* It provides a structured layout with customizable title, description, and action buttons
|
|
69
|
+
* for accepting, rejecting, or customizing cookie preferences.
|
|
70
|
+
*
|
|
71
|
+
* Key features:
|
|
72
|
+
* - Fully accessible by default
|
|
73
|
+
* - GDPR and CCPA compliant
|
|
74
|
+
* - Customizable appearance
|
|
75
|
+
* - Responsive design
|
|
76
|
+
* - Error boundary protection
|
|
77
|
+
* - Compound component pattern support
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* Simple usage with default settings:
|
|
81
|
+
* ```tsx
|
|
82
|
+
* <CookieBanner />
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* Customized usage with all props:
|
|
87
|
+
* ```tsx
|
|
88
|
+
* <CookieBanner
|
|
89
|
+
* theme={{
|
|
90
|
+
* root: "bg-white p-4",
|
|
91
|
+
* title: "text-xl font-bold",
|
|
92
|
+
* description: "text-gray-600",
|
|
93
|
+
* actions: "mt-4 flex gap-2"
|
|
94
|
+
* }}
|
|
95
|
+
* title="Cookie Settings"
|
|
96
|
+
* description="We use cookies to enhance your browsing experience"
|
|
97
|
+
* rejectButtonText="Decline"
|
|
98
|
+
* customizeButtonText="Preferences"
|
|
99
|
+
* acceptButtonText="Allow All"
|
|
100
|
+
* />
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* Using compound components for custom layout:
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <CookieBanner.Root>
|
|
107
|
+
* <CookieBanner.Content>
|
|
108
|
+
* <CookieBanner.Title>Cookie Settings</CookieBanner.Title>
|
|
109
|
+
* <CookieBanner.Description>
|
|
110
|
+
* Choose your cookie preferences
|
|
111
|
+
* </CookieBanner.Description>
|
|
112
|
+
* <CookieBanner.Actions>
|
|
113
|
+
* <CookieBanner.RejectButton>Decline</CookieBanner.RejectButton>
|
|
114
|
+
* <CookieBanner.CustomizeButton>Customize</CookieBanner.CustomizeButton>
|
|
115
|
+
* <CookieBanner.AcceptButton>Accept</CookieBanner.AcceptButton>
|
|
116
|
+
* </CookieBanner.Actions>
|
|
117
|
+
* </CookieBanner.Content>
|
|
118
|
+
* </CookieBanner.Root>
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @public
|
|
122
|
+
*/
|
|
123
|
+
export declare const CookieBanner: FC<CookieBannerProps>;
|
|
124
|
+
/**
|
|
125
|
+
* Component type definition for the CookieBanner with its compound components.
|
|
126
|
+
*
|
|
127
|
+
* @remarks
|
|
128
|
+
* This interface extends the base CookieBanner component with additional sub-components
|
|
129
|
+
* that can be used to compose the banner's structure. Each component is designed to be
|
|
130
|
+
* fully accessible and customizable while maintaining compliance with privacy regulations.
|
|
131
|
+
*
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
134
|
+
//# sourceMappingURL=cookie-banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-banner.d.ts","sourceRoot":"","sources":["../../src/cookie-banner/cookie-banner.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,qBAAqB,CAAC;AAe7B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAEhC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAwD9C,CAAC;AAEF;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__error_boundary_js_9edd64b3__ from "./error-boundary.js";
|
|
4
|
+
import "./cookie-banner.css";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__primitives_button_js_d48a4290__ from "../primitives/button.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__atoms_root_js_8443a91f__ from "./atoms/root.js";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__ from "./components.js";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE__common_index_js_b6a017ad__ from "../common/index.js";
|
|
9
|
+
const CookieBanner = ({ theme, noStyle, title, description, rejectButtonText, customizeButtonText, acceptButtonText })=>{
|
|
10
|
+
const { cookieBanner } = (0, __WEBPACK_EXTERNAL_MODULE__common_index_js_b6a017ad__.useTranslations)();
|
|
11
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__error_boundary_js_9edd64b3__.ErrorBoundary, {
|
|
12
|
+
fallback: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
13
|
+
children: "Something went wrong with the Cookie Banner."
|
|
14
|
+
}),
|
|
15
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__atoms_root_js_8443a91f__.CookieBannerRoot, {
|
|
16
|
+
theme: theme,
|
|
17
|
+
noStyle: noStyle,
|
|
18
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerCard, {
|
|
19
|
+
children: [
|
|
20
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerHeader, {
|
|
21
|
+
children: [
|
|
22
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerTitle, {
|
|
23
|
+
children: title || cookieBanner.title
|
|
24
|
+
}),
|
|
25
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerDescription, {
|
|
26
|
+
children: description || cookieBanner.description
|
|
27
|
+
})
|
|
28
|
+
]
|
|
29
|
+
}),
|
|
30
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerFooter, {
|
|
31
|
+
children: [
|
|
32
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__components_js_29fc1aed__.CookieBannerFooterSubGroup, {
|
|
33
|
+
children: [
|
|
34
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__primitives_button_js_d48a4290__.ConsentButton, {
|
|
35
|
+
action: "reject-consent",
|
|
36
|
+
closeCookieBanner: true,
|
|
37
|
+
themeKey: "cookie-banner.footer.reject-button",
|
|
38
|
+
"data-testid": "cookie-banner-reject-button",
|
|
39
|
+
children: rejectButtonText || cookieBanner.rejectAll
|
|
40
|
+
}),
|
|
41
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__primitives_button_js_d48a4290__.ConsentButton, {
|
|
42
|
+
action: "open-consent-dialog",
|
|
43
|
+
closeCookieBanner: true,
|
|
44
|
+
themeKey: "cookie-banner.footer.customize-button",
|
|
45
|
+
"data-testid": "cookie-banner-customize-button",
|
|
46
|
+
children: customizeButtonText || cookieBanner.customize
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
}),
|
|
50
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__primitives_button_js_d48a4290__.ConsentButton, {
|
|
51
|
+
action: "accept-consent",
|
|
52
|
+
variant: "primary",
|
|
53
|
+
closeCookieBanner: true,
|
|
54
|
+
themeKey: "cookie-banner.footer.accept-button",
|
|
55
|
+
"data-testid": "cookie-banner-accept-button",
|
|
56
|
+
children: acceptButtonText || cookieBanner.acceptAll
|
|
57
|
+
})
|
|
58
|
+
]
|
|
59
|
+
})
|
|
60
|
+
]
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
export { CookieBanner };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = function(exports1, definition) {
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = function(obj, prop) {
|
|
14
|
+
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
(()=>{
|
|
18
|
+
__webpack_require__.r = function(exports1) {
|
|
19
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
20
|
+
value: 'Module'
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
})();
|
|
27
|
+
var __webpack_exports__ = {};
|
|
28
|
+
__webpack_require__.r(__webpack_exports__);
|
|
29
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
30
|
+
ErrorBoundary: ()=>ErrorBoundary
|
|
31
|
+
});
|
|
32
|
+
const external_react_namespaceObject = require("react");
|
|
33
|
+
class ErrorBoundary extends external_react_namespaceObject.Component {
|
|
34
|
+
constructor(props){
|
|
35
|
+
super(props);
|
|
36
|
+
this.state = {
|
|
37
|
+
hasError: false,
|
|
38
|
+
error: null,
|
|
39
|
+
errorInfo: null
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
static getDerivedStateFromError(error) {
|
|
43
|
+
return {
|
|
44
|
+
hasError: true,
|
|
45
|
+
error,
|
|
46
|
+
errorInfo: null
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
componentDidCatch(error, errorInfo) {
|
|
50
|
+
this.setState({
|
|
51
|
+
error,
|
|
52
|
+
errorInfo
|
|
53
|
+
});
|
|
54
|
+
console.error('Uncaught error:', error, errorInfo);
|
|
55
|
+
}
|
|
56
|
+
render() {
|
|
57
|
+
if (this.state.hasError) {
|
|
58
|
+
if ('function' == typeof this.props.fallback) return this.props.fallback(this.state.error, this.state.errorInfo);
|
|
59
|
+
return this.props.fallback;
|
|
60
|
+
}
|
|
61
|
+
return this.props.children;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
var __webpack_export_target__ = exports;
|
|
65
|
+
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
66
|
+
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
|
|
67
|
+
value: true
|
|
68
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Component, type ErrorInfo, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the ErrorBoundary component.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
interface ErrorBoundaryProps {
|
|
8
|
+
/** @remarks React elements to be rendered within the boundary */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* UI to display when an error occurs.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* Can be either a React node or a function that receives error details and returns a React node.
|
|
15
|
+
* When provided as a function, it receives the error object and error info as arguments.
|
|
16
|
+
*/
|
|
17
|
+
fallback: ReactNode | ((error: Error, errorInfo: ErrorInfo) => ReactNode);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Internal state for the ErrorBoundary component.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
interface ErrorBoundaryState {
|
|
25
|
+
/** @remarks Flag indicating if an error has been caught */
|
|
26
|
+
hasError: boolean;
|
|
27
|
+
/** @remarks The caught error object, if any */
|
|
28
|
+
error: Error | null;
|
|
29
|
+
/** @remarks Additional details about the error context */
|
|
30
|
+
errorInfo: ErrorInfo | null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A React component that catches JavaScript errors in its child component tree.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* This boundary component provides error isolation and fallback UI rendering
|
|
37
|
+
* when errors occur in its child components. It prevents the entire app from
|
|
38
|
+
* crashing and allows graceful error handling.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* <ErrorBoundary fallback={<ErrorMessage />}>
|
|
43
|
+
* <ComponentThatMayError />
|
|
44
|
+
* </ErrorBoundary>
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
50
|
+
constructor(props: ErrorBoundaryProps);
|
|
51
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
52
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
53
|
+
render(): ReactNode;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/cookie-banner/error-boundary.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE;;;;GAIG;AACH,UAAU,kBAAkB;IAC3B,iEAAiE;IACjE,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;CAC1E;AAED;;;;GAIG;AACH,UAAU,kBAAkB;IAC3B,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAC3C,kBAAkB,EAClB,kBAAkB,CAClB;gBACY,KAAK,EAAE,kBAAkB;IAKrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAOpD,MAAM;CAWN"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
3
|
+
class ErrorBoundary extends __WEBPACK_EXTERNAL_MODULE_react__.Component {
|
|
4
|
+
constructor(props){
|
|
5
|
+
super(props);
|
|
6
|
+
this.state = {
|
|
7
|
+
hasError: false,
|
|
8
|
+
error: null,
|
|
9
|
+
errorInfo: null
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
static getDerivedStateFromError(error) {
|
|
13
|
+
return {
|
|
14
|
+
hasError: true,
|
|
15
|
+
error,
|
|
16
|
+
errorInfo: null
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
componentDidCatch(error, errorInfo) {
|
|
20
|
+
this.setState({
|
|
21
|
+
error,
|
|
22
|
+
errorInfo
|
|
23
|
+
});
|
|
24
|
+
console.error('Uncaught error:', error, errorInfo);
|
|
25
|
+
}
|
|
26
|
+
render() {
|
|
27
|
+
if (this.state.hasError) {
|
|
28
|
+
if ('function' == typeof this.props.fallback) return this.props.fallback(this.state.error, this.state.errorInfo);
|
|
29
|
+
return this.props.fallback;
|
|
30
|
+
}
|
|
31
|
+
return this.props.children;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export { ErrorBoundary };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = function(exports1, definition) {
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = function(obj, prop) {
|
|
13
|
+
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
(()=>{
|
|
17
|
+
__webpack_require__.r = function(exports1) {
|
|
18
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
19
|
+
value: 'Module'
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
22
|
+
value: true
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
})();
|
|
26
|
+
var __webpack_exports__ = {};
|
|
27
|
+
__webpack_require__.r(__webpack_exports__);
|
|
28
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
29
|
+
CookieBannerFooterSubGroup: ()=>external_components_cjs_namespaceObject.CookieBannerFooterSubGroup,
|
|
30
|
+
CookieBannerRoot: ()=>root_cjs_namespaceObject.CookieBannerRoot,
|
|
31
|
+
CustomizeButton: ()=>external_components_cjs_namespaceObject.CustomizeButton,
|
|
32
|
+
CookieBannerRejectButton: ()=>external_components_cjs_namespaceObject.CookieBannerRejectButton,
|
|
33
|
+
CookieBannerCustomizeButton: ()=>external_components_cjs_namespaceObject.CookieBannerCustomizeButton,
|
|
34
|
+
Footer: ()=>external_components_cjs_namespaceObject.Footer,
|
|
35
|
+
Header: ()=>external_components_cjs_namespaceObject.Header,
|
|
36
|
+
Overlay: ()=>overlay_cjs_namespaceObject.Overlay,
|
|
37
|
+
CookieBannerFooter: ()=>external_components_cjs_namespaceObject.CookieBannerFooter,
|
|
38
|
+
CookieBannerHeader: ()=>external_components_cjs_namespaceObject.CookieBannerHeader,
|
|
39
|
+
CookieBannerDescription: ()=>external_components_cjs_namespaceObject.CookieBannerDescription,
|
|
40
|
+
RejectButton: ()=>external_components_cjs_namespaceObject.RejectButton,
|
|
41
|
+
FooterSubGroup: ()=>external_components_cjs_namespaceObject.FooterSubGroup,
|
|
42
|
+
Title: ()=>external_components_cjs_namespaceObject.Title,
|
|
43
|
+
CookieBannerAcceptButton: ()=>external_components_cjs_namespaceObject.CookieBannerAcceptButton,
|
|
44
|
+
CookieBannerOverlay: ()=>overlay_cjs_namespaceObject.CookieBannerOverlay,
|
|
45
|
+
Root: ()=>root_cjs_namespaceObject.Root,
|
|
46
|
+
Description: ()=>external_components_cjs_namespaceObject.Description,
|
|
47
|
+
Card: ()=>external_components_cjs_namespaceObject.Card,
|
|
48
|
+
AcceptButton: ()=>external_components_cjs_namespaceObject.AcceptButton,
|
|
49
|
+
CookieBannerCard: ()=>external_components_cjs_namespaceObject.CookieBannerCard,
|
|
50
|
+
CookieBannerTitle: ()=>external_components_cjs_namespaceObject.CookieBannerTitle
|
|
51
|
+
});
|
|
52
|
+
const overlay_cjs_namespaceObject = require("./atoms/overlay.cjs");
|
|
53
|
+
const root_cjs_namespaceObject = require("./atoms/root.cjs");
|
|
54
|
+
const external_components_cjs_namespaceObject = require("./components.cjs");
|
|
55
|
+
var __webpack_export_target__ = exports;
|
|
56
|
+
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
57
|
+
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
|
|
58
|
+
value: true
|
|
59
|
+
});
|