react-native-usesense 2.1.0 → 2.2.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/android/build.gradle +1 -1
- package/android/src/main/java/com/usesense/reactnative/UseSenseFlowsModule.kt +27 -1
- package/ios/UseSenseFlowsModule.m +7 -3
- package/ios/UseSenseFlowsModule.swift +14 -3
- package/lib/commonjs/flows.js +29 -1
- package/lib/commonjs/flows.js.map +1 -1
- package/lib/module/flows.js +29 -1
- package/lib/module/flows.js.map +1 -1
- package/lib/module/index.js +5 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/flows.d.ts +166 -0
- package/lib/typescript/src/flows.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-usesense.podspec +1 -1
- package/src/flows.ts +153 -1
- package/src/index.ts +9 -0
package/android/build.gradle
CHANGED
|
@@ -41,7 +41,7 @@ dependencies {
|
|
|
41
41
|
// the iOS SDK 4.3.0 the plugin's podspec depends on). mavenCentral()
|
|
42
42
|
// is already in the `repositories` block above, so no custom
|
|
43
43
|
// repository declaration is needed.
|
|
44
|
-
implementation "ai.usesense:sdk:4.
|
|
44
|
+
implementation "ai.usesense:sdk:4.5.0"
|
|
45
45
|
|
|
46
46
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:${safeExtGet('kotlinVersion', '2.0.0')}"
|
|
47
47
|
}
|
|
@@ -5,12 +5,16 @@ import com.facebook.react.bridge.Promise
|
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
7
7
|
import com.facebook.react.bridge.ReactMethod
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap
|
|
9
|
+
import com.usesense.sdk.flows.FlowAppearance
|
|
10
|
+
import com.usesense.sdk.flows.FlowCopy
|
|
8
11
|
import com.usesense.sdk.flows.FlowError
|
|
9
12
|
import com.usesense.sdk.flows.FlowOutcome
|
|
10
13
|
import com.usesense.sdk.flows.FlowRunResult
|
|
11
14
|
import com.usesense.sdk.flows.FlowRunState
|
|
12
15
|
import com.usesense.sdk.flows.FlowsCallback
|
|
13
16
|
import com.usesense.sdk.flows.UseSenseFlows
|
|
17
|
+
import org.json.JSONObject
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
20
|
* React Native bridge for the UseSense Android Flows runner.
|
|
@@ -30,7 +34,14 @@ class UseSenseFlowsModule(private val reactContext: ReactApplicationContext) :
|
|
|
30
34
|
override fun getName(): String = "UseSenseFlowsModule"
|
|
31
35
|
|
|
32
36
|
@ReactMethod
|
|
33
|
-
fun runFlow(
|
|
37
|
+
fun runFlow(
|
|
38
|
+
flowRunId: String?,
|
|
39
|
+
sdkToken: String?,
|
|
40
|
+
apiBaseUrl: String?,
|
|
41
|
+
appearance: ReadableMap?,
|
|
42
|
+
copy: ReadableMap?,
|
|
43
|
+
promise: Promise,
|
|
44
|
+
) {
|
|
34
45
|
if (flowRunId.isNullOrEmpty() || sdkToken.isNullOrEmpty()) {
|
|
35
46
|
promise.reject("unknown", "flowRunId and sdkToken are required")
|
|
36
47
|
return
|
|
@@ -41,6 +52,12 @@ class UseSenseFlowsModule(private val reactContext: ReactApplicationContext) :
|
|
|
41
52
|
}
|
|
42
53
|
val baseUrl = apiBaseUrl ?: "https://api.usesense.ai"
|
|
43
54
|
|
|
55
|
+
// White-label maps are forwarded raw from JS (camelCase, matching the
|
|
56
|
+
// web contract). Decode them via the SDK; a malformed payload degrades
|
|
57
|
+
// to null (built-in tokens) rather than failing the run.
|
|
58
|
+
val resolvedAppearance = appearance?.let { runCatching { FlowAppearance.decode(it.toJSONObject()) }.getOrNull() }
|
|
59
|
+
val resolvedCopy = copy?.let { runCatching { FlowCopy.decode(it.toJSONObject()) }.getOrNull() }
|
|
60
|
+
|
|
44
61
|
val callback = object : FlowsCallback {
|
|
45
62
|
override fun onResult(result: FlowRunResult) {
|
|
46
63
|
val map = Arguments.createMap().apply {
|
|
@@ -64,9 +81,18 @@ class UseSenseFlowsModule(private val reactContext: ReactApplicationContext) :
|
|
|
64
81
|
sdkToken = sdkToken,
|
|
65
82
|
callback = callback,
|
|
66
83
|
apiBaseUrl = baseUrl,
|
|
84
|
+
appearance = resolvedAppearance,
|
|
85
|
+
copy = resolvedCopy,
|
|
67
86
|
)
|
|
68
87
|
}
|
|
69
88
|
|
|
70
89
|
private fun stateWire(state: FlowRunState): String = state.wire
|
|
71
90
|
private fun outcomeWire(outcome: FlowOutcome): String = outcome.wire
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Convert a React Native [ReadableMap] to an [org.json.JSONObject] so the
|
|
94
|
+
* SDK's `decode(JSONObject)` can read it. `toHashMap()` yields nested
|
|
95
|
+
* HashMap / ArrayList values, which `JSONObject(Map)` walks recursively.
|
|
96
|
+
*/
|
|
97
|
+
private fun ReadableMap.toJSONObject(): JSONObject = JSONObject(this.toHashMap() as Map<*, *>)
|
|
72
98
|
}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
#import <React/RCTBridgeModule.h>
|
|
2
2
|
|
|
3
3
|
// Bridging header for the Flows runner module. Single JS-callable method:
|
|
4
|
-
// runFlow(flowRunId, sdkToken, apiBaseUrl?). The apiBaseUrl
|
|
5
|
-
// nullable from JS — pass `null` (or omit, since the JS wrapper
|
|
6
|
-
// default) and the native side falls back to https://api.usesense.ai.
|
|
4
|
+
// runFlow(flowRunId, sdkToken, apiBaseUrl?, appearance?, copy?). The apiBaseUrl
|
|
5
|
+
// parameter is nullable from JS — pass `null` (or omit, since the JS wrapper
|
|
6
|
+
// supplies a default) and the native side falls back to https://api.usesense.ai.
|
|
7
|
+
// `appearance` / `copy` are nullable JS objects (the white-label contract);
|
|
8
|
+
// when non-null they're decoded by FlowAppearance/FlowCopy.decodeFromJSONObject.
|
|
7
9
|
@interface RCT_EXTERN_MODULE(UseSenseFlowsModule, NSObject)
|
|
8
10
|
|
|
9
11
|
RCT_EXTERN_METHOD(runFlow:(NSString *)flowRunId
|
|
10
12
|
sdkToken:(NSString *)sdkToken
|
|
11
13
|
apiBaseUrl:(NSString * _Nullable)apiBaseUrl
|
|
14
|
+
appearance:(NSDictionary * _Nullable)appearance
|
|
15
|
+
copy:(NSDictionary * _Nullable)copy
|
|
12
16
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
13
17
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
14
18
|
|
|
@@ -23,13 +23,20 @@ class UseSenseFlowsModule: NSObject {
|
|
|
23
23
|
return false
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
/// `runFlow(flowRunId, sdkToken, apiBaseUrl?, resolve,
|
|
27
|
-
/// The SDK takes care of presentation; we just resolve
|
|
28
|
-
/// reaches a terminal state.
|
|
26
|
+
/// `runFlow(flowRunId, sdkToken, apiBaseUrl?, appearance?, copy?, resolve,
|
|
27
|
+
/// reject)` — Promise. The SDK takes care of presentation; we just resolve
|
|
28
|
+
/// when the run reaches a terminal state.
|
|
29
|
+
///
|
|
30
|
+
/// `appearance` / `copy` are the optional white-label maps forwarded raw
|
|
31
|
+
/// from JS (camelCase, matching the web contract). We decode them via the
|
|
32
|
+
/// SDK's `decodeFromJSONObject`, which degrades a malformed payload to nil
|
|
33
|
+
/// (built-in tokens) rather than failing the run.
|
|
29
34
|
@objc
|
|
30
35
|
func runFlow(_ flowRunId: String,
|
|
31
36
|
sdkToken: String,
|
|
32
37
|
apiBaseUrl: String?,
|
|
38
|
+
appearance: NSDictionary?,
|
|
39
|
+
copy: NSDictionary?,
|
|
33
40
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
34
41
|
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
35
42
|
let baseString = apiBaseUrl ?? "https://api.usesense.ai"
|
|
@@ -37,6 +44,8 @@ class UseSenseFlowsModule: NSObject {
|
|
|
37
44
|
reject("unknown", "Invalid apiBaseUrl: \(baseString)", nil)
|
|
38
45
|
return
|
|
39
46
|
}
|
|
47
|
+
let resolvedAppearance = (appearance as? [String: Any]).flatMap(FlowAppearance.decodeFromJSONObject)
|
|
48
|
+
let resolvedCopy = (copy as? [String: Any]).flatMap(FlowCopy.decodeFromJSONObject)
|
|
40
49
|
DispatchQueue.main.async {
|
|
41
50
|
guard let presenter = Self.topViewController() else {
|
|
42
51
|
reject("unknown", "No view controller to present from", nil)
|
|
@@ -46,6 +55,8 @@ class UseSenseFlowsModule: NSObject {
|
|
|
46
55
|
flowRunId: flowRunId,
|
|
47
56
|
sdkToken: sdkToken,
|
|
48
57
|
apiBaseURL: baseURL,
|
|
58
|
+
appearance: resolvedAppearance,
|
|
59
|
+
copy: resolvedCopy,
|
|
49
60
|
from: presenter
|
|
50
61
|
) { runResult in
|
|
51
62
|
switch runResult {
|
package/lib/commonjs/flows.js
CHANGED
|
@@ -72,6 +72,34 @@ class FlowError extends Error {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
// ─── White-label contract (mirrors the web SDK) ───────────────────────────
|
|
76
|
+
//
|
|
77
|
+
// FlowAppearance + FlowCopy are the shared customization schemas (Phase 1 +
|
|
78
|
+
// Phase 2 of the white-label initiative). They mirror the web SDK contract
|
|
79
|
+
// (packages/sdk/src/flows/theme.ts + copy.ts) one-to-one with camelCase keys.
|
|
80
|
+
// The RN bridge forwards the raw object across to the native iOS/Android
|
|
81
|
+
// runner, which decodes it (FlowAppearance/FlowCopy.decodeFromJSONObject).
|
|
82
|
+
// Everything is optional; an omitted key falls back to the hosted-page tokens.
|
|
83
|
+
|
|
84
|
+
/** A palette layer. `dark` overrides apply only in dark mode. */
|
|
85
|
+
|
|
86
|
+
/** Custom illustration/icon overrides (image URLs replacing built-in glyphs). */
|
|
87
|
+
|
|
88
|
+
/** Loading animation: a built-in preset or a custom asset. */
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* White-label appearance overrides for the Flow runner. Supplied at SDK init
|
|
92
|
+
* (this option) and merged over the operator's server-delivered branding by
|
|
93
|
+
* the native runner. Mirrors `FlowAppearance` in the web SDK.
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* White-label copy overrides for the Flow runner. Every subject-facing string
|
|
98
|
+
* can be overridden; an omitted key keeps the built-in copy. Supplied at SDK
|
|
99
|
+
* init and merged over the operator's server-delivered copy by the native
|
|
100
|
+
* runner. Mirrors `FlowCopy` in the web SDK.
|
|
101
|
+
*/
|
|
102
|
+
|
|
75
103
|
/** Options for `UseSenseFlows.runFlow`. */
|
|
76
104
|
exports.FlowError = FlowError;
|
|
77
105
|
/**
|
|
@@ -87,7 +115,7 @@ const UseSenseFlows = exports.UseSenseFlows = {
|
|
|
87
115
|
*/
|
|
88
116
|
async runFlow(options) {
|
|
89
117
|
try {
|
|
90
|
-
const native = await nativeModule().runFlow(options.flowRunId, options.sdkToken, options.apiBaseUrl ?? null);
|
|
118
|
+
const native = await nativeModule().runFlow(options.flowRunId, options.sdkToken, options.apiBaseUrl ?? null, options.appearance ?? null, options.copy ?? null);
|
|
91
119
|
return {
|
|
92
120
|
flowRunId: native.flowRunId,
|
|
93
121
|
state: native.state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","android","default","nativeModule","m","NativeModules","UseSenseFlowsModule","Error","FLOW_ERROR_CODES","normaliseCode","code","includes","FlowError","constructor","message","name","exports","UseSenseFlows","runFlow","options","native","flowRunId","sdkToken","apiBaseUrl","state","outcome","e"],"sourceRoot":"../../src","sources":["flows.ts"],"mappings":";;;;;;AAqBA,IAAAA,YAAA,GAAAC,OAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMC,aAAa,GACjB,0EAA0E,GAC1EC,qBAAQ,CAACC,MAAM,CAAC;EACdC,GAAG,EAAE,yDAAyD;EAC9DC,OAAO,EAAE,wDAAwD;EACjEC,OAAO,EAAE;AACX,CAAC,CAAC;;AAEJ;AACA;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,MAAMC,CAAC,GAAGC,0BAAa,CAACC,mBAAmB;EAC3C,IAAI,CAACF,CAAC,EAAE,MAAM,IAAIG,KAAK,CAACV,aAAa,CAAC;EACtC,OAAOO,CAAC;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","android","default","nativeModule","m","NativeModules","UseSenseFlowsModule","Error","FLOW_ERROR_CODES","normaliseCode","code","includes","FlowError","constructor","message","name","exports","UseSenseFlows","runFlow","options","native","flowRunId","sdkToken","apiBaseUrl","appearance","copy","state","outcome","e"],"sourceRoot":"../../src","sources":["flows.ts"],"mappings":";;;;;;AAqBA,IAAAA,YAAA,GAAAC,OAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMC,aAAa,GACjB,0EAA0E,GAC1EC,qBAAQ,CAACC,MAAM,CAAC;EACdC,GAAG,EAAE,yDAAyD;EAC9DC,OAAO,EAAE,wDAAwD;EACjEC,OAAO,EAAE;AACX,CAAC,CAAC;;AAEJ;AACA;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,MAAMC,CAAC,GAAGC,0BAAa,CAACC,mBAAmB;EAC3C,IAAI,CAACF,CAAC,EAAE,MAAM,IAAIG,KAAK,CAACV,aAAa,CAAC;EACtC,OAAOO,CAAC;AASV;;AAEA;AACA;AACA;AACA;;AAWA;;AAGA;AACA;AACA;AACA;;AAeA,MAAMI,gBAA0C,GAAG,CACjD,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,SAAS,CACD;AAEV,SAASC,aAAaA,CAACC,IAAa,EAAiB;EACnD,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAKF,gBAAgB,CAAuBG,QAAQ,CAACD,IAAI,CAAC,GACpFA,IAAI,GACL,SAAS;AACf;;AAEA;;AAaA;AACA;AACA;AACA;AACA;AACO,MAAME,SAAS,SAASL,KAAK,CAAC;EAEnCM,WAAWA,CAACH,IAAmB,EAAEI,OAAe,EAAE;IAChD,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACL,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAkCA;;AASA;;AAQA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;;AA8CA;AAAAM,OAAA,CAAAJ,SAAA,GAAAA,SAAA;AAoBA;AACA;AACA;AACA;AACO,MAAMK,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG;EAC3B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,OAAOA,CAACC,OAAuB,EAA0B;IAC7D,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMjB,YAAY,CAAC,CAAC,CAACe,OAAO,CACzCC,OAAO,CAACE,SAAS,EACjBF,OAAO,CAACG,QAAQ,EAChBH,OAAO,CAACI,UAAU,IAAI,IAAI,EAC1BJ,OAAO,CAACK,UAAU,IAAI,IAAI,EAC1BL,OAAO,CAACM,IAAI,IAAI,IAClB,CAAC;MACD,OAAO;QACLJ,SAAS,EAAED,MAAM,CAACC,SAAS;QAC3BK,KAAK,EAAEN,MAAM,CAACM,KAAK;QACnBC,OAAO,EAAEP,MAAM,CAACO;MAClB,CAAC;IACH,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV;MACA;MACA,MAAMlB,IAAI,GAAGD,aAAa,CAAEmB,CAAC,CAAuBlB,IAAI,CAAC;MACzD,MAAMI,OAAO,GAAIc,CAAC,CAA0Bd,OAAO,IAAI,aAAa;MACpE,MAAM,IAAIF,SAAS,CAACF,IAAI,EAAEI,OAAO,CAAC;IACpC;EACF;AACF,CAAC","ignoreList":[]}
|
package/lib/module/flows.js
CHANGED
|
@@ -66,6 +66,34 @@ export class FlowError extends Error {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
// ─── White-label contract (mirrors the web SDK) ───────────────────────────
|
|
70
|
+
//
|
|
71
|
+
// FlowAppearance + FlowCopy are the shared customization schemas (Phase 1 +
|
|
72
|
+
// Phase 2 of the white-label initiative). They mirror the web SDK contract
|
|
73
|
+
// (packages/sdk/src/flows/theme.ts + copy.ts) one-to-one with camelCase keys.
|
|
74
|
+
// The RN bridge forwards the raw object across to the native iOS/Android
|
|
75
|
+
// runner, which decodes it (FlowAppearance/FlowCopy.decodeFromJSONObject).
|
|
76
|
+
// Everything is optional; an omitted key falls back to the hosted-page tokens.
|
|
77
|
+
|
|
78
|
+
/** A palette layer. `dark` overrides apply only in dark mode. */
|
|
79
|
+
|
|
80
|
+
/** Custom illustration/icon overrides (image URLs replacing built-in glyphs). */
|
|
81
|
+
|
|
82
|
+
/** Loading animation: a built-in preset or a custom asset. */
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* White-label appearance overrides for the Flow runner. Supplied at SDK init
|
|
86
|
+
* (this option) and merged over the operator's server-delivered branding by
|
|
87
|
+
* the native runner. Mirrors `FlowAppearance` in the web SDK.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* White-label copy overrides for the Flow runner. Every subject-facing string
|
|
92
|
+
* can be overridden; an omitted key keeps the built-in copy. Supplied at SDK
|
|
93
|
+
* init and merged over the operator's server-delivered copy by the native
|
|
94
|
+
* runner. Mirrors `FlowCopy` in the web SDK.
|
|
95
|
+
*/
|
|
96
|
+
|
|
69
97
|
/** Options for `UseSenseFlows.runFlow`. */
|
|
70
98
|
|
|
71
99
|
/**
|
|
@@ -81,7 +109,7 @@ export const UseSenseFlows = {
|
|
|
81
109
|
*/
|
|
82
110
|
async runFlow(options) {
|
|
83
111
|
try {
|
|
84
|
-
const native = await nativeModule().runFlow(options.flowRunId, options.sdkToken, options.apiBaseUrl ?? null);
|
|
112
|
+
const native = await nativeModule().runFlow(options.flowRunId, options.sdkToken, options.apiBaseUrl ?? null, options.appearance ?? null, options.copy ?? null);
|
|
85
113
|
return {
|
|
86
114
|
flowRunId: native.flowRunId,
|
|
87
115
|
state: native.state,
|
package/lib/module/flows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","android","default","nativeModule","m","UseSenseFlowsModule","Error","FLOW_ERROR_CODES","normaliseCode","code","includes","FlowError","constructor","message","name","UseSenseFlows","runFlow","options","native","flowRunId","sdkToken","apiBaseUrl","state","outcome","e"],"sourceRoot":"../../src","sources":["flows.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,0EAA0E,GAC1ED,QAAQ,CAACE,MAAM,CAAC;EACdC,GAAG,EAAE,yDAAyD;EAC9DC,OAAO,EAAE,wDAAwD;EACjEC,OAAO,EAAE;AACX,CAAC,CAAC;;AAEJ;AACA;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,MAAMC,CAAC,GAAGR,aAAa,CAACS,mBAAmB;EAC3C,IAAI,CAACD,CAAC,EAAE,MAAM,IAAIE,KAAK,CAACR,aAAa,CAAC;EACtC,OAAOM,CAAC;
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","android","default","nativeModule","m","UseSenseFlowsModule","Error","FLOW_ERROR_CODES","normaliseCode","code","includes","FlowError","constructor","message","name","UseSenseFlows","runFlow","options","native","flowRunId","sdkToken","apiBaseUrl","appearance","copy","state","outcome","e"],"sourceRoot":"../../src","sources":["flows.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,0EAA0E,GAC1ED,QAAQ,CAACE,MAAM,CAAC;EACdC,GAAG,EAAE,yDAAyD;EAC9DC,OAAO,EAAE,wDAAwD;EACjEC,OAAO,EAAE;AACX,CAAC,CAAC;;AAEJ;AACA;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,MAAMC,CAAC,GAAGR,aAAa,CAACS,mBAAmB;EAC3C,IAAI,CAACD,CAAC,EAAE,MAAM,IAAIE,KAAK,CAACR,aAAa,CAAC;EACtC,OAAOM,CAAC;AASV;;AAEA;AACA;AACA;AACA;;AAWA;;AAGA;AACA;AACA;AACA;;AAeA,MAAMG,gBAA0C,GAAG,CACjD,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,SAAS,CACD;AAEV,SAASC,aAAaA,CAACC,IAAa,EAAiB;EACnD,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAKF,gBAAgB,CAAuBG,QAAQ,CAACD,IAAI,CAAC,GACpFA,IAAI,GACL,SAAS;AACf;;AAEA;;AAaA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,SAAS,SAASL,KAAK,CAAC;EAEnCM,WAAWA,CAACH,IAAmB,EAAEI,OAAe,EAAE;IAChD,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACL,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAkCA;;AASA;;AAQA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;;AA8CA;;AAoBA;AACA;AACA;AACA;AACA,OAAO,MAAMM,aAAa,GAAG;EAC3B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,OAAOA,CAACC,OAAuB,EAA0B;IAC7D,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMf,YAAY,CAAC,CAAC,CAACa,OAAO,CACzCC,OAAO,CAACE,SAAS,EACjBF,OAAO,CAACG,QAAQ,EAChBH,OAAO,CAACI,UAAU,IAAI,IAAI,EAC1BJ,OAAO,CAACK,UAAU,IAAI,IAAI,EAC1BL,OAAO,CAACM,IAAI,IAAI,IAClB,CAAC;MACD,OAAO;QACLJ,SAAS,EAAED,MAAM,CAACC,SAAS;QAC3BK,KAAK,EAAEN,MAAM,CAACM,KAAK;QACnBC,OAAO,EAAEP,MAAM,CAACO;MAClB,CAAC;IACH,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV;MACA;MACA,MAAMjB,IAAI,GAAGD,aAAa,CAAEkB,CAAC,CAAuBjB,IAAI,CAAC;MACzD,MAAMI,OAAO,GAAIa,CAAC,CAA0Bb,OAAO,IAAI,aAAa;MACpE,MAAM,IAAIF,SAAS,CAACF,IAAI,EAAEI,OAAO,CAAC;IACpC;EACF;AACF,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -231,5 +231,9 @@ export default UseSense;
|
|
|
231
231
|
|
|
232
232
|
// Slice 5d: Flows. A parallel surface to Sessions — host apps choose one
|
|
233
233
|
// per call. See guides/flows/sessions-vs-flows in the API docs.
|
|
234
|
-
export { UseSenseFlows, FlowError
|
|
234
|
+
export { UseSenseFlows, FlowError
|
|
235
|
+
|
|
236
|
+
// White-label contract (Phase 1 appearance + Phase 2 copy). Forwarded to the
|
|
237
|
+
// native runner via the bridge.
|
|
238
|
+
} from './flows';
|
|
235
239
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","android","default","UseSenseModule","Error","eventEmitter","UseSense","initialize","config","apiKey","err","code","message","isRetryable","environment","apiEndpoint","branding","antispoofOnDeviceEnabled","liveSenseV4Enabled","startVerification","request","sessionType","externalUserId","identityId","metadata","addListener","callback","subscription","raw","remove","reset","isInitialized","startV4Verification","sessionId","sessionToken","nonce","apiBaseUrl","displayName","brandPrimaryColor","UseSenseFlows","FlowError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","android","default","UseSenseModule","Error","eventEmitter","UseSense","initialize","config","apiKey","err","code","message","isRetryable","environment","apiEndpoint","branding","antispoofOnDeviceEnabled","liveSenseV4Enabled","startVerification","request","sessionType","externalUserId","identityId","metadata","addListener","callback","subscription","raw","remove","reset","isInitialized","startV4Verification","sessionId","sessionToken","nonce","apiBaseUrl","displayName","brandPrimaryColor","UseSenseFlows","FlowError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,12 +49,178 @@ export declare class FlowError extends Error {
|
|
|
49
49
|
readonly code: FlowErrorCode;
|
|
50
50
|
constructor(code: FlowErrorCode, message: string);
|
|
51
51
|
}
|
|
52
|
+
/** A palette layer. `dark` overrides apply only in dark mode. */
|
|
53
|
+
export interface AppearanceColors {
|
|
54
|
+
primary?: string;
|
|
55
|
+
primaryForeground?: string;
|
|
56
|
+
background?: string;
|
|
57
|
+
surface?: string;
|
|
58
|
+
foreground?: string;
|
|
59
|
+
muted?: string;
|
|
60
|
+
border?: string;
|
|
61
|
+
success?: string;
|
|
62
|
+
error?: string;
|
|
63
|
+
warning?: string;
|
|
64
|
+
/** Overrides applied on top of the dark base (e.g. a darker background). */
|
|
65
|
+
dark?: Omit<AppearanceColors, 'dark'>;
|
|
66
|
+
}
|
|
67
|
+
export interface AppearanceTypography {
|
|
68
|
+
/** Body font-family name (e.g. "DM Sans"). */
|
|
69
|
+
fontFamily?: string;
|
|
70
|
+
/** Heading/display font-family; defaults to fontFamily when omitted. */
|
|
71
|
+
displayFamily?: string;
|
|
72
|
+
/** A stylesheet URL or @font-face block to load custom fonts (web only;
|
|
73
|
+
* ignored by the native runners, which load fonts from app resources). */
|
|
74
|
+
fontCss?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface AppearanceShape {
|
|
77
|
+
/** Base corner radius (cards, inputs). */
|
|
78
|
+
radius?: number;
|
|
79
|
+
/** Button corner radius; defaults to radius. */
|
|
80
|
+
buttonRadius?: number;
|
|
81
|
+
buttonStyle?: 'filled' | 'outline';
|
|
82
|
+
}
|
|
83
|
+
/** Custom illustration/icon overrides (image URLs replacing built-in glyphs). */
|
|
84
|
+
export interface AppearanceIcons {
|
|
85
|
+
/** Success result screen. */ success?: string;
|
|
86
|
+
/** Under-review result screen. */ review?: string;
|
|
87
|
+
/** Not-verified result screen. */ notVerified?: string;
|
|
88
|
+
/** Any other named slot by URL. */
|
|
89
|
+
[slot: string]: string | undefined;
|
|
90
|
+
}
|
|
91
|
+
/** Loading animation: a built-in preset or a custom asset. */
|
|
92
|
+
export interface AppearanceLoader {
|
|
93
|
+
/** Built-in preset. Default 'spinner'. */
|
|
94
|
+
style?: 'spinner' | 'dots' | 'bar';
|
|
95
|
+
/** Custom loader asset URL; overrides style. */
|
|
96
|
+
imageUrl?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* White-label appearance overrides for the Flow runner. Supplied at SDK init
|
|
100
|
+
* (this option) and merged over the operator's server-delivered branding by
|
|
101
|
+
* the native runner. Mirrors `FlowAppearance` in the web SDK.
|
|
102
|
+
*/
|
|
103
|
+
export interface FlowAppearance {
|
|
104
|
+
colors?: AppearanceColors;
|
|
105
|
+
typography?: AppearanceTypography;
|
|
106
|
+
shape?: AppearanceShape;
|
|
107
|
+
logo?: {
|
|
108
|
+
url?: string;
|
|
109
|
+
placement?: 'header' | 'center' | 'none';
|
|
110
|
+
height?: number;
|
|
111
|
+
};
|
|
112
|
+
background?: {
|
|
113
|
+
color?: string;
|
|
114
|
+
imageUrl?: string;
|
|
115
|
+
};
|
|
116
|
+
/** Custom illustrations for result screens / icon slots. */
|
|
117
|
+
icons?: AppearanceIcons;
|
|
118
|
+
/** Loading-animation preset or custom asset. */
|
|
119
|
+
loader?: AppearanceLoader;
|
|
120
|
+
/** Force a palette or follow the OS (default 'auto'). */
|
|
121
|
+
mode?: 'light' | 'dark' | 'auto';
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* White-label copy overrides for the Flow runner. Every subject-facing string
|
|
125
|
+
* can be overridden; an omitted key keeps the built-in copy. Supplied at SDK
|
|
126
|
+
* init and merged over the operator's server-delivered copy by the native
|
|
127
|
+
* runner. Mirrors `FlowCopy` in the web SDK.
|
|
128
|
+
*/
|
|
129
|
+
export interface FlowCopy {
|
|
130
|
+
/** Optional welcome/intro shown before the first step (when set). */
|
|
131
|
+
welcome?: {
|
|
132
|
+
title?: string;
|
|
133
|
+
body?: string;
|
|
134
|
+
};
|
|
135
|
+
/** Shared button labels. */
|
|
136
|
+
buttons?: {
|
|
137
|
+
continue?: string;
|
|
138
|
+
cancel?: string;
|
|
139
|
+
tryAgain?: string;
|
|
140
|
+
retake?: string;
|
|
141
|
+
useThisPhoto?: string;
|
|
142
|
+
uploadInstead?: string;
|
|
143
|
+
scan?: string;
|
|
144
|
+
upload?: string;
|
|
145
|
+
submitting?: string;
|
|
146
|
+
};
|
|
147
|
+
/** Titles shown under the loader for each transient state. */
|
|
148
|
+
loading?: {
|
|
149
|
+
default?: string;
|
|
150
|
+
verifying?: string;
|
|
151
|
+
submittingDocument?: string;
|
|
152
|
+
checkingQuality?: string;
|
|
153
|
+
};
|
|
154
|
+
/** Face capture primer. */
|
|
155
|
+
face?: {
|
|
156
|
+
title?: string;
|
|
157
|
+
body?: string;
|
|
158
|
+
start?: string;
|
|
159
|
+
};
|
|
160
|
+
/** Document capture surfaces. */
|
|
161
|
+
document?: {
|
|
162
|
+
selectTitle?: string;
|
|
163
|
+
selectBody?: string;
|
|
164
|
+
primerTitle?: string;
|
|
165
|
+
primerBody?: string;
|
|
166
|
+
uploadTitle?: string;
|
|
167
|
+
uploadBody?: string;
|
|
168
|
+
scanTitle?: string;
|
|
169
|
+
scanBody?: string;
|
|
170
|
+
confirmTitle?: string;
|
|
171
|
+
confirmBody?: string;
|
|
172
|
+
};
|
|
173
|
+
/** Form + ID-number surfaces. */
|
|
174
|
+
form?: {
|
|
175
|
+
title?: string;
|
|
176
|
+
};
|
|
177
|
+
idNumber?: {
|
|
178
|
+
title?: string;
|
|
179
|
+
body?: string;
|
|
180
|
+
};
|
|
181
|
+
/** Terminal result screens. */
|
|
182
|
+
result?: {
|
|
183
|
+
successTitle?: string;
|
|
184
|
+
successBody?: string;
|
|
185
|
+
reviewTitle?: string;
|
|
186
|
+
reviewBody?: string;
|
|
187
|
+
notVerifiedTitle?: string;
|
|
188
|
+
notVerifiedBody?: string;
|
|
189
|
+
cancelledTitle?: string;
|
|
190
|
+
};
|
|
191
|
+
/** Error copy (provider failure vs unreadable capture vs generic). */
|
|
192
|
+
errors?: {
|
|
193
|
+
generic?: string;
|
|
194
|
+
providerUnavailable?: string;
|
|
195
|
+
documentUnreadable?: string;
|
|
196
|
+
};
|
|
197
|
+
/** Privacy / consent disclosures shown to the subject. */
|
|
198
|
+
privacy?: {
|
|
199
|
+
disclosure?: string;
|
|
200
|
+
consentTitle?: string;
|
|
201
|
+
consentBody?: string;
|
|
202
|
+
};
|
|
203
|
+
/** Free-form help text / tooltips keyed by an SDK-defined slot id. */
|
|
204
|
+
help?: Record<string, string>;
|
|
205
|
+
}
|
|
52
206
|
/** Options for `UseSenseFlows.runFlow`. */
|
|
53
207
|
export interface RunFlowOptions {
|
|
54
208
|
flowRunId: string;
|
|
55
209
|
sdkToken: string;
|
|
56
210
|
/** Defaults to `https://api.usesense.ai`. */
|
|
57
211
|
apiBaseUrl?: string;
|
|
212
|
+
/**
|
|
213
|
+
* SDK-init white-label appearance. Forwarded to the native runner, which
|
|
214
|
+
* decodes it and merges it over the operator's server-delivered branding
|
|
215
|
+
* (SDK-init takes precedence). Omit to use the hosted-page tokens.
|
|
216
|
+
*/
|
|
217
|
+
appearance?: FlowAppearance;
|
|
218
|
+
/**
|
|
219
|
+
* SDK-init white-label copy. Forwarded to the native runner, which decodes
|
|
220
|
+
* it and merges it over the operator's server-delivered copy (SDK-init takes
|
|
221
|
+
* precedence). Omit to keep the built-in subject-facing strings.
|
|
222
|
+
*/
|
|
223
|
+
copy?: FlowCopy;
|
|
58
224
|
}
|
|
59
225
|
/**
|
|
60
226
|
* Public entry point for the Flows runner. Sessions APIs are untouched;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../../src/flows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../../src/flows.ts"],"names":[],"mappings":"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"}
|
|
@@ -264,5 +264,5 @@ export interface V4Verdict {
|
|
|
264
264
|
timestamp: string;
|
|
265
265
|
}
|
|
266
266
|
export default UseSense;
|
|
267
|
-
export { UseSenseFlows, FlowError, type FlowErrorCode, type FlowOutcome, type FlowRunResult, type FlowRunState, type RunFlowOptions, } from './flows';
|
|
267
|
+
export { UseSenseFlows, FlowError, type FlowErrorCode, type FlowOutcome, type FlowRunResult, type FlowRunState, type RunFlowOptions, type FlowAppearance, type FlowCopy, type AppearanceColors, type AppearanceTypography, type AppearanceShape, type AppearanceIcons, type AppearanceLoader, } from './flows';
|
|
268
268
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-usesense",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "React Native plugin for human presence verification. Wraps the native UseSense iOS and Android SDKs.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
package/src/flows.ts
CHANGED
|
@@ -34,7 +34,15 @@ const LINKING_ERROR =
|
|
|
34
34
|
function nativeModule() {
|
|
35
35
|
const m = NativeModules.UseSenseFlowsModule;
|
|
36
36
|
if (!m) throw new Error(LINKING_ERROR);
|
|
37
|
-
return m as {
|
|
37
|
+
return m as {
|
|
38
|
+
runFlow: (
|
|
39
|
+
flowRunId: string,
|
|
40
|
+
sdkToken: string,
|
|
41
|
+
apiBaseUrl: string | null,
|
|
42
|
+
appearance: FlowAppearance | null,
|
|
43
|
+
copy: FlowCopy | null,
|
|
44
|
+
) => Promise<NativeFlowRunResult>;
|
|
45
|
+
};
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
/**
|
|
@@ -117,12 +125,154 @@ export class FlowError extends Error {
|
|
|
117
125
|
}
|
|
118
126
|
}
|
|
119
127
|
|
|
128
|
+
// ─── White-label contract (mirrors the web SDK) ───────────────────────────
|
|
129
|
+
//
|
|
130
|
+
// FlowAppearance + FlowCopy are the shared customization schemas (Phase 1 +
|
|
131
|
+
// Phase 2 of the white-label initiative). They mirror the web SDK contract
|
|
132
|
+
// (packages/sdk/src/flows/theme.ts + copy.ts) one-to-one with camelCase keys.
|
|
133
|
+
// The RN bridge forwards the raw object across to the native iOS/Android
|
|
134
|
+
// runner, which decodes it (FlowAppearance/FlowCopy.decodeFromJSONObject).
|
|
135
|
+
// Everything is optional; an omitted key falls back to the hosted-page tokens.
|
|
136
|
+
|
|
137
|
+
/** A palette layer. `dark` overrides apply only in dark mode. */
|
|
138
|
+
export interface AppearanceColors {
|
|
139
|
+
primary?: string;
|
|
140
|
+
primaryForeground?: string;
|
|
141
|
+
background?: string;
|
|
142
|
+
surface?: string;
|
|
143
|
+
foreground?: string;
|
|
144
|
+
muted?: string;
|
|
145
|
+
border?: string;
|
|
146
|
+
success?: string;
|
|
147
|
+
error?: string;
|
|
148
|
+
warning?: string;
|
|
149
|
+
/** Overrides applied on top of the dark base (e.g. a darker background). */
|
|
150
|
+
dark?: Omit<AppearanceColors, 'dark'>;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export interface AppearanceTypography {
|
|
154
|
+
/** Body font-family name (e.g. "DM Sans"). */
|
|
155
|
+
fontFamily?: string;
|
|
156
|
+
/** Heading/display font-family; defaults to fontFamily when omitted. */
|
|
157
|
+
displayFamily?: string;
|
|
158
|
+
/** A stylesheet URL or @font-face block to load custom fonts (web only;
|
|
159
|
+
* ignored by the native runners, which load fonts from app resources). */
|
|
160
|
+
fontCss?: string;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export interface AppearanceShape {
|
|
164
|
+
/** Base corner radius (cards, inputs). */
|
|
165
|
+
radius?: number;
|
|
166
|
+
/** Button corner radius; defaults to radius. */
|
|
167
|
+
buttonRadius?: number;
|
|
168
|
+
buttonStyle?: 'filled' | 'outline';
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** Custom illustration/icon overrides (image URLs replacing built-in glyphs). */
|
|
172
|
+
export interface AppearanceIcons {
|
|
173
|
+
/** Success result screen. */ success?: string;
|
|
174
|
+
/** Under-review result screen. */ review?: string;
|
|
175
|
+
/** Not-verified result screen. */ notVerified?: string;
|
|
176
|
+
/** Any other named slot by URL. */
|
|
177
|
+
[slot: string]: string | undefined;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/** Loading animation: a built-in preset or a custom asset. */
|
|
181
|
+
export interface AppearanceLoader {
|
|
182
|
+
/** Built-in preset. Default 'spinner'. */
|
|
183
|
+
style?: 'spinner' | 'dots' | 'bar';
|
|
184
|
+
/** Custom loader asset URL; overrides style. */
|
|
185
|
+
imageUrl?: string;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* White-label appearance overrides for the Flow runner. Supplied at SDK init
|
|
190
|
+
* (this option) and merged over the operator's server-delivered branding by
|
|
191
|
+
* the native runner. Mirrors `FlowAppearance` in the web SDK.
|
|
192
|
+
*/
|
|
193
|
+
export interface FlowAppearance {
|
|
194
|
+
colors?: AppearanceColors;
|
|
195
|
+
typography?: AppearanceTypography;
|
|
196
|
+
shape?: AppearanceShape;
|
|
197
|
+
logo?: { url?: string; placement?: 'header' | 'center' | 'none'; height?: number };
|
|
198
|
+
background?: { color?: string; imageUrl?: string };
|
|
199
|
+
/** Custom illustrations for result screens / icon slots. */
|
|
200
|
+
icons?: AppearanceIcons;
|
|
201
|
+
/** Loading-animation preset or custom asset. */
|
|
202
|
+
loader?: AppearanceLoader;
|
|
203
|
+
/** Force a palette or follow the OS (default 'auto'). */
|
|
204
|
+
mode?: 'light' | 'dark' | 'auto';
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* White-label copy overrides for the Flow runner. Every subject-facing string
|
|
209
|
+
* can be overridden; an omitted key keeps the built-in copy. Supplied at SDK
|
|
210
|
+
* init and merged over the operator's server-delivered copy by the native
|
|
211
|
+
* runner. Mirrors `FlowCopy` in the web SDK.
|
|
212
|
+
*/
|
|
213
|
+
export interface FlowCopy {
|
|
214
|
+
/** Optional welcome/intro shown before the first step (when set). */
|
|
215
|
+
welcome?: { title?: string; body?: string };
|
|
216
|
+
/** Shared button labels. */
|
|
217
|
+
buttons?: {
|
|
218
|
+
continue?: string;
|
|
219
|
+
cancel?: string;
|
|
220
|
+
tryAgain?: string;
|
|
221
|
+
retake?: string;
|
|
222
|
+
useThisPhoto?: string;
|
|
223
|
+
uploadInstead?: string;
|
|
224
|
+
scan?: string;
|
|
225
|
+
upload?: string;
|
|
226
|
+
submitting?: string;
|
|
227
|
+
};
|
|
228
|
+
/** Titles shown under the loader for each transient state. */
|
|
229
|
+
loading?: { default?: string; verifying?: string; submittingDocument?: string; checkingQuality?: string };
|
|
230
|
+
/** Face capture primer. */
|
|
231
|
+
face?: { title?: string; body?: string; start?: string };
|
|
232
|
+
/** Document capture surfaces. */
|
|
233
|
+
document?: {
|
|
234
|
+
selectTitle?: string; selectBody?: string;
|
|
235
|
+
primerTitle?: string; primerBody?: string;
|
|
236
|
+
uploadTitle?: string; uploadBody?: string;
|
|
237
|
+
scanTitle?: string; scanBody?: string;
|
|
238
|
+
confirmTitle?: string; confirmBody?: string;
|
|
239
|
+
};
|
|
240
|
+
/** Form + ID-number surfaces. */
|
|
241
|
+
form?: { title?: string };
|
|
242
|
+
idNumber?: { title?: string; body?: string };
|
|
243
|
+
/** Terminal result screens. */
|
|
244
|
+
result?: {
|
|
245
|
+
successTitle?: string; successBody?: string;
|
|
246
|
+
reviewTitle?: string; reviewBody?: string;
|
|
247
|
+
notVerifiedTitle?: string; notVerifiedBody?: string;
|
|
248
|
+
cancelledTitle?: string;
|
|
249
|
+
};
|
|
250
|
+
/** Error copy (provider failure vs unreadable capture vs generic). */
|
|
251
|
+
errors?: { generic?: string; providerUnavailable?: string; documentUnreadable?: string };
|
|
252
|
+
/** Privacy / consent disclosures shown to the subject. */
|
|
253
|
+
privacy?: { disclosure?: string; consentTitle?: string; consentBody?: string };
|
|
254
|
+
/** Free-form help text / tooltips keyed by an SDK-defined slot id. */
|
|
255
|
+
help?: Record<string, string>;
|
|
256
|
+
}
|
|
257
|
+
|
|
120
258
|
/** Options for `UseSenseFlows.runFlow`. */
|
|
121
259
|
export interface RunFlowOptions {
|
|
122
260
|
flowRunId: string;
|
|
123
261
|
sdkToken: string;
|
|
124
262
|
/** Defaults to `https://api.usesense.ai`. */
|
|
125
263
|
apiBaseUrl?: string;
|
|
264
|
+
/**
|
|
265
|
+
* SDK-init white-label appearance. Forwarded to the native runner, which
|
|
266
|
+
* decodes it and merges it over the operator's server-delivered branding
|
|
267
|
+
* (SDK-init takes precedence). Omit to use the hosted-page tokens.
|
|
268
|
+
*/
|
|
269
|
+
appearance?: FlowAppearance;
|
|
270
|
+
/**
|
|
271
|
+
* SDK-init white-label copy. Forwarded to the native runner, which decodes
|
|
272
|
+
* it and merges it over the operator's server-delivered copy (SDK-init takes
|
|
273
|
+
* precedence). Omit to keep the built-in subject-facing strings.
|
|
274
|
+
*/
|
|
275
|
+
copy?: FlowCopy;
|
|
126
276
|
}
|
|
127
277
|
|
|
128
278
|
/**
|
|
@@ -142,6 +292,8 @@ export const UseSenseFlows = {
|
|
|
142
292
|
options.flowRunId,
|
|
143
293
|
options.sdkToken,
|
|
144
294
|
options.apiBaseUrl ?? null,
|
|
295
|
+
options.appearance ?? null,
|
|
296
|
+
options.copy ?? null,
|
|
145
297
|
);
|
|
146
298
|
return {
|
|
147
299
|
flowRunId: native.flowRunId,
|
package/src/index.ts
CHANGED
|
@@ -402,4 +402,13 @@ export {
|
|
|
402
402
|
type FlowRunResult,
|
|
403
403
|
type FlowRunState,
|
|
404
404
|
type RunFlowOptions,
|
|
405
|
+
// White-label contract (Phase 1 appearance + Phase 2 copy). Forwarded to the
|
|
406
|
+
// native runner via the bridge.
|
|
407
|
+
type FlowAppearance,
|
|
408
|
+
type FlowCopy,
|
|
409
|
+
type AppearanceColors,
|
|
410
|
+
type AppearanceTypography,
|
|
411
|
+
type AppearanceShape,
|
|
412
|
+
type AppearanceIcons,
|
|
413
|
+
type AppearanceLoader,
|
|
405
414
|
} from './flows';
|