@trycourier/courier-react-native 2.0.3 → 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.
Files changed (78) hide show
  1. package/README.md +13 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/courierreactnative/CourierReactNativeActivity.kt +0 -3
  4. package/android/src/main/java/com/courierreactnative/CourierReactNativeModule.kt +101 -22
  5. package/android/src/main/java/com/courierreactnative/CourierReactNativeViewManager.kt +84 -18
  6. package/android/src/main/java/com/courierreactnative/Extensions.kt +51 -3
  7. package/courier-react-native.podspec +1 -1
  8. package/ios/CourierReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  9. package/ios/CourierReactNative.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  10. package/ios/CourierReactNative.xcodeproj/project.xcworkspace/xcuserdata/mike.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  11. package/ios/CourierReactNative.xcodeproj/xcuserdata/mike.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  12. package/ios/CourierReactNativeModule.m +32 -9
  13. package/ios/CourierReactNativeModule.swift +59 -26
  14. package/ios/CourierReactNativeViewManager.swift +117 -159
  15. package/ios/Utils.swift +199 -0
  16. package/lib/commonjs/index.js +83 -28
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/models/CourierPaging.js +2 -0
  19. package/lib/commonjs/models/CourierPaging.js.map +1 -0
  20. package/lib/commonjs/models/CourierPushProvider.js +16 -0
  21. package/lib/commonjs/models/CourierPushProvider.js.map +1 -0
  22. package/lib/commonjs/models/CourierUserPreferences.js +6 -0
  23. package/lib/commonjs/models/CourierUserPreferences.js.map +1 -0
  24. package/lib/commonjs/models/CourierUserPreferencesChannel.js +17 -0
  25. package/lib/commonjs/models/CourierUserPreferencesChannel.js.map +1 -0
  26. package/lib/commonjs/models/CourierUserPreferencesStatus.js +15 -0
  27. package/lib/commonjs/models/CourierUserPreferencesStatus.js.map +1 -0
  28. package/lib/commonjs/models/CourierUserPreferencesTopic.js +6 -0
  29. package/lib/commonjs/models/CourierUserPreferencesTopic.js.map +1 -0
  30. package/lib/module/index.js +36 -17
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/models/CourierPaging.js +2 -0
  33. package/lib/module/models/CourierPaging.js.map +1 -0
  34. package/lib/module/models/CourierPushProvider.js +9 -0
  35. package/lib/module/models/CourierPushProvider.js.map +1 -0
  36. package/lib/module/models/CourierUserPreferences.js +2 -0
  37. package/lib/module/models/CourierUserPreferences.js.map +1 -0
  38. package/lib/module/models/CourierUserPreferencesChannel.js +10 -0
  39. package/lib/module/models/CourierUserPreferencesChannel.js.map +1 -0
  40. package/lib/module/models/CourierUserPreferencesStatus.js +8 -0
  41. package/lib/module/models/CourierUserPreferencesStatus.js.map +1 -0
  42. package/lib/module/models/CourierUserPreferencesTopic.js +2 -0
  43. package/lib/module/models/CourierUserPreferencesTopic.js.map +1 -0
  44. package/lib/typescript/index.d.ts +43 -8
  45. package/lib/typescript/index.d.ts.map +1 -1
  46. package/lib/typescript/models/CourierInboxTheme.d.ts +24 -8
  47. package/lib/typescript/models/CourierInboxTheme.d.ts.map +1 -1
  48. package/lib/typescript/models/CourierPaging.d.ts +5 -0
  49. package/lib/typescript/models/CourierPaging.d.ts.map +1 -0
  50. package/lib/typescript/models/CourierPushProvider.d.ts +8 -0
  51. package/lib/typescript/models/CourierPushProvider.d.ts.map +1 -0
  52. package/lib/typescript/models/CourierUserPreferences.d.ts +7 -0
  53. package/lib/typescript/models/CourierUserPreferences.d.ts.map +1 -0
  54. package/lib/typescript/models/CourierUserPreferencesChannel.d.ts +9 -0
  55. package/lib/typescript/models/CourierUserPreferencesChannel.d.ts.map +1 -0
  56. package/lib/typescript/models/CourierUserPreferencesStatus.d.ts +7 -0
  57. package/lib/typescript/models/CourierUserPreferencesStatus.d.ts.map +1 -0
  58. package/lib/typescript/models/CourierUserPreferencesTopic.d.ts +11 -0
  59. package/lib/typescript/models/CourierUserPreferencesTopic.d.ts.map +1 -0
  60. package/lib/typescript/views/CourierInboxView.d.ts +3 -3
  61. package/lib/typescript/views/CourierInboxView.d.ts.map +1 -1
  62. package/package.json +4 -2
  63. package/src/index.tsx +43 -20
  64. package/src/models/CourierInboxTheme.tsx +28 -8
  65. package/src/models/CourierPaging.tsx +4 -0
  66. package/src/models/CourierPushProvider.tsx +7 -0
  67. package/src/models/CourierUserPreferences.tsx +7 -0
  68. package/src/models/CourierUserPreferencesChannel.tsx +8 -0
  69. package/src/models/CourierUserPreferencesStatus.tsx +6 -0
  70. package/src/models/CourierUserPreferencesTopic.tsx +11 -0
  71. package/src/views/CourierInboxView.tsx +3 -3
  72. package/lib/commonjs/hooks/CourierProvider.js +0 -254
  73. package/lib/commonjs/hooks/CourierProvider.js.map +0 -1
  74. package/lib/module/hooks/CourierProvider.js +0 -241
  75. package/lib/module/hooks/CourierProvider.js.map +0 -1
  76. package/lib/typescript/hooks/CourierProvider.d.ts +0 -57
  77. package/lib/typescript/hooks/CourierProvider.d.ts.map +0 -1
  78. package/src/hooks/CourierProvider.tsx +0 -356
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -3,19 +3,35 @@ export interface CourierInboxFont {
3
3
  size?: number;
4
4
  color?: string;
5
5
  }
6
- export interface CourierInboxButtonStyles {
6
+ export interface CourierInboxButtonStyle {
7
+ unread?: CourierInboxButton;
8
+ read?: CourierInboxButton;
9
+ }
10
+ export interface CourierInboxButton {
7
11
  font?: CourierInboxFont;
8
12
  backgroundColor?: string;
9
13
  cornerRadius?: number;
10
14
  }
11
- export default interface CourierInboxTheme {
12
- unreadIndicatorBarColor?: string;
15
+ export interface CourierInboxTextStyle {
16
+ unread?: CourierInboxFont;
17
+ read?: CourierInboxFont;
18
+ }
19
+ export interface CourierInboxInfoViewStyle {
20
+ font?: CourierInboxFont;
21
+ button?: CourierInboxButton;
22
+ }
23
+ export interface CourierInboxUnreadIndicatorStyle {
24
+ indicator?: 'dot' | 'line';
25
+ color?: string;
26
+ }
27
+ export interface CourierInboxTheme {
13
28
  loadingIndicatorColor?: string;
14
- titleFont?: CourierInboxFont;
15
- timeFont?: CourierInboxFont;
16
- bodyFont?: CourierInboxFont;
17
- detailTitleFont?: CourierInboxFont;
18
- buttonStyles?: CourierInboxButtonStyles;
29
+ unreadIndicatorStyle?: CourierInboxUnreadIndicatorStyle;
30
+ titleStyle?: CourierInboxTextStyle;
31
+ timeStyle?: CourierInboxTextStyle;
32
+ bodyStyle?: CourierInboxTextStyle;
33
+ buttonStyle?: CourierInboxButtonStyle;
34
+ infoViewStyle?: CourierInboxInfoViewStyle;
19
35
  iOS?: {
20
36
  messageAnimationStyle?: 'fade' | 'right' | 'left' | 'top' | 'bottom' | 'none' | 'middle' | 'automatic';
21
37
  cellStyles?: {
@@ -1 +1 @@
1
- {"version":3,"file":"CourierInboxTheme.d.ts","sourceRoot":"","sources":["../../../src/models/CourierInboxTheme.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,YAAY,CAAC,EAAE,wBAAwB,CAAA;IACvC,GAAG,CAAC,EAAE;QACJ,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;QACvG,UAAU,CAAC,EAAE;YACX,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,CAAC;YAC5D,eAAe,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YACnF,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACvD,CAAA;KACF,CAAC;IACF,OAAO,CAAC,EAAE;QACR,qBAAqB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;KAC7C,CAAA;CACF"}
1
+ {"version":3,"file":"CourierInboxTheme.d.ts","sourceRoot":"","sources":["../../../src/models/CourierInboxTheme.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;IACvD,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC,aAAa,CAAC,EAAE,yBAAyB,CAAA;IACzC,GAAG,CAAC,EAAE;QACJ,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;QACvG,UAAU,CAAC,EAAE;YACX,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,CAAC;YAC5D,eAAe,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YACnF,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACvD,CAAA;KACF,CAAC;IACF,OAAO,CAAC,EAAE;QACR,qBAAqB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;KAC7C,CAAA;CACF"}
@@ -0,0 +1,5 @@
1
+ export interface CourierPaging {
2
+ cursor?: string;
3
+ more: boolean;
4
+ }
5
+ //# sourceMappingURL=CourierPaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierPaging.d.ts","sourceRoot":"","sources":["../../../src/models/CourierPaging.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf"}
@@ -0,0 +1,8 @@
1
+ export declare enum CourierPushProvider {
2
+ APN = "apn",
3
+ FIREBASE_FCM = "firebase-fcm",
4
+ EXPO = "expo",
5
+ ONE_SIGNAL = "onesignal",
6
+ PUSHER_BEAMS = "pusher-beams"
7
+ }
8
+ //# sourceMappingURL=CourierPushProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierPushProvider.d.ts","sourceRoot":"","sources":["../../../src/models/CourierPushProvider.tsx"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,UAAU,cAAc;IACxB,YAAY,iBAAiB;CAC9B"}
@@ -0,0 +1,7 @@
1
+ import { CourierPaging } from "./CourierPaging";
2
+ import { CourierUserPreferencesTopic } from "./CourierUserPreferencesTopic";
3
+ export interface CourierUserPreferences {
4
+ items?: CourierUserPreferencesTopic[];
5
+ paging?: CourierPaging;
6
+ }
7
+ //# sourceMappingURL=CourierUserPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierUserPreferences.d.ts","sourceRoot":"","sources":["../../../src/models/CourierUserPreferences.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACtC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB"}
@@ -0,0 +1,9 @@
1
+ export declare enum CourierUserPreferencesChannel {
2
+ DirectMessage = "direct_message",
3
+ Email = "email",
4
+ Push = "push",
5
+ SMS = "sms",
6
+ Webhook = "webhook",
7
+ Unknown = "unknown"
8
+ }
9
+ //# sourceMappingURL=CourierUserPreferencesChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierUserPreferencesChannel.d.ts","sourceRoot":"","sources":["../../../src/models/CourierUserPreferencesChannel.tsx"],"names":[],"mappings":"AAAA,oBAAY,6BAA6B;IACvC,aAAa,mBAAmB;IAChC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,7 @@
1
+ export declare enum CourierUserPreferencesStatus {
2
+ OptedIn = "OPTED_IN",
3
+ OptedOut = "OPTED_OUT",
4
+ Required = "REQUIRED",
5
+ Unknown = "UNKNOWN"
6
+ }
7
+ //# sourceMappingURL=CourierUserPreferencesStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierUserPreferencesStatus.d.ts","sourceRoot":"","sources":["../../../src/models/CourierUserPreferencesStatus.tsx"],"names":[],"mappings":"AAAA,oBAAY,4BAA4B;IACtC,OAAO,aAAa;IACpB,QAAQ,cAAc;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,11 @@
1
+ import { CourierUserPreferencesChannel } from "./CourierUserPreferencesChannel";
2
+ import { CourierUserPreferencesStatus } from "./CourierUserPreferencesStatus";
3
+ export interface CourierUserPreferencesTopic {
4
+ defaultStatus?: string;
5
+ hasCustomRouting?: string;
6
+ customRouting?: CourierUserPreferencesChannel[];
7
+ status?: CourierUserPreferencesStatus;
8
+ topicId?: string;
9
+ topicName?: string;
10
+ }
11
+ //# sourceMappingURL=CourierUserPreferencesTopic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierUserPreferencesTopic.d.ts","sourceRoot":"","sources":["../../../src/models/CourierUserPreferencesTopic.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  import { ViewStyle } from "react-native";
3
- import CourierInboxTheme from "src/models/CourierInboxTheme";
4
- import { InboxAction } from "src/models/InboxAction";
5
- import { InboxMessage } from "src/models/InboxMessage";
3
+ import { InboxAction } from "../models/InboxAction";
4
+ import { InboxMessage } from "../models/InboxMessage";
5
+ import { CourierInboxTheme } from "src/models/CourierInboxTheme";
6
6
  type CourierInboxViewProps = {
7
7
  theme?: {
8
8
  light?: CourierInboxTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"CourierInboxView.d.ts","sourceRoot":"","sources":["../../../src/views/CourierInboxView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAA+C,SAAS,EAA2C,MAAM,cAAc,CAAC;AAC/H,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,KAAK,qBAAqB,GAAG;IAC3B,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAA;KACzB,CAAC;IACF,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,mCAAmC,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBAiG5D,CAAA"}
1
+ {"version":3,"file":"CourierInboxView.d.ts","sourceRoot":"","sources":["../../../src/views/CourierInboxView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAA+C,SAAS,EAA2C,MAAM,cAAc,CAAC;AAC/H,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,KAAK,qBAAqB,GAAG;IAC3B,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAA;KACzB,CAAC;IACF,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,mCAAmC,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBAiG5D,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trycourier/courier-react-native",
3
- "version": "2.0.3",
3
+ "version": "2.2.0",
4
4
  "description": "Inbox & Push Notifications for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -36,7 +36,9 @@
36
36
  "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
37
37
  "build:ios": "cd example/ios && xcodebuild -workspace CourierReactNativeExample.xcworkspace -scheme CourierReactNativeExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO",
38
38
  "bootstrap": "yarn example && yarn install && yarn example pods",
39
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
39
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build",
40
+ "linkPackage": "yarn link && yarn example link @trycourier/courier-react-native && yarn example setupEnv",
41
+ "setup": "sh setup.sh"
40
42
  },
41
43
  "keywords": [
42
44
  "react-native",
package/src/index.tsx CHANGED
@@ -11,13 +11,21 @@ import { CourierInboxListener } from './models/CourierInboxListener';
11
11
  import { CourierPushListener } from './models/CourierPushListener';
12
12
  import { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
13
13
  import { InboxMessage } from './models/InboxMessage';
14
+ import { CourierUserPreferences } from './models/CourierUserPreferences';
15
+ import { CourierUserPreferencesTopic } from './models/CourierUserPreferencesTopic';
16
+ import { CourierUserPreferencesChannel } from './models/CourierUserPreferencesChannel';
17
+ import { CourierUserPreferencesStatus } from './models/CourierUserPreferencesStatus';
18
+ import { CourierPushProvider } from './models/CourierPushProvider';
14
19
 
15
20
  // Exports
16
21
  export { CourierInboxView } from './views/CourierInboxView';
17
- export { CourierProvider, useCourierAuth, useCourierPush, useCourierInbox } from './hooks/CourierProvider';
18
22
  export { CourierInboxListener } from './models/CourierInboxListener';
19
23
  export { CourierPushListener } from './models/CourierPushListener';
20
24
  export { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
25
+ export { CourierUserPreferencesChannel } from './models/CourierUserPreferencesChannel';
26
+ export { CourierUserPreferencesStatus } from './models/CourierUserPreferencesStatus';
27
+ export { CourierPushProvider } from './models/CourierPushProvider';
28
+ export { CourierInboxFont, CourierInboxButtonStyle, CourierInboxButton, CourierInboxTextStyle, CourierInboxInfoViewStyle, CourierInboxUnreadIndicatorStyle, CourierInboxTheme } from './models/CourierInboxTheme';
21
29
  export type iOSForegroundPresentationOptions = 'sound' | 'badge' | 'list' | 'banner';
22
30
 
23
31
  const LINKING_ERROR =
@@ -122,25 +130,25 @@ class Courier {
122
130
  }
123
131
 
124
132
  /**
125
- * Gets the apns token being used
133
+ * Gets a token for key
126
134
  */
127
- get apnsToken(): string | undefined {
128
- if (Platform.OS !== 'ios') return undefined;
129
- return CourierReactNativeModules.getApnsToken();
135
+ public getToken(props: { key: string }): string | undefined {
136
+ return CourierReactNativeModules.getToken(props.key);
130
137
  }
131
138
 
132
- /**
133
- * Gets the fcm token being used
134
- */
135
- get fcmToken(): Promise<string | undefined> {
136
- return CourierReactNativeModules.getFcmToken();
139
+ public getTokenForProvider(props: { provider: CourierPushProvider }): string | undefined {
140
+ return CourierReactNativeModules.getToken(props.provider);
137
141
  }
138
142
 
139
143
  /**
140
144
  * Sets the fcm token to be used by Courier
141
145
  */
142
- public setFcmToken(props: { token: string }): Promise<void> {
143
- return CourierReactNativeModules.setFcmToken(props.token);
146
+ public setToken(props: { key: string, token: string }): Promise<void> {
147
+ return CourierReactNativeModules.setToken(props.key, props.token);
148
+ }
149
+
150
+ public setTokenForProvider(props: { provider: CourierPushProvider, token: string }): Promise<void> {
151
+ return CourierReactNativeModules.setToken(props.provider, props.token);
144
152
  }
145
153
 
146
154
  /**
@@ -153,7 +161,7 @@ class Courier {
153
161
  return CourierReactNativeModules.getNotificationPermissionStatus();
154
162
  }
155
163
 
156
- return Promise.reject('unknown')
164
+ return Promise.reject('unknown');
157
165
 
158
166
  }
159
167
 
@@ -163,13 +171,7 @@ class Courier {
163
171
  * Only supported on iOS
164
172
  */
165
173
  public requestNotificationPermission(): Promise<string> {
166
-
167
- if (Platform.OS === 'ios') {
168
- return CourierReactNativeModules.requestNotificationPermission();
169
- }
170
-
171
- return Promise.reject('unknown')
172
-
174
+ return CourierReactNativeModules.requestNotificationPermission();
173
175
  }
174
176
 
175
177
  /**
@@ -379,6 +381,27 @@ class Courier {
379
381
  CourierReactNativeModules.setInboxPaginationLimit(props.limit);
380
382
  }
381
383
 
384
+ /**
385
+ * Get all available preferences
386
+ */
387
+ public async getUserPreferences(props?: { paginationCursor: string }): Promise<CourierUserPreferences> {
388
+ return CourierReactNativeModules.getUserPreferences(props?.paginationCursor ?? "");
389
+ }
390
+
391
+ /**
392
+ * Get individual preferences topic
393
+ */
394
+ public async getUserPreferencesTopic(props: { topicId: string }): Promise<CourierUserPreferencesTopic> {
395
+ return CourierReactNativeModules.getUserPreferencesTopic(props.topicId);
396
+ }
397
+
398
+ /**
399
+ * Update individual preferences topic
400
+ */
401
+ public async putUserPreferencesTopic(props: { topicId: string, status: CourierUserPreferencesStatus, hasCustomRouting: boolean, customRouting: CourierUserPreferencesChannel[] }): Promise<void> {
402
+ return CourierReactNativeModules.putUserPreferencesTopic(props.topicId, props.status, props.hasCustomRouting, props.customRouting);
403
+ }
404
+
382
405
  }
383
406
 
384
407
  export default Courier;
@@ -4,20 +4,40 @@ export interface CourierInboxFont {
4
4
  color?: string
5
5
  }
6
6
 
7
- export interface CourierInboxButtonStyles {
7
+ export interface CourierInboxButtonStyle {
8
+ unread?: CourierInboxButton
9
+ read?: CourierInboxButton
10
+ }
11
+
12
+ export interface CourierInboxButton {
8
13
  font?: CourierInboxFont
9
14
  backgroundColor?: string
10
15
  cornerRadius?: number
11
16
  }
12
17
 
13
- export default interface CourierInboxTheme {
14
- unreadIndicatorBarColor?: string
18
+ export interface CourierInboxTextStyle {
19
+ unread?: CourierInboxFont
20
+ read?: CourierInboxFont
21
+ }
22
+
23
+ export interface CourierInboxInfoViewStyle {
24
+ font?: CourierInboxFont
25
+ button?: CourierInboxButton
26
+ }
27
+
28
+ export interface CourierInboxUnreadIndicatorStyle {
29
+ indicator?: 'dot' | 'line'
30
+ color?: string
31
+ }
32
+
33
+ export interface CourierInboxTheme {
15
34
  loadingIndicatorColor?: string
16
- titleFont?: CourierInboxFont
17
- timeFont?: CourierInboxFont
18
- bodyFont?: CourierInboxFont
19
- detailTitleFont?: CourierInboxFont
20
- buttonStyles?: CourierInboxButtonStyles
35
+ unreadIndicatorStyle?: CourierInboxUnreadIndicatorStyle
36
+ titleStyle?: CourierInboxTextStyle
37
+ timeStyle?: CourierInboxTextStyle
38
+ bodyStyle?: CourierInboxTextStyle
39
+ buttonStyle?: CourierInboxButtonStyle
40
+ infoViewStyle?: CourierInboxInfoViewStyle
21
41
  iOS?: {
22
42
  messageAnimationStyle?: 'fade' | 'right' | 'left' | 'top' | 'bottom' | 'none' | 'middle' | 'automatic',
23
43
  cellStyles?: {
@@ -0,0 +1,4 @@
1
+ export interface CourierPaging {
2
+ cursor?: string;
3
+ more: boolean;
4
+ }
@@ -0,0 +1,7 @@
1
+ export enum CourierPushProvider {
2
+ APN = 'apn',
3
+ FIREBASE_FCM = 'firebase-fcm',
4
+ EXPO = 'expo',
5
+ ONE_SIGNAL = 'onesignal',
6
+ PUSHER_BEAMS = 'pusher-beams',
7
+ }
@@ -0,0 +1,7 @@
1
+ import { CourierPaging } from "./CourierPaging";
2
+ import { CourierUserPreferencesTopic } from "./CourierUserPreferencesTopic";
3
+
4
+ export interface CourierUserPreferences {
5
+ items?: CourierUserPreferencesTopic[];
6
+ paging?: CourierPaging;
7
+ }
@@ -0,0 +1,8 @@
1
+ export enum CourierUserPreferencesChannel {
2
+ DirectMessage = 'direct_message',
3
+ Email = 'email',
4
+ Push = 'push',
5
+ SMS = 'sms',
6
+ Webhook = 'webhook',
7
+ Unknown = 'unknown'
8
+ }
@@ -0,0 +1,6 @@
1
+ export enum CourierUserPreferencesStatus {
2
+ OptedIn = "OPTED_IN",
3
+ OptedOut = "OPTED_OUT",
4
+ Required = "REQUIRED",
5
+ Unknown = "UNKNOWN"
6
+ }
@@ -0,0 +1,11 @@
1
+ import { CourierUserPreferencesChannel } from "./CourierUserPreferencesChannel";
2
+ import { CourierUserPreferencesStatus } from "./CourierUserPreferencesStatus";
3
+
4
+ export interface CourierUserPreferencesTopic {
5
+ defaultStatus?: string;
6
+ hasCustomRouting?: string;
7
+ customRouting?: CourierUserPreferencesChannel[];
8
+ status?: CourierUserPreferencesStatus;
9
+ topicId?: string;
10
+ topicName?: string;
11
+ }
@@ -1,8 +1,8 @@
1
1
  import React, { useEffect } from "react";
2
2
  import { Platform, requireNativeComponent, UIManager, ViewStyle, DeviceEventEmitter, EmitterSubscription } from "react-native";
3
- import CourierInboxTheme from "src/models/CourierInboxTheme";
4
- import { InboxAction } from "src/models/InboxAction";
5
- import { InboxMessage } from "src/models/InboxMessage";
3
+ import { InboxAction } from "../models/InboxAction";
4
+ import { InboxMessage } from "../models/InboxMessage";
5
+ import { CourierInboxTheme } from "src/models/CourierInboxTheme";
6
6
 
7
7
  type CourierInboxViewProps = {
8
8
  theme?: {