@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.
Files changed (155) hide show
  1. package/build/assets/locales/ar.json +200 -88
  2. package/build/assets/locales/en.json +216 -90
  3. package/build/components/DatePicker/DatePicker.js +6 -17
  4. package/build/components/ExpandIcon/ExpandIcon.d.ts +7 -0
  5. package/build/components/ExpandIcon/ExpandIcon.js +24 -0
  6. package/build/components/ExpandIcon/index.d.ts +2 -0
  7. package/build/components/ExpandIcon/index.js +2 -0
  8. package/build/components/Footer/Footer.js +1 -1
  9. package/build/components/Loader/Loader.js +2 -2
  10. package/build/components/Warning/Warning.d.ts +1 -2
  11. package/build/components/Warning/Warning.js +1 -2
  12. package/build/constants/app.d.ts +1 -1
  13. package/build/constants/app.js +32 -8
  14. package/build/constants/dummy.js +3 -3
  15. package/build/features/bank/screens/BankDetails/BankName.js +1 -1
  16. package/build/features/bank/screens/BankDetails/Beneficiary.js +5 -5
  17. package/build/features/bank/screens/BankDetails/IBAN.js +3 -3
  18. package/build/features/bank/screens/BankDetails/validation.js +9 -4
  19. package/build/features/bank/screens/Success/Success.d.ts +5 -0
  20. package/build/features/bank/screens/Success/Success.js +14 -0
  21. package/build/features/bank/screens/Success/index.d.ts +3 -0
  22. package/build/features/bank/screens/Success/index.js +2 -0
  23. package/build/features/business/screens/Activities/ActivitiesList.d.ts +0 -16
  24. package/build/features/business/screens/Activities/ActivitiesList.js +3 -17
  25. package/build/features/business/screens/Activities/OperationStartDate.js +1 -1
  26. package/build/features/business/screens/Activities/SalesChannels.js +1 -1
  27. package/build/features/business/screens/Activities/validation.js +3 -3
  28. package/build/features/business/screens/BusinessType/CRNumber.js +2 -1
  29. package/build/features/business/screens/BusinessType/CompanyLicense.js +2 -2
  30. package/build/features/business/screens/BusinessType/FLNumber.js +2 -1
  31. package/build/features/business/screens/BusinessType/FreelanceLicense.js +2 -2
  32. package/build/features/business/screens/BusinessType/SelectType.js +1 -1
  33. package/build/features/business/screens/BusinessType/validation.js +2 -8
  34. package/build/features/business/screens/Confirm/Confirm.js +1 -1
  35. package/build/features/business/screens/Customers/CustomerLocations.d.ts +0 -24
  36. package/build/features/business/screens/Customers/CustomerLocations.js +3 -17
  37. package/build/features/business/screens/Customers/Customers.js +5 -41
  38. package/build/features/business/screens/Customers/ExpectedCustomers.js +7 -11
  39. package/build/features/business/screens/Customers/ExpectedSalesRange.js +7 -6
  40. package/build/features/business/screens/Customers/RefundPolicy.d.ts +0 -8
  41. package/build/features/business/screens/Customers/RefundPolicy.js +2 -10
  42. package/build/features/business/screens/Customers/TransactionPolicy.js +3 -2
  43. package/build/features/business/screens/Customers/validation.d.ts +6 -6
  44. package/build/features/business/screens/Customers/validation.js +10 -5
  45. package/build/features/business/screens/IDBOD/DOB.js +3 -11
  46. package/build/features/business/screens/IDBOD/ID.js +1 -1
  47. package/build/features/business/screens/IDBOD/validation.js +7 -2
  48. package/build/features/business/screens/OTP/OTP.js +18 -58
  49. package/build/features/business/screens/OTP/OTPInput.js +9 -21
  50. package/build/features/business/screens/OTP/validation.js +1 -1
  51. package/build/features/business/screens/Success/Success.js +1 -2
  52. package/build/features/business/screens/VerifyNumber/OTPInput.d.ts +1 -2
  53. package/build/features/business/screens/VerifyNumber/OTPInput.js +13 -42
  54. package/build/features/business/screens/VerifyNumber/VerifyNumber.js +20 -66
  55. package/build/features/business/screens/VerifyNumber/validation.js +1 -1
  56. package/build/features/connect/screens/Individual/Email.js +7 -1
  57. package/build/features/connect/screens/Individual/Individual.js +0 -28
  58. package/build/features/connect/screens/Individual/Name.js +9 -3
  59. package/build/features/connect/screens/Individual/validation.js +5 -2
  60. package/build/features/connect/screens/MID/BusinessCountry.d.ts +1 -0
  61. package/build/features/connect/screens/MID/BusinessCountry.js +2 -2
  62. package/build/features/connect/screens/MID/DOB.d.ts +6 -0
  63. package/build/features/connect/screens/MID/DOB.js +38 -0
  64. package/build/features/connect/screens/MID/IDNumber.js +3 -14
  65. package/build/features/connect/screens/MID/MID.js +13 -7
  66. package/build/features/connect/screens/MID/MobileNumber.d.ts +1 -0
  67. package/build/features/connect/screens/MID/MobileNumber.js +34 -10
  68. package/build/features/connect/screens/MID/validation.d.ts +1 -1
  69. package/build/features/connect/screens/MID/validation.js +9 -4
  70. package/build/features/connect/screens/Merchant/BrandName.js +3 -1
  71. package/build/features/connect/screens/Merchant/SocialMedia.js +7 -2
  72. package/build/features/connect/screens/Merchant/TAC.js +1 -1
  73. package/build/features/connect/screens/Merchant/validation.d.ts +9 -9
  74. package/build/features/connect/screens/Merchant/validation.js +42 -11
  75. package/build/features/connect/screens/OTP/OTP.js +4 -3
  76. package/build/features/connect/screens/OTP/OTPInput.js +2 -1
  77. package/build/features/connect/screens/OTP/validation.js +1 -1
  78. package/build/features/connect/screens/Password/PasswordInput.js +2 -1
  79. package/build/features/connect/screens/Password/validation.js +1 -1
  80. package/build/features/connect/screens/ThankYou/ThankYou.js +1 -2
  81. package/build/features/featuresScreens.d.ts +1 -1
  82. package/build/features/featuresScreens.js +27 -7
  83. package/build/features/individual/Individual.d.ts +6 -0
  84. package/build/features/individual/Individual.js +50 -0
  85. package/build/features/individual/index.d.ts +1 -0
  86. package/build/features/individual/index.js +1 -0
  87. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.d.ts +8 -0
  88. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +81 -0
  89. package/build/features/individual/screens/AdditionalIndividualInfo/EmployerLocation.d.ts +10 -0
  90. package/build/features/individual/screens/AdditionalIndividualInfo/EmployerLocation.js +81 -0
  91. package/build/features/individual/screens/AdditionalIndividualInfo/EmployerName.d.ts +6 -0
  92. package/build/features/individual/screens/AdditionalIndividualInfo/EmployerName.js +40 -0
  93. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.d.ts +6 -0
  94. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.js +45 -0
  95. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.d.ts +6 -0
  96. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +36 -0
  97. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.d.ts +6 -0
  98. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.js +45 -0
  99. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.d.ts +9 -0
  100. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.js +87 -0
  101. package/build/features/individual/screens/AdditionalIndividualInfo/index.d.ts +3 -0
  102. package/build/features/individual/screens/AdditionalIndividualInfo/index.js +2 -0
  103. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +25 -0
  104. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +35 -0
  105. package/build/features/individual/screens/ShowIndividualInfo/ShowOwnerInfo.d.ts +19 -0
  106. package/build/features/individual/screens/ShowIndividualInfo/ShowOwnerInfo.js +52 -0
  107. package/build/features/individual/screens/ShowIndividualInfo/index.d.ts +3 -0
  108. package/build/features/individual/screens/ShowIndividualInfo/index.js +2 -0
  109. package/build/features/individual/screens/ShowIndividualInfo/info.d.ts +7 -0
  110. package/build/features/individual/screens/ShowIndividualInfo/info.js +28 -0
  111. package/build/features/individual/screens/Success/Success.d.ts +5 -0
  112. package/build/features/individual/screens/Success/Success.js +14 -0
  113. package/build/features/individual/screens/Success/index.d.ts +3 -0
  114. package/build/features/individual/screens/Success/index.js +2 -0
  115. package/build/features/owner/screens/AdditionalOwnerInfo/AdditionalOwnerInfo.js +1 -1
  116. package/build/features/owner/screens/AdditionalOwnerInfo/EmployerLocation.js +1 -1
  117. package/build/features/owner/screens/AdditionalOwnerInfo/EmployerName.js +7 -2
  118. package/build/features/owner/screens/AdditionalOwnerInfo/InfluencerSwitch.js +1 -1
  119. package/build/features/owner/screens/AdditionalOwnerInfo/MonthlyIncome.js +1 -1
  120. package/build/features/owner/screens/AdditionalOwnerInfo/PEPSwitch.js +1 -1
  121. package/build/features/owner/screens/AdditionalOwnerInfo/SourceOfIncome.js +1 -1
  122. package/build/features/owner/screens/AdditionalOwnerInfo/validation.js +6 -3
  123. package/build/features/owner/screens/ShowOwnerInfo/ShowOwnerInfo.js +1 -1
  124. package/build/features/owner/screens/Success/Success.d.ts +5 -0
  125. package/build/features/owner/screens/Success/Success.js +14 -0
  126. package/build/features/owner/screens/Success/index.d.ts +3 -0
  127. package/build/features/owner/screens/Success/index.js +2 -0
  128. package/build/features/password/Password.js +2 -2
  129. package/build/features/password/screens/CreatePassword/ConfirmPassword.d.ts +4 -1
  130. package/build/features/password/screens/CreatePassword/ConfirmPassword.js +3 -8
  131. package/build/features/password/screens/CreatePassword/Password.js +2 -1
  132. package/build/features/password/screens/CreatePassword/validation.js +3 -3
  133. package/build/features/password/screens/Success/Success.d.ts +5 -0
  134. package/build/features/password/screens/Success/Success.js +14 -0
  135. package/build/features/password/screens/Success/index.d.ts +3 -0
  136. package/build/features/password/screens/Success/index.js +2 -0
  137. package/build/features/shared/Button/Button.js +7 -1
  138. package/build/features/shared/Footer/Footer.js +1 -1
  139. package/build/features/shared/SuccessScreen/SuccessScreen.js +10 -1
  140. package/build/features/tax/screens/Success/Success.d.ts +5 -0
  141. package/build/features/tax/screens/Success/Success.js +14 -0
  142. package/build/features/tax/screens/Success/index.d.ts +3 -0
  143. package/build/features/tax/screens/Success/index.js +2 -0
  144. package/build/features/tax/screens/TaxDetails/VATId.js +3 -4
  145. package/build/features/tax/screens/TaxDetails/validation.js +1 -1
  146. package/build/index.css +105 -3
  147. package/build/index.d.ts +3 -3
  148. package/build/index.js +4 -4
  149. package/build/theme/typography.js +2 -2
  150. package/build/utils/string.js +2 -2
  151. package/package.json +120 -120
  152. package/build/features/business/screens/OTP/OTPTimer.d.ts +0 -5
  153. package/build/features/business/screens/OTP/OTPTimer.js +0 -20
  154. package/build/features/business/screens/VerifyNumber/OTPTimer.d.ts +0 -5
  155. 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, 'Please enter valid brand name').required('Brand Name is required'),
4
- termAndConditionChecked: yup.boolean().required().isTrue('Please accept the terms and conditions'),
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
- .string()
8
- .matches(/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/, 'Please enter valid url')
9
- .required('Website is required'),
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
- .min(2, 'Invalid instagram username'),
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, 'Invalid instagram username')
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(4)
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.subtitle1), { color: theme.palette.text.primary, fontWeight: theme.typography.fontWeightLight, marginBlock: theme.spacing(1.75), marginInlineStart: theme.spacing(2.5) }));
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
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [t('otp_sent_title'), " ", _jsx("span", __assign({ dir: 'ltr' }, { children: maskPhone(phone) }))] }) }), _jsx(OTPInput, {}), _jsx(Button, __assign({ disabled: !methods.formState.isValid, type: 'submit', isAr: isAr, loading: false }, { children: t('next') }))] })) })) }));
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('resend_otp'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: function () { }, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
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);
@@ -1,4 +1,4 @@
1
1
  import * as yup from 'yup';
2
2
  export var OTPValidation = yup.object().shape({
3
- otp: yup.string().min(6).required('OTP is required')
3
+ otp: yup.string().min(6, 'otp_min_length').required('otp_required')
4
4
  });
@@ -33,6 +33,7 @@ var PasswordInput = function (_a) {
33
33
  setShowPassword(false);
34
34
  };
35
35
  var passwordValue = passwordControl.field.value;
36
- return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5, mb: 5 } }, { children: _jsx(Input, { label: t('password_label'), inputProps: { autoComplete: 'off' }, onChange: handlePasswordChange, value: passwordValue, endAdornment: _jsx(PasswordIcon, { show: showPassword, onShow: handleShowPassword, onHide: handleHidePassword }), placeholder: t('password_placeholder'), type: showPassword ? 'text' : 'password', warningType: 'alert', warningMessage: (_b = passwordControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message }) })));
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);
@@ -1,4 +1,4 @@
1
1
  import * as yup from 'yup';
2
2
  export var PasswordValidationSchema = yup.object().shape({
3
- password: yup.string().min(5).required('Password is required')
3
+ password: yup.string().min(8, 'enter_valid_password').required('password_required')
4
4
  });
@@ -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('thankyou_message'), onSuccess: onSuccess });
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 ownerFeatureScreens: Array<FeatureScreenStep>;
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 ShowOwnerInfoPage from './owner/screens/ShowOwnerInfo';
17
- import AdditionalOwnerInfoPage from './owner/screens/AdditionalOwnerInfo';
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 ownerFeatureScreens = [
91
+ export var individualFeatureScreens = [
92
+ {
93
+ name: 'INDIVIDUAL_SHOW_INDIVIDUAL_INFO_STEP',
94
+ element: ShowIndividualInfoPage
95
+ },
84
96
  {
85
- name: 'OWNER_SHOW_OWNER_INFO_STEP',
86
- element: ShowOwnerInfoPage
97
+ name: 'INDIVIDUAL_ADDITIONAL_INDIVIDUAL_INFO_STEP',
98
+ element: AdditionalIndividualInfoPage
87
99
  },
88
100
  {
89
- name: 'OWNER_ADDITIONAL_OWNER_INFO_STEP',
90
- element: AdditionalOwnerInfoPage
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';
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export interface AdditionalIndividualInfoProps {
3
+ }
4
+ declare const _default: React.MemoExoticComponent<{
5
+ ({}: AdditionalIndividualInfoProps): JSX.Element;
6
+ defaultProps: {};
7
+ }>;
8
+ 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
+ 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,6 @@
1
+ import * as React from 'react';
2
+ interface EmployerNameProps {
3
+ show: boolean;
4
+ }
5
+ declare const _default: React.MemoExoticComponent<({ show }: EmployerNameProps) => JSX.Element>;
6
+ export default _default;
@@ -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,6 @@
1
+ import * as React from 'react';
2
+ export interface InfluencerSwitchProps {
3
+ show: boolean;
4
+ }
5
+ declare const _default: React.MemoExoticComponent<({ show }: InfluencerSwitchProps) => JSX.Element>;
6
+ export default _default;
@@ -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,6 @@
1
+ import * as React from 'react';
2
+ interface MonthlyIncomeProps {
3
+ show: boolean;
4
+ }
5
+ declare const _default: React.MemoExoticComponent<({ show }: MonthlyIncomeProps) => JSX.Element>;
6
+ export default _default;
@@ -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);
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ export interface PEPSwitchProps {
3
+ show: boolean;
4
+ }
5
+ declare const _default: React.MemoExoticComponent<({ show }: PEPSwitchProps) => JSX.Element>;
6
+ export default _default;