cm-sdk-react-native-v3 3.6.1 → 3.6.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/README.md +2 -13
- package/android/build.gradle +5 -14
- package/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Module.kt +78 -52
- package/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Package.kt +6 -29
- package/ios/CmSdkReactNativeV3-Bridging-Header.h +0 -4
- package/ios/CmSdkReactNativeV3.mm +1 -5
- package/ios/CmSdkReactNativeV3.swift +132 -24
- package/lib/commonjs/NativeCmSdkReactNativeV3.js +32 -2
- package/lib/commonjs/NativeCmSdkReactNativeV3.js.map +1 -1
- package/lib/commonjs/index.js +139 -30
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeCmSdkReactNativeV3.js +32 -2
- package/lib/module/NativeCmSdkReactNativeV3.js.map +1 -1
- package/lib/module/index.js +114 -28
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts +48 -10
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +14 -6
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts +48 -10
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +14 -6
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +2 -6
- package/react-native-cm-sdk-react-native-v3.podspec +1 -24
- package/src/NativeCmSdkReactNativeV3.ts +51 -13
- package/src/index.tsx +148 -37
|
@@ -3,9 +3,39 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.WebViewPosition = exports.BlurEffectStyle = exports.BackgroundStyleType = exports.ATTStatus = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
// Event payload types for better TypeScript support
|
|
9
9
|
// Additional type definitions for better TypeScript support
|
|
10
|
-
|
|
10
|
+
let WebViewPosition = exports.WebViewPosition = /*#__PURE__*/function (WebViewPosition) {
|
|
11
|
+
WebViewPosition["FullScreen"] = "fullScreen";
|
|
12
|
+
WebViewPosition["HalfScreenTop"] = "halfScreenTop";
|
|
13
|
+
WebViewPosition["HalfScreenBottom"] = "halfScreenBottom";
|
|
14
|
+
WebViewPosition["Custom"] = "custom";
|
|
15
|
+
return WebViewPosition;
|
|
16
|
+
}({});
|
|
17
|
+
let BackgroundStyleType = exports.BackgroundStyleType = /*#__PURE__*/function (BackgroundStyleType) {
|
|
18
|
+
BackgroundStyleType["Dimmed"] = "dimmed";
|
|
19
|
+
BackgroundStyleType["Color"] = "color";
|
|
20
|
+
BackgroundStyleType["Blur"] = "blur";
|
|
21
|
+
BackgroundStyleType["None"] = "none";
|
|
22
|
+
return BackgroundStyleType;
|
|
23
|
+
}({});
|
|
24
|
+
let BlurEffectStyle = exports.BlurEffectStyle = /*#__PURE__*/function (BlurEffectStyle) {
|
|
25
|
+
BlurEffectStyle["Light"] = "light";
|
|
26
|
+
BlurEffectStyle["Dark"] = "dark";
|
|
27
|
+
BlurEffectStyle["ExtraLight"] = "extraLight";
|
|
28
|
+
return BlurEffectStyle;
|
|
29
|
+
}({});
|
|
30
|
+
let ATTStatus = exports.ATTStatus = /*#__PURE__*/function (ATTStatus) {
|
|
31
|
+
ATTStatus[ATTStatus["NotDetermined"] = 0] = "NotDetermined";
|
|
32
|
+
ATTStatus[ATTStatus["Restricted"] = 1] = "Restricted";
|
|
33
|
+
ATTStatus[ATTStatus["Denied"] = 2] = "Denied";
|
|
34
|
+
ATTStatus[ATTStatus["Authorized"] = 3] = "Authorized";
|
|
35
|
+
return ATTStatus;
|
|
36
|
+
}({});
|
|
37
|
+
const {
|
|
38
|
+
CmSdkReactNativeV3
|
|
39
|
+
} = _reactNative.NativeModules;
|
|
40
|
+
var _default = exports.default = CmSdkReactNativeV3;
|
|
11
41
|
//# sourceMappingURL=NativeCmSdkReactNativeV3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","WebViewPosition","exports","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3","NativeModules","_default","default"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAoBA;AAAA,IASYC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAcfE,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAA,IAOnBC,eAAe,GAAAF,OAAA,CAAAE,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAMfC,SAAS,GAAAH,OAAA,CAAAG,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAqErB,MAAM;EAAEC;AAAmB,CAAC,GAAGC,0BAAa;AAAC,IAAAC,QAAA,GAAAN,OAAA,CAAAO,OAAA,GAE9BH,kBAAkB","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,22 +3,46 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
6
|
+
Object.defineProperty(exports, "ATTStatus", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _NativeCmSdkReactNativeV.ATTStatus;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.BackgroundStyle = void 0;
|
|
13
|
+
Object.defineProperty(exports, "BackgroundStyleType", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _NativeCmSdkReactNativeV.BackgroundStyleType;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "BlurEffectStyle", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _NativeCmSdkReactNativeV.BlurEffectStyle;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "WebViewPosition", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _NativeCmSdkReactNativeV.WebViewPosition;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
exports.setWebViewConfig = exports.setUrlConfig = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.importCMPInfo = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.addClickLinkListener = exports.addATTStatusChangeListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
|
|
7
32
|
var _reactNative = require("react-native");
|
|
8
|
-
var _NativeCmSdkReactNativeV =
|
|
9
|
-
function
|
|
33
|
+
var _NativeCmSdkReactNativeV = _interopRequireWildcard(require("./NativeCmSdkReactNativeV3.js"));
|
|
34
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
35
|
+
// Re-export enums/constants for consumers
|
|
36
|
+
|
|
10
37
|
const LINKING_ERROR = `The package 'react-native-cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
11
38
|
ios: "- You have run 'pod install'\n",
|
|
12
39
|
default: ''
|
|
13
40
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
14
|
-
|
|
15
|
-
// Use TurboModule if available (New Architecture), fallback to legacy NativeModules
|
|
16
|
-
const CmSdkReactNativeV3 = _NativeCmSdkReactNativeV.default ?? (_reactNative.NativeModules.CmSdkReactNativeV3 ? _reactNative.NativeModules.CmSdkReactNativeV3 : new Proxy({}, {
|
|
41
|
+
const CmSdkReactNativeV3 = _NativeCmSdkReactNativeV.default ?? _reactNative.NativeModules.CmSdkReactNativeV3 ?? new Proxy({}, {
|
|
17
42
|
get() {
|
|
18
43
|
throw new Error(LINKING_ERROR);
|
|
19
44
|
}
|
|
20
|
-
})
|
|
21
|
-
const isTurboModuleEnabled = exports.isTurboModuleEnabled = _NativeCmSdkReactNativeV.default != null;
|
|
45
|
+
});
|
|
22
46
|
const eventEmitter = new _reactNative.NativeEventEmitter(CmSdkReactNativeV3);
|
|
23
47
|
const addConsentListener = callback => {
|
|
24
48
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
@@ -57,10 +81,15 @@ const setUrlConfig = config => {
|
|
|
57
81
|
};
|
|
58
82
|
exports.setUrlConfig = setUrlConfig;
|
|
59
83
|
const setWebViewConfig = config => {
|
|
60
|
-
|
|
84
|
+
const normalized = normalizeWebViewConfig(config);
|
|
85
|
+
return CmSdkReactNativeV3.setWebViewConfig(normalized);
|
|
61
86
|
};
|
|
62
87
|
exports.setWebViewConfig = setWebViewConfig;
|
|
63
88
|
const setATTStatus = status => {
|
|
89
|
+
const allowed = new Set([_NativeCmSdkReactNativeV.ATTStatus.NotDetermined, _NativeCmSdkReactNativeV.ATTStatus.Restricted, _NativeCmSdkReactNativeV.ATTStatus.Denied, _NativeCmSdkReactNativeV.ATTStatus.Authorized]);
|
|
90
|
+
if (!allowed.has(status)) {
|
|
91
|
+
throw new Error(`[cm-sdk-react-native-v3] Invalid ATT status ${status}. Use ATTStatus enum (0–3 from Apple's ATTrackingManagerAuthorizationStatus).`);
|
|
92
|
+
}
|
|
64
93
|
return CmSdkReactNativeV3.setATTStatus(status);
|
|
65
94
|
};
|
|
66
95
|
|
|
@@ -79,7 +108,87 @@ exports.forceOpen = forceOpen;
|
|
|
79
108
|
const getUserStatus = () => {
|
|
80
109
|
return CmSdkReactNativeV3.getUserStatus();
|
|
81
110
|
};
|
|
111
|
+
|
|
112
|
+
// Helpers
|
|
82
113
|
exports.getUserStatus = getUserStatus;
|
|
114
|
+
const normalizeWebViewConfig = config => {
|
|
115
|
+
const position = config.position ?? _NativeCmSdkReactNativeV.WebViewPosition.FullScreen;
|
|
116
|
+
const allowedPositions = [_NativeCmSdkReactNativeV.WebViewPosition.FullScreen, _NativeCmSdkReactNativeV.WebViewPosition.HalfScreenTop, _NativeCmSdkReactNativeV.WebViewPosition.HalfScreenBottom, _NativeCmSdkReactNativeV.WebViewPosition.Custom];
|
|
117
|
+
if (!allowedPositions.includes(position)) {
|
|
118
|
+
throw new Error(`Invalid WebView position: ${position}`);
|
|
119
|
+
}
|
|
120
|
+
if (position === _NativeCmSdkReactNativeV.WebViewPosition.Custom) {
|
|
121
|
+
if (!config.customRect) {
|
|
122
|
+
throw new Error('customRect is required when position is "custom"');
|
|
123
|
+
}
|
|
124
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
125
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores customRect/position "custom"; it will fall back to full screen.');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const backgroundStyle = (() => {
|
|
129
|
+
if (!config.backgroundStyle) {
|
|
130
|
+
return {
|
|
131
|
+
type: _NativeCmSdkReactNativeV.BackgroundStyleType.Dimmed,
|
|
132
|
+
color: normalizeColor('black'),
|
|
133
|
+
opacity: 0.5
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
const {
|
|
137
|
+
type
|
|
138
|
+
} = config.backgroundStyle;
|
|
139
|
+
switch (type) {
|
|
140
|
+
case _NativeCmSdkReactNativeV.BackgroundStyleType.Dimmed:
|
|
141
|
+
return {
|
|
142
|
+
type,
|
|
143
|
+
color: normalizeColor(config.backgroundStyle.color ?? 'black'),
|
|
144
|
+
opacity: config.backgroundStyle.opacity ?? 0.5
|
|
145
|
+
};
|
|
146
|
+
case _NativeCmSdkReactNativeV.BackgroundStyleType.Color:
|
|
147
|
+
if (!config.backgroundStyle.color) throw new Error('color is required for backgroundStyle "color"');
|
|
148
|
+
return {
|
|
149
|
+
type,
|
|
150
|
+
color: normalizeColor(config.backgroundStyle.color)
|
|
151
|
+
};
|
|
152
|
+
case _NativeCmSdkReactNativeV.BackgroundStyleType.Blur:
|
|
153
|
+
{
|
|
154
|
+
const blurStyle = config.backgroundStyle.blurEffectStyle ?? (_reactNative.Platform.OS === 'ios' ? _NativeCmSdkReactNativeV.BlurEffectStyle.Dark : _NativeCmSdkReactNativeV.BlurEffectStyle.Dark);
|
|
155
|
+
if (blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.Dark && blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.Light && blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.ExtraLight) {
|
|
156
|
+
throw new Error(`Invalid blurEffectStyle: ${blurStyle}`);
|
|
157
|
+
}
|
|
158
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
159
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores blur backgrounds; using dimmed.');
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
type,
|
|
163
|
+
blurEffectStyle: blurStyle
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
case _NativeCmSdkReactNativeV.BackgroundStyleType.None:
|
|
167
|
+
return {
|
|
168
|
+
type
|
|
169
|
+
};
|
|
170
|
+
default:
|
|
171
|
+
throw new Error(`Invalid backgroundStyle type: ${config.backgroundStyle.type}`);
|
|
172
|
+
}
|
|
173
|
+
})();
|
|
174
|
+
if (_reactNative.Platform.OS === 'android' && config.backgroundStyle) {
|
|
175
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores backgroundStyle overrides; it always uses a dimmed background.');
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
position,
|
|
179
|
+
customRect: config.customRect,
|
|
180
|
+
cornerRadius: config.cornerRadius ?? 5,
|
|
181
|
+
respectsSafeArea: config.respectsSafeArea ?? true,
|
|
182
|
+
allowsOrientationChanges: config.allowsOrientationChanges ?? true,
|
|
183
|
+
backgroundStyle
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
const normalizeColor = color => {
|
|
187
|
+
if (color === undefined) return undefined;
|
|
188
|
+
const processed = (0, _reactNative.processColor)(color);
|
|
189
|
+
if (processed == null) throw new Error(`Invalid color value: ${color}`);
|
|
190
|
+
return processed;
|
|
191
|
+
};
|
|
83
192
|
const getStatusForPurpose = purposeId => {
|
|
84
193
|
return CmSdkReactNativeV3.getStatusForPurpose(purposeId);
|
|
85
194
|
};
|
|
@@ -130,28 +239,28 @@ const acceptAll = () => {
|
|
|
130
239
|
return CmSdkReactNativeV3.acceptAll();
|
|
131
240
|
};
|
|
132
241
|
|
|
133
|
-
//
|
|
242
|
+
// Re-export types for consumer convenience
|
|
134
243
|
exports.acceptAll = acceptAll;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
244
|
+
/**
|
|
245
|
+
* Helper factory to build strongly-typed background styles.
|
|
246
|
+
*/
|
|
247
|
+
const BackgroundStyle = exports.BackgroundStyle = {
|
|
248
|
+
dimmed: (color, opacity) => ({
|
|
249
|
+
type: _NativeCmSdkReactNativeV.BackgroundStyleType.Dimmed,
|
|
250
|
+
color,
|
|
251
|
+
opacity
|
|
252
|
+
}),
|
|
253
|
+
color: color => ({
|
|
254
|
+
type: _NativeCmSdkReactNativeV.BackgroundStyleType.Color,
|
|
255
|
+
color
|
|
256
|
+
}),
|
|
257
|
+
blur: (blurEffectStyle = _NativeCmSdkReactNativeV.BlurEffectStyle.Dark) => ({
|
|
258
|
+
type: _NativeCmSdkReactNativeV.BackgroundStyleType.Blur,
|
|
259
|
+
blurEffectStyle
|
|
260
|
+
}),
|
|
261
|
+
none: () => ({
|
|
262
|
+
type: _NativeCmSdkReactNativeV.BackgroundStyleType.None
|
|
263
|
+
})
|
|
152
264
|
};
|
|
153
|
-
|
|
154
|
-
// Re-export types for consumer convenience
|
|
155
|
-
exports.isNewArchitectureEnabled = isNewArchitectureEnabled;
|
|
156
265
|
var _default = exports.default = CmSdkReactNativeV3;
|
|
157
266
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","Error","eventEmitter","NativeEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","exports","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","normalized","normalizeWebViewConfig","setATTStatus","status","allowed","Set","ATTStatus","NotDetermined","Restricted","Denied","Authorized","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","position","WebViewPosition","FullScreen","allowedPositions","HalfScreenTop","HalfScreenBottom","Custom","includes","customRect","OS","console","warn","backgroundStyle","type","BackgroundStyleType","Dimmed","color","normalizeColor","opacity","Color","Blur","blurStyle","blurEffectStyle","BlurEffectStyle","Dark","Light","ExtraLight","None","cornerRadius","respectsSafeArea","allowsOrientationChanges","undefined","processed","processColor","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","BackgroundStyle","dimmed","blur","none","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { NativeModules } from 'react-native';
|
|
4
4
|
|
|
5
5
|
// Event payload types for better TypeScript support
|
|
6
6
|
|
|
7
7
|
// Additional type definitions for better TypeScript support
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export let WebViewPosition = /*#__PURE__*/function (WebViewPosition) {
|
|
10
|
+
WebViewPosition["FullScreen"] = "fullScreen";
|
|
11
|
+
WebViewPosition["HalfScreenTop"] = "halfScreenTop";
|
|
12
|
+
WebViewPosition["HalfScreenBottom"] = "halfScreenBottom";
|
|
13
|
+
WebViewPosition["Custom"] = "custom";
|
|
14
|
+
return WebViewPosition;
|
|
15
|
+
}({});
|
|
16
|
+
export let BackgroundStyleType = /*#__PURE__*/function (BackgroundStyleType) {
|
|
17
|
+
BackgroundStyleType["Dimmed"] = "dimmed";
|
|
18
|
+
BackgroundStyleType["Color"] = "color";
|
|
19
|
+
BackgroundStyleType["Blur"] = "blur";
|
|
20
|
+
BackgroundStyleType["None"] = "none";
|
|
21
|
+
return BackgroundStyleType;
|
|
22
|
+
}({});
|
|
23
|
+
export let BlurEffectStyle = /*#__PURE__*/function (BlurEffectStyle) {
|
|
24
|
+
BlurEffectStyle["Light"] = "light";
|
|
25
|
+
BlurEffectStyle["Dark"] = "dark";
|
|
26
|
+
BlurEffectStyle["ExtraLight"] = "extraLight";
|
|
27
|
+
return BlurEffectStyle;
|
|
28
|
+
}({});
|
|
29
|
+
export let ATTStatus = /*#__PURE__*/function (ATTStatus) {
|
|
30
|
+
ATTStatus[ATTStatus["NotDetermined"] = 0] = "NotDetermined";
|
|
31
|
+
ATTStatus[ATTStatus["Restricted"] = 1] = "Restricted";
|
|
32
|
+
ATTStatus[ATTStatus["Denied"] = 2] = "Denied";
|
|
33
|
+
ATTStatus[ATTStatus["Authorized"] = 3] = "Authorized";
|
|
34
|
+
return ATTStatus;
|
|
35
|
+
}({});
|
|
36
|
+
const {
|
|
37
|
+
CmSdkReactNativeV3
|
|
38
|
+
} = NativeModules;
|
|
39
|
+
export default CmSdkReactNativeV3;
|
|
10
40
|
//# sourceMappingURL=NativeCmSdkReactNativeV3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["NativeModules","WebViewPosition","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;;AAoBA;;AASA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAc3B,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAO/B,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAqErB,MAAM;EAAEC;AAAmB,CAAC,GAAGL,aAAa;AAE5C,eAAeK,kBAAkB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
|
|
4
|
-
import NativeCmSdkReactNativeV3 from "./NativeCmSdkReactNativeV3.js";
|
|
3
|
+
import { NativeModules, Platform, NativeEventEmitter, processColor } from 'react-native';
|
|
4
|
+
import NativeCmSdkReactNativeV3, { WebViewPosition, BackgroundStyleType, BlurEffectStyle, ATTStatus } from "./NativeCmSdkReactNativeV3.js";
|
|
5
|
+
|
|
6
|
+
// Re-export enums/constants for consumers
|
|
7
|
+
export { WebViewPosition, BackgroundStyleType, BlurEffectStyle, ATTStatus };
|
|
5
8
|
const LINKING_ERROR = `The package 'react-native-cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
6
9
|
ios: "- You have run 'pod install'\n",
|
|
7
10
|
default: ''
|
|
8
11
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
9
|
-
|
|
10
|
-
// Use TurboModule if available (New Architecture), fallback to legacy NativeModules
|
|
11
|
-
const CmSdkReactNativeV3 = NativeCmSdkReactNativeV3 ?? (NativeModules.CmSdkReactNativeV3 ? NativeModules.CmSdkReactNativeV3 : new Proxy({}, {
|
|
12
|
+
const CmSdkReactNativeV3 = NativeCmSdkReactNativeV3 ?? NativeModules.CmSdkReactNativeV3 ?? new Proxy({}, {
|
|
12
13
|
get() {
|
|
13
14
|
throw new Error(LINKING_ERROR);
|
|
14
15
|
}
|
|
15
|
-
})
|
|
16
|
-
export const isTurboModuleEnabled = NativeCmSdkReactNativeV3 != null;
|
|
16
|
+
});
|
|
17
17
|
const eventEmitter = new NativeEventEmitter(CmSdkReactNativeV3);
|
|
18
18
|
export const addConsentListener = callback => {
|
|
19
19
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
@@ -45,9 +45,14 @@ export const setUrlConfig = config => {
|
|
|
45
45
|
return CmSdkReactNativeV3.setUrlConfig(config);
|
|
46
46
|
};
|
|
47
47
|
export const setWebViewConfig = config => {
|
|
48
|
-
|
|
48
|
+
const normalized = normalizeWebViewConfig(config);
|
|
49
|
+
return CmSdkReactNativeV3.setWebViewConfig(normalized);
|
|
49
50
|
};
|
|
50
51
|
export const setATTStatus = status => {
|
|
52
|
+
const allowed = new Set([ATTStatus.NotDetermined, ATTStatus.Restricted, ATTStatus.Denied, ATTStatus.Authorized]);
|
|
53
|
+
if (!allowed.has(status)) {
|
|
54
|
+
throw new Error(`[cm-sdk-react-native-v3] Invalid ATT status ${status}. Use ATTStatus enum (0–3 from Apple's ATTrackingManagerAuthorizationStatus).`);
|
|
55
|
+
}
|
|
51
56
|
return CmSdkReactNativeV3.setATTStatus(status);
|
|
52
57
|
};
|
|
53
58
|
|
|
@@ -63,6 +68,86 @@ export const forceOpen = jumpToSettings => {
|
|
|
63
68
|
export const getUserStatus = () => {
|
|
64
69
|
return CmSdkReactNativeV3.getUserStatus();
|
|
65
70
|
};
|
|
71
|
+
|
|
72
|
+
// Helpers
|
|
73
|
+
const normalizeWebViewConfig = config => {
|
|
74
|
+
const position = config.position ?? WebViewPosition.FullScreen;
|
|
75
|
+
const allowedPositions = [WebViewPosition.FullScreen, WebViewPosition.HalfScreenTop, WebViewPosition.HalfScreenBottom, WebViewPosition.Custom];
|
|
76
|
+
if (!allowedPositions.includes(position)) {
|
|
77
|
+
throw new Error(`Invalid WebView position: ${position}`);
|
|
78
|
+
}
|
|
79
|
+
if (position === WebViewPosition.Custom) {
|
|
80
|
+
if (!config.customRect) {
|
|
81
|
+
throw new Error('customRect is required when position is "custom"');
|
|
82
|
+
}
|
|
83
|
+
if (Platform.OS === 'android') {
|
|
84
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores customRect/position "custom"; it will fall back to full screen.');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const backgroundStyle = (() => {
|
|
88
|
+
if (!config.backgroundStyle) {
|
|
89
|
+
return {
|
|
90
|
+
type: BackgroundStyleType.Dimmed,
|
|
91
|
+
color: normalizeColor('black'),
|
|
92
|
+
opacity: 0.5
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const {
|
|
96
|
+
type
|
|
97
|
+
} = config.backgroundStyle;
|
|
98
|
+
switch (type) {
|
|
99
|
+
case BackgroundStyleType.Dimmed:
|
|
100
|
+
return {
|
|
101
|
+
type,
|
|
102
|
+
color: normalizeColor(config.backgroundStyle.color ?? 'black'),
|
|
103
|
+
opacity: config.backgroundStyle.opacity ?? 0.5
|
|
104
|
+
};
|
|
105
|
+
case BackgroundStyleType.Color:
|
|
106
|
+
if (!config.backgroundStyle.color) throw new Error('color is required for backgroundStyle "color"');
|
|
107
|
+
return {
|
|
108
|
+
type,
|
|
109
|
+
color: normalizeColor(config.backgroundStyle.color)
|
|
110
|
+
};
|
|
111
|
+
case BackgroundStyleType.Blur:
|
|
112
|
+
{
|
|
113
|
+
const blurStyle = config.backgroundStyle.blurEffectStyle ?? (Platform.OS === 'ios' ? BlurEffectStyle.Dark : BlurEffectStyle.Dark);
|
|
114
|
+
if (blurStyle !== BlurEffectStyle.Dark && blurStyle !== BlurEffectStyle.Light && blurStyle !== BlurEffectStyle.ExtraLight) {
|
|
115
|
+
throw new Error(`Invalid blurEffectStyle: ${blurStyle}`);
|
|
116
|
+
}
|
|
117
|
+
if (Platform.OS === 'android') {
|
|
118
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores blur backgrounds; using dimmed.');
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
type,
|
|
122
|
+
blurEffectStyle: blurStyle
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
case BackgroundStyleType.None:
|
|
126
|
+
return {
|
|
127
|
+
type
|
|
128
|
+
};
|
|
129
|
+
default:
|
|
130
|
+
throw new Error(`Invalid backgroundStyle type: ${config.backgroundStyle.type}`);
|
|
131
|
+
}
|
|
132
|
+
})();
|
|
133
|
+
if (Platform.OS === 'android' && config.backgroundStyle) {
|
|
134
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores backgroundStyle overrides; it always uses a dimmed background.');
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
position,
|
|
138
|
+
customRect: config.customRect,
|
|
139
|
+
cornerRadius: config.cornerRadius ?? 5,
|
|
140
|
+
respectsSafeArea: config.respectsSafeArea ?? true,
|
|
141
|
+
allowsOrientationChanges: config.allowsOrientationChanges ?? true,
|
|
142
|
+
backgroundStyle
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
const normalizeColor = color => {
|
|
146
|
+
if (color === undefined) return undefined;
|
|
147
|
+
const processed = processColor(color);
|
|
148
|
+
if (processed == null) throw new Error(`Invalid color value: ${color}`);
|
|
149
|
+
return processed;
|
|
150
|
+
};
|
|
66
151
|
export const getStatusForPurpose = purposeId => {
|
|
67
152
|
return CmSdkReactNativeV3.getStatusForPurpose(purposeId);
|
|
68
153
|
};
|
|
@@ -102,27 +187,28 @@ export const acceptAll = () => {
|
|
|
102
187
|
return CmSdkReactNativeV3.acceptAll();
|
|
103
188
|
};
|
|
104
189
|
|
|
105
|
-
// Helper function to check if New Architecture is enabled
|
|
106
|
-
export const isNewArchitectureEnabled = () => {
|
|
107
|
-
// Check multiple indicators for New Architecture
|
|
108
|
-
// 1. Check if our module was loaded via TurboModuleRegistry
|
|
109
|
-
if (NativeCmSdkReactNativeV3 != null) {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// 2. Check for bridgeless mode (official RN flag)
|
|
114
|
-
if (global.RN$Bridgeless === true) {
|
|
115
|
-
return true;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// 3. Check for TurboModule interop flag
|
|
119
|
-
if (global.RN$TurboInterop === true) {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
return false;
|
|
123
|
-
};
|
|
124
|
-
|
|
125
190
|
// Re-export types for consumer convenience
|
|
126
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Helper factory to build strongly-typed background styles.
|
|
194
|
+
*/
|
|
195
|
+
export const BackgroundStyle = {
|
|
196
|
+
dimmed: (color, opacity) => ({
|
|
197
|
+
type: BackgroundStyleType.Dimmed,
|
|
198
|
+
color,
|
|
199
|
+
opacity
|
|
200
|
+
}),
|
|
201
|
+
color: color => ({
|
|
202
|
+
type: BackgroundStyleType.Color,
|
|
203
|
+
color
|
|
204
|
+
}),
|
|
205
|
+
blur: (blurEffectStyle = BlurEffectStyle.Dark) => ({
|
|
206
|
+
type: BackgroundStyleType.Blur,
|
|
207
|
+
blurEffectStyle
|
|
208
|
+
}),
|
|
209
|
+
none: () => ({
|
|
210
|
+
type: BackgroundStyleType.None
|
|
211
|
+
})
|
|
212
|
+
};
|
|
127
213
|
export default CmSdkReactNativeV3;
|
|
128
214
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","NativeCmSdkReactNativeV3","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","processColor","NativeCmSdkReactNativeV3","WebViewPosition","BackgroundStyleType","BlurEffectStyle","ATTStatus","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","eventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","normalized","normalizeWebViewConfig","setATTStatus","status","allowed","Set","NotDetermined","Restricted","Denied","Authorized","has","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","position","FullScreen","allowedPositions","HalfScreenTop","HalfScreenBottom","Custom","includes","customRect","OS","console","warn","backgroundStyle","type","Dimmed","color","normalizeColor","opacity","Color","Blur","blurStyle","blurEffectStyle","Dark","Light","ExtraLight","None","cornerRadius","respectsSafeArea","allowsOrientationChanges","undefined","processed","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","BackgroundStyle","dimmed","blur","none"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|