react-native-unit-components 0.1.0 → 1.0.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 (241) hide show
  1. package/README.md +157 -2
  2. package/lib/commonjs/assets/images/close.png +0 -0
  3. package/lib/commonjs/assets/images/index.js +16 -0
  4. package/lib/commonjs/assets/images/index.js.map +1 -0
  5. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +28 -0
  6. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -0
  7. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +20 -0
  8. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -0
  9. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +39 -0
  10. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -0
  11. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +40 -0
  12. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -0
  13. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +9 -0
  14. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -0
  15. package/lib/commonjs/components/{BottomSheet/BottomSheetComponent.js → UNBottomSheetComponent/UNBottomSheetComponent.js} +84 -65
  16. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -0
  17. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js +23 -0
  18. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -0
  19. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +49 -0
  20. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -0
  21. package/lib/commonjs/components/{Card/CardComponent.js → UNCardComponent/UNCardComponent.js} +42 -46
  22. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -0
  23. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +42 -0
  24. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -0
  25. package/lib/commonjs/components/index.js +34 -8
  26. package/lib/commonjs/components/index.js.map +1 -1
  27. package/lib/commonjs/custom.d.js +2 -0
  28. package/lib/commonjs/custom.d.js.map +1 -0
  29. package/lib/commonjs/helpers/{BottomSheet.js → BottomSheet/BottomSheet.js} +36 -82
  30. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -0
  31. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js +82 -0
  32. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js.map +1 -0
  33. package/lib/commonjs/helpers/EventBus.js +5 -13
  34. package/lib/commonjs/helpers/EventBus.js.map +1 -1
  35. package/lib/commonjs/hooks/listenerToBus.js +31 -0
  36. package/lib/commonjs/hooks/listenerToBus.js.map +1 -0
  37. package/lib/commonjs/hooks/useAppStateListener.js +34 -0
  38. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -0
  39. package/lib/commonjs/index.js +33 -0
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/messages/nativeMessages/index.js +13 -0
  42. package/lib/commonjs/messages/nativeMessages/index.js.map +1 -0
  43. package/lib/commonjs/messages/webMessages/bookPaymentMessage.js +13 -0
  44. package/lib/commonjs/messages/webMessages/bookPaymentMessage.js.map +1 -0
  45. package/lib/commonjs/{webComponent → messages}/webMessages/cardMessage.js +1 -1
  46. package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -0
  47. package/lib/commonjs/messages/webMessages/index.js +6 -0
  48. package/lib/commonjs/messages/webMessages/index.js.map +1 -0
  49. package/lib/commonjs/{webComponent → messages}/webMessages/pageMessage.js +0 -0
  50. package/lib/commonjs/{webComponent → messages}/webMessages/pageMessage.js.map +0 -0
  51. package/lib/commonjs/{webComponent → messages}/webMessages/unitMessages.js +0 -0
  52. package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -0
  53. package/lib/commonjs/nativeComponenet/NativeComponentExample.js +2 -2
  54. package/lib/commonjs/nativeComponenet/NativeComponentExample.js.map +1 -1
  55. package/lib/commonjs/scripts/html/bodyHtml.js +52 -0
  56. package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -0
  57. package/lib/commonjs/scripts/html/bodyScript.js +78 -0
  58. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -0
  59. package/lib/commonjs/sharedTypes/bookPayment.types.js +6 -0
  60. package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -0
  61. package/lib/commonjs/sharedTypes/card.types.js +6 -0
  62. package/lib/commonjs/sharedTypes/card.types.js.map +1 -0
  63. package/lib/commonjs/sharedTypes/index.js +32 -0
  64. package/lib/commonjs/sharedTypes/index.js.map +1 -0
  65. package/lib/commonjs/sharedTypes/types.js +2 -0
  66. package/lib/commonjs/sharedTypes/types.js.map +1 -0
  67. package/lib/commonjs/styles/variables.js +17 -0
  68. package/lib/commonjs/styles/variables.js.map +1 -0
  69. package/lib/commonjs/unitSdkManager/UnitSdk.api.js +54 -0
  70. package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -0
  71. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +51 -0
  72. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -0
  73. package/lib/commonjs/webComponent/WebComponent.js +35 -15
  74. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  75. package/lib/commonjs/webComponent/html.js +22 -45
  76. package/lib/commonjs/webComponent/html.js.map +1 -1
  77. package/lib/module/assets/images/close.png +0 -0
  78. package/lib/module/assets/images/index.js +2 -0
  79. package/lib/module/assets/images/index.js.map +1 -0
  80. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +13 -0
  81. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -0
  82. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +10 -0
  83. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -0
  84. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +23 -0
  85. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -0
  86. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +26 -0
  87. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -0
  88. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +2 -0
  89. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -0
  90. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +131 -0
  91. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -0
  92. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js +13 -0
  93. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -0
  94. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +29 -0
  95. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -0
  96. package/lib/module/components/UNCardComponent/UNCardComponent.js +65 -0
  97. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -0
  98. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +24 -0
  99. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -0
  100. package/lib/module/components/index.js +4 -2
  101. package/lib/module/components/index.js.map +1 -1
  102. package/lib/module/custom.d.js +2 -0
  103. package/lib/module/custom.d.js.map +1 -0
  104. package/lib/module/helpers/{BottomSheet.js → BottomSheet/BottomSheet.js} +34 -81
  105. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -0
  106. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +70 -0
  107. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -0
  108. package/lib/module/helpers/EventBus.js +4 -11
  109. package/lib/module/helpers/EventBus.js.map +1 -1
  110. package/lib/module/hooks/listenerToBus.js +18 -0
  111. package/lib/module/hooks/listenerToBus.js.map +1 -0
  112. package/lib/module/hooks/useAppStateListener.js +23 -0
  113. package/lib/module/hooks/useAppStateListener.js.map +1 -0
  114. package/lib/module/index.js +2 -0
  115. package/lib/module/index.js.map +1 -1
  116. package/lib/module/messages/nativeMessages/index.js +6 -0
  117. package/lib/module/messages/nativeMessages/index.js.map +1 -0
  118. package/lib/module/messages/webMessages/bookPaymentMessage.js +6 -0
  119. package/lib/module/messages/webMessages/bookPaymentMessage.js.map +1 -0
  120. package/lib/module/messages/webMessages/cardMessage.js +6 -0
  121. package/lib/module/messages/webMessages/cardMessage.js.map +1 -0
  122. package/lib/module/messages/webMessages/index.js +2 -0
  123. package/lib/module/messages/webMessages/index.js.map +1 -0
  124. package/lib/module/{webComponent → messages}/webMessages/pageMessage.js +0 -0
  125. package/lib/module/{webComponent → messages}/webMessages/pageMessage.js.map +0 -0
  126. package/lib/module/{webComponent → messages}/webMessages/unitMessages.js +0 -0
  127. package/lib/module/messages/webMessages/unitMessages.js.map +1 -0
  128. package/lib/module/nativeComponenet/NativeComponentExample.js +2 -2
  129. package/lib/module/nativeComponenet/NativeComponentExample.js.map +1 -1
  130. package/lib/module/scripts/html/bodyHtml.js +42 -0
  131. package/lib/module/scripts/html/bodyHtml.js.map +1 -0
  132. package/lib/module/scripts/html/bodyScript.js +64 -0
  133. package/lib/module/scripts/html/bodyScript.js.map +1 -0
  134. package/lib/module/sharedTypes/bookPayment.types.js +2 -0
  135. package/lib/module/sharedTypes/bookPayment.types.js.map +1 -0
  136. package/lib/module/sharedTypes/card.types.js +2 -0
  137. package/lib/module/sharedTypes/card.types.js.map +1 -0
  138. package/lib/module/sharedTypes/index.js +3 -0
  139. package/lib/module/sharedTypes/index.js.map +1 -0
  140. package/lib/module/sharedTypes/types.js +2 -0
  141. package/lib/module/sharedTypes/types.js.map +1 -0
  142. package/lib/module/styles/variables.js +10 -0
  143. package/lib/module/styles/variables.js.map +1 -0
  144. package/lib/module/unitSdkManager/UnitSdk.api.js +37 -0
  145. package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -0
  146. package/lib/module/unitSdkManager/UnitSdkManager.js +38 -0
  147. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -0
  148. package/lib/module/webComponent/WebComponent.js +34 -14
  149. package/lib/module/webComponent/WebComponent.js.map +1 -1
  150. package/lib/module/webComponent/html.js +18 -44
  151. package/lib/module/webComponent/html.js.map +1 -1
  152. package/lib/typescript/assets/images/index.d.ts +1 -0
  153. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +6 -0
  154. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.utils.d.ts +2 -0
  155. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +11 -0
  156. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.d.ts +3 -0
  157. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.d.ts +1 -0
  158. package/lib/typescript/components/{BottomSheet/BottomSheetComponent.d.ts → UNBottomSheetComponent/UNBottomSheetComponent.d.ts} +0 -0
  159. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.d.ts +9 -0
  160. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +5 -0
  161. package/lib/typescript/components/{Card/CardComponent.d.ts → UNCardComponent/UNCardComponent.d.ts} +3 -1
  162. package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +6 -0
  163. package/lib/typescript/components/index.d.ts +4 -2
  164. package/lib/typescript/helpers/{BottomSheet.d.ts → BottomSheet/BottomSheet.d.ts} +1 -0
  165. package/lib/typescript/helpers/BottomSheet/BottomSheet.styles.d.ts +63 -0
  166. package/lib/typescript/helpers/EventBus.d.ts +5 -7
  167. package/lib/typescript/hooks/listenerToBus.d.ts +7 -0
  168. package/lib/typescript/hooks/useAppStateListener.d.ts +1 -0
  169. package/lib/typescript/index.d.ts +2 -0
  170. package/lib/typescript/messages/nativeMessages/index.d.ts +3 -0
  171. package/lib/typescript/messages/webMessages/bookPaymentMessage.d.ts +8 -0
  172. package/lib/typescript/{webComponent → messages}/webMessages/cardMessage.d.ts +3 -2
  173. package/lib/typescript/messages/webMessages/index.d.ts +11 -0
  174. package/lib/typescript/{webComponent → messages}/webMessages/pageMessage.d.ts +0 -0
  175. package/lib/typescript/{webComponent → messages}/webMessages/unitMessages.d.ts +0 -0
  176. package/lib/typescript/scripts/html/bodyHtml.d.ts +7 -0
  177. package/lib/typescript/scripts/html/bodyScript.d.ts +11 -0
  178. package/lib/typescript/sharedTypes/bookPayment.types.d.ts +26 -0
  179. package/lib/typescript/sharedTypes/card.types.d.ts +56 -0
  180. package/lib/typescript/sharedTypes/index.d.ts +2 -0
  181. package/lib/typescript/sharedTypes/types.d.ts +27 -0
  182. package/lib/typescript/styles/variables.d.ts +9 -0
  183. package/lib/typescript/unitSdkManager/UnitSdk.api.d.ts +3 -0
  184. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +15 -0
  185. package/lib/typescript/webComponent/WebComponent.d.ts +8 -11
  186. package/lib/typescript/webComponent/html.d.ts +6 -1
  187. package/package.json +9 -5
  188. package/{unit-react-native-components.podspec → react-native-unit-components.podspec} +1 -1
  189. package/src/assets/images/close.png +0 -0
  190. package/src/assets/images/index.ts +1 -0
  191. package/src/components/UNActivityComponent/UNActivityComponent.tsx +21 -0
  192. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +11 -0
  193. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +37 -0
  194. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +29 -0
  195. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.ts +1 -0
  196. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.ts +13 -0
  197. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +136 -0
  198. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +34 -0
  199. package/src/components/UNCardComponent/UNCardComponent.tsx +73 -0
  200. package/src/components/UNCardComponent/UNCardComponent.utils.ts +28 -0
  201. package/src/components/index.ts +4 -2
  202. package/src/custom.d.ts +5 -0
  203. package/src/helpers/BottomSheet/BottomSheet.styles.ts +70 -0
  204. package/src/helpers/{BottomSheet.tsx → BottomSheet/BottomSheet.tsx} +72 -110
  205. package/src/helpers/EventBus.ts +13 -13
  206. package/src/hooks/listenerToBus.ts +23 -0
  207. package/src/hooks/useAppStateListener.ts +25 -0
  208. package/src/index.tsx +5 -1
  209. package/src/messages/nativeMessages/index.ts +3 -0
  210. package/src/messages/webMessages/bookPaymentMessage.ts +12 -0
  211. package/src/{webComponent → messages}/webMessages/cardMessage.ts +4 -2
  212. package/src/messages/webMessages/index.ts +21 -0
  213. package/src/{webComponent → messages}/webMessages/pageMessage.ts +0 -0
  214. package/src/{webComponent → messages}/webMessages/unitMessages.ts +1 -0
  215. package/src/nativeComponenet/NativeComponentExample.tsx +2 -2
  216. package/src/scripts/html/bodyHtml.ts +46 -0
  217. package/src/scripts/html/bodyScript.ts +67 -0
  218. package/src/sharedTypes/bookPayment.types.ts +27 -0
  219. package/src/sharedTypes/card.types.ts +59 -0
  220. package/src/sharedTypes/index.ts +2 -0
  221. package/src/sharedTypes/types.ts +35 -0
  222. package/src/styles/variables.ts +9 -0
  223. package/src/unitSdkManager/UnitSdk.api.ts +31 -0
  224. package/src/unitSdkManager/UnitSdkManager.ts +33 -0
  225. package/src/webComponent/WebComponent.tsx +43 -45
  226. package/src/webComponent/html.ts +22 -46
  227. package/lib/commonjs/components/BottomSheet/BottomSheetComponent.js.map +0 -1
  228. package/lib/commonjs/components/Card/CardComponent.js.map +0 -1
  229. package/lib/commonjs/helpers/BottomSheet.js.map +0 -1
  230. package/lib/commonjs/webComponent/webMessages/cardMessage.js.map +0 -1
  231. package/lib/commonjs/webComponent/webMessages/unitMessages.js.map +0 -1
  232. package/lib/module/components/BottomSheet/BottomSheetComponent.js +0 -118
  233. package/lib/module/components/BottomSheet/BottomSheetComponent.js.map +0 -1
  234. package/lib/module/components/Card/CardComponent.js +0 -75
  235. package/lib/module/components/Card/CardComponent.js.map +0 -1
  236. package/lib/module/helpers/BottomSheet.js.map +0 -1
  237. package/lib/module/webComponent/webMessages/cardMessage.js +0 -6
  238. package/lib/module/webComponent/webMessages/cardMessage.js.map +0 -1
  239. package/lib/module/webComponent/webMessages/unitMessages.js.map +0 -1
  240. package/src/components/BottomSheet/BottomSheetComponent.tsx +0 -113
  241. package/src/components/Card/CardComponent.tsx +0 -75
@@ -6,6 +6,7 @@ export interface BottomSheetProps {
6
6
  sliderMaxHeight: number;
7
7
  onOpen: () => void;
8
8
  onClose: () => void;
9
+ height: number;
9
10
  animationDuration: number;
10
11
  expandToMaxHeightEnabled: boolean;
11
12
  }
@@ -0,0 +1,63 @@
1
+ export declare const getStylesObject: (fadeAnim: any) => {
2
+ outsideContainer: {
3
+ position: "absolute";
4
+ top: number;
5
+ bottom: number;
6
+ right: number;
7
+ left: number;
8
+ };
9
+ animation: {
10
+ backgroundColor: string;
11
+ flex: number;
12
+ opacity: any;
13
+ };
14
+ container: {
15
+ position: "relative";
16
+ flex: number;
17
+ marginTop: number;
18
+ shadowColor: string;
19
+ shadowOffset: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ shadowOpacity: number;
24
+ shadowRadius: number;
25
+ elevation: number;
26
+ borderTopLeftRadius: number;
27
+ borderTopRightRadius: number;
28
+ backgroundColor: string;
29
+ overflow: "hidden";
30
+ };
31
+ lineContainer: {
32
+ borderTopLeftRadius: number;
33
+ borderTopRightRadius: number;
34
+ alignItems: "center";
35
+ };
36
+ line: {
37
+ width: number;
38
+ height: number;
39
+ borderRadius: number;
40
+ marginTop: number;
41
+ backgroundColor: string;
42
+ };
43
+ outerContent: {
44
+ flex: number;
45
+ };
46
+ innerContent: {
47
+ flex: number;
48
+ };
49
+ closeButton: {
50
+ position: "absolute";
51
+ display: "flex";
52
+ alignItems: "center";
53
+ justifyContent: "center";
54
+ width: number;
55
+ height: number;
56
+ backgroundColor: string;
57
+ borderRadius: number;
58
+ padding: number;
59
+ top: number;
60
+ right: number;
61
+ zIndex: number;
62
+ };
63
+ };
@@ -1,15 +1,13 @@
1
- export declare enum BusEvent {
2
- REQUEST_RENDERING = "unitRequestRendering",
3
- CARD_STATUS_CHANGED = "cardStatusChanged",
4
- REQUEST_REFRESH = "requestRefresh"
5
- }
1
+ import type { NativeMessage } from '../messages/nativeMessages';
2
+ import type { WebViewMessageType } from '../messages/webMessages';
3
+ export declare type BusEventKey = NativeMessage | WebViewMessageType;
6
4
  export default class EventBus {
7
5
  private static _instance;
8
6
  private eventListeners;
9
7
  private constructor();
10
8
  static get Instance(): EventBus;
11
- event(event: BusEvent, data: any): void;
12
- addListener(event: BusEvent, listener: (data: any) => void): void;
9
+ event(event: BusEventKey, data: any): void;
10
+ addListener(event: BusEventKey, listener: (data: any) => void): void;
13
11
  removeListener(listener: (data: any) => void): void;
14
12
  private _remove;
15
13
  }
@@ -0,0 +1,7 @@
1
+ import { BusEventKey } from '../helpers/EventBus';
2
+ declare type Listener = {
3
+ busEventKey: BusEventKey;
4
+ action: (data: any) => void;
5
+ };
6
+ export declare const useListenerToBus: (listeners: Listener[]) => void;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const useAppStateListener: () => boolean;
@@ -1 +1,3 @@
1
1
  export * from './components';
2
+ export * from './sharedTypes';
3
+ export { UnitSDK, UNEnvironment } from './unitSdkManager/UnitSdkManager';
@@ -0,0 +1,3 @@
1
+ export declare enum NativeMessage {
2
+ IS_SCRIPT_FETCHED = "isScriptFetched"
3
+ }
@@ -0,0 +1,8 @@
1
+ import type { UNBookPaymentData } from '../../sharedTypes';
2
+ export declare enum BookPaymentMessage {
3
+ PAYMENT_CREATED = "unitPaymentCreated"
4
+ }
5
+ export interface PaymentCreatedEvent {
6
+ data: UNBookPaymentData;
7
+ }
8
+ export declare type BookPaymentEvent = PaymentCreatedEvent;
@@ -1,7 +1,8 @@
1
+ import type { UNCardData } from '../../sharedTypes';
1
2
  export declare enum CardMessage {
2
- CARD_STATUS_CHANGE = "cardStatusChanged"
3
+ CARD_STATUS_CHANGED = "unitCardStatusChanged"
3
4
  }
4
5
  export interface CardStatusChangedEvent {
5
- card: any;
6
+ card: UNCardData;
6
7
  }
7
8
  export declare type CardEvent = CardStatusChangedEvent;
@@ -0,0 +1,11 @@
1
+ import type { BookPaymentEvent, BookPaymentMessage } from './bookPaymentMessage';
2
+ import type { CardEvent, CardMessage } from './cardMessage';
3
+ import type { PageEvent, PageMessage } from './pageMessage';
4
+ import type { UnitEvent, UnitMessage } from './unitMessages';
5
+ export declare type WebViewMessageType = PageMessage | CardMessage | UnitMessage | BookPaymentMessage;
6
+ declare type WebViewEvent = PageEvent | UnitEvent | CardEvent | BookPaymentEvent;
7
+ export interface WebViewMessage {
8
+ type: WebViewMessageType;
9
+ details?: WebViewEvent;
10
+ }
11
+ export {};
@@ -0,0 +1,7 @@
1
+ export declare const webViewId = "webViewContainer";
2
+ export declare enum PresentationMode {
3
+ CoverInjectedHeight = "coverInjectedHeight",
4
+ Inherit = "inherit",
5
+ Default = "deafult"
6
+ }
7
+ export declare const getHtmlBody: (unitComponent: string, unitComponentProps?: string, presentationMode?: PresentationMode) => string;
@@ -0,0 +1,11 @@
1
+ export declare const POST_MESSAGE_TO_SDK = "\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n";
2
+ export declare const POST_PAGE_HEIGHT: string;
3
+ export declare const LISTENERS: {
4
+ isPageLoaded: string;
5
+ requestRendering: string;
6
+ onLoad: string;
7
+ requestCloseFlow: string;
8
+ requestOpenLink: string;
9
+ cardStatusChange: string;
10
+ };
11
+ export declare const DISPTACH_RENDERING_EVENT: string;
@@ -0,0 +1,26 @@
1
+ import type { Tags, Relationship } from "./types";
2
+ declare type BookPaymentStatus = "Sent" | "Rejected";
3
+ export declare type UNBookPaymentData = {
4
+ type: "bookPayment";
5
+ id: string;
6
+ attributes: {
7
+ createdAt: string | Date;
8
+ status: BookPaymentStatus;
9
+ reason: string;
10
+ direction: 'Debit' | 'Credit';
11
+ description: string;
12
+ transactionSummaryOverride?: string;
13
+ amount: string;
14
+ tags: Tags;
15
+ };
16
+ relationships: {
17
+ account: Relationship;
18
+ customer?: Relationship;
19
+ customers?: Relationship;
20
+ counterpartyAccount: Relationship;
21
+ counterpartyCustomer: Relationship;
22
+ transaction: Relationship;
23
+ recurringPayment: Relationship;
24
+ };
25
+ };
26
+ export {};
@@ -0,0 +1,56 @@
1
+ import type { Address, FullName, Limits, Relationship, Tags } from "./types";
2
+ export declare type UNCardData = IndividualDebitCard | BusinessDebitCard;
3
+ declare type CardStatus = "Active" | "Inactive" | "Stolen" | "Lost" | "Frozen" | "ClosedByCustomer" | "SuspectedFraud";
4
+ declare type IndividualDebitCard = {
5
+ id: string;
6
+ type: "individualDebitCard" | "individualVirtualDebitCard";
7
+ attributes: {
8
+ createdAt: string;
9
+ last4Digits: string;
10
+ expirationDate: string;
11
+ status: CardStatus;
12
+ shippingAddress?: Address;
13
+ updatedAt?: string;
14
+ design?: string;
15
+ additionalEmbossedText?: string;
16
+ idempotencyKey?: string;
17
+ tags?: Tags;
18
+ limits?: Limits;
19
+ printOnlyBusinessName?: boolean;
20
+ };
21
+ relationships: {
22
+ account: Relationship;
23
+ customer: Relationship;
24
+ };
25
+ };
26
+ declare type BusinessDebitCard = {
27
+ id: string;
28
+ type: "businessDebitCard" | "businessVirtualDebitCard";
29
+ attributes: {
30
+ fullName: FullName;
31
+ dateOfBirth: string;
32
+ address: Address;
33
+ shippingAddress?: Address;
34
+ phone: string;
35
+ email: string;
36
+ createdAt: string;
37
+ last4Digits: string;
38
+ expirationDate: string;
39
+ status: CardStatus;
40
+ updatedAt?: string;
41
+ ssn?: string;
42
+ passport?: string;
43
+ nationality?: string;
44
+ design?: string;
45
+ additionalEmbossedText?: string;
46
+ idempotencyKey?: string;
47
+ tags?: Record<string, string>;
48
+ limits?: Limits;
49
+ printOnlyBusinessName?: boolean;
50
+ };
51
+ relationships: {
52
+ account: Relationship;
53
+ customer: Relationship;
54
+ };
55
+ };
56
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './bookPayment.types';
2
+ export * from './card.types';
@@ -0,0 +1,27 @@
1
+ export declare type Address = {
2
+ street: string;
3
+ street2?: string;
4
+ city: string;
5
+ state: string;
6
+ postalCode: string;
7
+ country: string;
8
+ };
9
+ export declare type Limits = {
10
+ dailyWithdrawal?: string | number;
11
+ dailyPurchase?: string | number;
12
+ monthlyWithdrawal?: string | number;
13
+ monthlyPurchase?: string | number;
14
+ };
15
+ declare type Data = {
16
+ type: string;
17
+ id: string;
18
+ };
19
+ export declare type Relationship = {
20
+ data: null | [] | Data | Data[];
21
+ };
22
+ export declare type FullName = {
23
+ first: string;
24
+ last: string;
25
+ };
26
+ export declare type Tags = Record<string, string>;
27
+ export {};
@@ -0,0 +1,9 @@
1
+ export declare const VARIABLES: {
2
+ COLORS: {
3
+ WHITE: string;
4
+ BLACK: string;
5
+ BLUE: string;
6
+ GREY: string;
7
+ SILVER_FLAKE: string;
8
+ };
9
+ };
@@ -0,0 +1,3 @@
1
+ /** globalUnitScript is exported ONLY to our project components **/
2
+ export declare let globalUnitScript: string;
3
+ export declare const fetchUnitScript: () => Promise<null>;
@@ -0,0 +1,15 @@
1
+ export declare enum UNEnvironment {
2
+ sandbox = "sandbox",
3
+ production = "production"
4
+ }
5
+ export declare const UNIT_SCRIPT_URL: {
6
+ sandbox: string;
7
+ production: string;
8
+ };
9
+ export declare class UnitSDK {
10
+ protected static env?: UNEnvironment;
11
+ protected static theme?: string;
12
+ static init: (env: UNEnvironment, theme: string) => Promise<void>;
13
+ static getEnv: () => UNEnvironment | undefined;
14
+ static getTheme: () => string | undefined;
15
+ }
@@ -1,23 +1,20 @@
1
1
  import React from 'react';
2
2
  import { WebView } from 'react-native-webview';
3
- import type { CardEvent, CardMessage } from './webMessages/cardMessage';
4
- import type { PageEvent, PageMessage } from './webMessages/pageMessage';
5
- import { UnitEvent, UnitMessage } from './webMessages/unitMessages';
6
- export declare type WebViewMessageType = PageMessage | CardMessage | UnitMessage;
7
- declare type WebViewEvent = PageEvent | UnitEvent | CardEvent;
8
- export interface WebViewMessage {
9
- type: WebViewMessageType;
10
- details?: WebViewEvent;
11
- }
3
+ import type { WebViewMessage } from '../messages/webMessages';
4
+ import { PresentationMode } from '../scripts/html/bodyHtml';
12
5
  export interface WebComponentProps {
13
6
  type: WebComponentType;
7
+ presentationMode?: PresentationMode;
14
8
  params?: string;
15
- onMessage: (message: WebViewMessage) => void;
9
+ onMessage?: (message: WebViewMessage) => void;
16
10
  script?: string;
11
+ width?: number;
12
+ shouldEnableWebViewScroll?: boolean;
17
13
  }
18
14
  export declare enum WebComponentType {
19
15
  card = "unit-elements-card",
16
+ bookPayment = "unit-elements-book-payment",
17
+ activity = "unit-elements-activity",
20
18
  slot = "unit-elements-sdk-slot"
21
19
  }
22
20
  export declare const WebComponent: React.ForwardRefExoticComponent<WebComponentProps & React.RefAttributes<WebView<{}>>>;
23
- export {};
@@ -1,2 +1,7 @@
1
- declare const htmlText = "\n <!DOCTYPE html>\n <html lang=\"en\">\n\n <head lang=\"en\">\n <title>Unit Web SDK Demo</title>\n <script>\n window.UnitMobileSDK = true\n </script>\n <script src=\"https://unit-white-labeled-banking.netlify.app/client-events.js\"></script>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=0\">\n </html>\n\n <body style=\"margin: 0\">\n <COMPONENT>\n\n <script>\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n\n const postHeight = () => {\n setTimeout(() => {\n const height = window.document.documentElement.getBoundingClientRect().height + 36\n postMessageToSDK({ type: \"pageHeight\", details: { height } })\n })\n }\n\n window.addEventListener('DOMContentLoaded', e => {\n postMessageToSDK({ type: \"pageLoaded\" })\n });\n\n window.addEventListener(\"unitRequestRendering\", (e) => {\n postMessageToSDK({ type: \"unitRequestRendering\", details: { data: JSON.stringify(e.detail) }})\n });\n\n window.addEventListener(\"unitOnLoad\", (e) => {\n postHeight()\n postMessageToSDK({ type: \"unitOnLoad\" })\n });\n\n window.addEventListener(\"unitRequestCloseFlow\", (e) => {\n postMessageToSDK({ type: \"unitRequestCloseFlow\" })\n });\n\n window.addEventListener(\"unitRequestOpenLink\", (e) => {\n postMessageToSDK({ type: \"unitRequestOpenLink\", details: e.detail })\n });\n\n window.addEventListener(\"unitCardStatusChanged\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"cardStatusChanged\", details: { card: JSON.stringify(data.data) }})\n }).catch((e) => {\n console.log(e)\n })\n });\n\n const dispatchRenderingEvent = (details) => {\n const event = new CustomEvent(\"unitRequestRendering\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n\n <SCRIPT_FROM_NATIVE>\n </script>\n </body>\n";
1
+ export declare const HTML_PLACEHOLDER: {
2
+ SCRIPT_UNIT: string;
3
+ BODY: string;
4
+ SCRIPT_FROM_NATIVE: string;
5
+ };
6
+ declare const htmlText: string;
2
7
  export default htmlText;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unit-components",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "Unit React Native components",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -13,7 +13,7 @@
13
13
  "android",
14
14
  "ios",
15
15
  "cpp",
16
- "unit-react-native-components.podspec",
16
+ "react-native-unit-components.podspec",
17
17
  "!lib/typescript/example",
18
18
  "!android/build",
19
19
  "!ios/build",
@@ -50,19 +50,23 @@
50
50
  "@types/jest": "^28.1.2",
51
51
  "@types/react": "~17.0.21",
52
52
  "@types/react-native": "0.68.0",
53
+ "@typescript-eslint/eslint-plugin": "^5.45.0",
54
+ "@typescript-eslint/parser": "^5.45.0",
53
55
  "commitlint": "^17.0.2",
54
- "eslint": "^8.4.1",
56
+ "eslint": "^8.29.0",
57
+ "eslint-config-airbnb": "^18.0.1",
55
58
  "eslint-config-prettier": "^8.5.0",
56
59
  "eslint-plugin-prettier": "^4.0.0",
60
+ "eslint-plugin-react": "^7.31.11",
57
61
  "jest": "^28.1.1",
58
62
  "pod-install": "^0.1.0",
59
63
  "prettier": "^2.0.5",
60
64
  "react": "17.0.2",
61
65
  "react-native": "0.68.2",
62
66
  "react-native-builder-bob": "^0.18.3",
67
+ "react-native-webview": "11.23.1",
63
68
  "release-it": "^15.0.0",
64
- "typescript": "^4.5.2",
65
- "react-native-webview": "11.23.1"
69
+ "typescript": "^4.5.2"
66
70
  },
67
71
  "resolutions": {
68
72
  "@types/react": "17.0.21"
@@ -4,7 +4,7 @@ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
4
  folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
5
 
6
6
  Pod::Spec.new do |s|
7
- s.name = "unit-react-native-components"
7
+ s.name = "react-native-unit-components"
8
8
  s.version = package["version"]
9
9
  s.summary = package["description"]
10
10
  s.homepage = package["homepage"]
Binary file
@@ -0,0 +1 @@
1
+ export { default as CloseIcon } from './close.png';
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { PresentationMode } from '../../scripts/html/bodyHtml';
3
+ import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
4
+ import { getActivityParams } from './UNActivityComponent.utils';
5
+
6
+ export interface UNActivityComponentProps {
7
+ accountId: string;
8
+ customerToken: string;
9
+ theme?: string;
10
+ }
11
+
12
+ export const UNActivityComponent = (props: UNActivityComponentProps) => {
13
+ return (
14
+ <WebComponent
15
+ type={WebComponentType.activity}
16
+ presentationMode={PresentationMode.Inherit}
17
+ params={getActivityParams(props)}
18
+ shouldEnableWebViewScroll={false}
19
+ />
20
+ );
21
+ };
@@ -0,0 +1,11 @@
1
+ import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
2
+ import type { UNActivityComponentProps } from './UNActivityComponent';
3
+
4
+ export const getActivityParams = (props: UNActivityComponentProps) => {
5
+ return `
6
+ account-id="${props.accountId}"
7
+ customer-token="${props.customerToken}"
8
+ theme="${props.theme ?? UnitSDK.getTheme()}"
9
+ style="height: 100%"
10
+ `;
11
+ };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
3
+ import { PresentationMode } from '../../scripts/html/bodyHtml';
4
+ import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
5
+ import type { WebViewMessage } from '../../messages/webMessages';
6
+ import { BookPaymentEvent, BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
7
+ import type { UNBookPaymentData } from '../../sharedTypes';
8
+
9
+ export interface UNBookPaymentComponentProps {
10
+ accountId: string;
11
+ customerToken: string;
12
+ isSameCustomer: boolean;
13
+ counterPartyAccountId: string;
14
+ counterPartyName: string;
15
+ theme?: string;
16
+ onPaymentCreated?: (data: UNBookPaymentData) => void;
17
+ }
18
+
19
+ export const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {
20
+ const handleWebViewMessage = (message: WebViewMessage) => {
21
+ if (message.type === BookPaymentMessage.PAYMENT_CREATED && props.onPaymentCreated) {
22
+ const response = message.details as BookPaymentEvent;
23
+ props.onPaymentCreated(response.data);
24
+ }
25
+ };
26
+
27
+ return (
28
+ <WebComponent
29
+ type={WebComponentType.bookPayment}
30
+ presentationMode={PresentationMode.Inherit}
31
+ params={getBookPaymentParams(props)}
32
+ script={getBookPaymentScript()}
33
+ onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}
34
+ shouldEnableWebViewScroll={false}
35
+ />
36
+ );
37
+ };
@@ -0,0 +1,29 @@
1
+ import type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';
2
+
3
+ import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
4
+ import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
5
+
6
+ export const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {
7
+ return `
8
+ account-id="${props.accountId}"
9
+ customer-token="${props.customerToken}"
10
+ is-same-customer="${props.isSameCustomer}"
11
+ counterparty-account-id="${props.counterPartyAccountId}"
12
+ counterparty-name="${props.counterPartyName}"
13
+ theme="${props.theme ?? UnitSDK.getTheme()}"
14
+ style="height: 100%"
15
+ `;
16
+ };
17
+
18
+ export const getBookPaymentScript = () => {
19
+ return `
20
+ window.addEventListener("${BookPaymentMessage.PAYMENT_CREATED}", (e) => {
21
+ const response = e.detail
22
+ response.then((data) => {
23
+ postMessageToSDK({ type: "${BookPaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
24
+ }).catch((e) => {
25
+ console.log(e)
26
+ })
27
+ });
28
+ `;
29
+ };
@@ -0,0 +1 @@
1
+ export const BOTTOM_SHEET_MAX_PRECANTAGE_SIZE = 0.9;
@@ -0,0 +1,13 @@
1
+ import { StyleSheet } from 'react-native';
2
+
3
+ export const getStylesObject = () => {
4
+ return StyleSheet.create({
5
+ container: {
6
+ position: 'absolute',
7
+ top: 0,
8
+ bottom: 0,
9
+ left: 0,
10
+ right: 0
11
+ }
12
+ });
13
+ };