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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +2 -2
  2. package/build/@types/app.d.ts +4 -2
  3. package/build/@types/app.js +2 -0
  4. package/build/@types/form.d.ts +3 -0
  5. package/build/@types/index.d.ts +1 -0
  6. package/build/@types/index.js +1 -0
  7. package/build/@types/terminal.d.ts +116 -0
  8. package/build/@types/terminal.js +1 -0
  9. package/build/api/auth.d.ts +10 -1
  10. package/build/api/index.d.ts +7 -1
  11. package/build/api/index.js +3 -1
  12. package/build/api/terminal.d.ts +28 -0
  13. package/build/api/terminal.js +45 -0
  14. package/build/app/rootReducer.d.ts +1 -0
  15. package/build/app/rootReducer.js +3 -1
  16. package/build/app/settings.d.ts +1 -0
  17. package/build/app/settings.js +7 -3
  18. package/build/app/store.d.ts +2 -0
  19. package/build/assets/currencies/AEDSymbol.d.ts +7 -0
  20. package/build/assets/currencies/AEDSymbol.js +28 -0
  21. package/build/assets/currencies/SARSymbol.d.ts +7 -0
  22. package/build/assets/currencies/SARSymbol.js +28 -0
  23. package/build/assets/currencies/index.d.ts +2 -0
  24. package/build/assets/currencies/index.js +2 -0
  25. package/build/assets/currencies/utils.d.ts +4 -0
  26. package/build/assets/currencies/utils.js +6 -0
  27. package/build/assets/locales/ar.json +43 -6
  28. package/build/assets/locales/en.json +46 -9
  29. package/build/components/DeviceCard/DeviceCard.d.ts +18 -0
  30. package/build/components/DeviceCard/DeviceCard.js +103 -0
  31. package/build/components/DeviceCard/index.d.ts +3 -0
  32. package/build/components/DeviceCard/index.js +2 -0
  33. package/build/components/OTPTimer/OTPTimer.d.ts +2 -1
  34. package/build/components/OTPTimer/OTPTimer.js +4 -4
  35. package/build/components/TextWithCurrency/TextWithCurrency.d.ts +7 -0
  36. package/build/components/TextWithCurrency/TextWithCurrency.js +14 -0
  37. package/build/components/TextWithCurrency/index.d.ts +2 -0
  38. package/build/components/TextWithCurrency/index.js +2 -0
  39. package/build/components/Tooltip/Tooltip.js +1 -1
  40. package/build/constants/api.d.ts +0 -1
  41. package/build/constants/api.js +0 -2
  42. package/build/constants/app.d.ts +14 -3
  43. package/build/constants/app.js +128 -6
  44. package/build/constants/assets.d.ts +11 -6
  45. package/build/constants/assets.js +118 -107
  46. package/build/constants/dummy.js +27 -20
  47. package/build/constants/flows.d.ts +15 -0
  48. package/build/constants/flows.js +15 -0
  49. package/build/constants/validation.d.ts +1 -0
  50. package/build/constants/validation.js +1 -0
  51. package/build/features/app/auth/authStore.d.ts +24 -5
  52. package/build/features/app/auth/authStore.js +136 -71
  53. package/build/features/app/connectExpress/connectExpressStore.js +38 -19
  54. package/build/features/app/individual/individualStore.js +0 -1
  55. package/build/features/app/tax/taxStore.js +1 -1
  56. package/build/features/app/terminal/terminalStore.d.ts +110 -0
  57. package/build/features/app/terminal/terminalStore.js +676 -0
  58. package/build/features/auth/screens/OTP/OTP.d.ts +13 -2
  59. package/build/features/auth/screens/OTP/OTP.js +15 -3
  60. package/build/features/auth/screens/OTP/index.d.ts +1 -2
  61. package/build/features/auth/screens/Passcode/Passcode.d.ts +16 -0
  62. package/build/features/auth/screens/Passcode/Passcode.js +82 -0
  63. package/build/features/auth/screens/Passcode/PasscodeInput.d.ts +6 -0
  64. package/build/features/auth/screens/Passcode/PasscodeInput.js +42 -0
  65. package/build/features/auth/screens/Passcode/index.d.ts +2 -0
  66. package/build/features/auth/screens/Passcode/index.js +2 -0
  67. package/build/features/auth/screens/Passcode/validation.d.ts +8 -0
  68. package/build/features/auth/screens/Passcode/validation.js +4 -0
  69. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +3 -8
  70. package/build/features/business/screens/Customers/ExpectedSalesRange.js +3 -8
  71. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +3 -7
  72. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +3 -7
  73. package/build/features/featuresScreens.d.ts +1 -0
  74. package/build/features/featuresScreens.js +72 -0
  75. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +3 -8
  76. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +3 -8
  77. package/build/features/shared/Background/LogoBackground.js +1 -1
  78. package/build/features/shared/Button/Button.js +2 -3
  79. package/build/features/shared/Button/FlowsButtons.js +1 -1
  80. package/build/features/shared/Input/Input.d.ts +1 -1
  81. package/build/features/shared/PushNotification/PushNotification.d.ts +11 -0
  82. package/build/features/shared/PushNotification/PushNotification.js +34 -0
  83. package/build/features/shared/PushNotification/index.d.ts +2 -0
  84. package/build/features/shared/PushNotification/index.js +2 -0
  85. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +2 -2
  86. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  87. package/build/features/shared/SuccessScreen/SuccessScreen.js +2 -2
  88. package/build/features/terminal/Terminal.d.ts +14 -0
  89. package/build/features/terminal/Terminal.js +95 -0
  90. package/build/features/terminal/index.d.ts +1 -0
  91. package/build/features/terminal/index.js +1 -0
  92. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.d.ts +3 -0
  93. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.js +69 -0
  94. package/build/features/terminal/screens/LinkNewTerminal/index.d.ts +2 -0
  95. package/build/features/terminal/screens/LinkNewTerminal/index.js +2 -0
  96. package/build/features/terminal/screens/LinkNewTerminal/styles.d.ts +10 -0
  97. package/build/features/terminal/screens/LinkNewTerminal/styles.js +28 -0
  98. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.d.ts +3 -0
  99. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.js +51 -0
  100. package/build/features/terminal/screens/LinkedSuccess/index.d.ts +2 -0
  101. package/build/features/terminal/screens/LinkedSuccess/index.js +2 -0
  102. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.d.ts +3 -0
  103. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.js +55 -0
  104. package/build/features/terminal/screens/LinkedTerminalInfo/index.d.ts +2 -0
  105. package/build/features/terminal/screens/LinkedTerminalInfo/index.js +2 -0
  106. package/build/features/terminal/screens/Loading/Loading.d.ts +4 -0
  107. package/build/features/terminal/screens/Loading/Loading.js +10 -0
  108. package/build/features/terminal/screens/Loading/index.d.ts +2 -0
  109. package/build/features/terminal/screens/Loading/index.js +2 -0
  110. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.d.ts +3 -0
  111. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +56 -0
  112. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.d.ts +2 -0
  113. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.js +2 -0
  114. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.d.ts +36 -0
  115. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.js +34 -0
  116. package/build/features/terminal/screens/OperatorError/OperatorError.d.ts +5 -0
  117. package/build/features/terminal/screens/OperatorError/OperatorError.js +9 -0
  118. package/build/features/terminal/screens/OperatorError/index.d.ts +2 -0
  119. package/build/features/terminal/screens/OperatorError/index.js +2 -0
  120. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.d.ts +3 -0
  121. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +21 -0
  122. package/build/features/terminal/screens/ResetPasswordSuccess/index.d.ts +2 -0
  123. package/build/features/terminal/screens/ResetPasswordSuccess/index.js +2 -0
  124. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.d.ts +3 -0
  125. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +31 -0
  126. package/build/features/terminal/screens/SuccessWithFlowButtons/index.d.ts +2 -0
  127. package/build/features/terminal/screens/SuccessWithFlowButtons/index.js +2 -0
  128. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.d.ts +9 -0
  129. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.js +20 -0
  130. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.d.ts +3 -0
  131. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +153 -0
  132. package/build/features/terminal/screens/TerminalDeviceList/index.d.ts +2 -0
  133. package/build/features/terminal/screens/TerminalDeviceList/index.js +2 -0
  134. package/build/features/terminal/screens/TerminalDeviceList/styles.d.ts +9 -0
  135. package/build/features/terminal/screens/TerminalDeviceList/styles.js +13 -0
  136. package/build/features/terminal/screens/TerminalListPage/TerminalListPage.d.ts +3 -0
  137. package/build/features/terminal/screens/TerminalListPage/TerminalListPage.js +47 -0
  138. package/build/features/terminal/screens/TerminalListPage/index.d.ts +2 -0
  139. package/build/features/terminal/screens/TerminalListPage/index.js +2 -0
  140. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.d.ts +3 -0
  141. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.js +53 -0
  142. package/build/features/terminal/screens/UnlinkedSuccess/index.d.ts +2 -0
  143. package/build/features/terminal/screens/UnlinkedSuccess/index.js +2 -0
  144. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.d.ts +3 -0
  145. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.js +98 -0
  146. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.d.ts +2 -0
  147. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.js +2 -0
  148. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.d.ts +26 -0
  149. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.js +30 -0
  150. package/build/features/terminal/screens/Verify/OTPInput.d.ts +7 -0
  151. package/build/features/terminal/screens/Verify/OTPInput.js +51 -0
  152. package/build/features/terminal/screens/Verify/Verify.d.ts +5 -0
  153. package/build/features/terminal/screens/Verify/Verify.js +85 -0
  154. package/build/features/terminal/screens/Verify/index.d.ts +2 -0
  155. package/build/features/terminal/screens/Verify/index.js +2 -0
  156. package/build/features/terminal/screens/Verify/validation.d.ts +8 -0
  157. package/build/features/terminal/screens/Verify/validation.js +4 -0
  158. package/build/features/terminal/screens/shared/Header.d.ts +10 -0
  159. package/build/features/terminal/screens/shared/Header.js +30 -0
  160. package/build/features/terminal/screens/shared/TerminalList.d.ts +11 -0
  161. package/build/features/terminal/screens/shared/TerminalList.js +25 -0
  162. package/build/features/terminal/screens/shared/index.d.ts +5 -0
  163. package/build/features/terminal/screens/shared/index.js +5 -0
  164. package/build/features/terminal/screens/shared/styles.d.ts +196 -0
  165. package/build/features/terminal/screens/shared/styles.js +155 -0
  166. package/build/features/terminal/screens/shared/utils.d.ts +7 -0
  167. package/build/features/terminal/screens/shared/utils.js +24 -0
  168. package/build/hooks/useAppDispatch.d.ts +1 -0
  169. package/build/index.d.ts +3 -2
  170. package/build/index.js +4 -2
  171. package/build/theme/palette.js +12 -0
  172. package/build/theme/typography.js +4 -0
  173. package/build/utils/common.js +4 -4
  174. package/build/utils/string.d.ts +3 -2
  175. package/build/utils/string.js +10 -1
  176. package/package.json +2 -2
@@ -53,8 +53,7 @@ var BackIconStyled = styled(Icon, { shouldForwardProp: function (prop) { return
53
53
  var ButtonBoxStyled = styled(Box)(function (_a) {
54
54
  var theme = _a.theme;
55
55
  return ({
56
- margin: theme.spacing(0, 2.5, 2.5, 2.5),
57
- marginBlockStart: theme.spacing(5),
56
+ margin: theme.spacing(5, 2.5, 2.5, 2.5),
58
57
  maxHeight: theme.spacing(5.375),
59
58
  display: 'flex',
60
59
  alignItems: 'center',
@@ -113,5 +112,5 @@ export default function CustomButton(_a) {
113
112
  }, 500);
114
113
  };
115
114
  }, []);
116
- 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 })) }))] }))] }));
117
116
  }
@@ -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
  }
@@ -20,7 +20,7 @@ export declare const InputStyled: import("@emotion/styled").StyledComponent<Pick
20
20
  warningType?: "alert" | "error" | "hint" | undefined;
21
21
  } & {} & import("@mui/system").MUIStyledCommonProps<Theme>, {}, {}>;
22
22
  export interface CustomInputProps extends InputProps {
23
- label?: string;
23
+ label?: string | JSX.Element;
24
24
  required?: boolean;
25
25
  labelSx?: SxProps<Theme>;
26
26
  }
@@ -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;
@@ -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
  }
@@ -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, terminalListLoading = _e.terminalListLoading;
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 || terminalListLoading ? '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,69 @@
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 data = useAppSelector(terminalSelector).data;
31
+ var _e = React.useState(false), isReady = _e[0], setIsReady = _e[1];
32
+ var _f = React.useState(false), success = _f[0], setSuccess = _f[1];
33
+ var _g = React.useState(false), failed = _g[0], setFailed = _g[1];
34
+ var terminalInfo = data.terminalInfo, responseData = data.responseData;
35
+ var _h = responseData || {}, terminalData = _h.terminalData, linkNewTerminalData = _h.linkNewTerminalData;
36
+ var terminal_devices = (terminalData || {}).terminal_devices;
37
+ 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);
38
+ var code = (_b = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.linking) === null || _b === void 0 ? void 0 : _b.code;
39
+ var expiry = TERMINAL_PUSH_NOTIFICATION_DURATION;
40
+ var deviceName = ((_d = (_c = terminalInfo.selectedTerminalDevice.model) === null || _c === void 0 ? void 0 : _c.name[0]) === null || _d === void 0 ? void 0 : _d.text) || '';
41
+ var newTerminal = true;
42
+ React.useEffect(function () {
43
+ if (linkNewTerminalData && !isReady) {
44
+ setIsReady(true);
45
+ }
46
+ }, [linkNewTerminalData]);
47
+ React.useEffect(function () {
48
+ if (!isReady)
49
+ return;
50
+ var promise = dispatch(pushNotificationLinkNewTerminal({ newTerminal: newTerminal, onSuccess: function () { return setSuccess(true); }, onFailure: function () { return setFailed(true); } }));
51
+ promise
52
+ .unwrap()
53
+ .then(function (_a) {
54
+ var nextScreen = _a.nextScreen;
55
+ if (nextScreen)
56
+ dispatch(handleNextScreenStep(nextScreen));
57
+ })
58
+ .catch(function () { });
59
+ return function () {
60
+ promise === null || promise === void 0 ? void 0 : promise.abort();
61
+ };
62
+ }, [isReady]);
63
+ var handleOnBack = function () {
64
+ var previousScreen = (terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.length) ? CONNECT_FLOWS.terminal.terminalList : CONNECT_FLOWS.terminal.noTerminalLinked;
65
+ dispatch(handlePrevScreenStep(previousScreen));
66
+ };
67
+ 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') })) }))] })));
68
+ };
69
+ 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(21.875),
20
+ height: spacing(21.875),
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,51 @@
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, retrieveTerminalDeviceList, terminalSelector } from '../../../app/terminal/terminalStore';
19
+ import SuccessScreen from '../../../shared/SuccessScreen';
20
+ import Button from '../../../shared/Button';
21
+ import { getTerminalName, 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, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData;
28
+ var _c = responseData || {}, boardData = _c.boardData, authData = _c.authData;
29
+ var deviceName = getTerminalName(selectedTerminal);
30
+ var handleGoToBoard = function () {
31
+ var board_id = (boardData || {}).id;
32
+ var _a = (authData === null || authData === void 0 ? void 0 : authData.recipient) || {}, id = _a.id, type = _a.type;
33
+ dispatch(retrieveTerminalDeviceList());
34
+ dispatch(retrieveBoardStatus({ boardId: board_id }))
35
+ .unwrap()
36
+ .then(function () {
37
+ dispatch(retrieveBoardDetails({ boardId: board_id, individualId: id, individualType: type }))
38
+ .unwrap()
39
+ .then(function () {
40
+ dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.board));
41
+ })
42
+ .catch(function () { });
43
+ })
44
+ .catch(function () { });
45
+ };
46
+ var handleOnBack = function () {
47
+ dispatch(handlePrevScreenStep());
48
+ };
49
+ return (_jsxs(SuccessContainerStyled, { children: [_jsx(SuccessScreen, { sx: { minHeight: 'unset', ml: 2.5, mr: 2.5 }, title: t('terminal_linked_success', { device: deviceName }), 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') })) }))] }));
50
+ };
51
+ 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;
@@ -0,0 +1,55 @@
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 { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
16
+ import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
17
+ import { useTheme } from '@mui/material';
18
+ import { CONNECT_FLOWS, ICONS_NAMES } from '../../../../constants';
19
+ import DeviceCard from '../../../../components/DeviceCard';
20
+ import Warning from '../../../../components/Warning';
21
+ import { ScreenContainer } from '../../../shared/Containers';
22
+ import Button from '../../../shared/Button';
23
+ import { clearError, terminalSelector, unlinkTerminalDevice } from '../../../app/terminal/terminalStore';
24
+ import { Container, getId, getIdLabel, getPairedWith, LinkWithText } from '../shared';
25
+ var LinkedTerminalInfo = function () {
26
+ var _a, _b, _c, _d, _e, _f, _g;
27
+ var t = useTranslation().t;
28
+ var _h = useTheme(), spacing = _h.spacing, palette = _h.palette;
29
+ var dispatch = useAppDispatch();
30
+ var isAr = useLanguage().isAr;
31
+ var _j = useAppSelector(terminalSelector), error = _j.error, selectedTerminalDevice = _j.data.terminalInfo.selectedTerminalDevice, loading = _j.loading;
32
+ var model = selectedTerminalDevice.model, linked = selectedTerminalDevice.linked, display_name = selectedTerminalDevice.display_name, terminal = selectedTerminalDevice.terminal, platform = selectedTerminalDevice.platform;
33
+ var _k = (model || {}).image_url, image_url = _k === void 0 ? ICONS_NAMES.device_image : _k;
34
+ var deviceName = (_b = (_a = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _a === void 0 ? void 0 : _a.display_name) !== null && _b !== void 0 ? _b : (_c = terminal === null || terminal === void 0 ? void 0 : terminal.name) === null || _c === void 0 ? void 0 : _c.en;
35
+ var deviceImage = (_e = (_d = platform === null || platform === void 0 ? void 0 : platform.brand) === null || _d === void 0 ? void 0 : _d.logo) !== null && _e !== void 0 ? _e : ICONS_NAMES.platform_image;
36
+ var deviceId = (_g = (_f = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _f === void 0 ? void 0 : _f.id) !== null && _g !== void 0 ? _g : terminal === null || terminal === void 0 ? void 0 : terminal.legacy_id;
37
+ React.useEffect(function () {
38
+ if (error)
39
+ dispatch(clearError());
40
+ }, []);
41
+ var handleOnNext = function () {
42
+ dispatch(unlinkTerminalDevice())
43
+ .unwrap()
44
+ .then(function (_a) {
45
+ var nextScreen = _a.nextScreen;
46
+ dispatch(handleNextScreenStep(nextScreen));
47
+ })
48
+ .catch(function () { });
49
+ };
50
+ var handleOnBack = function () {
51
+ dispatch(handlePrevScreenStep(CONNECT_FLOWS.terminal.terminalDeviceList));
52
+ };
53
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 224, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(DeviceCard, { badge: true, image: image_url, name: display_name, deviceId: getId(selectedTerminalDevice), deviceIdLabel: getIdLabel(selectedTerminalDevice), pairedWith: getPairedWith(selectedTerminalDevice), isLinked: linked }), _jsx(LinkWithText, { children: t('terminal_linked_with') }), _jsx(DeviceCard, { sx: { minHeight: spacing(10), borderRadius: spacing(1), background: palette.components.deviceCard.deviceInfoBackground }, image: deviceImage || '', name: deviceName || '', deviceId: deviceId !== null && deviceId !== void 0 ? deviceId : '', isLinked: linked })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Button, __assign({ loading: loading, onBackClicked: handleOnBack, onClick: handleOnNext, isAr: isAr }, { children: t('terminal_unlink') }))] })));
54
+ };
55
+ export default React.memo(LinkedTerminalInfo);
@@ -0,0 +1,2 @@
1
+ import LinkedTerminalInfo from './LinkedTerminalInfo';
2
+ export default LinkedTerminalInfo;
@@ -0,0 +1,2 @@
1
+ import LinkedTerminalInfo from './LinkedTerminalInfo';
2
+ export default LinkedTerminalInfo;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const Loading: () => JSX.Element;
3
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ import { useAppSelector } from '../../../../hooks';
4
+ import DataLoading from '../../../shared/DataLoading';
5
+ import { terminalSelector } from '../../../app/terminal/terminalStore';
6
+ export var Loading = function () {
7
+ var error = useAppSelector(terminalSelector).error;
8
+ return _jsx(DataLoading, { error: error });
9
+ };
10
+ export default memo(Loading);
@@ -0,0 +1,2 @@
1
+ import Loading from './Loading';
2
+ export default Loading;
@@ -0,0 +1,2 @@
1
+ import Loading from './Loading';
2
+ export default Loading;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;