@pagopa/io-app-design-system 5.11.15 → 5.11.16
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/components/otpInput/BoxedInput.js +16 -11
- package/lib/commonjs/components/otpInput/BoxedInput.js.map +1 -1
- package/lib/commonjs/components/otpInput/OTPInput.js +4 -1
- package/lib/commonjs/components/otpInput/OTPInput.js.map +1 -1
- package/lib/module/components/otpInput/BoxedInput.js +17 -11
- package/lib/module/components/otpInput/BoxedInput.js.map +1 -1
- package/lib/module/components/otpInput/OTPInput.js +4 -1
- package/lib/module/components/otpInput/OTPInput.js.map +1 -1
- package/lib/typescript/components/otpInput/BoxedInput.d.ts +1 -1
- package/lib/typescript/components/otpInput/BoxedInput.d.ts.map +1 -1
- package/lib/typescript/components/otpInput/OTPInput.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/otpInput/BoxedInput.tsx +14 -9
- package/src/components/otpInput/OTPInput.tsx +3 -1
|
@@ -14,13 +14,16 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
14
14
|
const MAX_WIDTH = 48;
|
|
15
15
|
const MAX_HEIGHT = 64;
|
|
16
16
|
const styles = _reactNative.StyleSheet.create({
|
|
17
|
+
boxWrapper: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
maxWidth: MAX_WIDTH,
|
|
20
|
+
maxHeight: MAX_HEIGHT,
|
|
21
|
+
aspectRatio: MAX_WIDTH / MAX_HEIGHT
|
|
22
|
+
},
|
|
17
23
|
baseBox: {
|
|
18
24
|
alignItems: "center",
|
|
19
25
|
justifyContent: "center",
|
|
20
26
|
flex: 1,
|
|
21
|
-
maxWidth: MAX_WIDTH,
|
|
22
|
-
maxHeight: MAX_HEIGHT,
|
|
23
|
-
aspectRatio: MAX_WIDTH / MAX_HEIGHT,
|
|
24
27
|
borderRadius: 8,
|
|
25
28
|
borderCurve: "continuous"
|
|
26
29
|
}
|
|
@@ -33,7 +36,7 @@ const SecretValue = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.IOText,
|
|
|
33
36
|
accessible: false,
|
|
34
37
|
children: "•"
|
|
35
38
|
});
|
|
36
|
-
const BoxedInput = ({
|
|
39
|
+
const BoxedInput = exports.BoxedInput = /*#__PURE__*/(0, _react.memo)(({
|
|
37
40
|
status,
|
|
38
41
|
value,
|
|
39
42
|
secret
|
|
@@ -55,13 +58,15 @@ const BoxedInput = ({
|
|
|
55
58
|
}
|
|
56
59
|
}), [theme]);
|
|
57
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
58
|
-
style:
|
|
61
|
+
style: styles.boxWrapper,
|
|
59
62
|
accessible: false,
|
|
60
|
-
children:
|
|
61
|
-
|
|
62
|
-
children: value
|
|
63
|
-
|
|
63
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
64
|
+
style: [styles.baseBox, statusStyle[status]],
|
|
65
|
+
children: value && (secret ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SecretValue, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H6, {
|
|
66
|
+
accessible: false,
|
|
67
|
+
children: value
|
|
68
|
+
}))
|
|
69
|
+
})
|
|
64
70
|
});
|
|
65
|
-
};
|
|
66
|
-
exports.BoxedInput = BoxedInput;
|
|
71
|
+
});
|
|
67
72
|
//# sourceMappingURL=BoxedInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_context","_IOColors","_typography","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_WIDTH","MAX_HEIGHT","styles","StyleSheet","create","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_context","_IOColors","_typography","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_WIDTH","MAX_HEIGHT","styles","StyleSheet","create","boxWrapper","flex","maxWidth","maxHeight","aspectRatio","baseBox","alignItems","justifyContent","borderRadius","borderCurve","SecretValue","jsx","IOText","font","weight","size","lineHeight","accessible","children","BoxedInput","exports","memo","status","value","secret","theme","useIOTheme","statusStyle","useMemo","error","borderWidth","borderColor","IOColors","backgroundColor","hexToRgba","focus","View","style","H6"],"sourceRoot":"../../../../src","sources":["components/otpInput/BoxedInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -101,6 +101,9 @@ const OTPInput = exports.OTPInput = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
101
101
|
break;
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
|
+
const cells = React.useMemo(() => Array.from({
|
|
105
|
+
length
|
|
106
|
+
}), [length]);
|
|
104
107
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
105
108
|
style: [{
|
|
106
109
|
flexGrow: 1
|
|
@@ -142,7 +145,7 @@ const OTPInput = exports.OTPInput = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
142
145
|
accessible: true,
|
|
143
146
|
autoFocus: autoFocus,
|
|
144
147
|
secureTextEntry: true
|
|
145
|
-
}),
|
|
148
|
+
}), cells.map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_BoxedInput.BoxedInput, {
|
|
146
149
|
status: hasError ? "error" : hasFocus && value.length === i ? "focus" : "default",
|
|
147
150
|
secret: secret,
|
|
148
151
|
value: value[i]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_reactNativeReanimated","_interopRequireDefault","_context","_functions","_useErrorShakeAnimation","_layout","_typography","_BoxedInput","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OTP_ITEMS_GAP","OTPInput","exports","forwardRef","value","onValueChange","length","accessibilityLabel","accessibilityHint","onValidate","errorMessage","secret","autocomplete","inputAccessoryViewID","autoFocus","deleteButtonAccessibilityLabel","ref","hasFocus","setHasFocus","useState","hasError","setHasError","theme","useIOTheme","translate","animatedStyle","shakeAnimation","useErrorShakeAnimation","inputRef","createRef","timerRef","useRef","undefined","handleValidate","val","isValid","triggerHaptic","current","clearTimeout","setTimeout","useEffect","handleChange","handleKeyPress","nativeEvent","key","AccessibilityInfo","announceForAccessibility","jsxs","View","style","flexGrow","children","Pressable","onPress","focus","flexDirection","justifyContent","columnGap","accessible","accessibilityValue","text","jsx","TextInput","onChangeText","onKeyPress","position","opacity","maxLength","onBlur","keyboardType","inputMode","returnKeyType","textContentType","autoComplete","secureTextEntry","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_reactNativeReanimated","_interopRequireDefault","_context","_functions","_useErrorShakeAnimation","_layout","_typography","_BoxedInput","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OTP_ITEMS_GAP","OTPInput","exports","forwardRef","value","onValueChange","length","accessibilityLabel","accessibilityHint","onValidate","errorMessage","secret","autocomplete","inputAccessoryViewID","autoFocus","deleteButtonAccessibilityLabel","ref","hasFocus","setHasFocus","useState","hasError","setHasError","theme","useIOTheme","translate","animatedStyle","shakeAnimation","useErrorShakeAnimation","inputRef","createRef","timerRef","useRef","undefined","handleValidate","val","isValid","triggerHaptic","current","clearTimeout","setTimeout","useEffect","handleChange","handleKeyPress","nativeEvent","key","AccessibilityInfo","announceForAccessibility","cells","useMemo","Array","from","jsxs","View","style","flexGrow","children","Pressable","onPress","focus","flexDirection","justifyContent","columnGap","accessible","accessibilityValue","text","jsx","TextInput","onChangeText","onKeyPress","position","opacity","maxLength","onBlur","keyboardType","inputMode","returnKeyType","textContentType","autoComplete","secureTextEntry","map","_","BoxedInput","status","VSpacer","size","BodySmall","weight","color","errorText","textAlign"],"sourceRoot":"../../../../src","sources":["components/otpInput/OTPInput.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,KAAA,GAAAH,MAAA;AAE/B,IAAAI,YAAA,GAAAF,OAAA;AAQA,IAAAG,sBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,uBAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAA0C,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAI,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAa,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAE1C,MAAMgB,aAAa,GAAG,CAAC;AAiBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,iBAAU,EAChC,CACE;EACEC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,kBAAkB;EAClBC,iBAAiB;EACjBC,UAAU;EACVC,YAAY,GAAG,EAAE;EACjBC,MAAM,GAAG,KAAK;EACdC,YAAY,GAAG,KAAK;EACpBC,oBAAoB;EACpBC,SAAS,GAAG,KAAK;EACjBC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAACL,SAAS,CAAC;EACnD,MAAM,CAACM,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAE/C,MAAMG,KAAK,GAAG,IAAAC,mBAAU,EAAC,CAAC;EAE1B,MAAM;IAAEC,SAAS;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAChD,IAAAC,8CAAsB,EAAC,CAAC;EAE1B,MAAMC,QAAQ,gBAAG,IAAAC,gBAAS,EAAY,CAAC;EACvC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAA6BC,SAAS,CAAC;EAE9D,MAAMC,cAAc,GAAIC,GAAW,IAAK;IACtC,IAAI,CAACzB,UAAU,IAAIyB,GAAG,CAAC5B,MAAM,GAAGA,MAAM,EAAE;MACtC;IACF;IACA,MAAM6B,OAAO,GAAG1B,UAAU,CAACyB,GAAG,CAAC;IAC/B,IAAI,CAACC,OAAO,EAAE;MACZd,WAAW,CAAC,IAAI,CAAC;MACjB,IAAAe,wBAAa,EAAC,mBAAmB,CAAC;MAClC;MACAZ,SAAS,CAACpB,KAAK,GAAGsB,cAAc,CAAC,CAAC;MAElC,IAAII,QAAQ,CAACO,OAAO,EAAE;QACpBC,YAAY,CAACR,QAAQ,CAACO,OAAO,CAAC;MAChC;MACA;MACAP,QAAQ,CAACO,OAAO,GAAGE,UAAU,CAAC,MAAM;QAClClB,WAAW,CAAC,KAAK,CAAC;QAClBhB,aAAa,CAAC,EAAE,CAAC;MACnB,CAAC,EAAE,GAAG,CAAC;IACT;EACF,CAAC;EAED,IAAAmC,gBAAS,EACP,MAAM,MAAM;IACV,IAAIV,QAAQ,CAACO,OAAO,EAAE;MACpBC,YAAY,CAACR,QAAQ,CAACO,OAAO,CAAC;IAChC;EACF,CAAC,EACD,EACF,CAAC;EAED,MAAMI,YAAY,GAAIrC,KAAa,IAAK;IACtC,IAAIA,KAAK,CAACE,MAAM,GAAGA,MAAM,EAAE;MACzB;IACF;IACAD,aAAa,CAACD,KAAK,CAAC;IACpB6B,cAAc,CAAC7B,KAAK,CAAC;EACvB,CAAC;EAED,MAAMsC,cAAc,GAAGA,CAAC;IACtBC;EACgD,CAAC,KAAK;IACtD,QAAQA,WAAW,CAACC,GAAG;MACrB,KAAK,WAAW;QACd,IAAI7B,8BAA8B,IAAIX,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;UACtDuC,8BAAiB,CAACC,wBAAwB,CACxC/B,8BACF,CAAC;QACH;QACA;MACF;QACE8B,8BAAiB,CAACC,wBAAwB,CAACH,WAAW,CAACC,GAAG,CAAC;QAC3D;IACJ;EACF,CAAC;EAED,MAAMG,KAAK,GAAG7E,KAAK,CAAC8E,OAAO,CAAC,MAAMC,KAAK,CAACC,IAAI,CAAC;IAAE5C;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEnE,oBACE,IAAA1B,WAAA,CAAAuE,IAAA,EAAC/E,sBAAA,CAAAW,OAAQ,CAACqE,IAAI;IAACC,KAAK,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAE,CAAC,EAAE7B,aAAa,CAAE;IAAA8B,QAAA,gBACrD,IAAA3E,WAAA,CAAAuE,IAAA,EAAChF,YAAA,CAAAqF,SAAS;MACRC,OAAO,EAAEA,CAAA,KAAM;QACb7B,QAAQ,CAACS,OAAO,EAAEqB,KAAK,CAAC,CAAC;QACzBxC,WAAW,CAAC,IAAI,CAAC;MACnB,CAAE;MACFF,GAAG,EAAEA,GAAI;MACTqC,KAAK,EAAE;QACLM,aAAa,EAAE,KAAK;QACpBC,cAAc,EAAE,eAAe;QAC/BC,SAAS,EAAE7D;MACb,CAAE;MACF8D,UAAU,EAAE,IAAK;MACjBvD,kBAAkB,EAAEA,kBAAmB;MACvCC,iBAAiB,EAAEA,iBAAkB;MACrCuD,kBAAkB,EAAE;QAAEC,IAAI,EAAE5D;MAAM,CAAE;MAAAmD,QAAA,gBAEpC,IAAA3E,WAAA,CAAAqF,GAAA,EAAC9F,YAAA,CAAA+F,SAAS;QACR9D,KAAK,EAAEA,KAAM;QACb+D,YAAY,EAAE1B,YAAa;QAC3B2B,UAAU,EAAE1B,cAAe;QAC3BW,KAAK,EAAE;UAAEgB,QAAQ,EAAE,UAAU;UAAEC,OAAO,EAAE;QAAE,CAAE;QAC5CC,SAAS,EAAEjE,MAAO;QAClBU,GAAG,EAAEY,QAAS;QACd4C,MAAM,EAAEA,CAAA,KAAMtD,WAAW,CAAC,KAAK,CAAE;QACjCuD,YAAY,EAAC,SAAS;QACtBC,SAAS,EAAC,SAAS;QACnBC,aAAa,EAAC,MAAM;QACpBC,eAAe,EAAC,aAAa;QAC7BC,YAAY,EAAEjE,YAAY,GAAG,SAAS,GAAGoB,SAAU;QACnDnB,oBAAoB,EAAEA,oBAAqB;QAC3CiD,UAAU,EAAE,IAAK;QACjBhD,SAAS,EAAEA,SAAU;QACrBgE,eAAe,EAAE;MAAK,CACvB,CAAC,EACD/B,KAAK,CAACgC,GAAG,CAAC,CAACC,CAAC,EAAE3F,CAAC,kBACd,IAAAT,WAAA,CAAAqF,GAAA,EAACtF,WAAA,CAAAsG,UAAU;QAETC,MAAM,EACJ9D,QAAQ,GACJ,OAAO,GACPH,QAAQ,IAAIb,KAAK,CAACE,MAAM,KAAKjB,CAAC,GAC9B,OAAO,GACP,SACL;QACDsB,MAAM,EAAEA,MAAO;QACfP,KAAK,EAAEA,KAAK,CAACf,CAAC;MAAE,GATXA,CAUN,CACF,CAAC;IAAA,CACO,CAAC,eACZ,IAAAT,WAAA,CAAAqF,GAAA,EAACxF,OAAA,CAAA0G,OAAO;MAACC,IAAI,EAAE;IAAE,CAAE,CAAC,EACnBhE,QAAQ,IAAIV,YAAY,iBACvB,IAAA9B,WAAA,CAAAqF,GAAA,EAACvF,WAAA,CAAA2G,SAAS;MACRC,MAAM,EAAC,UAAU;MACjBC,KAAK,EAAEjE,KAAK,CAACkE,SAAU;MACvBnC,KAAK,EAAE;QAAEoC,SAAS,EAAE;MAAS,CAAE;MAAAlC,QAAA,EAE9B7C;IAAY,CACJ,CACZ;EAAA,CACY,CAAC;AAEpB,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useMemo } from "react";
|
|
3
|
+
import React, { memo, useMemo } from "react";
|
|
4
4
|
import { StyleSheet, View } from "react-native";
|
|
5
5
|
import { useIOTheme } from "../../context";
|
|
6
6
|
import { hexToRgba, IOColors } from "../../core/IOColors";
|
|
@@ -9,13 +9,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
9
9
|
const MAX_WIDTH = 48;
|
|
10
10
|
const MAX_HEIGHT = 64;
|
|
11
11
|
const styles = StyleSheet.create({
|
|
12
|
+
boxWrapper: {
|
|
13
|
+
flex: 1,
|
|
14
|
+
maxWidth: MAX_WIDTH,
|
|
15
|
+
maxHeight: MAX_HEIGHT,
|
|
16
|
+
aspectRatio: MAX_WIDTH / MAX_HEIGHT
|
|
17
|
+
},
|
|
12
18
|
baseBox: {
|
|
13
19
|
alignItems: "center",
|
|
14
20
|
justifyContent: "center",
|
|
15
21
|
flex: 1,
|
|
16
|
-
maxWidth: MAX_WIDTH,
|
|
17
|
-
maxHeight: MAX_HEIGHT,
|
|
18
|
-
aspectRatio: MAX_WIDTH / MAX_HEIGHT,
|
|
19
22
|
borderRadius: 8,
|
|
20
23
|
borderCurve: "continuous"
|
|
21
24
|
}
|
|
@@ -28,7 +31,7 @@ const SecretValue = () => /*#__PURE__*/_jsx(IOText, {
|
|
|
28
31
|
accessible: false,
|
|
29
32
|
children: "•"
|
|
30
33
|
});
|
|
31
|
-
export const BoxedInput = ({
|
|
34
|
+
export const BoxedInput = /*#__PURE__*/memo(({
|
|
32
35
|
status,
|
|
33
36
|
value,
|
|
34
37
|
secret
|
|
@@ -50,12 +53,15 @@ export const BoxedInput = ({
|
|
|
50
53
|
}
|
|
51
54
|
}), [theme]);
|
|
52
55
|
return /*#__PURE__*/_jsx(View, {
|
|
53
|
-
style:
|
|
56
|
+
style: styles.boxWrapper,
|
|
54
57
|
accessible: false,
|
|
55
|
-
children:
|
|
56
|
-
|
|
57
|
-
children: value
|
|
58
|
-
|
|
58
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
59
|
+
style: [styles.baseBox, statusStyle[status]],
|
|
60
|
+
children: value && (secret ? /*#__PURE__*/_jsx(SecretValue, {}) : /*#__PURE__*/_jsx(H6, {
|
|
61
|
+
accessible: false,
|
|
62
|
+
children: value
|
|
63
|
+
}))
|
|
64
|
+
})
|
|
59
65
|
});
|
|
60
|
-
};
|
|
66
|
+
});
|
|
61
67
|
//# sourceMappingURL=BoxedInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","StyleSheet","View","useIOTheme","hexToRgba","IOColors","H6","IOText","jsx","_jsx","MAX_WIDTH","MAX_HEIGHT","styles","create","
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","StyleSheet","View","useIOTheme","hexToRgba","IOColors","H6","IOText","jsx","_jsx","MAX_WIDTH","MAX_HEIGHT","styles","create","boxWrapper","flex","maxWidth","maxHeight","aspectRatio","baseBox","alignItems","justifyContent","borderRadius","borderCurve","SecretValue","font","weight","size","lineHeight","accessible","children","BoxedInput","status","value","secret","theme","statusStyle","error","borderWidth","borderColor","backgroundColor","focus","default","style"],"sourceRoot":"../../../../src","sources":["components/otpInput/BoxedInput.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAC1D,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,qBAAqB;AACzD,SAASC,EAAE,EAAEC,MAAM,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,SAAS,GAAG,EAAE;AACpB,MAAMC,UAAU,GAAG,EAAE;AAQrB,MAAMC,MAAM,GAAGX,UAAU,CAACY,MAAM,CAAC;EAC/BC,UAAU,EAAE;IACVC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAEN,SAAS;IACnBO,SAAS,EAAEN,UAAU;IACrBO,WAAW,EAAER,SAAS,GAAGC;EAC3B,CAAC;EACDQ,OAAO,EAAE;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBN,IAAI,EAAE,CAAC;IACPO,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,MAAMC,WAAW,GAAGA,CAAA,kBAClBf,IAAA,CAACF,MAAM;EACLkB,IAAI,EAAC,UAAU;EACfC,MAAM,EAAC,UAAU;EACjBC,IAAI,EAAE,EAAG;EACTC,UAAU,EAAE,EAAG;EACfC,UAAU,EAAE,KAAM;EAAAC,QAAA,EAEjB;AAAG,CACE,CACT;AAED,OAAO,MAAMC,UAAU,gBAAGhC,IAAI,CAAC,CAAC;EAAEiC,MAAM;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EACnE,MAAMC,KAAK,GAAGhC,UAAU,CAAC,CAAC;EAE1B,MAAMiC,WAA+C,GAAGpC,OAAO,CAC7D,OAAO;IACLqC,KAAK,EAAE;MACLC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAElC,QAAQ,CAAC8B,KAAK,CAAC,sBAAsB,CAAC,CAAC;MACpDK,eAAe,EAAEpC,SAAS,CACxBC,QAAQ,CAAC8B,KAAK,CAAC,sBAAsB,CAAC,CAAC,EACvC,IACF;IACF,CAAC;IACDM,KAAK,EAAE;MACLH,WAAW,EAAE,CAAC;MACdC,WAAW,EAAElC,QAAQ,CAAC8B,KAAK,CAAC,yBAAyB,CAAC;IACxD,CAAC;IACDO,OAAO,EAAE;MACPJ,WAAW,EAAE,CAAC;MACdC,WAAW,EAAElC,QAAQ,CAAC8B,KAAK,CAAC,wBAAwB,CAAC;IACvD;EACF,CAAC,CAAC,EACF,CAACA,KAAK,CACR,CAAC;EAED,oBACE1B,IAAA,CAACP,IAAI;IAACyC,KAAK,EAAE/B,MAAM,CAACE,UAAW;IAACe,UAAU,EAAE,KAAM;IAAAC,QAAA,eAChDrB,IAAA,CAACP,IAAI;MAACyC,KAAK,EAAE,CAAC/B,MAAM,CAACO,OAAO,EAAEiB,WAAW,CAACJ,MAAM,CAAC,CAAE;MAAAF,QAAA,EAChDG,KAAK,KACHC,MAAM,gBAAGzB,IAAA,CAACe,WAAW,IAAE,CAAC,gBAAGf,IAAA,CAACH,EAAE;QAACuB,UAAU,EAAE,KAAM;QAAAC,QAAA,EAAEG;MAAK,CAAK,CAAC;IAAC,CAC9D;EAAC,CACH,CAAC;AAEX,CAAC,CAAC","ignoreList":[]}
|
|
@@ -95,6 +95,9 @@ export const OTPInput = /*#__PURE__*/forwardRef(({
|
|
|
95
95
|
break;
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
|
+
const cells = React.useMemo(() => Array.from({
|
|
99
|
+
length
|
|
100
|
+
}), [length]);
|
|
98
101
|
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
99
102
|
style: [{
|
|
100
103
|
flexGrow: 1
|
|
@@ -136,7 +139,7 @@ export const OTPInput = /*#__PURE__*/forwardRef(({
|
|
|
136
139
|
accessible: true,
|
|
137
140
|
autoFocus: autoFocus,
|
|
138
141
|
secureTextEntry: true
|
|
139
|
-
}),
|
|
142
|
+
}), cells.map((_, i) => /*#__PURE__*/_jsx(BoxedInput, {
|
|
140
143
|
status: hasError ? "error" : hasFocus && value.length === i ? "focus" : "default",
|
|
141
144
|
secret: secret,
|
|
142
145
|
value: value[i]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","forwardRef","useEffect","useRef","useState","AccessibilityInfo","Pressable","TextInput","Animated","useIOTheme","triggerHaptic","useErrorShakeAnimation","VSpacer","BodySmall","BoxedInput","jsx","_jsx","jsxs","_jsxs","OTP_ITEMS_GAP","OTPInput","value","onValueChange","length","accessibilityLabel","accessibilityHint","onValidate","errorMessage","secret","autocomplete","inputAccessoryViewID","autoFocus","deleteButtonAccessibilityLabel","ref","hasFocus","setHasFocus","hasError","setHasError","theme","translate","animatedStyle","shakeAnimation","inputRef","timerRef","undefined","handleValidate","val","isValid","current","clearTimeout","setTimeout","handleChange","handleKeyPress","nativeEvent","key","announceForAccessibility","View","style","flexGrow","children","onPress","focus","flexDirection","justifyContent","columnGap","accessible","accessibilityValue","text","onChangeText","onKeyPress","position","opacity","maxLength","onBlur","keyboardType","inputMode","returnKeyType","textContentType","autoComplete","secureTextEntry","
|
|
1
|
+
{"version":3,"names":["React","createRef","forwardRef","useEffect","useRef","useState","AccessibilityInfo","Pressable","TextInput","Animated","useIOTheme","triggerHaptic","useErrorShakeAnimation","VSpacer","BodySmall","BoxedInput","jsx","_jsx","jsxs","_jsxs","OTP_ITEMS_GAP","OTPInput","value","onValueChange","length","accessibilityLabel","accessibilityHint","onValidate","errorMessage","secret","autocomplete","inputAccessoryViewID","autoFocus","deleteButtonAccessibilityLabel","ref","hasFocus","setHasFocus","hasError","setHasError","theme","translate","animatedStyle","shakeAnimation","inputRef","timerRef","undefined","handleValidate","val","isValid","current","clearTimeout","setTimeout","handleChange","handleKeyPress","nativeEvent","key","announceForAccessibility","cells","useMemo","Array","from","View","style","flexGrow","children","onPress","focus","flexDirection","justifyContent","columnGap","accessible","accessibilityValue","text","onChangeText","onKeyPress","position","opacity","maxLength","onBlur","keyboardType","inputMode","returnKeyType","textContentType","autoComplete","secureTextEntry","map","_","i","status","size","weight","color","errorText","textAlign"],"sourceRoot":"../../../../src","sources":["components/otpInput/OTPInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,6 @@ type Props = {
|
|
|
4
4
|
secret?: boolean;
|
|
5
5
|
value?: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const BoxedInput: ({ status, value, secret }: Props) => React.JSX.Element
|
|
7
|
+
export declare const BoxedInput: React.MemoExoticComponent<({ status, value, secret }: Props) => React.JSX.Element>;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=BoxedInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxedInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/BoxedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BoxedInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/BoxedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAS7C,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BF,eAAO,MAAM,UAAU,wDAAoC,KAAK,uBAiC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTPInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/OTPInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAML,IAAI,EACL,MAAM,cAAc,CAAC;AAWtB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"OTPInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/OTPInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAML,IAAI,EACL,MAAM,cAAc,CAAC;AAWtB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,oEAuJpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo } from "react";
|
|
1
|
+
import React, { memo, useMemo } from "react";
|
|
2
2
|
import { StyleSheet, View, ViewStyle } from "react-native";
|
|
3
3
|
import { useIOTheme } from "../../context";
|
|
4
4
|
import { hexToRgba, IOColors } from "../../core/IOColors";
|
|
@@ -14,13 +14,16 @@ type Props = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
const styles = StyleSheet.create({
|
|
17
|
+
boxWrapper: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
maxWidth: MAX_WIDTH,
|
|
20
|
+
maxHeight: MAX_HEIGHT,
|
|
21
|
+
aspectRatio: MAX_WIDTH / MAX_HEIGHT
|
|
22
|
+
},
|
|
17
23
|
baseBox: {
|
|
18
24
|
alignItems: "center",
|
|
19
25
|
justifyContent: "center",
|
|
20
26
|
flex: 1,
|
|
21
|
-
maxWidth: MAX_WIDTH,
|
|
22
|
-
maxHeight: MAX_HEIGHT,
|
|
23
|
-
aspectRatio: MAX_WIDTH / MAX_HEIGHT,
|
|
24
27
|
borderRadius: 8,
|
|
25
28
|
borderCurve: "continuous"
|
|
26
29
|
}
|
|
@@ -38,7 +41,7 @@ const SecretValue = () => (
|
|
|
38
41
|
</IOText>
|
|
39
42
|
);
|
|
40
43
|
|
|
41
|
-
export const BoxedInput = ({ status, value, secret }: Props) => {
|
|
44
|
+
export const BoxedInput = memo(({ status, value, secret }: Props) => {
|
|
42
45
|
const theme = useIOTheme();
|
|
43
46
|
|
|
44
47
|
const statusStyle: Record<Props["status"], ViewStyle> = useMemo(
|
|
@@ -64,9 +67,11 @@ export const BoxedInput = ({ status, value, secret }: Props) => {
|
|
|
64
67
|
);
|
|
65
68
|
|
|
66
69
|
return (
|
|
67
|
-
<View style={
|
|
68
|
-
{
|
|
69
|
-
|
|
70
|
+
<View style={styles.boxWrapper} accessible={false}>
|
|
71
|
+
<View style={[styles.baseBox, statusStyle[status]]}>
|
|
72
|
+
{value &&
|
|
73
|
+
(secret ? <SecretValue /> : <H6 accessible={false}>{value}</H6>)}
|
|
74
|
+
</View>
|
|
70
75
|
</View>
|
|
71
76
|
);
|
|
72
|
-
};
|
|
77
|
+
});
|
|
@@ -131,6 +131,8 @@ export const OTPInput = forwardRef<View, Props>(
|
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
133
|
|
|
134
|
+
const cells = React.useMemo(() => Array.from({ length }), [length]);
|
|
135
|
+
|
|
134
136
|
return (
|
|
135
137
|
<Animated.View style={[{ flexGrow: 1 }, animatedStyle]}>
|
|
136
138
|
<Pressable
|
|
@@ -167,7 +169,7 @@ export const OTPInput = forwardRef<View, Props>(
|
|
|
167
169
|
autoFocus={autoFocus}
|
|
168
170
|
secureTextEntry={true}
|
|
169
171
|
/>
|
|
170
|
-
{
|
|
172
|
+
{cells.map((_, i) => (
|
|
171
173
|
<BoxedInput
|
|
172
174
|
key={i}
|
|
173
175
|
status={
|