@tap-payments/auth-jsconnect 2.8.55-beta → 2.8.55-development

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 (189) hide show
  1. package/build/@types/app.d.ts +1 -0
  2. package/build/@types/form.d.ts +1 -0
  3. package/build/@types/redux.d.ts +1 -0
  4. package/build/api/entity.d.ts +2 -2
  5. package/build/api/entity.js +12 -4
  6. package/build/api/index.d.ts +2 -2
  7. package/build/constants/api.d.ts +0 -1
  8. package/build/constants/api.js +0 -2
  9. package/build/constants/app.d.ts +0 -2
  10. package/build/constants/app.js +0 -2
  11. package/build/features/app/bank/bankStore.d.ts +13 -18
  12. package/build/features/app/bank/bankStore.js +184 -165
  13. package/build/features/app/board/boardStore.js +52 -30
  14. package/build/features/app/brand/brandStore.d.ts +16 -33
  15. package/build/features/app/brand/brandStore.js +239 -242
  16. package/build/features/app/business/businessStore.d.ts +0 -5
  17. package/build/features/app/business/businessStore.js +76 -87
  18. package/build/features/app/connectExpress/connectExpressStore.d.ts +15 -6
  19. package/build/features/app/connectExpress/connectExpressStore.js +110 -52
  20. package/build/features/app/entity/entityStore.d.ts +20 -36
  21. package/build/features/app/entity/entityStore.js +196 -246
  22. package/build/features/app/individual/individualStore.d.ts +22 -38
  23. package/build/features/app/individual/individualStore.js +263 -266
  24. package/build/features/app/password/passwordStore.d.ts +40 -23
  25. package/build/features/app/password/passwordStore.js +226 -233
  26. package/build/features/app/tax/taxStore.d.ts +13 -7
  27. package/build/features/app/tax/taxStore.js +168 -147
  28. package/build/features/auth/screens/AuthSwitch/AuthSwitch.js +13 -1
  29. package/build/features/auth/screens/BusinessCountry/BusinessCountry.js +7 -1
  30. package/build/features/bank/Bank.d.ts +1 -0
  31. package/build/features/bank/Bank.js +7 -4
  32. package/build/features/bank/screens/BankDetails/BankDetails.js +18 -5
  33. package/build/features/bank/screens/OperatorError/OperatorError.d.ts +5 -0
  34. package/build/features/bank/screens/OperatorError/OperatorError.js +9 -0
  35. package/build/features/bank/screens/OperatorError/index.d.ts +3 -0
  36. package/build/features/bank/screens/OperatorError/index.js +2 -0
  37. package/build/features/bank/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  38. package/build/features/bank/screens/Verify/Verify.js +5 -5
  39. package/build/features/board/Board.js +8 -4
  40. package/build/features/board/screens/OperatorError/OperatorError.d.ts +5 -0
  41. package/build/features/board/screens/OperatorError/OperatorError.js +9 -0
  42. package/build/features/board/screens/OperatorError/index.d.ts +3 -0
  43. package/build/features/board/screens/OperatorError/index.js +2 -0
  44. package/build/features/board/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +3 -4
  45. package/build/features/brand/Brand.d.ts +1 -0
  46. package/build/features/brand/Brand.js +7 -4
  47. package/build/features/brand/screens/BrandActivities/BrandActivities.js +49 -12
  48. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +6 -3
  49. package/build/features/brand/screens/BrandActivities/RefundPolicy.js +1 -1
  50. package/build/features/brand/screens/BrandActivities/TAC.js +1 -1
  51. package/build/features/brand/screens/BrandActivities/TransactionPolicy.js +1 -1
  52. package/build/features/brand/screens/BrandInfo/BrandInfo.js +23 -5
  53. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.js +23 -7
  54. package/build/features/brand/screens/OperatorError/OperatorError.d.ts +5 -0
  55. package/build/features/brand/screens/OperatorError/OperatorError.js +9 -0
  56. package/build/features/brand/screens/OperatorError/index.d.ts +3 -0
  57. package/build/features/brand/screens/OperatorError/index.js +2 -0
  58. package/build/features/brand/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  59. package/build/features/brand/screens/Verify/Verify.js +1 -1
  60. package/build/features/business/Business.js +9 -4
  61. package/build/features/business/screens/Activities/Activities.js +12 -3
  62. package/build/features/business/screens/BusinessType/BusinessType.js +10 -2
  63. package/build/features/business/screens/CivilID/CivilID.js +1 -1
  64. package/build/features/business/screens/Customers/Customers.js +12 -3
  65. package/build/features/business/screens/Customers/ExpectedSalesRange.js +6 -3
  66. package/build/features/business/screens/IDBOD/IDBOD.js +10 -2
  67. package/build/features/business/screens/OTP/OTP.js +1 -1
  68. package/build/features/business/screens/OperatorError/OperatorError.d.ts +5 -0
  69. package/build/features/business/screens/OperatorError/OperatorError.js +9 -0
  70. package/build/features/business/screens/OperatorError/index.d.ts +3 -0
  71. package/build/features/business/screens/OperatorError/index.js +2 -0
  72. package/build/features/business/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +14 -3
  73. package/build/features/business/screens/Verify/Verify.js +13 -3
  74. package/build/features/connect/Connect.js +3 -2
  75. package/build/features/connect/screens/BrandSegment/BrandSegment.js +1 -1
  76. package/build/features/connect/screens/BusinessCountry/BusinessCountry.js +9 -2
  77. package/build/features/connect/screens/CivilID/CivilID.js +1 -1
  78. package/build/features/connect/screens/Individual/Email.js +3 -1
  79. package/build/features/connect/screens/Individual/Individual.js +1 -1
  80. package/build/features/connect/screens/Merchant/BrandList.js +3 -3
  81. package/build/features/connect/screens/Merchant/Merchant.js +1 -1
  82. package/build/features/connect/screens/Merchant/SalesChannels.js +1 -1
  83. package/build/features/connect/screens/Mobile/Mobile.js +11 -8
  84. package/build/features/connect/screens/NID/NID.js +1 -1
  85. package/build/features/connect/screens/OperatorError/OperatorError.js +1 -1
  86. package/build/features/connectExpress/ConnectExpress.js +2 -1
  87. package/build/features/connectExpress/screens/AuthenticationList/AuthenticationList.js +5 -2
  88. package/build/features/connectExpress/screens/AuthenticationList/EntityLicenseType.d.ts +9 -0
  89. package/build/features/connectExpress/screens/AuthenticationList/EntityLicenseType.js +90 -0
  90. package/build/features/connectExpress/screens/AuthenticationList/EntityList.js +6 -1
  91. package/build/features/connectExpress/screens/AuthenticationList/validation.d.ts +3 -0
  92. package/build/features/connectExpress/screens/AuthenticationList/validation.js +10 -0
  93. package/build/features/connectExpress/screens/BusinessCountry/BusinessCountry.js +7 -1
  94. package/build/features/connectExpress/screens/CivilID/CivilID.js +1 -1
  95. package/build/features/connectExpress/screens/CivilIDMissed/CivilID.js +1 -1
  96. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +1 -1
  97. package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +1 -1
  98. package/build/features/connectExpress/screens/CollectIndividualInfo/Email.js +3 -1
  99. package/build/features/connectExpress/screens/CreateAccountLoader/CreateAccountLoader.js +14 -24
  100. package/build/features/connectExpress/screens/Mobile/Mobile.js +9 -2
  101. package/build/features/connectExpress/screens/NID/NID.js +1 -1
  102. package/build/features/connectExpress/screens/NIDMissed/NID.js +1 -1
  103. package/build/features/connectExpress/screens/OperatorError/OperatorError.d.ts +5 -0
  104. package/build/features/connectExpress/screens/OperatorError/OperatorError.js +9 -0
  105. package/build/features/connectExpress/screens/OperatorError/index.d.ts +3 -0
  106. package/build/features/connectExpress/screens/OperatorError/index.js +2 -0
  107. package/build/features/connectExpress/screens/PrepareDataLoading/PrepareDataLoading.d.ts +5 -0
  108. package/build/features/connectExpress/screens/PrepareDataLoading/PrepareDataLoading.js +34 -0
  109. package/build/features/connectExpress/screens/PrepareDataLoading/index.d.ts +2 -0
  110. package/build/features/connectExpress/screens/PrepareDataLoading/index.js +2 -0
  111. package/build/features/connectExpress/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  112. package/build/features/entity/Entity.d.ts +1 -0
  113. package/build/features/entity/Entity.js +7 -4
  114. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +8 -4
  115. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +8 -4
  116. package/build/features/entity/screens/EntityCapital/EntityCapital.js +34 -10
  117. package/build/features/entity/screens/EntityName/EntityName.js +32 -15
  118. package/build/features/entity/screens/OperatorError/OperatorError.d.ts +5 -0
  119. package/build/features/entity/screens/OperatorError/OperatorError.js +9 -0
  120. package/build/features/entity/screens/OperatorError/index.d.ts +3 -0
  121. package/build/features/entity/screens/OperatorError/index.js +2 -0
  122. package/build/features/entity/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  123. package/build/features/entity/screens/Verify/Verify.js +1 -1
  124. package/build/features/featuresScreens.js +67 -7
  125. package/build/features/individual/Individual.d.ts +1 -0
  126. package/build/features/individual/Individual.js +7 -4
  127. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +54 -14
  128. package/build/features/individual/screens/AdditionalIndividualInfo/IsAuthorizedSwitch.d.ts +14 -0
  129. package/build/features/individual/screens/AdditionalIndividualInfo/IsAuthorizedSwitch.js +76 -0
  130. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +5 -2
  131. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +8 -3
  132. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +4 -1
  133. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +3 -2
  134. package/build/features/individual/screens/IndividualList/Email.js +3 -2
  135. package/build/features/individual/screens/IndividualList/IndividualList.js +18 -5
  136. package/build/features/individual/screens/IndividualList/UserList.js +13 -9
  137. package/build/features/individual/screens/IndividualPersonalInfo/Email.js +4 -2
  138. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.js +76 -20
  139. package/build/features/individual/screens/IndividualPhoneInfo/PhoneInfo.js +1 -1
  140. package/build/features/individual/screens/OperatorError/OperatorError.d.ts +5 -0
  141. package/build/features/individual/screens/OperatorError/OperatorError.js +9 -0
  142. package/build/features/individual/screens/OperatorError/index.d.ts +3 -0
  143. package/build/features/individual/screens/OperatorError/index.js +2 -0
  144. package/build/features/individual/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  145. package/build/features/individual/screens/Verify/Verify.js +1 -1
  146. package/build/features/password/Password.d.ts +1 -0
  147. package/build/features/password/Password.js +75 -28
  148. package/build/features/password/screens/CreatePassword/CreatePassword.js +8 -4
  149. package/build/features/password/screens/OTP/OTP.js +1 -1
  150. package/build/features/password/screens/OperatorError/OperatorError.d.ts +5 -0
  151. package/build/features/password/screens/OperatorError/OperatorError.js +9 -0
  152. package/build/features/password/screens/OperatorError/index.d.ts +3 -0
  153. package/build/features/password/screens/OperatorError/index.js +2 -0
  154. package/build/features/password/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  155. package/build/features/password/screens/PrepareDataLoading/PrepareDataLoading.js +10 -0
  156. package/build/features/password/screens/PrepareDataLoading/index.d.ts +2 -0
  157. package/build/features/password/screens/PrepareDataLoading/index.js +2 -0
  158. package/build/features/password/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  159. package/build/features/password/screens/Verify/Verify.js +5 -5
  160. package/build/features/shared/Button/FlowsButtons.js +13 -3
  161. package/build/features/shared/Containers/FeatureContainer.d.ts +1 -0
  162. package/build/features/shared/Containers/FeatureContainer.js +3 -3
  163. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.d.ts +5 -1
  164. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +3 -3
  165. package/build/features/signIn/SignIn.js +12 -3
  166. package/build/features/signIn/screens/OperatorError/OperatorError.d.ts +5 -0
  167. package/build/features/signIn/screens/OperatorError/OperatorError.js +9 -0
  168. package/build/features/signIn/screens/OperatorError/index.d.ts +3 -0
  169. package/build/features/signIn/screens/OperatorError/index.js +2 -0
  170. package/build/features/tax/Tax.d.ts +1 -0
  171. package/build/features/tax/Tax.js +7 -4
  172. package/build/features/tax/screens/OperatorError/OperatorError.d.ts +5 -0
  173. package/build/features/tax/screens/OperatorError/OperatorError.js +9 -0
  174. package/build/features/tax/screens/OperatorError/index.d.ts +3 -0
  175. package/build/features/tax/screens/OperatorError/index.js +2 -0
  176. package/build/features/tax/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -2
  177. package/build/features/tax/screens/TaxDetails/TaxDetails.js +7 -2
  178. package/build/features/tax/screens/Verify/Verify.js +5 -5
  179. package/build/hooks/index.d.ts +1 -0
  180. package/build/hooks/index.js +1 -0
  181. package/build/hooks/useFormDirtyCheck.d.ts +10 -0
  182. package/build/hooks/useFormDirtyCheck.js +66 -0
  183. package/build/hooks/useVerifyToken.d.ts +5 -2
  184. package/build/hooks/useVerifyToken.js +10 -5
  185. package/build/utils/common.js +4 -4
  186. package/build/utils/locale.js +2 -1
  187. package/build/utils/string.d.ts +5 -2
  188. package/build/utils/string.js +34 -5
  189. package/package.json +2 -2
@@ -45,12 +45,12 @@ var ButtonGroupStyled = styled(Box)(function (_a) {
45
45
  });
46
46
  var SuccessFlowButtons = function (_a) {
47
47
  var _b, _c, _d;
48
- var brand = _a.brand, entity = _a.entity, business = _a.business, merchant = _a.merchant, bank = _a.bank, user = _a.user, flows = _a.flows, boardInfoId = _a.boardInfoId, boardId = _a.boardId, flowName = _a.flowName, individuals = _a.individuals, onClose = _a.onClose, loading = _a.loading;
48
+ var brand = _a.brand, entity = _a.entity, business = _a.business, merchant = _a.merchant, bank = _a.bank, user = _a.user, flows = _a.flows, boardInfoId = _a.boardInfoId, boardId = _a.boardId, flowName = _a.flowName, individuals = _a.individuals, recipient = _a.recipient, onClose = _a.onClose, loading = _a.loading;
49
49
  var _e = useState([]), buttons = _e[0], setButtons = _e[1];
50
50
  var t = useTranslation().t;
51
51
  var isAr = useLanguage().isAr;
52
52
  var settings = useAppSelector(settingsSelector);
53
- var _f = user || {}, names = _f.names, identification = _f.identification, is_authorized = _f.is_authorized;
53
+ var _f = user || {}, names = _f.names, identification = _f.identification, is_authorized = _f.is_authorized, id = _f.id;
54
54
  var primary_contact = (business || {}).primary_contact;
55
55
  var _g = entity || {}, license = _g.license, vat_id = _g.vat_id, legal_name = _g.legal_name;
56
56
  var count = (individuals || {}).count;
@@ -66,7 +66,7 @@ var SuccessFlowButtons = function (_a) {
66
66
  var isPayout = payout_status === MerchantStatus.ENABLED;
67
67
  var maskedId = (identification === null || identification === void 0 ? void 0 : identification.id) ? " ".concat(t('masking_symbols')).concat((_d = identification === null || identification === void 0 ? void 0 : identification.id) === null || _d === void 0 ? void 0 : _d.slice(-2)) : '';
68
68
  var email = (primary_contact || {}).email;
69
- var url = getResetFlowUrl('/password', settings.data.language, PASSWORD_OPERATION_TYPE.RESET_PASSWORD, boardId, boardInfoId);
69
+ var url = getResetFlowUrl('/password', settings.data.language, PASSWORD_OPERATION_TYPE.RESET_PASSWORD, boardId, boardInfoId, recipient === null || recipient === void 0 ? void 0 : recipient.id, recipient === null || recipient === void 0 ? void 0 : recipient.type);
70
70
  var flowsDetails = [
71
71
  { name: 'brand', status: brand === null || brand === void 0 ? void 0 : brand.data_state },
72
72
  { name: 'entity', status: entity === null || entity === void 0 ? void 0 : entity.data_state },
@@ -10,10 +10,10 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { memo } from 'react';
13
+ import React, { memo } from 'react';
14
14
  import { createRoot } from 'react-dom/client';
15
- import { useAppTheme, useAppSelector, useAppConfig, useErrorListener, useStepStartedListener } from '../../hooks';
16
- import { settingsSelector } from '../../app/settings';
15
+ import { useAppTheme, useAppSelector, useAppConfig, useErrorListener, useStepStartedListener, useAppDispatch } from '../../hooks';
16
+ import { handleCurrentActiveScreen, settingsSelector } from '../../app/settings';
17
17
  import AnimationFlow from '../../components/AnimationFlow';
18
18
  import { store } from '../../app/store';
19
19
  import { ReduxProvider, ThemeProvider } from '../../components/Providers';
@@ -26,12 +26,21 @@ import { signInSelector } from '../app/signIn/signInStore';
26
26
  import Background from '../shared/Background';
27
27
  var SignIn = memo(function (props) {
28
28
  var theme = useAppTheme().theme;
29
+ var dispatch = useAppDispatch();
29
30
  var _a = useAppSelector(settingsSelector), data = _a.data, error = _a.error, settingLoading = _a.loading;
30
31
  var _b = useAppSelector(signInSelector), signInError = _b.error, loading = _b.loading;
31
32
  useAppConfig(__assign({ navigation: SigIn_SCREENS_NAVIGATION }, props));
32
33
  useErrorListener(signInError || error);
33
34
  useStepStartedListener();
34
35
  var activeScreen = data.activeScreen, isTapOrigin = data.isTapOrigin, open = data.open, merchant = data.merchant, isMaturityExpress = data.isMaturityExpress, appConfig = data.appConfig;
36
+ React.useEffect(function () {
37
+ if (settingLoading || !props.open)
38
+ return;
39
+ if (!data.isValidOperator) {
40
+ dispatch(handleCurrentActiveScreen('SIGIN_OPERATOR_ERROR_STEP'));
41
+ return;
42
+ }
43
+ }, [data.isValidOperator, settingLoading]);
35
44
  return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ open: open, isTapOrigin: isTapOrigin, loading: settingLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading ? 'none' : 'auto', isTapOrigin: isTapOrigin, open: open, error: error, loading: settingLoading, breakpoint: 'sm', screenId: activeScreen.name, merchantInfo: merchant, isMaturityExpress: isMaturityExpress, dialogEdgeFormat: data.appConfig.dialogEdgeFormat, features: appConfig.features }, { children: _jsx(FeatureContainer, __assign({ isMaturityExpress: isMaturityExpress }, { children: signInFeatureScreens.map(function (_a, index) {
36
45
  var Element = _a.element, name = _a.name;
37
46
  var isActive = activeScreen.name === name;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface OperatorErrorProps {
3
+ }
4
+ declare const _default: React.MemoExoticComponent<({}: OperatorErrorProps) => import("react/jsx-runtime").JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import GenericError from '../../../shared/GenericError';
5
+ var OperatorError = function (_a) {
6
+ var t = useTranslation().t;
7
+ return _jsx(GenericError, { error: t('operator_is_invalid'), errorTitle: t('oops') });
8
+ };
9
+ export default React.memo(OperatorError);
@@ -0,0 +1,3 @@
1
+ import OperatorError, { OperatorErrorProps } from './OperatorError';
2
+ export type { OperatorErrorProps };
3
+ export default OperatorError;
@@ -0,0 +1,2 @@
1
+ import OperatorError from './OperatorError';
2
+ export default OperatorError;
@@ -2,6 +2,7 @@ import { LibConfig } from '../../@types';
2
2
  export interface TaxLibProps extends LibConfig {
3
3
  verifyToken?: string;
4
4
  configToken?: string;
5
+ loaderColor?: string;
5
6
  }
6
7
  export declare function TaxElement(props: TaxLibProps): import("react/jsx-runtime").JSX.Element;
7
8
  export declare function renderTaxLib(config: TaxLibProps, elementId: string): {
@@ -36,7 +36,7 @@ import { taxFeatureScreens } from '../featuresScreens';
36
36
  import { taxSelector, verifyLeadToken } from '../app/tax/taxStore';
37
37
  import Background from '../shared/Background';
38
38
  var Tax = memo(function (_a) {
39
- var configToken = _a.configToken, verifyToken = _a.verifyToken, props = __rest(_a, ["configToken", "verifyToken"]);
39
+ var configToken = _a.configToken, verifyToken = _a.verifyToken, loaderColor = _a.loaderColor, props = __rest(_a, ["configToken", "verifyToken", "loaderColor"]);
40
40
  var theme = useAppTheme().theme;
41
41
  var _b = useAppSelector(settingsSelector), data = _b.data, error = _b.error, settingLoading = _b.loading;
42
42
  var _c = useAppSelector(taxSelector), customLoading = _c.customLoading, taxError = _c.error, loading = _c.loading;
@@ -55,11 +55,14 @@ var Tax = memo(function (_a) {
55
55
  loadingScreenName: 'TAX_LOADING_DATA_STEP',
56
56
  navigation: featureScreensNavigation,
57
57
  open: open,
58
+ mode: props.mode,
58
59
  internalToken: verifyToken,
59
- settingLoading: settingLoading
60
+ settingLoading: settingLoading,
61
+ operatorErrorScreenName: 'TAX_OPERATOR_ERROR_STEP',
62
+ isValidOperator: data.isValidOperator
60
63
  });
61
- var initialLoading = verifyToken ? settingLoading : settingLoading || customLoading;
62
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ open: open, isTapOrigin: isTapOrigin, loading: initialLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading ? 'none' : 'auto', isTapOrigin: isTapOrigin, open: open, error: error, loading: initialLoading, breakpoint: 'sm', screenId: activeScreen.name, merchantInfo: merchant, isMaturityExpress: isMaturityExpress, type: props.mode === 'content' ? 'CONTENT' : undefined, dialogEdgeFormat: data.appConfig.dialogEdgeFormat, features: appConfig.features }, { children: _jsx(FeatureContainer, __assign({ isMaturityExpress: isMaturityExpress }, { children: taxFeatureScreens.map(function (_a, index) {
64
+ var initialLoading = verifyToken && props.mode !== 'content' ? settingLoading : settingLoading || customLoading;
65
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ mode: props.mode, open: open, isTapOrigin: isTapOrigin, loading: initialLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading ? 'none' : 'auto', isTapOrigin: isTapOrigin, open: open, error: error, loading: initialLoading, loaderColor: loaderColor, breakpoint: 'sm', screenId: activeScreen.name, merchantInfo: merchant, isMaturityExpress: isMaturityExpress, type: props.mode === 'content' ? 'CONTENT' : undefined, dialogEdgeFormat: data.appConfig.dialogEdgeFormat, features: appConfig.features }, { children: _jsx(FeatureContainer, __assign({ mode: props.mode, isMaturityExpress: isMaturityExpress }, { children: taxFeatureScreens.map(function (_a, index) {
63
66
  var Element = _a.element, name = _a.name;
64
67
  var isActive = activeScreen.name === name;
65
68
  return (_jsx(Collapse, __assign({ in: isActive, timeout: { enter: 1000, exit: 800 } }, { children: _jsx(Element, {}) }), index));
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface OperatorErrorProps {
3
+ }
4
+ declare const _default: React.MemoExoticComponent<({}: OperatorErrorProps) => import("react/jsx-runtime").JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import GenericError from '../../../shared/GenericError';
5
+ var OperatorError = function (_a) {
6
+ var t = useTranslation().t;
7
+ return _jsx(GenericError, { error: t('operator_is_invalid'), errorTitle: t('oops') });
8
+ };
9
+ export default React.memo(OperatorError);
@@ -0,0 +1,3 @@
1
+ import OperatorError, { OperatorErrorProps } from './OperatorError';
2
+ export type { OperatorErrorProps };
3
+ export default OperatorError;
@@ -0,0 +1,2 @@
1
+ import OperatorError from './OperatorError';
2
+ export default OperatorError;
@@ -21,10 +21,10 @@ var SuccessWithFlowButtons = function () {
21
21
  var _a = useAppSelector(taxSelector), data = _a.data, loading = _a.loading;
22
22
  var settingsData = useAppSelector(settingsSelector).data;
23
23
  var isScopeAuthentication = settingsData.appConfig.scope === SCOPE_AUTH;
24
- var _b = data.verify.responseBody || {}, flows = _b.flows, entity = _b.entity, brand = _b.brand, bank = _b.bank_account, merchant = _b.merchant, user = _b.user, business = _b.business, board_id = _b.board_id, board_info_id = _b.board_info_id, name = _b.name, individuals = _b.individuals;
24
+ var _b = data.verify.responseBody || {}, flows = _b.flows, entity = _b.entity, brand = _b.brand, bank = _b.bank_account, merchant = _b.merchant, user = _b.user, business = _b.business, board_id = _b.board_id, board_info_id = _b.board_info_id, name = _b.name, individuals = _b.individuals, recipient = _b.recipient;
25
25
  var onClose = function () {
26
26
  dispatch(onCloseCompleteTax());
27
27
  };
28
- return (_jsx(SuccessFlowButtons, { flowName: data.flowName, loading: loading, bank: bank, brand: brand, entity: entity, merchant: merchant, user: __assign({ names: { en: name } }, user), business: business, boardId: board_id, boardInfoId: board_info_id, individuals: individuals, flows: flows || [], onClose: isScopeAuthentication ? onClose : undefined }));
28
+ return (_jsx(SuccessFlowButtons, { flowName: data.flowName, loading: loading, bank: bank, brand: brand, entity: entity, merchant: merchant, user: __assign({ names: { en: name } }, user), business: business, boardId: board_id, boardInfoId: board_info_id, individuals: individuals, flows: flows || [], onClose: isScopeAuthentication ? onClose : undefined, recipient: recipient }));
29
29
  };
30
30
  export default memo(SuccessWithFlowButtons);
@@ -16,7 +16,7 @@ import { useForm, FormProvider } from 'react-hook-form';
16
16
  import { yupResolver } from '@hookform/resolvers/yup';
17
17
  import { styled } from '@mui/material/styles';
18
18
  import Form from '../../../../components/Form';
19
- import { useAppDispatch, useLanguage, useAppSelector, useSetFromDefaultValues, useFormReadOnly, useDataNoneEditable, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids, useDataVerified } from '../../../../hooks';
19
+ import { useAppDispatch, useLanguage, useAppSelector, useSetFromDefaultValues, useFormReadOnly, useDataNoneEditable, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids, useDataVerified, useFormDirtyCheck } from '../../../../hooks';
20
20
  import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
21
21
  import { DocumentPurpose } from '../../../../@types';
22
22
  import { deepCopy, getFileDetailsFromDocument, isSA } from '../../../../utils';
@@ -55,13 +55,18 @@ var TaxDetails = function () {
55
55
  var noneEditable = useDataNoneEditable(data_status, ['tax_number', 'documents', 'is_vat_acknowledged']);
56
56
  var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly, noneEditable);
57
57
  var dataVerified = useDataVerified(data_verification, ['tax_number']);
58
+ var isDirty = useFormDirtyCheck(methods, {
59
+ vatId: entity === null || entity === void 0 ? void 0 : entity.vat_id,
60
+ confirmPolicy: entity === null || entity === void 0 ? void 0 : entity.is_vat_acknowledged
61
+ }).isDirty;
58
62
  var getFelids = useExcludeReadOnlyFelids(methods, readOnly).getFelids;
59
63
  var isVatIdVerified = dataVerified['tax_number'] && vat_id === methods.watch('vatId');
60
64
  var t = useTranslation().t;
61
65
  var isAr = useLanguage().isAr;
62
66
  var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
63
67
  var onSubmit = function (data) {
64
- dispatch(updateTaxInfo(deepCopy(getFelids(data))));
68
+ var formData = __assign(__assign({}, deepCopy(getFelids(data))), { isDirty: isDirty });
69
+ dispatch(updateTaxInfo(formData));
65
70
  };
66
71
  var onBack = function () {
67
72
  if ((flows === null || flows === void 0 ? void 0 : flows.length) > 0) {
@@ -46,9 +46,9 @@ var FormStyled = styled(Form)(function () { return ({
46
46
  flexDirection: 'column'
47
47
  }); });
48
48
  var VerifyNumber = function (_a) {
49
- var _b, _c, _d, _e;
49
+ var _b, _c;
50
50
  var dispatch = useAppDispatch();
51
- var _f = useAppSelector(taxSelector), data = _f.data, loading = _f.loading, error = _f.error;
51
+ var _d = useAppSelector(taxSelector), data = _d.data, loading = _d.loading, error = _d.error;
52
52
  var methods = useForm({
53
53
  resolver: yupResolver(OTPValidation),
54
54
  defaultValues: data.otpData,
@@ -57,8 +57,8 @@ var VerifyNumber = function (_a) {
57
57
  useSetFromDefaultValues(methods, data.otpData);
58
58
  var t = useTranslation().t;
59
59
  var isAr = useLanguage().isAr;
60
- var _g = React.useState(false), resendLoading = _g[0], setResendLoading = _g[1];
61
- var phone = (_e = (_d = (_c = (_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.contact) === null || _d === void 0 ? void 0 : _d.phone) === null || _e === void 0 ? void 0 : _e.number;
60
+ var _e = React.useState(false), resendLoading = _e[0], setResendLoading = _e[1];
61
+ var phone = (_c = (_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.verification_by) === null || _c === void 0 ? void 0 : _c.sent_to;
62
62
  React.useEffect(function () {
63
63
  if (error && methods.formState.isValid && phone)
64
64
  dispatch(clearError());
@@ -69,7 +69,7 @@ var VerifyNumber = function (_a) {
69
69
  var onSubmit = function (formData) {
70
70
  dispatch(verifyTaxLeadOTP(deepCopy(formData)));
71
71
  };
72
- var disabled = !methods.formState.isValid || !!error || !phone || resendLoading;
72
+ var disabled = !methods.formState.isValid || !phone || resendLoading;
73
73
  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'), !loading && phone && _jsx("span", __assign({ dir: 'ltr' }, { children: "".concat(maskPhone(phone || '')) }))] }) }), _jsx(OTPInput, { loading: resendLoading, setLoading: setResendLoading }), _jsx(Button, __assign({ disableBack: true, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
74
74
  };
75
75
  export default React.memo(VerifyNumber);
@@ -20,3 +20,4 @@ export * from './useDataNoneEditable';
20
20
  export * from './useFormErrorAndUpdateReadOnly';
21
21
  export * from './useExcludeReadOnlyFelids';
22
22
  export * from './useDataVerified';
23
+ export * from './useFormDirtyCheck';
@@ -20,3 +20,4 @@ export * from './useDataNoneEditable';
20
20
  export * from './useFormErrorAndUpdateReadOnly';
21
21
  export * from './useExcludeReadOnlyFelids';
22
22
  export * from './useDataVerified';
23
+ export * from './useFormDirtyCheck';
@@ -0,0 +1,10 @@
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ type UseFormWithDirtyCheck = {
3
+ isDirty: boolean;
4
+ };
5
+ type CustomAttrProps = {
6
+ name: string;
7
+ keys: string[];
8
+ };
9
+ export declare const useFormDirtyCheck: <TFieldValues extends FieldValues>(method: UseFormReturn<TFieldValues, any, undefined>, backendData: TFieldValues, customAttrs?: CustomAttrProps[]) => UseFormWithDirtyCheck;
10
+ export {};
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ import _ from 'lodash';
3
+ export var useFormDirtyCheck = function (method, backendData, customAttrs) {
4
+ var _a = React.useState(false), isDirty = _a[0], setIsDirty = _a[1];
5
+ var data = method.watch();
6
+ var isValidData = function (formValue, backendValue) {
7
+ if (_.isUndefined(formValue))
8
+ return false;
9
+ if (_.isArray(formValue) && formValue.length === 0)
10
+ return false;
11
+ if (_.isObject(formValue) && _.isEmpty(formValue))
12
+ return false;
13
+ if (formValue === '' && !backendValue)
14
+ return false;
15
+ return true;
16
+ };
17
+ var isArray = function (data, backendData) {
18
+ return backendData && data && _.isArray(backendData) && _.isArray(data);
19
+ };
20
+ var isObject = function (data, backendData) {
21
+ return backendData && data && _.isObject(data) && _.isObject(backendData);
22
+ };
23
+ var mapArrayOfObjectWithKeys = function (items, keys) {
24
+ return _.map(items, function (item) { return _.pick(item, keys); });
25
+ };
26
+ var mapObjectWithKeys = function (item, keys) {
27
+ return _.pick(item, keys);
28
+ };
29
+ var deepComparison = function (data, backendData, customAttrs) {
30
+ var _loop_1 = function (key) {
31
+ var formValue = data === null || data === void 0 ? void 0 : data[key];
32
+ var backEndValue = backendData === null || backendData === void 0 ? void 0 : backendData[key];
33
+ if (!isValidData(formValue, backEndValue))
34
+ return "continue";
35
+ var customAttr = customAttrs === null || customAttrs === void 0 ? void 0 : customAttrs.find(function (el) { return el.name === key; });
36
+ if (customAttr) {
37
+ var keys = customAttr.keys;
38
+ if (isArray(formValue, backEndValue)) {
39
+ formValue = mapArrayOfObjectWithKeys(formValue, keys);
40
+ backEndValue = mapArrayOfObjectWithKeys(backEndValue, keys);
41
+ if (formValue.length !== backEndValue.length)
42
+ return { value: true };
43
+ if (_.differenceWith(formValue, backEndValue, _.isEqual).length > 0)
44
+ return { value: true };
45
+ }
46
+ if (isObject(formValue, backEndValue)) {
47
+ formValue = mapObjectWithKeys(formValue, keys);
48
+ backEndValue = mapObjectWithKeys(backEndValue, keys);
49
+ }
50
+ }
51
+ if (!_.isEqual(formValue, backEndValue))
52
+ return { value: true };
53
+ };
54
+ for (var key in backendData) {
55
+ var state_1 = _loop_1(key);
56
+ if (typeof state_1 === "object")
57
+ return state_1.value;
58
+ }
59
+ return false;
60
+ };
61
+ React.useEffect(function () {
62
+ var isDirty = deepComparison(data, backendData, customAttrs);
63
+ setIsDirty(isDirty);
64
+ }, [data, backendData]);
65
+ return { isDirty: isDirty };
66
+ };
@@ -1,5 +1,5 @@
1
1
  import { ScreenStepNavigation } from '../@types';
2
- interface VerifyLeadTokenProps {
2
+ export interface VerifyLeadTokenProps {
3
3
  token: string;
4
4
  isInternally?: boolean;
5
5
  }
@@ -8,8 +8,11 @@ interface IVerifyToken {
8
8
  internalToken?: string;
9
9
  open: boolean;
10
10
  settingLoading: boolean;
11
+ isValidOperator: boolean;
11
12
  navigation: ScreenStepNavigation[];
12
13
  loadingScreenName: string;
14
+ operatorErrorScreenName: string;
15
+ mode?: 'popup' | 'page' | 'content';
13
16
  }
14
- export declare const useVerifyToken: ({ verify, internalToken, navigation, open, settingLoading, loadingScreenName }: IVerifyToken) => void;
17
+ export declare const useVerifyToken: ({ verify, internalToken, navigation, open, settingLoading, loadingScreenName, mode, isValidOperator, operatorErrorScreenName }: IVerifyToken) => void;
15
18
  export {};
@@ -3,7 +3,7 @@ import { getParameterByName } from '../utils';
3
3
  import { useAppDispatch } from './useAppDispatch';
4
4
  import { useEffect } from 'react';
5
5
  export var useVerifyToken = function (_a) {
6
- var verify = _a.verify, internalToken = _a.internalToken, navigation = _a.navigation, open = _a.open, settingLoading = _a.settingLoading, loadingScreenName = _a.loadingScreenName;
6
+ var verify = _a.verify, internalToken = _a.internalToken, navigation = _a.navigation, open = _a.open, settingLoading = _a.settingLoading, loadingScreenName = _a.loadingScreenName, mode = _a.mode, isValidOperator = _a.isValidOperator, operatorErrorScreenName = _a.operatorErrorScreenName;
7
7
  var dispatch = useAppDispatch();
8
8
  var verifyTokenFun = function () {
9
9
  var token = internalToken ? internalToken : getParameterByName('token');
@@ -15,11 +15,16 @@ export var useVerifyToken = function (_a) {
15
15
  dispatch(verify({ token: token, isInternally: !!internalToken }));
16
16
  };
17
17
  useEffect(function () {
18
- if (!settingLoading && open)
19
- verifyTokenFun();
20
- }, [settingLoading, open]);
18
+ if (settingLoading || !open)
19
+ return;
20
+ if (!isValidOperator) {
21
+ dispatch(handleCurrentActiveScreen(operatorErrorScreenName));
22
+ return;
23
+ }
24
+ verifyTokenFun();
25
+ }, [settingLoading, open, isValidOperator]);
21
26
  useEffect(function () {
22
- if (internalToken && open)
27
+ if (internalToken && open && mode !== 'content')
23
28
  dispatch(handleCurrentActiveScreen(loadingScreenName));
24
29
  }, [navigation]);
25
30
  };
@@ -1,5 +1,5 @@
1
1
  import { axiosInstance } from '../api';
2
- import { ENDPOINT_PATHS, CONNECT_SANDBOX_URL, CONNECT_BETA_URL } from '../constants';
2
+ import { ENDPOINT_PATHS, CONNECT_DEV_URL, CONNECT_PROD_URL } from '../constants';
3
3
  export var sleep = function (milliseconds) {
4
4
  if (milliseconds === void 0) { milliseconds = 1000; }
5
5
  return new Promise(function (resolve) { return setTimeout(resolve, milliseconds); });
@@ -13,10 +13,10 @@ export var dangerousMessage = function (message, callBack) {
13
13
  export var setBaseUrl = function (publicKey) {
14
14
  var isProd = publicKey.includes('pk_live');
15
15
  if (isProd) {
16
- axiosInstance.defaults.baseURL = ENDPOINT_PATHS.BETA_BASE_URL;
16
+ axiosInstance.defaults.baseURL = ENDPOINT_PATHS.PRODUCTION_BASE_URL;
17
17
  return;
18
18
  }
19
- axiosInstance.defaults.baseURL = ENDPOINT_PATHS.SANDBOX_BASE_URL;
19
+ axiosInstance.defaults.baseURL = ENDPOINT_PATHS.DEV_BASE_URL;
20
20
  };
21
21
  export var updateLocationUrlWithCountry = function (countryIso2) {
22
22
  var country = countryIso2.toLowerCase();
@@ -35,7 +35,7 @@ export var updateLocationUrlWithCountry = function (countryIso2) {
35
35
  window.history.replaceState({}, '', newUrl);
36
36
  };
37
37
  export var openConnect = function (pk, countryCode) {
38
- var newUrl = new URL(pk.includes('pk_live') ? CONNECT_BETA_URL : CONNECT_SANDBOX_URL);
38
+ var newUrl = new URL(pk.includes('pk_live') ? CONNECT_PROD_URL : CONNECT_DEV_URL);
39
39
  if (countryCode) {
40
40
  newUrl.pathname = "/".concat(countryCode.toLowerCase());
41
41
  }
@@ -1,7 +1,8 @@
1
1
  import { initReactI18next } from 'react-i18next';
2
2
  import i18n from '../i18n';
3
3
  export var updateLocale = function (locale, country) {
4
- var data = locale['SA'] || locale[country.toUpperCase()] || locale['default'];
4
+ var _a;
5
+ var data = (_a = locale[country.toUpperCase()]) !== null && _a !== void 0 ? _a : (locale['SA'] || locale['default']);
5
6
  if (i18n.isInitialized) {
6
7
  i18n.removeResourceBundle('*', 'translation');
7
8
  i18n.addResourceBundle('en', 'translation', data.en.translation);
@@ -15,7 +15,7 @@ export declare const convertNumbers2English: (str: string) => string;
15
15
  export declare const getParameterByName: (name: string) => string | null;
16
16
  export declare const getClientEmailUrl: () => string;
17
17
  export declare const getFlowUrl: (path: string, lang: string) => string;
18
- export declare const getResetFlowUrl: (path: string, lang: string, operationType: string, id: string, infoId: string) => string;
18
+ export declare const getResetFlowUrl: (path: string, lang: string, operationType: string, id: string, infoId: string, userId: string, userType: string) => string;
19
19
  export declare const capitalizeTheFirstLetterOfEachWord: (words: string) => string;
20
20
  export declare const getRequestHeaders: (deviceInfo: DeviceInfo) => {
21
21
  al: any;
@@ -41,11 +41,13 @@ export declare const getRequestHeaders: (deviceInfo: DeviceInfo) => {
41
41
  l: any;
42
42
  };
43
43
  export declare const removeRequestHeaders: () => void;
44
- export declare const getScreenNameBasedOnFlow: (flow: string, isAuthorizedUser?: boolean) => "CONNECT_NID_STEP" | "" | "BUSINESS_BUSINESS_TYPE_STEP" | "INDIVIDUAL_PERSONAL_INDIVIDUAL_INFO_STEP" | "INDIVIDUAL_LIST_STEP" | "BANK_BANK_DETAILS_STEP" | "TAX_TAX_DETAILS_STEP" | "ENTITY_NAME_STEP" | "BRAND_INFO_STEP";
44
+ export declare const getBaseUrl: () => string;
45
+ export declare const getScreenNameBasedOnFlow: (flow: string, isAuthorizedUser?: boolean, isOtherThanSAOrKWCountry?: boolean) => "CONNECT_NID_STEP" | "" | "BUSINESS_BUSINESS_TYPE_STEP" | "INDIVIDUAL_PERSONAL_INDIVIDUAL_INFO_STEP" | "INDIVIDUAL_LIST_STEP" | "PASSWORD_CREATE_PASSWORD_STEP" | "BANK_BANK_DETAILS_STEP" | "TAX_TAX_DETAILS_STEP" | "ENTITY_NAME_STEP" | "BRAND_INFO_STEP";
45
46
  export declare const getEighteenYearsAgo: () => string;
46
47
  export declare const isKW: (flag: string) => boolean;
47
48
  export declare const isSA: (flag: string) => boolean;
48
49
  export declare const isOtherThanKWOrSA: (flag: string) => boolean;
50
+ export declare const isKWOrSA: (flag: string) => boolean;
49
51
  export declare const isLinkedIn: (flag: string) => boolean;
50
52
  export declare const isTwitter: (flag: string) => boolean;
51
53
  export declare const isWebsite: (flag: string) => boolean;
@@ -72,3 +74,4 @@ export declare const getFileType: (type: string) => "" | "image/jpeg" | "image/p
72
74
  export declare const isStringHasOneAsterisk: (value: string) => boolean;
73
75
  export declare const isOtherLicense: (item?: License) => boolean;
74
76
  export declare const formatNumberAsCurrency: (number: string) => string;
77
+ export declare const getCurrencyByCountryIso2: (countryCode: string) => string;
@@ -1,7 +1,7 @@
1
1
  import { FlowsTypes } from '../@types';
2
2
  import { concatenateObjectValues, encryptString } from '.';
3
3
  import { removeAxiosGlobalHeaders } from '../api';
4
- import { ICONS_FULL_PATH } from '../constants';
4
+ import { COUNTRY_TO_CURRENCY, ENDPOINT_PATHS, ICONS_FULL_PATH } from '../constants';
5
5
  import moment from 'moment';
6
6
  export var maskPhone = function (str) {
7
7
  if (str === void 0) { str = ''; }
@@ -94,9 +94,12 @@ export var getFlowUrl = function (path, lang) {
94
94
  var origin = window.location.origin;
95
95
  return origin + path + "?lang=".concat(lang, "&token=");
96
96
  };
97
- export var getResetFlowUrl = function (path, lang, operationType, id, infoId) {
97
+ export var getResetFlowUrl = function (path, lang, operationType, id, infoId, userId, userType) {
98
98
  var origin = window.location.origin;
99
- return origin + path + "?lang=".concat(lang, "&operation_type=").concat(operationType, "&board_id=").concat(id, "&board_info_id=").concat(infoId, "&token=");
99
+ var baseUrl = origin + path + "?lang=".concat(lang, "&operation_type=").concat(operationType, "&board_id=").concat(id, "&board_info_id=").concat(infoId);
100
+ if (userId && userType)
101
+ baseUrl = baseUrl + "&user_id=".concat(userId, "&user_type=").concat(userType);
102
+ return baseUrl + "&token=";
100
103
  };
101
104
  export var capitalizeTheFirstLetterOfEachWord = function (words) {
102
105
  var separateWord = words.toLowerCase().split(' ');
@@ -159,7 +162,20 @@ export var removeRequestHeaders = function () {
159
162
  'authorization'
160
163
  ]);
161
164
  };
162
- export var getScreenNameBasedOnFlow = function (flow, isAuthorizedUser) {
165
+ export var getBaseUrl = function () {
166
+ var origin = window.location.origin;
167
+ if (origin.includes('localhost')) {
168
+ return ENDPOINT_PATHS.DEV_BASE_URL;
169
+ }
170
+ if (origin.includes('dev')) {
171
+ return ENDPOINT_PATHS.DEV_BASE_URL;
172
+ }
173
+ if (origin.includes('sandbox')) {
174
+ return ENDPOINT_PATHS.SANDBOX_BASE_URL;
175
+ }
176
+ return ENDPOINT_PATHS.PRODUCTION_BASE_URL;
177
+ };
178
+ export var getScreenNameBasedOnFlow = function (flow, isAuthorizedUser, isOtherThanSAOrKWCountry) {
163
179
  if (flow === FlowsTypes.BANK) {
164
180
  return 'BANK_BANK_DETAILS_STEP';
165
181
  }
@@ -167,7 +183,7 @@ export var getScreenNameBasedOnFlow = function (flow, isAuthorizedUser) {
167
183
  return 'BUSINESS_BUSINESS_TYPE_STEP';
168
184
  }
169
185
  if (flow === FlowsTypes.INDIVIDUAL) {
170
- return isAuthorizedUser ? 'INDIVIDUAL_LIST_STEP' : 'INDIVIDUAL_PERSONAL_INDIVIDUAL_INFO_STEP';
186
+ return isAuthorizedUser || isOtherThanSAOrKWCountry ? 'INDIVIDUAL_LIST_STEP' : 'INDIVIDUAL_PERSONAL_INDIVIDUAL_INFO_STEP';
171
187
  }
172
188
  if (flow === FlowsTypes.CONNECT) {
173
189
  return 'CONNECT_NID_STEP';
@@ -181,6 +197,9 @@ export var getScreenNameBasedOnFlow = function (flow, isAuthorizedUser) {
181
197
  if (flow === FlowsTypes.ENTITY) {
182
198
  return 'ENTITY_NAME_STEP';
183
199
  }
200
+ if (flow === FlowsTypes.PASSWORD) {
201
+ return 'PASSWORD_CREATE_PASSWORD_STEP';
202
+ }
184
203
  return '';
185
204
  };
186
205
  export var getEighteenYearsAgo = function () {
@@ -196,6 +215,9 @@ export var isSA = function (flag) {
196
215
  export var isOtherThanKWOrSA = function (flag) {
197
216
  return !isKW(flag) && !isSA(flag);
198
217
  };
218
+ export var isKWOrSA = function (flag) {
219
+ return isKW(flag) || isSA(flag);
220
+ };
199
221
  export var isLinkedIn = function (flag) {
200
222
  return 'linkedin' === (flag === null || flag === void 0 ? void 0 : flag.toLowerCase());
201
223
  };
@@ -303,3 +325,10 @@ export var formatNumberAsCurrency = function (number) {
303
325
  return '';
304
326
  return parseInt(number).toLocaleString();
305
327
  };
328
+ export var getCurrencyByCountryIso2 = function (countryCode) {
329
+ var _a;
330
+ if (!countryCode)
331
+ return '';
332
+ var currencyCode = (_a = COUNTRY_TO_CURRENCY[countryCode]) !== null && _a !== void 0 ? _a : '';
333
+ return currencyCode;
334
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.8.55-beta",
3
+ "version": "2.8.55-development",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",
@@ -21,7 +21,7 @@
21
21
  "copy:files": "copyfiles -u 1 src/**/*.css build/",
22
22
  "tsc:alias": "tsc-alias -p tsconfig.json",
23
23
  "ts:build": "rm -rf build && tsc -p tsconfig.json && tsc-alias -p tsconfig.json && yarn copy:files",
24
- "push": "npm publish --access public --tag beta"
24
+ "push": "npm publish --access public --tag development"
25
25
  },
26
26
  "keywords": [],
27
27
  "author": {