@bacon-pos/ui 0.4.0 → 0.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.
Files changed (53) hide show
  1. package/lib/commonjs/components/CodeField/CodeField.js +95 -65
  2. package/lib/commonjs/components/CodeField/CodeField.js.map +1 -1
  3. package/lib/commonjs/components/CodeField/CodeField.stories.js +24 -1
  4. package/lib/commonjs/components/CodeField/CodeField.stories.js.map +1 -1
  5. package/lib/commonjs/components/CodeField/CodeField.test.js +28 -0
  6. package/lib/commonjs/components/CodeField/CodeField.test.js.map +1 -1
  7. package/lib/commonjs/components/Keypad/Keypad.js +162 -0
  8. package/lib/commonjs/components/Keypad/Keypad.js.map +1 -0
  9. package/lib/commonjs/components/Keypad/Keypad.stories.js +210 -0
  10. package/lib/commonjs/components/Keypad/Keypad.stories.js.map +1 -0
  11. package/lib/commonjs/components/Keypad/Keypad.test.js +119 -0
  12. package/lib/commonjs/components/Keypad/Keypad.test.js.map +1 -0
  13. package/lib/commonjs/components/Keypad/index.js +13 -0
  14. package/lib/commonjs/components/Keypad/index.js.map +1 -0
  15. package/lib/commonjs/components/index.js +20 -9
  16. package/lib/commonjs/components/index.js.map +1 -1
  17. package/lib/module/components/CodeField/CodeField.js +95 -65
  18. package/lib/module/components/CodeField/CodeField.js.map +1 -1
  19. package/lib/module/components/CodeField/CodeField.stories.js +23 -0
  20. package/lib/module/components/CodeField/CodeField.stories.js.map +1 -1
  21. package/lib/module/components/CodeField/CodeField.test.js +28 -0
  22. package/lib/module/components/CodeField/CodeField.test.js.map +1 -1
  23. package/lib/module/components/Keypad/Keypad.js +158 -0
  24. package/lib/module/components/Keypad/Keypad.js.map +1 -0
  25. package/lib/module/components/Keypad/Keypad.stories.js +206 -0
  26. package/lib/module/components/Keypad/Keypad.stories.js.map +1 -0
  27. package/lib/module/components/Keypad/Keypad.test.js +119 -0
  28. package/lib/module/components/Keypad/Keypad.test.js.map +1 -0
  29. package/lib/module/components/Keypad/index.js +4 -0
  30. package/lib/module/components/Keypad/index.js.map +1 -0
  31. package/lib/module/components/index.js +1 -0
  32. package/lib/module/components/index.js.map +1 -1
  33. package/lib/typescript/commonjs/components/CodeField/CodeField.d.ts +5 -1
  34. package/lib/typescript/commonjs/components/CodeField/CodeField.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/components/Keypad/Keypad.d.ts +54 -0
  36. package/lib/typescript/commonjs/components/Keypad/Keypad.d.ts.map +1 -0
  37. package/lib/typescript/commonjs/components/Keypad/index.d.ts +3 -0
  38. package/lib/typescript/commonjs/components/Keypad/index.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/components/index.d.ts +1 -0
  40. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  41. package/lib/typescript/module/components/CodeField/CodeField.d.ts +5 -1
  42. package/lib/typescript/module/components/CodeField/CodeField.d.ts.map +1 -1
  43. package/lib/typescript/module/components/Keypad/Keypad.d.ts +54 -0
  44. package/lib/typescript/module/components/Keypad/Keypad.d.ts.map +1 -0
  45. package/lib/typescript/module/components/Keypad/index.d.ts +3 -0
  46. package/lib/typescript/module/components/Keypad/index.d.ts.map +1 -0
  47. package/lib/typescript/module/components/index.d.ts +1 -0
  48. package/lib/typescript/module/components/index.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/src/components/CodeField/CodeField.tsx +104 -64
  51. package/src/components/Keypad/Keypad.tsx +191 -0
  52. package/src/components/Keypad/index.ts +2 -0
  53. package/src/components/index.ts +1 -0
@@ -13,6 +13,16 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
  outlineStyle: 'none',
14
14
  outlineWidth: 0
15
15
  };
16
+
17
+ /** Convert a `#RRGGBB` (or `#RGB`) token to an `rgba()` string at the given alpha. */
18
+ function hexToRgba(hex, alpha) {
19
+ const h = hex.replace('#', '');
20
+ const full = h.length === 3 ? h.replace(/./g, c => c + c) : h;
21
+ const r = parseInt(full.slice(0, 2), 16);
22
+ const g = parseInt(full.slice(2, 4), 16);
23
+ const b = parseInt(full.slice(4, 6), 16);
24
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
25
+ }
16
26
  /** Chars to strip per mode (applied after upper-casing). */
17
27
  const DISALLOWED = {
18
28
  numeric: /[^0-9]/g,
@@ -31,6 +41,8 @@ function CodeField({
31
41
  length = 6,
32
42
  mode = 'numeric',
33
43
  onComplete,
44
+ helperText,
45
+ error,
34
46
  disabled = false,
35
47
  autoFocus = false,
36
48
  cellWidth = 126,
@@ -50,78 +62,96 @@ function CodeField({
50
62
  if (next.length === length) onComplete?.(next);
51
63
  };
52
64
  const activeIndex = Math.min(value.length, length - 1);
53
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
54
- onPress: () => inputRef.current?.focus(),
55
- disabled: disabled,
65
+ const hasError = Boolean(error);
66
+ const message = typeof error === 'string' ? error : helperText;
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
56
68
  style: [{
57
- position: 'relative',
58
69
  alignSelf: 'flex-start'
59
70
  }, style],
60
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
71
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
72
+ onPress: () => inputRef.current?.focus(),
73
+ disabled: disabled,
61
74
  style: {
62
- flexDirection: 'row',
63
- gap
75
+ position: 'relative'
64
76
  },
65
- children: Array.from({
66
- length
67
- }).map((_, i) => {
68
- const isActive = focused && i === activeIndex && !disabled;
69
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
70
- testID: "code-field-cell",
71
- style: {
72
- width: cellWidth,
73
- height: cellHeight,
74
- borderRadius: theme.radii.pill,
75
- borderWidth: 1,
76
- borderColor: isActive ? theme.colors.border.focus : theme.colors.border.default,
77
- backgroundColor: disabled ? theme.colors.disabled.background : theme.colors.background.default,
78
- alignItems: 'center',
79
- justifyContent: 'center',
80
- opacity: disabled ? 0.6 : 1,
81
- ...(isActive ? {
82
- boxShadow: [{
83
- offsetX: 0,
84
- offsetY: 0,
85
- blurRadius: 0,
86
- spreadDistance: 6,
87
- color: 'rgba(201,255,0,0.15)'
88
- }]
89
- } : null)
90
- },
91
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
92
- color: disabled ? 'tertiary' : 'primary',
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
78
+ style: {
79
+ flexDirection: 'row',
80
+ gap
81
+ },
82
+ children: Array.from({
83
+ length
84
+ }).map((_, i) => {
85
+ const isActive = focused && i === activeIndex && !disabled;
86
+ // Error overrides the default/focus border on every cell; the active
87
+ // cell still gets the ring (red on error, lime otherwise).
88
+ const borderColor = hasError ? theme.colors.feedback.error : isActive ? theme.colors.border.focus : theme.colors.border.default;
89
+ const ringColor = hasError ? hexToRgba(theme.colors.feedback.error, 0.15) : 'rgba(201,255,0,0.15)';
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
91
+ testID: "code-field-cell",
93
92
  style: {
94
- fontFamily: fontFamily ?? theme.fontFamily.regular,
95
- fontSize,
96
- lineHeight: Math.round(fontSize * 1.45)
93
+ width: cellWidth,
94
+ height: cellHeight,
95
+ borderRadius: theme.radii.pill,
96
+ borderWidth: 1,
97
+ borderColor,
98
+ backgroundColor: disabled ? theme.colors.disabled.background : theme.colors.background.default,
99
+ alignItems: 'center',
100
+ justifyContent: 'center',
101
+ opacity: disabled ? 0.6 : 1,
102
+ ...(isActive ? {
103
+ boxShadow: [{
104
+ offsetX: 0,
105
+ offsetY: 0,
106
+ blurRadius: 0,
107
+ spreadDistance: 6,
108
+ color: ringColor
109
+ }]
110
+ } : null)
97
111
  },
98
- children: value[i] ?? ''
99
- })
100
- }, i);
101
- })
102
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
103
- ref: inputRef,
104
- value: value,
105
- onChangeText: handleChange,
106
- onFocus: () => setFocused(true),
107
- onBlur: () => setFocused(false),
108
- keyboardType: mode === 'numeric' ? 'number-pad' : 'default',
109
- autoCapitalize: "characters",
110
- autoCorrect: false,
111
- maxLength: length,
112
- editable: !disabled,
113
- caretHidden: true,
114
- autoFocus: autoFocus,
115
- accessibilityLabel: accessibilityLabel,
116
- style: [{
117
- position: 'absolute',
118
- top: 0,
119
- left: 0,
120
- right: 0,
121
- bottom: 0,
122
- opacity: 0
123
- }, WEB_NO_OUTLINE]
124
- })]
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
113
+ color: disabled ? 'tertiary' : 'primary',
114
+ style: {
115
+ fontFamily: fontFamily ?? theme.fontFamily.regular,
116
+ fontSize,
117
+ lineHeight: Math.round(fontSize * 1.45)
118
+ },
119
+ children: value[i] ?? ''
120
+ })
121
+ }, i);
122
+ })
123
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
124
+ ref: inputRef,
125
+ value: value,
126
+ onChangeText: handleChange,
127
+ onFocus: () => setFocused(true),
128
+ onBlur: () => setFocused(false),
129
+ keyboardType: mode === 'numeric' ? 'number-pad' : 'default',
130
+ autoCapitalize: "characters",
131
+ autoCorrect: false,
132
+ maxLength: length,
133
+ editable: !disabled,
134
+ caretHidden: true,
135
+ autoFocus: autoFocus,
136
+ accessibilityLabel: accessibilityLabel,
137
+ style: [{
138
+ position: 'absolute',
139
+ top: 0,
140
+ left: 0,
141
+ right: 0,
142
+ bottom: 0,
143
+ opacity: 0
144
+ }, WEB_NO_OUTLINE]
145
+ })]
146
+ }), message ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
147
+ variant: "bodySmall",
148
+ color: hasError ? theme.colors.feedback.error : 'tertiary',
149
+ style: {
150
+ marginTop: 8,
151
+ marginLeft: 8
152
+ },
153
+ children: message
154
+ }) : null]
125
155
  });
126
156
  }
127
157
  //# sourceMappingURL=CodeField.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_index","_Text","_jsxRuntime","WEB_NO_OUTLINE","outlineStyle","outlineWidth","DISALLOWED","numeric","alpha","alphanumeric","CodeField","value","onChangeText","length","mode","onComplete","disabled","autoFocus","cellWidth","cellHeight","gap","fontFamily","fontSize","accessibilityLabel","style","theme","useTheme","inputRef","useRef","focused","setFocused","useState","handleChange","text","next","toUpperCase","replace","slice","activeIndex","Math","min","jsxs","Pressable","onPress","current","focus","position","alignSelf","children","jsx","View","flexDirection","Array","from","map","_","i","isActive","testID","width","height","borderRadius","radii","pill","borderWidth","borderColor","colors","border","default","backgroundColor","background","alignItems","justifyContent","opacity","boxShadow","offsetX","offsetY","blurRadius","spreadDistance","color","Text","regular","lineHeight","round","TextInput","ref","onFocus","onBlur","keyboardType","autoCapitalize","autoCorrect","maxLength","editable","caretHidden","top","left","right","bottom"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAoC,IAAAI,WAAA,GAAAJ,OAAA;AAEpC,4EACA,MAAMK,cAAc,GAAG;EAAEC,YAAY,EAAE,MAAM;EAAEC,YAAY,EAAE;AAAE,CAAyB;AAIxF;AACA,MAAMC,UAAyC,GAAG;EAChDC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,YAAY,EAAE;AAChB,CAAC;AAiCD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,SAASA,CAAC;EACxBC,KAAK;EACLC,YAAY;EACZC,MAAM,GAAG,CAAC;EACVC,IAAI,GAAG,SAAS;EAChBC,UAAU;EACVC,QAAQ,GAAG,KAAK;EAChBC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,GAAG;EACfC,UAAU,GAAG,EAAE;EACfC,GAAG,GAAG,EAAE;EACRC,UAAU;EACVC,QAAQ,GAAG,EAAE;EACbC,kBAAkB,GAAG,MAAM;EAC3BC;AACc,CAAC,EAAE;EACjB,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxB,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACxC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMC,YAAY,GAAIC,IAAY,IAAK;IACrC,MAAMC,IAAI,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC9B,UAAU,CAACQ,IAAI,CAAC,EAAE,EAAE,CAAC,CAACuB,KAAK,CAAC,CAAC,EAAExB,MAAM,CAAC;IAC9ED,YAAY,CAACsB,IAAI,CAAC;IAClB,IAAIA,IAAI,CAACrB,MAAM,KAAKA,MAAM,EAAEE,UAAU,GAAGmB,IAAI,CAAC;EAChD,CAAC;EAED,MAAMI,WAAW,GAAGC,IAAI,CAACC,GAAG,CAAC7B,KAAK,CAACE,MAAM,EAAEA,MAAM,GAAG,CAAC,CAAC;EAEtD,oBACE,IAAAX,WAAA,CAAAuC,IAAA,EAAC1C,YAAA,CAAA2C,SAAS;IACRC,OAAO,EAAEA,CAAA,KAAMhB,QAAQ,CAACiB,OAAO,EAAEC,KAAK,CAAC,CAAE;IACzC7B,QAAQ,EAAEA,QAAS;IACnBQ,KAAK,EAAE,CAAC;MAAEsB,QAAQ,EAAE,UAAU;MAAEC,SAAS,EAAE;IAAa,CAAC,EAAEvB,KAAK,CAAE;IAAAwB,QAAA,gBAElE,IAAA9C,WAAA,CAAA+C,GAAA,EAAClD,YAAA,CAAAmD,IAAI;MAAC1B,KAAK,EAAE;QAAE2B,aAAa,EAAE,KAAK;QAAE/B;MAAI,CAAE;MAAA4B,QAAA,EACxCI,KAAK,CAACC,IAAI,CAAC;QAAExC;MAAO,CAAC,CAAC,CAACyC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QACpC,MAAMC,QAAQ,GAAG5B,OAAO,IAAI2B,CAAC,KAAKlB,WAAW,IAAI,CAACtB,QAAQ;QAC1D,oBACE,IAAAd,WAAA,CAAA+C,GAAA,EAAClD,YAAA,CAAAmD,IAAI;UAEHQ,MAAM,EAAC,iBAAiB;UACxBlC,KAAK,EAAE;YACLmC,KAAK,EAAEzC,SAAS;YAChB0C,MAAM,EAAEzC,UAAU;YAClB0C,YAAY,EAAEpC,KAAK,CAACqC,KAAK,CAACC,IAAI;YAC9BC,WAAW,EAAE,CAAC;YACdC,WAAW,EAAER,QAAQ,GAAGhC,KAAK,CAACyC,MAAM,CAACC,MAAM,CAACtB,KAAK,GAAGpB,KAAK,CAACyC,MAAM,CAACC,MAAM,CAACC,OAAO;YAC/EC,eAAe,EAAErD,QAAQ,GACrBS,KAAK,CAACyC,MAAM,CAAClD,QAAQ,CAACsD,UAAU,GAChC7C,KAAK,CAACyC,MAAM,CAACI,UAAU,CAACF,OAAO;YACnCG,UAAU,EAAE,QAAQ;YACpBC,cAAc,EAAE,QAAQ;YACxBC,OAAO,EAAEzD,QAAQ,GAAG,GAAG,GAAG,CAAC;YAC3B,IAAIyC,QAAQ,GACR;cACEiB,SAAS,EAAE,CACT;gBAAEC,OAAO,EAAE,CAAC;gBAAEC,OAAO,EAAE,CAAC;gBAAEC,UAAU,EAAE,CAAC;gBAAEC,cAAc,EAAE,CAAC;gBAAEC,KAAK,EAAE;cAAuB,CAAC;YAE/F,CAAC,GACD,IAAI;UACV,CAAE;UAAA/B,QAAA,eAEF,IAAA9C,WAAA,CAAA+C,GAAA,EAAChD,KAAA,CAAA+E,IAAI;YACHD,KAAK,EAAE/D,QAAQ,GAAG,UAAU,GAAG,SAAU;YACzCQ,KAAK,EAAE;cACLH,UAAU,EAAEA,UAAU,IAAII,KAAK,CAACJ,UAAU,CAAC4D,OAAO;cAClD3D,QAAQ;cACR4D,UAAU,EAAE3C,IAAI,CAAC4C,KAAK,CAAC7D,QAAQ,GAAG,IAAI;YACxC,CAAE;YAAA0B,QAAA,EAEDrC,KAAK,CAAC6C,CAAC,CAAC,IAAI;UAAE,CACX;QAAC,GAhCFA,CAiCD,CAAC;MAEX,CAAC;IAAC,CACE,CAAC,eAEP,IAAAtD,WAAA,CAAA+C,GAAA,EAAClD,YAAA,CAAAqF,SAAS;MACRC,GAAG,EAAE1D,QAAS;MACdhB,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEoB,YAAa;MAC3BsD,OAAO,EAAEA,CAAA,KAAMxD,UAAU,CAAC,IAAI,CAAE;MAChCyD,MAAM,EAAEA,CAAA,KAAMzD,UAAU,CAAC,KAAK,CAAE;MAChC0D,YAAY,EAAE1E,IAAI,KAAK,SAAS,GAAG,YAAY,GAAG,SAAU;MAC5D2E,cAAc,EAAC,YAAY;MAC3BC,WAAW,EAAE,KAAM;MACnBC,SAAS,EAAE9E,MAAO;MAClB+E,QAAQ,EAAE,CAAC5E,QAAS;MACpB6E,WAAW;MACX5E,SAAS,EAAEA,SAAU;MACrBM,kBAAkB,EAAEA,kBAAmB;MACvCC,KAAK,EAAE,CACL;QAAEsB,QAAQ,EAAE,UAAU;QAAEgD,GAAG,EAAE,CAAC;QAAEC,IAAI,EAAE,CAAC;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;QAAExB,OAAO,EAAE;MAAE,CAAC,EAC1EtE,cAAc;IACd,CACH,CAAC;EAAA,CACO,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_index","_Text","_jsxRuntime","WEB_NO_OUTLINE","outlineStyle","outlineWidth","hexToRgba","hex","alpha","h","replace","full","length","c","r","parseInt","slice","g","b","DISALLOWED","numeric","alphanumeric","CodeField","value","onChangeText","mode","onComplete","helperText","error","disabled","autoFocus","cellWidth","cellHeight","gap","fontFamily","fontSize","accessibilityLabel","style","theme","useTheme","inputRef","useRef","focused","setFocused","useState","handleChange","text","next","toUpperCase","activeIndex","Math","min","hasError","Boolean","message","jsxs","View","alignSelf","children","Pressable","onPress","current","focus","position","jsx","flexDirection","Array","from","map","_","i","isActive","borderColor","colors","feedback","border","default","ringColor","testID","width","height","borderRadius","radii","pill","borderWidth","backgroundColor","background","alignItems","justifyContent","opacity","boxShadow","offsetX","offsetY","blurRadius","spreadDistance","color","Text","regular","lineHeight","round","TextInput","ref","onFocus","onBlur","keyboardType","autoCapitalize","autoCorrect","maxLength","editable","caretHidden","top","left","right","bottom","variant","marginTop","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Disabled = exports.Default = exports.Compact = exports.Alphanumeric = exports.Alpha = void 0;
6
+ exports.default = exports.ErrorHelperText = exports.Error = exports.Disabled = exports.Default = exports.Compact = exports.Alphanumeric = exports.Alpha = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _CodeField = require("./CodeField.js");
@@ -73,4 +73,27 @@ const Disabled = exports.Disabled = {
73
73
  disabled: true
74
74
  })
75
75
  };
76
+ // Error state — red cells + focus ring, message below (like Input).
77
+ const Error = exports.Error = {
78
+ render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
79
+ length: 4,
80
+ error: "That code is incorrect. Try again."
81
+ })
82
+ };
83
+ const ErrorHelperText = exports.ErrorHelperText = {
84
+ render: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
85
+ style: {
86
+ gap: 24,
87
+ alignItems: 'flex-start'
88
+ },
89
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
90
+ length: 4,
91
+ helperText: "Enter the 4-digit code we sent you."
92
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
93
+ length: 4,
94
+ error: true,
95
+ helperText: "Enter the 4-digit code we sent you."
96
+ })]
97
+ })
98
+ };
76
99
  //# sourceMappingURL=CodeField.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_CodeField","_Text","_jsxRuntime","meta","title","component","CodeField","_default","exports","default","Demo","props","value","setValue","useState","done","setDone","jsxs","View","style","gap","alignItems","children","jsx","onChangeText","onComplete","Text","variant","color","Default","render","length","Compact","cellWidth","Alphanumeric","mode","Alpha","Disabled","disabled"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.stories.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAoC,IAAAI,WAAA,GAAAJ,OAAA;AAEpC,MAAMK,IAAI,GAAG;EACXC,KAAK,EAAE,sBAAsB;EAC7BC,SAAS,EAAEC;AACb,CAAkC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEpBN,IAAI;AAGnB,SAASO,IAAIA,CAACC,KAQb,EAAE;EACD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACpC,oBACE,IAAAZ,WAAA,CAAAe,IAAA,EAAClB,YAAA,CAAAmB,IAAI;IAACC,KAAK,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAa,CAAE;IAAAC,QAAA,gBAChD,IAAApB,WAAA,CAAAqB,GAAA,EAACvB,UAAA,CAAAM,SAAS;MAACM,KAAK,EAAEA,KAAM;MAACY,YAAY,EAAEX,QAAS;MAACY,UAAU,EAAET,OAAQ;MAAA,GAAKL;IAAK,CAAG,CAAC,eACnF,IAAAT,WAAA,CAAAe,IAAA,EAAChB,KAAA,CAAAyB,IAAI;MAACC,OAAO,EAAC,SAAS;MAACC,KAAK,EAAC,WAAW;MAAAN,QAAA,GAAC,WAChC,EAACV,KAAK,EAAC,IAAC,EAACG,IAAI,GAAG,gBAAgBA,IAAI,EAAE,GAAG,EAAE;IAAA,CAC/C,CAAC;EAAA,CACH,CAAC;AAEX;;AAEA;AACO,MAAMc,OAAc,GAAArB,OAAA,CAAAqB,OAAA,GAAG;EAAEC,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE;EAAE,CAAE;AAAE,CAAC;AACnE;AACO,MAAMC,OAAc,GAAAxB,OAAA,CAAAwB,OAAA,GAAG;EAAEF,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACE,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAAE,CAAC;AACnF,MAAMc,YAAmB,GAAA1B,OAAA,CAAA0B,YAAA,GAAG;EACjCJ,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACI,IAAI,EAAC,cAAc;IAACF,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAC7E,CAAC;AACM,MAAMgB,KAAY,GAAA5B,OAAA,CAAA4B,KAAA,GAAG;EAAEN,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACI,IAAI,EAAC,OAAO;IAACF,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAAE,CAAC;AAC9F,MAAMiB,QAAe,GAAA7B,OAAA,CAAA6B,QAAA,GAAG;EAAEP,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACE,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE,CAAE;IAACkB,QAAQ;EAAA,CAAE;AAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_CodeField","_Text","_jsxRuntime","meta","title","component","CodeField","_default","exports","default","Demo","props","value","setValue","useState","done","setDone","jsxs","View","style","gap","alignItems","children","jsx","onChangeText","onComplete","Text","variant","color","Default","render","length","Compact","cellWidth","Alphanumeric","mode","Alpha","Disabled","disabled","Error","error","ErrorHelperText","helperText"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.stories.tsx"],"mappings":"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","ignoreList":[]}
@@ -75,5 +75,33 @@ describe('CodeField', () => {
75
75
  expect(_reactNative.screen.getByText('1')).toBeTruthy();
76
76
  expect(_reactNative.screen.getByText('2')).toBeTruthy();
77
77
  });
78
+ it('shows the error message when error is a string', () => {
79
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
80
+ value: "",
81
+ onChangeText: () => {},
82
+ error: "Wrong code"
83
+ }));
84
+ expect(_reactNative.screen.getByText('Wrong code')).toBeTruthy();
85
+ });
86
+ it('shows helperText, and the error message replaces it when error is a string', () => {
87
+ const {
88
+ rerender
89
+ } = renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
90
+ value: "",
91
+ onChangeText: () => {},
92
+ helperText: "Enter your code"
93
+ }));
94
+ expect(_reactNative.screen.getByText('Enter your code')).toBeTruthy();
95
+ rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
97
+ value: "",
98
+ onChangeText: () => {},
99
+ helperText: "Enter your code",
100
+ error: "Wrong code"
101
+ })
102
+ }));
103
+ expect(_reactNative.screen.getByText('Wrong code')).toBeTruthy();
104
+ expect(_reactNative.screen.queryByText('Enter your code')).toBeNull();
105
+ });
78
106
  });
79
107
  //# sourceMappingURL=CodeField.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_CodeField","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","CodeField","value","onChangeText","length","expect","screen","getAllByTestId","toHaveLength","jest","fn","mode","fireEvent","changeText","getByLabelText","toHaveBeenCalledWith","onComplete","getByText","toBeTruthy"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.test.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_CodeField","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","CodeField","value","onChangeText","length","expect","screen","getAllByTestId","toHaveLength","jest","fn","mode","fireEvent","changeText","getByLabelText","toHaveBeenCalledWith","onComplete","getByText","toBeTruthy","error","rerender","helperText","queryByText","toBeNull"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Keypad = Keypad;
7
+ var _reactNative = require("react-native");
8
+ var _index = require("../../theme/index.js");
9
+ var _Icon = require("../Icon/Icon.js");
10
+ var _Text = require("../Text/Text.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /** The optional key to the left of 0. Hidden unless provided. */
13
+
14
+ const ROWS = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']];
15
+
16
+ /**
17
+ * Numeric keypad — a 3-column pad decoupled from what it drives (bind it to a
18
+ * PIN display, an amount, etc. via `value`/`onChangeText`, and put that display
19
+ * in `header`). Backspace is fixed to the right of 0; the key left of 0 is hidden
20
+ * unless you pass `extraKey` (custom symbol/icon, action and colors). Width,
21
+ * key height, gap and digit size are all configurable.
22
+ */
23
+ function Keypad({
24
+ value = '',
25
+ onChangeText,
26
+ onKeyPress,
27
+ maxLength,
28
+ header,
29
+ extraKey,
30
+ keyHeight = 83,
31
+ gap = 8,
32
+ width,
33
+ digitSize = 24,
34
+ headerGap = 24,
35
+ disabled = false,
36
+ style
37
+ }) {
38
+ const theme = (0, _index.useTheme)();
39
+ const keyStyle = bg => ({
40
+ flex: 1,
41
+ height: keyHeight,
42
+ borderRadius: theme.radii.xl,
43
+ borderWidth: 1,
44
+ borderColor: theme.colors.border.strong,
45
+ backgroundColor: bg ?? theme.colors.action.secondary,
46
+ alignItems: 'center',
47
+ justifyContent: 'center'
48
+ });
49
+ const pressDigit = digit => {
50
+ onKeyPress?.(digit);
51
+ if (maxLength != null && value.length >= maxLength) return;
52
+ onChangeText?.(value + digit);
53
+ };
54
+ const pressBackspace = () => {
55
+ onKeyPress?.('backspace');
56
+ onChangeText?.(value.slice(0, -1));
57
+ };
58
+ const pressExtra = () => {
59
+ onKeyPress?.('extra');
60
+ if (extraKey?.onPress) {
61
+ extraKey.onPress();
62
+ return;
63
+ }
64
+ if (extraKey?.value != null) {
65
+ if (maxLength != null && value.length >= maxLength) return;
66
+ onChangeText?.(value + extraKey.value);
67
+ }
68
+ };
69
+ const DigitKey = ({
70
+ digit
71
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
72
+ onPress: () => pressDigit(digit),
73
+ disabled: disabled,
74
+ accessibilityRole: "button",
75
+ accessibilityLabel: digit,
76
+ style: ({
77
+ pressed
78
+ }) => [keyStyle(), {
79
+ opacity: disabled ? 0.5 : pressed ? 0.85 : 1
80
+ }],
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
82
+ variant: "h2",
83
+ color: theme.colors.action.secondaryForeground,
84
+ style: {
85
+ fontSize: digitSize,
86
+ lineHeight: Math.round(digitSize * 1.35)
87
+ },
88
+ children: digit
89
+ })
90
+ });
91
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
92
+ style: [{
93
+ width: width ?? '100%',
94
+ gap
95
+ }, style],
96
+ children: [header != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
97
+ style: {
98
+ marginBottom: headerGap - gap
99
+ },
100
+ children: header
101
+ }) : null, ROWS.map(row => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
102
+ style: {
103
+ flexDirection: 'row',
104
+ gap
105
+ },
106
+ children: row.map(digit => /*#__PURE__*/(0, _jsxRuntime.jsx)(DigitKey, {
107
+ digit: digit
108
+ }, digit))
109
+ }, row[0])), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
110
+ style: {
111
+ flexDirection: 'row',
112
+ gap
113
+ },
114
+ children: [extraKey ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
115
+ onPress: pressExtra,
116
+ disabled: disabled,
117
+ accessibilityRole: "button",
118
+ accessibilityLabel: extraKey.label ?? 'action',
119
+ style: ({
120
+ pressed
121
+ }) => [keyStyle(extraKey.backgroundColor), {
122
+ opacity: disabled ? 0.5 : pressed ? 0.85 : 1
123
+ }],
124
+ children: extraKey.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
125
+ name: extraKey.icon,
126
+ size: 24,
127
+ color: extraKey.color ?? theme.colors.action.secondaryForeground
128
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
129
+ variant: "h2",
130
+ color: extraKey.color ?? theme.colors.action.secondaryForeground,
131
+ style: {
132
+ fontSize: digitSize,
133
+ lineHeight: Math.round(digitSize * 1.35)
134
+ },
135
+ children: extraKey.label ?? ''
136
+ })
137
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
138
+ style: {
139
+ flex: 1
140
+ }
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DigitKey, {
142
+ digit: "0"
143
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
144
+ onPress: pressBackspace,
145
+ disabled: disabled,
146
+ accessibilityRole: "button",
147
+ accessibilityLabel: "Backspace",
148
+ style: ({
149
+ pressed
150
+ }) => [keyStyle(), {
151
+ opacity: disabled ? 0.5 : pressed ? 0.85 : 1
152
+ }],
153
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
154
+ name: "arrow-left",
155
+ size: 24,
156
+ color: theme.colors.action.secondaryForeground
157
+ })
158
+ })]
159
+ })]
160
+ });
161
+ }
162
+ //# sourceMappingURL=Keypad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_index","_Icon","_Text","_jsxRuntime","ROWS","Keypad","value","onChangeText","onKeyPress","maxLength","header","extraKey","keyHeight","gap","width","digitSize","headerGap","disabled","style","theme","useTheme","keyStyle","bg","flex","height","borderRadius","radii","xl","borderWidth","borderColor","colors","border","strong","backgroundColor","action","secondary","alignItems","justifyContent","pressDigit","digit","length","pressBackspace","slice","pressExtra","onPress","DigitKey","jsx","Pressable","accessibilityRole","accessibilityLabel","pressed","opacity","children","Text","variant","color","secondaryForeground","fontSize","lineHeight","Math","round","jsxs","View","marginBottom","map","row","flexDirection","label","icon","Icon","name","size"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Keypad/Keypad.tsx"],"mappings":"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","ignoreList":[]}