use-mask-input 2.0.0 → 2.1.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/README.md +12 -16
- package/dist/index.d.ts +1 -0
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +22 -0
- package/dist/index.modern.js.map +1 -1
- package/dist/maskRegister.d.ts +16 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -44,28 +44,24 @@ const App = () => {
|
|
|
44
44
|
## Usage with React Hook Forms
|
|
45
45
|
|
|
46
46
|
```tsx
|
|
47
|
-
import React from 'react'
|
|
48
|
-
import useMaskInput from 'use-mask-input';
|
|
47
|
+
import React from 'react';
|
|
49
48
|
import { useForm } from 'react-hook-form';
|
|
49
|
+
import useMaskInput, { maskRegister } from 'use-mask-input';
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
const { register, handleSubmit
|
|
53
|
-
|
|
54
|
-
const onSubmit = (data) => {
|
|
55
|
-
console.log(data);
|
|
56
|
-
};
|
|
51
|
+
function App() {
|
|
52
|
+
const { register, handleSubmit } = useForm();
|
|
57
53
|
|
|
58
|
-
|
|
59
|
-
mask: ['(99) 9999 9999', '(99) 9 9999 9999'],
|
|
60
|
-
register: register,
|
|
61
|
-
})
|
|
54
|
+
...
|
|
62
55
|
|
|
63
56
|
return (
|
|
64
|
-
<form onSubmit={
|
|
65
|
-
<input
|
|
66
|
-
|
|
57
|
+
<form onSubmit={onSubmit}>
|
|
58
|
+
<input
|
|
59
|
+
type="text"
|
|
60
|
+
{...maskRegister(register('phone'), ['(99) 9999 9999', '(99) 9 9999 9999'])}
|
|
61
|
+
/>
|
|
62
|
+
<button type="submit">Submit</button>
|
|
67
63
|
</form>
|
|
68
|
-
)
|
|
64
|
+
);
|
|
69
65
|
}
|
|
70
66
|
```
|
|
71
67
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
var Inputmask = _interopDefault(require('inputmask'));
|
|
5
|
+
var flowright = _interopDefault(require('lodash.flowright'));
|
|
5
6
|
|
|
6
7
|
function _extends() {
|
|
7
8
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -42,5 +43,26 @@ var useInputMask = function useInputMask(props) {
|
|
|
42
43
|
return ref;
|
|
43
44
|
};
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
var maskRegister = function maskRegister(registerReturn, mask, options) {
|
|
47
|
+
var newRef;
|
|
48
|
+
|
|
49
|
+
if (registerReturn) {
|
|
50
|
+
var ref = registerReturn.ref;
|
|
51
|
+
var maskInput = Inputmask(_extends({
|
|
52
|
+
mask: mask,
|
|
53
|
+
jitMasking: true
|
|
54
|
+
}, options));
|
|
55
|
+
newRef = flowright(ref, function (_ref) {
|
|
56
|
+
maskInput.mask(_ref);
|
|
57
|
+
return _ref;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return _extends({}, registerReturn, {
|
|
62
|
+
ref: newRef
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.default = useInputMask;
|
|
67
|
+
exports.maskRegister = maskRegister;
|
|
46
68
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/useMaskInput.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport Inputmask from 'inputmask';\n\ninterface UseInputMaskOptions {\n mask: Inputmask.Options['mask']\n register?(element: HTMLElement): void\n options?: Inputmask.Options\n}\n\nconst useInputMask = (props: UseInputMaskOptions) => {\n const { mask, register, options } = props;\n\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const maskInput = Inputmask({\n mask,\n ...options,\n });\n\n maskInput.mask(ref.current);\n\n if (register && ref.current) {\n register(ref.current);\n }\n }, [mask, register, options]);\n\n return ref;\n};\n\nexport default useInputMask;\n"],"names":["useInputMask","props","mask","register","options","ref","useRef","useEffect","current","maskInput","Inputmask"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/useMaskInput.ts","../src/maskRegister.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport Inputmask from 'inputmask';\n\ninterface UseInputMaskOptions {\n mask: Inputmask.Options['mask']\n register?(element: HTMLElement): void\n options?: Inputmask.Options\n}\n\nconst useInputMask = (props: UseInputMaskOptions) => {\n const { mask, register, options } = props;\n\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const maskInput = Inputmask({\n mask,\n ...options,\n });\n\n maskInput.mask(ref.current);\n\n if (register && ref.current) {\n register(ref.current);\n }\n }, [mask, register, options]);\n\n return ref;\n};\n\nexport default useInputMask;\n","/* eslint-disable @typescript-eslint/space-before-blocks */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport Inputmask from 'inputmask';\nimport { UseFormRegisterReturn } from 'react-hook-form';\nimport flowright from 'lodash.flowright';\n\nconst maskRegister = (\n registerReturn: UseFormRegisterReturn,\n mask: Inputmask.Options['mask'],\n options?: Inputmask.Options,\n) => {\n //\n let newRef;\n\n if (registerReturn){\n const { ref } = registerReturn;\n\n const maskInput = Inputmask({\n mask,\n jitMasking: true,\n ...options,\n });\n\n newRef = flowright(ref, (_ref) => {\n maskInput.mask(_ref);\n return _ref;\n });\n }\n\n return {\n ...registerReturn,\n ref: newRef,\n };\n};\n\nexport default maskRegister;\n"],"names":["useInputMask","props","mask","register","options","ref","useRef","useEffect","current","maskInput","Inputmask","maskRegister","registerReturn","newRef","jitMasking","flowright","_ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD;EACnB,IAAQC,IAAR,GAAoCD,KAApC,CAAQC,IAAR;MAAcC,QAAd,GAAoCF,KAApC,CAAcE,QAAd;MAAwBC,OAAxB,GAAoCH,KAApC,CAAwBG,OAAxB;EAEA,IAAMC,GAAG,GAAGC,YAAM,CAAmB,IAAnB,CAAlB;EAEAC,eAAS,CAAC;IACR,IAAI,CAACF,GAAG,CAACG,OAAT,EAAkB;MAChB;;;IAGF,IAAMC,SAAS,GAAGC,SAAS;MACzBR,IAAI,EAAJA;OACGE,OAFsB,EAA3B;IAKAK,SAAS,CAACP,IAAV,CAAeG,GAAG,CAACG,OAAnB;;IAEA,IAAIL,QAAQ,IAAIE,GAAG,CAACG,OAApB,EAA6B;MAC3BL,QAAQ,CAACE,GAAG,CAACG,OAAL,CAAR;;GAbK,EAeN,CAACN,IAAD,EAAOC,QAAP,EAAiBC,OAAjB,CAfM,CAAT;EAiBA,OAAOC,GAAP;AACD,CAvBD;;ACHA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CACnBC,cADmB,EAEnBV,IAFmB,EAGnBE,OAHmB;EAMnB,IAAIS,MAAJ;;EAEA,IAAID,cAAJ,EAAmB;IACjB,IAAQP,GAAR,GAAgBO,cAAhB,CAAQP,GAAR;IAEA,IAAMI,SAAS,GAAGC,SAAS;MACzBR,IAAI,EAAJA,IADyB;MAEzBY,UAAU,EAAE;OACTV,OAHsB,EAA3B;IAMAS,MAAM,GAAGE,SAAS,CAACV,GAAD,EAAM,UAACW,IAAD;MACtBP,SAAS,CAACP,IAAV,CAAec,IAAf;MACA,OAAOA,IAAP;KAFgB,CAAlB;;;EAMF,oBACKJ,cADL;IAEEP,GAAG,EAAEQ;;AAER,CA3BD;;;;;"}
|
package/dist/index.modern.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useRef, useEffect } from 'react';
|
|
2
2
|
import Inputmask from 'inputmask';
|
|
3
|
+
import flowright from 'lodash.flowright';
|
|
3
4
|
|
|
4
5
|
function _extends() {
|
|
5
6
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -40,5 +41,26 @@ var useInputMask = function useInputMask(props) {
|
|
|
40
41
|
return ref;
|
|
41
42
|
};
|
|
42
43
|
|
|
44
|
+
var maskRegister = function maskRegister(registerReturn, mask, options) {
|
|
45
|
+
var newRef;
|
|
46
|
+
|
|
47
|
+
if (registerReturn) {
|
|
48
|
+
var ref = registerReturn.ref;
|
|
49
|
+
var maskInput = Inputmask(_extends({
|
|
50
|
+
mask: mask,
|
|
51
|
+
jitMasking: true
|
|
52
|
+
}, options));
|
|
53
|
+
newRef = flowright(ref, function (_ref) {
|
|
54
|
+
maskInput.mask(_ref);
|
|
55
|
+
return _ref;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return _extends({}, registerReturn, {
|
|
60
|
+
ref: newRef
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
43
64
|
export default useInputMask;
|
|
65
|
+
export { maskRegister };
|
|
44
66
|
//# sourceMappingURL=index.modern.js.map
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/useMaskInput.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport Inputmask from 'inputmask';\n\ninterface UseInputMaskOptions {\n mask: Inputmask.Options['mask']\n register?(element: HTMLElement): void\n options?: Inputmask.Options\n}\n\nconst useInputMask = (props: UseInputMaskOptions) => {\n const { mask, register, options } = props;\n\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const maskInput = Inputmask({\n mask,\n ...options,\n });\n\n maskInput.mask(ref.current);\n\n if (register && ref.current) {\n register(ref.current);\n }\n }, [mask, register, options]);\n\n return ref;\n};\n\nexport default useInputMask;\n"],"names":["useInputMask","props","mask","register","options","ref","useRef","useEffect","current","maskInput","Inputmask"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/useMaskInput.ts","../src/maskRegister.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport Inputmask from 'inputmask';\n\ninterface UseInputMaskOptions {\n mask: Inputmask.Options['mask']\n register?(element: HTMLElement): void\n options?: Inputmask.Options\n}\n\nconst useInputMask = (props: UseInputMaskOptions) => {\n const { mask, register, options } = props;\n\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n const maskInput = Inputmask({\n mask,\n ...options,\n });\n\n maskInput.mask(ref.current);\n\n if (register && ref.current) {\n register(ref.current);\n }\n }, [mask, register, options]);\n\n return ref;\n};\n\nexport default useInputMask;\n","/* eslint-disable @typescript-eslint/space-before-blocks */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport Inputmask from 'inputmask';\nimport { UseFormRegisterReturn } from 'react-hook-form';\nimport flowright from 'lodash.flowright';\n\nconst maskRegister = (\n registerReturn: UseFormRegisterReturn,\n mask: Inputmask.Options['mask'],\n options?: Inputmask.Options,\n) => {\n //\n let newRef;\n\n if (registerReturn){\n const { ref } = registerReturn;\n\n const maskInput = Inputmask({\n mask,\n jitMasking: true,\n ...options,\n });\n\n newRef = flowright(ref, (_ref) => {\n maskInput.mask(_ref);\n return _ref;\n });\n }\n\n return {\n ...registerReturn,\n ref: newRef,\n };\n};\n\nexport default maskRegister;\n"],"names":["useInputMask","props","mask","register","options","ref","useRef","useEffect","current","maskInput","Inputmask","maskRegister","registerReturn","newRef","jitMasking","flowright","_ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD;EACnB,IAAQC,IAAR,GAAoCD,KAApC,CAAQC,IAAR;MAAcC,QAAd,GAAoCF,KAApC,CAAcE,QAAd;MAAwBC,OAAxB,GAAoCH,KAApC,CAAwBG,OAAxB;EAEA,IAAMC,GAAG,GAAGC,MAAM,CAAmB,IAAnB,CAAlB;EAEAC,SAAS,CAAC;IACR,IAAI,CAACF,GAAG,CAACG,OAAT,EAAkB;MAChB;;;IAGF,IAAMC,SAAS,GAAGC,SAAS;MACzBR,IAAI,EAAJA;OACGE,OAFsB,EAA3B;IAKAK,SAAS,CAACP,IAAV,CAAeG,GAAG,CAACG,OAAnB;;IAEA,IAAIL,QAAQ,IAAIE,GAAG,CAACG,OAApB,EAA6B;MAC3BL,QAAQ,CAACE,GAAG,CAACG,OAAL,CAAR;;GAbK,EAeN,CAACN,IAAD,EAAOC,QAAP,EAAiBC,OAAjB,CAfM,CAAT;EAiBA,OAAOC,GAAP;AACD,CAvBD;;ACHA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CACnBC,cADmB,EAEnBV,IAFmB,EAGnBE,OAHmB;EAMnB,IAAIS,MAAJ;;EAEA,IAAID,cAAJ,EAAmB;IACjB,IAAQP,GAAR,GAAgBO,cAAhB,CAAQP,GAAR;IAEA,IAAMI,SAAS,GAAGC,SAAS;MACzBR,IAAI,EAAJA,IADyB;MAEzBY,UAAU,EAAE;OACTV,OAHsB,EAA3B;IAMAS,MAAM,GAAGE,SAAS,CAACV,GAAD,EAAM,UAACW,IAAD;MACtBP,SAAS,CAACP,IAAV,CAAec,IAAf;MACA,OAAOA,IAAP;KAFgB,CAAlB;;;EAMF,oBACKJ,cADL;IAEEP,GAAG,EAAEQ;;AAER,CA3BD;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Inputmask from 'inputmask';
|
|
2
|
+
import { UseFormRegisterReturn } from 'react-hook-form';
|
|
3
|
+
declare const maskRegister: (registerReturn: UseFormRegisterReturn, mask: Inputmask.Options['mask'], options?: Inputmask.Options | undefined) => {
|
|
4
|
+
ref: ((_ref: any) => void) | undefined;
|
|
5
|
+
onChange: import("react-hook-form").ChangeHandler;
|
|
6
|
+
onBlur: import("react-hook-form").ChangeHandler;
|
|
7
|
+
name: string;
|
|
8
|
+
min?: string | number | undefined;
|
|
9
|
+
max?: string | number | undefined;
|
|
10
|
+
maxLength?: number | undefined;
|
|
11
|
+
minLength?: number | undefined;
|
|
12
|
+
pattern?: string | undefined;
|
|
13
|
+
required?: boolean | undefined;
|
|
14
|
+
disabled?: boolean | undefined;
|
|
15
|
+
};
|
|
16
|
+
export default maskRegister;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "use-mask-input",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A react Hook for build elegant input masks. Compatible with React Hook Form",
|
|
5
5
|
"author": "eduardoborges",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"@semantic-release/release-notes-generator": "10.0.3",
|
|
36
36
|
"@types/inputmask": "^5.0.3",
|
|
37
37
|
"@types/jest": "29.0.3",
|
|
38
|
+
"@types/lodash.flowright": "^3.5.7",
|
|
38
39
|
"@types/node": "18",
|
|
39
40
|
"@types/react": "^17.x",
|
|
40
41
|
"@types/react-dom": "^17.x",
|
|
@@ -60,7 +61,10 @@
|
|
|
60
61
|
"dist"
|
|
61
62
|
],
|
|
62
63
|
"dependencies": {
|
|
63
|
-
"inputmask": "^5.0.7"
|
|
64
|
+
"inputmask": "^5.0.7",
|
|
65
|
+
"lodash.compose": "^2.4.1",
|
|
66
|
+
"lodash.flowright": "^3.5.0",
|
|
67
|
+
"react-hook-form": "^7.36.1"
|
|
64
68
|
},
|
|
65
69
|
"bundleDependencies": [
|
|
66
70
|
"inputmask"
|