c15t 2.0.0-rc.2 → 2.0.0-rc.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # c15t
2
2
 
3
+ ## 2.0.0-rc.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 29819bc: feat: add an IAB subpath export and lazy-load IAB internals
8
+ - Updated dependencies [06ee724]
9
+ - @c15t/translations@2.0.0-rc.4
10
+
11
+ ## 2.0.0-rc.3
12
+
13
+ ### Patch Changes
14
+
15
+ - 1c813bc: feat(dev-tools): add GPC to dev-tools with an override
16
+ - 0f10f3e: fix(react): react compiler compatability
17
+ - Updated dependencies [0a18fb6]
18
+ - @c15t/backend@2.0.0-rc.3
19
+
3
20
  ## 2.0.0-rc.2
4
21
 
5
22
  ### Patch Changes
package/dist/0~299.js ADDED
@@ -0,0 +1,56 @@
1
+ export const __rspack_esm_id = "299";
2
+ export const __rspack_esm_ids = [
3
+ "299"
4
+ ];
5
+ export const __webpack_modules__ = {
6
+ "./src/libs/iab-tcf/fetch-gvl.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7
+ __webpack_require__.d(__webpack_exports__, {
8
+ fetchGVL: ()=>fetchGVL
9
+ });
10
+ var _types__rspack_import_0 = __webpack_require__("./src/libs/iab-tcf/types.ts");
11
+ const inflightRequests = new Map();
12
+ async function fetchGVL(vendorIds, options = {}) {
13
+ const windowMockGVL = 'undefined' != typeof window ? window.__c15t_mock_gvl : void 0;
14
+ if (void 0 !== windowMockGVL) return windowMockGVL;
15
+ if (void 0 !== mockGVLData) return mockGVLData;
16
+ const { endpoint = _types__rspack_import_0.w, headers } = options;
17
+ const sortedVendorIds = vendorIds ? [
18
+ ...vendorIds
19
+ ].sort((a, b)=>a - b) : [];
20
+ const headersKey = headers ? JSON.stringify(headers) : '';
21
+ const cacheKey = `${endpoint}|${sortedVendorIds.join(',')}|${headersKey}`;
22
+ const existingRequest = inflightRequests.get(cacheKey);
23
+ if (existingRequest) return existingRequest;
24
+ const url = new URL(endpoint);
25
+ if (sortedVendorIds.length > 0) url.searchParams.set('vendorIds', sortedVendorIds.join(','));
26
+ const promise = (async ()=>{
27
+ try {
28
+ const response = await fetch(url.toString(), {
29
+ headers
30
+ });
31
+ if (204 === response.status) return null;
32
+ if (!response.ok) throw new Error(`Failed to fetch GVL: ${response.status} ${response.statusText}`);
33
+ const gvl = await response.json();
34
+ if (!gvl.vendorListVersion || !gvl.purposes || !gvl.vendors) throw new Error('Invalid GVL response: missing required fields');
35
+ return gvl;
36
+ } finally{
37
+ inflightRequests.delete(cacheKey);
38
+ }
39
+ })();
40
+ inflightRequests.set(cacheKey, promise);
41
+ return promise;
42
+ }
43
+ let mockGVLData;
44
+ },
45
+ "./src/libs/iab-tcf/types.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
46
+ __webpack_require__.d(__webpack_exports__, {
47
+ Y: ()=>IAB_STORAGE_KEYS,
48
+ w: ()=>GVL_ENDPOINT
49
+ });
50
+ const IAB_STORAGE_KEYS = {
51
+ TC_STRING_COOKIE: 'euconsent-v2',
52
+ TC_STRING_LOCAL: 'euconsent-v2'
53
+ };
54
+ const GVL_ENDPOINT = 'https://gvl.consent.io';
55
+ }
56
+ };
package/dist/0~417.js ADDED
@@ -0,0 +1,274 @@
1
+ export const __rspack_esm_id = "417";
2
+ export const __rspack_esm_ids = [
3
+ "417"
4
+ ];
5
+ export const __webpack_modules__ = {
6
+ "./src/libs/iab-tcf/cmp-defaults.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7
+ __webpack_require__.d(__webpack_exports__, {
8
+ D: ()=>CMP_ID,
9
+ I: ()=>CMP_VERSION
10
+ });
11
+ var _version__rspack_import_0 = __webpack_require__("./src/version.ts");
12
+ const CMP_ID = 0;
13
+ const CMP_VERSION = _version__rspack_import_0.r;
14
+ },
15
+ "./src/libs/iab-tcf/store.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
16
+ __webpack_require__.d(__webpack_exports__, {
17
+ createIABManager: ()=>createIABManager
18
+ });
19
+ var _cookie__rspack_import_0 = __webpack_require__("./src/libs/cookie/index.ts");
20
+ var _generate_subject_id__rspack_import_1 = __webpack_require__("./src/libs/generate-subject-id.ts");
21
+ var _cmp_defaults__rspack_import_2 = __webpack_require__("./src/libs/iab-tcf/cmp-defaults.ts");
22
+ function createInitialIABState(config) {
23
+ return {
24
+ config,
25
+ gvl: null,
26
+ isLoadingGVL: false,
27
+ nonIABVendors: [],
28
+ tcString: null,
29
+ vendorConsents: {},
30
+ vendorLegitimateInterests: {},
31
+ purposeConsents: {},
32
+ purposeLegitimateInterests: {},
33
+ specialFeatureOptIns: {},
34
+ vendorsDisclosed: {},
35
+ cmpApi: null,
36
+ preferenceCenterTab: 'purposes'
37
+ };
38
+ }
39
+ function createIABActions(getState, setState, manager) {
40
+ const updateState = (updates)=>{
41
+ const { iab } = getState();
42
+ if (!iab) return;
43
+ setState({
44
+ iab: {
45
+ ...iab,
46
+ ...updates
47
+ }
48
+ });
49
+ };
50
+ return {
51
+ _updateState: updateState,
52
+ setPurposeConsent: (purposeId, value)=>{
53
+ const { iab } = getState();
54
+ if (!iab) return;
55
+ updateState({
56
+ purposeConsents: {
57
+ ...iab.purposeConsents,
58
+ [purposeId]: value
59
+ }
60
+ });
61
+ },
62
+ setPurposeLegitimateInterest: (purposeId, value)=>{
63
+ const { iab } = getState();
64
+ if (!iab) return;
65
+ updateState({
66
+ purposeLegitimateInterests: {
67
+ ...iab.purposeLegitimateInterests,
68
+ [purposeId]: value
69
+ }
70
+ });
71
+ },
72
+ setVendorConsent: (vendorId, value)=>{
73
+ const { iab } = getState();
74
+ if (!iab) return;
75
+ updateState({
76
+ vendorConsents: {
77
+ ...iab.vendorConsents,
78
+ [String(vendorId)]: value
79
+ }
80
+ });
81
+ },
82
+ setVendorLegitimateInterest: (vendorId, value)=>{
83
+ const { iab } = getState();
84
+ if (!iab) return;
85
+ updateState({
86
+ vendorLegitimateInterests: {
87
+ ...iab.vendorLegitimateInterests,
88
+ [String(vendorId)]: value
89
+ }
90
+ });
91
+ },
92
+ setSpecialFeatureOptIn: (featureId, value)=>{
93
+ const { iab } = getState();
94
+ if (!iab) return;
95
+ updateState({
96
+ specialFeatureOptIns: {
97
+ ...iab.specialFeatureOptIns,
98
+ [featureId]: value
99
+ }
100
+ });
101
+ },
102
+ setPreferenceCenterTab: (tab)=>{
103
+ updateState({
104
+ preferenceCenterTab: tab
105
+ });
106
+ },
107
+ acceptAll: ()=>{
108
+ const { iab } = getState();
109
+ if (!iab?.gvl) return;
110
+ const { purposeConsents, purposeLegitimateInterests } = buildAllPurposeConsents(iab.gvl, true);
111
+ const { vendorConsents, vendorLegitimateInterests } = buildAllVendorConsents(iab.gvl, iab.nonIABVendors, true);
112
+ const specialFeatureOptIns = buildAllSpecialFeatureOptIns(iab.gvl, true);
113
+ updateState({
114
+ purposeConsents,
115
+ purposeLegitimateInterests,
116
+ vendorConsents,
117
+ vendorLegitimateInterests,
118
+ specialFeatureOptIns
119
+ });
120
+ },
121
+ rejectAll: ()=>{
122
+ const { iab } = getState();
123
+ if (!iab?.gvl) return;
124
+ const purposeConsents = {
125
+ 1: true
126
+ };
127
+ const purposeLegitimateInterests = {};
128
+ for (const purposeId of Object.keys(iab.gvl.purposes))if (1 !== Number(purposeId)) {
129
+ purposeConsents[Number(purposeId)] = false;
130
+ purposeLegitimateInterests[Number(purposeId)] = false;
131
+ }
132
+ const { vendorConsents, vendorLegitimateInterests } = buildAllVendorConsents(iab.gvl, iab.nonIABVendors, false);
133
+ const specialFeatureOptIns = buildAllSpecialFeatureOptIns(iab.gvl, false);
134
+ updateState({
135
+ purposeConsents,
136
+ purposeLegitimateInterests,
137
+ vendorConsents,
138
+ vendorLegitimateInterests,
139
+ specialFeatureOptIns
140
+ });
141
+ },
142
+ save: async ()=>{
143
+ const { iab, locationInfo, user, callbacks } = getState();
144
+ if (!iab?.cmpApi || !iab.gvl) return;
145
+ const { config: iabConfig, gvl, cmpApi, purposeConsents, purposeLegitimateInterests, vendorConsents, vendorLegitimateInterests, specialFeatureOptIns } = iab;
146
+ const { generateTCString, iabPurposesToC15tConsents } = await __webpack_require__.e("859").then(__webpack_require__.bind(__webpack_require__, "./src/libs/iab-tcf/index.ts"));
147
+ const vendorsDisclosed = {};
148
+ for (const vendorId of Object.keys(gvl.vendors))vendorsDisclosed[Number(vendorId)] = true;
149
+ const tcString = await generateTCString({
150
+ purposeConsents,
151
+ purposeLegitimateInterests,
152
+ vendorConsents,
153
+ vendorLegitimateInterests,
154
+ specialFeatureOptIns,
155
+ vendorsDisclosed
156
+ }, gvl, {
157
+ cmpId: iabConfig.cmpId ?? _cmp_defaults__rspack_import_2.D,
158
+ cmpVersion: iabConfig.cmpVersion ?? _cmp_defaults__rspack_import_2.I,
159
+ publisherCountryCode: iabConfig.publisherCountryCode ?? 'GB',
160
+ isServiceSpecific: iabConfig.isServiceSpecific ?? true
161
+ });
162
+ cmpApi.saveToStorage(tcString);
163
+ cmpApi.updateConsent(tcString);
164
+ const c15tConsents = iabPurposesToC15tConsents(purposeConsents);
165
+ const givenAt = Date.now();
166
+ updateState({
167
+ tcString,
168
+ vendorsDisclosed
169
+ });
170
+ let subjectId = getState().consentInfo?.subjectId;
171
+ if (!subjectId) subjectId = (0, _generate_subject_id__rspack_import_1.L)();
172
+ setState({
173
+ consents: c15tConsents,
174
+ selectedConsents: c15tConsents,
175
+ activeUI: 'none',
176
+ consentInfo: {
177
+ time: givenAt,
178
+ subjectId,
179
+ externalId: user?.id,
180
+ identityProvider: user?.identityProvider
181
+ }
182
+ });
183
+ const customVendorConsents = {};
184
+ const customVendorLegitimateInterests = {};
185
+ for (const vendor of iab.nonIABVendors){
186
+ const vendorKey = String(vendor.id);
187
+ if (vendor.purposes && vendor.purposes.length > 0) customVendorConsents[vendorKey] = vendorConsents[vendorKey] ?? false;
188
+ if (vendor.legIntPurposes && vendor.legIntPurposes.length > 0) customVendorLegitimateInterests[vendorKey] = vendorLegitimateInterests[vendorKey] ?? true;
189
+ }
190
+ (0, _cookie__rspack_import_0._y)({
191
+ consents: c15tConsents,
192
+ consentInfo: {
193
+ time: givenAt,
194
+ subjectId,
195
+ externalId: user?.id,
196
+ identityProvider: user?.identityProvider
197
+ },
198
+ iabCustomVendorConsents: customVendorConsents,
199
+ iabCustomVendorLegitimateInterests: customVendorLegitimateInterests
200
+ }, void 0, getState().storageConfig);
201
+ getState().updateScripts();
202
+ const consent = await manager.setConsent({
203
+ body: {
204
+ subjectId,
205
+ givenAt,
206
+ type: 'cookie_banner',
207
+ domain: 'undefined' != typeof window ? window.location.hostname : '',
208
+ preferences: c15tConsents,
209
+ externalSubjectId: user?.id,
210
+ identityProvider: user?.identityProvider,
211
+ tcString,
212
+ jurisdiction: locationInfo?.jurisdiction ?? void 0,
213
+ jurisdictionModel: 'iab',
214
+ metadata: {
215
+ source: 'iab_tcf',
216
+ acceptanceMethod: 'iab'
217
+ }
218
+ }
219
+ });
220
+ if (!consent.ok) {
221
+ const errorMsg = consent.error?.message ?? 'Failed to save IAB consents';
222
+ callbacks.onError?.({
223
+ error: errorMsg
224
+ });
225
+ if (!callbacks.onError) console.error(errorMsg);
226
+ }
227
+ }
228
+ };
229
+ }
230
+ function createIABManager(config, getState, setState, manager) {
231
+ const state = createInitialIABState(config);
232
+ const actions = createIABActions(getState, setState, manager);
233
+ return {
234
+ ...state,
235
+ ...actions
236
+ };
237
+ }
238
+ function buildAllPurposeConsents(gvl, value) {
239
+ const purposeConsents = {};
240
+ const purposeLegitimateInterests = {};
241
+ for (const purposeId of Object.keys(gvl.purposes)){
242
+ purposeConsents[Number(purposeId)] = value;
243
+ purposeLegitimateInterests[Number(purposeId)] = value;
244
+ }
245
+ return {
246
+ purposeConsents,
247
+ purposeLegitimateInterests
248
+ };
249
+ }
250
+ function buildAllVendorConsents(gvl, customVendors, value) {
251
+ const vendorConsents = {};
252
+ const vendorLegitimateInterests = {};
253
+ for (const [vendorId, vendor] of Object.entries(gvl.vendors)){
254
+ const id = String(vendorId);
255
+ if (vendor.purposes && vendor.purposes.length > 0) vendorConsents[id] = value;
256
+ if (vendor.legIntPurposes && vendor.legIntPurposes.length > 0) vendorLegitimateInterests[id] = value;
257
+ }
258
+ customVendors.forEach((cv)=>{
259
+ const customVendorId = String(cv.id);
260
+ if (cv.purposes && cv.purposes.length > 0) vendorConsents[customVendorId] = value;
261
+ if (cv.legIntPurposes && cv.legIntPurposes.length > 0) vendorLegitimateInterests[customVendorId] = value;
262
+ });
263
+ return {
264
+ vendorConsents,
265
+ vendorLegitimateInterests
266
+ };
267
+ }
268
+ function buildAllSpecialFeatureOptIns(gvl, value) {
269
+ const specialFeatureOptIns = {};
270
+ for (const featureId of Object.keys(gvl.specialFeatures))specialFeatureOptIns[Number(featureId)] = value;
271
+ return specialFeatureOptIns;
272
+ }
273
+ }
274
+ };
package/dist/0~798.js ADDED
@@ -0,0 +1,274 @@
1
+ export const __rspack_esm_id = "798";
2
+ export const __rspack_esm_ids = [
3
+ "798"
4
+ ];
5
+ export const __webpack_modules__ = {
6
+ "./src/libs/iab-tcf/cmp-defaults.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7
+ __webpack_require__.d(__webpack_exports__, {
8
+ D: ()=>CMP_ID,
9
+ I: ()=>CMP_VERSION
10
+ });
11
+ var _version__rspack_import_0 = __webpack_require__("./src/version.ts");
12
+ const CMP_ID = 0;
13
+ const CMP_VERSION = _version__rspack_import_0.r;
14
+ },
15
+ "./src/libs/iab-tcf/store.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
16
+ __webpack_require__.d(__webpack_exports__, {
17
+ createIABManager: ()=>createIABManager
18
+ });
19
+ var _cookie__rspack_import_0 = __webpack_require__("./src/libs/cookie/index.ts");
20
+ var _generate_subject_id__rspack_import_1 = __webpack_require__("./src/libs/generate-subject-id.ts");
21
+ var _cmp_defaults__rspack_import_2 = __webpack_require__("./src/libs/iab-tcf/cmp-defaults.ts");
22
+ function createInitialIABState(config) {
23
+ return {
24
+ config,
25
+ gvl: null,
26
+ isLoadingGVL: false,
27
+ nonIABVendors: [],
28
+ tcString: null,
29
+ vendorConsents: {},
30
+ vendorLegitimateInterests: {},
31
+ purposeConsents: {},
32
+ purposeLegitimateInterests: {},
33
+ specialFeatureOptIns: {},
34
+ vendorsDisclosed: {},
35
+ cmpApi: null,
36
+ preferenceCenterTab: 'purposes'
37
+ };
38
+ }
39
+ function createIABActions(getState, setState, manager) {
40
+ const updateState = (updates)=>{
41
+ const { iab } = getState();
42
+ if (!iab) return;
43
+ setState({
44
+ iab: {
45
+ ...iab,
46
+ ...updates
47
+ }
48
+ });
49
+ };
50
+ return {
51
+ _updateState: updateState,
52
+ setPurposeConsent: (purposeId, value)=>{
53
+ const { iab } = getState();
54
+ if (!iab) return;
55
+ updateState({
56
+ purposeConsents: {
57
+ ...iab.purposeConsents,
58
+ [purposeId]: value
59
+ }
60
+ });
61
+ },
62
+ setPurposeLegitimateInterest: (purposeId, value)=>{
63
+ const { iab } = getState();
64
+ if (!iab) return;
65
+ updateState({
66
+ purposeLegitimateInterests: {
67
+ ...iab.purposeLegitimateInterests,
68
+ [purposeId]: value
69
+ }
70
+ });
71
+ },
72
+ setVendorConsent: (vendorId, value)=>{
73
+ const { iab } = getState();
74
+ if (!iab) return;
75
+ updateState({
76
+ vendorConsents: {
77
+ ...iab.vendorConsents,
78
+ [String(vendorId)]: value
79
+ }
80
+ });
81
+ },
82
+ setVendorLegitimateInterest: (vendorId, value)=>{
83
+ const { iab } = getState();
84
+ if (!iab) return;
85
+ updateState({
86
+ vendorLegitimateInterests: {
87
+ ...iab.vendorLegitimateInterests,
88
+ [String(vendorId)]: value
89
+ }
90
+ });
91
+ },
92
+ setSpecialFeatureOptIn: (featureId, value)=>{
93
+ const { iab } = getState();
94
+ if (!iab) return;
95
+ updateState({
96
+ specialFeatureOptIns: {
97
+ ...iab.specialFeatureOptIns,
98
+ [featureId]: value
99
+ }
100
+ });
101
+ },
102
+ setPreferenceCenterTab: (tab)=>{
103
+ updateState({
104
+ preferenceCenterTab: tab
105
+ });
106
+ },
107
+ acceptAll: ()=>{
108
+ const { iab } = getState();
109
+ if (!iab?.gvl) return;
110
+ const { purposeConsents, purposeLegitimateInterests } = buildAllPurposeConsents(iab.gvl, true);
111
+ const { vendorConsents, vendorLegitimateInterests } = buildAllVendorConsents(iab.gvl, iab.nonIABVendors, true);
112
+ const specialFeatureOptIns = buildAllSpecialFeatureOptIns(iab.gvl, true);
113
+ updateState({
114
+ purposeConsents,
115
+ purposeLegitimateInterests,
116
+ vendorConsents,
117
+ vendorLegitimateInterests,
118
+ specialFeatureOptIns
119
+ });
120
+ },
121
+ rejectAll: ()=>{
122
+ const { iab } = getState();
123
+ if (!iab?.gvl) return;
124
+ const purposeConsents = {
125
+ 1: true
126
+ };
127
+ const purposeLegitimateInterests = {};
128
+ for (const purposeId of Object.keys(iab.gvl.purposes))if (1 !== Number(purposeId)) {
129
+ purposeConsents[Number(purposeId)] = false;
130
+ purposeLegitimateInterests[Number(purposeId)] = false;
131
+ }
132
+ const { vendorConsents, vendorLegitimateInterests } = buildAllVendorConsents(iab.gvl, iab.nonIABVendors, false);
133
+ const specialFeatureOptIns = buildAllSpecialFeatureOptIns(iab.gvl, false);
134
+ updateState({
135
+ purposeConsents,
136
+ purposeLegitimateInterests,
137
+ vendorConsents,
138
+ vendorLegitimateInterests,
139
+ specialFeatureOptIns
140
+ });
141
+ },
142
+ save: async ()=>{
143
+ const { iab, locationInfo, user, callbacks } = getState();
144
+ if (!iab?.cmpApi || !iab.gvl) return;
145
+ const { config: iabConfig, gvl, cmpApi, purposeConsents, purposeLegitimateInterests, vendorConsents, vendorLegitimateInterests, specialFeatureOptIns } = iab;
146
+ const { generateTCString, iabPurposesToC15tConsents } = await __webpack_require__.e("859").then(__webpack_require__.bind(__webpack_require__, "./src/libs/iab-tcf/index.ts"));
147
+ const vendorsDisclosed = {};
148
+ for (const vendorId of Object.keys(gvl.vendors))vendorsDisclosed[Number(vendorId)] = true;
149
+ const tcString = await generateTCString({
150
+ purposeConsents,
151
+ purposeLegitimateInterests,
152
+ vendorConsents,
153
+ vendorLegitimateInterests,
154
+ specialFeatureOptIns,
155
+ vendorsDisclosed
156
+ }, gvl, {
157
+ cmpId: iabConfig.cmpId ?? _cmp_defaults__rspack_import_2.D,
158
+ cmpVersion: iabConfig.cmpVersion ?? _cmp_defaults__rspack_import_2.I,
159
+ publisherCountryCode: iabConfig.publisherCountryCode ?? 'GB',
160
+ isServiceSpecific: iabConfig.isServiceSpecific ?? true
161
+ });
162
+ cmpApi.saveToStorage(tcString);
163
+ cmpApi.updateConsent(tcString);
164
+ const c15tConsents = iabPurposesToC15tConsents(purposeConsents);
165
+ const givenAt = Date.now();
166
+ updateState({
167
+ tcString,
168
+ vendorsDisclosed
169
+ });
170
+ let subjectId = getState().consentInfo?.subjectId;
171
+ if (!subjectId) subjectId = (0, _generate_subject_id__rspack_import_1.L)();
172
+ setState({
173
+ consents: c15tConsents,
174
+ selectedConsents: c15tConsents,
175
+ activeUI: 'none',
176
+ consentInfo: {
177
+ time: givenAt,
178
+ subjectId,
179
+ externalId: user?.id,
180
+ identityProvider: user?.identityProvider
181
+ }
182
+ });
183
+ const customVendorConsents = {};
184
+ const customVendorLegitimateInterests = {};
185
+ for (const vendor of iab.nonIABVendors){
186
+ const vendorKey = String(vendor.id);
187
+ if (vendor.purposes && vendor.purposes.length > 0) customVendorConsents[vendorKey] = vendorConsents[vendorKey] ?? false;
188
+ if (vendor.legIntPurposes && vendor.legIntPurposes.length > 0) customVendorLegitimateInterests[vendorKey] = vendorLegitimateInterests[vendorKey] ?? true;
189
+ }
190
+ (0, _cookie__rspack_import_0._y)({
191
+ consents: c15tConsents,
192
+ consentInfo: {
193
+ time: givenAt,
194
+ subjectId,
195
+ externalId: user?.id,
196
+ identityProvider: user?.identityProvider
197
+ },
198
+ iabCustomVendorConsents: customVendorConsents,
199
+ iabCustomVendorLegitimateInterests: customVendorLegitimateInterests
200
+ }, void 0, getState().storageConfig);
201
+ getState().updateScripts();
202
+ const consent = await manager.setConsent({
203
+ body: {
204
+ subjectId,
205
+ givenAt,
206
+ type: 'cookie_banner',
207
+ domain: 'undefined' != typeof window ? window.location.hostname : '',
208
+ preferences: c15tConsents,
209
+ externalSubjectId: user?.id,
210
+ identityProvider: user?.identityProvider,
211
+ tcString,
212
+ jurisdiction: locationInfo?.jurisdiction ?? void 0,
213
+ jurisdictionModel: 'iab',
214
+ metadata: {
215
+ source: 'iab_tcf',
216
+ acceptanceMethod: 'iab'
217
+ }
218
+ }
219
+ });
220
+ if (!consent.ok) {
221
+ const errorMsg = consent.error?.message ?? 'Failed to save IAB consents';
222
+ callbacks.onError?.({
223
+ error: errorMsg
224
+ });
225
+ if (!callbacks.onError) console.error(errorMsg);
226
+ }
227
+ }
228
+ };
229
+ }
230
+ function createIABManager(config, getState, setState, manager) {
231
+ const state = createInitialIABState(config);
232
+ const actions = createIABActions(getState, setState, manager);
233
+ return {
234
+ ...state,
235
+ ...actions
236
+ };
237
+ }
238
+ function buildAllPurposeConsents(gvl, value) {
239
+ const purposeConsents = {};
240
+ const purposeLegitimateInterests = {};
241
+ for (const purposeId of Object.keys(gvl.purposes)){
242
+ purposeConsents[Number(purposeId)] = value;
243
+ purposeLegitimateInterests[Number(purposeId)] = value;
244
+ }
245
+ return {
246
+ purposeConsents,
247
+ purposeLegitimateInterests
248
+ };
249
+ }
250
+ function buildAllVendorConsents(gvl, customVendors, value) {
251
+ const vendorConsents = {};
252
+ const vendorLegitimateInterests = {};
253
+ for (const [vendorId, vendor] of Object.entries(gvl.vendors)){
254
+ const id = String(vendorId);
255
+ if (vendor.purposes && vendor.purposes.length > 0) vendorConsents[id] = value;
256
+ if (vendor.legIntPurposes && vendor.legIntPurposes.length > 0) vendorLegitimateInterests[id] = value;
257
+ }
258
+ customVendors.forEach((cv)=>{
259
+ const customVendorId = String(cv.id);
260
+ if (cv.purposes && cv.purposes.length > 0) vendorConsents[customVendorId] = value;
261
+ if (cv.legIntPurposes && cv.legIntPurposes.length > 0) vendorLegitimateInterests[customVendorId] = value;
262
+ });
263
+ return {
264
+ vendorConsents,
265
+ vendorLegitimateInterests
266
+ };
267
+ }
268
+ function buildAllSpecialFeatureOptIns(gvl, value) {
269
+ const specialFeatureOptIns = {};
270
+ for (const featureId of Object.keys(gvl.specialFeatures))specialFeatureOptIns[Number(featureId)] = value;
271
+ return specialFeatureOptIns;
272
+ }
273
+ }
274
+ };