react-native-unit-components 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -6
- package/android/src/main/AndroidManifest.xml +12 -1
- package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +2 -1
- package/android/src/main/java/com/unitreactnativecomponents/sharepdf/UNSharePDF.kt +75 -0
- package/android/src/main/res/layout/un_black_add_to_googlepay_button.xml +2 -2
- package/android/src/main/res/layout/un_view_google_push_provisioning.xml +1 -13
- package/android/src/main/res/layout/un_white_add_to_googlepay_button.xml +1 -1
- package/android/src/main/res/layout/un_white_add_to_googlepay_button_no_shadow.xml +1 -1
- package/android/src/main/res/xml/file_paths.xml +4 -0
- package/ios/UnitReactNativeComponentsViewManager.m +0 -1
- package/ios/UnitReactNativeComponentsViewManager.swift +6 -2
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +103 -0
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -0
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +47 -0
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -0
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +63 -8
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +18 -3
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +56 -13
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +4 -3
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +3 -3
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +114 -46
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +4 -8
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +95 -0
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -0
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +31 -0
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -0
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +65 -7
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +56 -10
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js +20 -0
- package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -0
- package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +44 -0
- package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -0
- package/lib/commonjs/components/index.js +13 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +32 -12
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
- package/lib/commonjs/helpers/EventBus.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/cardMessage.js +36 -0
- package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -0
- package/lib/commonjs/messages/nativeMessages/index.js +0 -7
- package/lib/commonjs/messages/nativeMessages/index.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/sdkMessage.js +14 -0
- package/lib/commonjs/messages/nativeMessages/sdkMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/unitMessages.js +1 -0
- package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/commonjs/nativeComponent/{UNNativeAddToWalletButton.js → UnitAddToWalletButton.js} +1 -1
- package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js.map +1 -0
- package/lib/commonjs/scripts/html/bodyHtml.js +1 -1
- package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
- package/lib/commonjs/scripts/html/bodyScript.js +22 -5
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/index.js +13 -0
- package/lib/commonjs/sharedTypes/index.js.map +1 -1
- package/lib/commonjs/sharedTypes/onLoadResponse.types.js +6 -0
- package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/wallet.types.js +22 -0
- package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -0
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js +5 -3
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js +18 -0
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.js +35 -10
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.utils.js +41 -0
- package/lib/commonjs/webComponent/WebComponent.utils.js.map +1 -0
- package/lib/commonjs/webComponent/html.js +9 -1
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js +74 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +26 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -0
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +56 -8
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +10 -2
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +50 -12
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -2
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +111 -46
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +5 -9
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +68 -0
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -0
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +21 -0
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -0
- package/lib/module/components/UNCardComponent/UNCardComponent.js +65 -9
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +48 -9
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js +10 -0
- package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -0
- package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +29 -0
- package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.js +30 -13
- package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +2 -2
- package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
- package/lib/module/helpers/EventBus.js.map +1 -1
- package/lib/module/messages/nativeMessages/cardMessage.js +27 -0
- package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -0
- package/lib/module/messages/nativeMessages/index.js +1 -5
- package/lib/module/messages/nativeMessages/index.js.map +1 -1
- package/lib/module/messages/nativeMessages/sdkMessage.js +7 -0
- package/lib/module/messages/nativeMessages/sdkMessage.js.map +1 -0
- package/lib/module/messages/webMessages/unitMessages.js +1 -0
- package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/module/nativeComponent/{UNNativeAddToWalletButton.js → UnitAddToWalletButton.js} +1 -1
- package/lib/module/nativeComponent/UnitAddToWalletButton.js.map +1 -0
- package/lib/module/scripts/html/bodyHtml.js +1 -1
- package/lib/module/scripts/html/bodyHtml.js.map +1 -1
- package/lib/module/scripts/html/bodyScript.js +19 -3
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/module/sharedTypes/card.types.js.map +1 -1
- package/lib/module/sharedTypes/index.js +1 -0
- package/lib/module/sharedTypes/index.js.map +1 -1
- package/lib/module/sharedTypes/onLoadResponse.types.js +2 -0
- package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -0
- package/lib/module/sharedTypes/wallet.types.js +14 -0
- package/lib/module/sharedTypes/wallet.types.js.map +1 -0
- package/lib/module/unitSdkManager/UnitSdk.api.js +4 -3
- package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdkManager.js +13 -0
- package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/module/webComponent/WebComponent.js +32 -10
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/WebComponent.utils.js +27 -0
- package/lib/module/webComponent/WebComponent.utils.js.map +1 -0
- package/lib/module/webComponent/html.js +9 -2
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +12 -0
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +7 -0
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -0
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.utils.d.ts +4 -0
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -1
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.d.ts +1 -1
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +9 -2
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +2 -1
- package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.d.ts +6 -0
- package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.d.ts +17 -0
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
- package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +9 -1
- package/lib/typescript/components/UNCardComponent/networking/common/UNNetworkConstants.d.ts +8 -0
- package/lib/typescript/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.d.ts +1 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/helpers/EventBus.d.ts +3 -3
- package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +28 -0
- package/lib/typescript/messages/nativeMessages/index.d.ts +7 -2
- package/lib/typescript/messages/nativeMessages/sdkMessage.d.ts +8 -0
- package/lib/typescript/messages/webMessages/unitMessages.d.ts +16 -6
- package/lib/typescript/scripts/html/bodyScript.d.ts +4 -1
- package/lib/typescript/sharedTypes/bookPayment.types.d.ts +3 -3
- package/lib/typescript/sharedTypes/card.types.d.ts +6 -6
- package/lib/typescript/sharedTypes/index.d.ts +1 -0
- package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +18 -0
- package/lib/typescript/sharedTypes/wallet.types.d.ts +14 -0
- package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +3 -0
- package/lib/typescript/webComponent/WebComponent.d.ts +4 -1
- package/lib/typescript/webComponent/WebComponent.utils.d.ts +2 -0
- package/package.json +2 -1
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +82 -0
- package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +30 -0
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +57 -8
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +14 -2
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +47 -13
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +3 -2
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.ts +1 -1
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +120 -44
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +7 -10
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.ts +21 -0
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +74 -0
- package/src/components/UNCardComponent/UNCardComponent.tsx +68 -13
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +47 -9
- package/src/components/UNCardComponent/networking/common/UNNetworkConstants.ts +11 -0
- package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +34 -0
- package/src/components/index.ts +1 -0
- package/src/helpers/BottomSheet/BottomSheet.styles.ts +2 -2
- package/src/helpers/BottomSheet/BottomSheet.tsx +28 -12
- package/src/helpers/EventBus.ts +3 -3
- package/src/messages/nativeMessages/cardMessage.ts +37 -0
- package/src/messages/nativeMessages/index.ts +14 -2
- package/src/messages/nativeMessages/sdkMessage.ts +11 -0
- package/src/messages/webMessages/unitMessages.ts +20 -7
- package/src/scripts/html/bodyHtml.ts +1 -1
- package/src/scripts/html/bodyScript.ts +21 -4
- package/src/sharedTypes/bookPayment.types.ts +3 -3
- package/src/sharedTypes/card.types.ts +6 -6
- package/src/sharedTypes/index.ts +1 -0
- package/src/sharedTypes/onLoadResponse.types.ts +27 -0
- package/src/sharedTypes/wallet.types.ts +17 -0
- package/src/unitSdkManager/UnitSdk.api.ts +3 -2
- package/src/unitSdkManager/UnitSdkManager.ts +12 -0
- package/src/webComponent/WebComponent.tsx +35 -12
- package/src/webComponent/WebComponent.utils.ts +26 -0
- package/src/webComponent/html.ts +9 -2
- package/lib/commonjs/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
- package/lib/module/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
- /package/lib/typescript/nativeComponent/{UNNativeAddToWalletButton.d.ts → UnitAddToWalletButton.d.ts} +0 -0
- /package/src/nativeComponent/{UNNativeAddToWalletButton.tsx → UnitAddToWalletButton.tsx} +0 -0
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UnitSDK = exports.UNIT_SCRIPT_URL = exports.UNEnvironment = void 0;
|
|
7
7
|
|
|
8
|
+
var _EventBus = _interopRequireDefault(require("../helpers/EventBus"));
|
|
9
|
+
|
|
10
|
+
var _sdkMessage = require("../messages/nativeMessages/sdkMessage");
|
|
11
|
+
|
|
8
12
|
var _UnitSdk = require("./UnitSdk.api");
|
|
9
13
|
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
10
16
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
17
|
|
|
12
18
|
let UNEnvironment;
|
|
@@ -31,16 +37,24 @@ _defineProperty(UnitSDK, "env", void 0);
|
|
|
31
37
|
|
|
32
38
|
_defineProperty(UnitSDK, "theme", void 0);
|
|
33
39
|
|
|
40
|
+
_defineProperty(UnitSDK, "signedNonce", void 0);
|
|
41
|
+
|
|
34
42
|
_defineProperty(UnitSDK, "init", async (env, theme) => {
|
|
35
43
|
try {
|
|
36
44
|
UnitSDK.env = env;
|
|
37
45
|
UnitSDK.theme = theme;
|
|
38
46
|
await (0, _UnitSdk.fetchUnitScript)();
|
|
47
|
+
|
|
48
|
+
_EventBus.default.Instance.event(_sdkMessage.SDKMessage.IS_SDK_INITIALIZED, {});
|
|
39
49
|
} catch (e) {
|
|
40
50
|
console.log(e);
|
|
41
51
|
}
|
|
42
52
|
});
|
|
43
53
|
|
|
54
|
+
_defineProperty(UnitSDK, "setSignedNonce", signedNonce => {
|
|
55
|
+
UnitSDK.signedNonce = signedNonce;
|
|
56
|
+
});
|
|
57
|
+
|
|
44
58
|
_defineProperty(UnitSDK, "getEnv", () => {
|
|
45
59
|
return UnitSDK.env;
|
|
46
60
|
});
|
|
@@ -48,4 +62,8 @@ _defineProperty(UnitSDK, "getEnv", () => {
|
|
|
48
62
|
_defineProperty(UnitSDK, "getTheme", () => {
|
|
49
63
|
return UnitSDK.theme;
|
|
50
64
|
});
|
|
65
|
+
|
|
66
|
+
_defineProperty(UnitSDK, "getSignedNonce", () => {
|
|
67
|
+
return UnitSDK.signedNonce;
|
|
68
|
+
});
|
|
51
69
|
//# sourceMappingURL=UnitSdkManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UNEnvironment","UNIT_SCRIPT_URL","sandbox","production","UnitSDK","env","theme","fetchUnitScript","e","console","log"],"sources":["UnitSdkManager.ts"],"sourcesContent":["import { fetchUnitScript } from './UnitSdk.api';\n\nexport enum UNEnvironment {\n sandbox = 'sandbox',\n production = 'production'\n}\n\nexport const UNIT_SCRIPT_URL = {\n [UNEnvironment.sandbox]: 'https://ui.s.unit.sh/components.js',\n [UNEnvironment.production]: 'https://ui.unit.co/components.js'\n};\nexport class UnitSDK {\n protected static env?: UNEnvironment;\n protected static theme?: string;\n\n public static init = async (env: UNEnvironment, theme?: string) => {\n try {\n this.env = env;\n this.theme = theme;\n await fetchUnitScript();\n } catch (e) {\n console.log(e);\n }\n };\n\n public static getEnv = () => {\n return this.env;\n };\n\n public static getTheme = () => {\n return this.theme;\n };\n}\n"],"mappings":";;;;;;;AAAA
|
|
1
|
+
{"version":3,"names":["UNEnvironment","UNIT_SCRIPT_URL","sandbox","production","UnitSDK","env","theme","fetchUnitScript","EventBus","Instance","event","SDKMessage","IS_SDK_INITIALIZED","e","console","log","signedNonce"],"sources":["UnitSdkManager.ts"],"sourcesContent":["import EventBus from '../helpers/EventBus';\nimport { SDKMessage } from '../messages/nativeMessages/sdkMessage';\nimport { fetchUnitScript } from './UnitSdk.api';\n\nexport enum UNEnvironment {\n sandbox = 'sandbox',\n production = 'production'\n}\n\nexport const UNIT_SCRIPT_URL = {\n [UNEnvironment.sandbox]: 'https://ui.s.unit.sh/components.js',\n [UNEnvironment.production]: 'https://ui.unit.co/components.js'\n};\nexport class UnitSDK {\n protected static env?: UNEnvironment;\n protected static theme?: string;\n protected static signedNonce?: string;\n\n public static init = async (env: UNEnvironment, theme?: string) => {\n try {\n this.env = env;\n this.theme = theme;\n await fetchUnitScript();\n EventBus.Instance.event(SDKMessage.IS_SDK_INITIALIZED, {});\n } catch (e) {\n console.log(e);\n }\n };\n\n public static setSignedNonce = (signedNonce: string) => {\n this.signedNonce = signedNonce;\n };\n\n public static getEnv = () => {\n return this.env;\n };\n\n public static getTheme = () => {\n return this.theme;\n };\n\n public static getSignedNonce = () => {\n return this.signedNonce;\n };\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;IAEYA,a;;;WAAAA,a;EAAAA,a;EAAAA,a;GAAAA,a,6BAAAA,a;;AAKL,MAAMC,eAAe,GAAG;EAC7B,CAACD,aAAa,CAACE,OAAf,GAAyB,oCADI;EAE7B,CAACF,aAAa,CAACG,UAAf,GAA4B;AAFC,CAAxB;;;AAIA,MAAMC,OAAN,CAAc;;;;gBAARA,O;;gBAAAA,O;;gBAAAA,O;;gBAAAA,O,UAKU,OAAOC,GAAP,EAA2BC,KAA3B,KAA8C;EACjE,IAAI;IANKF,OAOP,CAAKC,GAAL,GAAWA,GAAX;IAPOD,OAQP,CAAKE,KAAL,GAAaA,KAAb;IACA,MAAM,IAAAC,wBAAA,GAAN;;IACAC,iBAAA,CAASC,QAAT,CAAkBC,KAAlB,CAAwBC,sBAAA,CAAWC,kBAAnC,EAAuD,EAAvD;EACD,CALD,CAKE,OAAOC,CAAP,EAAU;IACVC,OAAO,CAACC,GAAR,CAAYF,CAAZ;EACD;AACF,C;;gBAdUT,O,oBAgBqBY,WAAD,IAAyB;EAhB7CZ,OAiBT,CAAKY,WAAL,GAAmBA,WAAnB;AACD,C;;gBAlBUZ,O,YAoBY,MAAM;EAC3B,OArBSA,OAqBF,CAAKC,GAAZ;AACD,C;;gBAtBUD,O,cAwBc,MAAM;EAC7B,OAzBSA,OAyBF,CAAKE,KAAZ;AACD,C;;gBA1BUF,O,oBA4BoB,MAAM;EACnC,OA7BSA,OA6BF,CAAKY,WAAZ;AACD,C"}
|
|
@@ -21,7 +21,11 @@ var _bodyHtml = require("../scripts/html/bodyHtml");
|
|
|
21
21
|
|
|
22
22
|
var _UnitSdk = require("../unitSdkManager/UnitSdk.api");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _UnitSdkManager = require("../unitSdkManager/UnitSdkManager");
|
|
25
|
+
|
|
26
|
+
var _sdkMessage = require("../messages/nativeMessages/sdkMessage");
|
|
27
|
+
|
|
28
|
+
var _WebComponent = require("./WebComponent.utils");
|
|
25
29
|
|
|
26
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
31
|
|
|
@@ -38,20 +42,29 @@ exports.WebComponentType = WebComponentType;
|
|
|
38
42
|
WebComponentType["bookPayment"] = "unit-elements-book-payment";
|
|
39
43
|
WebComponentType["activity"] = "unit-elements-activity";
|
|
40
44
|
WebComponentType["slot"] = "unit-elements-sdk-slot";
|
|
45
|
+
WebComponentType["account"] = "unit-elements-account";
|
|
41
46
|
})(WebComponentType || (exports.WebComponentType = WebComponentType = {}));
|
|
42
47
|
|
|
43
48
|
const WebComponent = /*#__PURE__*/_react.default.forwardRef(function WebComponent(props, webRef) {
|
|
44
49
|
const [unitScript, setUnitScript] = (0, _react.useState)(_UnitSdk.globalUnitScript);
|
|
45
50
|
const [sourceHtml, setSourceHtml] = (0, _react.useState)(null);
|
|
51
|
+
const [componentCurrentTheme, setComponentCurrentTheme] = (0, _react.useState)(props.theme ?? _UnitSdkManager.UnitSDK.getTheme());
|
|
46
52
|
const width = props.width ?? '100%';
|
|
47
53
|
|
|
48
|
-
const
|
|
54
|
+
const updateUnitScript = data => {
|
|
49
55
|
setUnitScript(data.unitScript);
|
|
50
56
|
};
|
|
51
57
|
|
|
58
|
+
const updateInitializedParams = () => {
|
|
59
|
+
setComponentCurrentTheme(props.theme ?? _UnitSdkManager.UnitSDK.getTheme());
|
|
60
|
+
};
|
|
61
|
+
|
|
52
62
|
(0, _listenerToBus.useListenerToBus)([{
|
|
53
|
-
busEventKey:
|
|
54
|
-
action:
|
|
63
|
+
busEventKey: _sdkMessage.SDKMessage.IS_SCRIPT_FETCHED,
|
|
64
|
+
action: updateUnitScript
|
|
65
|
+
}, {
|
|
66
|
+
busEventKey: _sdkMessage.SDKMessage.IS_SDK_INITIALIZED,
|
|
67
|
+
action: updateInitializedParams
|
|
55
68
|
}]);
|
|
56
69
|
(0, _react.useEffect)(() => {
|
|
57
70
|
if (!unitScript) {
|
|
@@ -59,19 +72,30 @@ const WebComponent = /*#__PURE__*/_react.default.forwardRef(function WebComponen
|
|
|
59
72
|
return;
|
|
60
73
|
}
|
|
61
74
|
|
|
62
|
-
|
|
75
|
+
const componentParams = (props.params || '') + (componentCurrentTheme ? ` theme="${componentCurrentTheme}"` : '');
|
|
76
|
+
|
|
77
|
+
let newHtml = _html.default.replace(_html.HTML_PLACEHOLDER.BODY, (0, _bodyHtml.getHtmlBody)(props.type.valueOf(), componentParams, props.presentationMode));
|
|
63
78
|
|
|
64
79
|
newHtml = newHtml.replace(_html.HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');
|
|
65
80
|
setSourceHtml(newHtml);
|
|
66
|
-
}, [props.params, unitScript]);
|
|
81
|
+
}, [props.params, unitScript, props.presentationMode, componentCurrentTheme]);
|
|
67
82
|
|
|
68
83
|
const onMessage = e => {
|
|
69
84
|
const message = JSON.parse(e.nativeEvent.data);
|
|
70
85
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
86
|
+
switch (message.type) {
|
|
87
|
+
case _unitMessages.UnitMessage.UNIT_REQUEST_REFRESH:
|
|
88
|
+
message.details && _EventBus.default.Instance.event(_unitMessages.UnitMessage.UNIT_REQUEST_REFRESH, message.details);
|
|
89
|
+
break;
|
|
90
|
+
|
|
91
|
+
case _unitMessages.UnitMessage.UNIT_REQUEST_DOWNLOAD:
|
|
92
|
+
message.details && (0, _WebComponent.handleRequestDownload)(message.details, () => {
|
|
93
|
+
_EventBus.default.Instance.event(_unitMessages.UnitMessage.UNIT_REQUEST_CLOSE_FLOW);
|
|
94
|
+
});
|
|
95
|
+
break;
|
|
96
|
+
|
|
97
|
+
default:
|
|
98
|
+
props.onMessage && props.onMessage(message);
|
|
75
99
|
}
|
|
76
100
|
};
|
|
77
101
|
|
|
@@ -89,6 +113,7 @@ const WebComponent = /*#__PURE__*/_react.default.forwardRef(function WebComponen
|
|
|
89
113
|
ref: webRef,
|
|
90
114
|
cacheEnabled: false,
|
|
91
115
|
scrollEnabled: props.isScrollable,
|
|
116
|
+
nestedScrollEnabled: props.nestedScrollEnabled,
|
|
92
117
|
onScroll: _onScroll,
|
|
93
118
|
overScrollMode: "never",
|
|
94
119
|
injectedJavaScript: unitScript,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebComponentType","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","width","
|
|
1
|
+
{"version":3,"names":["WebComponentType","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","UnitSDK","getTheme","width","updateUnitScript","data","updateInitializedParams","useListenerToBus","busEventKey","SDKMessage","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","useEffect","fetchUnitScript","componentParams","params","newHtml","html","replace","HTML_PLACEHOLDER","BODY","getHtmlBody","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","onMessage","e","message","JSON","parse","nativeEvent","UnitMessage","UNIT_REQUEST_REFRESH","details","EventBus","Instance","event","UNIT_REQUEST_DOWNLOAD","handleRequestDownload","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","isScrollable","nestedScrollEnabled","flex"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n width?: number;\n}\n\nexport enum WebComponentType {\n card = 'unit-elements-card',\n bookPayment = 'unit-elements-book-payment',\n activity = 'unit-elements-activity',\n slot = 'unit-elements-sdk-slot',\n account = 'unit-elements-account',\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const width = props.width ?? '100%';\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n };\n\n useListenerToBus([\n { busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },\n { busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },\n ]);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const componentParams = (props.params || '') + (componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '');\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n return (\n <WebView\n ref={webRef}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: width, flex: 1 }}\n source={{ html: sourceHtml }}\n onMessage={onMessage} />\n );\n});\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAZA;IA2BYA,gB;;;WAAAA,gB;EAAAA,gB;EAAAA,gB;EAAAA,gB;EAAAA,gB;EAAAA,gB;GAAAA,gB,gCAAAA,gB;;AAQL,MAAMC,YAAY,gBAAGC,cAAA,CAAMC,UAAN,CAA6C,SAASF,YAAT,CAAsBG,KAAtB,EAA6BC,MAA7B,EAAqC;EAC5G,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAC,eAAA,EAA6BC,yBAA7B,CAApC;EACA,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAH,eAAA,EAAwB,IAAxB,CAApC;EACA,MAAM,CAACI,qBAAD,EAAwBC,wBAAxB,IAAoD,IAAAL,eAAA,EAA6BJ,KAAK,CAACU,KAAN,IAAeC,uBAAA,CAAQC,QAAR,EAA5C,CAA1D;EACA,MAAMC,KAAK,GAAGb,KAAK,CAACa,KAAN,IAAe,MAA7B;;EAEA,MAAMC,gBAAgB,GAAIC,IAAD,IAA4B;IACnDZ,aAAa,CAACY,IAAI,CAACb,UAAN,CAAb;EACD,CAFD;;EAIA,MAAMc,uBAAuB,GAAG,MAAM;IACpCP,wBAAwB,CAACT,KAAK,CAACU,KAAN,IAAeC,uBAAA,CAAQC,QAAR,EAAhB,CAAxB;EACD,CAFD;;EAIA,IAAAK,+BAAA,EAAiB,CACf;IAAEC,WAAW,EAAEC,sBAAA,CAAWC,iBAA1B;IAA6CC,MAAM,EAAEP;EAArD,CADe,EAEf;IAAEI,WAAW,EAAEC,sBAAA,CAAWG,kBAA1B;IAA8CD,MAAM,EAAEL;EAAtD,CAFe,CAAjB;EAKA,IAAAO,gBAAA,EAAU,MAAM;IACd,IAAI,CAACrB,UAAL,EAAiB;MACf,IAAAsB,wBAAA;MACA;IACD;;IAED,MAAMC,eAAe,GAAG,CAACzB,KAAK,CAAC0B,MAAN,IAAgB,EAAjB,KAAwBlB,qBAAqB,GAAI,WAAUA,qBAAsB,GAApC,GAAyC,EAAtF,CAAxB;;IACA,IAAImB,OAAO,GAAGC,aAAA,CAAKC,OAAL,CAAaC,sBAAA,CAAiBC,IAA9B,EAAoC,IAAAC,qBAAA,EAAYhC,KAAK,CAACiC,IAAN,CAAWC,OAAX,EAAZ,EAAkCT,eAAlC,EAAmDzB,KAAK,CAACmC,gBAAzD,CAApC,CAAd;;IACAR,OAAO,GAAGA,OAAO,CAACE,OAAR,CAAgBC,sBAAA,CAAiBM,kBAAjC,EAAqDpC,KAAK,CAACqC,MAAN,IAAgB,EAArE,CAAV;IACA9B,aAAa,CAACoB,OAAD,CAAb;EACD,CAVD,EAUG,CAAC3B,KAAK,CAAC0B,MAAP,EAAexB,UAAf,EAA2BF,KAAK,CAACmC,gBAAjC,EAAmD3B,qBAAnD,CAVH;;EAYA,MAAM8B,SAAS,GAAIC,CAAD,IAA4B;IAC5C,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWH,CAAC,CAACI,WAAF,CAAc5B,IAAzB,CAAhB;;IACA,QAAQyB,OAAO,CAACP,IAAhB;MACE,KAAKW,yBAAA,CAAYC,oBAAjB;QACEL,OAAO,CAACM,OAAR,IACEC,iBAAA,CAASC,QAAT,CAAkBC,KAAlB,CAAwBL,yBAAA,CAAYC,oBAApC,EAA0DL,OAAO,CAACM,OAAlE,CADF;QAEA;;MACF,KAAKF,yBAAA,CAAYM,qBAAjB;QACEV,OAAO,CAACM,OAAR,IACE,IAAAK,mCAAA,EAAsBX,OAAO,CAACM,OAA9B,EAA+D,MAAM;UACnEC,iBAAA,CAASC,QAAT,CAAkBC,KAAlB,CAAwBL,yBAAA,CAAYQ,uBAApC;QACD,CAFD,CADF;QAIA;;MACF;QACEpD,KAAK,CAACsC,SAAN,IAAmBtC,KAAK,CAACsC,SAAN,CAAgBE,OAAhB,CAAnB;IAZJ;EAcD,CAhBD;;EAkBA,IAAI,CAAClC,UAAL,EAAiB,OAAO,IAAP;;EAEjB,MAAM+C,SAAS,GAAIJ,KAAD,IAAgB;IAChC,IAAIjD,KAAK,CAACsD,YAAV,EAAwB;MACtBtD,KAAK,CAACsD,YAAN,CAAmBL,KAAnB;IACD;;IAED,OAAO,IAAP;EACD,CAND;;EAQA,oBACE,6BAAC,2BAAD;IACE,GAAG,EAAEhD,MADP;IAEE,YAAY,EAAE,KAFhB;IAGE,aAAa,EAAED,KAAK,CAACuD,YAHvB;IAIE,mBAAmB,EAAEvD,KAAK,CAACwD,mBAJ7B;IAKE,QAAQ,EAAEH,SALZ;IAME,cAAc,EAAC,OANjB;IAOE,kBAAkB,EAAEnD,UAPtB;IAQE,KAAK,EAAE;MAAEW,KAAK,EAAEA,KAAT;MAAgB4C,IAAI,EAAE;IAAtB,CART;IASE,MAAM,EAAE;MAAE7B,IAAI,EAAEtB;IAAR,CATV;IAUE,SAAS,EAAEgC;EAVb,EADF;AAaD,CAxE2B,CAArB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleRequestDownload = void 0;
|
|
7
|
+
|
|
8
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
RNShareFile
|
|
16
|
+
} = _reactNative.NativeModules;
|
|
17
|
+
|
|
18
|
+
const handleRequestDownload = async (details, onReadyToShare) => {
|
|
19
|
+
if (details.fileType === 'application/pdf') {
|
|
20
|
+
const res = await _axios.default.get(details.url, {
|
|
21
|
+
headers: {
|
|
22
|
+
'Authorization': `Bearer ${details.accessToken}`
|
|
23
|
+
},
|
|
24
|
+
responseEncoding: 'base64',
|
|
25
|
+
responseType: 'arraybuffer'
|
|
26
|
+
});
|
|
27
|
+
const base64Data = res.request._response;
|
|
28
|
+
onReadyToShare();
|
|
29
|
+
|
|
30
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
31
|
+
_reactNative.Share.share({
|
|
32
|
+
url: `data:application/pdf;base64,${base64Data}`
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
RNShareFile.share(base64Data, details.fileName);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.handleRequestDownload = handleRequestDownload;
|
|
41
|
+
//# sourceMappingURL=WebComponent.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RNShareFile","NativeModules","handleRequestDownload","details","onReadyToShare","fileType","res","axios","get","url","headers","accessToken","responseEncoding","responseType","base64Data","request","_response","Platform","OS","Share","share","fileName"],"sources":["WebComponent.utils.ts"],"sourcesContent":["import axios from 'axios';\nimport { Share, NativeModules, Platform } from 'react-native';\nimport type { RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nconst { RNShareFile } = NativeModules;\n\nexport const handleRequestDownload = async (details: RequestDownloadEvent, onReadyToShare: () => void) => {\n if (details.fileType === 'application/pdf') {\n const res = await axios.get(details.url, {\n headers: {\n 'Authorization': `Bearer ${details.accessToken}`\n },\n responseEncoding: 'base64',\n responseType: 'arraybuffer'\n });\n\n const base64Data = res.request._response;\n\n onReadyToShare();\n\n if (Platform.OS === 'ios') {\n Share.share({ url: `data:application/pdf;base64,${base64Data}` });\n } else {\n RNShareFile.share(base64Data, details.fileName);\n }\n }\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,MAAM;EAAEA;AAAF,IAAkBC,0BAAxB;;AAEO,MAAMC,qBAAqB,GAAG,OAAOC,OAAP,EAAsCC,cAAtC,KAAqE;EACxG,IAAID,OAAO,CAACE,QAAR,KAAqB,iBAAzB,EAA4C;IAC1C,MAAMC,GAAG,GAAG,MAAMC,cAAA,CAAMC,GAAN,CAAUL,OAAO,CAACM,GAAlB,EAAuB;MACvCC,OAAO,EAAE;QACP,iBAAkB,UAASP,OAAO,CAACQ,WAAY;MADxC,CAD8B;MAIvCC,gBAAgB,EAAE,QAJqB;MAKvCC,YAAY,EAAE;IALyB,CAAvB,CAAlB;IAQA,MAAMC,UAAU,GAAGR,GAAG,CAACS,OAAJ,CAAYC,SAA/B;IAEAZ,cAAc;;IAEd,IAAIa,qBAAA,CAASC,EAAT,KAAgB,KAApB,EAA2B;MACzBC,kBAAA,CAAMC,KAAN,CAAY;QAAEX,GAAG,EAAG,+BAA8BK,UAAW;MAAjD,CAAZ;IACD,CAFD,MAEO;MACLd,WAAW,CAACoB,KAAZ,CAAkBN,UAAlB,EAA8BX,OAAO,CAACkB,QAAtC;IACD;EACF;AACF,CApBM"}
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.HTML_PLACEHOLDER = void 0;
|
|
7
7
|
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
8
10
|
var _bodyScript = require("../scripts/html/bodyScript");
|
|
9
11
|
|
|
10
12
|
const HTML_PLACEHOLDER = {
|
|
@@ -21,6 +23,10 @@ const htmlText = `
|
|
|
21
23
|
<title>Unit Web SDK Demo</title>
|
|
22
24
|
<script>
|
|
23
25
|
window.UnitMobileSDK = true
|
|
26
|
+
window.UnitMobileSDKConfig = {
|
|
27
|
+
os: "${_reactNative.Platform.OS}",
|
|
28
|
+
walletName: "${_reactNative.Platform.OS === 'ios' ? 'Apple' : 'Google'}"
|
|
29
|
+
}
|
|
24
30
|
</script>
|
|
25
31
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
|
|
26
32
|
</html>
|
|
@@ -37,6 +43,8 @@ const htmlText = `
|
|
|
37
43
|
|
|
38
44
|
${_bodyScript.LISTENERS.onLoad}
|
|
39
45
|
|
|
46
|
+
${_bodyScript.LISTENERS.unitRequestDownload}
|
|
47
|
+
|
|
40
48
|
${_bodyScript.LISTENERS.requestRendering}
|
|
41
49
|
|
|
42
50
|
${_bodyScript.LISTENERS.requestOpenLink}
|
|
@@ -45,7 +53,7 @@ const htmlText = `
|
|
|
45
53
|
|
|
46
54
|
${_bodyScript.LISTENERS.cardStatusChange}
|
|
47
55
|
|
|
48
|
-
${_bodyScript.
|
|
56
|
+
${_bodyScript.DISPATCH_RENDERING_EVENT}
|
|
49
57
|
|
|
50
58
|
${HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE}
|
|
51
59
|
</script>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HTML_PLACEHOLDER","SCRIPT_UNIT","BODY","SCRIPT_FROM_NATIVE","htmlText","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","LISTENERS","isPageLoaded","onLoad","requestRendering","requestOpenLink","requestCloseFlow","cardStatusChange","
|
|
1
|
+
{"version":3,"names":["HTML_PLACEHOLDER","SCRIPT_UNIT","BODY","SCRIPT_FROM_NATIVE","htmlText","Platform","OS","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","LISTENERS","isPageLoaded","onLoad","unitRequestDownload","requestRendering","requestOpenLink","requestCloseFlow","cardStatusChange","DISPATCH_RENDERING_EVENT"],"sources":["html.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport { DISPATCH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT } from '../scripts/html/bodyScript';\n\nexport const HTML_PLACEHOLDER = {\n SCRIPT_UNIT: '<SCRIPT_UNIT>',\n BODY: '<BODY_HTML_CODE>',\n SCRIPT_FROM_NATIVE: '<SCRIPT_FROM_NATIVE>'\n};\n\nconst 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 window.UnitMobileSDKConfig = {\n os: \"${Platform.OS}\",\n walletName: \"${Platform.OS === 'ios' ? 'Apple' : 'Google'}\"\n }\n </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 ${HTML_PLACEHOLDER.BODY}\n\n <script>\n ${POST_MESSAGE_TO_SDK}\n\n ${POST_PAGE_HEIGHT}\n\n ${LISTENERS.isPageLoaded}\n\n ${LISTENERS.onLoad}\n\n ${LISTENERS.unitRequestDownload}\n\n ${LISTENERS.requestRendering}\n\n ${LISTENERS.requestOpenLink}\n\n ${LISTENERS.requestCloseFlow}\n\n ${LISTENERS.cardStatusChange}\n\n ${DISPATCH_RENDERING_EVENT}\n\n ${HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE}\n </script>\n </body>\n`;\n\nexport default htmlText;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,gBAAgB,GAAG;EAC9BC,WAAW,EAAE,eADiB;EAE9BC,IAAI,EAAE,kBAFwB;EAG9BC,kBAAkB,EAAE;AAHU,CAAzB;;AAMP,MAAMC,QAAQ,GAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeC,qBAAA,CAASC,EAAG;AAC3B,uBAAuBD,qBAAA,CAASC,EAAT,KAAgB,KAAhB,GAAwB,OAAxB,GAAkC,QAAS;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,MAAMN,gBAAgB,CAACE,IAAK;AAC5B;AACA;AACA,QAAQK,+BAAoB;AAC5B;AACA,QAAQC,4BAAiB;AACzB;AACA,QAAQC,qBAAA,CAAUC,YAAa;AAC/B;AACA,QAAQD,qBAAA,CAAUE,MAAO;AACzB;AACA,QAAQF,qBAAA,CAAUG,mBAAoB;AACtC;AACA,QAAQH,qBAAA,CAAUI,gBAAiB;AACnC;AACA,QAAQJ,qBAAA,CAAUK,eAAgB;AAClC;AACA,QAAQL,qBAAA,CAAUM,gBAAiB;AACnC;AACA,QAAQN,qBAAA,CAAUO,gBAAiB;AACnC;AACA,QAAQC,oCAAyB;AACjC;AACA,QAAQjB,gBAAgB,CAACG,kBAAmB;AAC5C;AACA;AACA,CA3CA;eA6CeC,Q"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { Dimensions, View } from 'react-native';
|
|
3
|
+
import { PageMessage } from '../..//messages/webMessages/pageMessage';
|
|
4
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
5
|
+
import EventBus from '../../helpers/EventBus';
|
|
6
|
+
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
7
|
+
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
8
|
+
import { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';
|
|
9
|
+
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
10
|
+
export let AccountAction;
|
|
11
|
+
|
|
12
|
+
(function (AccountAction) {
|
|
13
|
+
AccountAction["List"] = "account-list";
|
|
14
|
+
AccountAction["Menu"] = "account-menu";
|
|
15
|
+
})(AccountAction || (AccountAction = {}));
|
|
16
|
+
|
|
17
|
+
export const UNAccountComponent = props => {
|
|
18
|
+
const [height, setHeight] = useState(0);
|
|
19
|
+
const windowWidth = Dimensions.get('window').width;
|
|
20
|
+
const [requestRefreshEvent, setRequestRefreshEvent] = useState(null);
|
|
21
|
+
const webRef = useRef(null);
|
|
22
|
+
|
|
23
|
+
const requestRefresh = data => {
|
|
24
|
+
setRequestRefreshEvent(data);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
useListenerToBus([{
|
|
28
|
+
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
29
|
+
action: requestRefresh
|
|
30
|
+
}]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);
|
|
33
|
+
}, [requestRefreshEvent]);
|
|
34
|
+
|
|
35
|
+
const handleMessage = message => {
|
|
36
|
+
switch (message.type) {
|
|
37
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
38
|
+
props.onLoad && props.onLoad(message.details);
|
|
39
|
+
break;
|
|
40
|
+
|
|
41
|
+
case UnitMessage.UNIT_REQUEST_RENDERING:
|
|
42
|
+
{
|
|
43
|
+
const event = {
|
|
44
|
+
componentName: WebComponentType.account,
|
|
45
|
+
componentResourceId: props.accountId,
|
|
46
|
+
requestRenderingEvent: message.details
|
|
47
|
+
};
|
|
48
|
+
EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
case PageMessage.PAGE_HEIGHT:
|
|
53
|
+
setHeight(message.details.height);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
59
|
+
style: {
|
|
60
|
+
height
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement(WebComponent, {
|
|
63
|
+
ref: webRef,
|
|
64
|
+
type: WebComponentType.account,
|
|
65
|
+
presentationMode: PresentationMode.Default,
|
|
66
|
+
params: getAccountParams(props),
|
|
67
|
+
script: getAccountScript(),
|
|
68
|
+
theme: props.theme,
|
|
69
|
+
onMessage: message => handleMessage(message),
|
|
70
|
+
width: windowWidth,
|
|
71
|
+
isScrollable: false
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=UNAccountComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","useListenerToBus","getAccountParams","getAccountScript","injectRefreshEventIfNeeded","PresentationMode","AccountAction","UNAccountComponent","props","height","setHeight","windowWidth","get","width","requestRefreshEvent","setRequestRefreshEvent","webRef","requestRefresh","data","busEventKey","UNIT_REQUEST_REFRESH","action","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","account","componentResourceId","accountId","requestRenderingEvent","Instance","PAGE_HEIGHT","Default","theme"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = (props: UNAccountComponentProps) => {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const [requestRefreshEvent, setRequestRefreshEvent] = useState<RequestRefreshEvent | null>(null);\n\n const webRef = useRef<WebView>(null);\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus([\n { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },\n ]);\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.account,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.account}\n presentationMode={PresentationMode.Default}\n params={getAccountParams(props)}\n script={getAccountScript()}\n theme={props.theme}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,EAAmCC,QAAnC,QAAmD,OAAnD;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,SAAsBC,WAAtB,QAAyC,yCAAzC;AACA,SAAqDC,WAArD,QAAwE,yCAAxE;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,SAASC,YAAT,EAAuBC,gBAAvB,QAA+C,iCAA/C;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAEA,SAASC,gBAAT,EAA2BC,gBAA3B,EAA6CC,0BAA7C,QAA+E,4BAA/E;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAWA,WAAYC,aAAZ;;WAAYA,a;EAAAA,a;EAAAA,a;GAAAA,a,KAAAA,a;;AAKZ,OAAO,MAAMC,kBAAkB,GAAIC,KAAD,IAAoC;EACpE,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBjB,QAAQ,CAAC,CAAD,CAApC;EACA,MAAMkB,WAAW,GAAGjB,UAAU,CAACkB,GAAX,CAAe,QAAf,EAAyBC,KAA7C;EAEA,MAAM,CAACC,mBAAD,EAAsBC,sBAAtB,IAAgDtB,QAAQ,CAA6B,IAA7B,CAA9D;EAEA,MAAMuB,MAAM,GAAGxB,MAAM,CAAU,IAAV,CAArB;;EAEA,MAAMyB,cAAc,GAAIC,IAAD,IAA+B;IACpDH,sBAAsB,CAACG,IAAD,CAAtB;EACD,CAFD;;EAIAjB,gBAAgB,CAAC,CACf;IAAEkB,WAAW,EAAEtB,WAAW,CAACuB,oBAA3B;IAAiDC,MAAM,EAAEJ;EAAzD,CADe,CAAD,CAAhB;EAIA1B,SAAS,CAAC,MAAM;IACda,0BAA0B,CAACY,MAAM,CAACM,OAAR,EAAiBR,mBAAjB,CAA1B;EACD,CAFQ,EAEN,CAACA,mBAAD,CAFM,CAAT;;EAIA,MAAMS,aAAa,GAAIC,OAAD,IAA6B;IACjD,QAAQA,OAAO,CAACC,IAAhB;MACE,KAAK5B,WAAW,CAAC6B,YAAjB;QACElB,KAAK,CAACmB,MAAN,IAAgBnB,KAAK,CAACmB,MAAN,CAAaH,OAAO,CAACI,OAArB,CAAhB;QACA;;MACF,KAAK/B,WAAW,CAACgC,sBAAjB;QAAyC;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAE/B,gBAAgB,CAACgC,OADC;YAEjCC,mBAAmB,EAAEzB,KAAK,CAAC0B,SAFM;YAGjCC,qBAAqB,EAAEX,OAAO,CAACI;UAHE,CAAnC;UAKA9B,QAAQ,CAACsC,QAAT,CAAkBN,KAAlB,CAAwBjC,WAAW,CAACgC,sBAApC,EAA4DC,KAA5D;UACA;QACD;;MACD,KAAKlC,WAAW,CAACyC,WAAjB;QACE3B,SAAS,CAAEc,OAAO,CAACI,OAAT,CAAiCnB,MAAlC,CAAT;QACA;IAfJ;EAiBD,CAlBD;;EAoBA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEA;IAAF;EAAb,gBACE,oBAAC,YAAD;IACE,GAAG,EAAEO,MADP;IAEE,IAAI,EAAEhB,gBAAgB,CAACgC,OAFzB;IAGE,gBAAgB,EAAE3B,gBAAgB,CAACiC,OAHrC;IAIE,MAAM,EAAEpC,gBAAgB,CAACM,KAAD,CAJ1B;IAKE,MAAM,EAAEL,gBAAgB,EAL1B;IAME,KAAK,EAAEK,KAAK,CAAC+B,KANf;IAOE,SAAS,EAAEf,OAAO,IAAID,aAAa,CAACC,OAAD,CAPrC;IAQE,KAAK,EAAEb,WART;IASE,YAAY,EAAE;EAThB,EADF,CADF;AAeD,CAvDM"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AccountAction } from './UNAccountComponent';
|
|
2
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
3
|
+
import { WebComponentType } from '../../webComponent/WebComponent';
|
|
4
|
+
export const getAccountParams = props => {
|
|
5
|
+
return `
|
|
6
|
+
account-id="${props.accountId}"
|
|
7
|
+
customer-token="${props.customerToken}"
|
|
8
|
+
`;
|
|
9
|
+
};
|
|
10
|
+
export const getAccountScript = () => {
|
|
11
|
+
return `
|
|
12
|
+
const dispatchRefreshEvent = (details) => {
|
|
13
|
+
const event = new CustomEvent("${UnitMessage.UNIT_REQUEST_REFRESH}",{ detail: JSON.parse(details) })
|
|
14
|
+
window.dispatchEvent(event)
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
};
|
|
18
|
+
export const injectRefreshEventIfNeeded = (currentWeb, requestRefreshEvent) => {
|
|
19
|
+
if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {
|
|
20
|
+
currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const getAccountActionType = requestRendering => {
|
|
24
|
+
return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=UNAccountComponent.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","getAccountScript","UNIT_REQUEST_REFRESH","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","account","valueOf","injectJavaScript","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":"AAAA,SAASA,aAAT,QAAuD,sBAAvD;AACA,SAAqDC,WAArD,QAAwE,yCAAxE;AAEA,SAASC,gBAAT,QAAiC,iCAAjC;AAEA,OAAO,MAAMC,gBAAgB,GAAIC,KAAD,IAAoC;EAClE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,GAHE;AAID,CALM;AAOP,OAAO,MAAMC,gBAAgB,GAAG,MAAM;EACpC,OAAQ;AACV;AACA,qCAAqCN,WAAW,CAACO,oBAAqB;AACtE;AACA;AACA,GALE;AAMD,CAPM;AASP,OAAO,MAAMC,0BAA0B,GAAG,CAACC,UAAD,EAA6BC,mBAA7B,KAAiF;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAApB,CAAiCC,QAAjC,CAA0CX,gBAAgB,CAACY,OAAjB,CAAyBC,OAAzB,EAA1C,CAA3B,EAA0G;IACxGL,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEM,gBAAZ,CAA8B,yBAAwBC,IAAI,CAACC,SAAL,CAAeP,mBAAf,CAAoC,IAA1F;EACD;AACF,CAJM;AAMP,OAAO,MAAMQ,oBAAoB,GAAIC,gBAAD,IAA6C;EAC/E,OAAOA,gBAAgB,CAACC,IAAjB,CAAsBC,eAAtB,CAAsCT,QAAtC,CAA+Cb,aAAa,CAACuB,IAA7D,IAAqEvB,aAAa,CAACuB,IAAnF,GAA0FvB,aAAa,CAACwB,IAA/G;AACD,CAFM"}
|
|
@@ -1,13 +1,61 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useRef, useState } from 'react';
|
|
2
|
+
import { Dimensions, View } from 'react-native';
|
|
3
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
4
|
+
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
5
|
+
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
2
6
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
3
7
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
4
|
-
import { getActivityParams } from './UNActivityComponent.utils';
|
|
8
|
+
import { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';
|
|
9
|
+
const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
|
|
5
10
|
export const UNActivityComponent = props => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
11
|
+
const webRef = useRef(null);
|
|
12
|
+
const [defaultHeight, setDefaultHeight] = useState();
|
|
13
|
+
|
|
14
|
+
const requestRefresh = data => {
|
|
15
|
+
injectRefreshEventIfNeeded(webRef.current, data);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
useListenerToBus([{
|
|
19
|
+
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
20
|
+
action: requestRefresh
|
|
21
|
+
}]);
|
|
22
|
+
|
|
23
|
+
const handleWebViewMessage = message => {
|
|
24
|
+
switch (message.type) {
|
|
25
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
26
|
+
props.onLoad && props.onLoad(message.details);
|
|
27
|
+
break;
|
|
28
|
+
|
|
29
|
+
case PageMessage.PAGE_HEIGHT:
|
|
30
|
+
{
|
|
31
|
+
const currentHeight = message.details.height;
|
|
32
|
+
currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const renderActivityWebView = () => {
|
|
39
|
+
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
40
|
+
ref: webRef,
|
|
41
|
+
type: WebComponentType.activity,
|
|
42
|
+
presentationMode: PresentationMode.Inherit,
|
|
43
|
+
params: getActivityParams(props),
|
|
44
|
+
onMessage: message => handleWebViewMessage(message),
|
|
45
|
+
nestedScrollEnabled: true,
|
|
46
|
+
theme: props.theme,
|
|
47
|
+
script: getActivityScript()
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
if (!defaultHeight) {
|
|
52
|
+
return renderActivityWebView();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
56
|
+
style: {
|
|
57
|
+
height: defaultHeight
|
|
58
|
+
}
|
|
59
|
+
}, renderActivityWebView());
|
|
12
60
|
};
|
|
13
61
|
//# sourceMappingURL=UNActivityComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PresentationMode","WebComponent","WebComponentType","getActivityParams","UNActivityComponent","props","activity","Inherit"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React from 'react';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams } from './UNActivityComponent.utils';\n\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n return (\n
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectRefreshEventIfNeeded","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","busEventKey","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_ON_LOAD","onLoad","details","PAGE_HEIGHT","currentHeight","renderActivityWebView","activity","Inherit","theme"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus([\n { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },\n ]);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAA8BC,WAA9B,QAAiD,yCAAjD;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAEA,SAAsBC,WAAtB,QAAyC,wCAAzC;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAEA,SAASC,YAAT,EAAuBC,gBAAvB,QAA+C,iCAA/C;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,EAA+CC,0BAA/C,QAAiF,6BAAjF;AAGA,MAAMC,cAAc,GAAGX,UAAU,CAACY,GAAX,CAAe,QAAf,EAAyBC,MAAzB,GAAkC,GAAzD;AAQA,OAAO,MAAMC,mBAAmB,GAAIC,KAAD,IAAqC;EACtE,MAAMC,MAAM,GAAGlB,MAAM,CAAU,IAAV,CAArB;EACA,MAAM,CAACmB,aAAD,EAAgBC,gBAAhB,IAAoCnB,QAAQ,EAAlD;;EAEA,MAAMoB,cAAc,GAAIC,IAAD,IAA+B;IACpDV,0BAA0B,CAACM,MAAM,CAACK,OAAR,EAAiBD,IAAjB,CAA1B;EACD,CAFD;;EAIAjB,gBAAgB,CAAC,CACf;IAAEmB,WAAW,EAAEpB,WAAW,CAACqB,oBAA3B;IAAiDC,MAAM,EAAEL;EAAzD,CADe,CAAD,CAAhB;;EAIA,MAAMM,oBAAoB,GAAIC,OAAD,IAA6B;IACxD,QAAQA,OAAO,CAACC,IAAhB;MACE,KAAKzB,WAAW,CAAC0B,YAAjB;QACEb,KAAK,CAACc,MAAN,IAAgBd,KAAK,CAACc,MAAN,CAAaH,OAAO,CAACI,OAArB,CAAhB;QACA;;MACF,KAAK1B,WAAW,CAAC2B,WAAjB;QAA8B;UAC5B,MAAMC,aAAa,GAAIN,OAAO,CAACI,OAAT,CAAiCjB,MAAvD;UACAmB,aAAa,KAAK,CAAlB,IAAuBd,gBAAgB,CAACP,cAAD,CAAvC;UACA;QACD;IARH;EAUD,CAXD;;EAaA,MAAMsB,qBAAqB,GAAG,MAAM;IAClC,oBACE,oBAAC,YAAD;MACE,GAAG,EAAEjB,MADP;MAEE,IAAI,EAAET,gBAAgB,CAAC2B,QAFzB;MAGE,gBAAgB,EAAE7B,gBAAgB,CAAC8B,OAHrC;MAIE,MAAM,EAAE3B,iBAAiB,CAACO,KAAD,CAJ3B;MAKE,SAAS,EAAGW,OAAD,IAA6BD,oBAAoB,CAACC,OAAD,CAL9D;MAME,mBAAmB,EAAE,IANvB;MAOE,KAAK,EAAEX,KAAK,CAACqB,KAPf;MAQE,MAAM,EAAE3B,iBAAiB;IAR3B,EADF;EAYD,CAbD;;EAeA,IAAI,CAACQ,aAAL,EAAoB;IAClB,OAAOgB,qBAAqB,EAA5B;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEpB,MAAM,EAAEI;IAAV;EAAb,GACGgB,qBAAqB,EADxB,CADF;AAKD,CAjDM"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WebComponentType } from './../../webComponent/WebComponent';
|
|
2
|
+
import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
|
|
2
3
|
export const getActivityParams = props => {
|
|
3
4
|
return `
|
|
4
5
|
account-id="${props.accountId}"
|
|
5
6
|
customer-token="${props.customerToken}"
|
|
6
|
-
theme="${props.theme ?? UnitSDK.getTheme()}"
|
|
7
7
|
style="height: 100%"
|
|
8
8
|
`;
|
|
9
9
|
};
|
|
10
|
+
export const getActivityScript = () => {
|
|
11
|
+
return DISPATCH_REQUEST_REFRESH;
|
|
12
|
+
};
|
|
13
|
+
export const injectRefreshEventIfNeeded = (currentWeb, requestRefreshEvent) => {
|
|
14
|
+
if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {
|
|
15
|
+
currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
10
18
|
//# sourceMappingURL=UNActivityComponent.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountId","customerToken","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,mCAAjC;AAGA,SAASC,wBAAT,QAAyC,iCAAzC;AAGA,OAAO,MAAMC,iBAAiB,GAAIC,KAAD,IAAqC;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C;AACA,GAJE;AAKD,CANM;AAQP,OAAO,MAAMC,iBAAiB,GAAG,MAAM;EACrC,OAAOL,wBAAP;AACD,CAFM;AAIP,OAAO,MAAMM,0BAA0B,GAAG,CAACC,UAAD,EAA6BC,mBAA7B,KAAiF;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAApB,CAAiCC,QAAjC,CAA0CX,gBAAgB,CAACY,QAAjB,CAA0BC,OAA1B,EAA1C,CAA3B,EAA2G;IACzGL,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEM,gBAAZ,CAA8B,yBAAwBC,IAAI,CAACC,SAAL,CAAeP,mBAAf,CAAoC,IAA1F;EACD;AACF,CAJM"}
|
|
@@ -1,23 +1,61 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
3
3
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
4
4
|
import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
|
|
5
5
|
import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
|
|
6
|
+
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
7
|
+
import { View } from 'react-native';
|
|
8
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
6
9
|
export const UNBookPaymentComponent = props => {
|
|
10
|
+
const [height, setHeight] = useState(0);
|
|
11
|
+
const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
|
|
12
|
+
|
|
7
13
|
const handleWebViewMessage = message => {
|
|
8
|
-
if (message
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
if (!message || !message.details) return;
|
|
15
|
+
|
|
16
|
+
switch (message.type) {
|
|
17
|
+
case BookPaymentMessage.PAYMENT_CREATED:
|
|
18
|
+
props.onPaymentCreated && props.onPaymentCreated(message.details.data);
|
|
19
|
+
break;
|
|
20
|
+
|
|
21
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
22
|
+
props.onLoad && props.onLoad(message.details);
|
|
23
|
+
break;
|
|
24
|
+
|
|
25
|
+
case PageMessage.PAGE_HEIGHT:
|
|
26
|
+
{
|
|
27
|
+
const currentHeight = message.details.height;
|
|
28
|
+
setHeight(currentHeight);
|
|
29
|
+
|
|
30
|
+
if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
|
|
31
|
+
setPresentationMode(PresentationMode.Default);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
11
36
|
}
|
|
12
37
|
};
|
|
13
38
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
39
|
+
const renderBookPaymentWebView = () => {
|
|
40
|
+
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
41
|
+
type: WebComponentType.bookPayment,
|
|
42
|
+
presentationMode: presentationMode,
|
|
43
|
+
params: getBookPaymentParams(props),
|
|
44
|
+
script: getBookPaymentScript(),
|
|
45
|
+
onMessage: message => handleWebViewMessage(message),
|
|
46
|
+
isScrollable: false,
|
|
47
|
+
theme: props.theme
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
if (presentationMode === PresentationMode.Inherit) {
|
|
52
|
+
return renderBookPaymentWebView();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
56
|
+
style: {
|
|
57
|
+
height: height
|
|
58
|
+
}
|
|
59
|
+
}, renderBookPaymentWebView());
|
|
22
60
|
};
|
|
23
61
|
//# sourceMappingURL=UNBookPaymentComponent.js.map
|