@tap-payments/auth-jsconnect 2.12.7-development → 2.12.7
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 +60 -10
- package/build/api/file.d.ts +1 -0
- package/build/api/file.js +9 -1
- package/build/api/index.d.ts +1 -0
- package/build/assets/locales/en.json +1 -0
- package/build/components/Tooltip/Tooltip.js +1 -1
- package/build/constants/api.d.ts +1 -0
- package/build/constants/api.js +3 -1
- package/build/constants/app.d.ts +2 -0
- package/build/constants/app.js +2 -0
- package/build/features/app/individual/individualStore.js +2 -1
- package/build/features/app/terminal/terminalStore.d.ts +3 -0
- package/build/features/app/terminal/terminalStore.js +34 -1
- package/build/features/kyc/screens/Terms/Terms.js +6 -5
- package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +2 -1
- package/build/features/terminal/screens/shared/POSDeviceList.js +5 -5
- package/build/utils/common.js +3 -3
- package/build/utils/file.d.ts +1 -0
- package/build/utils/file.js +6 -0
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,12 +20,17 @@ yarn add @tap-payments/auth-jsconnect
|
|
|
20
20
|
|
|
21
21
|
## Features
|
|
22
22
|
|
|
23
|
-
- [Connect](#Connect)
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [Individual](#Individual)
|
|
27
|
-
- [
|
|
28
|
-
- [
|
|
23
|
+
- [Connect](#Connect) - Create a new account with Tap Payments
|
|
24
|
+
- [ConnectExpress](#ConnectExpress) - Simplified connect flow
|
|
25
|
+
- [Business](#Business) - Business entity onboarding and verification
|
|
26
|
+
- [Individual](#Individual) - Individual entity onboarding and verification
|
|
27
|
+
- [Entity](#Entity) - Entity management and verification
|
|
28
|
+
- [Password](#Password) - Password management and recovery
|
|
29
|
+
- [Bank](#Bank) - Bank account management
|
|
30
|
+
- [Tax](#Tax) - Tax information management
|
|
31
|
+
- [Terminal](#Terminal) - Terminal kit for point-of-sale operations
|
|
32
|
+
- [Auth](#Auth) - Authentication module
|
|
33
|
+
- [KYC](#KYC) - Know Your Customer verification
|
|
29
34
|
|
|
30
35
|
## Examples
|
|
31
36
|
|
|
@@ -135,17 +140,48 @@ const App = () => {
|
|
|
135
140
|
```
|
|
136
141
|
|
|
137
142
|
## Connect
|
|
138
|
-
- Help
|
|
143
|
+
- Help merchants create an account with Tap Payments
|
|
139
144
|
|
|
140
|
-
##
|
|
145
|
+
## ConnectExpress
|
|
146
|
+
- Streamlined onboarding flow with simplified user experience
|
|
141
147
|
|
|
142
|
-
##
|
|
148
|
+
## Business
|
|
149
|
+
- Business entity registration and verification
|
|
150
|
+
- License number validation
|
|
151
|
+
- Support for creating new sessions after expiry
|
|
143
152
|
|
|
144
153
|
## Individual
|
|
154
|
+
- Individual entity registration and verification
|
|
155
|
+
- Arabic name validation (English names only accepted)
|
|
156
|
+
- Support for creating new sessions after expiry
|
|
157
|
+
|
|
158
|
+
## Entity
|
|
159
|
+
- Entity information management
|
|
160
|
+
- Frontend-editable fields even when non-editable from backend
|
|
161
|
+
- Entity verification workflows
|
|
162
|
+
|
|
163
|
+
## Password
|
|
164
|
+
- Password management and recovery
|
|
165
|
+
- Session expiry handling with new session creation support
|
|
145
166
|
|
|
146
167
|
## Bank
|
|
168
|
+
- Bank account information management and verification
|
|
147
169
|
|
|
148
170
|
## Tax
|
|
171
|
+
- Tax identification and information management
|
|
172
|
+
- Support for creating new sessions after expiry
|
|
173
|
+
- UNN Collection logic improvements
|
|
174
|
+
|
|
175
|
+
## Terminal
|
|
176
|
+
- Point-of-sale terminal operations
|
|
177
|
+
- Session expiry management with new session creation support
|
|
178
|
+
- Hotfix for improved session handling
|
|
179
|
+
|
|
180
|
+
## Auth
|
|
181
|
+
- Core authentication module for the library
|
|
182
|
+
|
|
183
|
+
## KYC
|
|
184
|
+
- Know Your Customer verification processes
|
|
149
185
|
|
|
150
186
|
```
|
|
151
187
|
|
|
@@ -164,4 +200,18 @@ const App = () => {
|
|
|
164
200
|
| onFlowCompleted `required` - `function` | callback function will called after completing the flow |
|
|
165
201
|
| onReady `required` - `function` | callback function will call after loading library configuration |
|
|
166
202
|
| onStepError `required` - `function` | callback function will call in case if any error happened in the screen |
|
|
167
|
-
|
|
|
203
|
+
| onStepCompleted `optional` - `function` | callback function will call after completing each step |
|
|
204
|
+
| onStepStarted `required` - `function` | callback function will call in the beginning of each step |
|
|
205
|
+
|
|
206
|
+
## Branch Information
|
|
207
|
+
|
|
208
|
+
This repository maintains multiple branches for different environments and stages:
|
|
209
|
+
|
|
210
|
+
| Branch | Purpose | Environment |
|
|
211
|
+
| ------------- | ------------------------------ | ----------- |
|
|
212
|
+
| `main` | Production releases | Production |
|
|
213
|
+
| `beta` | Beta features and testing | Beta |
|
|
214
|
+
| `sandbox` | Sandbox environment testing | Sandbox |
|
|
215
|
+
| `development` | Development features and fixes | Development |
|
|
216
|
+
|
|
217
|
+
**Workflow**: `development` → `sandbox` → `beta` → `main` (production)
|
package/build/api/file.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ declare const fileService: {
|
|
|
10
10
|
uploadFile: (data: UploadFileBody, config?: AxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
11
11
|
uploadFileInfo: (data: UploadFileBody, config?: AxiosRequestConfig) => Promise<any>;
|
|
12
12
|
downloadFile: (id: string, name: string, config?: AxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
13
|
+
retrieveFileInfo: (fileId: string) => Promise<any>;
|
|
13
14
|
};
|
|
14
15
|
export { fileService };
|
package/build/api/file.js
CHANGED
|
@@ -29,9 +29,17 @@ var downloadFile = function (id, name, config) {
|
|
|
29
29
|
return response;
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
|
+
var retrieveFileInfo = function (fileId) {
|
|
33
|
+
return httpClient({
|
|
34
|
+
method: 'get',
|
|
35
|
+
url: "".concat(ENDPOINT_PATHS.FILES_PATH, "/content?fileId=").concat(fileId),
|
|
36
|
+
responseType: 'blob'
|
|
37
|
+
});
|
|
38
|
+
};
|
|
32
39
|
var fileService = {
|
|
33
40
|
uploadFile: uploadFile,
|
|
34
41
|
uploadFileInfo: uploadFileInfo,
|
|
35
|
-
downloadFile: downloadFile
|
|
42
|
+
downloadFile: downloadFile,
|
|
43
|
+
retrieveFileInfo: retrieveFileInfo
|
|
36
44
|
};
|
|
37
45
|
export { fileService };
|
package/build/api/index.d.ts
CHANGED
|
@@ -157,6 +157,7 @@ declare const API: {
|
|
|
157
157
|
uploadFile: (data: UploadFileBody, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
158
158
|
uploadFileInfo: (data: UploadFileBody, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<any>;
|
|
159
159
|
downloadFile: (id: string, name: string, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
160
|
+
retrieveFileInfo: (fileId: string) => Promise<any>;
|
|
160
161
|
};
|
|
161
162
|
documentService: {
|
|
162
163
|
updateDocumentInfo: (data: DocumentUpdateBody) => Promise<any>;
|
|
@@ -393,6 +393,7 @@
|
|
|
393
393
|
"kyc_token_invalid": "May you please verify link of which you are trying to open.",
|
|
394
394
|
"kyc_users_description": "Please select an authorized registered ID to approve with {{provider}}",
|
|
395
395
|
"kyc_verification": "Know Your Customer (KYC)",
|
|
396
|
+
"kyc_privacy_policy": "Privacy Policy",
|
|
396
397
|
"language": "العربية",
|
|
397
398
|
"license_info": "License information",
|
|
398
399
|
"license_name_hint": "Enter legal name",
|
|
@@ -33,7 +33,7 @@ var StyledTooltip = styled(function (_a) {
|
|
|
33
33
|
var _b;
|
|
34
34
|
var theme = _a.theme;
|
|
35
35
|
return (_b = {},
|
|
36
|
-
_b["& .".concat(tooltipClasses.tooltip)] = __assign(__assign({ color: alpha(theme.palette.text.primary, 0.5), width: 'fit-content', maxHeight: 'fit-content' }, theme.typography.body2), { fontWeight: theme.typography.fontWeightLight, backgroundColor: theme.palette.secondary.light, border: "1px solid ".concat(alpha(theme.palette.divider, 0.8)) }),
|
|
36
|
+
_b["& .".concat(tooltipClasses.tooltip)] = __assign(__assign({ color: alpha(theme.palette.text.primary, 0.5), width: 'fit-content', maxHeight: 'fit-content' }, theme.typography.body2), { fontWeight: theme.typography.fontWeightLight, backgroundColor: theme.palette.secondary.light, border: "1px solid ".concat(alpha(theme.palette.divider, 0.8)), zIndex: 2147483647 }),
|
|
37
37
|
_b);
|
|
38
38
|
});
|
|
39
39
|
var TextStyled = styled(Text, { shouldForwardProp: function (prop) { return prop !== 'isAr'; } })(function (_a) {
|
package/build/constants/api.d.ts
CHANGED
package/build/constants/api.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
var SANDBOX_BASE_URL = 'https://connect-mw.sandbox.tap.company/middleware';
|
|
2
2
|
var PRODUCTION_BASE_URL = 'https://connect-mw.tap.company/middleware';
|
|
3
3
|
var PRODUCTION_BASE_URL_SA = 'https://connect-mw.tap.com.sa/middleware';
|
|
4
|
-
var PRODUCTION_BASE_URL_SA_DR = 'https://connect-mw.tap.com.sa/middleware';
|
|
4
|
+
var PRODUCTION_BASE_URL_SA_DR = 'https://connect-mw-tmp.tap.com.sa/middleware';
|
|
5
5
|
var DEV_BASE_URL = 'https://connect-mw.dev.tap.company/middleware';
|
|
6
|
+
var BETA_BASE_URL = 'https://connect-mw.beta.tap.company/middleware';
|
|
6
7
|
var API_BUSINESS_COUNTRIES = 'https://godata.sandbox.tap.company/api/v1/business/country/list';
|
|
7
8
|
var API_COUNTRIES = 'https://utilities.tap.company/api/v1/country/list';
|
|
8
9
|
var CURRENCY_PATH = 'https://utilities.tap.company/api/v1/currency/iso';
|
|
@@ -73,6 +74,7 @@ export var ENDPOINT_PATHS = {
|
|
|
73
74
|
PRODUCTION_BASE_URL_SA: PRODUCTION_BASE_URL_SA,
|
|
74
75
|
PRODUCTION_BASE_URL_SA_DR: PRODUCTION_BASE_URL_SA_DR,
|
|
75
76
|
DEV_BASE_URL: DEV_BASE_URL,
|
|
77
|
+
BETA_BASE_URL: BETA_BASE_URL,
|
|
76
78
|
BUSINESS_COUNTRIES: API_BUSINESS_COUNTRIES,
|
|
77
79
|
COUNTRIES: API_COUNTRIES,
|
|
78
80
|
IP: IP_PATH,
|
package/build/constants/app.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ScreenStepNavigation, BusinessType, POSInfo, TerminalInfo } from '../@types';
|
|
2
2
|
export declare const CONNECT_DEV_URL = "https://connect.dev.tap.company";
|
|
3
|
+
export declare const CONNECT_SANDBOX_URL = "https://connect.sandbox.tap.company";
|
|
4
|
+
export declare const CONNECT_BETA_URL = "https://connect.beta.tap.company";
|
|
3
5
|
export declare const CONNECT_PROD_URL = "https://connect.tap.company";
|
|
4
6
|
export declare const CLIENT_ORIGIN: string;
|
|
5
7
|
export declare const TAP_WEBSITE = "https://www.tap.company/";
|
package/build/constants/app.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BusinessType } from '../@types';
|
|
2
2
|
import { CONNECT_FLOWS } from './flows';
|
|
3
3
|
export var CONNECT_DEV_URL = 'https://connect.dev.tap.company';
|
|
4
|
+
export var CONNECT_SANDBOX_URL = 'https://connect.sandbox.tap.company';
|
|
5
|
+
export var CONNECT_BETA_URL = 'https://connect.beta.tap.company';
|
|
4
6
|
export var CONNECT_PROD_URL = 'https://connect.tap.company';
|
|
5
7
|
export var CLIENT_ORIGIN = window.location.origin;
|
|
6
8
|
export var TAP_WEBSITE = 'https://www.tap.company/';
|
|
@@ -818,7 +818,7 @@ export var updateIndividualInfo = createAsyncThunk('updateIndividualInfo', funct
|
|
|
818
818
|
documentsList.push({ type: DocumentPurpose.CUSTOMER_SIGNATURE, images: signatureFileId });
|
|
819
819
|
if (!(documentsList.length > 0)) return [3, 6];
|
|
820
820
|
documentBody = {
|
|
821
|
-
individual_type_id: ((ids === null || ids === void 0 ? void 0 : ids.length) ? ids
|
|
821
|
+
individual_type_id: ((ids === null || ids === void 0 ? void 0 : ids.length) ? ids[0] : id) || '',
|
|
822
822
|
country: businessCountry.iso2,
|
|
823
823
|
documents: documentsList
|
|
824
824
|
};
|
|
@@ -1274,6 +1274,7 @@ export var individualSlice = createSlice({
|
|
|
1274
1274
|
state.data.individualData.isAuthorized = is_authorized;
|
|
1275
1275
|
})
|
|
1276
1276
|
.addCase(retrieveIndividualInfo.rejected, function (state, action) {
|
|
1277
|
+
state.addOrRequestDetailLoading = false;
|
|
1277
1278
|
state.error = action.error.message;
|
|
1278
1279
|
})
|
|
1279
1280
|
.addCase(getIndividualList.pending, function (state) {
|
|
@@ -40,6 +40,9 @@ export declare const linkNewTerminal: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
40
40
|
export declare const retrievePOSDevices: import("@reduxjs/toolkit").AsyncThunk<{
|
|
41
41
|
data: any;
|
|
42
42
|
}, void, {}>;
|
|
43
|
+
export declare const retrieveTerminalPlatformBrandLogo: import("@reduxjs/toolkit").AsyncThunk<{
|
|
44
|
+
logo: string;
|
|
45
|
+
}, void, {}>;
|
|
43
46
|
interface pushNotificationLinkNewTerminalParams {
|
|
44
47
|
newTerminal: boolean;
|
|
45
48
|
onSuccess: () => void;
|
|
@@ -51,7 +51,7 @@ import { handleCurrentActiveScreen, handlePublicKey, handleSetCountryByIso2, onC
|
|
|
51
51
|
import { FlowsTypes } from '../../../@types';
|
|
52
52
|
import { CONNECT_FLOWS, NAFATH_PACI_TIMEOUT_DURATION, SELECTED_POS_DEFAULT_INFO, SELECTED_TERMINAL_DEFAULT_INFO, TERMINAL_PUSH_NOTIFICATION_DURATION, TERMINAL_PUSH_NOTIFICATION_FAILED, TERMINAL_STEP_NAMES } from '../../../constants';
|
|
53
53
|
import API, { setAuthSessionToGlobalHeaders } from '../../../api';
|
|
54
|
-
import { isAuthenticationVerificationFailed, isNetworkError, isNoDataFoundError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
54
|
+
import { createImageObjectURL, isAuthenticationVerificationFailed, isNetworkError, isNoDataFoundError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
55
55
|
export var verifyToken = createAsyncThunk('terminal/verifyLeadToken', function (_a, thunkApi) {
|
|
56
56
|
var token = _a.token, isInternally = _a.isInternally;
|
|
57
57
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -262,6 +262,25 @@ export var retrievePOSDevices = createAsyncThunk('terminal/retrievePOSDevices',
|
|
|
262
262
|
}
|
|
263
263
|
});
|
|
264
264
|
}); });
|
|
265
|
+
export var retrieveTerminalPlatformBrandLogo = createAsyncThunk('terminal/retrieveTerminalPlatformBrandLogo', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
266
|
+
var terminal, list, logoFileId, data, logo;
|
|
267
|
+
var _a, _b, _c, _d, _e, _f;
|
|
268
|
+
return __generator(this, function (_g) {
|
|
269
|
+
switch (_g.label) {
|
|
270
|
+
case 0:
|
|
271
|
+
terminal = thunkApi.getState().terminal;
|
|
272
|
+
list = (_c = (_b = (_a = terminal.data.responseData) === null || _a === void 0 ? void 0 : _a.terminalData) === null || _b === void 0 ? void 0 : _b.list) !== null && _c !== void 0 ? _c : [];
|
|
273
|
+
logoFileId = (_f = (_e = (_d = list === null || list === void 0 ? void 0 : list[0]) === null || _d === void 0 ? void 0 : _d.platform) === null || _e === void 0 ? void 0 : _e.brand) === null || _f === void 0 ? void 0 : _f.logo;
|
|
274
|
+
if (!logoFileId)
|
|
275
|
+
return [2, { logo: '' }];
|
|
276
|
+
return [4, API.fileService.retrieveFileInfo(logoFileId)];
|
|
277
|
+
case 1:
|
|
278
|
+
data = _g.sent();
|
|
279
|
+
logo = createImageObjectURL(data);
|
|
280
|
+
return [2, { logo: logo }];
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}); });
|
|
265
284
|
export var pushNotificationLinkNewTerminal = createAsyncThunk('terminal/pushNotificationLinkNewTerminal', function (_a, thunkApi) {
|
|
266
285
|
var newTerminal = _a.newTerminal, onSuccess = _a.onSuccess, onFailure = _a.onFailure;
|
|
267
286
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -655,6 +674,20 @@ export var terminalSlice = createSlice({
|
|
|
655
674
|
.addCase(retrievePOSDevices.pending, function (state) {
|
|
656
675
|
state.posDevicesLoading = true;
|
|
657
676
|
state.error = null;
|
|
677
|
+
})
|
|
678
|
+
.addCase(retrieveTerminalPlatformBrandLogo.pending, function (state) {
|
|
679
|
+
state.error = null;
|
|
680
|
+
})
|
|
681
|
+
.addCase(retrieveTerminalPlatformBrandLogo.fulfilled, function (state, action) {
|
|
682
|
+
var _a;
|
|
683
|
+
state.error = null;
|
|
684
|
+
var prevLogo = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.terminalPlatformBrandLogo;
|
|
685
|
+
if (prevLogo)
|
|
686
|
+
URL.revokeObjectURL(prevLogo);
|
|
687
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { terminalPlatformBrandLogo: action.payload.logo });
|
|
688
|
+
})
|
|
689
|
+
.addCase(retrieveTerminalPlatformBrandLogo.rejected, function (state) {
|
|
690
|
+
state.error = null;
|
|
658
691
|
})
|
|
659
692
|
.addCase(retrieveTerminalList.pending, function (state) {
|
|
660
693
|
state.error = null;
|
|
@@ -42,14 +42,15 @@ var redirect = function (link) {
|
|
|
42
42
|
window.open(link, '_blank');
|
|
43
43
|
};
|
|
44
44
|
export var Terms = function () {
|
|
45
|
-
var _a, _b, _c;
|
|
45
|
+
var _a, _b, _c, _d, _e;
|
|
46
46
|
var st = useSanitizedTranslation();
|
|
47
47
|
var isAr = useLanguage().isAr;
|
|
48
48
|
var dispatch = useAppDispatch();
|
|
49
49
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
50
|
+
var _f = useAppSelector(kycSelector), loading = _f.loading, error = _f.error, data = _f.data;
|
|
51
|
+
var hasUsers = (_b = (_a = data.responseData) === null || _a === void 0 ? void 0 : _a.userList) === null || _b === void 0 ? void 0 : _b.length;
|
|
52
|
+
var hasOneUserOnly = ((_d = (_c = data.responseData) === null || _c === void 0 ? void 0 : _c.userList) === null || _d === void 0 ? void 0 : _d.length) === 1;
|
|
53
|
+
var user = hasOneUserOnly ? (_e = data.responseData) === null || _e === void 0 ? void 0 : _e.userList[0] : undefined;
|
|
53
54
|
var idNumber = user ? maskIDNumber(user.identification.id) : '';
|
|
54
55
|
var countryCode = settingsData.businessCountry.iso2.toLowerCase();
|
|
55
56
|
var termsAndConditionsLink = getWebsiteLink(isAr, countryCode, EXTERNAL_LINKS.TERMS_CONDITIONS);
|
|
@@ -82,6 +83,6 @@ export var Terms = function () {
|
|
|
82
83
|
return st('continue');
|
|
83
84
|
return isSACountry ? st('approve_with_nafath_app') : st('approve_with_paci_app');
|
|
84
85
|
};
|
|
85
|
-
return (_jsxs(ScreenContainer, { children: [_jsx(Header, { idNumber: idNumber }), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_terms_conditions') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_refund_policy') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_dispute_policy') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(privacyPolicyLink); }, sx: { mb: error ? 3 : 0 } }, { children: st('kyc_privacy_policy') })), _jsx(Button, __assign({ disabled: isOtherThanKWOrSACountry, sx: { mt: 3 }, disableBack: true, isAr: isAr, loading: loading, error: st(error || ''), onClick: onNext }, { children: getNextButtonTitle() }))] }));
|
|
86
|
+
return (_jsxs(ScreenContainer, { children: [_jsx(Header, { idNumber: idNumber }), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_terms_conditions') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_refund_policy') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(termsAndConditionsLink); } }, { children: st('kyc_dispute_policy') })), _jsx(BoxStyled, __assign({ onClick: function () { return redirect(privacyPolicyLink); }, sx: { mb: error ? 3 : 0 } }, { children: st('kyc_privacy_policy') })), _jsx(Button, __assign({ disabled: isOtherThanKWOrSACountry ? true : !hasUsers, sx: { mt: 3 }, disableBack: true, isAr: isAr, loading: loading, error: st(error || ''), onClick: onNext }, { children: getNextButtonTitle() }))] }));
|
|
86
87
|
};
|
|
87
88
|
export default memo(Terms);
|
|
@@ -56,7 +56,7 @@ import Button from '../../../../components/Button';
|
|
|
56
56
|
import Loader from '../../../../components/Loader';
|
|
57
57
|
import Warning from '../../../../components/Warning';
|
|
58
58
|
import Box from '@mui/material/Box';
|
|
59
|
-
import { clearError, resetTerminalLinkResponse, retrieveBoardDetails, retrieveBoardStatus, retrievePOSDevices, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
|
|
59
|
+
import { clearError, resetTerminalLinkResponse, retrieveBoardDetails, retrieveBoardStatus, retrievePOSDevices, retrieveTerminalPlatformBrandLogo, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
|
|
60
60
|
import { Header, Container, TextTypography } from '../shared';
|
|
61
61
|
import DeviceList from './DeviceList';
|
|
62
62
|
var TerminalDeviceList = function () {
|
|
@@ -100,6 +100,7 @@ var TerminalDeviceList = function () {
|
|
|
100
100
|
_a.label = 1;
|
|
101
101
|
case 1:
|
|
102
102
|
_a.trys.push([1, 3, , 4]);
|
|
103
|
+
dispatch(retrieveTerminalPlatformBrandLogo());
|
|
103
104
|
return [4, dispatch(retrievePOSDevices()).unwrap()];
|
|
104
105
|
case 2:
|
|
105
106
|
_a.sent();
|
|
@@ -9,14 +9,14 @@ import { useAppSelector } from '../../../../hooks';
|
|
|
9
9
|
import { terminalSelector } from '../../../../features/app/terminal/terminalStore';
|
|
10
10
|
import { useTheme } from '@mui/material/styles';
|
|
11
11
|
var POSDeviceList = function (_a) {
|
|
12
|
-
var _b, _c, _d, _e, _f, _g
|
|
13
|
-
var posDevices = _a.posDevices, onClick = _a.onClick, selectedPOS = _a.selectedPOS,
|
|
12
|
+
var _b, _c, _d, _e, _f, _g;
|
|
13
|
+
var posDevices = _a.posDevices, onClick = _a.onClick, selectedPOS = _a.selectedPOS, _h = _a.select, select = _h === void 0 ? true : _h, loading = _a.loading;
|
|
14
14
|
var t = useTranslation().t;
|
|
15
15
|
var typography = useTheme().typography;
|
|
16
16
|
var responseData = useAppSelector(terminalSelector).data.responseData;
|
|
17
|
-
var
|
|
18
|
-
var platformImage =
|
|
19
|
-
var platformName = (
|
|
17
|
+
var _j = responseData || {}, terminalData = _j.terminalData, terminalPlatformBrandLogo = _j.terminalPlatformBrandLogo;
|
|
18
|
+
var platformImage = terminalPlatformBrandLogo || ICONS_NAMES.platform_image;
|
|
19
|
+
var platformName = (_g = (_f = (_e = (_d = (_c = (_b = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.platform) === null || _d === void 0 ? void 0 : _d.brand) === null || _e === void 0 ? void 0 : _e.name) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.text;
|
|
20
20
|
var getEndComponent = function (pos) {
|
|
21
21
|
if (loading && (selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.id) === (pos === null || pos === void 0 ? void 0 : pos.id))
|
|
22
22
|
return _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 10, style: { height: 24, width: 24 }, toggleAnimation: !!loading });
|
package/build/utils/common.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { axiosInstance } from '../api';
|
|
2
|
-
import { ENDPOINT_PATHS,
|
|
2
|
+
import { ENDPOINT_PATHS, CONNECT_SANDBOX_URL, CONNECT_PROD_URL } from '../constants';
|
|
3
3
|
import { objectHasValues } from './object';
|
|
4
4
|
import { isDisasterRecoveryEnv, isSA } from './string';
|
|
5
5
|
export var sleep = function (milliseconds) {
|
|
@@ -17,7 +17,7 @@ export var setBaseUrl = function (publicKey, region) {
|
|
|
17
17
|
var isProd = publicKey.includes('pk_live');
|
|
18
18
|
var _a = region.split('-'), country = _a[0], envType = _a[1];
|
|
19
19
|
if (!isProd) {
|
|
20
|
-
axiosInstance.defaults.baseURL = ENDPOINT_PATHS.
|
|
20
|
+
axiosInstance.defaults.baseURL = ENDPOINT_PATHS.SANDBOX_BASE_URL;
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
if (isSA(country)) {
|
|
@@ -44,7 +44,7 @@ export var updateLocationUrlWithCountry = function (countryIso2) {
|
|
|
44
44
|
window.history.replaceState({}, '', newUrl);
|
|
45
45
|
};
|
|
46
46
|
export var openConnect = function (pk, countryCode) {
|
|
47
|
-
var newUrl = new URL(pk.includes('pk_live') ? CONNECT_PROD_URL :
|
|
47
|
+
var newUrl = new URL(pk.includes('pk_live') ? CONNECT_PROD_URL : CONNECT_SANDBOX_URL);
|
|
48
48
|
if (countryCode) {
|
|
49
49
|
newUrl.pathname = "/".concat(countryCode.toLowerCase());
|
|
50
50
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createImageObjectURL: (blob: Blob) => string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var createImageObjectURL = function (blob) {
|
|
2
|
+
var _a;
|
|
3
|
+
if (!(blob === null || blob === void 0 ? void 0 : blob.size) || !((_a = blob === null || blob === void 0 ? void 0 : blob.type) === null || _a === void 0 ? void 0 : _a.startsWith('image/')))
|
|
4
|
+
return '';
|
|
5
|
+
return URL.createObjectURL(blob);
|
|
6
|
+
};
|
package/build/utils/index.d.ts
CHANGED
package/build/utils/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tap-payments/auth-jsconnect",
|
|
3
|
-
"version": "2.12.7
|
|
3
|
+
"version": "2.12.7",
|
|
4
4
|
"description": "connect library, auth",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"copy:files": "copyfiles -u 1 src/**/*.css build/",
|
|
22
22
|
"tsc:alias": "tsc-alias -p tsconfig.json",
|
|
23
23
|
"ts:build": "rm -rf build && tsc -p tsconfig.json && tsc-alias -p tsconfig.json && yarn copy:files",
|
|
24
|
-
"push": "npm publish --access public
|
|
24
|
+
"push": "npm publish --access public"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [],
|
|
27
27
|
"author": {
|