@tap-payments/auth-jsconnect 2.8.0 → 2.8.1

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 (68) hide show
  1. package/build/@types/app.d.ts +7 -1
  2. package/build/@types/app.js +7 -0
  3. package/build/@types/form.d.ts +3 -0
  4. package/build/api/auth.d.ts +1 -0
  5. package/build/app/settings.d.ts +1 -0
  6. package/build/app/settings.js +8 -5
  7. package/build/assets/currencies/SARSymbol.d.ts +7 -0
  8. package/build/assets/currencies/SARSymbol.js +28 -0
  9. package/build/assets/currencies/index.d.ts +2 -0
  10. package/build/assets/currencies/index.js +2 -0
  11. package/build/assets/currencies/utils.d.ts +4 -0
  12. package/build/assets/currencies/utils.js +4 -0
  13. package/build/assets/locales/ar.json +10 -1
  14. package/build/assets/locales/en.json +36 -1
  15. package/build/components/TextWithCurrency/TextWithCurrency.d.ts +7 -0
  16. package/build/components/TextWithCurrency/TextWithCurrency.js +14 -0
  17. package/build/components/TextWithCurrency/index.d.ts +2 -0
  18. package/build/components/TextWithCurrency/index.js +2 -0
  19. package/build/constants/api.d.ts +0 -1
  20. package/build/constants/api.js +0 -2
  21. package/build/constants/app.d.ts +3 -0
  22. package/build/constants/app.js +42 -12
  23. package/build/constants/assets.d.ts +4 -0
  24. package/build/constants/assets.js +9 -2
  25. package/build/features/app/auth/authStore.d.ts +24 -5
  26. package/build/features/app/auth/authStore.js +136 -71
  27. package/build/features/app/connectExpress/connectExpressStore.d.ts +14 -3
  28. package/build/features/app/connectExpress/connectExpressStore.js +193 -49
  29. package/build/features/auth/screens/OTP/OTP.d.ts +13 -2
  30. package/build/features/auth/screens/OTP/OTP.js +15 -3
  31. package/build/features/auth/screens/OTP/index.d.ts +1 -2
  32. package/build/features/auth/screens/Passcode/Passcode.d.ts +16 -0
  33. package/build/features/auth/screens/Passcode/Passcode.js +82 -0
  34. package/build/features/auth/screens/Passcode/PasscodeInput.d.ts +6 -0
  35. package/build/features/auth/screens/Passcode/PasscodeInput.js +42 -0
  36. package/build/features/auth/screens/Passcode/index.d.ts +2 -0
  37. package/build/features/auth/screens/Passcode/index.js +2 -0
  38. package/build/features/auth/screens/Passcode/validation.d.ts +8 -0
  39. package/build/features/auth/screens/Passcode/validation.js +4 -0
  40. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +3 -8
  41. package/build/features/business/screens/Customers/ExpectedSalesRange.js +3 -8
  42. package/build/features/connectExpress/screens/GenericPrepareDataLoading/GenericPrepareDataLoading.d.ts +3 -0
  43. package/build/features/connectExpress/screens/GenericPrepareDataLoading/GenericPrepareDataLoading.js +9 -0
  44. package/build/features/connectExpress/screens/GenericPrepareDataLoading/index.d.ts +2 -0
  45. package/build/features/connectExpress/screens/GenericPrepareDataLoading/index.js +2 -0
  46. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.d.ts +5 -0
  47. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.js +49 -0
  48. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.d.ts +5 -0
  49. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.js +88 -0
  50. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.d.ts +3 -0
  51. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.js +2 -0
  52. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.d.ts +8 -0
  53. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.js +4 -0
  54. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.js +9 -3
  55. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +3 -7
  56. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +3 -7
  57. package/build/features/featuresScreens.js +10 -0
  58. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +3 -8
  59. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +3 -8
  60. package/build/features/shared/Background/LogoBackground.js +5 -17
  61. package/build/features/shared/Button/Button.js +1 -2
  62. package/build/features/shared/Button/FlowsButtons.js +1 -2
  63. package/build/features/shared/Input/Input.d.ts +1 -1
  64. package/build/hooks/useAppConfig.js +1 -1
  65. package/build/utils/common.d.ts +1 -1
  66. package/build/utils/common.js +2 -4
  67. package/build/utils/string.d.ts +1 -1
  68. package/package.json +2 -3
@@ -0,0 +1,42 @@
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 Box from '@mui/material/Box/Box';
15
+ import { styled } from '@mui/material/styles';
16
+ import { useController, useFormContext } from 'react-hook-form';
17
+ import OTPField from '../../../shared/OTP';
18
+ import { DEFAULT_TIMER_VALUE } from '../../../../constants';
19
+ import { useAppDispatch, useAppSelector } from '../../../../hooks';
20
+ import { authSelector, clearError } from '../../../app/auth/authStore';
21
+ var BoxStyled = styled(Box)(function (_a) {
22
+ var theme = _a.theme;
23
+ return ({
24
+ display: 'flex',
25
+ flexDirection: 'column',
26
+ fontFamily: theme.typography.fontFamily
27
+ });
28
+ });
29
+ var PasscodeInput = function (_a) {
30
+ var disableResend = _a.disableResend;
31
+ var dispatch = useAppDispatch();
32
+ var control = useFormContext().control;
33
+ var error = useAppSelector(authSelector).error;
34
+ var _b = useController({ name: 'passcode', control: control }).field, value = _b.value, onChange = _b.onChange;
35
+ var handleOnPasscodeChange = function (passcode) {
36
+ if (error)
37
+ dispatch(clearError());
38
+ onChange(passcode);
39
+ };
40
+ return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, __assign({}, (!disableResend && { timerInSeconds: DEFAULT_TIMER_VALUE }), { value: value, onChange: function (number) { return handleOnPasscodeChange(number.toString()); } })) })));
41
+ };
42
+ export default React.memo(PasscodeInput);
@@ -0,0 +1,2 @@
1
+ import Passcode from './Passcode';
2
+ export default Passcode;
@@ -0,0 +1,2 @@
1
+ import Passcode from './Passcode';
2
+ export default Passcode;
@@ -0,0 +1,8 @@
1
+ import * as yup from 'yup';
2
+ export declare const validation: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
3
+ passcode: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
4
+ }>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
5
+ passcode: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
6
+ }>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
7
+ passcode: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
8
+ }>>>;
@@ -0,0 +1,4 @@
1
+ import * as yup from 'yup';
2
+ export var validation = yup.object().shape({
3
+ passcode: yup.string().min(6).required('passcode_required')
4
+ });
@@ -15,7 +15,7 @@ import { useTranslation } from 'react-i18next';
15
15
  import { useController, useFormContext } from 'react-hook-form';
16
16
  import Box from '@mui/material/Box';
17
17
  import { styled } from '@mui/material/styles';
18
- import { getCurrencyByCountryIso2, isExist } from '../../../../utils';
18
+ import { isExist } from '../../../../utils';
19
19
  import { useLanguage, useAppSelector, useAppDispatch } from '../../../../hooks';
20
20
  import { settingsSelector } from '../../../../app/settings';
21
21
  import SimpleList from '../../../../components/SimpleList';
@@ -29,6 +29,7 @@ import { EndAdornmentExpanded } from '../../../shared/EndAdornment';
29
29
  import CheckIcon from '../../../shared/CheckIcon';
30
30
  import { InputLabelStyled, NameContainer } from './CustomerBase';
31
31
  import { MandatoryStyled } from './ActivitiesList';
32
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
32
33
  var InputStyled = styled(InputSelect)(function (_a) {
33
34
  var theme = _a.theme;
34
35
  return ({
@@ -71,7 +72,6 @@ var ExpectedSalesRange = function (_a) {
71
72
  var brandActivities = data.brandActivities;
72
73
  var expectedSales = (brandActivities.responseBody || {}).expectedSales;
73
74
  var expectedSalesRangeValue = expectedSaleControl.field.value;
74
- var countryCode = settingsData.businessCountry;
75
75
  var handleOpenMainMenu = function (event) {
76
76
  if (readOnly)
77
77
  return;
@@ -95,9 +95,6 @@ var ExpectedSalesRange = function (_a) {
95
95
  var handleCloseSubMenu = function () {
96
96
  setSubIndex('');
97
97
  };
98
- var getCurrency = React.useMemo(function () {
99
- return t(getCurrencyByCountryIso2(countryCode.iso2));
100
- }, [countryCode.iso2]);
101
98
  React.useEffect(function () {
102
99
  if ((expectedSales === null || expectedSales === void 0 ? void 0 : expectedSales.length) > 0) {
103
100
  setExpectedSalesRangeList(expectedSales);
@@ -126,9 +123,7 @@ var ExpectedSalesRange = function (_a) {
126
123
  if (item)
127
124
  setSubIndex(item.id);
128
125
  }, [anchorEl, expectedSalesRangeValue]);
129
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsxs(InputLabelStyled, { children: [t('expected_sales_monthly', {
130
- currency: getCurrency
131
- }), _jsx(MandatoryStyled, { children: "*" })] }), _jsx(InputStyled, { readOnly: readOnly, value: isAr ? (_b = expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.ar) !== null && _b !== void 0 ? _b : '' : (_c = expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.en) !== null && _c !== void 0 ? _c : '', onClick: !!anchorEl ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_expected_sales'), endAdornment: _jsx(EndAdornmentExpanded, { anchorEl: anchorEl, isVerified: isVerified }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: expectedSalesRangeList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item) {
126
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsxs(InputLabelStyled, { children: [_jsx(TextWithCurrency, { text: t('expected_sale_per_month'), countryCode: settingsData.businessCountry.iso2 }), _jsx(MandatoryStyled, { children: "*" })] }), _jsx(InputStyled, { readOnly: readOnly, value: isAr ? (_b = expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.ar) !== null && _b !== void 0 ? _b : '' : (_c = expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.en) !== null && _c !== void 0 ? _c : '', onClick: !!anchorEl ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_expected_sales'), endAdornment: _jsx(EndAdornmentExpanded, { anchorEl: anchorEl, isVerified: isVerified }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: expectedSalesRangeList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item) {
132
127
  var isOnlyOneItem = !item.sub || item.sub.length === 1;
133
128
  if (isOnlyOneItem)
134
129
  onSelectItem(item);
@@ -22,12 +22,13 @@ import Collapse from '../../../../components/Collapse';
22
22
  import ExpandIcon from '../../../../components/ExpandIcon';
23
23
  import { EndAdornmentExpanded } from '../../../shared/EndAdornment';
24
24
  import { businessSelector, clearError } from '../../../app/business/businessStore';
25
- import { getCurrencyByCountryIso2, isExist } from '../../../../utils';
25
+ import { isExist } from '../../../../utils';
26
26
  import { ScreenContainer } from '../../../shared/Containers';
27
27
  import Search from '../../../shared/Search';
28
28
  import InputSelect from '../../../shared/InputSelect';
29
29
  import CheckIcon from '../../../shared/CheckIcon';
30
30
  import { InputLabelStyled, NameContainer } from './CustomerLocations';
31
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
31
32
  var InputStyled = styled(InputSelect)(function (_a) {
32
33
  var theme = _a.theme;
33
34
  return ({
@@ -69,7 +70,6 @@ var ExpectedSalesRange = function (_a) {
69
70
  var activitiesData = data.activitiesData;
70
71
  var expectedSales = (activitiesData.responseBody || {}).expectedSales;
71
72
  var expectedSalesRangeValue = expectedSaleControl.field.value;
72
- var countryCode = settingsData.businessCountry;
73
73
  var handleOpenMainMenu = function (event) {
74
74
  if (readOnly)
75
75
  return;
@@ -121,12 +121,7 @@ var ExpectedSalesRange = function (_a) {
121
121
  if (item)
122
122
  setSubIndex(item.id);
123
123
  }, [anchorEl, expectedSalesRangeValue]);
124
- var getCurrency = React.useMemo(function () {
125
- return t(getCurrencyByCountryIso2(countryCode.iso2));
126
- }, [countryCode.iso2]);
127
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsx(InputLabelStyled, { children: t('expected_sales_monthly', {
128
- currency: getCurrency
129
- }) }), _jsx(InputStyled, { readOnly: readOnly, value: (isAr ? expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.ar : expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.en) || '', onClick: !!anchorEl ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_expected_sales'), endAdornment: _jsx(EndAdornmentExpanded, { anchorEl: anchorEl, isVerified: isVerified }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: expectedSalesRangeList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item) {
124
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsx(InputLabelStyled, { children: _jsx(TextWithCurrency, { text: t('expected_sale_per_month'), countryCode: settingsData.businessCountry.iso2 }) }), _jsx(InputStyled, { readOnly: readOnly, value: (isAr ? expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.ar : expectedSalesRangeValue === null || expectedSalesRangeValue === void 0 ? void 0 : expectedSalesRangeValue.name.en) || '', onClick: !!anchorEl ? handleCloseMainMenu : handleOpenMainMenu, placeholder: t('choose_expected_sales'), endAdornment: _jsx(EndAdornmentExpanded, { anchorEl: anchorEl, isVerified: isVerified }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { sx: { maxHeight: '350px', paddingTop: 0 }, list: expectedSalesRangeList, listItemProps: { sx: { padding: 0 } }, onSelectItem: function (item) {
130
125
  var isOnlyOneItem = !item.sub || item.sub.length === 1;
131
126
  if (isOnlyOneItem)
132
127
  onSelectItem(item);
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const GenericPrepareDataLoading: () => JSX.Element;
3
+ export default GenericPrepareDataLoading;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useAppSelector } from '../../../../hooks';
3
+ import DataLoading from '../../../shared/DataLoading';
4
+ import { connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
5
+ var GenericPrepareDataLoading = function () {
6
+ var error = useAppSelector(connectExpressSelector).error;
7
+ return _jsx(DataLoading, { error: error });
8
+ };
9
+ export default GenericPrepareDataLoading;
@@ -0,0 +1,2 @@
1
+ import GenericPrepareDataLoading from './GenericPrepareDataLoading';
2
+ export default GenericPrepareDataLoading;
@@ -0,0 +1,2 @@
1
+ import GenericPrepareDataLoading from './GenericPrepareDataLoading';
2
+ export default GenericPrepareDataLoading;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface OTPProps {
3
+ }
4
+ declare const _default: React.MemoExoticComponent<({}: OTPProps) => JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,49 @@
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 { useController, useFormContext } from 'react-hook-form';
15
+ import { useTranslation } from 'react-i18next';
16
+ import Box from '@mui/material/Box/Box';
17
+ import { styled } from '@mui/material/styles';
18
+ import OTPField from '../../../shared/OTP';
19
+ import { DEFAULT_TIMER_VALUE } from '../../../../constants';
20
+ import { connectExpressSelector, clearError, resendLeadMobileAuthOTP } from '../../../app/connectExpress/connectExpressStore';
21
+ import { useAppDispatch, useAppSelector } from '../../../../hooks';
22
+ var BoxStyled = styled(Box)(function (_a) {
23
+ var theme = _a.theme;
24
+ return ({
25
+ display: 'flex',
26
+ flexDirection: 'column',
27
+ fontFamily: theme.typography.fontFamily
28
+ });
29
+ });
30
+ var OTPInput = function (_a) {
31
+ var _b = useFormContext(), control = _b.control, setValue = _b.setValue;
32
+ var t = useTranslation().t;
33
+ var dispatch = useAppDispatch();
34
+ var otpControl = useController({ name: 'otp', control: control });
35
+ var error = useAppSelector(connectExpressSelector).error;
36
+ var handleOnOTPChange = function (otp) {
37
+ if (error)
38
+ dispatch(clearError());
39
+ otpControl.field.onChange(otp);
40
+ };
41
+ var handleOnResendOTP = function () {
42
+ if (otpControl.field.value)
43
+ setValue('otp', '', { shouldValidate: true });
44
+ dispatch(resendLeadMobileAuthOTP());
45
+ };
46
+ var otpValue = otpControl.field.value;
47
+ return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendOTP, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
48
+ };
49
+ export default React.memo(OTPInput);
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface VerifyMobileAuthOTPProps {
3
+ }
4
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,88 @@
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 Box from '@mui/material/Box/Box';
14
+ import { styled } from '@mui/material/styles';
15
+ import * as React from 'react';
16
+ import { useTranslation } from 'react-i18next';
17
+ import Text from '../../../../components/Text';
18
+ import { clearError, connectExpressSelector, verifyAuthMobileOtpAsync, resetVerifyAuthOTPValue } from '../../../app/connectExpress/connectExpressStore';
19
+ import Button from '../../../shared/Button';
20
+ import { ScreenContainer } from '../../../shared/Containers';
21
+ import { useAppDispatch, useAppSelector, useSanitizedTranslation } from '../../../../hooks';
22
+ import { handlePrevScreenStep } from '../../../../app/settings';
23
+ import { useLanguage } from '../../../../hooks';
24
+ import { useForm, FormProvider } from 'react-hook-form';
25
+ import { yupResolver } from '@hookform/resolvers/yup';
26
+ import Form from '../../../../components/Form';
27
+ import { maskPhone, deepCopy } from '../../../../utils';
28
+ import { AuthForScreen } from '../../../../@types';
29
+ import { OTPValidation } from './validation';
30
+ import OTPInput from './OTPInput';
31
+ var OTPTitleContainerStyled = styled(Box)(function (_a) {
32
+ var theme = _a.theme;
33
+ return ({
34
+ background: theme.palette.common.white,
35
+ border: '1px solid',
36
+ borderColor: theme.palette.divider,
37
+ direction: theme.direction,
38
+ borderRadius: theme.spacing(0, 0, 1.25, 1.25),
39
+ marginBottom: theme.spacing(5.75)
40
+ });
41
+ });
42
+ var OTPTitleStyled = styled(Text)(function (_a) {
43
+ var theme = _a.theme;
44
+ return (__assign(__assign({}, theme.typography.body1), { color: theme.palette.text.primary, fontWeight: theme.typography.fontWeightLight, marginBlock: theme.spacing(1.75), marginInline: theme.spacing(2.5), lineHeight: 1.75, whiteSpace: 'pre-line' }));
45
+ });
46
+ var FormStyled = styled(Form)(function () { return ({
47
+ display: 'flex',
48
+ flexDirection: 'column'
49
+ }); });
50
+ var VerifyMobileAuthOTP = function () {
51
+ var _a, _b, _c, _d, _e, _f;
52
+ var dispatch = useAppDispatch();
53
+ var _g = useAppSelector(connectExpressSelector), data = _g.data, loading = _g.loading, error = _g.error;
54
+ var t = useTranslation().t;
55
+ var st = useSanitizedTranslation();
56
+ var isAr = useLanguage().isAr;
57
+ var methods = useForm({
58
+ resolver: yupResolver(OTPValidation),
59
+ defaultValues: data.verifyAuthOtpData,
60
+ mode: 'onChange'
61
+ });
62
+ React.useEffect(function () {
63
+ if (error)
64
+ dispatch(clearError());
65
+ }, [methods.formState.isValid]);
66
+ React.useEffect(function () {
67
+ return function () {
68
+ dispatch(resetVerifyAuthOTPValue());
69
+ };
70
+ }, []);
71
+ var onSubmit = function (formData) {
72
+ dispatch(verifyAuthMobileOtpAsync(deepCopy(formData)));
73
+ };
74
+ var onBack = function () {
75
+ var authFor = data.verifyAuthOtpData.authFor;
76
+ var step_name = 'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP';
77
+ if (authFor === AuthForScreen.DOB)
78
+ step_name = 'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP';
79
+ else if (authFor === AuthForScreen.MOBILE_OWNERSHIP)
80
+ step_name = 'COLLECT_MOBILE_OWNERSHIP';
81
+ dispatch(handlePrevScreenStep(step_name));
82
+ };
83
+ var disabled = !methods.formState.isValid;
84
+ var phone = ((_c = (_b = (_a = data.responseData) === null || _a === void 0 ? void 0 : _a.verifyAuthMobile) === null || _b === void 0 ? void 0 : _b.verification_by) === null || _c === void 0 ? void 0 : _c.sent_to) ? (_f = (_e = (_d = data.responseData) === null || _d === void 0 ? void 0 : _d.verifyAuthMobile) === null || _e === void 0 ? void 0 : _e.verification_by) === null || _f === void 0 ? void 0 : _f.sent_to : '';
85
+ var title = t('ide_opt_sent_title');
86
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? st('ide_otp_waiting_title') : title, !loading && _jsx("span", __assign({ dir: 'ltr' }, { children: maskPhone(phone) }))] }) }), _jsx(OTPInput, {}), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: st(error || '') }, { children: t('next') }))] })) })) }));
87
+ };
88
+ export default React.memo(VerifyMobileAuthOTP);
@@ -0,0 +1,3 @@
1
+ import VerifyMobileAuthOTP, { VerifyMobileAuthOTPProps } from './VerifyMobileAuthOTP';
2
+ export type { VerifyMobileAuthOTPProps };
3
+ export default VerifyMobileAuthOTP;
@@ -0,0 +1,2 @@
1
+ import VerifyMobileAuthOTP from './VerifyMobileAuthOTP';
2
+ export default VerifyMobileAuthOTP;
@@ -0,0 +1,8 @@
1
+ import * as yup from 'yup';
2
+ export declare const OTPValidation: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
3
+ otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
4
+ }>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
5
+ otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
6
+ }>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
7
+ otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
8
+ }>>>;
@@ -0,0 +1,4 @@
1
+ import * as yup from 'yup';
2
+ export var OTPValidation = yup.object().shape({
3
+ otp: yup.string().min(6, 'otp_min_length').required('otp_required')
4
+ });
@@ -4,14 +4,16 @@ import { connectExpressSelector, verifyNafathAsync } from '../../../app/connectE
4
4
  import NafathVerification from '../../../shared/NafathVerification';
5
5
  import { handlePrevScreenStep } from '../../../../app/settings';
6
6
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
7
+ import GenericPrepareDataLoading from '../GenericPrepareDataLoading';
7
8
  var VerifyNafath = function () {
8
9
  var _a = React.useState(false), success = _a[0], setSuccess = _a[1];
9
10
  var _b = React.useState(false), failed = _b[0], setFailed = _b[1];
10
11
  var _c = React.useState(false), isReady = _c[0], setIsReady = _c[1];
12
+ var _d = React.useState(false), showLoadingScreen = _d[0], setShowLoadingScreen = _d[1];
11
13
  var dispatch = useAppDispatch();
12
14
  var data = useAppSelector(connectExpressSelector).data;
13
15
  var authData = (data.responseData || {}).authData;
14
- var _d = authData || {}, expiry = _d.expiry, app_url_android = _d.app_url_android, app_url_ios = _d.app_url_ios, random = _d.random;
16
+ var _e = authData || {}, expiry = _e.expiry, app_url_android = _e.app_url_android, app_url_ios = _e.app_url_ios, random = _e.random;
15
17
  React.useEffect(function () {
16
18
  if (authData && !isReady) {
17
19
  setIsReady(true);
@@ -20,7 +22,11 @@ var VerifyNafath = function () {
20
22
  React.useEffect(function () {
21
23
  if (!isReady)
22
24
  return;
23
- var promise = dispatch(verifyNafathAsync({ onSuccess: function () { return setSuccess(true); }, onFailure: function () { return setFailed(true); } }));
25
+ var promise = dispatch(verifyNafathAsync({
26
+ onSuccess: function () { return setSuccess(true); },
27
+ onFailure: function () { return setFailed(true); },
28
+ showLoadingScreenAfterNafathSuccess: function () { return setShowLoadingScreen(true); }
29
+ }));
24
30
  return function () {
25
31
  promise === null || promise === void 0 ? void 0 : promise.abort();
26
32
  };
@@ -30,6 +36,6 @@ var VerifyNafath = function () {
30
36
  }, []);
31
37
  if (!isReady)
32
38
  return null;
33
- return (_jsx(NafathVerification, { randomNumber: random, expiryInSeconds: expiry, success: success, failed: failed, urls: { android: app_url_android, ios: app_url_ios }, onFinish: function () { return onBack(); } }));
39
+ return showLoadingScreen ? (_jsx(GenericPrepareDataLoading, {})) : (_jsx(NafathVerification, { randomNumber: random, expiryInSeconds: expiry, success: success, failed: failed, urls: { android: app_url_android, ios: app_url_ios }, onFinish: function () { return onBack(); } }));
34
40
  };
35
41
  export default React.memo(VerifyNafath);
@@ -15,11 +15,12 @@ import { useTranslation } from 'react-i18next';
15
15
  import { useController, useFormContext } from 'react-hook-form';
16
16
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
17
17
  import { settingsSelector } from '../../../../app/settings';
18
- import { formatNumberAsCurrency, getCurrencyByCountryIso2, removeAllCharsFromNumber } from '../../../../utils';
18
+ import { formatNumberAsCurrency, removeAllCharsFromNumber } from '../../../../utils';
19
19
  import { ScreenContainer } from '../../../shared/Containers';
20
20
  import Input from '../../../shared/Input';
21
21
  import { clearError } from '../../../app/entity/entityStore';
22
22
  import { EndAdornment } from '../../../shared/EndAdornment';
23
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
23
24
  var CapitalPaid = function (_a) {
24
25
  var _b;
25
26
  var readOnly = _a.readOnly, isVerified = _a.isVerified;
@@ -34,14 +35,9 @@ var CapitalPaid = function (_a) {
34
35
  var value = formatNumberAsCurrency(removeAllCharsFromNumber(target.value));
35
36
  capitalPaidControl.field.onChange(value);
36
37
  };
37
- var getCurrency = React.useMemo(function () {
38
- return t(getCurrencyByCountryIso2(settingsData.businessCountry.iso2));
39
- }, [settingsData.businessCountry.iso2]);
40
38
  var capitalPaidControl = useController({ control: control, name: 'capitalPaid' });
41
39
  var capitalPaidValue = capitalPaidControl.field.value;
42
40
  var error = (_b = capitalPaidControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
43
- return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: t('capital_paid_label', {
44
- currency: getCurrency
45
- }), required: true, onChange: handleChange, value: capitalPaidValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('capital_paid_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: capitalPaidValue, isVerified: isVerified }) }) })));
41
+ return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: _jsx(TextWithCurrency, { text: t('capital_paid_input_label'), countryCode: settingsData.businessCountry.iso2 }), required: true, onChange: handleChange, value: capitalPaidValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('capital_paid_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: capitalPaidValue, isVerified: isVerified }) }) })));
46
42
  };
47
43
  export default React.memo(CapitalPaid);
@@ -13,13 +13,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
15
  import { useController, useFormContext } from 'react-hook-form';
16
- import { formatNumberAsCurrency, getCurrencyByCountryIso2, removeAllCharsFromNumber } from '../../../../utils';
16
+ import { formatNumberAsCurrency, removeAllCharsFromNumber } from '../../../../utils';
17
17
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
18
18
  import { settingsSelector } from '../../../../app/settings';
19
19
  import { ScreenContainer } from '../../../shared/Containers';
20
20
  import Input from '../../../shared/Input';
21
21
  import { clearError } from '../../../app/entity/entityStore';
22
22
  import { EndAdornment } from '../../../shared/EndAdornment';
23
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
23
24
  var CapitalShareValue = function (_a) {
24
25
  var _b;
25
26
  var readOnly = _a.readOnly, isVerified = _a.isVerified;
@@ -34,14 +35,9 @@ var CapitalShareValue = function (_a) {
34
35
  var value = formatNumberAsCurrency(removeAllCharsFromNumber(target.value));
35
36
  capitalShareValueControl.field.onChange(value);
36
37
  };
37
- var getCurrency = React.useMemo(function () {
38
- return t(getCurrencyByCountryIso2(settingsData.businessCountry.iso2));
39
- }, [settingsData.businessCountry.iso2]);
40
38
  var capitalShareValueControl = useController({ control: control, name: 'capitalShareValue' });
41
39
  var capitalShareValueValue = capitalShareValueControl.field.value;
42
40
  var error = (_b = capitalShareValueControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
43
- return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: t('capital_share_value_label', {
44
- currency: getCurrency
45
- }), required: true, onChange: handleChange, value: capitalShareValueValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('capital_share_value_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: capitalShareValueValue, isVerified: isVerified }) }) })));
41
+ return (_jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: _jsx(TextWithCurrency, { text: t('capital_share_value_input_label'), countryCode: settingsData.businessCountry.iso2 }), required: true, onChange: handleChange, value: capitalShareValueValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('capital_share_value_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: capitalShareValueValue, isVerified: isVerified }) }) })));
46
42
  };
47
43
  export default React.memo(CapitalShareValue);
@@ -27,6 +27,7 @@ import ConnectExpressIdentityVerifyNafathScreen from './connectExpress/screens/I
27
27
  import ConnectExpressCollectIndividualScreen from './connectExpress/screens/CollectIndividualInfo';
28
28
  import ConnectExpressCollectDobScreen from './connectExpress/screens/DOB';
29
29
  import ConnectExpressCollectBusinessScreen from './connectExpress/screens/CollectBusinessInfo';
30
+ import ConnectExpressVerifyAuthMobileOtpScreen from './connectExpress/screens/VerifyMobileAuthOTP';
30
31
  import ConnectExpressCreateAccountLoaderScreen from './connectExpress/screens/CreateAccountLoader';
31
32
  import ConnectExpressPreparingDataLoaderScreen from './connectExpress/screens/PrepareDataLoading';
32
33
  import ConnectExpressSuccessFlowButtonsScreen from './connectExpress/screens/SuccessWithFlowButtons';
@@ -56,6 +57,7 @@ import AuthAccountCreatedLoaderScreen from './auth/screens/AccountCreatedLoader'
56
57
  import AuthEmailSentScreen from './auth/screens/EmailSent';
57
58
  import AuthMigratingDataScreen from './auth/screens/MigratingData';
58
59
  import AuthOperatorError from './auth/screens/OperatorError';
60
+ import AuthPasscodeScreen from './auth/screens/Passcode';
59
61
  import CustomersPage from './business/screens/Customers';
60
62
  import IDBODPage from './business/screens/IDBOD';
61
63
  import BusinessVerifyPage from './business/screens/Verify';
@@ -262,6 +264,10 @@ export var connectExpressFeatureScreens = [
262
264
  name: 'CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP',
263
265
  element: ConnectExpressCollectBusinessScreen
264
266
  },
267
+ {
268
+ name: 'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP',
269
+ element: ConnectExpressVerifyAuthMobileOtpScreen
270
+ },
265
271
  {
266
272
  name: 'CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP',
267
273
  element: ConnectExpressAccountAlreadyCreatedScreen
@@ -320,6 +326,10 @@ export var authFeatureScreens = [
320
326
  name: 'AUTH_OTP_STEP',
321
327
  element: AuthOTPScreen
322
328
  },
329
+ {
330
+ name: 'AUTH_PASSCODE_STEP',
331
+ element: AuthPasscodeScreen
332
+ },
323
333
  {
324
334
  name: 'AUTH_PASSWORD_STEP',
325
335
  element: AuthPasswordScreen
@@ -16,7 +16,7 @@ import { useController, useFormContext } from 'react-hook-form';
16
16
  import Box from '@mui/material/Box';
17
17
  import { styled } from '@mui/material/styles';
18
18
  import { settingsSelector } from '../../../../app/settings';
19
- import { getCurrencyByCountryIso2, hasVerifiedValue } from '../../../../utils';
19
+ import { hasVerifiedValue } from '../../../../utils';
20
20
  import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
21
21
  import Collapse from '../../../../components/Collapse';
22
22
  import Text from '../../../../components/Text';
@@ -26,6 +26,7 @@ import InputSelect from '../../../shared/InputSelect';
26
26
  import CheckIcon from '../../../shared/CheckIcon';
27
27
  import { ScreenContainer } from '../../../shared/Containers';
28
28
  import { EndAdornmentExpanded } from '../../../shared/EndAdornment';
29
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
29
30
  var Container = styled(Box)(function () { return ({
30
31
  display: 'flex'
31
32
  }); });
@@ -45,16 +46,12 @@ var MonthlyIncome = function (props) {
45
46
  var settingsData = useAppSelector(settingsSelector).data;
46
47
  var monthlyIncomeList = (data.individualData.responseBody || {}).monthlyIncomeList;
47
48
  var monthlyIncomeControl = useController({ control: control, name: 'monthlyIncome' });
48
- var countryCode = settingsData.businessCountry;
49
49
  var user = (data.verify.responseBody || {}).user;
50
50
  var isMonthlyIncomeVerified = function (item) {
51
51
  if (!(item === null || item === void 0 ? void 0 : item.id))
52
52
  return false;
53
53
  return hasVerifiedValue(user === null || user === void 0 ? void 0 : user.data_verification, "monthly_income.".concat(item.id));
54
54
  };
55
- var getCurrency = React.useMemo(function () {
56
- return t(getCurrencyByCountryIso2(countryCode.iso2));
57
- }, [countryCode.iso2]);
58
55
  React.useEffect(function () {
59
56
  if ((monthlyIncomeList === null || monthlyIncomeList === void 0 ? void 0 : monthlyIncomeList.length) > 0) {
60
57
  setIncomeList(monthlyIncomeList);
@@ -83,9 +80,7 @@ var MonthlyIncome = function (props) {
83
80
  };
84
81
  var income = monthlyIncomeControl.field.value;
85
82
  var error = (_a = monthlyIncomeControl.fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
86
- return (_jsx(Collapse, __assign({ in: props.show }, { children: _jsxs(ScreenContainer, __assign({ sx: { pb: 0 } }, { children: [_jsx(InputSelect, { label: t('please_enter_actual_income', {
87
- currency: getCurrency
88
- }), required: true, readOnly: props.readOnly, onClick: !!anchorEl ? function () { return onCloseList(); } : onOpenList, placeholder: t('choose_any_source_of_income'), value: (isAr ? income === null || income === void 0 ? void 0 : income.range.ar : income === null || income === void 0 ? void 0 : income.range.en) || '', warningMessage: error && t(error), endAdornment: _jsx(EndAdornmentExpanded, { isVerified: isMonthlyIncomeVerified(income), anchorEl: anchorEl }) }), _jsx(Collapse, __assign({ in: !!anchorEl }, { children: _jsx(SimpleList, { searchKeyPath: 'range.en', searchValuePath: ['range.en', 'range.ar'], list: incomeList, onSelectItem: onSelectItem, renderItem: function (item) {
83
+ return (_jsx(Collapse, __assign({ in: props.show }, { children: _jsxs(ScreenContainer, __assign({ sx: { pb: 0 } }, { children: [_jsx(InputSelect, { label: _jsx(TextWithCurrency, { text: t('monthly_income'), countryCode: settingsData.businessCountry.iso2 }), required: true, readOnly: props.readOnly, onClick: !!anchorEl ? function () { return onCloseList(); } : onOpenList, placeholder: t('choose_any_source_of_income'), value: (isAr ? income === null || income === void 0 ? void 0 : income.range.ar : income === null || income === void 0 ? void 0 : income.range.en) || '', warningMessage: error && t(error), endAdornment: _jsx(EndAdornmentExpanded, { isVerified: isMonthlyIncomeVerified(income), anchorEl: anchorEl }) }), _jsx(Collapse, __assign({ in: !!anchorEl }, { children: _jsx(SimpleList, { searchKeyPath: 'range.en', searchValuePath: ['range.en', 'range.ar'], list: incomeList, onSelectItem: onSelectItem, renderItem: function (item) {
89
84
  return (_jsxs(_Fragment, { children: [_jsx(Container, { children: _jsx(IncomeText, __assign({ isSelected: item.id === (income === null || income === void 0 ? void 0 : income.id) }, { children: isAr ? item.range.ar : item === null || item === void 0 ? void 0 : item.range.en })) }), item.id === (income === null || income === void 0 ? void 0 : income.id) && _jsx(CheckIcon, { isVerified: isMonthlyIncomeVerified(item) })] }));
90
85
  } }) }))] })) })));
91
86
  };
@@ -14,13 +14,14 @@ import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
15
  import { useController, useFormContext } from 'react-hook-form';
16
16
  import Collapse from '@mui/material/Collapse';
17
- import { formatNumberAsCurrency, getCurrencyByCountryIso2, removeAllCharsFromNumber } from '../../../../utils';
17
+ import { formatNumberAsCurrency, removeAllCharsFromNumber } from '../../../../utils';
18
18
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
19
19
  import { settingsSelector } from '../../../../app/settings';
20
20
  import { ScreenContainer } from '../../../shared/Containers';
21
21
  import Input from '../../../shared/Input';
22
22
  import { individualSelector, clearError } from '../../../app/individual/individualStore';
23
23
  import { EndAdornment } from '../../../shared/EndAdornment';
24
+ import TextWithCurrency from '../../../../components/TextWithCurrency';
24
25
  var ShareValue = function (_a) {
25
26
  var _b;
26
27
  var show = _a.show, readOnly = _a.readOnly;
@@ -29,7 +30,6 @@ var ShareValue = function (_a) {
29
30
  var control = useFormContext().control;
30
31
  var bckError = useAppSelector(individualSelector).error;
31
32
  var dispatch = useAppDispatch();
32
- var countryCode = settingsData.businessCountry;
33
33
  var handleChange = function (_a) {
34
34
  var target = _a.target;
35
35
  if (bckError)
@@ -37,14 +37,9 @@ var ShareValue = function (_a) {
37
37
  var value = formatNumberAsCurrency(removeAllCharsFromNumber(target.value));
38
38
  shareValueControl.field.onChange(value);
39
39
  };
40
- var getCurrency = React.useMemo(function () {
41
- return t(getCurrencyByCountryIso2(countryCode.iso2));
42
- }, [countryCode.iso2]);
43
40
  var shareValueControl = useController({ control: control, name: 'shareValue' });
44
41
  var shareValue = shareValueControl.field.value;
45
42
  var error = (_b = shareValueControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
46
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: t('share_value_label', {
47
- currency: getCurrency
48
- }), onChange: handleChange, value: shareValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('share_value_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: shareValue, error: error }) }) })) })));
43
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: _jsx(Input, { readOnly: readOnly, label: _jsx(TextWithCurrency, { text: t('share_value_input_label'), countryCode: settingsData.businessCountry.iso2 }), onChange: handleChange, value: shareValue, sx: { '& .MuiInputBase-input': { cursor: 'auto' } }, placeholder: t('share_value_hint'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: shareValue, error: error }) }) })) })));
49
44
  };
50
45
  export default React.memo(ShareValue);