@tap-payments/auth-jsconnect 1.0.11 → 1.0.16
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/assets/locales/ar.json +200 -88
- package/build/assets/locales/en.json +216 -90
- package/build/components/DatePicker/DatePicker.js +6 -17
- package/build/components/ExpandIcon/ExpandIcon.d.ts +7 -0
- package/build/components/ExpandIcon/ExpandIcon.js +24 -0
- package/build/components/ExpandIcon/index.d.ts +2 -0
- package/build/components/ExpandIcon/index.js +2 -0
- package/build/components/Footer/Footer.js +1 -1
- package/build/components/Loader/Loader.js +2 -2
- package/build/components/Warning/Warning.d.ts +1 -2
- package/build/components/Warning/Warning.js +1 -2
- package/build/constants/app.d.ts +1 -1
- package/build/constants/app.js +32 -8
- package/build/constants/dummy.js +3 -3
- package/build/features/bank/screens/BankDetails/BankName.js +1 -1
- package/build/features/bank/screens/BankDetails/Beneficiary.js +5 -5
- package/build/features/bank/screens/BankDetails/IBAN.js +3 -3
- package/build/features/bank/screens/BankDetails/validation.js +9 -4
- package/build/features/bank/screens/Success/Success.d.ts +5 -0
- package/build/features/bank/screens/Success/Success.js +14 -0
- package/build/features/bank/screens/Success/index.d.ts +3 -0
- package/build/features/bank/screens/Success/index.js +2 -0
- package/build/features/business/screens/Activities/ActivitiesList.d.ts +0 -16
- package/build/features/business/screens/Activities/ActivitiesList.js +3 -17
- package/build/features/business/screens/Activities/OperationStartDate.js +1 -1
- package/build/features/business/screens/Activities/SalesChannels.js +1 -1
- package/build/features/business/screens/Activities/validation.js +3 -3
- package/build/features/business/screens/BusinessType/CRNumber.js +2 -1
- package/build/features/business/screens/BusinessType/CompanyLicense.js +2 -2
- package/build/features/business/screens/BusinessType/FLNumber.js +2 -1
- package/build/features/business/screens/BusinessType/FreelanceLicense.js +2 -2
- package/build/features/business/screens/BusinessType/SelectType.js +1 -1
- package/build/features/business/screens/BusinessType/validation.js +2 -8
- package/build/features/business/screens/Confirm/Confirm.js +1 -1
- package/build/features/business/screens/Customers/CustomerLocations.d.ts +0 -24
- package/build/features/business/screens/Customers/CustomerLocations.js +3 -17
- package/build/features/business/screens/Customers/Customers.js +5 -41
- package/build/features/business/screens/Customers/ExpectedCustomers.js +7 -11
- package/build/features/business/screens/Customers/ExpectedSalesRange.js +7 -6
- package/build/features/business/screens/Customers/RefundPolicy.d.ts +0 -8
- package/build/features/business/screens/Customers/RefundPolicy.js +2 -10
- package/build/features/business/screens/Customers/TransactionPolicy.js +3 -2
- package/build/features/business/screens/Customers/validation.d.ts +6 -6
- package/build/features/business/screens/Customers/validation.js +10 -5
- package/build/features/business/screens/IDBOD/DOB.js +3 -11
- package/build/features/business/screens/IDBOD/ID.js +1 -1
- package/build/features/business/screens/IDBOD/validation.js +7 -2
- package/build/features/business/screens/OTP/OTP.js +18 -58
- package/build/features/business/screens/OTP/OTPInput.js +9 -21
- package/build/features/business/screens/OTP/validation.js +1 -1
- package/build/features/business/screens/Success/Success.js +1 -2
- package/build/features/business/screens/VerifyNumber/OTPInput.d.ts +1 -2
- package/build/features/business/screens/VerifyNumber/OTPInput.js +13 -42
- package/build/features/business/screens/VerifyNumber/VerifyNumber.js +20 -66
- package/build/features/business/screens/VerifyNumber/validation.js +1 -1
- package/build/features/connect/screens/Individual/Email.js +7 -1
- package/build/features/connect/screens/Individual/Individual.js +0 -28
- package/build/features/connect/screens/Individual/Name.js +9 -3
- package/build/features/connect/screens/Individual/validation.js +5 -2
- package/build/features/connect/screens/MID/BusinessCountry.d.ts +1 -0
- package/build/features/connect/screens/MID/BusinessCountry.js +2 -2
- package/build/features/connect/screens/MID/DOB.d.ts +6 -0
- package/build/features/connect/screens/MID/DOB.js +38 -0
- package/build/features/connect/screens/MID/IDNumber.js +3 -14
- package/build/features/connect/screens/MID/MID.js +13 -7
- package/build/features/connect/screens/MID/MobileNumber.d.ts +1 -0
- package/build/features/connect/screens/MID/MobileNumber.js +34 -10
- package/build/features/connect/screens/MID/validation.d.ts +1 -1
- package/build/features/connect/screens/MID/validation.js +9 -4
- package/build/features/connect/screens/Merchant/BrandName.js +3 -1
- package/build/features/connect/screens/Merchant/SocialMedia.js +7 -2
- package/build/features/connect/screens/Merchant/TAC.js +1 -1
- package/build/features/connect/screens/Merchant/validation.d.ts +9 -9
- package/build/features/connect/screens/Merchant/validation.js +42 -11
- package/build/features/connect/screens/OTP/OTP.js +4 -3
- package/build/features/connect/screens/OTP/OTPInput.js +2 -1
- package/build/features/connect/screens/OTP/validation.js +1 -1
- package/build/features/connect/screens/Password/PasswordInput.js +2 -1
- package/build/features/connect/screens/Password/validation.js +1 -1
- package/build/features/connect/screens/ThankYou/ThankYou.js +1 -2
- package/build/features/featuresScreens.d.ts +1 -1
- package/build/features/featuresScreens.js +27 -7
- package/build/features/individual/Individual.d.ts +6 -0
- package/build/features/individual/Individual.js +50 -0
- package/build/features/individual/index.d.ts +1 -0
- package/build/features/individual/index.js +1 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.d.ts +8 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +81 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/EmployerLocation.d.ts +10 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/EmployerLocation.js +81 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/EmployerName.d.ts +6 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/EmployerName.js +40 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.d.ts +6 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.js +45 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.d.ts +6 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +36 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.d.ts +6 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.js +45 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.d.ts +9 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.js +87 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/index.d.ts +3 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/index.js +2 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +25 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +35 -0
- package/build/features/individual/screens/ShowIndividualInfo/ShowOwnerInfo.d.ts +19 -0
- package/build/features/individual/screens/ShowIndividualInfo/ShowOwnerInfo.js +52 -0
- package/build/features/individual/screens/ShowIndividualInfo/index.d.ts +3 -0
- package/build/features/individual/screens/ShowIndividualInfo/index.js +2 -0
- package/build/features/individual/screens/ShowIndividualInfo/info.d.ts +7 -0
- package/build/features/individual/screens/ShowIndividualInfo/info.js +28 -0
- package/build/features/individual/screens/Success/Success.d.ts +5 -0
- package/build/features/individual/screens/Success/Success.js +14 -0
- package/build/features/individual/screens/Success/index.d.ts +3 -0
- package/build/features/individual/screens/Success/index.js +2 -0
- package/build/features/owner/screens/AdditionalOwnerInfo/AdditionalOwnerInfo.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/EmployerLocation.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/EmployerName.js +7 -2
- package/build/features/owner/screens/AdditionalOwnerInfo/InfluencerSwitch.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/MonthlyIncome.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/PEPSwitch.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/SourceOfIncome.js +1 -1
- package/build/features/owner/screens/AdditionalOwnerInfo/validation.js +6 -3
- package/build/features/owner/screens/ShowOwnerInfo/ShowOwnerInfo.js +1 -1
- package/build/features/owner/screens/Success/Success.d.ts +5 -0
- package/build/features/owner/screens/Success/Success.js +14 -0
- package/build/features/owner/screens/Success/index.d.ts +3 -0
- package/build/features/owner/screens/Success/index.js +2 -0
- package/build/features/password/Password.js +2 -2
- package/build/features/password/screens/CreatePassword/ConfirmPassword.d.ts +4 -1
- package/build/features/password/screens/CreatePassword/ConfirmPassword.js +3 -8
- package/build/features/password/screens/CreatePassword/Password.js +2 -1
- package/build/features/password/screens/CreatePassword/validation.js +3 -3
- package/build/features/password/screens/Success/Success.d.ts +5 -0
- package/build/features/password/screens/Success/Success.js +14 -0
- package/build/features/password/screens/Success/index.d.ts +3 -0
- package/build/features/password/screens/Success/index.js +2 -0
- package/build/features/shared/Button/Button.js +7 -1
- package/build/features/shared/Footer/Footer.js +1 -1
- package/build/features/shared/SuccessScreen/SuccessScreen.js +10 -1
- package/build/features/tax/screens/Success/Success.d.ts +5 -0
- package/build/features/tax/screens/Success/Success.js +14 -0
- package/build/features/tax/screens/Success/index.d.ts +3 -0
- package/build/features/tax/screens/Success/index.js +2 -0
- package/build/features/tax/screens/TaxDetails/VATId.js +3 -4
- package/build/features/tax/screens/TaxDetails/validation.js +1 -1
- package/build/index.css +105 -3
- package/build/index.d.ts +3 -3
- package/build/index.js +4 -4
- package/build/theme/typography.js +2 -2
- package/build/utils/string.js +2 -2
- package/package.json +120 -120
- package/build/features/business/screens/OTP/OTPTimer.d.ts +0 -5
- package/build/features/business/screens/OTP/OTPTimer.js +0 -20
- package/build/features/business/screens/VerifyNumber/OTPTimer.d.ts +0 -5
- package/build/features/business/screens/VerifyNumber/OTPTimer.js +0 -20
|
@@ -1,23 +1,54 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
2
|
export var MerchantValidationSchema = yup.object().shape({
|
|
3
|
-
brandName: yup.string().min(3, '
|
|
4
|
-
termAndConditionChecked: yup.boolean().required().isTrue('
|
|
3
|
+
brandName: yup.string().min(3, 'enter_brand_name_english_chars_numbers_space').required('enter_valid_brand_name'),
|
|
4
|
+
termAndConditionChecked: yup.boolean().required().isTrue('check_terms_cond'),
|
|
5
5
|
links: yup.object().shape({
|
|
6
|
-
website: yup
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
website: yup.string().when(['instagram', 'twitter'], function (instagram, twitter) {
|
|
7
|
+
if (!instagram && !twitter) {
|
|
8
|
+
return yup
|
|
9
|
+
.string()
|
|
10
|
+
.matches(/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/, 'ide_not_valid_url')
|
|
11
|
+
.transform(function (value) { return (!!value ? value : null); })
|
|
12
|
+
.nullable()
|
|
13
|
+
.required('enter_at_least_one');
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return yup
|
|
17
|
+
.string()
|
|
18
|
+
.matches(/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/, 'ide_not_valid_url')
|
|
19
|
+
.transform(function (value) { return (!!value ? value : null); })
|
|
20
|
+
.nullable()
|
|
21
|
+
.optional();
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
10
24
|
instagram: yup
|
|
11
25
|
.string()
|
|
12
|
-
.notRequired()
|
|
13
26
|
.nullable()
|
|
14
27
|
.transform(function (value) { return (!!value ? value : null); })
|
|
15
|
-
.
|
|
28
|
+
.when(['twitter', 'website'], function (twitter, website) {
|
|
29
|
+
if (!website && !twitter) {
|
|
30
|
+
return yup.string().min(2, 'enter_at_least_one').required('enter_at_least_one');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return yup.string().optional();
|
|
34
|
+
}
|
|
35
|
+
}),
|
|
16
36
|
twitter: yup
|
|
17
37
|
.string()
|
|
18
|
-
.notRequired()
|
|
19
38
|
.nullable()
|
|
20
39
|
.transform(function (value) { return (!!value ? value : null); })
|
|
21
|
-
.min(2, '
|
|
22
|
-
|
|
40
|
+
.min(2, 'enter_at_least_one')
|
|
41
|
+
.when(['website', 'instagram'], function (website, instagram) {
|
|
42
|
+
if (!website && !instagram) {
|
|
43
|
+
return yup.string().min(2, 'enter_at_least_one').required('enter_at_least_one');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return yup.string().optional();
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
}, [
|
|
50
|
+
['instagram', 'website'],
|
|
51
|
+
['twitter', 'website'],
|
|
52
|
+
['instagram', 'twitter']
|
|
53
|
+
])
|
|
23
54
|
});
|
|
@@ -34,12 +34,12 @@ var OTPTitleContainerStyled = styled(Box)(function (_a) {
|
|
|
34
34
|
borderColor: theme.palette.divider,
|
|
35
35
|
direction: theme.direction,
|
|
36
36
|
borderRadius: theme.spacing(0, 0, 1.25, 1.25),
|
|
37
|
-
marginBottom: theme.spacing(
|
|
37
|
+
marginBottom: theme.spacing(5.75)
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
40
|
var OTPTitleStyled = styled(Text)(function (_a) {
|
|
41
41
|
var theme = _a.theme;
|
|
42
|
-
return (__assign(__assign({}, theme.typography.
|
|
42
|
+
return (__assign(__assign({}, theme.typography.body1), { color: theme.palette.text.primary, fontWeight: theme.typography.fontWeightLight, marginBlock: theme.spacing(1.75), marginInlineStart: theme.spacing(2.5), lineHeight: 1.75 }));
|
|
43
43
|
});
|
|
44
44
|
var FormStyled = styled(Form)(function () { return ({
|
|
45
45
|
display: 'flex',
|
|
@@ -63,7 +63,8 @@ var OTP = function (_a) {
|
|
|
63
63
|
return dispatch(handleNextScreenStep('CONNECT_PASSWORD_STEP'));
|
|
64
64
|
dispatch(handleNextScreenStep('CONNECT_INDIVIDUAL_STEP'));
|
|
65
65
|
};
|
|
66
|
-
|
|
66
|
+
var loading = false;
|
|
67
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? t('ide_otp_waiting_title') : t('ide_opt_sent_title'), ' ', _jsx("span", __assign({ dir: 'ltr' }, { children: maskPhone(phone) }))] }) }), _jsx(OTPInput, {}), _jsx(Button, __assign({ disabled: !methods.formState.isValid, type: 'submit', isAr: isAr, loading: loading }, { children: t('next') }))] })) })) }));
|
|
67
68
|
};
|
|
68
69
|
OTP.defaultProps = {
|
|
69
70
|
phone: '+996564656085'
|
|
@@ -22,6 +22,7 @@ var BoxStyled = styled(Box)(function (_a) {
|
|
|
22
22
|
return ({
|
|
23
23
|
display: 'flex',
|
|
24
24
|
flexDirection: 'column',
|
|
25
|
+
fontFamily: theme.typography.fontFamily,
|
|
25
26
|
marginBottom: theme.spacing(5)
|
|
26
27
|
});
|
|
27
28
|
});
|
|
@@ -33,6 +34,6 @@ var OTPInput = function (_a) {
|
|
|
33
34
|
otpControl.field.onChange(otp);
|
|
34
35
|
};
|
|
35
36
|
var otpValue = otpControl.field.value;
|
|
36
|
-
return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { timeEndLabel: t('
|
|
37
|
+
return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: function () { }, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
|
|
37
38
|
};
|
|
38
39
|
export default React.memo(OTPInput);
|
|
@@ -33,6 +33,7 @@ var PasswordInput = function (_a) {
|
|
|
33
33
|
setShowPassword(false);
|
|
34
34
|
};
|
|
35
35
|
var passwordValue = passwordControl.field.value;
|
|
36
|
-
|
|
36
|
+
var error = (_b = passwordControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
37
|
+
return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5, mb: 5 } }, { children: _jsx(Input, { label: t('tap_js_password_description'), inputProps: { autoComplete: 'off' }, onChange: handlePasswordChange, value: passwordValue, endAdornment: _jsx(PasswordIcon, { show: showPassword, onShow: handleShowPassword, onHide: handleHidePassword }), placeholder: t('tap_js_password_placeholder'), type: showPassword ? 'text' : 'password', warningType: 'alert', warningMessage: error && t(error, { length: 8 }) }) })));
|
|
37
38
|
};
|
|
38
39
|
export default React.memo(PasswordInput);
|
|
@@ -8,8 +8,7 @@ var ThankYou = function (_a) {
|
|
|
8
8
|
console.log('success');
|
|
9
9
|
alert('Account created successfully, please check your email');
|
|
10
10
|
alert("It's a fake message, plz wait us to integrate with the backend. <A.Sharkawy>");
|
|
11
|
-
window.location.href = '/new/business';
|
|
12
11
|
};
|
|
13
|
-
return _jsx(SuccessScreen, { title: t('
|
|
12
|
+
return _jsx(SuccessScreen, { title: t('ide_successfully_verified_message'), onSuccess: onSuccess });
|
|
14
13
|
};
|
|
15
14
|
export default React.memo(ThankYou);
|
|
@@ -2,6 +2,6 @@ import { FeatureScreenStep } from '../@types';
|
|
|
2
2
|
export declare const connectFeatureScreens: Array<FeatureScreenStep>;
|
|
3
3
|
export declare const businessFeatureScreens: Array<FeatureScreenStep>;
|
|
4
4
|
export declare const passwordFeatureScreens: Array<FeatureScreenStep>;
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const individualFeatureScreens: Array<FeatureScreenStep>;
|
|
6
6
|
export declare const bankFeatureScreens: Array<FeatureScreenStep>;
|
|
7
7
|
export declare const taxFeatureScreens: Array<FeatureScreenStep>;
|
|
@@ -13,10 +13,14 @@ import ActivitiesPage from './business/screens/Activities';
|
|
|
13
13
|
import SuccessPage from './business/screens/Success';
|
|
14
14
|
import ConfirmPage from './business/screens/Confirm';
|
|
15
15
|
import CreatePasswordPage from './password/screens/CreatePassword';
|
|
16
|
-
import
|
|
17
|
-
import
|
|
16
|
+
import SuccessPasswordPage from './password/screens/Success';
|
|
17
|
+
import ShowIndividualInfoPage from './individual/screens/ShowIndividualInfo';
|
|
18
|
+
import AdditionalIndividualInfoPage from './individual/screens/AdditionalIndividualInfo';
|
|
19
|
+
import SuccessOwnerPage from './individual/screens/Success';
|
|
18
20
|
import BankDetailsPage from './bank/screens/BankDetails';
|
|
21
|
+
import BankSuccessPage from './bank/screens/Success';
|
|
19
22
|
import TaxDetailsPage from './tax/screens/TaxDetails';
|
|
23
|
+
import TaxSuccessPage from './tax/screens/Success';
|
|
20
24
|
export var connectFeatureScreens = [
|
|
21
25
|
{
|
|
22
26
|
name: 'CONNECT_MID_STEP',
|
|
@@ -78,27 +82,43 @@ export var passwordFeatureScreens = [
|
|
|
78
82
|
{
|
|
79
83
|
name: 'PASSWORD_CREATE_PASSWORD_STEP',
|
|
80
84
|
element: CreatePasswordPage
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'PASSWORD_SUCCESS_STEP',
|
|
88
|
+
element: SuccessPasswordPage
|
|
81
89
|
}
|
|
82
90
|
];
|
|
83
|
-
export var
|
|
91
|
+
export var individualFeatureScreens = [
|
|
92
|
+
{
|
|
93
|
+
name: 'INDIVIDUAL_SHOW_INDIVIDUAL_INFO_STEP',
|
|
94
|
+
element: ShowIndividualInfoPage
|
|
95
|
+
},
|
|
84
96
|
{
|
|
85
|
-
name: '
|
|
86
|
-
element:
|
|
97
|
+
name: 'INDIVIDUAL_ADDITIONAL_INDIVIDUAL_INFO_STEP',
|
|
98
|
+
element: AdditionalIndividualInfoPage
|
|
87
99
|
},
|
|
88
100
|
{
|
|
89
|
-
name: '
|
|
90
|
-
element:
|
|
101
|
+
name: 'INDIVIDUAL_SUCCESS_STEP',
|
|
102
|
+
element: SuccessOwnerPage
|
|
91
103
|
}
|
|
92
104
|
];
|
|
93
105
|
export var bankFeatureScreens = [
|
|
94
106
|
{
|
|
95
107
|
name: 'BANK_BANK_DETAILS_STEP',
|
|
96
108
|
element: BankDetailsPage
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'BANK_DETAILS_SUCCESS_STEP',
|
|
112
|
+
element: BankSuccessPage
|
|
97
113
|
}
|
|
98
114
|
];
|
|
99
115
|
export var taxFeatureScreens = [
|
|
100
116
|
{
|
|
101
117
|
name: 'TAX_TAX_DETAILS_STEP',
|
|
102
118
|
element: TaxDetailsPage
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'TAX_DETAILS_SUCCESS_STEP',
|
|
122
|
+
element: TaxSuccessPage
|
|
103
123
|
}
|
|
104
124
|
];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface IndividualLibProps {
|
|
3
|
+
}
|
|
4
|
+
export declare function IndividualLib(props: IndividualLibProps): JSX.Element;
|
|
5
|
+
export declare function renderIndividualLib(config: IndividualLibProps, elementId: string): void;
|
|
6
|
+
export declare function unmountIndividualLib(elementId: string): void;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import React, { memo, useEffect } from 'react';
|
|
14
|
+
import { useTranslation } from 'react-i18next';
|
|
15
|
+
import { useAppTheme, useAppDispatch, useAppSelector } from '../../hooks';
|
|
16
|
+
import { handleActiveFlowScreens, settingsSelector } from '../../app/settings';
|
|
17
|
+
import AnimationFlow from '../../components/AnimationFlow';
|
|
18
|
+
import { store } from '../../app/store';
|
|
19
|
+
import { ReduxProvider, ThemeProvider } from '../../components/Providers';
|
|
20
|
+
import Collapse from '../../components/Collapse';
|
|
21
|
+
import { reactElement } from '../../utils';
|
|
22
|
+
import { INDIVIDUAL_SCREENS_NAVIGATION } from '../../constants';
|
|
23
|
+
import { individualFeatureScreens } from '../featuresScreens';
|
|
24
|
+
import CustomFooter from '../shared/Footer';
|
|
25
|
+
import { FeatureContainer } from '../shared/Containers';
|
|
26
|
+
var Individual = memo(function (props) {
|
|
27
|
+
var open = React.useState(true)[0];
|
|
28
|
+
var t = useTranslation().t;
|
|
29
|
+
var theme = useAppTheme().theme;
|
|
30
|
+
var dispatch = useAppDispatch();
|
|
31
|
+
var data = useAppSelector(settingsSelector).data;
|
|
32
|
+
var activeScreen = data.activeScreen;
|
|
33
|
+
useEffect(function () {
|
|
34
|
+
dispatch(handleActiveFlowScreens(INDIVIDUAL_SCREENS_NAVIGATION));
|
|
35
|
+
}, []);
|
|
36
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(AnimationFlow, __assign({ open: open, breakpoint: 'sm', footer: _jsx(CustomFooter, {}) }, { children: _jsx(FeatureContainer, { children: individualFeatureScreens.map(function (_a, index) {
|
|
37
|
+
var Element = _a.element, name = _a.name;
|
|
38
|
+
var isActive = activeScreen.name === name;
|
|
39
|
+
return (_jsx(Collapse, __assign({ in: isActive, timeout: { enter: 1000, exit: 800 } }, { children: _jsx(Element, {}) }), index));
|
|
40
|
+
}) }) })) })));
|
|
41
|
+
});
|
|
42
|
+
export function IndividualLib(props) {
|
|
43
|
+
return (_jsx(ReduxProvider, __assign({ store: store }, { children: _jsx(Individual, __assign({}, props)) })));
|
|
44
|
+
}
|
|
45
|
+
export function renderIndividualLib(config, elementId) {
|
|
46
|
+
reactElement(elementId).render(_jsx(IndividualLib, __assign({}, config)));
|
|
47
|
+
}
|
|
48
|
+
export function unmountIndividualLib(elementId) {
|
|
49
|
+
reactElement(elementId).unmount();
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Individual';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Individual';
|
package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { yupResolver } from '@hookform/resolvers/yup';
|
|
15
|
+
import { useForm, FormProvider } from 'react-hook-form';
|
|
16
|
+
import Box from '@mui/material/Box';
|
|
17
|
+
import { useTranslation } from 'react-i18next';
|
|
18
|
+
import { useAppDispatch } from '../../../../hooks';
|
|
19
|
+
import { handleNextScreenStep } from '../../../../app/settings';
|
|
20
|
+
import { styled } from '@mui/material/styles';
|
|
21
|
+
import Form from '../../../../components/Form';
|
|
22
|
+
import Collapse from '../../../../components/Collapse';
|
|
23
|
+
import Button from '../../../shared/Button';
|
|
24
|
+
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
25
|
+
import { useLanguage } from '../../../../hooks';
|
|
26
|
+
import PEPSwitch from './PEPSwitch';
|
|
27
|
+
import { IndividualInfoValidationSchema } from './validation';
|
|
28
|
+
import InfluencerSwitch from './InfluencerSwitch';
|
|
29
|
+
import MonthlyIncome from './MonthlyIncome';
|
|
30
|
+
import EmployerName from './EmployerName';
|
|
31
|
+
import EmployerLocation from './EmployerLocation';
|
|
32
|
+
import SourceOfIncome from './SourceOfIncome';
|
|
33
|
+
import { countriesCode, SOURCE_OF_INCOME } from '../../../../constants';
|
|
34
|
+
var InputsContainerStyled = styled(Box)(function (_a) {
|
|
35
|
+
var _b;
|
|
36
|
+
var theme = _a.theme, listActive = _a.listActive;
|
|
37
|
+
return (_b = {
|
|
38
|
+
paddingBottom: theme.spacing(listActive ? 0 : 5),
|
|
39
|
+
overflowY: 'scroll',
|
|
40
|
+
maxHeight: 'calc(100vh - 250px)',
|
|
41
|
+
'&::-webkit-scrollbar': {
|
|
42
|
+
display: 'none'
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
_b[theme.transitions.create(['padding-bottom'])] = {
|
|
46
|
+
duration: theme.transitions.duration.standard
|
|
47
|
+
},
|
|
48
|
+
_b);
|
|
49
|
+
});
|
|
50
|
+
var AdditionalIndividualInfo = function (_a) {
|
|
51
|
+
var methods = useForm({
|
|
52
|
+
resolver: yupResolver(IndividualInfoValidationSchema),
|
|
53
|
+
defaultValues: {
|
|
54
|
+
monthlyIncome: '',
|
|
55
|
+
employerName: '',
|
|
56
|
+
isPEP: null,
|
|
57
|
+
isInfluencer: null
|
|
58
|
+
},
|
|
59
|
+
mode: 'onChange'
|
|
60
|
+
});
|
|
61
|
+
var t = useTranslation().t;
|
|
62
|
+
var isAr = useLanguage().isAr;
|
|
63
|
+
var dispatch = useAppDispatch();
|
|
64
|
+
var _b = React.useState(false), listActive = _b[0], setListActive = _b[1];
|
|
65
|
+
var _c = React.useState(false), employerFieldsActive = _c[0], setEmployerFieldsActive = _c[1];
|
|
66
|
+
var onSubmit = function (data) {
|
|
67
|
+
console.log('data', data);
|
|
68
|
+
dispatch(handleNextScreenStep());
|
|
69
|
+
};
|
|
70
|
+
var handleSelectSource = function (country) {
|
|
71
|
+
var _a;
|
|
72
|
+
if (((_a = country.nameEn) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'salary')
|
|
73
|
+
setEmployerFieldsActive(true);
|
|
74
|
+
else {
|
|
75
|
+
setEmployerFieldsActive(false);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsxs(InputsContainerStyled, __assign({ listActive: listActive }, { children: [_jsx(SourceOfIncome, { show: !listActive, list: SOURCE_OF_INCOME, onSelectSource: handleSelectSource }), _jsx(MonthlyIncome, { show: !listActive }), _jsx(EmployerName, { show: !listActive && employerFieldsActive }), _jsx(EmployerLocation, { show: employerFieldsActive, countries: countriesCode, onListOpen: function () { return setListActive(true); }, onListClose: function () { return setListActive(false); } }), _jsx(PEPSwitch, { show: !listActive }), _jsx(InfluencerSwitch, { show: !listActive })] })), _jsx(Collapse, __assign({ in: !listActive, timeout: 500 }, { children: _jsx(Button, __assign({ isAr: isAr, disabled: !methods.formState.isValid, loading: false }, { children: t('next') })) }))] })) })) }));
|
|
79
|
+
};
|
|
80
|
+
export default React.memo(AdditionalIndividualInfo);
|
|
81
|
+
AdditionalIndividualInfo.defaultProps = {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { CountryCode } from '../../../../@types';
|
|
3
|
+
interface EmployerLocationProps {
|
|
4
|
+
countries: Array<CountryCode>;
|
|
5
|
+
show: boolean;
|
|
6
|
+
onListOpen?: () => void;
|
|
7
|
+
onListClose?: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<EmployerLocationProps & React.RefAttributes<unknown>>>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
import * as React from 'react';
|
|
25
|
+
import Box from '@mui/material/Box';
|
|
26
|
+
import { styled } from '@mui/material/styles';
|
|
27
|
+
import { useTranslation } from 'react-i18next';
|
|
28
|
+
import { useController, useFormContext } from 'react-hook-form';
|
|
29
|
+
import Text from '../../../../components/Text';
|
|
30
|
+
import Collapse from '../../../../components/Collapse';
|
|
31
|
+
import ExpandIcon from '../../../../components/ExpandIcon';
|
|
32
|
+
import CheckIcon from '@mui/icons-material/Check';
|
|
33
|
+
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
34
|
+
import Input from '../../../shared/Input';
|
|
35
|
+
import SimpleList from '../../../../components/SimpleList';
|
|
36
|
+
import { useLanguage } from '../../../../hooks';
|
|
37
|
+
var CountryItemContainer = styled(Box)(function () { return ({
|
|
38
|
+
display: 'flex'
|
|
39
|
+
}); });
|
|
40
|
+
var CountryNameText = styled(Text, { shouldForwardProp: function (prop) { return prop !== 'isSelected'; } })(function (_a) {
|
|
41
|
+
var theme = _a.theme, isSelected = _a.isSelected;
|
|
42
|
+
return (__assign(__assign({ color: theme.palette.text.primary }, theme.typography.body2), { fontWeight: isSelected ? theme.typography.fontWeightMedium : theme.typography.fontWeightLight, paddingInlineStart: theme.spacing(1.25) }));
|
|
43
|
+
});
|
|
44
|
+
var CheckIconStyled = styled(CheckIcon)(function (_a) {
|
|
45
|
+
var theme = _a.theme;
|
|
46
|
+
return ({
|
|
47
|
+
color: theme.palette.success.main,
|
|
48
|
+
display: 'flex',
|
|
49
|
+
alignItems: 'flex-end'
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
var EmployerLocation = React.forwardRef(function (_a, ref) {
|
|
53
|
+
var _b, _c, _d;
|
|
54
|
+
var countries = _a.countries, rest = __rest(_a, ["countries"]);
|
|
55
|
+
var locationCountries = React.useState(countries)[0];
|
|
56
|
+
var _e = React.useState(null), anchorEl = _e[0], setAnchorEl = _e[1];
|
|
57
|
+
var t = useTranslation().t;
|
|
58
|
+
var isAr = useLanguage().isAr;
|
|
59
|
+
var control = useFormContext().control;
|
|
60
|
+
var employerLocationControl = useController({ control: control, name: 'employerLocation' });
|
|
61
|
+
var onOpenCountrySelect = function (event) {
|
|
62
|
+
var _a;
|
|
63
|
+
setAnchorEl(event.currentTarget);
|
|
64
|
+
(_a = rest.onListOpen) === null || _a === void 0 ? void 0 : _a.call(rest);
|
|
65
|
+
};
|
|
66
|
+
var onCloseCountrySelect = function () {
|
|
67
|
+
var _a;
|
|
68
|
+
setAnchorEl(null);
|
|
69
|
+
(_a = rest.onListClose) === null || _a === void 0 ? void 0 : _a.call(rest);
|
|
70
|
+
};
|
|
71
|
+
var onSelectItem = function (country) {
|
|
72
|
+
onCloseCountrySelect();
|
|
73
|
+
employerLocationControl.field.onChange(country);
|
|
74
|
+
};
|
|
75
|
+
var location = employerLocationControl.field.value;
|
|
76
|
+
var error = (_b = employerLocationControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
77
|
+
return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { pt: 2.5 } }, { children: [_jsx(Input, { required: true, label: t('tap_js_employer_address_city'), readOnly: true, onClick: !!anchorEl ? function () { return onCloseCountrySelect(); } : onOpenCountrySelect, endAdornment: _jsx(ExpandIcon, { anchorEl: !!anchorEl }), placeholder: t('choose_employee_location'), value: (isAr ? (_c = location === null || location === void 0 ? void 0 : location.name) === null || _c === void 0 ? void 0 : _c.arabic : (_d = location === null || location === void 0 ? void 0 : location.name) === null || _d === void 0 ? void 0 : _d.english) || '', warningMessage: error && t(error) }), _jsx(Collapse, __assign({ in: !!anchorEl }, { children: _jsx(SimpleList, { searchKeyPath: 'name.english', list: locationCountries, onSelectItem: onSelectItem, renderItem: function (item) {
|
|
78
|
+
return (_jsxs(_Fragment, { children: [_jsx(CountryItemContainer, { children: _jsx(CountryNameText, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.idd_prefix) === (location === null || location === void 0 ? void 0 : location.idd_prefix) }, { children: isAr ? item.name.arabic : item.name.english })) }), item.idd_prefix === (location === null || location === void 0 ? void 0 : location.idd_prefix) && _jsx(CheckIconStyled, {})] }));
|
|
79
|
+
} }) }))] })) })));
|
|
80
|
+
});
|
|
81
|
+
export default React.memo(EmployerLocation);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { useTranslation } from 'react-i18next';
|
|
15
|
+
import { useController, useFormContext } from 'react-hook-form';
|
|
16
|
+
import { removeOnlyNumbers } from '../../../../utils';
|
|
17
|
+
import { ScreenContainer } from '../../../shared/Containers';
|
|
18
|
+
import Input from '../../../shared/Input';
|
|
19
|
+
import CheckIcon from '../../../shared/CheckIcon';
|
|
20
|
+
import Collapse from '../../../../components/Collapse';
|
|
21
|
+
import ClearIcon from '../../../shared/ClearIcon';
|
|
22
|
+
var EmployerName = function (_a) {
|
|
23
|
+
var _b;
|
|
24
|
+
var show = _a.show;
|
|
25
|
+
var t = useTranslation().t;
|
|
26
|
+
var control = useFormContext().control;
|
|
27
|
+
var employerNameControl = useController({ control: control, name: 'employerName' });
|
|
28
|
+
var handleEmployerNameChange = function (_a) {
|
|
29
|
+
var target = _a.target;
|
|
30
|
+
var value = removeOnlyNumbers(target.value);
|
|
31
|
+
employerNameControl.field.onChange(value);
|
|
32
|
+
};
|
|
33
|
+
var employerNameValue = employerNameControl.field.value;
|
|
34
|
+
var error = (_b = employerNameControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
35
|
+
var clearValue = function () {
|
|
36
|
+
employerNameControl.field.onChange('');
|
|
37
|
+
};
|
|
38
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, __assign({ sx: { pt: 2.5 } }, { children: _jsx(Input, { required: true, label: t('tap_js_employer_name'), onChange: handleEmployerNameChange, value: employerNameValue, endAdornment: !error && employerNameValue ? _jsx(CheckIcon, {}) : employerNameValue && _jsx(ClearIcon, { onClick: clearValue }), placeholder: t('tap_js_enter_employer_name'), warningType: 'alert', warningMessage: error && t(error) }) })) })));
|
|
39
|
+
};
|
|
40
|
+
export default React.memo(EmployerName);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { useTranslation } from 'react-i18next';
|
|
15
|
+
import { useFormContext, useController } from 'react-hook-form';
|
|
16
|
+
import { ScreenContainer } from '../../../shared/Containers';
|
|
17
|
+
import Collapse from '../../../../components/Collapse';
|
|
18
|
+
import { styled, alpha } from '@mui/material/styles';
|
|
19
|
+
import Mandatory from '../../../shared/Mandatory';
|
|
20
|
+
import Text from '../../../../components/Text';
|
|
21
|
+
import RadioGroup from '../../../../components/RadioGroup';
|
|
22
|
+
import RadioLabel from '../../../../components/RadioLabel';
|
|
23
|
+
var LabelTextStyled = styled(Text)(function (_a) {
|
|
24
|
+
var theme = _a.theme;
|
|
25
|
+
return (__assign(__assign({}, theme.typography.caption), { color: alpha(theme.palette.text.primary, 0.6), marginBlockEnd: theme.spacing(0.625) }));
|
|
26
|
+
});
|
|
27
|
+
var RadioGroupStyled = styled(RadioGroup)(function (_a) {
|
|
28
|
+
var theme = _a.theme;
|
|
29
|
+
return ({
|
|
30
|
+
marginInlineStart: theme.spacing(0.25)
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
var InfluencerSwitch = function (_a) {
|
|
34
|
+
var show = _a.show;
|
|
35
|
+
var control = useFormContext().control;
|
|
36
|
+
var t = useTranslation().t;
|
|
37
|
+
var influencerControl = useController({ name: 'isInfluencer', control: control });
|
|
38
|
+
var handleOnChange = function (_a) {
|
|
39
|
+
var target = _a.target;
|
|
40
|
+
influencerControl.field.onChange(target.value === 'yes');
|
|
41
|
+
};
|
|
42
|
+
var influencerValue = influencerControl.field.value;
|
|
43
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { pt: 2.5, pl: 2.5, pr: 2.5 } }, { children: [_jsxs(LabelTextStyled, { children: [t('tap_js_are_you_an_influencer'), _jsx(Mandatory, {})] }), _jsxs(RadioGroupStyled, __assign({ value: influencerValue != null ? (influencerValue ? 'yes' : 'no') : false, onChange: handleOnChange }, { children: [_jsx(RadioLabel, { value: 'yes', label: t('yes') }), _jsx(RadioLabel, { value: 'no', label: t('no') })] }))] })) })));
|
|
44
|
+
};
|
|
45
|
+
export default React.memo(InfluencerSwitch);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { useTranslation } from 'react-i18next';
|
|
15
|
+
import { useController, useFormContext } from 'react-hook-form';
|
|
16
|
+
import { removeAllCharsFromNumber } from '../../../../utils';
|
|
17
|
+
import { ScreenContainer } from '../../../shared/Containers';
|
|
18
|
+
import Input from '../../../shared/Input';
|
|
19
|
+
import CheckIcon from '../../../shared/CheckIcon';
|
|
20
|
+
import Collapse from '../../../../components/Collapse';
|
|
21
|
+
var MonthlyIncome = function (_a) {
|
|
22
|
+
var _b;
|
|
23
|
+
var show = _a.show;
|
|
24
|
+
var t = useTranslation().t;
|
|
25
|
+
var control = useFormContext().control;
|
|
26
|
+
var monthlyIncomeControl = useController({ control: control, name: 'monthlyIncome' });
|
|
27
|
+
var handleMonthlyIncomeChange = function (_a) {
|
|
28
|
+
var target = _a.target;
|
|
29
|
+
var value = removeAllCharsFromNumber(target.value);
|
|
30
|
+
monthlyIncomeControl.field.onChange(value);
|
|
31
|
+
};
|
|
32
|
+
var monthlyIncomeValue = monthlyIncomeControl.field.value;
|
|
33
|
+
var error = (_b = monthlyIncomeControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
34
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(Input, { label: t('please_enter_actual_income'), onChange: handleMonthlyIncomeChange, value: monthlyIncomeValue, endAdornment: monthlyIncomeValue && _jsx(CheckIcon, {}), placeholder: '0', warningType: 'alert', warningMessage: error && t(error) }) }) })));
|
|
35
|
+
};
|
|
36
|
+
export default React.memo(MonthlyIncome);
|