@tap-payments/auth-jsconnect 2.1.56-test → 2.1.59-test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +34 -34
  2. package/build/@types/app.d.ts +1 -0
  3. package/build/app/settings.d.ts +0 -1
  4. package/build/app/settings.js +6 -16
  5. package/build/assets/locales/ar.json +3 -1
  6. package/build/assets/locales/en.json +3 -1
  7. package/build/constants/app.js +32 -2
  8. package/build/features/app/bank/bankStore.d.ts +5 -1
  9. package/build/features/app/bank/bankStore.js +62 -57
  10. package/build/features/app/brand/brandStore.d.ts +5 -1
  11. package/build/features/app/brand/brandStore.js +70 -65
  12. package/build/features/app/connectExpress/connectExpressStore.js +9 -3
  13. package/build/features/app/entity/entityStore.d.ts +5 -1
  14. package/build/features/app/entity/entityStore.js +75 -70
  15. package/build/features/app/individual/individualStore.d.ts +5 -1
  16. package/build/features/app/individual/individualStore.js +88 -83
  17. package/build/features/app/tax/taxStore.d.ts +5 -1
  18. package/build/features/app/tax/taxStore.js +51 -46
  19. package/build/features/auth/Auth.d.ts +3 -2
  20. package/build/features/auth/Auth.js +5 -13
  21. package/build/features/bank/Bank.d.ts +4 -2
  22. package/build/features/bank/Bank.js +35 -35
  23. package/build/features/bank/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  24. package/build/features/bank/screens/PrepareDataLoading/PrepareDataLoading.js +7 -0
  25. package/build/features/bank/screens/PrepareDataLoading/index.d.ts +2 -0
  26. package/build/features/bank/screens/PrepareDataLoading/index.js +2 -0
  27. package/build/features/bank/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  28. package/build/features/brand/Brand.d.ts +4 -2
  29. package/build/features/brand/Brand.js +35 -34
  30. package/build/features/brand/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  31. package/build/features/brand/screens/PrepareDataLoading/PrepareDataLoading.js +7 -0
  32. package/build/features/brand/screens/PrepareDataLoading/index.d.ts +2 -0
  33. package/build/features/brand/screens/PrepareDataLoading/index.js +2 -0
  34. package/build/features/brand/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  35. package/build/features/business/Business.d.ts +3 -2
  36. package/build/features/business/Business.js +5 -13
  37. package/build/features/business/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -98
  38. package/build/features/connect/Connect.d.ts +3 -2
  39. package/build/features/connect/Connect.js +5 -13
  40. package/build/features/connectExpress/ConnectExpress.d.ts +0 -1
  41. package/build/features/connectExpress/ConnectExpress.js +3 -6
  42. package/build/features/connectExpress/screens/CreateAccountLoader/CreateAccountLoader.js +1 -1
  43. package/build/features/connectExpress/screens/Mobile/Mobile.js +6 -3
  44. package/build/features/connectExpress/screens/Mobile/MobileNumber.js +6 -9
  45. package/build/features/connectExpress/screens/NID/IDNumber.js +7 -2
  46. package/build/features/connectExpress/screens/NID/NID.js +6 -5
  47. package/build/features/connectExpress/screens/NIDMissed/IDNumber.js +3 -7
  48. package/build/features/connectExpress/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +8 -100
  49. package/build/features/entity/Entity.d.ts +4 -2
  50. package/build/features/entity/Entity.js +35 -36
  51. package/build/features/entity/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  52. package/build/features/entity/screens/PrepareDataLoading/PrepareDataLoading.js +7 -0
  53. package/build/features/entity/screens/PrepareDataLoading/index.d.ts +2 -0
  54. package/build/features/entity/screens/PrepareDataLoading/index.js +2 -0
  55. package/build/features/entity/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  56. package/build/features/featuresScreens.js +25 -0
  57. package/build/features/individual/Individual.d.ts +4 -2
  58. package/build/features/individual/Individual.js +35 -36
  59. package/build/features/individual/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  60. package/build/features/individual/screens/PrepareDataLoading/PrepareDataLoading.js +7 -0
  61. package/build/features/individual/screens/PrepareDataLoading/index.d.ts +2 -0
  62. package/build/features/individual/screens/PrepareDataLoading/index.js +2 -0
  63. package/build/features/individual/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  64. package/build/features/password/Password.d.ts +4 -2
  65. package/build/features/password/Password.js +5 -13
  66. package/build/features/password/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  67. package/build/features/shared/Button/FlowsButtons.d.ts +1 -0
  68. package/build/features/shared/Button/FlowsButtons.js +6 -4
  69. package/build/features/shared/DataLoading/DataLoading.d.ts +5 -0
  70. package/build/features/shared/DataLoading/DataLoading.js +55 -0
  71. package/build/features/shared/DataLoading/index.d.ts +2 -0
  72. package/build/features/shared/DataLoading/index.js +2 -0
  73. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +2 -1
  74. package/build/features/signIn/SignIn.d.ts +3 -2
  75. package/build/features/signIn/SignIn.js +4 -13
  76. package/build/features/tax/Tax.d.ts +4 -2
  77. package/build/features/tax/Tax.js +35 -37
  78. package/build/features/tax/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  79. package/build/features/tax/screens/PrepareDataLoading/PrepareDataLoading.js +7 -0
  80. package/build/features/tax/screens/PrepareDataLoading/index.d.ts +2 -0
  81. package/build/features/tax/screens/PrepareDataLoading/index.js +2 -0
  82. package/build/features/tax/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -99
  83. package/build/hooks/index.d.ts +1 -0
  84. package/build/hooks/index.js +1 -0
  85. package/build/hooks/useAppConfig.d.ts +2 -2
  86. package/build/hooks/useAppConfig.js +5 -3
  87. package/build/hooks/useVerifyToken.d.ts +15 -0
  88. package/build/hooks/useVerifyToken.js +25 -0
  89. package/build/index.d.ts +11 -11
  90. package/build/index.js +12 -22
  91. package/package.json +1 -1
  92. package/build/features/connectExpress/screens/Brand/Brand.d.ts +0 -0
  93. package/build/features/connectExpress/screens/Brand/Brand.js +0 -1
  94. package/build/features/connectExpress/screens/Brand/BrandList.d.ts +0 -10
  95. package/build/features/connectExpress/screens/Brand/BrandList.js +0 -106
  96. package/build/features/connectExpress/screens/Brand/BrandName.d.ts +0 -8
  97. package/build/features/connectExpress/screens/Brand/BrandName.js +0 -142
  98. package/build/features/connectExpress/screens/Brand/SalesChannels.d.ts +0 -5
  99. package/build/features/connectExpress/screens/Brand/SalesChannels.js +0 -38
  100. package/build/features/connectExpress/screens/Brand/Segments.d.ts +0 -8
  101. package/build/features/connectExpress/screens/Brand/Segments.js +0 -74
  102. package/build/features/connectExpress/screens/Brand/TAC.d.ts +0 -6
  103. package/build/features/connectExpress/screens/Brand/TAC.js +0 -84
  104. package/build/features/connectExpress/screens/Brand/TeamSize.d.ts +0 -8
  105. package/build/features/connectExpress/screens/Brand/TeamSize.js +0 -74
  106. package/build/features/connectExpress/screens/Brand/index.d.ts +0 -0
  107. package/build/features/connectExpress/screens/Brand/index.js +0 -1
  108. package/build/features/connectExpress/screens/Brand/validation.d.ts +0 -38
  109. package/build/features/connectExpress/screens/Brand/validation.js +0 -134
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ import DataLoading from '../../../shared/DataLoading';
4
+ export var PrepareDataLoading = function () {
5
+ return _jsx(DataLoading, {});
6
+ };
7
+ export default memo(PrepareDataLoading);
@@ -0,0 +1,2 @@
1
+ import PrepareDataLoading from './PrepareDataLoading';
2
+ export default PrepareDataLoading;
@@ -0,0 +1,2 @@
1
+ import PrepareDataLoading from './PrepareDataLoading';
2
+ export default PrepareDataLoading;
@@ -9,107 +9,14 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
- import { memo, useEffect, useState } from 'react';
14
- import { useTranslation } from 'react-i18next';
15
- import { styled } from '@mui/material/styles';
16
- import { FlowsButtons } from '../../../shared/Button';
17
- import { ICONS_NAMES, PASSWORD_OPERATION_TYPE } from '../../../../constants';
18
- import { useAppSelector, useLanguage } from '../../../../hooks';
19
- import { concatenateObjectValues, getResetFlowUrl, shortenBrand, shortenString, showLastFour } from '../../../../utils';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { memo } from 'react';
14
+ import { useAppSelector } from '../../../../hooks';
20
15
  import { entitySelector } from '../../../app/entity/entityStore';
21
- import Box from '@mui/material/Box';
22
- import Text from '../../../../components/Text';
23
- import Container from '../../../shared/Containers/ScreenContainer';
24
- import AcceptancePayouts from '../../../shared/AcceptancePayouts';
25
- import { settingsSelector } from '../../../../app/settings';
26
- var TitleStyled = styled(Text)(function (_a) {
27
- var _b;
28
- var theme = _a.theme;
29
- return (__assign(__assign({}, theme.typography.body1), (_b = { fontWeight: theme.typography.fontWeightBold, color: theme.palette.text.primary, lineHeight: 1.75, paddingBottom: theme.spacing(3) }, _b[theme.breakpoints.down('sm')] = {}, _b)));
30
- });
31
- var ContainerStyled = styled(Container)(function (_a) {
32
- var theme = _a.theme;
33
- return ({
34
- justifyContent: 'space-between',
35
- minHeight: theme.spacing(30),
36
- alignItems: 'center'
37
- });
38
- });
39
- var ButtonGroupStyled = styled(Box)(function (_a) {
40
- var theme = _a.theme;
41
- return ({
42
- width: '100%',
43
- paddingTop: theme.spacing(3)
44
- });
45
- });
16
+ import SuccessFlowButtons from '../../../shared/SuccessFlowButtons';
46
17
  var SuccessWithFlowButtons = function () {
47
- var _a, _b, _c, _d, _e, _f;
48
- var t = useTranslation().t;
49
- var isAr = useLanguage().isAr;
50
18
  var data = useAppSelector(entitySelector).data;
51
- var _g = data.verify.responseBody || {}, flows = _g.flows, entity = _g.entity, brand = _g.brand, bank = _g.bank, merchant = _g.merchant, vatID = _g.vatID, user = _g.user, business = _g.business;
52
- var _h = useState([]), buttons = _h[0], setButtons = _h[1];
53
- var _j = (user === null || user === void 0 ? void 0 : user.names) || {}, en = _j.en, ar = _j.ar;
54
- var username = isAr ? concatenateObjectValues(ar, ['first', 'last']) : concatenateObjectValues(en, ['first', 'last']);
55
- var licenseNumber = ((_a = entity === null || entity === void 0 ? void 0 : entity.license) === null || _a === void 0 ? void 0 : _a.number) || '';
56
- var bankName = shortenString(bank === null || bank === void 0 ? void 0 : bank.bank_name, 20) || t('bank');
57
- var iban = showLastFour((bank === null || bank === void 0 ? void 0 : bank.iban) || '');
58
- var taxID = (entity === null || entity === void 0 ? void 0 : entity.vat_id) || '';
59
- var brandName = (isAr ? (_b = brand === null || brand === void 0 ? void 0 : brand.name) === null || _b === void 0 ? void 0 : _b.ar : (_c = brand === null || brand === void 0 ? void 0 : brand.name) === null || _c === void 0 ? void 0 : _c.en) || '';
60
- var entityLegalName = shortenString(isAr ? (_d = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _d === void 0 ? void 0 : _d.ar : (_e = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _e === void 0 ? void 0 : _e.en, 20) || '';
61
- var isAcceptance = merchant === null || merchant === void 0 ? void 0 : merchant.is_acceptance_allowed;
62
- var isPayout = merchant === null || merchant === void 0 ? void 0 : merchant.is_payout_allowed;
63
- var identification = (user || {}).identification;
64
- var maskedId = (identification === null || identification === void 0 ? void 0 : identification.id) ? " ".concat(t('masking_symbols')).concat((_f = identification === null || identification === void 0 ? void 0 : identification.id) === null || _f === void 0 ? void 0 : _f.slice(-2)) : '';
65
- var settings = useAppSelector(settingsSelector);
66
- var _k = data.verify.responseBody || { contact: {}, board_id: '' }, board_id = _k.board_id, board_info_id = _k.board_info_id;
67
- var contact = business === null || business === void 0 ? void 0 : business.primary_contact;
68
- var email = (contact || { email: '' }).email;
69
- var url = getResetFlowUrl('/password', settings.data.language, PASSWORD_OPERATION_TYPE.RESET_PASSWORD, board_id, board_info_id);
70
- var reMapFlowData = function (flows) {
71
- if (flows === void 0) { flows = []; }
72
- var images = ICONS_NAMES;
73
- var mappedFlows = flows
74
- .filter(function (item) { return item.name; })
75
- .map(function (_a) {
76
- var name = _a.name, url = _a.url, status = _a.status;
77
- var type = status === 'initiated' || status === 'in_progress' ? 'pending' : 'completed';
78
- var title = t("".concat(name, "_flow_").concat(type), {
79
- individual_name: username.toLowerCase() + maskedId,
80
- business_type: entityLegalName,
81
- brand: brandName,
82
- license_number: licenseNumber ? t('masking_symbols') + showLastFour(licenseNumber) : '',
83
- bank_name: bankName,
84
- iban: iban ? t('masking_symbols') + iban : '',
85
- tax_id: taxID ? t('masking_symbols') + showLastFour(taxID) : ''
86
- });
87
- var isCompleted = status === 'completed' && name !== 'password';
88
- var isIndividual = name === 'individual';
89
- var src = isCompleted ? "".concat(name, "_green_icon") : "".concat(name, "_filled_icon");
90
- var hoverSrc = "".concat(name, "_white_icon");
91
- return {
92
- name: name,
93
- status: status,
94
- title: title,
95
- href: url,
96
- src: images[src],
97
- hoverSrc: images[hoverSrc],
98
- isCompleted: isCompleted,
99
- sx: isIndividual ? { textTransform: 'capitalize' } : {}
100
- };
101
- });
102
- setButtons(mappedFlows);
103
- };
104
- useEffect(function () {
105
- if ((flows === null || flows === void 0 ? void 0 : flows.length) > 0)
106
- reMapFlowData(flows);
107
- }, [flows, isAr]);
108
- return (_jsxs(ContainerStyled, { children: [_jsxs(TitleStyled, { children: [t('account_details'), " "] }), _jsx(AcceptancePayouts, { showAcceptance: isAcceptance, showPayout: isPayout }), _jsx(ButtonGroupStyled, { children: _jsx(FlowsButtons, { buttons: buttons, data: {
109
- flowName: data.flowName,
110
- email: email,
111
- emailUrl: url,
112
- brandName: shortenBrand(brandName)
113
- } }) })] }));
19
+ var _a = data.verify.responseBody || {}, flows = _a.flows, entity = _a.entity, brand = _a.brand, bank = _a.bank_account, merchant = _a.merchant, user = _a.user, business = _a.business, board_id = _a.board_id, board_info_id = _a.board_info_id, name = _a.name;
20
+ return (_jsx(SuccessFlowButtons, { flowName: data.flowName, bank: bank, brand: brand, entity: entity, merchant: merchant, user: __assign({ names: { en: name } }, user), business: business, boardId: board_id, boardInfoId: board_info_id, flows: flows || [] }));
114
21
  };
115
22
  export default memo(SuccessWithFlowButtons);
@@ -42,16 +42,19 @@ import AdditionalIndividualInfoPage from './individual/screens/AdditionalIndivid
42
42
  import SuccessOwnerPage from './individual/screens/Success';
43
43
  import IndividualSuccessWithFlowPage from './individual/screens/SuccessWithFlowButtons';
44
44
  import IndividualResetPasswordSuccessPage from './individual/screens/ResetPasswordSuccess';
45
+ import IndividualDataLoadingPage from './individual/screens/PrepareDataLoading';
45
46
  import BankVerifyPage from './bank/screens/Verify';
46
47
  import BankDetailsPage from './bank/screens/BankDetails';
47
48
  import BankSuccessPage from './bank/screens/Success';
48
49
  import BankSuccessWithFlowPage from './bank/screens/SuccessWithFlowButtons';
49
50
  import BankResetPasswordSuccessPage from './bank/screens/ResetPasswordSuccess';
51
+ import BankDataLoadingPage from './bank/screens/PrepareDataLoading';
50
52
  import TaxVerifyPage from './tax/screens/Verify';
51
53
  import TaxDetailsPage from './tax/screens/TaxDetails';
52
54
  import TaxSuccessPage from './tax/screens/Success';
53
55
  import TaxSuccessWithFlowPage from './tax/screens/SuccessWithFlowButtons';
54
56
  import TaxResetPasswordSuccessPage from './tax/screens/ResetPasswordSuccess';
57
+ import TaxDataLoadingPage from './tax/screens/PrepareDataLoading';
55
58
  import SignInMobilePage from './signIn/screens/Mobile';
56
59
  import SignInEmailPage from './signIn/screens/Email';
57
60
  import SignInOTPPage from './signIn/screens/OTP';
@@ -62,12 +65,14 @@ import EntityCapitalPage from './entity/screens/EntityCapital';
62
65
  import EntitySuccessPage from './entity/screens/Success';
63
66
  import EntitySuccessWithFlowPage from './entity/screens/SuccessWithFlowButtons';
64
67
  import EntityResetPasswordSuccessPage from './entity/screens/ResetPasswordSuccess';
68
+ import EntityDataLoadingPage from './entity/screens/PrepareDataLoading';
65
69
  import BrandVerifyPage from './brand/screens/Verify';
66
70
  import BrandInfoPage from './brand/screens/BrandInfo';
67
71
  import BrandActivitiesPage from './brand/screens/BrandActivities';
68
72
  import BrandSuccessPage from './brand/screens/Success';
69
73
  import BrandSuccessWithFlowPage from './brand/screens/SuccessWithFlowButtons';
70
74
  import BrandResetPasswordSuccessPage from './brand/screens/ResetPasswordSuccess';
75
+ import BrandDataLoadingPage from './brand/screens/PrepareDataLoading';
71
76
  import AuthNIDPage from './auth/screens/NID';
72
77
  import AuthVerifyPage from './auth/screens/OTP';
73
78
  export var connectFeatureScreens = [
@@ -227,6 +232,10 @@ export var individualFeatureScreens = [
227
232
  name: 'INDIVIDUAL_VERIFY_STEP',
228
233
  element: IndividualVerifyPage
229
234
  },
235
+ {
236
+ name: 'INDIVIDUAL_LOADING_DATA_STEP',
237
+ element: IndividualDataLoadingPage
238
+ },
230
239
  {
231
240
  name: 'INDIVIDUAL_ADDITIONAL_INDIVIDUAL_INFO_STEP',
232
241
  element: AdditionalIndividualInfoPage
@@ -246,6 +255,10 @@ export var bankFeatureScreens = [
246
255
  name: 'BANK_VERIFY_STEP',
247
256
  element: BankVerifyPage
248
257
  },
258
+ {
259
+ name: 'BANK_LOADING_DATA_STEP',
260
+ element: BankDataLoadingPage
261
+ },
249
262
  {
250
263
  name: 'BANK_BANK_DETAILS_STEP',
251
264
  element: BankDetailsPage
@@ -265,6 +278,10 @@ export var taxFeatureScreens = [
265
278
  name: 'TAX_VERIFY_STEP',
266
279
  element: TaxVerifyPage
267
280
  },
281
+ {
282
+ name: 'TAX_LOADING_DATA_STEP',
283
+ element: TaxDataLoadingPage
284
+ },
268
285
  {
269
286
  name: 'TAX_TAX_DETAILS_STEP',
270
287
  element: TaxDetailsPage
@@ -302,6 +319,10 @@ export var entityFeatureScreens = [
302
319
  name: 'ENTITY_VERIFY_STEP',
303
320
  element: EntityVerifyPage
304
321
  },
322
+ {
323
+ name: 'ENTITY_LOADING_DATA_STEP',
324
+ element: EntityDataLoadingPage
325
+ },
305
326
  {
306
327
  name: 'ENTITY_NAME_STEP',
307
328
  element: EntityNamePage
@@ -335,6 +356,10 @@ export var brandFeatureScreens = [
335
356
  name: 'BRAND_VERIFY_STEP',
336
357
  element: BrandVerifyPage
337
358
  },
359
+ {
360
+ name: 'BRAND_LOADING_DATA_STEP',
361
+ element: BrandDataLoadingPage
362
+ },
338
363
  {
339
364
  name: 'BRAND_INFO_STEP',
340
365
  element: BrandInfoPage
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { LibConfig } from '../../@types';
3
3
  export interface IndividualLibProps extends LibConfig {
4
+ verifyToken?: string;
4
5
  }
5
6
  export declare function IndividualLib(props: IndividualLibProps): JSX.Element;
6
- export declare function renderIndividualLib(config: IndividualLibProps, elementId: string): void;
7
- export declare function unmountIndividualLib(elementId: string, unmountTimeout?: number): void;
7
+ export declare function renderIndividualLib(config: IndividualLibProps, elementId: string): {
8
+ unmount: () => void;
9
+ };
@@ -9,44 +9,51 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
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
+ };
12
23
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { memo, useEffect } from 'react';
14
- import { useAppTheme, useAppDispatch, useAppSelector, useAppConfig, useErrorListener, useStepStartedListener } from '../../hooks';
15
- import { handleLanguage, settingsSelector } from '../../app/settings';
24
+ import { memo } from 'react';
25
+ import { useAppTheme, useAppSelector, useAppConfig, useErrorListener, useStepStartedListener, useVerifyToken } from '../../hooks';
26
+ import { settingsSelector } from '../../app/settings';
16
27
  import AnimationFlow from '../../components/AnimationFlow';
17
28
  import { store } from '../../app/store';
18
29
  import { ReduxProvider, ThemeProvider } from '../../components/Providers';
19
30
  import Collapse from '../../components/Collapse';
20
- import { getParameterByName, reactElement, removeElement } from '../../utils';
31
+ import { reactElement } from '../../utils';
21
32
  import { FeatureContainer } from '../shared/Containers';
22
- import { DIALOG_ID, INDIVIDUAL_SCREENS_NAVIGATION } from '../../constants';
33
+ import { INDIVIDUAL_SCREENS_NAVIGATION } from '../../constants';
23
34
  import { individualFeatureScreens } from '../featuresScreens';
24
35
  import { individualSelector, verifyLeadToken } from '../app/individual/individualStore';
25
36
  import CustomFooter from '../shared/Footer';
26
37
  import Background from '../shared/Background';
27
- var Individual = memo(function (props) {
38
+ var Individual = memo(function (_a) {
39
+ var verifyToken = _a.verifyToken, props = __rest(_a, ["verifyToken"]);
28
40
  var theme = useAppTheme().theme;
29
- var dispatch = useAppDispatch();
30
- var _a = useAppSelector(settingsSelector), data = _a.data, error = _a.error, settingLoading = _a.loading;
31
- var _b = useAppSelector(individualSelector), customLoading = _b.customLoading, individualError = _b.error, loading = _b.loading;
32
- useAppConfig(__assign({ navigation: INDIVIDUAL_SCREENS_NAVIGATION }, props));
41
+ var _b = useAppSelector(settingsSelector), data = _b.data, error = _b.error, settingLoading = _b.loading;
42
+ var _c = useAppSelector(individualSelector), customLoading = _c.customLoading, individualError = _c.error, loading = _c.loading;
43
+ useAppConfig(__assign(__assign({ navigation: INDIVIDUAL_SCREENS_NAVIGATION }, props), { disableSettingFetching: !!verifyToken }));
33
44
  useErrorListener(individualError || error);
34
45
  useStepStartedListener();
35
- var activeScreen = data.activeScreen, isTapOrigin = data.isTapOrigin, open = data.open;
36
- var verifyToken = function () {
37
- var token = getParameterByName('token');
38
- var lang = getParameterByName('lang');
39
- if (lang)
40
- dispatch(handleLanguage(lang));
41
- if (!token)
42
- throw new Error('Auth token is not found!');
43
- dispatch(verifyLeadToken(token));
44
- };
45
- useEffect(function () {
46
- if (!settingLoading && open)
47
- verifyToken();
48
- }, [settingLoading]);
49
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ open: open, isTapOrigin: isTapOrigin, loading: settingLoading || customLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading ? 'none' : 'auto', isTapOrigin: isTapOrigin, loading: settingLoading || customLoading, error: error, open: open, breakpoint: 'sm', footer: _jsx(CustomFooter, {}), screenId: activeScreen.name }, { children: _jsx(FeatureContainer, { children: individualFeatureScreens.map(function (_a, index) {
46
+ var activeScreen = data.activeScreen, isTapOrigin = data.isTapOrigin, open = data.open, featureScreensNavigation = data.featureScreensNavigation;
47
+ useVerifyToken({
48
+ verify: verifyLeadToken,
49
+ loadingScreenName: 'INDIVIDUAL_LOADING_DATA_STEP',
50
+ navigation: featureScreensNavigation,
51
+ open: open,
52
+ internalToken: verifyToken,
53
+ settingLoading: settingLoading
54
+ });
55
+ var initialLoading = verifyToken ? settingLoading : settingLoading || customLoading;
56
+ 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, loading: initialLoading, error: error, open: open, breakpoint: 'sm', footer: _jsx(CustomFooter, {}), screenId: activeScreen.name }, { children: _jsx(FeatureContainer, { children: individualFeatureScreens.map(function (_a, index) {
50
57
  var Element = _a.element, name = _a.name;
51
58
  var isActive = activeScreen.name === name;
52
59
  return (_jsx(Collapse, __assign({ in: isActive, timeout: { enter: 1000, exit: 800 } }, { children: _jsx(Element, {}) }), index));
@@ -56,15 +63,7 @@ export function IndividualLib(props) {
56
63
  return (_jsx(ReduxProvider, __assign({ store: store }, { children: _jsx(Individual, __assign({}, props)) })));
57
64
  }
58
65
  export function renderIndividualLib(config, elementId) {
59
- reactElement(elementId).render(_jsx(IndividualLib, __assign({}, config)));
60
- }
61
- export function unmountIndividualLib(elementId, unmountTimeout) {
62
- if (unmountTimeout === void 0) { unmountTimeout = 1000; }
63
- var element = document.getElementById(elementId);
64
- setTimeout(function () {
65
- var _a;
66
- ((_a = element === null || element === void 0 ? void 0 : element.children) === null || _a === void 0 ? void 0 : _a.length) && element.removeChild(element.children[0]);
67
- removeElement(DIALOG_ID);
68
- elementId && reactElement(elementId).unmount();
69
- }, unmountTimeout);
66
+ var _a = reactElement(elementId), render = _a.render, unmount = _a.unmount;
67
+ render(_jsx(IndividualLib, __assign({}, config)));
68
+ return { unmount: unmount };
70
69
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const PrepareDataLoading: () => JSX.Element;
3
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ import DataLoading from '../../../shared/DataLoading';
4
+ export var PrepareDataLoading = function () {
5
+ return _jsx(DataLoading, {});
6
+ };
7
+ export default memo(PrepareDataLoading);
@@ -0,0 +1,2 @@
1
+ import PrepareDataLoading from './PrepareDataLoading';
2
+ export default PrepareDataLoading;
@@ -0,0 +1,2 @@
1
+ import PrepareDataLoading from './PrepareDataLoading';
2
+ export default PrepareDataLoading;
@@ -9,107 +9,14 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
- import { memo, useEffect, useState } from 'react';
14
- import { useTranslation } from 'react-i18next';
15
- import { styled } from '@mui/material/styles';
16
- import { FlowsButtons } from '../../../shared/Button';
17
- import { ICONS_NAMES, PASSWORD_OPERATION_TYPE } from '../../../../constants';
18
- import { useAppSelector, useLanguage } from '../../../../hooks';
19
- import { concatenateObjectValues, getResetFlowUrl, shortenBrand, shortenString, showLastFour } from '../../../../utils';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { memo } from 'react';
14
+ import { useAppSelector } from '../../../../hooks';
20
15
  import { individualSelector } from '../../../app/individual/individualStore';
21
- import Box from '@mui/material/Box';
22
- import Text from '../../../../components/Text';
23
- import Container from '../../../shared/Containers/ScreenContainer';
24
- import AcceptancePayouts from '../../../shared/AcceptancePayouts';
25
- import { settingsSelector } from '../../../../app/settings';
26
- var TitleStyled = styled(Text)(function (_a) {
27
- var _b;
28
- var theme = _a.theme;
29
- return (__assign(__assign({}, theme.typography.body1), (_b = { fontWeight: theme.typography.fontWeightBold, color: theme.palette.text.primary, lineHeight: 1.75, paddingBottom: theme.spacing(3) }, _b[theme.breakpoints.down('sm')] = {}, _b)));
30
- });
31
- var ContainerStyled = styled(Container)(function (_a) {
32
- var theme = _a.theme;
33
- return ({
34
- justifyContent: 'space-between',
35
- minHeight: theme.spacing(30),
36
- alignItems: 'center'
37
- });
38
- });
39
- var ButtonGroupStyled = styled(Box)(function (_a) {
40
- var theme = _a.theme;
41
- return ({
42
- width: '100%',
43
- paddingTop: theme.spacing(3)
44
- });
45
- });
16
+ import SuccessFlowButtons from '../../../shared/SuccessFlowButtons';
46
17
  var SuccessWithFlowButtons = function () {
47
- var _a, _b, _c, _d, _e, _f;
48
- var t = useTranslation().t;
49
- var isAr = useLanguage().isAr;
50
18
  var data = useAppSelector(individualSelector).data;
51
- var _g = data.verify.responseBody || {}, flows = _g.flows, nameObj = _g.name, entity = _g.entity, brand = _g.brand, bank = _g.bank_account, merchant = _g.merchant, user = _g.user, business = _g.business;
52
- var _h = useState([]), buttons = _h[0], setButtons = _h[1];
53
- var _j = nameObj || {}, en = _j.en, ar = _j.ar;
54
- var username = isAr ? concatenateObjectValues(ar || en, ['first', 'last']) : concatenateObjectValues(en, ['first', 'last']);
55
- var licenseNumber = ((_a = entity === null || entity === void 0 ? void 0 : entity.license) === null || _a === void 0 ? void 0 : _a.number) || '';
56
- var bankName = shortenString(bank === null || bank === void 0 ? void 0 : bank.bank_name, 20) || t('bank');
57
- var iban = showLastFour((bank === null || bank === void 0 ? void 0 : bank.iban) || '');
58
- var taxID = (entity === null || entity === void 0 ? void 0 : entity.vat_id) || '';
59
- var brandName = (isAr ? (_b = brand === null || brand === void 0 ? void 0 : brand.name) === null || _b === void 0 ? void 0 : _b.ar : (_c = brand === null || brand === void 0 ? void 0 : brand.name) === null || _c === void 0 ? void 0 : _c.en) || '';
60
- var entityLegalName = shortenString(isAr ? (_d = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _d === void 0 ? void 0 : _d.ar : (_e = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _e === void 0 ? void 0 : _e.en, 20) || '';
61
- var isAcceptance = merchant === null || merchant === void 0 ? void 0 : merchant.is_acceptance_allowed;
62
- var isPayout = merchant === null || merchant === void 0 ? void 0 : merchant.is_payout_allowed;
63
- var identification = (user || {}).identification;
64
- var maskedId = (identification === null || identification === void 0 ? void 0 : identification.id) ? " ".concat(t('masking_symbols')).concat((_f = identification === null || identification === void 0 ? void 0 : identification.id) === null || _f === void 0 ? void 0 : _f.slice(-2)) : '';
65
- var settings = useAppSelector(settingsSelector);
66
- var _k = data.verify.responseBody || { contact: {}, board_id: '' }, board_id = _k.board_id, board_info_id = _k.board_info_id;
67
- var contact = business === null || business === void 0 ? void 0 : business.primary_contact;
68
- var email = (contact || { email: '' }).email;
69
- var url = getResetFlowUrl('/password', settings.data.language, PASSWORD_OPERATION_TYPE.RESET_PASSWORD, board_id, board_info_id);
70
- var reMapFlowData = function (flows) {
71
- if (flows === void 0) { flows = []; }
72
- var images = ICONS_NAMES;
73
- var mappedFlows = flows
74
- .filter(function (item) { return item === null || item === void 0 ? void 0 : item.name; })
75
- .map(function (_a) {
76
- var name = _a.name, url = _a.url, status = _a.status;
77
- var type = status === 'completed' ? 'completed' : 'pending';
78
- var title = t("".concat(name, "_flow_").concat(type), {
79
- individual_name: username.toLowerCase() + maskedId,
80
- business_type: entityLegalName,
81
- brand: brandName,
82
- license_number: licenseNumber ? t('masking_symbols') + showLastFour(licenseNumber) : '',
83
- bank_name: bankName,
84
- iban: iban ? t('masking_symbols') + iban : '',
85
- tax_id: taxID ? t('masking_symbols') + showLastFour(taxID) : ''
86
- });
87
- var isCompleted = status === 'completed' && name !== 'password';
88
- var isIndividual = name === 'individual';
89
- var src = isCompleted ? "".concat(name, "_green_icon") : "".concat(name, "_filled_icon");
90
- var hoverSrc = "".concat(name, "_white_icon");
91
- return {
92
- name: name,
93
- status: status,
94
- title: title,
95
- href: url,
96
- src: images[src],
97
- hoverSrc: images[hoverSrc],
98
- isCompleted: isCompleted,
99
- sx: isIndividual ? { textTransform: 'capitalize' } : {}
100
- };
101
- });
102
- setButtons(mappedFlows);
103
- };
104
- useEffect(function () {
105
- if ((flows === null || flows === void 0 ? void 0 : flows.length) > 0)
106
- reMapFlowData(flows);
107
- }, [flows, isAr]);
108
- return (_jsxs(ContainerStyled, { children: [_jsxs(TitleStyled, { children: [t('account_details'), " "] }), _jsx(AcceptancePayouts, { showAcceptance: isAcceptance, showPayout: isPayout }), _jsx(ButtonGroupStyled, { children: _jsx(FlowsButtons, { buttons: buttons, data: {
109
- flowName: data.flowName,
110
- email: email,
111
- emailUrl: url,
112
- brandName: shortenBrand(brandName)
113
- } }) })] }));
19
+ var _a = data.verify.responseBody || {}, flows = _a.flows, entity = _a.entity, brand = _a.brand, bank = _a.bank_account, merchant = _a.merchant, user = _a.user, business = _a.business, board_id = _a.board_id, board_info_id = _a.board_info_id, name = _a.name;
20
+ return (_jsx(SuccessFlowButtons, { flowName: data.flowName, bank: bank, brand: brand, entity: entity, merchant: merchant, user: __assign({ names: { en: name } }, user), business: business, boardId: board_id, boardInfoId: board_info_id, flows: flows || [] }));
114
21
  };
115
22
  export default memo(SuccessWithFlowButtons);
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { LibConfig } from '../../@types';
3
3
  export interface PasswordLibProps extends LibConfig {
4
+ verifyToken?: string;
4
5
  }
5
6
  export declare function PasswordLib(props: PasswordLibProps): JSX.Element;
6
- export declare function renderPasswordLib(config: PasswordLibProps, elementId: string): void;
7
- export declare function unmountPasswordLib(elementId: string, unmountTimeout?: number): void;
7
+ export declare function renderPasswordLib(config: PasswordLibProps, elementId: string): {
8
+ unmount: () => void;
9
+ };
@@ -18,8 +18,8 @@ import { store } from '../../app/store';
18
18
  import { ReduxProvider, ThemeProvider } from '../../components/Providers';
19
19
  import Collapse from '../../components/Collapse';
20
20
  import { FeatureContainer } from '../shared/Containers';
21
- import { getParameterByName, reactElement, removeElement } from '../../utils';
22
- import { DIALOG_ID, PASSWORD_OPERATION_TYPE, PASSWORD_SCREENS_NAVIGATION } from '../../constants';
21
+ import { getParameterByName, reactElement } from '../../utils';
22
+ import { PASSWORD_OPERATION_TYPE, PASSWORD_SCREENS_NAVIGATION } from '../../constants';
23
23
  import { passwordFeatureScreens } from '../featuresScreens';
24
24
  import { passwordSelector, verifyLeadToken, verifyOperationToken } from '../app/password/passwordStore';
25
25
  import CustomFooter from '../shared/Footer';
@@ -63,15 +63,7 @@ export function PasswordLib(props) {
63
63
  return (_jsx(ReduxProvider, __assign({ store: store }, { children: _jsx(Password, __assign({}, props)) })));
64
64
  }
65
65
  export function renderPasswordLib(config, elementId) {
66
- reactElement(elementId).render(_jsx(PasswordLib, __assign({}, config)));
67
- }
68
- export function unmountPasswordLib(elementId, unmountTimeout) {
69
- if (unmountTimeout === void 0) { unmountTimeout = 1000; }
70
- var element = document.getElementById(elementId);
71
- setTimeout(function () {
72
- var _a;
73
- ((_a = element === null || element === void 0 ? void 0 : element.children) === null || _a === void 0 ? void 0 : _a.length) && element.removeChild(element.children[0]);
74
- removeElement(DIALOG_ID);
75
- elementId && reactElement(elementId).unmount();
76
- }, unmountTimeout);
66
+ var _a = reactElement(elementId), render = _a.render, unmount = _a.unmount;
67
+ render(_jsx(PasswordLib, __assign({}, config)));
68
+ return { unmount: unmount };
77
69
  }
@@ -9,107 +9,14 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
- import { memo, useEffect, useState } from 'react';
14
- import { useTranslation } from 'react-i18next';
15
- import { styled } from '@mui/material/styles';
16
- import { FlowsButtons } from '../../../shared/Button';
17
- import { ICONS_NAMES, PASSWORD_OPERATION_TYPE } from '../../../../constants';
18
- import { useAppSelector, useLanguage } from '../../../../hooks';
19
- import { getResetFlowUrl, showLastFour, concatenateObjectValues, shortenString, shortenBrand } from '../../../../utils';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { memo } from 'react';
14
+ import { useAppSelector } from '../../../../hooks';
20
15
  import { passwordSelector } from '../../../app/password/passwordStore';
21
- import Box from '@mui/material/Box';
22
- import Text from '../../../../components/Text';
23
- import Container from '../../../shared/Containers/ScreenContainer';
24
- import AcceptancePayouts from '../../../shared/AcceptancePayouts';
25
- import { settingsSelector } from '../../../../app/settings';
26
- var TitleStyled = styled(Text)(function (_a) {
27
- var _b;
28
- var theme = _a.theme;
29
- return (__assign(__assign({}, theme.typography.body1), (_b = { fontWeight: theme.typography.fontWeightBold, color: theme.palette.text.primary, lineHeight: 1.75, paddingBottom: theme.spacing(3) }, _b[theme.breakpoints.down('sm')] = {}, _b)));
30
- });
31
- var ContainerStyled = styled(Container)(function (_a) {
32
- var theme = _a.theme;
33
- return ({
34
- justifyContent: 'space-between',
35
- minHeight: theme.spacing(30),
36
- alignItems: 'center'
37
- });
38
- });
39
- var ButtonGroupStyled = styled(Box)(function (_a) {
40
- var theme = _a.theme;
41
- return ({
42
- width: '100%',
43
- paddingTop: theme.spacing(3)
44
- });
45
- });
16
+ import SuccessFlowButtons from '../../../shared/SuccessFlowButtons';
46
17
  var SuccessWithFlowButtons = function () {
47
- var _a, _b, _c, _d, _e, _f;
48
- var t = useTranslation().t;
49
- var isAr = useLanguage().isAr;
50
18
  var data = useAppSelector(passwordSelector).data;
51
- var _g = data.verify.responseBody || {}, flows = _g.flows, nameObj = _g.name, entity = _g.entity, brand = _g.brand, bank = _g.bank_account, merchant = _g.merchant, user = _g.user, business = _g.business;
52
- var _h = useState([]), buttons = _h[0], setButtons = _h[1];
53
- var _j = nameObj || {}, en = _j.en, ar = _j.ar;
54
- var username = isAr ? concatenateObjectValues(ar || en, ['first', 'last']) : concatenateObjectValues(en, ['first', 'last']);
55
- var licenseNumber = ((_a = entity === null || entity === void 0 ? void 0 : entity.license) === null || _a === void 0 ? void 0 : _a.number) || '';
56
- var bankName = shortenString(bank === null || bank === void 0 ? void 0 : bank.bank_name, 20) || t('bank');
57
- var iban = showLastFour((bank === null || bank === void 0 ? void 0 : bank.iban) || '');
58
- var taxID = (entity === null || entity === void 0 ? void 0 : entity.vat_id) || '';
59
- var brandName = (isAr ? (_b = brand === null || brand === void 0 ? void 0 : brand.name) === null || _b === void 0 ? void 0 : _b.ar : (_c = brand === null || brand === void 0 ? void 0 : brand.name) === null || _c === void 0 ? void 0 : _c.en) || '';
60
- var entityLegalName = shortenString(isAr ? (_d = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _d === void 0 ? void 0 : _d.ar : (_e = entity === null || entity === void 0 ? void 0 : entity.legal_name) === null || _e === void 0 ? void 0 : _e.en, 20) || '';
61
- var isAcceptance = merchant === null || merchant === void 0 ? void 0 : merchant.is_acceptance_allowed;
62
- var isPayout = merchant === null || merchant === void 0 ? void 0 : merchant.is_payout_allowed;
63
- var identification = user.identification;
64
- var maskedId = (identification === null || identification === void 0 ? void 0 : identification.id) ? " ".concat(t('masking_symbols')).concat((_f = identification === null || identification === void 0 ? void 0 : identification.id) === null || _f === void 0 ? void 0 : _f.slice(-2)) : '';
65
- var settings = useAppSelector(settingsSelector);
66
- var _k = data.verify.responseBody || { contact: {}, board_id: '' }, board_id = _k.board_id, board_info_id = _k.board_info_id;
67
- var contact = business === null || business === void 0 ? void 0 : business.primary_contact;
68
- var email = (contact || { email: '' }).email;
69
- var url = getResetFlowUrl('/password', settings.data.language, PASSWORD_OPERATION_TYPE.RESET_PASSWORD, board_id, board_info_id);
70
- var reMapFlowData = function (flows) {
71
- if (flows === void 0) { flows = []; }
72
- var images = ICONS_NAMES;
73
- var mappedFlows = flows
74
- .filter(function (item) { return item === null || item === void 0 ? void 0 : item.name; })
75
- .map(function (_a) {
76
- var name = _a.name, url = _a.url, status = _a.status;
77
- var type = status === 'completed' ? 'completed' : 'pending';
78
- var title = t("".concat(name, "_flow_").concat(type), {
79
- individual_name: username.toLowerCase() + maskedId,
80
- business_type: entityLegalName,
81
- brand: brandName,
82
- license_number: licenseNumber ? t('masking_symbols') + showLastFour(licenseNumber) : '',
83
- bank_name: bankName,
84
- iban: iban ? t('masking_symbols') + iban : '',
85
- tax_id: taxID ? t('masking_symbols') + showLastFour(taxID) : ''
86
- });
87
- var isCompleted = status === 'completed' && name !== 'password';
88
- var isIndividual = name === 'individual';
89
- var src = isCompleted ? "".concat(name, "_green_icon") : "".concat(name, "_filled_icon");
90
- var hoverSrc = "".concat(name, "_white_icon");
91
- return {
92
- name: name,
93
- status: status,
94
- title: title,
95
- href: url,
96
- src: images[src],
97
- hoverSrc: images[hoverSrc],
98
- isCompleted: isCompleted,
99
- sx: isIndividual ? { textTransform: 'capitalize' } : {}
100
- };
101
- });
102
- setButtons(mappedFlows);
103
- };
104
- useEffect(function () {
105
- if ((flows === null || flows === void 0 ? void 0 : flows.length) > 0)
106
- reMapFlowData(flows);
107
- }, [flows, isAr]);
108
- return (_jsxs(ContainerStyled, { children: [_jsxs(TitleStyled, { children: [t('account_details'), " "] }), _jsx(AcceptancePayouts, { showAcceptance: isAcceptance, showPayout: isPayout }), _jsx(ButtonGroupStyled, { children: _jsx(FlowsButtons, { buttons: buttons, data: {
109
- flowName: data.flowName,
110
- email: email,
111
- emailUrl: url,
112
- brandName: shortenBrand(brandName)
113
- } }) })] }));
19
+ var _a = data.verify.responseBody || {}, flows = _a.flows, entity = _a.entity, brand = _a.brand, bank = _a.bank_account, merchant = _a.merchant, user = _a.user, business = _a.business, board_id = _a.board_id, board_info_id = _a.board_info_id, name = _a.name;
20
+ return (_jsx(SuccessFlowButtons, { flowName: data.flowName, bank: bank, brand: brand, entity: entity, merchant: merchant, user: __assign({ names: { en: name } }, user), business: business, boardId: board_id, boardInfoId: board_info_id, flows: flows || [] }));
114
21
  };
115
22
  export default memo(SuccessWithFlowButtons);