@networkinternational/ni-card-management-sdk 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/NICardManagementComponents/CardDetailsComponent.js +11 -1
- package/lib/commonjs/NICardManagementComponents/CardDetailsComponent.js.map +1 -1
- package/lib/commonjs/NICardManagementComponents/ViewPinComponent.js +10 -5
- package/lib/commonjs/NICardManagementComponents/ViewPinComponent.js.map +1 -1
- package/lib/commonjs/components/CardDetails/CardHolderNameGroups.js +4 -5
- package/lib/commonjs/components/CardDetails/CardHolderNameGroups.js.map +1 -1
- package/lib/commonjs/components/CardDetails/CardNumberGroup.js +4 -5
- package/lib/commonjs/components/CardDetails/CardNumberGroup.js.map +1 -1
- package/lib/commonjs/components/FeedbackPopup/FeedbackPopup.js +106 -0
- package/lib/commonjs/components/FeedbackPopup/FeedbackPopup.js.map +1 -0
- package/lib/commonjs/config/localization.js +10 -0
- package/lib/commonjs/config/localization.js.map +1 -1
- package/lib/module/NICardManagementComponents/CardDetailsComponent.js +11 -1
- package/lib/module/NICardManagementComponents/CardDetailsComponent.js.map +1 -1
- package/lib/module/NICardManagementComponents/ViewPinComponent.js +10 -5
- package/lib/module/NICardManagementComponents/ViewPinComponent.js.map +1 -1
- package/lib/module/components/CardDetails/CardHolderNameGroups.js +4 -5
- package/lib/module/components/CardDetails/CardHolderNameGroups.js.map +1 -1
- package/lib/module/components/CardDetails/CardNumberGroup.js +4 -5
- package/lib/module/components/CardDetails/CardNumberGroup.js.map +1 -1
- package/lib/module/components/FeedbackPopup/FeedbackPopup.js +97 -0
- package/lib/module/components/FeedbackPopup/FeedbackPopup.js.map +1 -0
- package/lib/module/config/localization.js +10 -0
- package/lib/module/config/localization.js.map +1 -1
- package/lib/typescript/src/NICardManagementComponents/CardDetailsComponent.d.ts.map +1 -1
- package/lib/typescript/src/NICardManagementComponents/ViewPinComponent.d.ts.map +1 -1
- package/lib/typescript/src/components/CardDetails/CardHolderNameGroups.d.ts.map +1 -1
- package/lib/typescript/src/components/CardDetails/CardNumberGroup.d.ts.map +1 -1
- package/lib/typescript/src/components/FeedbackPopup/FeedbackPopup.d.ts +13 -0
- package/lib/typescript/src/components/FeedbackPopup/FeedbackPopup.d.ts.map +1 -0
- package/lib/typescript/src/config/localization.d.ts +10 -0
- package/lib/typescript/src/config/localization.d.ts.map +1 -1
- package/lib/typescript/src/utils/localization.d.ts +5 -0
- package/lib/typescript/src/utils/localization.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NICardManagementComponents/CardDetailsComponent.tsx +11 -0
- package/src/NICardManagementComponents/ViewPinComponent.tsx +11 -7
- package/src/components/CardDetails/CardHolderNameGroups.tsx +4 -6
- package/src/components/CardDetails/CardNumberGroup.tsx +4 -6
- package/src/components/FeedbackPopup/FeedbackPopup.tsx +117 -0
- package/src/config/localization.ts +10 -0
|
@@ -17,6 +17,8 @@ var _PinState = _interopRequireDefault(require("../components/PinState/PinState"
|
|
|
17
17
|
var _useGetCardDetails = require("../hooks/useGetCardDetails");
|
|
18
18
|
var _NiInputInterfaces = require("../interfaces/NiInputInterfaces");
|
|
19
19
|
var _themeColors = require("../config/themeColors");
|
|
20
|
+
var _FeedbackPopup = require("../components/FeedbackPopup/FeedbackPopup");
|
|
21
|
+
var _localization = _interopRequireDefault(require("../utils/localization"));
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -28,6 +30,7 @@ function CardDetailsComponent({
|
|
|
28
30
|
displayAttributes
|
|
29
31
|
} = input || {};
|
|
30
32
|
const theme = displayAttributes?.theme || _NiInputInterfaces.NIThemeEnum.light;
|
|
33
|
+
const language = displayAttributes?.language || 'english';
|
|
31
34
|
const cardDetailsStyle = {
|
|
32
35
|
height: '100%',
|
|
33
36
|
width: '100%',
|
|
@@ -63,7 +66,14 @@ function CardDetailsComponent({
|
|
|
63
66
|
isLoading: getCardDetailsIsLoading,
|
|
64
67
|
theme: theme,
|
|
65
68
|
isCardDetails: true
|
|
66
|
-
}))
|
|
69
|
+
})), /*#__PURE__*/_react.default.createElement(_FeedbackPopup.FeedbackPopup, {
|
|
70
|
+
error: getCardDetailsError,
|
|
71
|
+
isLoading: getCardDetailsIsLoading,
|
|
72
|
+
isSuccess: !!getCardDetailsResult,
|
|
73
|
+
language: language,
|
|
74
|
+
successMessage: (0, _localization.default)(language).cardDetailsSuccess,
|
|
75
|
+
theme: theme
|
|
76
|
+
}));
|
|
67
77
|
}
|
|
68
78
|
const styles = _reactNative.StyleSheet.create({
|
|
69
79
|
cardDetailsStyle: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CardDetails","_PinState","_interopRequireDefault","_useGetCardDetails","_NiInputInterfaces","_themeColors","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CardDetailsComponent","input","callback","displayAttributes","theme","NIThemeEnum","light","cardDetailsStyle","height","width","backgroundColor","themeColors","background","dark","result","getCardDetailsResult","error","getCardDetailsError","isLoading","getCardDetailsIsLoading","onGetCardDetails","useGetCardDetails","useEffect","error_getCardDetailsResult","clearPan","maskedPan","expiry","clearCVV2","cardholderName","createElement","View","style","styles","CardDetails","isError","isCardDetails","StyleSheet","create","marginTop"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/CardDetailsComponent.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AAEA,IAAAO,YAAA,GAAAP,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CardDetails","_PinState","_interopRequireDefault","_useGetCardDetails","_NiInputInterfaces","_themeColors","_FeedbackPopup","_localization","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CardDetailsComponent","input","callback","displayAttributes","theme","NIThemeEnum","light","language","cardDetailsStyle","height","width","backgroundColor","themeColors","background","dark","result","getCardDetailsResult","error","getCardDetailsError","isLoading","getCardDetailsIsLoading","onGetCardDetails","useGetCardDetails","useEffect","error_getCardDetailsResult","clearPan","maskedPan","expiry","clearCVV2","cardholderName","createElement","View","style","styles","CardDetails","isError","isCardDetails","FeedbackPopup","isSuccess","successMessage","localLabels","cardDetailsSuccess","StyleSheet","create","marginTop"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/CardDetailsComponent.tsx"],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ var _NiInputInterfaces = require("../interfaces/NiInputInterfaces");
|
|
|
15
15
|
var _useViewPin = require("../hooks/useViewPin");
|
|
16
16
|
var _PinState = _interopRequireDefault(require("../components/PinState/PinState"));
|
|
17
17
|
var _ViewPin = _interopRequireDefault(require("../components/ViewPin/ViewPin"));
|
|
18
|
+
var _FeedbackPopup = require("../components/FeedbackPopup/FeedbackPopup");
|
|
19
|
+
var _localization = _interopRequireDefault(require("../utils/localization"));
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -24,6 +26,7 @@ function ViewPinComponent({
|
|
|
24
26
|
callback
|
|
25
27
|
}) {
|
|
26
28
|
const theme = input?.displayAttributes?.theme || _NiInputInterfaces.NIThemeEnum.light;
|
|
29
|
+
const language = input?.displayAttributes?.language || 'english';
|
|
27
30
|
const countdownTime = input?.timer;
|
|
28
31
|
const {
|
|
29
32
|
result: viewPinResult,
|
|
@@ -31,11 +34,6 @@ function ViewPinComponent({
|
|
|
31
34
|
isLoading: isViewPinLoading,
|
|
32
35
|
onViewPin
|
|
33
36
|
} = (0, _useViewPin.useViewPin)();
|
|
34
|
-
(!!viewPinResult || !!viewPinError) && console.log('ViewPinView', {
|
|
35
|
-
viewPinResult,
|
|
36
|
-
viewPinError,
|
|
37
|
-
isViewPinLoading
|
|
38
|
-
});
|
|
39
37
|
(0, _react.useEffect)(() => {
|
|
40
38
|
if (input) {
|
|
41
39
|
onViewPin(input, callback);
|
|
@@ -49,6 +47,13 @@ function ViewPinComponent({
|
|
|
49
47
|
}), /*#__PURE__*/_react.default.createElement(_PinState.default, {
|
|
50
48
|
isLoading: isViewPinLoading,
|
|
51
49
|
theme: theme
|
|
50
|
+
}), /*#__PURE__*/_react.default.createElement(_FeedbackPopup.FeedbackPopup, {
|
|
51
|
+
error: viewPinError,
|
|
52
|
+
isLoading: isViewPinLoading,
|
|
53
|
+
isSuccess: !!viewPinResult,
|
|
54
|
+
language: language,
|
|
55
|
+
successMessage: (0, _localization.default)(language).viewPinSuccess,
|
|
56
|
+
theme: theme
|
|
52
57
|
}));
|
|
53
58
|
}
|
|
54
59
|
//# sourceMappingURL=ViewPinComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_NiInputInterfaces","_useViewPin","_PinState","_interopRequireDefault","_ViewPin","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ViewPinComponent","input","type","pinType","callback","theme","displayAttributes","NIThemeEnum","light","countdownTime","timer","result","viewPinResult","error","viewPinError","isLoading","isViewPinLoading","onViewPin","useViewPin","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_NiInputInterfaces","_useViewPin","_PinState","_interopRequireDefault","_ViewPin","_FeedbackPopup","_localization","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ViewPinComponent","input","type","pinType","callback","theme","displayAttributes","NIThemeEnum","light","language","countdownTime","timer","result","viewPinResult","error","viewPinError","isLoading","isViewPinLoading","onViewPin","useViewPin","useEffect","createElement","Fragment","NIPinTypeEnum","dynamicFourToSix","FeedbackPopup","isSuccess","successMessage","localLabels","viewPinSuccess"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/ViewPinComponent.tsx"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.CardDetailsCardHolderNameGroups = CardDetailsCardHolderNameGroups;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _clipboard = require("@react-native-clipboard/clipboard");
|
|
9
|
+
var _clipboard = _interopRequireDefault(require("@react-native-clipboard/clipboard"));
|
|
10
10
|
var _NiInputInterfaces = require("../../interfaces/NiInputInterfaces");
|
|
11
11
|
var _styles = require("./styles");
|
|
12
12
|
var _configCard = require("../../config/configCard");
|
|
@@ -21,7 +21,6 @@ function CardDetailsCardHolderNameGroups({
|
|
|
21
21
|
displayAttributes,
|
|
22
22
|
setTimeOut
|
|
23
23
|
}) {
|
|
24
|
-
const [data, setString] = (0, _clipboard.useClipboard)();
|
|
25
24
|
const maskedCardholderName = cardholderName.replace(/\b\w*/g, function (s) {
|
|
26
25
|
return s.replace(/(?<!^)./g, '*');
|
|
27
26
|
});
|
|
@@ -43,12 +42,12 @@ function CardDetailsCardHolderNameGroups({
|
|
|
43
42
|
fontSize: textFont.size,
|
|
44
43
|
fontFamily: textFont.name
|
|
45
44
|
};
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
function handleOnPress() {
|
|
46
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
47
|
+
_clipboard.default.setString(cardholderName);
|
|
48
48
|
setIsVisibleCopiedButton(true);
|
|
49
49
|
setTimeOut();
|
|
50
50
|
}
|
|
51
|
-
!!data && console.log('clipboard', data);
|
|
52
51
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
53
52
|
style: [_styles.styles.containerHolderNameContentGroupTopAlignment, containerHolderNameContentGroupTopAlignmentStyle]
|
|
54
53
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_clipboard","_NiInputInterfaces","_styles","_configCard","_themeColors","_PredeterminedIcon","obj","__esModule","default","CardDetailsCardHolderNameGroups","cardholderName","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_clipboard","_NiInputInterfaces","_styles","_configCard","_themeColors","_PredeterminedIcon","obj","__esModule","default","CardDetailsCardHolderNameGroups","cardholderName","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","maskedCardholderName","replace","s","cardholderNameRendered","holderNameContentGroupTopAlignment","Math","round","cardAttributes","textPositioning","cardHolderNameGroupTopAlignment","HEIGHT_CARD","containerHolderNameContentGroupTopAlignmentStyle","position","top","theme","NIThemeEnum","light","textFonts","fonts","filter","item","label","textFont","length","font","name","size","contentStyleText","color","themeColors","colorCard","dark","fontSize","fontFamily","handleOnPress","Clipboard","setString","createElement","Fragment","View","style","styles","containerHolderNameContentGroupTopAlignment","copyRow","I18nManager","isRTL","flexDirection","Text","textContent","TouchableOpacity","onPress","PredeterminedIcon"],"sourceRoot":"../../../../src","sources":["components/CardDetails/CardHolderNameGroups.tsx"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.CardDetailsCardNumberGroup = CardDetailsCardNumberGroup;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _clipboard = require("@react-native-clipboard/clipboard");
|
|
9
|
+
var _clipboard = _interopRequireDefault(require("@react-native-clipboard/clipboard"));
|
|
10
10
|
var _NiInputInterfaces = require("../../interfaces/NiInputInterfaces");
|
|
11
11
|
var _styles = require("./styles");
|
|
12
12
|
var _configCard = require("../../config/configCard");
|
|
@@ -22,7 +22,6 @@ function CardDetailsCardNumberGroup({
|
|
|
22
22
|
displayAttributes,
|
|
23
23
|
setTimeOut
|
|
24
24
|
}) {
|
|
25
|
-
const [data, setString] = (0, _clipboard.useClipboard)();
|
|
26
25
|
const clearPanRendered = clearPan.replace(/.{4}/g, '$& ');
|
|
27
26
|
const maskedPanRendered = maskedPan.replace(/[a-zA-Z0-9]+(?=....)/g, function (s) {
|
|
28
27
|
return '*'.repeat(s.length);
|
|
@@ -45,12 +44,12 @@ function CardDetailsCardNumberGroup({
|
|
|
45
44
|
fontSize: textFont.size,
|
|
46
45
|
fontFamily: textFont.name
|
|
47
46
|
};
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
function handleOnPress() {
|
|
48
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
49
|
+
_clipboard.default.setString(clearPan);
|
|
50
50
|
setIsVisibleCopiedButton(true);
|
|
51
51
|
setTimeOut();
|
|
52
52
|
}
|
|
53
|
-
!!data && console.log('clipboard', data);
|
|
54
53
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
55
54
|
style: [_styles.styles.containerCardNumberContentGroupTopAlignment, containerCardNumberContentGroupTopAlignmentStyle]
|
|
56
55
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_clipboard","_NiInputInterfaces","_styles","_configCard","_themeColors","_PredeterminedIcon","obj","__esModule","default","CardDetailsCardNumberGroup","clearPan","maskedPan","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_clipboard","_NiInputInterfaces","_styles","_configCard","_themeColors","_PredeterminedIcon","obj","__esModule","default","CardDetailsCardNumberGroup","clearPan","maskedPan","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","clearPanRendered","replace","maskedPanRendered","s","repeat","length","cardNumber","cardNumberGroupTopAlignment","Math","round","cardAttributes","textPositioning","HEIGHT_CARD","containerCardNumberContentGroupTopAlignmentStyle","position","top","theme","NIThemeEnum","light","textFonts","fonts","filter","item","label","textFont","font","name","size","contentStyleText","color","themeColors","colorCard","dark","fontSize","fontFamily","handleOnPress","Clipboard","setString","createElement","Fragment","View","style","styles","containerCardNumberContentGroupTopAlignment","copyRow","I18nManager","isRTL","flexDirection","Text","textContent","TouchableOpacity","onPress","PredeterminedIcon"],"sourceRoot":"../../../../src","sources":["components/CardDetails/CardNumberGroup.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FeedbackPopup = FeedbackPopup;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _themeColors = require("../../config/themeColors");
|
|
10
|
+
var _localization = _interopRequireDefault(require("../../utils/localization"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function FeedbackPopup({
|
|
15
|
+
error,
|
|
16
|
+
isLoading,
|
|
17
|
+
isSuccess,
|
|
18
|
+
successMessage,
|
|
19
|
+
theme,
|
|
20
|
+
language
|
|
21
|
+
}) {
|
|
22
|
+
const [isVisible, setIsVisible] = (0, _react.useState)(false);
|
|
23
|
+
const labels = (0, _localization.default)(language);
|
|
24
|
+
const isError = !!error;
|
|
25
|
+
(0, _react.useEffect)(() => {
|
|
26
|
+
if (isLoading) {
|
|
27
|
+
setIsVisible(false);
|
|
28
|
+
} else if (error || isSuccess) {
|
|
29
|
+
setIsVisible(true);
|
|
30
|
+
}
|
|
31
|
+
}, [error, isLoading, isSuccess]);
|
|
32
|
+
const colors = _themeColors.themeColors[theme];
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
|
|
34
|
+
animationType: "fade",
|
|
35
|
+
onRequestClose: () => setIsVisible(false),
|
|
36
|
+
transparent: true,
|
|
37
|
+
visible: isVisible
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
39
|
+
style: styles.backdrop
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
41
|
+
accessibilityRole: "alert",
|
|
42
|
+
style: [styles.popup, {
|
|
43
|
+
backgroundColor: colors.background
|
|
44
|
+
}]
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
46
|
+
style: [styles.title, isError ? styles.error : styles.success]
|
|
47
|
+
}, isError ? labels.errorTitle : labels.successTitle), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
48
|
+
style: [styles.message, {
|
|
49
|
+
color: colors.color
|
|
50
|
+
}]
|
|
51
|
+
}, error?.message || successMessage), /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
|
|
52
|
+
accessibilityRole: "button",
|
|
53
|
+
onPress: () => setIsVisible(false),
|
|
54
|
+
style: styles.button
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
56
|
+
style: styles.buttonText
|
|
57
|
+
}, labels.ok)))));
|
|
58
|
+
}
|
|
59
|
+
const styles = _reactNative.StyleSheet.create({
|
|
60
|
+
backdrop: {
|
|
61
|
+
alignItems: 'center',
|
|
62
|
+
backgroundColor: 'rgba(0, 0, 0, 0.45)',
|
|
63
|
+
flex: 1,
|
|
64
|
+
justifyContent: 'center',
|
|
65
|
+
padding: 24
|
|
66
|
+
},
|
|
67
|
+
popup: {
|
|
68
|
+
borderRadius: 8,
|
|
69
|
+
maxWidth: 420,
|
|
70
|
+
padding: 24,
|
|
71
|
+
width: '100%'
|
|
72
|
+
},
|
|
73
|
+
title: {
|
|
74
|
+
fontSize: 20,
|
|
75
|
+
fontWeight: '600',
|
|
76
|
+
marginBottom: 12,
|
|
77
|
+
textAlign: 'center'
|
|
78
|
+
},
|
|
79
|
+
error: {
|
|
80
|
+
color: '#C62828'
|
|
81
|
+
},
|
|
82
|
+
success: {
|
|
83
|
+
color: '#2E7D32'
|
|
84
|
+
},
|
|
85
|
+
message: {
|
|
86
|
+
fontSize: 16,
|
|
87
|
+
lineHeight: 22,
|
|
88
|
+
marginBottom: 24,
|
|
89
|
+
textAlign: 'center'
|
|
90
|
+
},
|
|
91
|
+
button: {
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
alignSelf: 'center',
|
|
94
|
+
backgroundColor: '#202124',
|
|
95
|
+
borderRadius: 6,
|
|
96
|
+
minWidth: 96,
|
|
97
|
+
paddingHorizontal: 20,
|
|
98
|
+
paddingVertical: 12
|
|
99
|
+
},
|
|
100
|
+
buttonText: {
|
|
101
|
+
color: 'white',
|
|
102
|
+
fontSize: 16,
|
|
103
|
+
fontWeight: '600'
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=FeedbackPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_themeColors","_localization","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FeedbackPopup","error","isLoading","isSuccess","successMessage","theme","language","isVisible","setIsVisible","useState","labels","localLabels","isError","useEffect","colors","themeColors","createElement","Modal","animationType","onRequestClose","transparent","visible","View","style","styles","backdrop","accessibilityRole","popup","backgroundColor","background","Text","title","success","errorTitle","successTitle","message","color","Pressable","onPress","button","buttonText","ok","StyleSheet","create","alignItems","flex","justifyContent","padding","borderRadius","maxWidth","width","fontSize","fontWeight","marginBottom","textAlign","lineHeight","alignSelf","minWidth","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/FeedbackPopup/FeedbackPopup.tsx"],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@ const english = {
|
|
|
18
18
|
setPinButtonLabel: 'Set PIN',
|
|
19
19
|
changePinButtonLabel: 'Change PIN',
|
|
20
20
|
copiedToClipboard: 'Copied to clipboard',
|
|
21
|
+
successTitle: 'Success',
|
|
22
|
+
errorTitle: 'Error',
|
|
23
|
+
ok: 'OK',
|
|
24
|
+
cardDetailsSuccess: 'Card details retrieved successfully.',
|
|
25
|
+
viewPinSuccess: 'PIN retrieved successfully.',
|
|
21
26
|
viewPinCountdownLabel: count => 'PIN will be hidden in ' + count + ' seconds',
|
|
22
27
|
show: 'Show',
|
|
23
28
|
hide: 'Hide'
|
|
@@ -36,6 +41,11 @@ const arabic = {
|
|
|
36
41
|
setPinButtonLabel: 'تعيين الرقم السري',
|
|
37
42
|
changePinButtonLabel: '\u200Eتغيير الرقم السري (PIN)',
|
|
38
43
|
copiedToClipboard: 'تم النسخ إلى الحافظة',
|
|
44
|
+
successTitle: 'تم بنجاح',
|
|
45
|
+
errorTitle: 'خطأ',
|
|
46
|
+
ok: 'حسنًا',
|
|
47
|
+
cardDetailsSuccess: 'تم استرداد تفاصيل البطاقة بنجاح.',
|
|
48
|
+
viewPinSuccess: 'تم استرداد الرقم السري بنجاح.',
|
|
39
49
|
viewPinCountdownLabel: count => '\u200Eثواني\u200E ' + count + '\u200E سيتم إخفاء الرقم السري للبطاقة خلال',
|
|
40
50
|
show: '\u200Eعرض',
|
|
41
51
|
hide: '\u200Eإخفاء'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["english","cardNumber","expiry","CVV","cardHolderName","enterNewCardPin","confirmCardPIN","wrongCardPin","enterCurrentCardPin","enterVerifyCardPin","verifyPinButtonLabel","setPinButtonLabel","changePinButtonLabel","copiedToClipboard","viewPinCountdownLabel","count","show","hide","arabic","localization","exports"],"sourceRoot":"../../../src","sources":["config/localization.ts"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG;EACdC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,cAAc,EAAE,MAAM;EACtBC,eAAe,EAAE,8CAA8C;EAC/DC,cAAc,EAAE,wBAAwB;EACxCC,YAAY,EAAE,mDAAmD;EACjEC,mBAAmB,EAAE,kDAAkD;EACvEC,kBAAkB,EAAE,+CAA+C;EACnEC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,qBAAqB;EACxCC,qBAAqB,EAAGC,KAAa,IACnC,wBAAwB,GAAGA,KAAK,GAAG,UAAU;EAC/CC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,MAAM,GAAG;
|
|
1
|
+
{"version":3,"names":["english","cardNumber","expiry","CVV","cardHolderName","enterNewCardPin","confirmCardPIN","wrongCardPin","enterCurrentCardPin","enterVerifyCardPin","verifyPinButtonLabel","setPinButtonLabel","changePinButtonLabel","copiedToClipboard","successTitle","errorTitle","ok","cardDetailsSuccess","viewPinSuccess","viewPinCountdownLabel","count","show","hide","arabic","localization","exports"],"sourceRoot":"../../../src","sources":["config/localization.ts"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG;EACdC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,cAAc,EAAE,MAAM;EACtBC,eAAe,EAAE,8CAA8C;EAC/DC,cAAc,EAAE,wBAAwB;EACxCC,YAAY,EAAE,mDAAmD;EACjEC,mBAAmB,EAAE,kDAAkD;EACvEC,kBAAkB,EAAE,+CAA+C;EACnEC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,qBAAqB;EACxCC,YAAY,EAAE,SAAS;EACvBC,UAAU,EAAE,OAAO;EACnBC,EAAE,EAAE,IAAI;EACRC,kBAAkB,EAAE,sCAAsC;EAC1DC,cAAc,EAAE,6BAA6B;EAC7CC,qBAAqB,EAAGC,KAAa,IACnC,wBAAwB,GAAGA,KAAK,GAAG,UAAU;EAC/CC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,MAAM,GAAG;EACbtB,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,gBAAgB;EACxBC,GAAG,EAAE,mCAAmC;EACxCC,cAAc,EAAE,OAAO;EACvBC,eAAe,EAAE,6CAA6C;EAC9DC,cAAc,EAAE,gDAAgD;EAChEC,YAAY,EACV,sFAAsF;EACxFC,mBAAmB,EAAE,6CAA6C;EAClEC,kBAAkB,EAAE,mDAAmD;EACvEC,oBAAoB,EAAE,6BAA6B;EACnDC,iBAAiB,EAAE,mBAAmB;EACtCC,oBAAoB,EAAE,+BAA+B;EACrDC,iBAAiB,EAAE,sBAAsB;EACzCC,YAAY,EAAE,UAAU;EACxBC,UAAU,EAAE,KAAK;EACjBC,EAAE,EAAE,OAAO;EACXC,kBAAkB,EAAE,kCAAkC;EACtDC,cAAc,EAAE,+BAA+B;EAC/CC,qBAAqB,EAAGC,KAAa,IACnC,oBAAoB,GAAGA,KAAK,GAAG,4CAA4C;EAC7EC,IAAI,EAAE,WAAW;EACjBC,IAAI,EAAE;AACR,CAAC;AAEM,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BxB,OAAO,EAAEA,OAAO;EAChBuB,MAAM,EAAEA;AACV,CAAC"}
|
|
@@ -5,6 +5,8 @@ import PinState from '../components/PinState/PinState';
|
|
|
5
5
|
import { useGetCardDetails } from '../hooks/useGetCardDetails';
|
|
6
6
|
import { NIThemeEnum } from '../interfaces/NiInputInterfaces';
|
|
7
7
|
import { themeColors } from '../config/themeColors';
|
|
8
|
+
import { FeedbackPopup } from '../components/FeedbackPopup/FeedbackPopup';
|
|
9
|
+
import localLabels from '../utils/localization';
|
|
8
10
|
function CardDetailsComponent({
|
|
9
11
|
input,
|
|
10
12
|
callback
|
|
@@ -13,6 +15,7 @@ function CardDetailsComponent({
|
|
|
13
15
|
displayAttributes
|
|
14
16
|
} = input || {};
|
|
15
17
|
const theme = displayAttributes?.theme || NIThemeEnum.light;
|
|
18
|
+
const language = displayAttributes?.language || 'english';
|
|
16
19
|
const cardDetailsStyle = {
|
|
17
20
|
height: '100%',
|
|
18
21
|
width: '100%',
|
|
@@ -48,7 +51,14 @@ function CardDetailsComponent({
|
|
|
48
51
|
isLoading: getCardDetailsIsLoading,
|
|
49
52
|
theme: theme,
|
|
50
53
|
isCardDetails: true
|
|
51
|
-
}))
|
|
54
|
+
})), /*#__PURE__*/React.createElement(FeedbackPopup, {
|
|
55
|
+
error: getCardDetailsError,
|
|
56
|
+
isLoading: getCardDetailsIsLoading,
|
|
57
|
+
isSuccess: !!getCardDetailsResult,
|
|
58
|
+
language: language,
|
|
59
|
+
successMessage: localLabels(language).cardDetailsSuccess,
|
|
60
|
+
theme: theme
|
|
61
|
+
}));
|
|
52
62
|
}
|
|
53
63
|
const styles = StyleSheet.create({
|
|
54
64
|
cardDetailsStyle: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","StyleSheet","View","CardDetails","PinState","useGetCardDetails","NIThemeEnum","themeColors","CardDetailsComponent","input","callback","displayAttributes","theme","light","cardDetailsStyle","height","width","backgroundColor","background","dark","result","getCardDetailsResult","error","getCardDetailsError","isLoading","getCardDetailsIsLoading","onGetCardDetails","error_getCardDetailsResult","clearPan","maskedPan","expiry","clearCVV2","cardholderName","createElement","style","styles","isError","isCardDetails","create","marginTop"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/CardDetailsComponent.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,UAAU,EAAkBC,IAAI,QAAQ,cAAc;AAG/D,SAASC,WAAW,QAAQ,uCAAuC;AACnE,OAAOC,QAAQ,MAAM,iCAAiC;AACtD,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,WAAW,QAAQ,iCAAiC;AAE7D,SAASC,WAAW,QAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"names":["React","useEffect","StyleSheet","View","CardDetails","PinState","useGetCardDetails","NIThemeEnum","themeColors","FeedbackPopup","localLabels","CardDetailsComponent","input","callback","displayAttributes","theme","light","language","cardDetailsStyle","height","width","backgroundColor","background","dark","result","getCardDetailsResult","error","getCardDetailsError","isLoading","getCardDetailsIsLoading","onGetCardDetails","error_getCardDetailsResult","clearPan","maskedPan","expiry","clearCVV2","cardholderName","createElement","style","styles","isError","isCardDetails","isSuccess","successMessage","cardDetailsSuccess","create","marginTop"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/CardDetailsComponent.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,UAAU,EAAkBC,IAAI,QAAQ,cAAc;AAG/D,SAASC,WAAW,QAAQ,uCAAuC;AACnE,OAAOC,QAAQ,MAAM,iCAAiC;AACtD,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,WAAW,QAAQ,iCAAiC;AAE7D,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,aAAa,QAAQ,2CAA2C;AACzE,OAAOC,WAAW,MAAM,uBAAuB;AAE/C,SAASC,oBAAoBA,CAAC;EAC5BC,KAAK;EACLC;AACsB,CAAC,EAAe;EACtC,MAAM;IAAEC;EAAkB,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC;EACzC,MAAMG,KAAK,GAAGD,iBAAiB,EAAEC,KAAK,IAAIR,WAAW,CAACS,KAAK;EAC3D,MAAMC,QAAQ,GAAGH,iBAAiB,EAAEG,QAAQ,IAAI,SAAS;EACzD,MAAMC,gBAA2B,GAAG;IAClCC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,MAAM;IACbC,eAAe,EACbN,KAAK,KAAKR,WAAW,CAACS,KAAK,GACvBR,WAAW,CAACQ,KAAK,CAACM,UAAU,GAC5Bd,WAAW,CAACe,IAAI,CAACD;EACzB,CAAC;EAED,MAAM;IACJE,MAAM,EAAEC,oBAAoB;IAC5BC,KAAK,EAAEC,mBAAmB;IAC1BC,SAAS,EAAEC,uBAAuB;IAClCC;EACF,CAAC,GAAGxB,iBAAiB,CAAC,CAAC;EAEvBL,SAAS,CAAC,MAAM;IACd,IAAIW,KAAK,EAAE;MACTkB,gBAAgB,CAAClB,KAAK,EAAEC,QAAQ,CAAC;IACnC;EACF,CAAC,EAAE,CAACD,KAAK,EAAEC,QAAQ,EAAEiB,gBAAgB,CAAC,CAAC;EAEvC,MAAMC,0BAAoD,GAAG;IAC3DC,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE,GAAG;IACdC,cAAc,EAAE;EAClB,CAAC;EACD,oBACEpC,KAAA,CAAAqC,aAAA,CAAClC,IAAI;IAACmC,KAAK,EAAEpB;EAAiB,gBAC5BlB,KAAA,CAAAqC,aAAA,CAAClC,IAAI;IAACmC,KAAK,EAAEC,MAAM,CAACrB;EAAiB,gBACnClB,KAAA,CAAAqC,aAAA,CAACjC,WAAW;IACVU,iBAAiB,EAAEA,iBAAkB;IACrCW,oBAAoB,EAClB,CAACE,mBAAmB,GAChBF,oBAAoB,GACpBM,0BACL;IACDS,OAAO,EAAE,CAAC,CAACb;EAAoB,CAChC,CAAC,eACF3B,KAAA,CAAAqC,aAAA,CAAChC,QAAQ;IACPuB,SAAS,EAAEC,uBAAwB;IACnCd,KAAK,EAAEA,KAAM;IACb0B,aAAa,EAAE;EAAK,CACrB,CACG,CAAC,eACPzC,KAAA,CAAAqC,aAAA,CAAC5B,aAAa;IACZiB,KAAK,EAAEC,mBAAoB;IAC3BC,SAAS,EAAEC,uBAAwB;IACnCa,SAAS,EAAE,CAAC,CAACjB,oBAAqB;IAClCR,QAAQ,EAAEA,QAAS;IACnB0B,cAAc,EAAEjC,WAAW,CAACO,QAAQ,CAAC,CAAC2B,kBAAmB;IACzD7B,KAAK,EAAEA;EAAM,CACd,CACG,CAAC;AAEX;AAEA,MAAMwB,MAAM,GAAGrC,UAAU,CAAC2C,MAAM,CAAC;EAC/B3B,gBAAgB,EAAE;IAChB4B,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,SACEnC,oBAAoB,EACpBL,iBAAiB"}
|
|
@@ -3,12 +3,15 @@ import { NIPinTypeEnum, NIThemeEnum } from '../interfaces/NiInputInterfaces';
|
|
|
3
3
|
import { useViewPin } from '../hooks/useViewPin';
|
|
4
4
|
import PinState from '../components/PinState/PinState';
|
|
5
5
|
import ViewPin from '../components/ViewPin/ViewPin';
|
|
6
|
+
import { FeedbackPopup } from '../components/FeedbackPopup/FeedbackPopup';
|
|
7
|
+
import localLabels from '../utils/localization';
|
|
6
8
|
function ViewPinComponent({
|
|
7
9
|
input,
|
|
8
10
|
type: pinType,
|
|
9
11
|
callback
|
|
10
12
|
}) {
|
|
11
13
|
const theme = input?.displayAttributes?.theme || NIThemeEnum.light;
|
|
14
|
+
const language = input?.displayAttributes?.language || 'english';
|
|
12
15
|
const countdownTime = input?.timer;
|
|
13
16
|
const {
|
|
14
17
|
result: viewPinResult,
|
|
@@ -16,11 +19,6 @@ function ViewPinComponent({
|
|
|
16
19
|
isLoading: isViewPinLoading,
|
|
17
20
|
onViewPin
|
|
18
21
|
} = useViewPin();
|
|
19
|
-
(!!viewPinResult || !!viewPinError) && console.log('ViewPinView', {
|
|
20
|
-
viewPinResult,
|
|
21
|
-
viewPinError,
|
|
22
|
-
isViewPinLoading
|
|
23
|
-
});
|
|
24
22
|
useEffect(() => {
|
|
25
23
|
if (input) {
|
|
26
24
|
onViewPin(input, callback);
|
|
@@ -34,6 +32,13 @@ function ViewPinComponent({
|
|
|
34
32
|
}), /*#__PURE__*/React.createElement(PinState, {
|
|
35
33
|
isLoading: isViewPinLoading,
|
|
36
34
|
theme: theme
|
|
35
|
+
}), /*#__PURE__*/React.createElement(FeedbackPopup, {
|
|
36
|
+
error: viewPinError,
|
|
37
|
+
isLoading: isViewPinLoading,
|
|
38
|
+
isSuccess: !!viewPinResult,
|
|
39
|
+
language: language,
|
|
40
|
+
successMessage: localLabels(language).viewPinSuccess,
|
|
41
|
+
theme: theme
|
|
37
42
|
}));
|
|
38
43
|
}
|
|
39
44
|
export { ViewPinComponent, useViewPin };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","NIPinTypeEnum","NIThemeEnum","useViewPin","PinState","ViewPin","ViewPinComponent","input","type","pinType","callback","theme","displayAttributes","light","countdownTime","timer","result","viewPinResult","error","viewPinError","isLoading","isViewPinLoading","onViewPin","
|
|
1
|
+
{"version":3,"names":["React","useEffect","NIPinTypeEnum","NIThemeEnum","useViewPin","PinState","ViewPin","FeedbackPopup","localLabels","ViewPinComponent","input","type","pinType","callback","theme","displayAttributes","light","language","countdownTime","timer","result","viewPinResult","error","viewPinError","isLoading","isViewPinLoading","onViewPin","createElement","Fragment","dynamicFourToSix","isSuccess","successMessage","viewPinSuccess"],"sourceRoot":"../../../src","sources":["NICardManagementComponents/ViewPinComponent.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AAExC,SAASC,aAAa,EAAEC,WAAW,QAAQ,iCAAiC;AAE5E,SAASC,UAAU,QAAQ,qBAAqB;AAChD,OAAOC,QAAQ,MAAM,iCAAiC;AACtD,OAAOC,OAAO,MAAM,+BAA+B;AACnD,SAASC,aAAa,QAAQ,2CAA2C;AACzE,OAAOC,WAAW,MAAM,uBAAuB;AAE/C,SAASC,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,IAAI,EAAEC,OAAO;EACbC;AACkB,CAAC,EAAe;EAClC,MAAMC,KAAK,GAAGJ,KAAK,EAAEK,iBAAiB,EAAED,KAAK,IAAIX,WAAW,CAACa,KAAK;EAClE,MAAMC,QAAQ,GAAGP,KAAK,EAAEK,iBAAiB,EAAEE,QAAQ,IAAI,SAAS;EAChE,MAAMC,aAAa,GAAGR,KAAK,EAAES,KAAK;EAElC,MAAM;IACJC,MAAM,EAAEC,aAAa;IACrBC,KAAK,EAAEC,YAAY;IACnBC,SAAS,EAAEC,gBAAgB;IAC3BC;EACF,CAAC,GAAGtB,UAAU,CAAC,CAAC;EAEhBH,SAAS,CAAC,MAAM;IACd,IAAIS,KAAK,EAAE;MACTgB,SAAS,CAAChB,KAAK,EAAEG,QAAQ,CAAC;IAC5B;EACF,CAAC,EAAE,CAACH,KAAK,EAAEG,QAAQ,EAAEa,SAAS,CAAC,CAAC;EAEhC,oBACE1B,KAAA,CAAA2B,aAAA,CAAA3B,KAAA,CAAA4B,QAAA,qBACE5B,KAAA,CAAA2B,aAAA,CAACrB,OAAO;IACNI,KAAK,EAAEA,KAAM;IACbE,OAAO,EAAEA,OAAO,IAAIV,aAAa,CAAC2B,gBAAiB;IACnDT,MAAM,EAAEC,aAAa,IAAI,EAAG;IAC5BH,aAAa,EAAEA,aAAa,IAAI;EAAE,CACnC,CAAC,eACFlB,KAAA,CAAA2B,aAAA,CAACtB,QAAQ;IAACmB,SAAS,EAAEC,gBAAiB;IAACX,KAAK,EAAEA;EAAM,CAAE,CAAC,eACvDd,KAAA,CAAA2B,aAAA,CAACpB,aAAa;IACZe,KAAK,EAAEC,YAAa;IACpBC,SAAS,EAAEC,gBAAiB;IAC5BK,SAAS,EAAE,CAAC,CAACT,aAAc;IAC3BJ,QAAQ,EAAEA,QAAS;IACnBc,cAAc,EAAEvB,WAAW,CAACS,QAAQ,CAAC,CAACe,cAAe;IACrDlB,KAAK,EAAEA;EAAM,CACd,CACD,CAAC;AAEP;AAEA,SAASL,gBAAgB,EAAEL,UAAU"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, Text, TouchableOpacity, I18nManager } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
|
4
4
|
import { NIThemeEnum } from '../../interfaces/NiInputInterfaces';
|
|
5
5
|
import { styles } from './styles';
|
|
6
6
|
import { HEIGHT_CARD } from '../../config/configCard';
|
|
@@ -14,7 +14,6 @@ export function CardDetailsCardHolderNameGroups({
|
|
|
14
14
|
displayAttributes,
|
|
15
15
|
setTimeOut
|
|
16
16
|
}) {
|
|
17
|
-
const [data, setString] = useClipboard();
|
|
18
17
|
const maskedCardholderName = cardholderName.replace(/\b\w*/g, function (s) {
|
|
19
18
|
return s.replace(/(?<!^)./g, '*');
|
|
20
19
|
});
|
|
@@ -36,12 +35,12 @@ export function CardDetailsCardHolderNameGroups({
|
|
|
36
35
|
fontSize: textFont.size,
|
|
37
36
|
fontFamily: textFont.name
|
|
38
37
|
};
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
function handleOnPress() {
|
|
39
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
40
|
+
Clipboard.setString(cardholderName);
|
|
41
41
|
setIsVisibleCopiedButton(true);
|
|
42
42
|
setTimeOut();
|
|
43
43
|
}
|
|
44
|
-
!!data && console.log('clipboard', data);
|
|
45
44
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
46
45
|
style: [styles.containerHolderNameContentGroupTopAlignment, containerHolderNameContentGroupTopAlignmentStyle]
|
|
47
46
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","TouchableOpacity","I18nManager","
|
|
1
|
+
{"version":3,"names":["React","View","Text","TouchableOpacity","I18nManager","Clipboard","NIThemeEnum","styles","HEIGHT_CARD","themeColors","PredeterminedIcon","CardDetailsCardHolderNameGroups","cardholderName","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","maskedCardholderName","replace","s","cardholderNameRendered","holderNameContentGroupTopAlignment","Math","round","cardAttributes","textPositioning","cardHolderNameGroupTopAlignment","containerHolderNameContentGroupTopAlignmentStyle","position","top","theme","light","textFonts","fonts","filter","item","label","textFont","length","font","name","size","contentStyleText","color","colorCard","dark","fontSize","fontFamily","handleOnPress","setString","createElement","Fragment","style","containerHolderNameContentGroupTopAlignment","copyRow","isRTL","flexDirection","textContent","onPress"],"sourceRoot":"../../../../src","sources":["components/CardDetails/CardHolderNameGroups.tsx"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, TouchableOpacity, Text, I18nManager } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
|
4
4
|
import { NIThemeEnum } from '../../interfaces/NiInputInterfaces';
|
|
5
5
|
import { styles } from './styles';
|
|
6
6
|
import { HEIGHT_CARD } from '../../config/configCard';
|
|
@@ -15,7 +15,6 @@ export function CardDetailsCardNumberGroup({
|
|
|
15
15
|
displayAttributes,
|
|
16
16
|
setTimeOut
|
|
17
17
|
}) {
|
|
18
|
-
const [data, setString] = useClipboard();
|
|
19
18
|
const clearPanRendered = clearPan.replace(/.{4}/g, '$& ');
|
|
20
19
|
const maskedPanRendered = maskedPan.replace(/[a-zA-Z0-9]+(?=....)/g, function (s) {
|
|
21
20
|
return '*'.repeat(s.length);
|
|
@@ -38,12 +37,12 @@ export function CardDetailsCardNumberGroup({
|
|
|
38
37
|
fontSize: textFont.size,
|
|
39
38
|
fontFamily: textFont.name
|
|
40
39
|
};
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
function handleOnPress() {
|
|
41
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
42
|
+
Clipboard.setString(clearPan);
|
|
43
43
|
setIsVisibleCopiedButton(true);
|
|
44
44
|
setTimeOut();
|
|
45
45
|
}
|
|
46
|
-
!!data && console.log('clipboard', data);
|
|
47
46
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
48
47
|
style: [styles.containerCardNumberContentGroupTopAlignment, containerCardNumberContentGroupTopAlignmentStyle]
|
|
49
48
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","Text","I18nManager","
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","Text","I18nManager","Clipboard","NIThemeEnum","styles","HEIGHT_CARD","themeColors","PredeterminedIcon","CardDetailsCardNumberGroup","clearPan","maskedPan","pinContentIndex","cardDetailsVisible","setIsVisibleCopiedButton","displayAttributes","setTimeOut","clearPanRendered","replace","maskedPanRendered","s","repeat","length","cardNumber","cardNumberGroupTopAlignment","Math","round","cardAttributes","textPositioning","containerCardNumberContentGroupTopAlignmentStyle","position","top","theme","light","textFonts","fonts","filter","item","label","textFont","font","name","size","contentStyleText","color","colorCard","dark","fontSize","fontFamily","handleOnPress","setString","createElement","Fragment","style","containerCardNumberContentGroupTopAlignment","copyRow","isRTL","flexDirection","textContent","onPress"],"sourceRoot":"../../../../src","sources":["components/CardDetails/CardNumberGroup.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { Modal, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
import { themeColors } from '../../config/themeColors';
|
|
4
|
+
import localLabels from '../../utils/localization';
|
|
5
|
+
export function FeedbackPopup({
|
|
6
|
+
error,
|
|
7
|
+
isLoading,
|
|
8
|
+
isSuccess,
|
|
9
|
+
successMessage,
|
|
10
|
+
theme,
|
|
11
|
+
language
|
|
12
|
+
}) {
|
|
13
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
14
|
+
const labels = localLabels(language);
|
|
15
|
+
const isError = !!error;
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (isLoading) {
|
|
18
|
+
setIsVisible(false);
|
|
19
|
+
} else if (error || isSuccess) {
|
|
20
|
+
setIsVisible(true);
|
|
21
|
+
}
|
|
22
|
+
}, [error, isLoading, isSuccess]);
|
|
23
|
+
const colors = themeColors[theme];
|
|
24
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
25
|
+
animationType: "fade",
|
|
26
|
+
onRequestClose: () => setIsVisible(false),
|
|
27
|
+
transparent: true,
|
|
28
|
+
visible: isVisible
|
|
29
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
30
|
+
style: styles.backdrop
|
|
31
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
32
|
+
accessibilityRole: "alert",
|
|
33
|
+
style: [styles.popup, {
|
|
34
|
+
backgroundColor: colors.background
|
|
35
|
+
}]
|
|
36
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
37
|
+
style: [styles.title, isError ? styles.error : styles.success]
|
|
38
|
+
}, isError ? labels.errorTitle : labels.successTitle), /*#__PURE__*/React.createElement(Text, {
|
|
39
|
+
style: [styles.message, {
|
|
40
|
+
color: colors.color
|
|
41
|
+
}]
|
|
42
|
+
}, error?.message || successMessage), /*#__PURE__*/React.createElement(Pressable, {
|
|
43
|
+
accessibilityRole: "button",
|
|
44
|
+
onPress: () => setIsVisible(false),
|
|
45
|
+
style: styles.button
|
|
46
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
47
|
+
style: styles.buttonText
|
|
48
|
+
}, labels.ok)))));
|
|
49
|
+
}
|
|
50
|
+
const styles = StyleSheet.create({
|
|
51
|
+
backdrop: {
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
backgroundColor: 'rgba(0, 0, 0, 0.45)',
|
|
54
|
+
flex: 1,
|
|
55
|
+
justifyContent: 'center',
|
|
56
|
+
padding: 24
|
|
57
|
+
},
|
|
58
|
+
popup: {
|
|
59
|
+
borderRadius: 8,
|
|
60
|
+
maxWidth: 420,
|
|
61
|
+
padding: 24,
|
|
62
|
+
width: '100%'
|
|
63
|
+
},
|
|
64
|
+
title: {
|
|
65
|
+
fontSize: 20,
|
|
66
|
+
fontWeight: '600',
|
|
67
|
+
marginBottom: 12,
|
|
68
|
+
textAlign: 'center'
|
|
69
|
+
},
|
|
70
|
+
error: {
|
|
71
|
+
color: '#C62828'
|
|
72
|
+
},
|
|
73
|
+
success: {
|
|
74
|
+
color: '#2E7D32'
|
|
75
|
+
},
|
|
76
|
+
message: {
|
|
77
|
+
fontSize: 16,
|
|
78
|
+
lineHeight: 22,
|
|
79
|
+
marginBottom: 24,
|
|
80
|
+
textAlign: 'center'
|
|
81
|
+
},
|
|
82
|
+
button: {
|
|
83
|
+
alignItems: 'center',
|
|
84
|
+
alignSelf: 'center',
|
|
85
|
+
backgroundColor: '#202124',
|
|
86
|
+
borderRadius: 6,
|
|
87
|
+
minWidth: 96,
|
|
88
|
+
paddingHorizontal: 20,
|
|
89
|
+
paddingVertical: 12
|
|
90
|
+
},
|
|
91
|
+
buttonText: {
|
|
92
|
+
color: 'white',
|
|
93
|
+
fontSize: 16,
|
|
94
|
+
fontWeight: '600'
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=FeedbackPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","Modal","Pressable","StyleSheet","Text","View","themeColors","localLabels","FeedbackPopup","error","isLoading","isSuccess","successMessage","theme","language","isVisible","setIsVisible","labels","isError","colors","createElement","animationType","onRequestClose","transparent","visible","style","styles","backdrop","accessibilityRole","popup","backgroundColor","background","title","success","errorTitle","successTitle","message","color","onPress","button","buttonText","ok","create","alignItems","flex","justifyContent","padding","borderRadius","maxWidth","width","fontSize","fontWeight","marginBottom","textAlign","lineHeight","alignSelf","minWidth","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/FeedbackPopup/FeedbackPopup.tsx"],"mappings":"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"}
|
|
@@ -12,6 +12,11 @@ const english = {
|
|
|
12
12
|
setPinButtonLabel: 'Set PIN',
|
|
13
13
|
changePinButtonLabel: 'Change PIN',
|
|
14
14
|
copiedToClipboard: 'Copied to clipboard',
|
|
15
|
+
successTitle: 'Success',
|
|
16
|
+
errorTitle: 'Error',
|
|
17
|
+
ok: 'OK',
|
|
18
|
+
cardDetailsSuccess: 'Card details retrieved successfully.',
|
|
19
|
+
viewPinSuccess: 'PIN retrieved successfully.',
|
|
15
20
|
viewPinCountdownLabel: count => 'PIN will be hidden in ' + count + ' seconds',
|
|
16
21
|
show: 'Show',
|
|
17
22
|
hide: 'Hide'
|
|
@@ -30,6 +35,11 @@ const arabic = {
|
|
|
30
35
|
setPinButtonLabel: 'تعيين الرقم السري',
|
|
31
36
|
changePinButtonLabel: '\u200Eتغيير الرقم السري (PIN)',
|
|
32
37
|
copiedToClipboard: 'تم النسخ إلى الحافظة',
|
|
38
|
+
successTitle: 'تم بنجاح',
|
|
39
|
+
errorTitle: 'خطأ',
|
|
40
|
+
ok: 'حسنًا',
|
|
41
|
+
cardDetailsSuccess: 'تم استرداد تفاصيل البطاقة بنجاح.',
|
|
42
|
+
viewPinSuccess: 'تم استرداد الرقم السري بنجاح.',
|
|
33
43
|
viewPinCountdownLabel: count => '\u200Eثواني\u200E ' + count + '\u200E سيتم إخفاء الرقم السري للبطاقة خلال',
|
|
34
44
|
show: '\u200Eعرض',
|
|
35
45
|
hide: '\u200Eإخفاء'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["english","cardNumber","expiry","CVV","cardHolderName","enterNewCardPin","confirmCardPIN","wrongCardPin","enterCurrentCardPin","enterVerifyCardPin","verifyPinButtonLabel","setPinButtonLabel","changePinButtonLabel","copiedToClipboard","viewPinCountdownLabel","count","show","hide","arabic","localization"],"sourceRoot":"../../../src","sources":["config/localization.ts"],"mappings":"AAAA,MAAMA,OAAO,GAAG;EACdC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,cAAc,EAAE,MAAM;EACtBC,eAAe,EAAE,8CAA8C;EAC/DC,cAAc,EAAE,wBAAwB;EACxCC,YAAY,EAAE,mDAAmD;EACjEC,mBAAmB,EAAE,kDAAkD;EACvEC,kBAAkB,EAAE,+CAA+C;EACnEC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,qBAAqB;EACxCC,qBAAqB,EAAGC,KAAa,IACnC,wBAAwB,GAAGA,KAAK,GAAG,UAAU;EAC/CC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,MAAM,GAAG;
|
|
1
|
+
{"version":3,"names":["english","cardNumber","expiry","CVV","cardHolderName","enterNewCardPin","confirmCardPIN","wrongCardPin","enterCurrentCardPin","enterVerifyCardPin","verifyPinButtonLabel","setPinButtonLabel","changePinButtonLabel","copiedToClipboard","successTitle","errorTitle","ok","cardDetailsSuccess","viewPinSuccess","viewPinCountdownLabel","count","show","hide","arabic","localization"],"sourceRoot":"../../../src","sources":["config/localization.ts"],"mappings":"AAAA,MAAMA,OAAO,GAAG;EACdC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,cAAc,EAAE,MAAM;EACtBC,eAAe,EAAE,8CAA8C;EAC/DC,cAAc,EAAE,wBAAwB;EACxCC,YAAY,EAAE,mDAAmD;EACjEC,mBAAmB,EAAE,kDAAkD;EACvEC,kBAAkB,EAAE,+CAA+C;EACnEC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,YAAY;EAClCC,iBAAiB,EAAE,qBAAqB;EACxCC,YAAY,EAAE,SAAS;EACvBC,UAAU,EAAE,OAAO;EACnBC,EAAE,EAAE,IAAI;EACRC,kBAAkB,EAAE,sCAAsC;EAC1DC,cAAc,EAAE,6BAA6B;EAC7CC,qBAAqB,EAAGC,KAAa,IACnC,wBAAwB,GAAGA,KAAK,GAAG,UAAU;EAC/CC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,MAAM,GAAG;EACbtB,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,gBAAgB;EACxBC,GAAG,EAAE,mCAAmC;EACxCC,cAAc,EAAE,OAAO;EACvBC,eAAe,EAAE,6CAA6C;EAC9DC,cAAc,EAAE,gDAAgD;EAChEC,YAAY,EACV,sFAAsF;EACxFC,mBAAmB,EAAE,6CAA6C;EAClEC,kBAAkB,EAAE,mDAAmD;EACvEC,oBAAoB,EAAE,6BAA6B;EACnDC,iBAAiB,EAAE,mBAAmB;EACtCC,oBAAoB,EAAE,+BAA+B;EACrDC,iBAAiB,EAAE,sBAAsB;EACzCC,YAAY,EAAE,UAAU;EACxBC,UAAU,EAAE,KAAK;EACjBC,EAAE,EAAE,OAAO;EACXC,kBAAkB,EAAE,kCAAkC;EACtDC,cAAc,EAAE,+BAA+B;EAC/CC,qBAAqB,EAAGC,KAAa,IACnC,oBAAoB,GAAGA,KAAK,GAAG,4CAA4C;EAC7EC,IAAI,EAAE,WAAW;EACjBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAME,YAAY,GAAG;EAC1BxB,OAAO,EAAEA,OAAO;EAChBuB,MAAM,EAAEA;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardDetailsComponent.d.ts","sourceRoot":"","sources":["../../../../src/NICardManagementComponents/CardDetailsComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"CardDetailsComponent.d.ts","sourceRoot":"","sources":["../../../../src/NICardManagementComponents/CardDetailsComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAKzF,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,GACT,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CA6DtC;AAQD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewPinComponent.d.ts","sourceRoot":"","sources":["../../../../src/NICardManagementComponents/ViewPinComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewPinComponent.d.ts","sourceRoot":"","sources":["../../../../src/NICardManagementComponents/ViewPinComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,IAAI,EAAE,OAAO,EACb,QAAQ,GACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAqClC;AAED,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHolderNameGroups.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardDetails/CardHolderNameGroups.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAMvF,wBAAgB,+BAA+B,CAAC,EAC9C,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,EAAE,iCAAiC,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"CardHolderNameGroups.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardDetails/CardHolderNameGroups.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAMvF,wBAAgB,+BAA+B,CAAC,EAC9C,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,EAAE,iCAAiC,GAAG,GAAG,CAAC,OAAO,CAuEjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardNumberGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardDetails/CardNumberGroup.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAMlF,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,EAAE,4BAA4B,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"CardNumberGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardDetails/CardNumberGroup.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAMlF,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,EAAE,4BAA4B,GAAG,GAAG,CAAC,OAAO,CAsE5C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { themeType } from '../../interfaces/NiInputInterfaces';
|
|
2
|
+
import type { NIErrorResponse } from '../../interfaces/NiCardManagementInterfaces';
|
|
3
|
+
interface FeedbackPopupProps {
|
|
4
|
+
error?: NIErrorResponse | null;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isSuccess: boolean;
|
|
7
|
+
successMessage: string;
|
|
8
|
+
theme: themeType;
|
|
9
|
+
language: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function FeedbackPopup({ error, isLoading, isSuccess, successMessage, theme, language, }: FeedbackPopupProps): JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=FeedbackPopup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedbackPopup.d.ts","sourceRoot":"","sources":["../../../../../src/components/FeedbackPopup/FeedbackPopup.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAInF,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,KAAK,EACL,QAAQ,GACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA4ClC"}
|
|
@@ -13,6 +13,11 @@ export declare const localization: {
|
|
|
13
13
|
setPinButtonLabel: string;
|
|
14
14
|
changePinButtonLabel: string;
|
|
15
15
|
copiedToClipboard: string;
|
|
16
|
+
successTitle: string;
|
|
17
|
+
errorTitle: string;
|
|
18
|
+
ok: string;
|
|
19
|
+
cardDetailsSuccess: string;
|
|
20
|
+
viewPinSuccess: string;
|
|
16
21
|
viewPinCountdownLabel: (count: number) => string;
|
|
17
22
|
show: string;
|
|
18
23
|
hide: string;
|
|
@@ -31,6 +36,11 @@ export declare const localization: {
|
|
|
31
36
|
setPinButtonLabel: string;
|
|
32
37
|
changePinButtonLabel: string;
|
|
33
38
|
copiedToClipboard: string;
|
|
39
|
+
successTitle: string;
|
|
40
|
+
errorTitle: string;
|
|
41
|
+
ok: string;
|
|
42
|
+
cardDetailsSuccess: string;
|
|
43
|
+
viewPinSuccess: string;
|
|
34
44
|
viewPinCountdownLabel: (count: number) => string;
|
|
35
45
|
show: string;
|
|
36
46
|
hide: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../../src/config/localization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../../src/config/localization.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;uCAhCQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;uCA0BN,MAAM;;;;CAStC,CAAC"}
|
|
@@ -12,6 +12,11 @@ declare function localLabels(language: string): {
|
|
|
12
12
|
setPinButtonLabel: string;
|
|
13
13
|
changePinButtonLabel: string;
|
|
14
14
|
copiedToClipboard: string;
|
|
15
|
+
successTitle: string;
|
|
16
|
+
errorTitle: string;
|
|
17
|
+
ok: string;
|
|
18
|
+
cardDetailsSuccess: string;
|
|
19
|
+
viewPinSuccess: string;
|
|
15
20
|
viewPinCountdownLabel: (count: number) => string;
|
|
16
21
|
show: string;
|
|
17
22
|
hide: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../../src/utils/localization.ts"],"names":[],"mappings":"AAGA,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../../src/utils/localization.ts"],"names":[],"mappings":"AAGA,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;EAIpC;AAED,eAAe,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -8,6 +8,8 @@ import { useGetCardDetails } from '../hooks/useGetCardDetails';
|
|
|
8
8
|
import { NIThemeEnum } from '../interfaces/NiInputInterfaces';
|
|
9
9
|
import type { NIGetCardSuccessResponse } from '../interfaces/NiCardManagementInterfaces';
|
|
10
10
|
import { themeColors } from '../config/themeColors';
|
|
11
|
+
import { FeedbackPopup } from '../components/FeedbackPopup/FeedbackPopup';
|
|
12
|
+
import localLabels from '../utils/localization';
|
|
11
13
|
|
|
12
14
|
function CardDetailsComponent({
|
|
13
15
|
input,
|
|
@@ -15,6 +17,7 @@ function CardDetailsComponent({
|
|
|
15
17
|
}: NICardDetailsComponent): JSX.Element {
|
|
16
18
|
const { displayAttributes } = input || {};
|
|
17
19
|
const theme = displayAttributes?.theme || NIThemeEnum.light;
|
|
20
|
+
const language = displayAttributes?.language || 'english';
|
|
18
21
|
const cardDetailsStyle: TextStyle = {
|
|
19
22
|
height: '100%',
|
|
20
23
|
width: '100%',
|
|
@@ -62,6 +65,14 @@ function CardDetailsComponent({
|
|
|
62
65
|
isCardDetails={true}
|
|
63
66
|
/>
|
|
64
67
|
</View>
|
|
68
|
+
<FeedbackPopup
|
|
69
|
+
error={getCardDetailsError}
|
|
70
|
+
isLoading={getCardDetailsIsLoading}
|
|
71
|
+
isSuccess={!!getCardDetailsResult}
|
|
72
|
+
language={language}
|
|
73
|
+
successMessage={localLabels(language).cardDetailsSuccess}
|
|
74
|
+
theme={theme}
|
|
75
|
+
/>
|
|
65
76
|
</View>
|
|
66
77
|
);
|
|
67
78
|
}
|
|
@@ -5,6 +5,8 @@ import { type NIViewPinComponent } from '../interfaces/NiInterfaces';
|
|
|
5
5
|
import { useViewPin } from '../hooks/useViewPin';
|
|
6
6
|
import PinState from '../components/PinState/PinState';
|
|
7
7
|
import ViewPin from '../components/ViewPin/ViewPin';
|
|
8
|
+
import { FeedbackPopup } from '../components/FeedbackPopup/FeedbackPopup';
|
|
9
|
+
import localLabels from '../utils/localization';
|
|
8
10
|
|
|
9
11
|
function ViewPinComponent({
|
|
10
12
|
input,
|
|
@@ -12,6 +14,7 @@ function ViewPinComponent({
|
|
|
12
14
|
callback,
|
|
13
15
|
}: NIViewPinComponent): JSX.Element {
|
|
14
16
|
const theme = input?.displayAttributes?.theme || NIThemeEnum.light;
|
|
17
|
+
const language = input?.displayAttributes?.language || 'english';
|
|
15
18
|
const countdownTime = input?.timer;
|
|
16
19
|
|
|
17
20
|
const {
|
|
@@ -21,13 +24,6 @@ function ViewPinComponent({
|
|
|
21
24
|
onViewPin,
|
|
22
25
|
} = useViewPin();
|
|
23
26
|
|
|
24
|
-
(!!viewPinResult || !!viewPinError) &&
|
|
25
|
-
console.log('ViewPinView', {
|
|
26
|
-
viewPinResult,
|
|
27
|
-
viewPinError,
|
|
28
|
-
isViewPinLoading,
|
|
29
|
-
});
|
|
30
|
-
|
|
31
27
|
useEffect(() => {
|
|
32
28
|
if (input) {
|
|
33
29
|
onViewPin(input, callback);
|
|
@@ -43,6 +39,14 @@ function ViewPinComponent({
|
|
|
43
39
|
countdownTime={countdownTime || 0}
|
|
44
40
|
/>
|
|
45
41
|
<PinState isLoading={isViewPinLoading} theme={theme} />
|
|
42
|
+
<FeedbackPopup
|
|
43
|
+
error={viewPinError}
|
|
44
|
+
isLoading={isViewPinLoading}
|
|
45
|
+
isSuccess={!!viewPinResult}
|
|
46
|
+
language={language}
|
|
47
|
+
successMessage={localLabels(language).viewPinSuccess}
|
|
48
|
+
theme={theme}
|
|
49
|
+
/>
|
|
46
50
|
</>
|
|
47
51
|
);
|
|
48
52
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
TouchableOpacity,
|
|
7
7
|
I18nManager,
|
|
8
8
|
} from 'react-native';
|
|
9
|
-
import
|
|
9
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
|
10
10
|
|
|
11
11
|
import {
|
|
12
12
|
type NIFontLabelPair,
|
|
@@ -26,8 +26,6 @@ export function CardDetailsCardHolderNameGroups({
|
|
|
26
26
|
displayAttributes,
|
|
27
27
|
setTimeOut,
|
|
28
28
|
}: NICardDetailsCardHolderNameGroups): JSX.Element {
|
|
29
|
-
const [data, setString] = useClipboard();
|
|
30
|
-
|
|
31
29
|
const maskedCardholderName = cardholderName.replace(
|
|
32
30
|
/\b\w*/g,
|
|
33
31
|
function (s: string) {
|
|
@@ -65,12 +63,12 @@ export function CardDetailsCardHolderNameGroups({
|
|
|
65
63
|
fontFamily: textFont.name,
|
|
66
64
|
};
|
|
67
65
|
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
function handleOnPress(): void {
|
|
67
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
68
|
+
Clipboard.setString(cardholderName);
|
|
70
69
|
setIsVisibleCopiedButton(true);
|
|
71
70
|
setTimeOut();
|
|
72
71
|
}
|
|
73
|
-
!!data && console.log('clipboard', data);
|
|
74
72
|
|
|
75
73
|
return (
|
|
76
74
|
<>
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Text,
|
|
7
7
|
I18nManager,
|
|
8
8
|
} from 'react-native';
|
|
9
|
-
import
|
|
9
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
|
10
10
|
|
|
11
11
|
import {
|
|
12
12
|
type NIFontLabelPair,
|
|
@@ -27,8 +27,6 @@ export function CardDetailsCardNumberGroup({
|
|
|
27
27
|
displayAttributes,
|
|
28
28
|
setTimeOut,
|
|
29
29
|
}: NICardDetailsCardNumberGroup): JSX.Element {
|
|
30
|
-
const [data, setString] = useClipboard();
|
|
31
|
-
|
|
32
30
|
const clearPanRendered = clearPan.replace(/.{4}/g, '$& ');
|
|
33
31
|
const maskedPanRendered = maskedPan
|
|
34
32
|
.replace(/[a-zA-Z0-9]+(?=....)/g, function (s: string) {
|
|
@@ -65,12 +63,12 @@ export function CardDetailsCardNumberGroup({
|
|
|
65
63
|
fontFamily: textFont.name,
|
|
66
64
|
};
|
|
67
65
|
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
function handleOnPress(): void {
|
|
67
|
+
// Write directly so iOS does not request permission to read the pasteboard.
|
|
68
|
+
Clipboard.setString(clearPan);
|
|
70
69
|
setIsVisibleCopiedButton(true);
|
|
71
70
|
setTimeOut();
|
|
72
71
|
}
|
|
73
|
-
!!data && console.log('clipboard', data);
|
|
74
72
|
|
|
75
73
|
return (
|
|
76
74
|
<>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { Modal, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import type { themeType } from '../../interfaces/NiInputInterfaces';
|
|
5
|
+
import type { NIErrorResponse } from '../../interfaces/NiCardManagementInterfaces';
|
|
6
|
+
import { themeColors } from '../../config/themeColors';
|
|
7
|
+
import localLabels from '../../utils/localization';
|
|
8
|
+
|
|
9
|
+
interface FeedbackPopupProps {
|
|
10
|
+
error?: NIErrorResponse | null;
|
|
11
|
+
isLoading: boolean;
|
|
12
|
+
isSuccess: boolean;
|
|
13
|
+
successMessage: string;
|
|
14
|
+
theme: themeType;
|
|
15
|
+
language: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function FeedbackPopup({
|
|
19
|
+
error,
|
|
20
|
+
isLoading,
|
|
21
|
+
isSuccess,
|
|
22
|
+
successMessage,
|
|
23
|
+
theme,
|
|
24
|
+
language,
|
|
25
|
+
}: FeedbackPopupProps): JSX.Element {
|
|
26
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
27
|
+
const labels = localLabels(language);
|
|
28
|
+
const isError = !!error;
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (isLoading) {
|
|
32
|
+
setIsVisible(false);
|
|
33
|
+
} else if (error || isSuccess) {
|
|
34
|
+
setIsVisible(true);
|
|
35
|
+
}
|
|
36
|
+
}, [error, isLoading, isSuccess]);
|
|
37
|
+
|
|
38
|
+
const colors = themeColors[theme];
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<Modal
|
|
42
|
+
animationType="fade"
|
|
43
|
+
onRequestClose={() => setIsVisible(false)}
|
|
44
|
+
transparent={true}
|
|
45
|
+
visible={isVisible}
|
|
46
|
+
>
|
|
47
|
+
<View style={styles.backdrop}>
|
|
48
|
+
<View
|
|
49
|
+
accessibilityRole="alert"
|
|
50
|
+
style={[styles.popup, { backgroundColor: colors.background }]}
|
|
51
|
+
>
|
|
52
|
+
<Text style={[styles.title, isError ? styles.error : styles.success]}>
|
|
53
|
+
{isError ? labels.errorTitle : labels.successTitle}
|
|
54
|
+
</Text>
|
|
55
|
+
<Text style={[styles.message, { color: colors.color }]}>
|
|
56
|
+
{error?.message || successMessage}
|
|
57
|
+
</Text>
|
|
58
|
+
<Pressable
|
|
59
|
+
accessibilityRole="button"
|
|
60
|
+
onPress={() => setIsVisible(false)}
|
|
61
|
+
style={styles.button}
|
|
62
|
+
>
|
|
63
|
+
<Text style={styles.buttonText}>{labels.ok}</Text>
|
|
64
|
+
</Pressable>
|
|
65
|
+
</View>
|
|
66
|
+
</View>
|
|
67
|
+
</Modal>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const styles = StyleSheet.create({
|
|
72
|
+
backdrop: {
|
|
73
|
+
alignItems: 'center',
|
|
74
|
+
backgroundColor: 'rgba(0, 0, 0, 0.45)',
|
|
75
|
+
flex: 1,
|
|
76
|
+
justifyContent: 'center',
|
|
77
|
+
padding: 24,
|
|
78
|
+
},
|
|
79
|
+
popup: {
|
|
80
|
+
borderRadius: 8,
|
|
81
|
+
maxWidth: 420,
|
|
82
|
+
padding: 24,
|
|
83
|
+
width: '100%',
|
|
84
|
+
},
|
|
85
|
+
title: {
|
|
86
|
+
fontSize: 20,
|
|
87
|
+
fontWeight: '600',
|
|
88
|
+
marginBottom: 12,
|
|
89
|
+
textAlign: 'center',
|
|
90
|
+
},
|
|
91
|
+
error: {
|
|
92
|
+
color: '#C62828',
|
|
93
|
+
},
|
|
94
|
+
success: {
|
|
95
|
+
color: '#2E7D32',
|
|
96
|
+
},
|
|
97
|
+
message: {
|
|
98
|
+
fontSize: 16,
|
|
99
|
+
lineHeight: 22,
|
|
100
|
+
marginBottom: 24,
|
|
101
|
+
textAlign: 'center',
|
|
102
|
+
},
|
|
103
|
+
button: {
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
alignSelf: 'center',
|
|
106
|
+
backgroundColor: '#202124',
|
|
107
|
+
borderRadius: 6,
|
|
108
|
+
minWidth: 96,
|
|
109
|
+
paddingHorizontal: 20,
|
|
110
|
+
paddingVertical: 12,
|
|
111
|
+
},
|
|
112
|
+
buttonText: {
|
|
113
|
+
color: 'white',
|
|
114
|
+
fontSize: 16,
|
|
115
|
+
fontWeight: '600',
|
|
116
|
+
},
|
|
117
|
+
});
|
|
@@ -12,6 +12,11 @@ const english = {
|
|
|
12
12
|
setPinButtonLabel: 'Set PIN',
|
|
13
13
|
changePinButtonLabel: 'Change PIN',
|
|
14
14
|
copiedToClipboard: 'Copied to clipboard',
|
|
15
|
+
successTitle: 'Success',
|
|
16
|
+
errorTitle: 'Error',
|
|
17
|
+
ok: 'OK',
|
|
18
|
+
cardDetailsSuccess: 'Card details retrieved successfully.',
|
|
19
|
+
viewPinSuccess: 'PIN retrieved successfully.',
|
|
15
20
|
viewPinCountdownLabel: (count: number) =>
|
|
16
21
|
'PIN will be hidden in ' + count + ' seconds',
|
|
17
22
|
show: 'Show',
|
|
@@ -33,6 +38,11 @@ const arabic = {
|
|
|
33
38
|
setPinButtonLabel: 'تعيين الرقم السري',
|
|
34
39
|
changePinButtonLabel: '\u200Eتغيير الرقم السري (PIN)',
|
|
35
40
|
copiedToClipboard: 'تم النسخ إلى الحافظة',
|
|
41
|
+
successTitle: 'تم بنجاح',
|
|
42
|
+
errorTitle: 'خطأ',
|
|
43
|
+
ok: 'حسنًا',
|
|
44
|
+
cardDetailsSuccess: 'تم استرداد تفاصيل البطاقة بنجاح.',
|
|
45
|
+
viewPinSuccess: 'تم استرداد الرقم السري بنجاح.',
|
|
36
46
|
viewPinCountdownLabel: (count: number) =>
|
|
37
47
|
'\u200Eثواني\u200E ' + count + '\u200E سيتم إخفاء الرقم السري للبطاقة خلال',
|
|
38
48
|
show: '\u200Eعرض',
|