@attentive-mobile/attentive-react-native-sdk 1.0.5 → 2.0.0-beta.1

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.
Files changed (37) hide show
  1. package/README.md +126 -0
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/kotlin/com/attentivereactnativesdk/AttentiveReactNativeSdkModule.kt +384 -0
  4. package/android/src/main/kotlin/com/attentivereactnativesdk/AttentiveReactNativeSdkPackage.kt +36 -0
  5. package/android/src/main/kotlin/com/attentivereactnativesdk/debug/AttentiveDebugHelper.kt +22 -6
  6. package/attentive-react-native-sdk.podspec +3 -3
  7. package/ios/AttentiveReactNativeSdk.h +1 -1
  8. package/ios/AttentiveReactNativeSdk.mm +317 -37
  9. package/ios/Bridging/ATTNNativeSDK.swift +392 -45
  10. package/ios/Bridging/AttentiveReactNativeSdk-Bridging-Header.h +3 -0
  11. package/ios/Bridging/AttentiveSDKManager.swift +83 -0
  12. package/ios/Podfile +3 -16
  13. package/lib/commonjs/NativeAttentiveReactNativeSdk.js +14 -0
  14. package/lib/commonjs/NativeAttentiveReactNativeSdk.js.map +1 -0
  15. package/lib/commonjs/eventTypes.js.map +1 -1
  16. package/lib/commonjs/index.js +362 -52
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/module/NativeAttentiveReactNativeSdk.js +7 -0
  19. package/lib/module/NativeAttentiveReactNativeSdk.js.map +1 -0
  20. package/lib/module/eventTypes.js.map +1 -1
  21. package/lib/module/index.js +345 -50
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/typescript/NativeAttentiveReactNativeSdk.d.ts +103 -0
  24. package/lib/typescript/NativeAttentiveReactNativeSdk.d.ts.map +1 -0
  25. package/lib/typescript/eventTypes.d.ts +44 -17
  26. package/lib/typescript/eventTypes.d.ts.map +1 -1
  27. package/lib/typescript/index.d.ts +276 -41
  28. package/lib/typescript/index.d.ts.map +1 -1
  29. package/package.json +21 -7
  30. package/src/NativeAttentiveReactNativeSdk.ts +152 -0
  31. package/src/eventTypes.tsx +57 -20
  32. package/src/index.tsx +472 -96
  33. package/android/src/main/java/com/attentivereactnativesdk/AttentiveReactNativeSdkModule.java +0 -310
  34. package/android/src/main/java/com/attentivereactnativesdk/AttentiveReactNativeSdkPackage.java +0 -28
  35. package/ios/AttentiveReactNativeSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  36. package/ios/AttentiveReactNativeSdk.xcodeproj/project.xcworkspace/xcuserdata/zheref.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  37. package/ios/AttentiveReactNativeSdk.xcodeproj/xcuserdata/zheref.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
@@ -1,61 +1,356 @@
1
- import { NativeModules, Platform } from 'react-native';
1
+ import { Platform } from 'react-native';
2
+ import NativeAttentiveReactNativeSdkModule from './NativeAttentiveReactNativeSdk';
2
3
  const LINKING_ERROR = `The package 'attentive-react-native-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
3
4
  ios: "- You have run 'pod install'\n",
4
5
  default: ''
5
6
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
6
- const AttentiveReactNativeSdk = NativeModules.AttentiveReactNativeSdk ? NativeModules.AttentiveReactNativeSdk : new Proxy({}, {
7
+ const AttentiveReactNativeSdk = NativeAttentiveReactNativeSdkModule ? NativeAttentiveReactNativeSdkModule : new Proxy({}, {
7
8
  get() {
8
9
  throw new Error(LINKING_ERROR);
9
10
  }
10
11
  });
11
- export let Mode = /*#__PURE__*/function (Mode) {
12
- Mode["Production"] = "production";
13
- Mode["Debug"] = "debug";
14
- return Mode;
15
- }({});
16
- export class Attentive {
17
- static initialize(configuration) {
18
- AttentiveReactNativeSdk.initialize(configuration);
19
- }
20
- static identify(userIdentifiers) {
21
- AttentiveReactNativeSdk.identify(userIdentifiers);
22
- }
23
- static clearUser() {
24
- AttentiveReactNativeSdk.clearUser();
25
- }
26
- static triggerCreative() {
27
- let creativeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
28
- AttentiveReactNativeSdk.triggerCreative(creativeId);
29
- }
30
- static destroyCreative() {
31
- AttentiveReactNativeSdk.destroyCreative();
32
- }
33
- static updateDomain(domain) {
34
- AttentiveReactNativeSdk.updateDomain(domain);
35
- }
36
- static recordProductViewEvent(productViewEvent) {
37
- AttentiveReactNativeSdk.recordProductViewEvent(productViewEvent);
38
- }
39
- static recordAddToCartEvent(addToCartEvent) {
40
- AttentiveReactNativeSdk.recordAddToCartEvent(addToCartEvent);
41
- }
42
- static recordPurchaseEvent(purchaseEvent) {
43
- AttentiveReactNativeSdk.recordPurchaseEvent(purchaseEvent);
44
- }
45
- static recordCustomEvent(customEvent) {
46
- AttentiveReactNativeSdk.recordCustomEvent(customEvent);
47
- }
48
- static invokeAttentiveDebugHelper() {
49
- AttentiveReactNativeSdk.invokeAttentiveDebugHelper();
50
- }
51
12
 
52
- /**
53
- * Exports debug logs as a formatted string for sharing or analysis
54
- * Only available when debugging is enabled
55
- * @returns Promise<string> A formatted string containing all debug events in the current session
56
- */
57
- static async exportDebugLogs() {
58
- return AttentiveReactNativeSdk.exportDebugLogs();
59
- }
13
+ /**
14
+ * Initialize the Attentive SDK with the provided configuration
15
+ * @param configuration - Configuration object for the Attentive SDK
16
+ */
17
+ function initialize(configuration) {
18
+ AttentiveReactNativeSdk.initialize(configuration.attentiveDomain, configuration.mode, configuration.skipFatigueOnCreatives ?? false, configuration.enableDebugger ?? false);
19
+ }
20
+
21
+ /**
22
+ * Trigger a creative with an optional creative ID
23
+ * @param creativeId - Optional creative ID to trigger
24
+ */
25
+ function triggerCreative(creativeId) {
26
+ AttentiveReactNativeSdk.triggerCreative(creativeId);
27
+ }
28
+
29
+ /**
30
+ * Destroy the current creative
31
+ */
32
+ function destroyCreative() {
33
+ AttentiveReactNativeSdk.destroyCreative();
34
+ }
35
+
36
+ /**
37
+ * Update the Attentive domain
38
+ * @param domain - New domain to use
39
+ */
40
+ function updateDomain(domain) {
41
+ AttentiveReactNativeSdk.updateDomain(domain);
42
+ }
43
+
44
+ /**
45
+ * Identify a user with the provided identifiers
46
+ * @param identifiers - User identifier object containing phone, email, etc.
47
+ */
48
+ function identify(identifiers) {
49
+ AttentiveReactNativeSdk.identify(identifiers.phone, identifiers.email, identifiers.klaviyoId, identifiers.shopifyId, identifiers.clientUserId, identifiers.customIdentifiers);
50
+ }
51
+
52
+ /**
53
+ * Clear the current user identification
54
+ */
55
+ function clearUser() {
56
+ AttentiveReactNativeSdk.clearUser();
57
+ }
58
+
59
+ /**
60
+ * Record an add to cart event
61
+ * @param attrs - Event attributes containing items and optional deeplink
62
+ */
63
+ function recordAddToCartEvent(attrs) {
64
+ AttentiveReactNativeSdk.recordAddToCartEvent(attrs.items, attrs.deeplink);
65
+ }
66
+
67
+ /**
68
+ * Record a product view event
69
+ * @param attrs - Event attributes containing items and optional deeplink
70
+ */
71
+ function recordProductViewEvent(attrs) {
72
+ AttentiveReactNativeSdk.recordProductViewEvent(attrs.items, attrs.deeplink);
73
+ }
74
+
75
+ /**
76
+ * Record a purchase event
77
+ * @param attrs - Event attributes containing items, order ID, and optional cart details
78
+ */
79
+ function recordPurchaseEvent(attrs) {
80
+ AttentiveReactNativeSdk.recordPurchaseEvent(attrs.items, attrs.orderId, attrs.cartId, attrs.cartCoupon);
81
+ }
82
+
83
+ /**
84
+ * Record a custom event
85
+ * @param attrs - Custom event attributes containing type and properties
86
+ */
87
+ function recordCustomEvent(attrs) {
88
+ AttentiveReactNativeSdk.recordCustomEvent(attrs.type, attrs.properties);
89
+ }
90
+
91
+ /**
92
+ * Invoke the Attentive debug helper
93
+ */
94
+ function invokeAttentiveDebugHelper() {
95
+ AttentiveReactNativeSdk.invokeAttentiveDebugHelper();
96
+ }
97
+
98
+ /**
99
+ * Export debug logs
100
+ * @returns Promise that resolves to a string containing the debug logs
101
+ */
102
+ function exportDebugLogs() {
103
+ return AttentiveReactNativeSdk.exportDebugLogs();
104
+ }
105
+
106
+ // =============================================================================
107
+ // Push Notification Methods (iOS only - Android is no-op with TODO stubs)
108
+ // =============================================================================
109
+
110
+ /**
111
+ * Request push notification permission from the user.
112
+ * On iOS, this will trigger the system permission dialog.
113
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * import { registerForPushNotifications } from 'attentive-react-native-sdk';
118
+ *
119
+ * // Request permission (typically called after user onboarding)
120
+ * registerForPushNotifications();
121
+ * ```
122
+ */
123
+ function registerForPushNotifications() {
124
+ AttentiveReactNativeSdk.registerForPushNotifications();
125
+ }
126
+
127
+ /**
128
+ * Register the device token received from APNs/FCM with the Attentive backend.
129
+ * Call this from your AppDelegate's didRegisterForRemoteNotificationsWithDeviceToken.
130
+ *
131
+ * On iOS, the token should be the hex-encoded string representation of the device token Data.
132
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
133
+ *
134
+ * @param token - The device token as a hex-encoded string
135
+ * @param authorizationStatus - Current push authorization status
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * import { registerDeviceToken } from 'attentive-react-native-sdk';
140
+ *
141
+ * // In your native module or push notification handler:
142
+ * registerDeviceToken('abc123...', 'authorized');
143
+ * ```
144
+ */
145
+ function registerDeviceToken(token, authorizationStatus) {
146
+ AttentiveReactNativeSdk.registerDeviceToken(token, authorizationStatus);
147
+ }
148
+
149
+ /**
150
+ * Register the device token received from APNs with a callback.
151
+ * This is the callback-based version that allows you to handle the response from the Attentive API.
152
+ *
153
+ * On iOS, this will register the device token with the Attentive SDK and invoke the callback
154
+ * after the registration completes (success or failure).
155
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
156
+ *
157
+ * @param token - The hex-encoded device token string from APNs
158
+ * @param authorizationStatus - Current push authorization status
159
+ * @param callback - Callback function invoked after registration completes
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * import { registerDeviceTokenWithCallback, handleRegularOpen } from 'attentive-react-native-sdk';
164
+ *
165
+ * // In your AppDelegate equivalent (TypeScript):
166
+ * registerDeviceTokenWithCallback(
167
+ * deviceToken,
168
+ * 'authorized',
169
+ * (data, url, response, error) => {
170
+ * console.log('Registration complete:', { data, url, response, error });
171
+ * // After registration, trigger regular open event
172
+ * handleRegularOpen('authorized');
173
+ * }
174
+ * );
175
+ * ```
176
+ */
177
+ function registerDeviceTokenWithCallback(token, authorizationStatus, callback) {
178
+ AttentiveReactNativeSdk.registerDeviceTokenWithCallback(token, authorizationStatus, callback);
179
+ }
180
+
181
+ /**
182
+ * Handle regular/direct app open (not from a push notification).
183
+ * This should be called after device token registration to track app opens.
184
+ *
185
+ * This is the TypeScript equivalent of the native iOS AppDelegate method:
186
+ * ```swift
187
+ * func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
188
+ * UNUserNotificationCenter.current().getNotificationSettings { [weak self] settings in
189
+ * guard let self = self else { return }
190
+ * let authStatus = settings.authorizationStatus
191
+ * attentiveSdk?.registerDeviceToken(deviceToken, authorizationStatus: authStatus, callback: { data, url, response, error in
192
+ * DispatchQueue.main.async {
193
+ * self.attentiveSdk?.handleRegularOpen(authorizationStatus: authStatus)
194
+ * }
195
+ * })
196
+ * }
197
+ * }
198
+ * ```
199
+ *
200
+ * On iOS, this will notify the Attentive SDK that the app was opened directly
201
+ * (not from a push notification tap).
202
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
203
+ *
204
+ * @param authorizationStatus - Current push authorization status
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * import { registerDeviceTokenWithCallback, handleRegularOpen } from 'attentive-react-native-sdk';
209
+ * import PushNotificationIOS from '@react-native-community/push-notification-ios';
210
+ *
211
+ * // In your device token registration handler:
212
+ * PushNotificationIOS.addEventListener('register', (deviceToken: string) => {
213
+ * PushNotificationIOS.checkPermissions((permissions) => {
214
+ * let authStatus: PushAuthorizationStatus = 'notDetermined'
215
+ * if (permissions.alert || permissions.badge || permissions.sound) {
216
+ * authStatus = 'authorized'
217
+ * }
218
+ *
219
+ * // Register device token with callback
220
+ * registerDeviceTokenWithCallback(deviceToken, authStatus, (data, url, response, error) => {
221
+ * if (error) {
222
+ * console.error('Registration error:', error)
223
+ * }
224
+ * // After registration completes, trigger regular open event
225
+ * handleRegularOpen(authStatus)
226
+ * })
227
+ * })
228
+ * })
229
+ * ```
230
+ */
231
+ function handleRegularOpen(authorizationStatus) {
232
+ console.log('[AttentiveSDK] 🌉 Calling handleRegularOpen from TypeScript');
233
+ console.log(` Authorization Status: ${authorizationStatus}`);
234
+ console.log(' This should trigger: https://mobile.attentivemobile.com/mtctrl');
235
+ AttentiveReactNativeSdk.handleRegularOpen(authorizationStatus);
236
+ console.log('[AttentiveSDK] ✅ handleRegularOpen call completed');
237
+ }
238
+
239
+ /**
240
+ * Handle when a push notification is opened by the user.
241
+ * Call this from your notification handler when the user taps a notification.
242
+ *
243
+ * On iOS, this will track the push open event and handle the notification appropriately
244
+ * based on whether the app was in the foreground, background, or not running.
245
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
246
+ *
247
+ * @param userInfo - The notification payload from the push notification
248
+ * @param applicationState - The app state when the notification was opened ('active', 'inactive', 'background')
249
+ * @param authorizationStatus - Current push authorization status
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * import { handlePushOpened } from 'attentive-react-native-sdk';
254
+ *
255
+ * // In your notification handler:
256
+ * handlePushOpened(
257
+ * notification.data,
258
+ * 'background',
259
+ * 'authorized'
260
+ * );
261
+ * ```
262
+ */
263
+ function handlePushOpened(userInfo, applicationState, authorizationStatus) {
264
+ AttentiveReactNativeSdk.handlePushOpened(userInfo, applicationState, authorizationStatus);
265
+ }
266
+
267
+ /**
268
+ * Handle when a push notification arrives while the app is in the foreground.
269
+ * Call this from your notification handler when a notification is received while the app is active.
270
+ *
271
+ * On iOS, this allows the Attentive SDK to track the notification event.
272
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
273
+ *
274
+ * @param userInfo - The notification payload from the push notification
275
+ *
276
+ * @example
277
+ * ```typescript
278
+ * import { handleForegroundNotification } from 'attentive-react-native-sdk';
279
+ *
280
+ * // In your notification handler when app is in foreground:
281
+ * handleForegroundNotification(notification.data);
282
+ * ```
283
+ */
284
+ function handleForegroundNotification(userInfo) {
285
+ AttentiveReactNativeSdk.handleForegroundNotification(userInfo);
286
+ }
287
+
288
+ /**
289
+ * Handle a push notification when the app is in the foreground (active state).
290
+ * This is the React Native equivalent of the native iOS handleForegroundPush method.
291
+ *
292
+ * Call this when you receive a notification response and the app state is 'active'.
293
+ * This is part of implementing the native iOS pattern:
294
+ * ```swift
295
+ * case .active:
296
+ * self.attentiveSdk?.handleForegroundPush(response: response, authorizationStatus: authStatus)
297
+ * ```
298
+ *
299
+ * On iOS, this properly tracks foreground push notifications.
300
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
301
+ *
302
+ * @param userInfo - The notification payload from the push notification
303
+ * @param authorizationStatus - Current push authorization status
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * import { handleForegroundPush } from 'attentive-react-native-sdk';
308
+ * import { AppState } from 'react-native';
309
+ *
310
+ * // In your notification handler:
311
+ * const appState = AppState.currentState;
312
+ * if (appState === 'active') {
313
+ * handleForegroundPush(notification.data, 'authorized');
314
+ * }
315
+ * ```
316
+ */
317
+ function handleForegroundPush(userInfo, authorizationStatus) {
318
+ AttentiveReactNativeSdk.handleForegroundPush(userInfo, authorizationStatus);
319
+ }
320
+
321
+ /**
322
+ * Handle when a push notification is opened by the user (app in background/inactive state).
323
+ * This is the React Native equivalent of the native iOS handlePushOpen method.
324
+ *
325
+ * Call this when you receive a notification response and the app state is 'background' or 'inactive'.
326
+ * This is part of implementing the native iOS pattern:
327
+ * ```swift
328
+ * case .background, .inactive:
329
+ * self.attentiveSdk?.handlePushOpen(response: response, authorizationStatus: authStatus)
330
+ * ```
331
+ *
332
+ * On iOS, this properly tracks push notification opens.
333
+ * On Android, this is currently a no-op (TODO: implement FCM integration).
334
+ *
335
+ * @param userInfo - The notification payload from the push notification
336
+ * @param authorizationStatus - Current push authorization status
337
+ *
338
+ * @example
339
+ * ```typescript
340
+ * import { handlePushOpen } from 'attentive-react-native-sdk';
341
+ * import { AppState } from 'react-native';
342
+ *
343
+ * // In your notification handler:
344
+ * const appState = AppState.currentState;
345
+ * if (appState === 'background' || appState === 'inactive') {
346
+ * handlePushOpen(notification.data, 'authorized');
347
+ * }
348
+ * ```
349
+ */
350
+ function handlePushOpen(userInfo, authorizationStatus) {
351
+ AttentiveReactNativeSdk.handlePushOpen(userInfo, authorizationStatus);
60
352
  }
353
+ export { initialize, triggerCreative, destroyCreative, updateDomain, identify, clearUser, recordAddToCartEvent, recordProductViewEvent, recordPurchaseEvent, recordCustomEvent, invokeAttentiveDebugHelper, exportDebugLogs,
354
+ // Push Notification Methods (iOS only)
355
+ registerForPushNotifications, registerDeviceToken, registerDeviceTokenWithCallback, handleRegularOpen, handlePushOpened, handleForegroundNotification, handleForegroundPush, handlePushOpen };
61
356
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","AttentiveReactNativeSdk","Proxy","get","Error","Mode","Attentive","initialize","configuration","identify","userIdentifiers","clearUser","triggerCreative","creativeId","arguments","length","undefined","destroyCreative","updateDomain","domain","recordProductViewEvent","productViewEvent","recordAddToCartEvent","addToCartEvent","recordPurchaseEvent","purchaseEvent","recordCustomEvent","customEvent","invokeAttentiveDebugHelper","exportDebugLogs"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAQtD,MAAMC,aAAa,GAChB,qFAAoF,GACrFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,uBAAuB,GAAGN,aAAa,CAACM,uBAAuB,GACjEN,aAAa,CAACM,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEL,WAAYQ,IAAI,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAqBhB,OAAO,MAAMC,SAAS,CAAC;EACrB,OAAOC,UAAUA,CAACC,aAAqC,EAAQ;IAC7DP,uBAAuB,CAACM,UAAU,CAACC,aAAa,CAAC;EACnD;EAEA,OAAOC,QAAQA,CAACC,eAAgC,EAAQ;IACtDT,uBAAuB,CAACQ,QAAQ,CAACC,eAAe,CAAC;EACnD;EAEA,OAAOC,SAASA,CAAA,EAAS;IACvBV,uBAAuB,CAACU,SAAS,EAAE;EACrC;EAEA,OAAOC,eAAeA,CAAA,EAAyC;IAAA,IAAxCC,UAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IACrDb,uBAAuB,CAACW,eAAe,CAACC,UAAU,CAAC;EACrD;EAEA,OAAOI,eAAeA,CAAA,EAAS;IAC7BhB,uBAAuB,CAACgB,eAAe,EAAE;EAC3C;EAEA,OAAOC,YAAYA,CAACC,MAAc,EAAQ;IACxClB,uBAAuB,CAACiB,YAAY,CAACC,MAAM,CAAC;EAC9C;EAEA,OAAOC,sBAAsBA,CAACC,gBAAkC,EAAQ;IACtEpB,uBAAuB,CAACmB,sBAAsB,CAACC,gBAAgB,CAAC;EAClE;EAEA,OAAOC,oBAAoBA,CAACC,cAA8B,EAAQ;IAChEtB,uBAAuB,CAACqB,oBAAoB,CAACC,cAAc,CAAC;EAC9D;EAEA,OAAOC,mBAAmBA,CAACC,aAA4B,EAAQ;IAC7DxB,uBAAuB,CAACuB,mBAAmB,CAACC,aAAa,CAAC;EAC5D;EAEA,OAAOC,iBAAiBA,CAACC,WAAwB,EAAQ;IACvD1B,uBAAuB,CAACyB,iBAAiB,CAACC,WAAW,CAAC;EACxD;EAEA,OAAOC,0BAA0BA,CAAA,EAAS;IACxC3B,uBAAuB,CAAC2B,0BAA0B,EAAE;EACtD;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaC,eAAeA,CAAA,EAAoB;IAC9C,OAAO5B,uBAAuB,CAAC4B,eAAe,EAAE;EAClD;AACF"}
1
+ {"version":3,"names":["Platform","NativeAttentiveReactNativeSdkModule","LINKING_ERROR","select","ios","default","AttentiveReactNativeSdk","Proxy","get","Error","initialize","configuration","attentiveDomain","mode","skipFatigueOnCreatives","enableDebugger","triggerCreative","creativeId","destroyCreative","updateDomain","domain","identify","identifiers","phone","email","klaviyoId","shopifyId","clientUserId","customIdentifiers","clearUser","recordAddToCartEvent","attrs","items","deeplink","recordProductViewEvent","recordPurchaseEvent","orderId","cartId","cartCoupon","recordCustomEvent","type","properties","invokeAttentiveDebugHelper","exportDebugLogs","registerForPushNotifications","registerDeviceToken","token","authorizationStatus","registerDeviceTokenWithCallback","callback","handleRegularOpen","console","log","handlePushOpened","userInfo","applicationState","handleForegroundNotification","handleForegroundPush","handlePushOpen"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAcvC,OAAOC,mCAAmC,MAEnC,iCAAiC;AAExC,MAAMC,aAAa,GACjB,qFAAqF,GACrFF,QAAQ,CAACG,MAAM,CAAC;EACdC,GAAG,EAAE,gCAAgC;EACrCC,OAAO,EAAE;AACX,CAAC,CAAC,GACF,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,uBAAuB,GAC3BL,mCAAmC,GAC/BA,mCAAmC,GACnC,IAAIM,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CACG;;AAET;AACA;AACA;AACA;AACA,SAASQ,UAAUA,CAACC,aAAwC,EAAE;EAC5DL,uBAAuB,CAACI,UAAU,CAChCC,aAAa,CAACC,eAAe,EAC7BD,aAAa,CAACE,IAAI,EAClBF,aAAa,CAACG,sBAAsB,IAAI,KAAK,EAC7CH,aAAa,CAACI,cAAc,IAAI,KAClC,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,UAAmB,EAAE;EAC5CX,uBAAuB,CAACU,eAAe,CAACC,UAAU,CAAC;AACrD;;AAEA;AACA;AACA;AACA,SAASC,eAAeA,CAAA,EAAG;EACzBZ,uBAAuB,CAACY,eAAe,CAAC,CAAC;AAC3C;;AAEA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,MAAc,EAAE;EACpCd,uBAAuB,CAACa,YAAY,CAACC,MAAM,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,WAA4B,EAAE;EAC9ChB,uBAAuB,CAACe,QAAQ,CAC9BC,WAAW,CAACC,KAAK,EACjBD,WAAW,CAACE,KAAK,EACjBF,WAAW,CAACG,SAAS,EACrBH,WAAW,CAACI,SAAS,EACrBJ,WAAW,CAACK,YAAY,EACxBL,WAAW,CAACM,iBACd,CAAC;AACH;;AAEA;AACA;AACA;AACA,SAASC,SAASA,CAAA,EAAG;EACnBvB,uBAAuB,CAACuB,SAAS,CAAC,CAAC;AACrC;;AAEA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAACC,KAAgB,EAAE;EAC9CzB,uBAAuB,CAACwB,oBAAoB,CAACC,KAAK,CAACC,KAAK,EAAED,KAAK,CAACE,QAAQ,CAAC;AAC3E;;AAEA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAACH,KAAkB,EAAE;EAClDzB,uBAAuB,CAAC4B,sBAAsB,CAACH,KAAK,CAACC,KAAK,EAAED,KAAK,CAACE,QAAQ,CAAC;AAC7E;;AAEA;AACA;AACA;AACA;AACA,SAASE,mBAAmBA,CAACJ,KAAe,EAAE;EAC5CzB,uBAAuB,CAAC6B,mBAAmB,CACzCJ,KAAK,CAACC,KAAK,EACXD,KAAK,CAACK,OAAO,EACbL,KAAK,CAACM,MAAM,EACZN,KAAK,CAACO,UACR,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACR,KAAkB,EAAE;EAC7CzB,uBAAuB,CAACiC,iBAAiB,CAACR,KAAK,CAACS,IAAI,EAAET,KAAK,CAACU,UAAU,CAAC;AACzE;;AAEA;AACA;AACA;AACA,SAASC,0BAA0BA,CAAA,EAAG;EACpCpC,uBAAuB,CAACoC,0BAA0B,CAAC,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAAA,EAAoB;EAC1C,OAAOrC,uBAAuB,CAACqC,eAAe,CAAC,CAAC;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,4BAA4BA,CAAA,EAAS;EAC5CtC,uBAAuB,CAACsC,4BAA4B,CAAC,CAAC;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAC1BC,KAAa,EACbC,mBAA4C,EACtC;EACNzC,uBAAuB,CAACuC,mBAAmB,CAACC,KAAK,EAAEC,mBAAmB,CAAC;AACzE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,+BAA+BA,CACtCF,KAAa,EACbC,mBAA4C,EAC5CE,QAKS,EACH;EACN3C,uBAAuB,CAAC0C,+BAA+B,CACrDF,KAAK,EACLC,mBAAmB,EACnBE,QACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACH,mBAA4C,EAAQ;EAC7EI,OAAO,CAACC,GAAG,CAAC,6DAA6D,CAAC;EAC1ED,OAAO,CAACC,GAAG,CAAC,4BAA4BL,mBAAmB,EAAE,CAAC;EAC9DI,OAAO,CAACC,GAAG,CACT,mEACF,CAAC;EAED9C,uBAAuB,CAAC4C,iBAAiB,CAACH,mBAAmB,CAAC;EAE9DI,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CACvBC,QAAkC,EAClCC,gBAAkC,EAClCR,mBAA4C,EACtC;EACNzC,uBAAuB,CAAC+C,gBAAgB,CACtCC,QAAQ,EACRC,gBAAgB,EAChBR,mBACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,4BAA4BA,CACnCF,QAAkC,EAC5B;EACNhD,uBAAuB,CAACkD,4BAA4B,CAACF,QAAkB,CAAC;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,oBAAoBA,CAC3BH,QAAkC,EAClCP,mBAA4C,EACtC;EACNzC,uBAAuB,CAACmD,oBAAoB,CAC1CH,QAAQ,EACRP,mBACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASW,cAAcA,CACrBJ,QAAkC,EAClCP,mBAA4C,EACtC;EACNzC,uBAAuB,CAACoD,cAAc,CACpCJ,QAAQ,EACRP,mBACF,CAAC;AACH;AAEA,SACErC,UAAU,EACVM,eAAe,EACfE,eAAe,EACfC,YAAY,EACZE,QAAQ,EACRQ,SAAS,EACTC,oBAAoB,EACpBI,sBAAsB,EACtBC,mBAAmB,EACnBI,iBAAiB,EACjBG,0BAA0B,EAC1BC,eAAe;AACf;AACAC,4BAA4B,EAC5BC,mBAAmB,EACnBG,+BAA+B,EAC/BE,iBAAiB,EACjBG,gBAAgB,EAChBG,4BAA4B,EAC5BC,oBAAoB,EACpBC,cAAc","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ import type { TurboModule } from "react-native/Libraries/TurboModule/RCTExport";
2
+ export interface Spec extends TurboModule {
3
+ initialize: (attentiveDomain: string, mode: string, skipFatigueOnCreatives: boolean, enableDebugger: boolean) => void;
4
+ triggerCreative: (creativeId?: string) => void;
5
+ destroyCreative: () => void;
6
+ updateDomain: (domain: string) => void;
7
+ identify: (phone?: string, email?: string, klaviyoId?: string, shopifyId?: string, clientUserId?: string, customIdentifiers?: Object) => void;
8
+ clearUser: () => void;
9
+ recordAddToCartEvent: (items: Array<{
10
+ productId: string;
11
+ productVariantId: string;
12
+ price: string;
13
+ currency: string;
14
+ productImage?: string;
15
+ name?: string;
16
+ quantity?: number;
17
+ category?: string;
18
+ }>, deeplink?: string) => void;
19
+ recordProductViewEvent: (items: Array<{
20
+ productId: string;
21
+ productVariantId: string;
22
+ price: string;
23
+ currency: string;
24
+ productImage?: string;
25
+ name?: string;
26
+ quantity?: number;
27
+ category?: string;
28
+ }>, deeplink?: string) => void;
29
+ recordPurchaseEvent: (items: Array<{
30
+ productId: string;
31
+ productVariantId: string;
32
+ price: string;
33
+ currency: string;
34
+ productImage?: string;
35
+ name?: string;
36
+ quantity?: number;
37
+ category?: string;
38
+ }>, orderId: string, cartId?: string, cartCoupon?: string) => void;
39
+ recordCustomEvent: (type: string, properties: Object) => void;
40
+ invokeAttentiveDebugHelper: () => void;
41
+ exportDebugLogs: () => Promise<string>;
42
+ /**
43
+ * Request push notification permission from the user.
44
+ * iOS only - Android is a no-op.
45
+ */
46
+ registerForPushNotifications: () => void;
47
+ /**
48
+ * Register the device token received from APNs (simple version without callback).
49
+ * iOS only - Android is a no-op.
50
+ * @param token - The hex-encoded device token string
51
+ * @param authorizationStatus - Current push authorization status
52
+ */
53
+ registerDeviceToken: (token: string, authorizationStatus: string) => void;
54
+ /**
55
+ * Register the device token received from APNs with a callback.
56
+ * iOS only - Android is a no-op.
57
+ * The callback receives the response from the Attentive API after registration.
58
+ * @param token - The hex-encoded device token string
59
+ * @param authorizationStatus - Current push authorization status
60
+ * @param callback - Callback invoked after registration completes
61
+ */
62
+ registerDeviceTokenWithCallback: (token: string, authorizationStatus: string, callback: (data?: Object, url?: string, response?: Object, error?: Object) => void) => void;
63
+ /**
64
+ * Handle regular/direct app open (not from a push notification).
65
+ * iOS only - Android is a no-op.
66
+ * This should be called after device token registration to track app opens.
67
+ * @param authorizationStatus - Current push authorization status
68
+ */
69
+ handleRegularOpen: (authorizationStatus: string) => void;
70
+ /**
71
+ * Handle when a push notification is opened by the user.
72
+ * iOS only - Android is a no-op.
73
+ * @param userInfo - The notification payload
74
+ * @param applicationState - The app state when notification was opened ('active', 'inactive', 'background')
75
+ * @param authorizationStatus - Current push authorization status
76
+ */
77
+ handlePushOpened: (userInfo: Object, applicationState: string, authorizationStatus: string) => void;
78
+ /**
79
+ * Handle when a push notification arrives while the app is in foreground.
80
+ * iOS only - Android is a no-op.
81
+ * @param userInfo - The notification payload
82
+ */
83
+ handleForegroundNotification: (userInfo: Object) => void;
84
+ /**
85
+ * Handle a push notification when the app is in the foreground (active state).
86
+ * This is the React Native equivalent of calling handleForegroundPush in native iOS.
87
+ * iOS only - Android is a no-op.
88
+ * @param userInfo - The notification payload
89
+ * @param authorizationStatus - Current push authorization status
90
+ */
91
+ handleForegroundPush: (userInfo: Object, authorizationStatus: string) => void;
92
+ /**
93
+ * Handle when a push notification is opened by the user (app in background/inactive state).
94
+ * This is the React Native equivalent of calling handlePushOpen in native iOS.
95
+ * iOS only - Android is a no-op.
96
+ * @param userInfo - The notification payload
97
+ * @param authorizationStatus - Current push authorization status
98
+ */
99
+ handlePushOpen: (userInfo: Object, authorizationStatus: string) => void;
100
+ }
101
+ declare const _default: Spec | null;
102
+ export default _default;
103
+ //# sourceMappingURL=NativeAttentiveReactNativeSdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeAttentiveReactNativeSdk.d.ts","sourceRoot":"","sources":["../../src/NativeAttentiveReactNativeSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAGhF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,EAAE,CACV,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,sBAAsB,EAAE,OAAO,EAC/B,cAAc,EAAE,OAAO,KACpB,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CACR,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,MAAM,KACvB,IAAI,CAAC;IACV,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,oBAAoB,EAAE,CACpB,KAAK,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,EACF,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,sBAAsB,EAAE,CACtB,KAAK,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,EACF,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,KAAK,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,EACF,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,0BAA0B,EAAE,MAAM,IAAI,CAAC;IACvC,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAGvC;;;OAGG;IACH,4BAA4B,EAAE,MAAM,IAAI,CAAC;IAEzC;;;;;OAKG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1E;;;;;;;OAOG;IACH,+BAA+B,EAAE,CAC/B,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,KAC/E,IAAI,CAAC;IAEV;;;;;OAKG;IACH,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzD;;;;;;OAMG;IACH,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,KACxB,IAAI,CAAC;IAEV;;;;OAIG;IACH,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzD;;;;;;OAMG;IACH,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9E;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;;AAUD,wBAA4D"}
@@ -1,38 +1,65 @@
1
+ export type UserIdentifiers = {
2
+ phone?: string;
3
+ email?: string;
4
+ klaviyoId?: string;
5
+ shopifyId?: string;
6
+ clientUserId?: string;
7
+ customIdentifiers?: Record<string, string>;
8
+ };
9
+ export type AttentiveSdkConfiguration = {
10
+ attentiveDomain: string;
11
+ mode: string;
12
+ skipFatigueOnCreatives?: boolean;
13
+ enableDebugger?: boolean;
14
+ };
1
15
  export type Item = {
2
16
  productId: string;
3
17
  productVariantId: string;
4
- price: Price;
18
+ price: string;
19
+ currency: string;
5
20
  productImage?: string;
6
21
  name?: string;
7
22
  quantity?: number;
8
23
  category?: string;
9
24
  };
10
- export type Price = {
11
- price: string;
12
- currency: string;
25
+ export type ProductView = {
26
+ items: Item[];
27
+ deeplink?: string;
13
28
  };
14
- export type Order = {
29
+ export type Purchase = {
30
+ items: Item[];
15
31
  orderId: string;
16
- };
17
- export type Cart = {
18
32
  cartId?: string;
19
33
  cartCoupon?: string;
20
34
  };
21
- export type ProductViewEvent = {
22
- items: Item[];
23
- deeplink?: string;
24
- };
25
- export type AddToCartEvent = {
35
+ export type AddToCart = {
26
36
  items: Item[];
27
37
  deeplink?: string;
28
38
  };
29
- export type PurchaseEvent = {
30
- items: Item[];
31
- order: Order;
32
- cart?: Cart;
33
- };
34
39
  export type CustomEvent = {
35
40
  type: string;
36
41
  properties: Record<string, string>;
37
42
  };
43
+ /**
44
+ * Push notification authorization status
45
+ * Maps to UNAuthorizationStatus on iOS
46
+ */
47
+ export type PushAuthorizationStatus = 'authorized' | 'denied' | 'notDetermined' | 'provisional' | 'ephemeral';
48
+ /**
49
+ * Application state when handling push notifications
50
+ */
51
+ export type ApplicationState = 'active' | 'inactive' | 'background';
52
+ /**
53
+ * Push notification user info payload
54
+ * Contains data from the remote notification
55
+ */
56
+ export type PushNotificationUserInfo = Record<string, unknown>;
57
+ /**
58
+ * Result of registering for push notifications
59
+ */
60
+ export type PushRegistrationResult = {
61
+ success: boolean;
62
+ token?: string;
63
+ error?: string;
64
+ };
38
65
  //# sourceMappingURL=eventTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../src/eventTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../src/eventTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,IAAI,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,QAAQ,GACR,eAAe,GACf,aAAa,GACb,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}