@gr4vy/secure-fields-react 2.3.3 → 2.4.0

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 CHANGED
@@ -1,3 +1,37 @@
1
+ # v2.4.0 (Thu Apr 30 2026)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - task: add support for auto advance in react [#1170](https://github.com/gr4vy/secure-fields/pull/1170) ([@luca-gr4vy](https://github.com/luca-gr4vy))
6
+
7
+ #### 🐛 Bug Fix
8
+
9
+ - task: add setautoadvance method [#1169](https://github.com/gr4vy/secure-fields/pull/1169) ([@luca-gr4vy](https://github.com/luca-gr4vy) [@GiordanoArman](https://github.com/GiordanoArman))
10
+
11
+ #### 🏠 Internal
12
+
13
+ - fix: uuid webpack-dev-server vulnerability [#1195](https://github.com/gr4vy/secure-fields/pull/1195) ([@luca-gr4vy](https://github.com/luca-gr4vy) [@GiordanoArman](https://github.com/GiordanoArman))
14
+
15
+ #### Authors: 2
16
+
17
+ - GiordanoArman ([@GiordanoArman](https://github.com/GiordanoArman))
18
+ - Luca Allievi ([@luca-gr4vy](https://github.com/luca-gr4vy))
19
+
20
+ ---
21
+
22
+ # v2.3.4 (Tue Apr 21 2026)
23
+
24
+ #### 🐛 Bug Fix
25
+
26
+ - fix: refactor and fix with redacted events and timestamps [#1184](https://github.com/gr4vy/secure-fields/pull/1184) ([@luca-gr4vy](https://github.com/luca-gr4vy) [@GiordanoArman](https://github.com/GiordanoArman))
27
+
28
+ #### Authors: 2
29
+
30
+ - GiordanoArman ([@GiordanoArman](https://github.com/GiordanoArman))
31
+ - Luca Allievi ([@luca-gr4vy](https://github.com/luca-gr4vy))
32
+
33
+ ---
34
+
1
35
  # v2.3.2 (Tue Apr 14 2026)
2
36
 
3
37
  #### 🐛 Bug Fix
@@ -27,7 +27,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
27
27
  var react_1 = require("react");
28
28
  var use_secure_input_1 = require("../../hooks/use-secure-input");
29
29
  exports.Field = (0, react_1.forwardRef)(function (props, handleRef) {
30
- var maskInput = props.maskInput, rest = __rest(props, ["maskInput"]);
30
+ var maskInput = props.maskInput, onRedacted = props.onRedacted, onUnredacted = props.onUnredacted, rest = __rest(props, ["maskInput", "onRedacted", "onUnredacted"]);
31
31
  var ref = (0, react_1.useRef)(null);
32
32
  var field = (0, use_secure_input_1.useSecureInput)(__assign(__assign({}, props), { ref: ref }));
33
33
  (0, react_1.useImperativeHandle)(handleRef, function () { return ({
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+D;AAC/D,iEAAuD;AAG1C,QAAA,KAAK,GAAG,IAAA,kBAAU,EAC7B,UAAC,KAAK,EAAE,SAAS;IACP,IAAA,SAAS,GAAc,KAAK,UAAnB,EAAK,IAAI,UAAK,KAAK,EAA9B,aAAsB,CAAF,CAAU;IACpC,IAAM,GAAG,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACxB,IAAM,KAAK,GAAG,IAAA,iCAAc,wBAAM,KAAK,KAAE,GAAG,KAAA,IAAG,CAAA;IAE/C,IAAA,2BAAmB,EACjB,SAAS,EACT,cAAM,OAAA,CAAC;QACL,KAAK,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,qDAAI,CAAA,EAAA;QAC7B,WAAW,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,qDAAI,CAAA,EAAA;QACzC,aAAa,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,qDAAI,CAAA,EAAA;KAC9C,CAAC,EAJI,CAIJ,EACF,CAAC,KAAK,CAAC,CACR,CAAA;IAED,OAAO,2CAAO,GAAG,EAAE,GAAG,IAAM,IAAI,EAAI,CAAA;AACtC,CAAC,CACF,CAAA;AAED,aAAK,CAAC,WAAW,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+D;AAC/D,iEAAuD;AAG1C,QAAA,KAAK,GAAG,IAAA,kBAAU,EAC7B,UAAC,KAAK,EAAE,SAAS;IACP,IAAA,SAAS,GAAwC,KAAK,UAA7C,EAAE,UAAU,GAA4B,KAAK,WAAjC,EAAE,YAAY,GAAc,KAAK,aAAnB,EAAK,IAAI,UAAK,KAAK,EAAxD,2CAAgD,CAAF,CAAU;IAC9D,IAAM,GAAG,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACxB,IAAM,KAAK,GAAG,IAAA,iCAAc,wBAAM,KAAK,KAAE,GAAG,KAAA,IAAG,CAAA;IAE/C,IAAA,2BAAmB,EACjB,SAAS,EACT,cAAM,OAAA,CAAC;QACL,KAAK,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,qDAAI,CAAA,EAAA;QAC7B,WAAW,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,qDAAI,CAAA,EAAA;QACzC,aAAa,EAAE,sBAAM,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,qDAAI,CAAA,EAAA;KAC9C,CAAC,EAJI,CAIJ,EACF,CAAC,KAAK,CAAC,CACR,CAAA;IAED,OAAO,2CAAO,GAAG,EAAE,GAAG,IAAM,IAAI,EAAI,CAAA;AACtC,CAAC,CACF,CAAA;AAED,aAAK,CAAC,WAAW,GAAG,OAAO,CAAA"}
@@ -32,7 +32,7 @@ var eventHandlers = {
32
32
  exports.SecureFieldsContext = (0, react_1.createContext)(null);
33
33
  var SecureFieldsProvider = function (_a) {
34
34
  var children = _a.children, config = __rest(_a, ["children"]);
35
- var sessionId = config.sessionId, debug = config.debug, font = config.font;
35
+ var sessionId = config.sessionId, autoAdvance = config.autoAdvance, debug = config.debug, font = config.font;
36
36
  var _b = (0, react_1.useState)(), secureFields = _b[0], setSecureFields = _b[1];
37
37
  var _c = (0, react_1.useState)(), clickToPay = _c[0], setClickToPay = _c[1];
38
38
  var handlers = Object.entries(eventHandlers).map(function (_a) {
@@ -44,12 +44,14 @@ var SecureFieldsProvider = function (_a) {
44
44
  });
45
45
  var handlersDeps = handlers.map(function (handler) { return handler.callback; });
46
46
  (0, react_1.useEffect)(function () {
47
+ // eslint-disable-next-line react-hooks/set-state-in-effect
47
48
  setSecureFields(new secure_fields_1.SecureFields(config));
48
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
49
50
  }, [sessionId]);
50
51
  (0, react_1.useLayoutEffect)(function () {
51
52
  secureFields === null || secureFields === void 0 ? void 0 : secureFields.setDebug(debug);
52
53
  font && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.addFont(font));
54
+ autoAdvance && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.setAutoAdvance(autoAdvance));
53
55
  handlers.forEach(function (_a) {
54
56
  var event = _a.event, callback = _a.callback;
55
57
  return callback && (secureFields === null || secureFields === void 0 ? void 0 : secureFields.addEventListener(event, callback));
@@ -1 +1 @@
1
- {"version":3,"file":"use-secure-fields.js","sourceRoot":"","sources":["../../src/hooks/use-secure-fields.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-secure-fields.js","sourceRoot":"","sources":["../../src/hooks/use-secure-fields.tsx"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var addFieldFns = {
33
33
  var useSecureInput = function (options) {
34
34
  var secureFields = (0, use_secure_fields_1.useSecureFields)().secureFields;
35
35
  var _a = (0, react_1.useState)(), field = _a[0], setField = _a[1];
36
- var ref = options.ref, type = options.type, onBlur = options.onBlur, onFocus = options.onFocus, onInput = options.onInput, rest = __rest(options, ["ref", "type", "onBlur", "onFocus", "onInput"]);
36
+ var ref = options.ref, type = options.type, onBlur = options.onBlur, onFocus = options.onFocus, onInput = options.onInput, onRedacted = options.onRedacted, onUnredacted = options.onUnredacted, rest = __rest(options, ["ref", "type", "onBlur", "onFocus", "onInput", "onRedacted", "onUnredacted"]);
37
37
  var addField = function (type) {
38
38
  if (!secureFields || !(options === null || options === void 0 ? void 0 : options.ref) || field) {
39
39
  return;
@@ -48,7 +48,7 @@ var useSecureInput = function (options) {
48
48
  return;
49
49
  }
50
50
  setField(addField(options === null || options === void 0 ? void 0 : options.type));
51
- // eslint-disable-next-line react-hooks/exhaustive-deps
51
+ // eslint-disable-next-line react-hooks/exhaustive-deps, react-hooks/refs
52
52
  }, [secureFields, ref === null || ref === void 0 ? void 0 : ref.current, options === null || options === void 0 ? void 0 : options.type, field]);
53
53
  (0, react_1.useEffect)(function () {
54
54
  if (!field)
@@ -56,10 +56,14 @@ var useSecureInput = function (options) {
56
56
  onBlur && field.addEventListener('blur', onBlur);
57
57
  onFocus && field.addEventListener('focus', onFocus);
58
58
  onInput && field.addEventListener('input', onInput);
59
+ onRedacted && field.addEventListener('redacted', onRedacted);
60
+ onUnredacted && field.addEventListener('unredacted', onUnredacted);
59
61
  return function () {
60
62
  onBlur && field.removeEventListener('blur', onBlur);
61
63
  onFocus && field.removeEventListener('focus', onFocus);
62
64
  onInput && field.removeEventListener('input', onInput);
65
+ onRedacted && field.removeEventListener('redacted', onRedacted);
66
+ onUnredacted && field.removeEventListener('unredacted', onUnredacted);
63
67
  };
64
68
  // eslint-disable-next-line react-hooks/exhaustive-deps
65
69
  }, [secureFields, field]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-secure-input.js","sourceRoot":"","sources":["../../src/hooks/use-secure-input.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAA2C;AAC3C,yDAAyD;AAGzD,IAAM,WAAW,GAAG;IAClB,MAAM,EAAE,oBAAoB;IAC5B,UAAU,EAAE,oBAAoB;IAChC,YAAY,EAAE,sBAAsB;CACrC,CAAA;AAEM,IAAM,cAAc,GAAG,UAAC,OAAe;IACpC,IAAA,YAAY,GAAK,IAAA,mCAAe,GAAE,aAAtB,CAAsB;IACpC,IAAA,KAAoB,IAAA,gBAAQ,GAAe,EAA1C,KAAK,QAAA,EAAE,QAAQ,QAA2B,CAAA;IACzC,IAAA,GAAG,GAA8C,OAAO,IAArD,EAAE,IAAI,GAAwC,OAAO,KAA/C,EAAE,MAAM,GAAgC,OAAO,OAAvC,EAAE,OAAO,GAAuB,OAAO,QAA9B,EAAE,OAAO,GAAc,OAAO,QAArB,EAAK,IAAI,UAAK,OAAO,EAA1D,+CAAgD,CAAF,CAAY;IAEhE,IAAM,QAAQ,GAAG,UAAC,IAAmB;QACnC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,IAAI,KAAK,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,eAAO,IAAI,EAAG,CAAA;QAClE,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,aAAI,IAAI,MAAA,IAAK,IAAI,EAAG,CAAA;IAC9D,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,IAAI,KAAK,EAAE,CAAC;YAC9D,OAAM;QACR,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAA;QACjC,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAEtD,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChD,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEnD,OAAO;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtD,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC,CAAA;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AA1CY,QAAA,cAAc,kBA0C1B"}
1
+ {"version":3,"file":"use-secure-input.js","sourceRoot":"","sources":["../../src/hooks/use-secure-input.tsx"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ClickToPayOptions as BaseClickToPayOptions, ClickToPayInstance, Config as BaseConfig, Field as BaseField, FormChangeEventData, ThreeDSecureOptions as BaseThreeDSecureOptions } from '@gr4vy/secure-fields';
1
+ import { AutoAdvanceConfig, ClickToPayOptions as BaseClickToPayOptions, ClickToPayInstance, Config as BaseConfig, Field as BaseField, FormChangeEventData, ThreeDSecureOptions as BaseThreeDSecureOptions } from '@gr4vy/secure-fields';
2
2
  import { MutableRefObject } from 'react';
3
3
  export type CardVaultFailureData = {
4
4
  status: number;
@@ -8,6 +8,7 @@ export type CardVaultFailureData = {
8
8
  export type Config = BaseConfig & {
9
9
  debug?: boolean;
10
10
  font?: string;
11
+ autoAdvance?: AutoAdvanceConfig;
11
12
  onReady?: (config: {
12
13
  version: string;
13
14
  } & BaseConfig) => void;
@@ -32,6 +33,8 @@ export type Field = BaseField & {
32
33
  onBlur?: (data: any) => void;
33
34
  onFocus?: (data: any) => void;
34
35
  onInput?: (data: any) => void;
36
+ onRedacted?: () => void;
37
+ onUnredacted?: () => void;
35
38
  };
36
39
  export type FieldHandle = {
37
40
  clear: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gr4vy/secure-fields-react",
3
- "version": "2.3.3",
3
+ "version": "2.4.0",
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.3.3"
44
+ "@gr4vy/secure-fields": "^2.4.0"
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": "9285a6be8e3083834747f01c4a94e9174e946a8d"
58
+ "gitHead": "75332af7a355ca053a3563667966666df518134b"
59
59
  }