@gr4vy/secure-fields-react 2.4.0 → 2.5.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,20 @@
1
+ # v2.5.0 (Thu May 07 2026)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - task: add api scheme detection [#1208](https://github.com/gr4vy/secure-fields/pull/1208) ([@luca-gr4vy](https://github.com/luca-gr4vy))
6
+
7
+ #### 🐛 Bug Fix
8
+
9
+ - task: Add field auto-focus functionality (opt-in) - TA-15759 [#1201](https://github.com/gr4vy/secure-fields/pull/1201) ([@luca-gr4vy](https://github.com/luca-gr4vy) [@GiordanoArman](https://github.com/GiordanoArman))
10
+
11
+ #### Authors: 2
12
+
13
+ - GiordanoArman ([@GiordanoArman](https://github.com/GiordanoArman))
14
+ - Luca Allievi ([@luca-gr4vy](https://github.com/luca-gr4vy))
15
+
16
+ ---
17
+
1
18
  # v2.4.0 (Thu Apr 30 2026)
2
19
 
3
20
  #### 🚀 Enhancement
@@ -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, onRedacted = props.onRedacted, onUnredacted = props.onUnredacted, rest = __rest(props, ["maskInput", "onRedacted", "onUnredacted"]);
30
+ var autoFocus = props.autoFocus, maskInput = props.maskInput, onRedacted = props.onRedacted, onUnredacted = props.onUnredacted, onCardDetailsChanged = props.onCardDetailsChanged, rest = __rest(props, ["autoFocus", "maskInput", "onRedacted", "onUnredacted", "onCardDetailsChanged"]);
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,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"}
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;IAEb,IAAA,SAAS,GAMP,KAAK,UANE,EACT,SAAS,GAKP,KAAK,UALE,EACT,UAAU,GAIR,KAAK,WAJG,EACV,YAAY,GAGV,KAAK,aAHK,EACZ,oBAAoB,GAElB,KAAK,qBAFa,EACjB,IAAI,UACL,KAAK,EAPH,gFAOL,CADQ,CACA;IACT,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"}
@@ -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, onRedacted = options.onRedacted, onUnredacted = options.onUnredacted, rest = __rest(options, ["ref", "type", "onBlur", "onFocus", "onInput", "onRedacted", "onUnredacted"]);
36
+ var ref = options.ref, type = options.type, onBlur = options.onBlur, onFocus = options.onFocus, onInput = options.onInput, onRedacted = options.onRedacted, onUnredacted = options.onUnredacted, onCardDetailsChanged = options.onCardDetailsChanged, rest = __rest(options, ["ref", "type", "onBlur", "onFocus", "onInput", "onRedacted", "onUnredacted", "onCardDetailsChanged"]);
37
37
  var addField = function (type) {
38
38
  if (!secureFields || !(options === null || options === void 0 ? void 0 : options.ref) || field) {
39
39
  return;
@@ -58,12 +58,16 @@ var useSecureInput = function (options) {
58
58
  onInput && field.addEventListener('input', onInput);
59
59
  onRedacted && field.addEventListener('redacted', onRedacted);
60
60
  onUnredacted && field.addEventListener('unredacted', onUnredacted);
61
+ onCardDetailsChanged &&
62
+ field.addEventListener('card-details-changed', onCardDetailsChanged);
61
63
  return function () {
62
64
  onBlur && field.removeEventListener('blur', onBlur);
63
65
  onFocus && field.removeEventListener('focus', onFocus);
64
66
  onInput && field.removeEventListener('input', onInput);
65
67
  onRedacted && field.removeEventListener('redacted', onRedacted);
66
68
  onUnredacted && field.removeEventListener('unredacted', onUnredacted);
69
+ onCardDetailsChanged &&
70
+ field.removeEventListener('card-details-changed', onCardDetailsChanged);
67
71
  };
68
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
73
  }, [secureFields, field]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-secure-input.js","sourceRoot":"","sources":["../../src/hooks/use-secure-input.tsx"],"names":[],"mappings":"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"}
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
@@ -35,6 +35,7 @@ export type Field = BaseField & {
35
35
  onInput?: (data: any) => void;
36
36
  onRedacted?: () => void;
37
37
  onUnredacted?: () => void;
38
+ onCardDetailsChanged?: (data: any) => void;
38
39
  };
39
40
  export type FieldHandle = {
40
41
  clear: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gr4vy/secure-fields-react",
3
- "version": "2.4.0",
3
+ "version": "2.5.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.4.0"
44
+ "@gr4vy/secure-fields": "^2.5.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": "75332af7a355ca053a3563667966666df518134b"
58
+ "gitHead": "98b8221a9bbaca78d42aba26e7801b5b24958275"
59
59
  }