@tap-payments/auth-jsconnect 2.13.10-beta → 2.14.0-beta

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 (136) hide show
  1. package/build/@types/app.d.ts +2 -1
  2. package/build/@types/app.js +1 -0
  3. package/build/@types/index.d.ts +1 -0
  4. package/build/@types/index.js +1 -0
  5. package/build/@types/terminal.d.ts +104 -0
  6. package/build/@types/terminal.js +1 -0
  7. package/build/api/auth.d.ts +15 -1
  8. package/build/api/index.d.ts +7 -1
  9. package/build/api/index.js +3 -1
  10. package/build/api/terminal.d.ts +25 -0
  11. package/build/api/terminal.js +55 -0
  12. package/build/app/rootReducer.d.ts +1 -0
  13. package/build/app/rootReducer.js +3 -1
  14. package/build/app/store.d.ts +2 -0
  15. package/build/assets/locales/en.json +0 -1
  16. package/build/components/DeviceCard/DeviceCard.d.ts +19 -0
  17. package/build/components/DeviceCard/DeviceCard.js +102 -0
  18. package/build/components/DeviceCard/index.d.ts +3 -0
  19. package/build/components/DeviceCard/index.js +2 -0
  20. package/build/components/OTPTimer/OTPTimer.d.ts +2 -1
  21. package/build/components/OTPTimer/OTPTimer.js +4 -4
  22. package/build/components/TruncatedTooltipText/TruncatedTooltipText.d.ts +7 -0
  23. package/build/components/TruncatedTooltipText/TruncatedTooltipText.js +33 -0
  24. package/build/components/TruncatedTooltipText/index.d.ts +2 -0
  25. package/build/components/TruncatedTooltipText/index.js +2 -0
  26. package/build/constants/app.d.ts +12 -1
  27. package/build/constants/app.js +133 -0
  28. package/build/constants/flows.d.ts +16 -0
  29. package/build/constants/flows.js +16 -0
  30. package/build/constants/validation.d.ts +1 -0
  31. package/build/constants/validation.js +1 -0
  32. package/build/features/app/terminal/terminalStore.d.ts +110 -0
  33. package/build/features/app/terminal/terminalStore.js +703 -0
  34. package/build/features/featuresScreens.d.ts +1 -0
  35. package/build/features/featuresScreens.js +72 -0
  36. package/build/features/shared/Button/Button.js +1 -1
  37. package/build/features/shared/Button/FlowsButtons.d.ts +1 -0
  38. package/build/features/shared/Button/FlowsButtons.js +2 -2
  39. package/build/features/shared/PushNotification/PushNotification.d.ts +11 -0
  40. package/build/features/shared/PushNotification/PushNotification.js +34 -0
  41. package/build/features/shared/PushNotification/index.d.ts +2 -0
  42. package/build/features/shared/PushNotification/index.js +2 -0
  43. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.d.ts +2 -1
  44. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +5 -4
  45. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  46. package/build/features/shared/SuccessScreen/SuccessScreen.js +2 -2
  47. package/build/features/terminal/Terminal.d.ts +14 -0
  48. package/build/features/terminal/Terminal.js +95 -0
  49. package/build/features/terminal/index.d.ts +1 -0
  50. package/build/features/terminal/index.js +1 -0
  51. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.d.ts +3 -0
  52. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.js +68 -0
  53. package/build/features/terminal/screens/LinkNewTerminal/index.d.ts +2 -0
  54. package/build/features/terminal/screens/LinkNewTerminal/index.js +2 -0
  55. package/build/features/terminal/screens/LinkNewTerminal/styles.d.ts +10 -0
  56. package/build/features/terminal/screens/LinkNewTerminal/styles.js +28 -0
  57. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.d.ts +3 -0
  58. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.js +50 -0
  59. package/build/features/terminal/screens/LinkedSuccess/index.d.ts +2 -0
  60. package/build/features/terminal/screens/LinkedSuccess/index.js +2 -0
  61. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.d.ts +3 -0
  62. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.js +55 -0
  63. package/build/features/terminal/screens/LinkedTerminalInfo/index.d.ts +2 -0
  64. package/build/features/terminal/screens/LinkedTerminalInfo/index.js +2 -0
  65. package/build/features/terminal/screens/Loading/Loading.d.ts +4 -0
  66. package/build/features/terminal/screens/Loading/Loading.js +10 -0
  67. package/build/features/terminal/screens/Loading/index.d.ts +2 -0
  68. package/build/features/terminal/screens/Loading/index.js +2 -0
  69. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.d.ts +3 -0
  70. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +103 -0
  71. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.d.ts +2 -0
  72. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.js +2 -0
  73. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.d.ts +36 -0
  74. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.js +34 -0
  75. package/build/features/terminal/screens/OperatorError/OperatorError.d.ts +5 -0
  76. package/build/features/terminal/screens/OperatorError/OperatorError.js +9 -0
  77. package/build/features/terminal/screens/OperatorError/index.d.ts +2 -0
  78. package/build/features/terminal/screens/OperatorError/index.js +2 -0
  79. package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.d.ts +3 -0
  80. package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.js +50 -0
  81. package/build/features/terminal/screens/POSDeviceListPage/index.d.ts +2 -0
  82. package/build/features/terminal/screens/POSDeviceListPage/index.js +2 -0
  83. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.d.ts +3 -0
  84. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +21 -0
  85. package/build/features/terminal/screens/ResetPasswordSuccess/index.d.ts +2 -0
  86. package/build/features/terminal/screens/ResetPasswordSuccess/index.js +2 -0
  87. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.d.ts +3 -0
  88. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +32 -0
  89. package/build/features/terminal/screens/SuccessWithFlowButtons/index.d.ts +2 -0
  90. package/build/features/terminal/screens/SuccessWithFlowButtons/index.js +2 -0
  91. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.d.ts +9 -0
  92. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.js +20 -0
  93. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.d.ts +3 -0
  94. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +153 -0
  95. package/build/features/terminal/screens/TerminalDeviceList/index.d.ts +2 -0
  96. package/build/features/terminal/screens/TerminalDeviceList/index.js +2 -0
  97. package/build/features/terminal/screens/TerminalDeviceList/styles.d.ts +9 -0
  98. package/build/features/terminal/screens/TerminalDeviceList/styles.js +13 -0
  99. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.d.ts +3 -0
  100. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.js +51 -0
  101. package/build/features/terminal/screens/UnlinkedSuccess/index.d.ts +2 -0
  102. package/build/features/terminal/screens/UnlinkedSuccess/index.js +2 -0
  103. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.d.ts +3 -0
  104. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.js +99 -0
  105. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.d.ts +2 -0
  106. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.js +2 -0
  107. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.d.ts +26 -0
  108. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.js +30 -0
  109. package/build/features/terminal/screens/Verify/OTPInput.d.ts +7 -0
  110. package/build/features/terminal/screens/Verify/OTPInput.js +51 -0
  111. package/build/features/terminal/screens/Verify/Verify.d.ts +5 -0
  112. package/build/features/terminal/screens/Verify/Verify.js +89 -0
  113. package/build/features/terminal/screens/Verify/index.d.ts +2 -0
  114. package/build/features/terminal/screens/Verify/index.js +2 -0
  115. package/build/features/terminal/screens/Verify/validation.d.ts +8 -0
  116. package/build/features/terminal/screens/Verify/validation.js +4 -0
  117. package/build/features/terminal/screens/shared/Header.d.ts +10 -0
  118. package/build/features/terminal/screens/shared/Header.js +30 -0
  119. package/build/features/terminal/screens/shared/POSDeviceList.d.ts +11 -0
  120. package/build/features/terminal/screens/shared/POSDeviceList.js +30 -0
  121. package/build/features/terminal/screens/shared/index.d.ts +5 -0
  122. package/build/features/terminal/screens/shared/index.js +5 -0
  123. package/build/features/terminal/screens/shared/styles.d.ts +196 -0
  124. package/build/features/terminal/screens/shared/styles.js +155 -0
  125. package/build/features/terminal/screens/shared/utils.d.ts +7 -0
  126. package/build/features/terminal/screens/shared/utils.js +24 -0
  127. package/build/hooks/useAppDispatch.d.ts +1 -0
  128. package/build/index.d.ts +3 -2
  129. package/build/index.js +4 -2
  130. package/build/theme/palette.js +12 -0
  131. package/build/theme/typography.js +4 -0
  132. package/build/utils/error.d.ts +1 -0
  133. package/build/utils/error.js +3 -0
  134. package/build/utils/string.d.ts +2 -1
  135. package/build/utils/string.js +11 -2
  136. package/package.json +1 -1
@@ -12,3 +12,4 @@ export declare const entityFeatureScreens: Array<FeatureScreenStep>;
12
12
  export declare const brandFeatureScreens: Array<FeatureScreenStep>;
13
13
  export declare const boardFeatureScreens: Array<FeatureScreenStep>;
14
14
  export declare const kycFeatureScreens: Array<FeatureScreenStep>;
15
+ export declare const terminalFeatureScreens: Array<FeatureScreenStep>;
@@ -152,6 +152,20 @@ import KycOperatorErrorPage from './kyc/screens/OperatorError';
152
152
  import KycSuccessPage from './kyc/screens/Success';
153
153
  import KycTermsPage from './kyc/screens/Terms';
154
154
  import KycUsersPage from './kyc/screens/Users';
155
+ import TerminalLoadingPage from './terminal/screens/Loading';
156
+ import TerminalOperatorErrorPage from './terminal/screens/OperatorError';
157
+ import TerminalVerifyPage from './terminal/screens/Verify';
158
+ import NoTerminalDeviceLinkedPage from './terminal/screens/NoTerminalDeviceLinked';
159
+ import TerminalDeviceListPage from './terminal/screens/TerminalDeviceList';
160
+ import POSDeviceListPage from '../features/terminal/screens/POSDeviceListPage';
161
+ import LinkNewTerminalPage from './terminal/screens/LinkNewTerminal';
162
+ import LinkedTerminalInfoPage from './terminal/screens/LinkedTerminalInfo';
163
+ import UnlinkedTerminalInfoPage from './terminal/screens/UnlinkedTerminalInfo';
164
+ import LinkedSuccessPage from './terminal/screens/LinkedSuccess';
165
+ import UnlinkedSuccessPage from './terminal/screens/UnlinkedSuccess';
166
+ import TerminalBoardPage from './terminal/screens/SuccessWithFlowButtons';
167
+ import TerminalResetPasswordSuccessPage from './terminal/screens/ResetPasswordSuccess';
168
+ import TerminalOTPVerifySecurityError from './shared/OTPVerifySecurityError';
155
169
  export var connectFeatureScreens = [
156
170
  {
157
171
  name: 'CONNECT_BUSINESS_COUNTRY_STEP',
@@ -760,3 +774,61 @@ export var kycFeatureScreens = [
760
774
  element: KycSuccessPage
761
775
  }
762
776
  ];
777
+ export var terminalFeatureScreens = [
778
+ {
779
+ name: CONNECT_FLOWS.terminal.loadingData,
780
+ element: TerminalLoadingPage
781
+ },
782
+ {
783
+ name: CONNECT_FLOWS.terminal.operatorError,
784
+ element: TerminalOperatorErrorPage
785
+ },
786
+ {
787
+ name: CONNECT_FLOWS.terminal.verify,
788
+ element: TerminalVerifyPage
789
+ },
790
+ {
791
+ name: CONNECT_FLOWS.terminal.noTerminalLinked,
792
+ element: NoTerminalDeviceLinkedPage
793
+ },
794
+ {
795
+ name: CONNECT_FLOWS.terminal.terminalDeviceList,
796
+ element: TerminalDeviceListPage
797
+ },
798
+ {
799
+ name: CONNECT_FLOWS.terminal.terminalLinkNew,
800
+ element: LinkNewTerminalPage
801
+ },
802
+ {
803
+ name: CONNECT_FLOWS.terminal.posDeviceList,
804
+ element: POSDeviceListPage
805
+ },
806
+ {
807
+ name: CONNECT_FLOWS.terminal.linkedTerminalInfo,
808
+ element: LinkedTerminalInfoPage
809
+ },
810
+ {
811
+ name: CONNECT_FLOWS.terminal.unlinkedTerminalInfo,
812
+ element: UnlinkedTerminalInfoPage
813
+ },
814
+ {
815
+ name: CONNECT_FLOWS.terminal.terminalLinkedSuccess,
816
+ element: LinkedSuccessPage
817
+ },
818
+ {
819
+ name: CONNECT_FLOWS.terminal.terminalUnlinkedSuccess,
820
+ element: UnlinkedSuccessPage
821
+ },
822
+ {
823
+ name: CONNECT_FLOWS.terminal.board,
824
+ element: TerminalBoardPage
825
+ },
826
+ {
827
+ name: CONNECT_FLOWS.terminal.resetPassword,
828
+ element: TerminalResetPasswordSuccessPage
829
+ },
830
+ {
831
+ name: CONNECT_FLOWS.terminal.otpVerifySecurityError,
832
+ element: TerminalOTPVerifySecurityError
833
+ }
834
+ ];
@@ -112,5 +112,5 @@ export default function CustomButton(_a) {
112
112
  }, 500);
113
113
  };
114
114
  }, []);
115
- return (_jsxs(Fragment, { children: [_jsx(Collapse, __assign({ in: !!error && !hideError }, { children: _jsx(Warning, __assign({ sx: { mb: 1 }, warningType: 'error' }, { children: error })) })), _jsxs(ButtonBoxStyled, __assign({ sx: sx }, { children: [isBackEnabled && (_jsx(BackButtonStyled, __assign({ onClick: function () { return onBackClicked === null || onBackClicked === void 0 ? void 0 : onBackClicked(); }, isAr: isAr, type: 'reset', startIcon: _jsx(BackIconStyled, { isAr: isAr, src: ICONS_NAMES.WHITE_ARROW }) }, props))), _jsx(ButtonStyled, __assign({ disabled: disabled, isLoading: btnLoading, type: !btnLoading ? 'submit' : 'button', isBack: isBackEnabled, endIcon: btnLoading === false ? !disableNextIcon && _jsx(IconStyled, { isAr: isAr, src: ICONS_NAMES.WHITE_ARROW }) : undefined }, props, { children: !btnLoading ? (_jsxs(Text, __assign({ sx: { marginInlineEnd: isBackEnabled ? '-24px' : '-15px' } }, { children: [" ", children] }))) : (_jsx(Loader, { innerColor: 'white', outerColor: 'white', size: 15, toggleAnimation: !!btnLoading })) }))] }))] }));
115
+ return (_jsxs(Fragment, { children: [_jsx(Collapse, __assign({ in: !!error && !hideError }, { children: _jsx(Warning, __assign({ sx: { mb: 1 }, warningType: 'error' }, { children: error })) })), _jsxs(ButtonBoxStyled, __assign({ sx: sx }, { children: [isBackEnabled && (_jsx(BackButtonStyled, __assign({ isAr: isAr, type: 'reset', startIcon: _jsx(BackIconStyled, { isAr: isAr, src: ICONS_NAMES.WHITE_ARROW }) }, props, { onClick: function () { return onBackClicked === null || onBackClicked === void 0 ? void 0 : onBackClicked(); } }))), _jsx(ButtonStyled, __assign({ disabled: disabled, isLoading: btnLoading, type: !btnLoading ? 'submit' : 'button', isBack: isBackEnabled, endIcon: btnLoading === false ? !disableNextIcon && _jsx(IconStyled, { isAr: isAr, src: ICONS_NAMES.WHITE_ARROW }) : undefined }, props, { children: !btnLoading ? (_jsxs(Text, __assign({ sx: { marginInlineEnd: isBackEnabled ? '-24px' : '-15px' } }, { children: [" ", children] }))) : (_jsx(Loader, { innerColor: 'white', outerColor: 'white', size: 15, toggleAnimation: !!btnLoading })) }))] }))] }));
116
116
  }
@@ -19,6 +19,7 @@ export interface DataProps {
19
19
  emailUrl: string;
20
20
  brandName?: string;
21
21
  isAuthorizedUser?: boolean;
22
+ terminalStepName?: string;
22
23
  }
23
24
  export interface EmailProvidersButtonsProps extends ButtonProps {
24
25
  buttons: ButtonItemProps[];
@@ -177,7 +177,7 @@ export default function FlowsButtons(_a) {
177
177
  });
178
178
  if (flowName === item.name && !isResetPassword(item.name, item.status)) {
179
179
  var isOtherThanSAOrKWCountry = !isKWOrSA(settingsData.businessCountry.iso2);
180
- dispatch(handleCurrentActiveScreen(getScreenNameBasedOnFlow(item.name, isAuthorizedUser, isOtherThanSAOrKWCountry)));
180
+ dispatch(handleCurrentActiveScreen(getScreenNameBasedOnFlow(item.name, isAuthorizedUser, isOtherThanSAOrKWCountry, data.terminalStepName)));
181
181
  return;
182
182
  }
183
183
  if (typeof settingsData.appConfig.onBoardButtonClick === 'function') {
@@ -242,6 +242,6 @@ export default function FlowsButtons(_a) {
242
242
  onResetPassword();
243
243
  else
244
244
  onRedirect({ title: title, href: href, src: src, hoverSrc: hoverSrc, isCompleted: isCompleted, name: name, status: status, token: token });
245
- } }, { children: _jsx(ButtonStyled, __assign({ variant: 'outlined', disabled: isResetPassword(name, status) && loading, isCompleted: isCompleted, hasUrl: !!href, sx: __assign({ mb: isLast ? 2.5 : 1.8 }, sx), endIcon: isResetPassword(name, status) && loading ? (_jsx(_Fragment, {})) : isCompleted ? (_jsx(CheckIconStyled, {})) : (_jsxs("div", __assign({ style: { display: 'flex', alignItems: 'center' } }, { children: [name !== 'password' && _jsx(Dot, { completed: ['complete', 'completed', 'reviewed'].includes(status === null || status === void 0 ? void 0 : status.toLowerCase()) }), _jsx(Image, { sx: { height: 15, transform: isAr ? 'scale(-1)' : 'scale(1)', marginInlineStart: 0 }, src: ICONS_NAMES.Arrow_filled_right_icon })] }))), startIcon: isResetPassword(name, status) && loading ? (_jsx(_Fragment, {})) : isBrand(name) ? (_jsx(_Fragment, { children: _jsx(BrandImage, { children: _jsx(BrandNameStyled, { children: brandName }) }) })) : (_jsx(Image, { src: src, alt: title })), type: 'button' }, { children: title })) }), idx));
245
+ } }, { children: _jsx(ButtonStyled, __assign({ variant: 'outlined', disabled: isResetPassword(name, status) && loading, isCompleted: isCompleted, hasUrl: !!href, sx: __assign({ mb: isLast ? 2.5 : 1.8 }, sx), endIcon: isResetPassword(name, status) && loading ? (_jsx(_Fragment, {})) : isCompleted ? (_jsx(CheckIconStyled, {})) : (_jsxs("div", __assign({ style: { display: 'flex', alignItems: 'center' } }, { children: [name !== 'password' && name !== 'terminal' && (_jsx(Dot, { completed: ['complete', 'completed', 'reviewed'].includes(status === null || status === void 0 ? void 0 : status.toLowerCase()) })), _jsx(Image, { sx: { height: 15, transform: isAr ? 'scale(-1)' : 'scale(1)', marginInlineStart: 0 }, src: ICONS_NAMES.Arrow_filled_right_icon })] }))), startIcon: isResetPassword(name, status) && loading ? (_jsx(_Fragment, {})) : isBrand(name) ? (_jsx(_Fragment, { children: _jsx(BrandImage, { children: _jsx(BrandNameStyled, { children: brandName }) }) })) : (_jsx(Image, { src: src, alt: title })), type: 'button' }, { children: title })) }), idx));
246
246
  }), onClose && (_jsx(SharedButton, __assign({ sx: { mt: 2.5, ml: 0, mr: 0 }, isAr: isAr, disableBack: true, loading: storeLoading, onClick: onClose }, { children: t('close_and_complete_later') })))] }));
247
247
  }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export interface PushNotificationProps {
3
+ success: boolean;
4
+ failed?: boolean;
5
+ expiryInSeconds: number;
6
+ onFinish?: () => void;
7
+ children: React.ReactNode;
8
+ error: string;
9
+ }
10
+ declare const _default: React.MemoExoticComponent<({ success, failed, expiryInSeconds, onFinish, children, error }: PushNotificationProps) => JSX.Element>;
11
+ export default _default;
@@ -0,0 +1,34 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import * as React from 'react';
14
+ import { useTranslation } from 'react-i18next';
15
+ import { useCountDown, useCountUp } from '../../../hooks';
16
+ import Warning from '../../../components/Warning';
17
+ import { ScreenContainer } from '../../shared/Containers';
18
+ var PushNotification = function (_a) {
19
+ var success = _a.success, failed = _a.failed, expiryInSeconds = _a.expiryInSeconds, onFinish = _a.onFinish, children = _a.children, error = _a.error;
20
+ var t = useTranslation().t;
21
+ var count = useCountUp({ start: 0, end: expiryInSeconds, sleepMS: 1000 }).count;
22
+ var errorWaitingTime = 3;
23
+ var failedCount = useCountDown({ startTimer: !!failed, start: errorWaitingTime, end: 0, sleepMS: 1000 }).count;
24
+ var remainingTime = expiryInSeconds - errorWaitingTime;
25
+ var isEnded = failed ? failedCount === 0 : count === expiryInSeconds;
26
+ var endPhaseStarted = count >= remainingTime;
27
+ React.useEffect(function () {
28
+ if (isEnded && onFinish)
29
+ onFinish();
30
+ }, [isEnded]);
31
+ var isErrorPhase = (endPhaseStarted && !success) || failed;
32
+ return (_jsxs(ScreenContainer, { children: [children, isErrorPhase && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) }))] }));
33
+ };
34
+ export default React.memo(PushNotification);
@@ -0,0 +1,2 @@
1
+ import PushNotification from './PushNotification';
2
+ export default PushNotification;
@@ -0,0 +1,2 @@
1
+ import PushNotification from './PushNotification';
2
+ export default PushNotification;
@@ -19,6 +19,7 @@ interface SuccessFlowButtonsProps {
19
19
  onClose?: () => void;
20
20
  loading?: boolean;
21
21
  status: 'complete' | 'incomplete';
22
+ terminalStepName?: string;
22
23
  }
23
- declare const _default: React.MemoExoticComponent<({ brand, entity, business, merchant, bank, user, flows, boardInfoId, boardId, flowName, individuals, recipient, onClose, loading, status }: SuccessFlowButtonsProps) => JSX.Element>;
24
+ declare const _default: React.MemoExoticComponent<({ brand, entity, business, merchant, bank, user, flows, boardInfoId, boardId, flowName, individuals, recipient, onClose, loading, status, terminalStepName }: SuccessFlowButtonsProps) => JSX.Element>;
24
25
  export default _default;
@@ -45,7 +45,7 @@ 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, recipient = _a.recipient, onClose = _a.onClose, loading = _a.loading, status = _a.status;
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, status = _a.status, terminalStepName = _a.terminalStepName;
49
49
  var _e = useState([]), buttons = _e[0], setButtons = _e[1];
50
50
  var t = useTranslation().t;
51
51
  var isAr = useLanguage().isAr;
@@ -72,7 +72,8 @@ var SuccessFlowButtons = function (_a) {
72
72
  { name: 'entity', status: entity === null || entity === void 0 ? void 0 : entity.data_state },
73
73
  { name: 'bank', status: bank === null || bank === void 0 ? void 0 : bank.data_state },
74
74
  { name: 'tax', status: entity === null || entity === void 0 ? void 0 : entity.tax_data_state },
75
- { name: 'individual', status: individuals === null || individuals === void 0 ? void 0 : individuals.data_state }
75
+ { name: 'individual', status: individuals === null || individuals === void 0 ? void 0 : individuals.data_state },
76
+ { name: 'terminal', status: '' }
76
77
  ];
77
78
  var reMapFlowData = function (flows) {
78
79
  if (flows === void 0) { flows = []; }
@@ -117,7 +118,6 @@ var SuccessFlowButtons = function (_a) {
117
118
  }, [flows, isAr]);
118
119
  useEffect(function () {
119
120
  var _a, _b;
120
- console.log('status', status);
121
121
  if ((status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) === 'complete') {
122
122
  (_b = (_a = settings.data.appConfig).onBoardCompleted) === null || _b === void 0 ? void 0 : _b.call(_a);
123
123
  }
@@ -127,7 +127,8 @@ var SuccessFlowButtons = function (_a) {
127
127
  email: email || '',
128
128
  emailUrl: url,
129
129
  brandName: shortenBrand(brandName),
130
- isAuthorizedUser: is_authorized
130
+ isAuthorizedUser: is_authorized,
131
+ terminalStepName: terminalStepName
131
132
  } }) })] }));
132
133
  };
133
134
  export default memo(SuccessFlowButtons);
@@ -1,3 +1,4 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
1
2
  import * as React from 'react';
2
3
  export interface ThankYouProps {
3
4
  title?: string;
@@ -9,6 +10,7 @@ export interface ThankYouProps {
9
10
  description?: string | React.ReactElement;
10
11
  enableBack?: boolean;
11
12
  onBack?: () => void;
13
+ sx?: SxProps<Theme>;
12
14
  }
13
- declare const _default: React.MemoExoticComponent<({ title, description, showEmailProviders, onSuccess, successTitle, loading, error, enableBack, onBack }: ThankYouProps) => JSX.Element>;
15
+ declare const _default: React.MemoExoticComponent<({ title, description, showEmailProviders, onSuccess, successTitle, loading, error, enableBack, onBack, sx }: ThankYouProps) => JSX.Element>;
14
16
  export default _default;
@@ -55,9 +55,9 @@ var IconStyled = styled(Icon)(function (_a) {
55
55
  _b);
56
56
  });
57
57
  var ThankYou = function (_a) {
58
- var title = _a.title, description = _a.description, showEmailProviders = _a.showEmailProviders, onSuccess = _a.onSuccess, successTitle = _a.successTitle, loading = _a.loading, error = _a.error, enableBack = _a.enableBack, onBack = _a.onBack;
58
+ var title = _a.title, description = _a.description, showEmailProviders = _a.showEmailProviders, onSuccess = _a.onSuccess, successTitle = _a.successTitle, loading = _a.loading, error = _a.error, enableBack = _a.enableBack, onBack = _a.onBack, sx = _a.sx;
59
59
  var t = useTranslation().t;
60
60
  var isAr = useLanguage().isAr;
61
- return (_jsxs(ContainerStyled, { children: [_jsx(IconStyled, { src: ICONS_NAMES.SUCCESS_GIF, alt: 'loading...' }), _jsxs(TitleStyled, { children: [title, " "] }), description && _jsx(DescriptionStyled, { children: description }), showEmailProviders && (_jsx(MailBoxStyled, { children: _jsx(EmailProvidersButton, { gmail: { title: t('gmail_btn_open_title'), href: 'https://mail.google.com/mail/u/0/#inbox' }, outlook: { title: t('outlook_btn_open_title'), href: 'https://outlook.live.com/mail/0/' }, apple: { title: t('apple_btn_open_title'), href: 'mailto:' }, mail: { title: t('mail_btn_open_title'), href: 'mailto:' } }) })), onSuccess && !showEmailProviders && (_jsx(MailBoxStyled, { children: _jsx(SuccessButton, __assign({ onClick: onSuccess, disableBack: true, disableNextIcon: true, disabled: loading, isAr: isAr, loading: loading, error: t(error || '') }, { children: t(successTitle || '') })) })), enableBack && (_jsx(Button, __assign({ sx: { mb: 1.5, mt: 0 }, onClick: function () { return onBack === null || onBack === void 0 ? void 0 : onBack(); }, variant: 'text' }, { children: t('back') })))] }));
61
+ return (_jsxs(ContainerStyled, __assign({ sx: sx }, { children: [_jsx(IconStyled, { src: ICONS_NAMES.SUCCESS_GIF, alt: 'loading...' }), _jsxs(TitleStyled, { children: [title, " "] }), description && _jsx(DescriptionStyled, { children: description }), showEmailProviders && (_jsx(MailBoxStyled, { children: _jsx(EmailProvidersButton, { gmail: { title: t('gmail_btn_open_title'), href: 'https://mail.google.com/mail/u/0/#inbox' }, outlook: { title: t('outlook_btn_open_title'), href: 'https://outlook.live.com/mail/0/' }, apple: { title: t('apple_btn_open_title'), href: 'mailto:' }, mail: { title: t('mail_btn_open_title'), href: 'mailto:' } }) })), onSuccess && !showEmailProviders && (_jsx(MailBoxStyled, { children: _jsx(SuccessButton, __assign({ onClick: onSuccess, disableBack: true, disableNextIcon: true, disabled: loading, isAr: isAr, loading: loading, error: t(error || '') }, { children: t(successTitle || '') })) })), enableBack && (_jsx(Button, __assign({ sx: { mb: 1.5, mt: 0 }, onClick: function () { return onBack === null || onBack === void 0 ? void 0 : onBack(); }, variant: 'text' }, { children: t('back') })))] })));
62
62
  };
63
63
  export default React.memo(ThankYou);
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { LibConfig } from '../../@types';
3
+ export interface TerminalLibProps extends LibConfig {
4
+ verifyToken?: string;
5
+ configToken?: string;
6
+ loaderColor?: string;
7
+ }
8
+ export interface TerminalLibFullProps extends TerminalLibProps {
9
+ unmount?: () => void;
10
+ }
11
+ export declare function TerminalElement(props: TerminalLibFullProps): JSX.Element;
12
+ export declare function renderTerminalLib(config: TerminalLibProps, elementId: string): {
13
+ unmount: () => void;
14
+ };
@@ -0,0 +1,95 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import React, { memo } from 'react';
25
+ import { createRoot } from 'react-dom/client';
26
+ import { useAppTheme, useAppSelector, useAppConfig, useErrorListener, useStepStartedListener, useVerifyToken, useAppDispatch } from '../../hooks';
27
+ import { handleCurrentActiveScreen, settingsSelector } from '../../app/settings';
28
+ import { store } from '../../app/store';
29
+ import AnimationFlow from '../../components/AnimationFlow';
30
+ import { ReduxProvider, ThemeProvider } from '../../components/Providers';
31
+ import Collapse from '../../components/Collapse';
32
+ import { findOrCreateElementAndInject, initializeGTM, sendPageView } from '../../utils';
33
+ import { CONNECT_FLOWS, TERMINAL_SCREENS_NAVIGATION } from '../../constants';
34
+ import { FeatureContainer } from '../shared/Containers';
35
+ import { terminalSelector, verifyToken as verifyTokenAPI } from '../app/terminal/terminalStore';
36
+ import { terminalFeatureScreens } from '../featuresScreens';
37
+ import Background from '../shared/Background';
38
+ var Terminal = memo(function (_a) {
39
+ var _b, _c;
40
+ var configToken = _a.configToken, verifyToken = _a.verifyToken, loaderColor = _a.loaderColor, props = __rest(_a, ["configToken", "verifyToken", "loaderColor"]);
41
+ var theme = useAppTheme().theme;
42
+ var dispatch = useAppDispatch();
43
+ var _d = useAppSelector(settingsSelector), data = _d.data, error = _d.error, settingLoading = _d.loading;
44
+ var _e = useAppSelector(terminalSelector), customLoading = _e.customLoading, terminalError = _e.error, loading = _e.loading, posDevicesLoading = _e.posDevicesLoading;
45
+ useAppConfig(__assign(__assign({ navigation: TERMINAL_SCREENS_NAVIGATION }, props), { disableSettingFetching: props.mode === 'content' ? false : !!verifyToken || !!configToken }));
46
+ useErrorListener(terminalError || error);
47
+ useStepStartedListener();
48
+ var activeScreen = data.activeScreen, isTapOrigin = data.isTapOrigin, open = data.open, featureScreensNavigation = data.featureScreensNavigation, merchant = data.merchant, isMaturityExpress = data.isMaturityExpress, appConfig = data.appConfig;
49
+ var animationDirection = open ? (_b = appConfig.features) === null || _b === void 0 ? void 0 : _b.dialogStartTransition : (_c = appConfig.features) === null || _c === void 0 ? void 0 : _c.dialogEndTransition;
50
+ var verifyTokenAndMoveToNextScreen = function (_a) {
51
+ var token = _a.token, isInternally = _a.isInternally;
52
+ return function () {
53
+ dispatch(verifyTokenAPI({ token: token, isInternally: isInternally }))
54
+ .unwrap()
55
+ .then(function (_a) {
56
+ var nextScreen = _a.nextScreen;
57
+ dispatch(handleCurrentActiveScreen(nextScreen));
58
+ })
59
+ .catch(function () { });
60
+ };
61
+ };
62
+ useVerifyToken({
63
+ verify: verifyTokenAndMoveToNextScreen,
64
+ loadingScreenName: CONNECT_FLOWS.terminal.loadingData,
65
+ navigation: featureScreensNavigation,
66
+ open: open,
67
+ mode: props.mode,
68
+ internalToken: verifyToken,
69
+ settingLoading: settingLoading,
70
+ operatorErrorScreenName: CONNECT_FLOWS.terminal.operatorError,
71
+ isValidOperator: data.isValidOperator
72
+ });
73
+ React.useEffect(function () {
74
+ initializeGTM();
75
+ sendPageView({
76
+ title: 'Terminal'
77
+ });
78
+ }, []);
79
+ var initialLoading = verifyToken && props.mode !== 'content' ? settingLoading : settingLoading || customLoading;
80
+ 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 || posDevicesLoading ? 'none' : 'auto', isTapOrigin: isTapOrigin, animationDirection: animationDirection, 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: terminalFeatureScreens.map(function (_a, index) {
81
+ var Element = _a.element, name = _a.name;
82
+ var isActive = activeScreen.name === name;
83
+ return (_jsx(Collapse, __assign({ in: isActive, timeout: { enter: 1000, exit: 800 } }, { children: _jsx(Element, {}) }), index));
84
+ }) })) })) })) })));
85
+ });
86
+ export function TerminalElement(props) {
87
+ return (_jsx(ReduxProvider, __assign({ store: store }, { children: _jsx(Terminal, __assign({}, props)) })));
88
+ }
89
+ export function renderTerminalLib(config, elementId) {
90
+ var element = findOrCreateElementAndInject(elementId);
91
+ var root = createRoot(element);
92
+ var unmount = function () { return root.unmount(); };
93
+ root.render(_jsx(TerminalElement, __assign({}, config, { unmount: unmount })));
94
+ return { unmount: unmount };
95
+ }
@@ -0,0 +1 @@
1
+ export * from './Terminal';
@@ -0,0 +1 @@
1
+ export * from './Terminal';
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,68 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import * as React from 'react';
14
+ import { useTranslation } from 'react-i18next';
15
+ import Box from '@mui/material/Box';
16
+ import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
17
+ import Button from '../../../../components/Button';
18
+ import { useAppDispatch, useAppSelector } from '../../../../hooks';
19
+ import { formatCode } from '../../../../utils';
20
+ import { CONNECT_FLOWS, TERMINAL_PUSH_NOTIFICATION_DURATION } from '../../../../constants';
21
+ import { ScreenContainer } from '../../../shared/Containers';
22
+ import PushNotification from '../../../shared/PushNotification';
23
+ import { pushNotificationLinkNewTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
24
+ import { CodeDescription, QRCodeImage } from './styles';
25
+ import { LinkNewTerminalContainer, LinkTerminalText, QRCodeDescription } from '../shared';
26
+ var LinkNewTerminal = function () {
27
+ var _a, _b, _c, _d;
28
+ var t = useTranslation().t;
29
+ var dispatch = useAppDispatch();
30
+ var _e = useAppSelector(terminalSelector).data, terminal_device = _e.terminalInfo.selectedTerminal.terminal_device, responseData = _e.responseData;
31
+ var _f = React.useState(false), isReady = _f[0], setIsReady = _f[1];
32
+ var _g = React.useState(false), success = _g[0], setSuccess = _g[1];
33
+ var _h = React.useState(false), failed = _h[0], setFailed = _h[1];
34
+ var _j = responseData || {}, terminalData = _j.terminalData, linkNewTerminalData = _j.linkNewTerminalData;
35
+ var qrCode = "data:image/png;base64,".concat((_a = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.linking) === null || _a === void 0 ? void 0 : _a.qr);
36
+ var code = (_b = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.linking) === null || _b === void 0 ? void 0 : _b.code;
37
+ var expiry = TERMINAL_PUSH_NOTIFICATION_DURATION;
38
+ var deviceName = ((_d = (_c = terminal_device === null || terminal_device === void 0 ? void 0 : terminal_device.model) === null || _c === void 0 ? void 0 : _c.name[0]) === null || _d === void 0 ? void 0 : _d.text) || '';
39
+ var newTerminal = true;
40
+ React.useEffect(function () {
41
+ if (linkNewTerminalData && !isReady) {
42
+ setIsReady(true);
43
+ }
44
+ }, [linkNewTerminalData]);
45
+ React.useEffect(function () {
46
+ if (!isReady)
47
+ return;
48
+ var promise = dispatch(pushNotificationLinkNewTerminal({ newTerminal: newTerminal, onSuccess: function () { return setSuccess(true); }, onFailure: function () { return setFailed(true); } }));
49
+ promise
50
+ .unwrap()
51
+ .then(function (_a) {
52
+ var nextScreen = _a.nextScreen;
53
+ if (nextScreen)
54
+ dispatch(handleNextScreenStep(nextScreen));
55
+ })
56
+ .catch(function () { });
57
+ return function () {
58
+ promise === null || promise === void 0 ? void 0 : promise.abort();
59
+ };
60
+ }, [isReady]);
61
+ var handleOnBack = function () {
62
+ var _a;
63
+ var previousScreen = ((_a = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _a === void 0 ? void 0 : _a.length) ? CONNECT_FLOWS.terminal.posDeviceList : CONNECT_FLOWS.terminal.noTerminalLinked;
64
+ dispatch(handlePrevScreenStep(previousScreen));
65
+ };
66
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: deviceName }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(LinkNewTerminalContainer, { children: [_jsx(LinkTerminalText, { children: t('terminal_link_terminal') }), _jsx(QRCodeDescription, { children: t('terminal_qr_code_description') }), _jsx(QRCodeImage, { src: qrCode }), code && (_jsxs(_Fragment, { children: [_jsx(LinkTerminalText, { children: t('terminal_or_use_code') }), _jsx(CodeDescription, { children: formatCode(code) })] }))] }) })), _jsx(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: handleOnBack, variant: 'text' }, { children: t('back') })) }))] })));
67
+ };
68
+ export default React.memo(LinkNewTerminal);
@@ -0,0 +1,2 @@
1
+ import LinkNewTerminal from './LinkNewTerminal';
2
+ export default LinkNewTerminal;
@@ -0,0 +1,2 @@
1
+ import LinkNewTerminal from './LinkNewTerminal';
2
+ export default LinkNewTerminal;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export declare const QRCodeImage: import("@emotion/styled").StyledComponent<import("../../../../components/Icon").IconProps & import("react").RefAttributes<HTMLImageElement> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
3
+ export declare const CodeDescription: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
4
+ children?: import("react").ReactNode;
5
+ component?: import("react").ElementType<any> | undefined;
6
+ ref?: import("react").Ref<unknown> | undefined;
7
+ sx?: import("@mui/material/styles").SxProps<import("@mui/material/styles").Theme> | undefined;
8
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
9
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
10
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | ("left" | "right" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "bottom" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "children" | "component" | "ref" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
@@ -0,0 +1,28 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import Box from '@mui/material/Box';
13
+ import { styled } from '@mui/material/styles';
14
+ import Icon from '../../../../components/Icon';
15
+ export var QRCodeImage = styled(Icon)(function (_a) {
16
+ var spacing = _a.theme.spacing;
17
+ return ({
18
+ margin: '0px auto',
19
+ width: spacing(31.25),
20
+ height: spacing(31.25),
21
+ marginTop: spacing(2.5),
22
+ marginBottom: spacing(2.5)
23
+ });
24
+ });
25
+ export var CodeDescription = styled(Box)(function (_a) {
26
+ var _b = _a.theme, palette = _b.palette, spacing = _b.spacing, typography = _b.typography;
27
+ return (__assign(__assign({ backgroundColor: palette.common.white, padding: spacing(1.375, 2), color: palette.components.deviceCard.title }, typography.h4_small), { fontWeight: typography.fontWeightBold, display: 'flex', justifyContent: 'center' }));
28
+ });
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,50 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import * as React from 'react';
14
+ import { useTranslation } from 'react-i18next';
15
+ import Box from '@mui/material/Box';
16
+ import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
17
+ import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
18
+ import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, terminalSelector } from '../../../app/terminal/terminalStore';
19
+ import SuccessScreen from '../../../shared/SuccessScreen';
20
+ import Button from '../../../shared/Button';
21
+ import { SuccessContainerStyled } from '../shared';
22
+ import { CONNECT_FLOWS } from '../../../../constants';
23
+ var LinkedSuccess = function () {
24
+ var t = useTranslation().t;
25
+ var isAr = useLanguage().isAr;
26
+ var dispatch = useAppDispatch();
27
+ var _a = useAppSelector(terminalSelector), error = _a.error, loading = _a.loading, _b = _a.data, selectedPOS = _b.terminalInfo.selectedPOS, responseData = _b.responseData;
28
+ var _c = responseData || {}, boardData = _c.boardData, authData = _c.authData;
29
+ var handleGoToBoard = function () {
30
+ var board_id = (boardData || {}).id;
31
+ var _a = (authData === null || authData === void 0 ? void 0 : authData.recipient) || {}, id = _a.id, type = _a.type;
32
+ dispatch(retrieveTerminalList());
33
+ dispatch(retrieveBoardStatus({ boardId: board_id }))
34
+ .unwrap()
35
+ .then(function () {
36
+ dispatch(retrieveBoardDetails({ boardId: board_id, individualId: id, individualType: type }))
37
+ .unwrap()
38
+ .then(function () {
39
+ dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.board));
40
+ })
41
+ .catch(function () { });
42
+ })
43
+ .catch(function () { });
44
+ };
45
+ var handleOnBack = function () {
46
+ dispatch(handlePrevScreenStep());
47
+ };
48
+ return (_jsxs(SuccessContainerStyled, { children: [_jsx(SuccessScreen, { sx: { minHeight: 'unset', ml: 2.5, mr: 2.5 }, title: t('terminal_linked_success', { device: selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.display_name }), successTitle: t('terminal_go_to_board'), loading: loading, error: error || '' }), _jsx(Box, __assign({ sx: { width: '100%' } }, { children: _jsx(Button, __assign({ loading: loading, disableBack: true, onBackClicked: handleOnBack, onClick: handleGoToBoard, isAr: isAr }, { children: t('terminal_go_to_board') })) }))] }));
49
+ };
50
+ export default React.memo(LinkedSuccess);
@@ -0,0 +1,2 @@
1
+ import LinkedSuccess from './LinkedSuccess';
2
+ export default LinkedSuccess;
@@ -0,0 +1,2 @@
1
+ import LinkedSuccess from './LinkedSuccess';
2
+ export default LinkedSuccess;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;