@consent.software/catalog 1.6.0 → 2.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_bundle/bundle.js +632 -401
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/consentsoftware-cookieconsent.d.ts +4 -20
- package/dist_ts_web/elements/consentsoftware-cookieconsent.js +267 -303
- package/dist_ts_web/elements/consentsoftware-header.d.ts +3 -4
- package/dist_ts_web/elements/consentsoftware-header.js +89 -38
- package/dist_ts_web/elements/consentsoftware-mainselection.d.ts +6 -7
- package/dist_ts_web/elements/consentsoftware-mainselection.js +126 -54
- package/dist_ts_web/elements/consentsoftware-tabs.d.ts +4 -5
- package/dist_ts_web/elements/consentsoftware-tabs.js +109 -62
- package/dist_ts_web/elements/consentsoftware-toggle.d.ts +11 -9
- package/dist_ts_web/elements/consentsoftware-toggle.js +262 -214
- package/dist_ts_web/elements/shared.d.ts +35 -1
- package/dist_ts_web/elements/shared.js +36 -2
- package/dist_ts_web/pages/page1.d.ts +1 -1
- package/dist_ts_web/pages/page1.js +2 -2
- package/dist_watch/bundle.js +10228 -4196
- package/dist_watch/bundle.js.map +4 -4
- package/package.json +9 -9
- package/readme.md +149 -80
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/consentsoftware-cookieconsent.ts +150 -218
- package/ts_web/elements/consentsoftware-header.ts +40 -23
- package/ts_web/elements/consentsoftware-mainselection.ts +63 -33
- package/ts_web/elements/consentsoftware-tabs.ts +51 -37
- package/ts_web/elements/consentsoftware-toggle.ts +123 -107
- package/ts_web/elements/shared.ts +38 -2
- package/ts_web/pages/page1.ts +1 -1
- package/ts_web/tsconfig.json +4 -4
|
@@ -1,237 +1,222 @@
|
|
|
1
|
-
var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
6
27
|
};
|
|
7
|
-
var
|
|
8
|
-
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
9
34
|
};
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import { customElement } from 'lit/decorators.js';
|
|
13
|
-
import { property } from 'lit/decorators/property.js';
|
|
35
|
+
import { cssManager, colors } from './shared.js';
|
|
36
|
+
import { DeesElement, customElement, html, css, property, } from '@design.estate/dees-element';
|
|
14
37
|
import * as csInterfaces from '@consent.software/interfaces';
|
|
15
38
|
import * as csWebclient from '@consent.software/webclient';
|
|
16
39
|
import { delayFor } from '@push.rocks/smartdelay';
|
|
17
|
-
let ConsentsoftwareCookieconsent =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
40
|
+
let ConsentsoftwareCookieconsent = (() => {
|
|
41
|
+
let _classDecorators = [customElement('consentsoftware-cookieconsent')];
|
|
42
|
+
let _classDescriptor;
|
|
43
|
+
let _classExtraInitializers = [];
|
|
44
|
+
let _classThis;
|
|
45
|
+
let _classSuper = DeesElement;
|
|
46
|
+
var ConsentsoftwareCookieconsent = class extends _classSuper {
|
|
47
|
+
static { _classThis = this; }
|
|
48
|
+
static {
|
|
49
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
50
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
51
|
+
ConsentsoftwareCookieconsent = _classThis = _classDescriptor.value;
|
|
52
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
53
|
+
}
|
|
54
|
+
static demo = () => html `<consentsoftware-cookieconsent></consentsoftware-cookieconsent>`;
|
|
55
|
+
csWebclientInstance = new csWebclient.CsWebclient();
|
|
56
|
+
csWebclientRan = false;
|
|
57
|
+
static styles = [
|
|
58
|
+
cssManager.defaultStyles,
|
|
59
|
+
css `
|
|
60
|
+
:host {
|
|
61
|
+
font-size: 14px;
|
|
62
|
+
user-select: none;
|
|
63
|
+
}
|
|
42
64
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
--info-text: rgba(255, 255, 255, 0.5);
|
|
55
|
-
--modal-box-shadow: 0px 0px 8px rgba(255, 255, 255, 0.6);
|
|
56
|
-
}
|
|
65
|
+
.pageOverlay {
|
|
66
|
+
position: fixed;
|
|
67
|
+
inset: 0;
|
|
68
|
+
display: grid;
|
|
69
|
+
align-items: center;
|
|
70
|
+
justify-content: center;
|
|
71
|
+
z-index: 1000;
|
|
72
|
+
background: rgba(0, 0, 0, 0);
|
|
73
|
+
backdrop-filter: blur(0px);
|
|
74
|
+
transition: all 0.2s ease-out;
|
|
75
|
+
}
|
|
57
76
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
:host([theme='light']) {
|
|
62
|
-
--text-color: #333;
|
|
63
|
-
--background-color: #eeeeee;
|
|
64
|
-
--accent-color: #333333;
|
|
65
|
-
--button-bg: #ffffff;
|
|
66
|
-
--button-hover-bg: #f2f2f2;
|
|
67
|
-
--icon-color: #4496f5;
|
|
68
|
-
--link-color: #333;
|
|
69
|
-
--info-bg: rgba(0, 0, 0, 0.1);
|
|
70
|
-
--info-text: rgba(0, 0, 0, 0.5);
|
|
71
|
-
--modal-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
|
|
72
|
-
}
|
|
77
|
+
.pageOverlay.shake {
|
|
78
|
+
background: rgba(0, 0, 0, 0.6) !important;
|
|
79
|
+
}
|
|
73
80
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
.modalBox {
|
|
82
|
+
display: block;
|
|
83
|
+
color: ${cssManager.bdTheme(colors.light.foreground, colors.dark.foreground)};
|
|
84
|
+
background: ${cssManager.bdTheme(colors.light.background, colors.dark.background)};
|
|
85
|
+
box-shadow:
|
|
86
|
+
0 0 0 1px ${cssManager.bdTheme(colors.light.border, colors.dark.border)},
|
|
87
|
+
0 16px 70px ${cssManager.bdTheme('rgba(0, 0, 0, 0.15)', 'rgba(0, 0, 0, 0.35)')};
|
|
88
|
+
position: relative;
|
|
89
|
+
border-radius: 8px;
|
|
90
|
+
max-width: 520px;
|
|
91
|
+
min-width: 320px;
|
|
92
|
+
box-sizing: border-box;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
will-change: transform;
|
|
95
|
+
transition: all 0.2s ease-out;
|
|
96
|
+
transform: scale(0.96);
|
|
97
|
+
opacity: 0;
|
|
98
|
+
}
|
|
89
99
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
100
|
+
@media (max-width: 560px) {
|
|
101
|
+
.modalBox {
|
|
102
|
+
max-width: 100%;
|
|
103
|
+
min-width: 100%;
|
|
104
|
+
height: 100vh;
|
|
105
|
+
border-radius: 0;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
94
108
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
color: var(--text-color);
|
|
99
|
-
background: var(--background-color);
|
|
100
|
-
box-shadow: var(--modal-box-shadow);
|
|
101
|
-
position: relative;
|
|
102
|
-
border: 1px dotted rgba(255, 255, 255, 0.1);
|
|
103
|
-
border-top: 1px solid var(--accent-color);
|
|
104
|
-
border-radius: 16px;
|
|
105
|
-
max-width: 1100px;
|
|
106
|
-
min-width: calc(100vw / 3);
|
|
107
|
-
box-sizing: border-box;
|
|
108
|
-
overflow: hidden;
|
|
109
|
-
will-change: transform;
|
|
110
|
-
transition: all 0.3s;
|
|
111
|
-
transform: scale(0.95);
|
|
112
|
-
opacity: 0;
|
|
113
|
-
}
|
|
109
|
+
.modalBox.shake {
|
|
110
|
+
animation: shake 120ms 2 linear;
|
|
111
|
+
}
|
|
114
112
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
box-shadow: none;
|
|
120
|
-
border-radius: 0px;
|
|
113
|
+
@keyframes shake {
|
|
114
|
+
0% { transform: translateX(3px); }
|
|
115
|
+
50% { transform: translateX(-3px); }
|
|
116
|
+
100% { transform: translateX(0); }
|
|
121
117
|
}
|
|
122
|
-
}
|
|
123
118
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
animation: shake 150ms 2 linear;
|
|
127
|
-
}
|
|
119
|
+
:host([show='false']) { display: none; }
|
|
120
|
+
:host([show='true']) { display: block; }
|
|
128
121
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
transform: translate(3px, 0);
|
|
122
|
+
.content {
|
|
123
|
+
margin: auto;
|
|
132
124
|
}
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
|
|
126
|
+
.text-container {
|
|
127
|
+
padding: 12px 16px;
|
|
128
|
+
font-size: 0.9em;
|
|
129
|
+
line-height: 1.5;
|
|
130
|
+
color: ${cssManager.bdTheme(colors.light.mutedForeground, colors.dark.mutedForeground)};
|
|
135
131
|
}
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
|
|
133
|
+
.text-container a {
|
|
134
|
+
color: ${cssManager.bdTheme(colors.light.foreground, colors.dark.foreground)};
|
|
135
|
+
text-decoration: underline;
|
|
136
|
+
text-underline-offset: 2px;
|
|
138
137
|
}
|
|
139
|
-
}
|
|
140
138
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
:host([show='true']) {
|
|
146
|
-
display: block;
|
|
147
|
-
}
|
|
139
|
+
.text-container a:hover {
|
|
140
|
+
opacity: 0.8;
|
|
141
|
+
}
|
|
148
142
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
143
|
+
.button-container {
|
|
144
|
+
padding: 12px 16px 16px;
|
|
145
|
+
display: grid;
|
|
146
|
+
grid-template-columns: repeat(3, 1fr);
|
|
147
|
+
gap: 8px;
|
|
148
|
+
}
|
|
152
149
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
150
|
+
@media (max-width: 560px) {
|
|
151
|
+
.button-container {
|
|
152
|
+
grid-template-columns: 1fr;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
159
155
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
156
|
+
.consent-button {
|
|
157
|
+
border-radius: 6px;
|
|
158
|
+
background: ${cssManager.bdTheme(colors.light.secondary, colors.dark.secondary)};
|
|
159
|
+
border: 1px solid ${cssManager.bdTheme(colors.light.border, colors.dark.border)};
|
|
160
|
+
padding: 8px 16px;
|
|
161
|
+
font-size: 0.85em;
|
|
162
|
+
font-weight: 500;
|
|
163
|
+
text-align: center;
|
|
164
|
+
cursor: pointer;
|
|
165
|
+
transition: all 0.15s ease;
|
|
166
|
+
color: ${cssManager.bdTheme(colors.light.secondaryForeground, colors.dark.secondaryForeground)};
|
|
167
|
+
}
|
|
164
168
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
gap: 16px;
|
|
170
|
-
}
|
|
169
|
+
.consent-button:hover {
|
|
170
|
+
background: ${cssManager.bdTheme(colors.light.accent, colors.dark.accent)};
|
|
171
|
+
border-color: ${cssManager.bdTheme(colors.light.ring, colors.dark.ring)};
|
|
172
|
+
}
|
|
171
173
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
.consent-button:last-child {
|
|
175
|
+
background: ${cssManager.bdTheme(colors.light.primary, colors.dark.primary)};
|
|
176
|
+
color: ${cssManager.bdTheme(colors.light.primaryForeground, colors.dark.primaryForeground)};
|
|
177
|
+
border-color: ${cssManager.bdTheme(colors.light.primary, colors.dark.primary)};
|
|
176
178
|
}
|
|
177
|
-
}
|
|
178
179
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
background: var(--button-bg);
|
|
183
|
-
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
|
|
184
|
-
padding: 10px;
|
|
185
|
-
line-height: 30px;
|
|
186
|
-
text-align: center;
|
|
187
|
-
cursor: pointer;
|
|
188
|
-
transition: all 0.2s;
|
|
189
|
-
}
|
|
180
|
+
.consent-button:last-child:hover {
|
|
181
|
+
opacity: 0.9;
|
|
182
|
+
}
|
|
190
183
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
184
|
+
.info-container {
|
|
185
|
+
text-align: center;
|
|
186
|
+
padding: 10px 16px;
|
|
187
|
+
background: ${cssManager.bdTheme(colors.light.muted, colors.dark.muted)};
|
|
188
|
+
border-top: 1px solid ${cssManager.bdTheme(colors.light.border, colors.dark.border)};
|
|
189
|
+
font-size: 0.75em;
|
|
190
|
+
color: ${cssManager.bdTheme(colors.light.mutedForeground, colors.dark.mutedForeground)};
|
|
191
|
+
}
|
|
194
192
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
background: var(--info-bg);
|
|
200
|
-
border-top: 1px dotted rgba(255, 255, 255, 0.1);
|
|
201
|
-
font-size: 0.8em;
|
|
202
|
-
color: var(--info-text);
|
|
203
|
-
}
|
|
193
|
+
.info-container a {
|
|
194
|
+
color: ${cssManager.bdTheme(colors.light.foreground, colors.dark.foreground)};
|
|
195
|
+
text-decoration: none;
|
|
196
|
+
}
|
|
204
197
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
this.csWebclientRan = false;
|
|
218
|
-
// Reflects the current theme ('light' or 'dark')
|
|
219
|
-
this.theme = 'light';
|
|
220
|
-
// Initially hide the consent banner until needed
|
|
221
|
-
this.setAttribute('show', 'false');
|
|
222
|
-
}
|
|
223
|
-
render() {
|
|
224
|
-
return html `
|
|
198
|
+
.info-container a:hover {
|
|
199
|
+
text-decoration: underline;
|
|
200
|
+
}
|
|
201
|
+
`,
|
|
202
|
+
];
|
|
203
|
+
constructor() {
|
|
204
|
+
super();
|
|
205
|
+
// Initially hide the consent banner until needed
|
|
206
|
+
this.setAttribute('show', 'false');
|
|
207
|
+
}
|
|
208
|
+
render() {
|
|
209
|
+
return html `
|
|
225
210
|
<div class="pageOverlay" @click=${this.pageOverlayClick}>
|
|
226
211
|
<div class="modalBox">
|
|
227
212
|
<div class="content">
|
|
228
213
|
<consentsoftware-header></consentsoftware-header>
|
|
229
214
|
<consentsoftware-tabs></consentsoftware-tabs>
|
|
230
|
-
<div class="text-container"
|
|
215
|
+
<div class="text-container">
|
|
231
216
|
<div class="toptext">
|
|
232
|
-
|
|
217
|
+
We use cookies to enhance your experience. Review our
|
|
233
218
|
<a href="https://lossless.gmbh/cookie" target="_blank">cookie policy</a>
|
|
234
|
-
and
|
|
219
|
+
and select your preferences.
|
|
235
220
|
</div>
|
|
236
221
|
</div>
|
|
237
222
|
<consentsoftware-mainselection></consentsoftware-mainselection>
|
|
@@ -263,115 +248,94 @@ let ConsentsoftwareCookieconsent = class ConsentsoftwareCookieconsent extends Li
|
|
|
263
248
|
</div>
|
|
264
249
|
</div>
|
|
265
250
|
`;
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Lifecycle method called when the element is connected to the DOM.
|
|
269
|
-
* It sets up the theme and displays the consent banner if no cookie levels are set.
|
|
270
|
-
*/
|
|
271
|
-
async connectedCallback() {
|
|
272
|
-
super.connectedCallback();
|
|
273
|
-
this.updateTheme(); // Initialize theme based on system preference
|
|
274
|
-
const cookieLevel = await this.csWebclientInstance.getCookieLevels();
|
|
275
|
-
if (!cookieLevel) {
|
|
276
|
-
// Show consent banner if cookie levels haven't been set yet
|
|
277
|
-
this.setAttribute('show', 'true');
|
|
278
|
-
requestAnimationFrame(async () => {
|
|
279
|
-
await this.updated();
|
|
280
|
-
const pageOverlay = this.shadowRoot?.querySelector('.pageOverlay');
|
|
281
|
-
if (pageOverlay) {
|
|
282
|
-
// Apply dark overlay styling when modal appears
|
|
283
|
-
pageOverlay.style.background = 'rgba(0,0,0, 0.5)';
|
|
284
|
-
pageOverlay.style.backdropFilter = 'blur(20px)';
|
|
285
|
-
}
|
|
286
|
-
const modalBox = this.shadowRoot?.querySelector('.modalBox');
|
|
287
|
-
if (modalBox) {
|
|
288
|
-
// Animate modal box appearance
|
|
289
|
-
modalBox.style.transform = `scale(1)`;
|
|
290
|
-
modalBox.style.opacity = '1';
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
// Hide banner if cookie levels are already set
|
|
296
|
-
this.setAttribute('show', 'false');
|
|
297
251
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
252
|
+
/**
|
|
253
|
+
* Lifecycle method called when the element is connected to the DOM.
|
|
254
|
+
* Displays the consent banner if no cookie levels are set.
|
|
255
|
+
*/
|
|
256
|
+
async connectedCallback() {
|
|
257
|
+
await super.connectedCallback();
|
|
258
|
+
const cookieLevel = await this.csWebclientInstance.getCookieLevels();
|
|
259
|
+
if (!cookieLevel) {
|
|
260
|
+
// Show consent banner if cookie levels haven't been set yet
|
|
261
|
+
this.setAttribute('show', 'true');
|
|
262
|
+
requestAnimationFrame(async () => {
|
|
263
|
+
await this.updateComplete;
|
|
264
|
+
const pageOverlay = this.shadowRoot?.querySelector('.pageOverlay');
|
|
265
|
+
if (pageOverlay) {
|
|
266
|
+
// Apply subtle backdrop blur when modal appears
|
|
267
|
+
pageOverlay.style.background = 'rgba(0,0,0, 0.6)';
|
|
268
|
+
pageOverlay.style.backdropFilter = 'blur(4px)';
|
|
269
|
+
}
|
|
270
|
+
const modalBox = this.shadowRoot?.querySelector('.modalBox');
|
|
271
|
+
if (modalBox) {
|
|
272
|
+
// Animate modal box appearance
|
|
273
|
+
modalBox.style.transform = `scale(1)`;
|
|
274
|
+
modalBox.style.opacity = '1';
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
// Hide banner if cookie levels are already set
|
|
280
|
+
this.setAttribute('show', 'false');
|
|
281
|
+
}
|
|
324
282
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
283
|
+
async firstUpdated() {
|
|
284
|
+
// Run consent scripts if levels are already set
|
|
285
|
+
const acceptedCookieLevels = await this.csWebclientInstance.getCookieLevels();
|
|
286
|
+
if (!this.csWebclientRan && acceptedCookieLevels) {
|
|
287
|
+
this.csWebclientRan = true;
|
|
288
|
+
await this.csWebclientInstance.getAndRunConsentTuples();
|
|
289
|
+
}
|
|
330
290
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Handles clicks on the page overlay. If clicked outside the modal,
|
|
339
|
-
* triggers a shake animation as feedback.
|
|
340
|
-
*/
|
|
341
|
-
async pageOverlayClick(e) {
|
|
342
|
-
if (e.target === e.currentTarget) {
|
|
291
|
+
/**
|
|
292
|
+
* Handles consent button clicks, sets cookie levels, and hides the banner.
|
|
293
|
+
*/
|
|
294
|
+
async handleConsentButtonClick(event, levelsArg) {
|
|
295
|
+
console.log(`Set level to ${levelsArg}`);
|
|
343
296
|
const pageOverlay = this.shadowRoot?.querySelector('.pageOverlay');
|
|
297
|
+
if (pageOverlay) {
|
|
298
|
+
pageOverlay.style.background = 'rgba(0,0,0, 0)';
|
|
299
|
+
pageOverlay.style.backdropFilter = 'blur(0px)';
|
|
300
|
+
}
|
|
344
301
|
const modalBox = this.shadowRoot?.querySelector('.modalBox');
|
|
345
|
-
if (
|
|
346
|
-
|
|
347
|
-
modalBox.
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
302
|
+
if (modalBox) {
|
|
303
|
+
// Scale down and fade out modal box before hiding
|
|
304
|
+
modalBox.style.transform = `scale(0.95)`;
|
|
305
|
+
modalBox.style.opacity = '0';
|
|
306
|
+
}
|
|
307
|
+
// Save user consent preferences
|
|
308
|
+
await this.csWebclientInstance.setCookieLevels(levelsArg);
|
|
309
|
+
await delayFor(300);
|
|
310
|
+
this.setAttribute('show', 'false'); // Hide the consent banner
|
|
311
|
+
// Run consent scripts
|
|
312
|
+
if (!this.csWebclientRan) {
|
|
313
|
+
this.csWebclientRan = true;
|
|
314
|
+
await this.csWebclientInstance.getAndRunConsentTuples();
|
|
351
315
|
}
|
|
352
316
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
317
|
+
/**
|
|
318
|
+
* Handles clicks on the page overlay. If clicked outside the modal,
|
|
319
|
+
* triggers a shake animation as feedback.
|
|
320
|
+
*/
|
|
321
|
+
async pageOverlayClick(e) {
|
|
322
|
+
if (e.target === e.currentTarget) {
|
|
323
|
+
const pageOverlay = this.shadowRoot?.querySelector('.pageOverlay');
|
|
324
|
+
const modalBox = this.shadowRoot?.querySelector('.modalBox');
|
|
325
|
+
if (pageOverlay && modalBox) {
|
|
326
|
+
pageOverlay.classList.add('shake');
|
|
327
|
+
modalBox.classList.add('shake');
|
|
328
|
+
await delayFor(2000);
|
|
329
|
+
pageOverlay.classList.remove('shake');
|
|
330
|
+
modalBox.classList.remove('shake');
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
static {
|
|
335
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
return ConsentsoftwareCookieconsent = _classThis;
|
|
339
|
+
})();
|
|
376
340
|
export { ConsentsoftwareCookieconsent };
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2VudHNvZnR3YXJlLWNvb2tpZWNvbnNlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvY29uc2VudHNvZnR3YXJlLWNvb2tpZWNvbnNlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBRUgsUUFBUSxHQUNULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFlBQVksTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztJQVNyQyw0QkFBNEI7NEJBRHhDLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQzs7OztzQkFDRyxXQUFXOzRDQUFuQixTQUFRLFdBQVc7Ozs7WUFBN0QsNktBd1NDOzs7O1FBdlNRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBLGlFQUFpRSxDQUFDO1FBRTFGLG1CQUFtQixHQUFHLElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BELGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQkF3QlUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztzQkFDOUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVB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
|