@gr4vy/secure-fields-react 2.2.4 → 2.2.6
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/CHANGELOG.md +12 -0
- package/lib/hooks/use-secure-fields.js +32 -50
- package/lib/hooks/use-secure-fields.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v2.2.5 (Wed Jan 14 2026)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- fix: React handlers not updated on re-render [#1065](https://github.com/gr4vy/secure-fields/pull/1065) ([@luca-gr4vy](https://github.com/luca-gr4vy))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Luca Allievi ([@luca-gr4vy](https://github.com/luca-gr4vy))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v2.2.4 (Tue Jan 13 2026)
|
|
2
14
|
|
|
3
15
|
#### 🏠 Internal
|
|
@@ -26,12 +26,34 @@ exports.useSecureFields = exports.SecureFieldsProvider = exports.SecureFieldsCon
|
|
|
26
26
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
27
|
var secure_fields_1 = require("@gr4vy/secure-fields");
|
|
28
28
|
var react_1 = require("react");
|
|
29
|
+
var eventHandlers = {
|
|
30
|
+
onReady: secure_fields_1.Events.READY,
|
|
31
|
+
onFormChange: secure_fields_1.Events.FORM_CHANGE,
|
|
32
|
+
onCardVaultSuccess: secure_fields_1.Events.CARD_VAULT_SUCCESS,
|
|
33
|
+
onCardVaultFailure: secure_fields_1.Events.CARD_VAULT_FAILURE,
|
|
34
|
+
onClickToPayInitialized: secure_fields_1.Events.CLICK_TO_PAY_INITIALIZED,
|
|
35
|
+
onClickToPayReady: secure_fields_1.Events.CLICK_TO_PAY_READY,
|
|
36
|
+
onClickToPaySignOut: secure_fields_1.Events.CLICK_TO_PAY_SIGN_OUT,
|
|
37
|
+
onClickToPayError: secure_fields_1.Events.CLICK_TO_PAY_ERROR,
|
|
38
|
+
onClickToPayCancel: secure_fields_1.Events.CLICK_TO_PAY_CANCEL,
|
|
39
|
+
onClickToPayCheckoutWithNewCard: secure_fields_1.Events.CLICK_TO_PAY_CHECKOUT_WITH_NEW_CARD,
|
|
40
|
+
onClickToPayUnableToLoadDpa: secure_fields_1.Events.CLICK_TO_PAY_UNABLE_TO_LOAD_DPA,
|
|
41
|
+
onMethodChange: secure_fields_1.Events.METHOD_CHANGE,
|
|
42
|
+
};
|
|
29
43
|
exports.SecureFieldsContext = (0, react_1.createContext)(null);
|
|
30
44
|
var SecureFieldsProvider = function (_a) {
|
|
31
45
|
var children = _a.children, config = __rest(_a, ["children"]);
|
|
32
|
-
var sessionId = config.sessionId, debug = config.debug, font = config.font
|
|
46
|
+
var sessionId = config.sessionId, debug = config.debug, font = config.font;
|
|
33
47
|
var _b = (0, react_1.useState)(), secureFields = _b[0], setSecureFields = _b[1];
|
|
34
48
|
var _c = (0, react_1.useState)(), clickToPay = _c[0], setClickToPay = _c[1];
|
|
49
|
+
var handlers = Object.entries(eventHandlers).map(function (_a) {
|
|
50
|
+
var key = _a[0], event = _a[1];
|
|
51
|
+
return ({
|
|
52
|
+
event: event,
|
|
53
|
+
callback: config[key],
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
var handlersDeps = handlers.map(function (handler) { return handler.callback; });
|
|
35
57
|
(0, react_1.useEffect)(function () {
|
|
36
58
|
setSecureFields(new secure_fields_1.SecureFields(config));
|
|
37
59
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -39,58 +61,18 @@ var SecureFieldsProvider = function (_a) {
|
|
|
39
61
|
(0, react_1.useLayoutEffect)(function () {
|
|
40
62
|
secureFields === null || secureFields === void 0 ? void 0 : secureFields.setDebug(debug);
|
|
41
63
|
font && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.addFont(font));
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
onCardVaultSuccess &&
|
|
47
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CARD_VAULT_SUCCESS, onCardVaultSuccess));
|
|
48
|
-
onCardVaultFailure &&
|
|
49
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CARD_VAULT_FAILURE, onCardVaultFailure));
|
|
50
|
-
onClickToPayInitialized &&
|
|
51
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_INITIALIZED, onClickToPayInitialized));
|
|
52
|
-
onClickToPayReady &&
|
|
53
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_READY, onClickToPayReady));
|
|
54
|
-
onClickToPaySignOut &&
|
|
55
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_SIGN_OUT, onClickToPaySignOut));
|
|
56
|
-
onClickToPayError &&
|
|
57
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_ERROR, onClickToPayError));
|
|
58
|
-
onClickToPayCancel &&
|
|
59
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_CANCEL, onClickToPayCancel));
|
|
60
|
-
onClickToPayCheckoutWithNewCard &&
|
|
61
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_CHECKOUT_WITH_NEW_CARD, onClickToPayCheckoutWithNewCard));
|
|
62
|
-
onClickToPayUnableToLoadDpa &&
|
|
63
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_UNABLE_TO_LOAD_DPA, onClickToPayUnableToLoadDpa));
|
|
64
|
-
onMethodChange &&
|
|
65
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(secure_fields_1.SecureFields.Events.METHOD_CHANGE, onMethodChange));
|
|
64
|
+
handlers.forEach(function (_a) {
|
|
65
|
+
var event = _a.event, callback = _a.callback;
|
|
66
|
+
return callback && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(event, callback));
|
|
67
|
+
});
|
|
66
68
|
return function () {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
onCardVaultSuccess &&
|
|
72
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CARD_VAULT_SUCCESS, onCardVaultSuccess));
|
|
73
|
-
onCardVaultFailure &&
|
|
74
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CARD_VAULT_FAILURE, onCardVaultFailure));
|
|
75
|
-
onClickToPayInitialized &&
|
|
76
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_INITIALIZED, onClickToPayInitialized));
|
|
77
|
-
onClickToPayReady &&
|
|
78
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_READY, onClickToPayReady));
|
|
79
|
-
onClickToPaySignOut &&
|
|
80
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_SIGN_OUT, onClickToPaySignOut));
|
|
81
|
-
onClickToPayError &&
|
|
82
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_ERROR, onClickToPayError));
|
|
83
|
-
onClickToPayCancel &&
|
|
84
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_CANCEL, onClickToPayCancel));
|
|
85
|
-
onClickToPayCheckoutWithNewCard &&
|
|
86
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_CHECKOUT_WITH_NEW_CARD, onClickToPayCheckoutWithNewCard));
|
|
87
|
-
onClickToPayUnableToLoadDpa &&
|
|
88
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.CLICK_TO_PAY_UNABLE_TO_LOAD_DPA, onClickToPayUnableToLoadDpa));
|
|
89
|
-
onMethodChange &&
|
|
90
|
-
(secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(secure_fields_1.SecureFields.Events.METHOD_CHANGE, onMethodChange));
|
|
69
|
+
handlers.forEach(function (_a) {
|
|
70
|
+
var event = _a.event, callback = _a.callback;
|
|
71
|
+
return callback && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.removeEventListener(event, callback));
|
|
72
|
+
});
|
|
91
73
|
};
|
|
92
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
|
-
}, [secureFields]);
|
|
75
|
+
}, [secureFields, handlersDeps]);
|
|
94
76
|
return ((0, jsx_runtime_1.jsx)(exports.SecureFieldsContext.Provider, __assign({ value: { secureFields: secureFields, debug: debug, clickToPay: clickToPay, setClickToPay: setClickToPay } }, { children: children })));
|
|
95
77
|
};
|
|
96
78
|
exports.SecureFieldsProvider = SecureFieldsProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-secure-fields.js","sourceRoot":"","sources":["../../src/hooks/use-secure-fields.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"use-secure-fields.js","sourceRoot":"","sources":["../../src/hooks/use-secure-fields.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gr4vy/secure-fields-react",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.6",
|
|
4
4
|
"description": "Gr4vy-hosted secure fields offering advanced theming, PCI compliance, event handling, and more.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"types": "lib/index",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-dom": ">=17.0.0"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@gr4vy/secure-fields": "^2.2.
|
|
44
|
+
"@gr4vy/secure-fields": "^2.2.6"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@testing-library/react": "^12.1.5",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"access": "public",
|
|
56
56
|
"registry": "https://registry.npmjs.org"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "1d022b7c6ca0a695fe40d88e951da733392f21da"
|
|
59
59
|
}
|