@tap-payments/auth-jsconnect 2.6.19-test → 2.6.23-test
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/build/@types/app.d.ts +2 -1
- package/build/@types/app.js +1 -0
- package/build/api/auth.d.ts +1 -0
- package/build/api/auth.js +5 -1
- package/build/api/index.d.ts +2 -0
- package/build/api/lead.d.ts +1 -0
- package/build/api/lead.js +50 -1
- package/build/app/rootReducer.d.ts +1 -0
- package/build/app/rootReducer.js +3 -1
- package/build/app/store.d.ts +2 -0
- package/build/components/AnimationFlow/AnimationFlow.d.ts +2 -1
- package/build/components/AnimationFlow/AnimationFlow.js +3 -3
- package/build/components/AnimationFlow/Dialog.d.ts +2 -1
- package/build/components/AnimationFlow/Dialog.js +2 -2
- package/build/constants/api.d.ts +2 -0
- package/build/constants/api.js +4 -0
- package/build/constants/app.d.ts +5 -0
- package/build/constants/app.js +24 -0
- package/build/constants/dummy.js +0 -19
- package/build/features/app/board/boardStore.d.ts +30 -0
- package/build/features/app/board/boardStore.js +223 -0
- package/build/features/app/connect/connectStore.d.ts +3 -1
- package/build/features/app/connect/connectStore.js +6 -2
- package/build/features/app/connectExpress/connectExpressStore.d.ts +4 -2
- package/build/features/app/connectExpress/connectExpressStore.js +93 -8
- package/build/features/board/Board.d.ts +9 -0
- package/build/features/board/Board.js +73 -0
- package/build/features/board/index.d.ts +1 -0
- package/build/features/board/index.js +1 -0
- package/build/features/board/screens/ResetPasswordSuccess/ResetPasswordSuccess.d.ts +5 -0
- package/build/features/board/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +21 -0
- package/build/features/board/screens/ResetPasswordSuccess/index.d.ts +3 -0
- package/build/features/board/screens/ResetPasswordSuccess/index.js +2 -0
- package/build/features/board/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.d.ts +3 -0
- package/build/features/board/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +27 -0
- package/build/features/board/screens/SuccessWithFlowButtons/index.d.ts +2 -0
- package/build/features/board/screens/SuccessWithFlowButtons/index.js +2 -0
- package/build/features/board/screens/Verify/OTPInput.d.ts +7 -0
- package/build/features/board/screens/Verify/OTPInput.js +51 -0
- package/build/features/board/screens/Verify/Verify.d.ts +5 -0
- package/build/features/board/screens/Verify/Verify.js +74 -0
- package/build/features/board/screens/Verify/index.d.ts +2 -0
- package/build/features/board/screens/Verify/index.js +2 -0
- package/build/features/board/screens/Verify/validation.d.ts +8 -0
- package/build/features/board/screens/Verify/validation.js +4 -0
- package/build/features/connect/Connect.js +1 -1
- package/build/features/connect/screens/BusinessCountry/BusinessCountry.js +4 -1
- package/build/features/connect/screens/CivilID/CivilID.js +5 -2
- package/build/features/connect/screens/Mobile/Mobile.js +5 -2
- package/build/features/connect/screens/NID/NID.js +5 -2
- package/build/features/connectExpress/ConnectExpress.js +8 -7
- package/build/features/connectExpress/screens/BusinessCountry/BusinessCountry.js +4 -1
- package/build/features/connectExpress/screens/CivilID/CivilID.js +9 -3
- package/build/features/connectExpress/screens/CivilID/IDNumber.js +7 -2
- package/build/features/connectExpress/screens/Mobile/Mobile.js +6 -3
- package/build/features/connectExpress/screens/Mobile/TAC.js +1 -1
- package/build/features/connectExpress/screens/NID/NID.js +5 -2
- package/build/features/featuresScreens.d.ts +1 -0
- package/build/features/featuresScreens.js +17 -0
- package/build/features/shared/BusinessCountry/BusinessCountry.js +11 -10
- package/build/hooks/useAppDispatch.d.ts +1 -0
- package/build/index.d.ts +3 -2
- package/build/index.js +4 -2
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ import { useForm, FormProvider } from 'react-hook-form';
|
|
|
17
17
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
18
|
import { civilIDValidationSchema } from './validation';
|
|
19
19
|
import { useAppDispatch, useLanguage, useAppSelector, useSetFromDefaultValues } from '../../../../hooks';
|
|
20
|
-
import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
20
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
21
21
|
import { deepCopy } from '../../../../utils';
|
|
22
22
|
import { clearError, connectSelector, createCivilIdAuth, resetMobileScreen, resetStore } from '../../../app/connect/connectStore';
|
|
23
23
|
import Form from '../../../../components/Form';
|
|
@@ -86,10 +86,13 @@ var CivilID = function (_a) {
|
|
|
86
86
|
var onBack = function () {
|
|
87
87
|
dispatch(handlePrevScreenStep('CONNECT_MOBILE_STEP'));
|
|
88
88
|
};
|
|
89
|
+
var onBackToCountryList = function () {
|
|
90
|
+
dispatch(handleCurrentActiveScreen('CONNECT_BUSINESS_COUNTRY_STEP'));
|
|
91
|
+
};
|
|
89
92
|
React.useEffect(function () {
|
|
90
93
|
dispatch(resetStore());
|
|
91
94
|
}, []);
|
|
92
95
|
var disabled = !methods.formState.isValid || !!error;
|
|
93
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(IDNumber, { sx: { mb: methods.formState.isValid ? 7.5 : 0, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack:
|
|
96
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(IDNumber, { sx: { mb: methods.formState.isValid ? 7.5 : 0, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled || settingsStore.loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading || settingsStore.loading }, { children: t('mobile_button_label') }))] }))] })) })) }));
|
|
94
97
|
};
|
|
95
98
|
export default React.memo(CivilID);
|
|
@@ -20,7 +20,7 @@ import Collapse from '../../../../components/Collapse';
|
|
|
20
20
|
import Form from '../../../../components/Form';
|
|
21
21
|
import Button, { AbsherButton, MobileButton } from '../../../shared/Button';
|
|
22
22
|
import { useAppDispatch, useAppSelector, useSetFromDefaultValues } from '../../../../hooks';
|
|
23
|
-
import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
23
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
24
24
|
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
25
25
|
import { clearError, connectSelector, createMobileAuth, resetNIDScreen, resetCivilScreen, resetOTPScreen, resetStore } from '../../../app/connect/connectStore';
|
|
26
26
|
import { useLanguage } from '../../../../hooks';
|
|
@@ -117,6 +117,9 @@ var Mobile = function (_a) {
|
|
|
117
117
|
});
|
|
118
118
|
dispatch(handlePrevScreenStep(isKWCountry ? 'CONNECT_CIVIL_ID_STEP' : 'CONNECT_NID_STEP'));
|
|
119
119
|
};
|
|
120
|
+
var onBackToCountryList = function () {
|
|
121
|
+
dispatch(handleCurrentActiveScreen('CONNECT_BUSINESS_COUNTRY_STEP'));
|
|
122
|
+
};
|
|
120
123
|
React.useEffect(function () {
|
|
121
124
|
dispatch(resetStore());
|
|
122
125
|
}, []);
|
|
@@ -126,6 +129,6 @@ var Mobile = function (_a) {
|
|
|
126
129
|
var disabled = !methods.formState.isValid || !!error;
|
|
127
130
|
var title = t('join_our_community');
|
|
128
131
|
var subTitle = t('ide_terms_and_conditions_description');
|
|
129
|
-
return (_jsxs(ScreenContainer, { children: [(title || subTitle) && _jsx(MIDTitle, { show: !listActive, title: title, description: subTitle }), _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { show: !isBusinessListActive, countries: settingsStore.data.countries, onListOpen: function () { return handleMenuListClick(ListType.CountryCodeList); }, onListClose: function () { return handleMenuListClick(); } }) }), _jsxs(Collapse, __assign({ in: !listActive }, { children: [_jsx(Button, __assign({ isAr: isAr, disableBack:
|
|
132
|
+
return (_jsxs(ScreenContainer, { children: [(title || subTitle) && _jsx(MIDTitle, { show: !listActive, title: title, description: subTitle }), _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { show: !isBusinessListActive, countries: settingsStore.data.countries, onListOpen: function () { return handleMenuListClick(ListType.CountryCodeList); }, onListClose: function () { return handleMenuListClick(); } }) }), _jsxs(Collapse, __assign({ in: !listActive }, { children: [_jsx(Button, __assign({ isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled || settingsStore.loading, loading: loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: !methods.formState.isValid && !isOtherThanKWOrSACountry }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), isKWCountry ? (_jsx(MobileButton, __assign({ disabled: settingsStore.loading || loading, onClick: function () { return onBack(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (_jsx(AbsherButton, __assign({ disabled: settingsStore.loading || loading, onClick: function () { return onBack(); } }, { children: t('absher_button_label') })))] }))] }))] })) }))] }));
|
|
130
133
|
};
|
|
131
134
|
export default React.memo(Mobile);
|
|
@@ -17,7 +17,7 @@ import { useForm, FormProvider } from 'react-hook-form';
|
|
|
17
17
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
18
|
import { NIDValidationSchema } from './validation';
|
|
19
19
|
import { useAppDispatch, useLanguage, useAppSelector } from '../../../../hooks';
|
|
20
|
-
import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
20
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
21
21
|
import { clearError, connectSelector, createNIDAuth, resetMobileScreen, resetStore } from '../../../app/connect/connectStore';
|
|
22
22
|
import Form from '../../../../components/Form';
|
|
23
23
|
import Button, { MobileButton } from '../../../shared/Button';
|
|
@@ -95,10 +95,13 @@ var NID = function (_a) {
|
|
|
95
95
|
});
|
|
96
96
|
dispatch(handlePrevScreenStep('CONNECT_MOBILE_STEP'));
|
|
97
97
|
};
|
|
98
|
+
var onBackToCountryList = function () {
|
|
99
|
+
dispatch(handleCurrentActiveScreen('CONNECT_BUSINESS_COUNTRY_STEP'));
|
|
100
|
+
};
|
|
98
101
|
React.useEffect(function () {
|
|
99
102
|
dispatch(resetStore());
|
|
100
103
|
}, []);
|
|
101
104
|
var disabled = !methods.formState.isValid || !!error;
|
|
102
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack:
|
|
105
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(Button, __assign({ loading: loading, isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled || settingsStore.loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading || settingsStore.loading }, { children: t('mobile_button_label') }))] }))] }))] })) })) }));
|
|
103
106
|
};
|
|
104
107
|
export default React.memo(NID);
|
|
@@ -110,17 +110,18 @@ var ConnectExpress = memo(function (_a) {
|
|
|
110
110
|
}
|
|
111
111
|
}, [data.businessCountry]);
|
|
112
112
|
React.useEffect(function () {
|
|
113
|
-
var _a;
|
|
113
|
+
var _a, _b;
|
|
114
114
|
if (settingLoading)
|
|
115
115
|
return;
|
|
116
116
|
if (data.isValidOperator && props.open) {
|
|
117
|
-
if (configToken) {
|
|
118
|
-
|
|
119
|
-
dispatch(retrieveLeadIdentityByIdAsync(connectData.leadId));
|
|
117
|
+
if (configToken && connectData.leadId) {
|
|
118
|
+
dispatch(retrieveLeadIdentityByIdAsync(connectData.leadId));
|
|
120
119
|
return;
|
|
121
120
|
}
|
|
122
|
-
if (leadId
|
|
123
|
-
|
|
121
|
+
if (leadId) {
|
|
122
|
+
if (props.scope !== 'auth') {
|
|
123
|
+
dispatch(setIsLeadIdPassed(true));
|
|
124
|
+
}
|
|
124
125
|
dispatch(setLeadId(leadId));
|
|
125
126
|
dispatch(retrieveLeadIdentityByIdAsync(leadId));
|
|
126
127
|
return;
|
|
@@ -129,7 +130,7 @@ var ConnectExpress = memo(function (_a) {
|
|
|
129
130
|
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
|
-
if (data.businessCountry.iso2 && (isKW(data.businessCountry.iso2) || isOtherThanKWOrSA(data.businessCountry.iso2))) {
|
|
133
|
+
if (((_b = data.businessCountry) === null || _b === void 0 ? void 0 : _b.iso2) && (isKW(data.businessCountry.iso2) || isOtherThanKWOrSA(data.businessCountry.iso2))) {
|
|
133
134
|
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_MOBILE_STEP'));
|
|
134
135
|
}
|
|
135
136
|
}
|
|
@@ -41,11 +41,14 @@ import { ScreenContainer } from '../../../shared/Containers';
|
|
|
41
41
|
import BusinessCountry from '../../../shared/BusinessCountry';
|
|
42
42
|
import { findCountryByIso2, isKW, isOtherThanKWOrSA } from '../../../../utils';
|
|
43
43
|
import { handleNextScreenStep, handleSetCountryByIso2, settingsSelector } from '../../../../app/settings';
|
|
44
|
-
import { connectExpressSelector, setDefaultCountryCode, updateBusinessCountryAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
44
|
+
import { connectExpressSelector, setDefaultCountryCode, storeIsStartFromBusinessCountry, updateBusinessCountryAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
45
45
|
var BusinessCountryScreen = function (_a) {
|
|
46
46
|
var dispatch = useAppDispatch();
|
|
47
47
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
48
48
|
var _b = useAppSelector(connectExpressSelector), data = _b.data, loading = _b.loading;
|
|
49
|
+
React.useEffect(function () {
|
|
50
|
+
dispatch(storeIsStartFromBusinessCountry(true));
|
|
51
|
+
}, []);
|
|
49
52
|
var defaultValue = React.useMemo(function () {
|
|
50
53
|
var _a, _b;
|
|
51
54
|
return ((_a = settingsData.businessCountry) === null || _a === void 0 ? void 0 : _a.iso2) || ((_b = settingsData.ipCountry) === null || _b === void 0 ? void 0 : _b.iso2);
|
|
@@ -17,7 +17,7 @@ import { useForm, FormProvider } from 'react-hook-form';
|
|
|
17
17
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
18
|
import { civilIDValidationSchema } from './validation';
|
|
19
19
|
import { useAppDispatch, useLanguage, useAppSelector } from '../../../../hooks';
|
|
20
|
-
import { handlePrevScreenStep } from '../../../../app/settings';
|
|
20
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep } from '../../../../app/settings';
|
|
21
21
|
import { clearError, connectExpressSelector, createCivilIdAuthAsync, resetStore } from '../../../app/connectExpress/connectExpressStore';
|
|
22
22
|
import Form from '../../../../components/Form';
|
|
23
23
|
import Button, { MobileButton } from '../../../shared/Button';
|
|
@@ -57,10 +57,12 @@ var OrBoxStyled = styled(Box)(function (_a) {
|
|
|
57
57
|
});
|
|
58
58
|
});
|
|
59
59
|
var CivilID = function (_a) {
|
|
60
|
+
var _b, _c;
|
|
60
61
|
var isAr = useLanguage().isAr;
|
|
61
62
|
var dispatch = useAppDispatch();
|
|
62
63
|
var t = useTranslation().t;
|
|
63
|
-
var
|
|
64
|
+
var _d = useAppSelector(connectExpressSelector), data = _d.data, loading = _d.loading, error = _d.error;
|
|
65
|
+
var isLeadIdPassed = data.isLeadIdPassed, responseData = data.responseData;
|
|
64
66
|
var methods = useForm({
|
|
65
67
|
resolver: yupResolver(civilIDValidationSchema),
|
|
66
68
|
defaultValues: data.civilIdData,
|
|
@@ -79,7 +81,11 @@ var CivilID = function (_a) {
|
|
|
79
81
|
var onBack = function () {
|
|
80
82
|
dispatch(handlePrevScreenStep());
|
|
81
83
|
};
|
|
84
|
+
var onBackToCountryList = function () {
|
|
85
|
+
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
86
|
+
};
|
|
82
87
|
var disabled = !methods.formState.isValid || !!error;
|
|
83
|
-
|
|
88
|
+
var isLeadIdentityIdAvailable = (_c = (_b = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _b === void 0 ? void 0 : _b.identification) === null || _c === void 0 ? void 0 : _c.id;
|
|
89
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(IDNumber, { sx: { mb: methods.formState.isValid ? 7.5 : 0, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable && !methods.formState.isValid : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading }, { children: t('mobile_button_label') }))] }))] })) })) }));
|
|
84
90
|
};
|
|
85
91
|
export default React.memo(CivilID);
|
|
@@ -16,11 +16,13 @@ import { useController, useFormContext } from 'react-hook-form';
|
|
|
16
16
|
import Box from '@mui/material/Box';
|
|
17
17
|
import { styled, alpha } from '@mui/material/styles';
|
|
18
18
|
import Text from '../../../../components/Text';
|
|
19
|
+
import { useAppSelector } from '../../../../hooks';
|
|
19
20
|
import { removeAllOtherThanCharsAndNumber } from '../../../../utils';
|
|
20
21
|
import { CIVIL_ID_NUMBER_LENGTH } from '../../../../constants';
|
|
21
22
|
import Input from '../../../shared/Input';
|
|
22
23
|
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
23
24
|
import { EndAdornment } from '../../../shared/EndAdornment';
|
|
25
|
+
import { connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
|
|
24
26
|
var LabelContainerStyled = styled(Box)(function (_a) {
|
|
25
27
|
var theme = _a.theme;
|
|
26
28
|
return ({
|
|
@@ -34,11 +36,12 @@ var InputLabelStyled = styled(Text)(function (_a) {
|
|
|
34
36
|
return (__assign(__assign({ color: alpha(theme.palette.text.primary, 0.6), fontWeight: theme.typography.fontWeightMedium }, theme.typography.caption), { lineHeight: theme.spacing(2.5) }));
|
|
35
37
|
});
|
|
36
38
|
var IDNumber = React.forwardRef(function (_a, ref) {
|
|
37
|
-
var _b;
|
|
39
|
+
var _b, _c, _d;
|
|
38
40
|
var sx = _a.sx;
|
|
39
41
|
var t = useTranslation().t;
|
|
40
42
|
var control = useFormContext().control;
|
|
41
43
|
var civilIdControl = useController({ control: control, name: 'civilId' });
|
|
44
|
+
var data = useAppSelector(connectExpressSelector).data;
|
|
42
45
|
var handleIdChange = function (_a) {
|
|
43
46
|
var target = _a.target;
|
|
44
47
|
var value = removeAllOtherThanCharsAndNumber(target.value);
|
|
@@ -49,6 +52,8 @@ var IDNumber = React.forwardRef(function (_a, ref) {
|
|
|
49
52
|
};
|
|
50
53
|
var idValue = civilIdControl.field.value;
|
|
51
54
|
var error = (_b = civilIdControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
52
|
-
|
|
55
|
+
var isLeadIdPassed = data.isLeadIdPassed, responseData = data.responseData;
|
|
56
|
+
var isLeadIdentityIdAvailable = !!((_d = (_c = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _c === void 0 ? void 0 : _c.identification) === null || _d === void 0 ? void 0 : _d.id);
|
|
57
|
+
return (_jsxs(ScreenContainer, __assign({ ref: ref, sx: sx }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('enter_civil_id') }) }), _jsx(Input, { dir: 'ltr', type: 'text', inputProps: { maxLength: CIVIL_ID_NUMBER_LENGTH }, onChange: handleIdChange, disabled: isLeadIdPassed && isLeadIdentityIdAvailable, value: idValue, endAdornment: _jsx(EndAdornment, { value: idValue, error: error, onClear: clearIdNumber }), placeholder: t('civil_id_placeholder'), warningType: 'alert', warningMessage: error && t(error), required: true })] })));
|
|
53
58
|
});
|
|
54
59
|
export default React.memo(IDNumber);
|
|
@@ -20,7 +20,7 @@ import Collapse from '../../../../components/Collapse';
|
|
|
20
20
|
import Form from '../../../../components/Form';
|
|
21
21
|
import Button, { AbsherButton, MobileButton } from '../../../shared/Button';
|
|
22
22
|
import { useAppDispatch, useAppSelector, useCountry, useFormErrorAndUpdateReadOnly, useFormReadOnly } from '../../../../hooks';
|
|
23
|
-
import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
23
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
24
24
|
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
25
25
|
import { clearError, resetStore, connectExpressSelector, createMobileAuthAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
26
26
|
import { useLanguage } from '../../../../hooks';
|
|
@@ -78,7 +78,7 @@ var Mobile = function (_a) {
|
|
|
78
78
|
var dispatch = useAppDispatch();
|
|
79
79
|
var _f = useCountry(settingData.businessCountry.iso2), isKuwait = _f.isKuwait, isOther = _f.isOther;
|
|
80
80
|
var responseData = data.responseData, isLeadIdPassed = data.isLeadIdPassed;
|
|
81
|
-
var isLeadIdentityIdAvailable =
|
|
81
|
+
var isLeadIdentityIdAvailable = (_c = (_b = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _b === void 0 ? void 0 : _b.identification) === null || _c === void 0 ? void 0 : _c.id;
|
|
82
82
|
var methods = useForm({
|
|
83
83
|
resolver: yupResolver(PhoneValidationSchema(isLeadIdPassed)),
|
|
84
84
|
defaultValues: data.mobileData,
|
|
@@ -98,6 +98,9 @@ var Mobile = function (_a) {
|
|
|
98
98
|
var screen = isKuwait ? 'CONNECT_EXPRESS_CIVIL_ID_STEP' : 'CONNECT_EXPRESS_NID_STEP';
|
|
99
99
|
dispatch(handlePrevScreenStep(screen));
|
|
100
100
|
};
|
|
101
|
+
var onBackToCountryList = function () {
|
|
102
|
+
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
103
|
+
};
|
|
101
104
|
var handleCountryOpen = function () {
|
|
102
105
|
setAnchor(true);
|
|
103
106
|
};
|
|
@@ -107,6 +110,6 @@ var Mobile = function (_a) {
|
|
|
107
110
|
var originalReadOnly = useFormReadOnly(methods);
|
|
108
111
|
var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly);
|
|
109
112
|
var disabled = !methods.formState.isValid || !!error;
|
|
110
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { readOnly: readOnly['mobile'], show: true, countries: settingData.countries, onListOpen: handleCountryOpen, onListClose: handleCountryClose }) }), _jsxs(Collapse, __assign({ in: !anchor }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({
|
|
113
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { readOnly: readOnly['mobile'], show: true, countries: settingData.countries, onListOpen: handleCountryOpen, onListClose: handleCountryClose }) }), _jsxs(Collapse, __assign({ in: !anchor }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({ isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: (isLeadIdPassed ? !isLeadIdentityIdAvailable : !methods.formState.isValid) && !isOther }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), isKuwait ? (_jsx(MobileButton, __assign({ disabled: loading, onClick: function () { return onBack(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (_jsx(AbsherButton, __assign({ disabled: loading, onClick: function () { return onBack(); } }, { children: t('absher_button_label') })))] }))] }))] })) })) }));
|
|
111
114
|
};
|
|
112
115
|
export default React.memo(Mobile);
|
|
@@ -80,6 +80,6 @@ var TAC = function (_a) {
|
|
|
80
80
|
return;
|
|
81
81
|
tacControl.field.onChange(checked);
|
|
82
82
|
};
|
|
83
|
-
return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsxs(TACContainerStyled, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] }), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] }) })));
|
|
83
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: [_jsxs(TACContainerStyled, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] }), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] })) })));
|
|
84
84
|
};
|
|
85
85
|
export default React.memo(TAC);
|
|
@@ -17,7 +17,7 @@ import { useForm, FormProvider } from 'react-hook-form';
|
|
|
17
17
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
18
|
import { NIDValidationSchema } from './validation';
|
|
19
19
|
import { useAppDispatch, useLanguage, useAppSelector, useFormReadOnly, useFormErrorAndUpdateReadOnly } from '../../../../hooks';
|
|
20
|
-
import { handlePrevScreenStep } from '../../../../app/settings';
|
|
20
|
+
import { handleCurrentActiveScreen, handlePrevScreenStep } from '../../../../app/settings';
|
|
21
21
|
import { clearError, connectExpressSelector, createNIDAuthAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
22
22
|
import Form from '../../../../components/Form';
|
|
23
23
|
import Button, { MobileButton } from '../../../shared/Button';
|
|
@@ -86,10 +86,13 @@ var NID = function (_a) {
|
|
|
86
86
|
var onBack = function () {
|
|
87
87
|
dispatch(handlePrevScreenStep());
|
|
88
88
|
};
|
|
89
|
+
var onBackToCountryList = function () {
|
|
90
|
+
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
91
|
+
};
|
|
89
92
|
var originalReadOnly = useFormReadOnly(methods);
|
|
90
93
|
var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly);
|
|
91
94
|
var disabled = !methods.formState.isValid || !!error;
|
|
92
95
|
var isLeadIdentityIdAvailable = (_c = (_b = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _b === void 0 ? void 0 : _b.identification) === null || _c === void 0 ? void 0 : _c.id;
|
|
93
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse, readOnly: readOnly['nid'] }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose, readOnly: readOnly['dob'] }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack:
|
|
96
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse, readOnly: readOnly['nid'] }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose, readOnly: readOnly['dob'] }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({ loading: loading, isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable && !methods.formState.isValid : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading }, { children: t('mobile_button_label') }))] }))] }))] })) })) }));
|
|
94
97
|
};
|
|
95
98
|
export default React.memo(NID);
|
|
@@ -9,3 +9,4 @@ export declare const taxFeatureScreens: Array<FeatureScreenStep>;
|
|
|
9
9
|
export declare const signInFeatureScreens: Array<FeatureScreenStep>;
|
|
10
10
|
export declare const entityFeatureScreens: Array<FeatureScreenStep>;
|
|
11
11
|
export declare const brandFeatureScreens: Array<FeatureScreenStep>;
|
|
12
|
+
export declare const boardFeatureScreens: Array<FeatureScreenStep>;
|
|
@@ -82,6 +82,9 @@ import BrandSuccessPage from './brand/screens/Success';
|
|
|
82
82
|
import BrandSuccessWithFlowPage from './brand/screens/SuccessWithFlowButtons';
|
|
83
83
|
import BrandResetPasswordSuccessPage from './brand/screens/ResetPasswordSuccess';
|
|
84
84
|
import BrandDataLoadingPage from './brand/screens/PrepareDataLoading';
|
|
85
|
+
import BoardVerifyPage from './board/screens/Verify';
|
|
86
|
+
import BoardSuccessWithFlowPage from './board/screens/SuccessWithFlowButtons';
|
|
87
|
+
import BoardResetPasswordSuccessPage from './board/screens/ResetPasswordSuccess';
|
|
85
88
|
export var connectFeatureScreens = [
|
|
86
89
|
{
|
|
87
90
|
name: 'CONNECT_BUSINESS_COUNTRY_STEP',
|
|
@@ -408,3 +411,17 @@ export var brandFeatureScreens = [
|
|
|
408
411
|
},
|
|
409
412
|
{ name: 'BRAND_RESET_PASSWORD_SUCCESS', element: BrandResetPasswordSuccessPage }
|
|
410
413
|
];
|
|
414
|
+
export var boardFeatureScreens = [
|
|
415
|
+
{
|
|
416
|
+
name: 'BOARD_VERIFY_STEP',
|
|
417
|
+
element: BoardVerifyPage
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: 'BOARD_RESET_PASSWORD_SUCCESS',
|
|
421
|
+
element: BoardResetPasswordSuccessPage
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
name: 'BOARD_SUCCESS_FLOWS_BUTTONS_STEP',
|
|
425
|
+
element: BoardSuccessWithFlowPage
|
|
426
|
+
}
|
|
427
|
+
];
|
|
@@ -98,7 +98,7 @@ var BusinessCountry = function (_a) {
|
|
|
98
98
|
var _b, _c;
|
|
99
99
|
var countries = _a.countries, loading = _a.loading, defaultCountryIso2 = _a.defaultCountryIso2, onSelectCountry = _a.onSelectCountry;
|
|
100
100
|
var _d = React.useState(countries || []), countryList = _d[0], setCountryList = _d[1];
|
|
101
|
-
var _e = React.useState(
|
|
101
|
+
var _e = React.useState(true), open = _e[0], setOpen = _e[1];
|
|
102
102
|
var _f = React.useState(''), subIndex = _f[0], setSubIndex = _f[1];
|
|
103
103
|
var _g = React.useState(), selectedCountry = _g[0], setSelectedCountry = _g[1];
|
|
104
104
|
var t = useTranslation().t;
|
|
@@ -112,11 +112,12 @@ var BusinessCountry = function (_a) {
|
|
|
112
112
|
});
|
|
113
113
|
}); };
|
|
114
114
|
var handleCloseMainMenu = function () {
|
|
115
|
-
|
|
115
|
+
setOpen(false);
|
|
116
116
|
handleSearch('');
|
|
117
117
|
};
|
|
118
|
-
var handleOpenMainMenu = function (
|
|
119
|
-
|
|
118
|
+
var handleOpenMainMenu = function () {
|
|
119
|
+
setCountryList(countries);
|
|
120
|
+
setOpen(true);
|
|
120
121
|
};
|
|
121
122
|
var handleOpenSubMenu = function (index) {
|
|
122
123
|
if (subIndex === index)
|
|
@@ -131,12 +132,17 @@ var BusinessCountry = function (_a) {
|
|
|
131
132
|
return (r.countries || []).find(function (c) {
|
|
132
133
|
if (c.country.iso2 === defaultCountryIso2) {
|
|
133
134
|
setSelectedCountry(c);
|
|
135
|
+
setSubIndex(r.id.toString());
|
|
134
136
|
return;
|
|
135
137
|
}
|
|
136
138
|
});
|
|
137
139
|
});
|
|
138
140
|
}, [defaultCountryIso2]);
|
|
139
141
|
var handleSearch = function (value) {
|
|
142
|
+
if (value === '') {
|
|
143
|
+
setCountryList(countries);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
140
146
|
var filteredList = countryList === null || countryList === void 0 ? void 0 : countryList.filter(function (country) {
|
|
141
147
|
var _a, _b;
|
|
142
148
|
return ((_a = country.countries) === null || _a === void 0 ? void 0 : _a.find(function (obj) { return obj.country.name_en.toLowerCase().includes(value.toLowerCase()); })) ||
|
|
@@ -144,12 +150,7 @@ var BusinessCountry = function (_a) {
|
|
|
144
150
|
});
|
|
145
151
|
setCountryList(filteredList);
|
|
146
152
|
};
|
|
147
|
-
|
|
148
|
-
var item = countryList === null || countryList === void 0 ? void 0 : countryList.find(function (r) { var _a; return (_a = r.countries) === null || _a === void 0 ? void 0 : _a.find(function (c) { var _a; return c.country.iso2 === ((_a = countryValue === null || countryValue === void 0 ? void 0 : countryValue.country) === null || _a === void 0 ? void 0 : _a.iso2); }); });
|
|
149
|
-
if (item)
|
|
150
|
-
setSubIndex(item.id.toString());
|
|
151
|
-
}, [anchorEl]);
|
|
152
|
-
return (_jsxs(ScreenContainer, __assign({ sx: { pb: 2.5 } }, { children: [_jsx(InputSelect, { required: true, label: t('country_list_title'), value: (isAr ? (_b = countryValue === null || countryValue === void 0 ? void 0 : countryValue.country) === null || _b === void 0 ? void 0 : _b.name_ar : (_c = countryValue === null || countryValue === void 0 ? void 0 : countryValue.country) === null || _c === void 0 ? void 0 : _c.name_en) || '', onClick: !!anchorEl ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_any_country'), endAdornment: _jsx(ExpandIcon, { anchorEl: !!anchorEl }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: countryList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item, e) {
|
|
153
|
+
return (_jsxs(ScreenContainer, __assign({ sx: { pb: 2.5 } }, { children: [_jsx(InputSelect, { required: true, label: t('country_list_title'), value: (isAr ? (_b = countryValue === null || countryValue === void 0 ? void 0 : countryValue.country) === null || _b === void 0 ? void 0 : _b.name_ar : (_c = countryValue === null || countryValue === void 0 ? void 0 : countryValue.country) === null || _c === void 0 ? void 0 : _c.name_en) || '', onClick: open ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_any_country'), endAdornment: _jsx(ExpandIcon, { anchorEl: open }) }), _jsxs(Collapse, __assign({ in: open }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: countryList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item, e) {
|
|
153
154
|
e.stopPropagation();
|
|
154
155
|
handleOpenSubMenu(item.id.toString());
|
|
155
156
|
}, renderItem: function (item) {
|
|
@@ -10,4 +10,5 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<{
|
|
|
10
10
|
entity: import("../features/app/entity/entityStore").EntityState;
|
|
11
11
|
brand: import("../features/app/brand/brandStore").BrandState;
|
|
12
12
|
connectExpress: import("../features/app/connectExpress/connectExpressStore").ConnectExpressState;
|
|
13
|
+
board: import("../features/app/board/boardStore").BoardState;
|
|
13
14
|
}, undefined, import("redux").AnyAction> & import("redux").Dispatch<import("redux").AnyAction>;
|
package/build/index.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ import { TaxElement, TaxLibProps } from './features/tax';
|
|
|
10
10
|
import { SignInElement, SignInLibProps } from './features/signIn';
|
|
11
11
|
import { EntityElement, EntityLibProps } from './features/entity';
|
|
12
12
|
import { BrandElement, BrandLibProps } from './features/brand';
|
|
13
|
-
|
|
14
|
-
export {
|
|
13
|
+
import { BoardLibProps, BoardElement } from './features/board';
|
|
14
|
+
export type { ConnectLibProps, ConnectExpressLibProps, BusinessLibProps, PasswordLibProps, IndividualLibProps, BankLibProps, TaxLibProps, EntityLibProps, BrandLibProps, SignInLibProps, BoardLibProps };
|
|
15
|
+
export { ConnectElement, ConnectExpressElement, BusinessElement, PasswordElement, IndividualElement, BankElement, TaxElement, EntityElement, BrandElement, SignInElement, BoardElement };
|
package/build/index.js
CHANGED
|
@@ -10,7 +10,8 @@ import { TaxElement, renderTaxLib } from './features/tax';
|
|
|
10
10
|
import { SignInElement, renderSignInLib } from './features/signIn';
|
|
11
11
|
import { EntityElement, renderEntityLib } from './features/entity';
|
|
12
12
|
import { BrandElement, renderBrandLib } from './features/brand';
|
|
13
|
-
|
|
13
|
+
import { BoardElement, renderBoardLib } from './features/board';
|
|
14
|
+
export { ConnectElement, ConnectExpressElement, BusinessElement, PasswordElement, IndividualElement, BankElement, TaxElement, EntityElement, BrandElement, SignInElement, BoardElement };
|
|
14
15
|
window['TapAuth'] = {
|
|
15
16
|
renderConnectLib: renderConnectLib,
|
|
16
17
|
renderConnectExpressLib: renderConnectExpressLib,
|
|
@@ -21,6 +22,7 @@ window['TapAuth'] = {
|
|
|
21
22
|
renderTaxLib: renderTaxLib,
|
|
22
23
|
renderEntityLib: renderEntityLib,
|
|
23
24
|
renderBrandLib: renderBrandLib,
|
|
24
|
-
renderSignInLib: renderSignInLib
|
|
25
|
+
renderSignInLib: renderSignInLib,
|
|
26
|
+
renderBoardLib: renderBoardLib
|
|
25
27
|
};
|
|
26
28
|
console.log("TapAuth version: ".concat(require('../package.json').version));
|