@oxy.so/bloom 4.30.1 → 4.31.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 (38) hide show
  1. package/docs/adoption-matrix.mdx +4 -3
  2. package/docs/input-otp.mdx +22 -5
  3. package/lib/commonjs/input-otp/InputOtp.js +71 -18
  4. package/lib/commonjs/input-otp/InputOtp.js.map +1 -1
  5. package/lib/commonjs/input-otp/index.js +6 -0
  6. package/lib/commonjs/input-otp/index.js.map +1 -1
  7. package/lib/module/input-otp/InputOtp.js +70 -18
  8. package/lib/module/input-otp/InputOtp.js.map +1 -1
  9. package/lib/module/input-otp/index.js +1 -1
  10. package/lib/module/input-otp/index.js.map +1 -1
  11. package/lib/typescript/commonjs/input-otp/InputOtp.d.ts +4 -2
  12. package/lib/typescript/commonjs/input-otp/InputOtp.d.ts.map +1 -1
  13. package/lib/typescript/commonjs/input-otp/index.d.ts +2 -2
  14. package/lib/typescript/commonjs/input-otp/index.d.ts.map +1 -1
  15. package/lib/typescript/commonjs/input-otp/types.d.ts +14 -2
  16. package/lib/typescript/commonjs/input-otp/types.d.ts.map +1 -1
  17. package/lib/typescript/module/input-otp/InputOtp.d.ts +4 -2
  18. package/lib/typescript/module/input-otp/InputOtp.d.ts.map +1 -1
  19. package/lib/typescript/module/input-otp/index.d.ts +2 -2
  20. package/lib/typescript/module/input-otp/index.d.ts.map +1 -1
  21. package/lib/typescript/module/input-otp/types.d.ts +14 -2
  22. package/lib/typescript/module/input-otp/types.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/__tests__/support/adoption-matrix.ts +708 -0
  25. package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
  26. package/src/__tests__/support/commerce-harness.tsx +97 -0
  27. package/src/__tests__/support/composite.ts +68 -0
  28. package/src/__tests__/support/constructed-style-sheets.ts +68 -0
  29. package/src/__tests__/support/press-host.ts +30 -0
  30. package/src/__tests__/support/rendered-style.ts +99 -0
  31. package/src/__tests__/support/unread-hook-fixture.ts +33 -0
  32. package/src/__tests__/support/worklet-capture-fixture.tsx +28 -0
  33. package/src/input-otp/InputOtp.tsx +66 -19
  34. package/src/input-otp/index.ts +2 -2
  35. package/src/input-otp/types.ts +15 -2
  36. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +9346 -0
  37. package/src/theme/__tests__/__fixtures__/tonal-glass-primary-failures.json +69 -0
  38. package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
@@ -37,7 +37,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
37
37
 
38
38
  | contract | applies to | reads | delegated | n/a¹ | adaptation |
39
39
  | --- | --- | --- | --- | --- | --- |
40
- | Field membership | 47 | 21 | 0 | 20 | 5 |
40
+ | Field membership | 47 | 21 | 0 | 21 | 5 |
41
41
  | Control presentation | 16 | 8 | 2 | 6 | 0 |
42
42
  | Trigger composition | 10 | 8 | 0 | 2 | 0 |
43
43
  | Controlled / uncontrolled state | 49 | 40 | 1 | 1 | 7 |
@@ -85,6 +85,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
85
85
  - `note-editor` (does-not-apply) — the raw `TextInput` is a DOCUMENT TITLE — it draws no box, no label and no hint, because the words are the document rather than a value being collected. A `Field` around it would put a form label above a heading.
86
86
  - `sidebar` (does-not-apply) — renders a bare `TextInput` deliberately — a composer or a search box that draws its own chrome and is not a form field a `Field` wraps. Wiring it to `TextFieldInput` would give it the field shell it exists not to draw.
87
87
  - `stay-filters` (does-not-apply) — writes a selection role on a ROW or a chip rather than on a form control — a list the user picks from, inside its own container, never inside a `Field`.
88
+ - `styles` (does-not-apply) — the roles are CSS attribute selectors in `styles/base-web-css.ts` (`[role="radio"]` and its siblings take no text selection), not a node the family renders — it draws no control at all.
88
89
  - `theme-toggle` (does-not-apply) — the switch row draws its own label ("Dark mode") as both visible text and accessible name, inside the toggle’s own menu.
89
90
 
90
91
  ### Control presentation
@@ -290,7 +291,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
290
291
  | `stay-filters` | `@oxy.so/bloom/stay-filters` + barrel | universal | `stay-filters.mdx` | yes | 4 | n/a¹ | | | |
291
292
  | `stay-search` | `@oxy.so/bloom/stay-search` + barrel | universal | `stay-search.mdx` | yes | 4 | | | | |
292
293
  | `stepper` | `@oxy.so/bloom/stepper` + barrel | universal | `stepper.mdx` | yes | 3 | reads | | | |
293
- | `styles` | `@oxy.so/bloom/styles` + barrel | universal | `styles.mdx` | yes | 67 | **UNCLASSIFIED** | | | |
294
+ | `styles` | `@oxy.so/bloom/styles` + barrel | universal | `styles.mdx` | yes | 67 | n/a¹ | | | |
294
295
  | `subtle-hover` | `@oxy.so/bloom/subtle-hover` + barrel | universal | `subtle-hover.mdx` | yes | 1 | | | | |
295
296
  | `surfaces` | `@oxy.so/bloom/surfaces` + barrel | web fork | `alert.mdx` | yes | 2 | | | | |
296
297
  | `swipe-row` | `@oxy.so/bloom/swipe-row` + barrel | universal | `swipe-row.mdx` | yes | 1 | | | | |
@@ -309,7 +310,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
309
310
  | `toast` | `@oxy.so/bloom/toast` + barrel | universal | `toast.mdx` | yes | 17 | | | | |
310
311
  | `tooltip` | `@oxy.so/bloom/tooltip` + barrel | web fork | `tooltip.mdx` | yes | 1 | | | | |
311
312
  | `track-list` | `@oxy.so/bloom/track-list` + barrel | universal | `track-list.mdx` | yes | 2 | | | | **adaptation** |
312
- | `typography` | `@oxy.so/bloom/typography` + barrel | universal | `typography.mdx` | yes | 7 | | | | |
313
+ | `typography` | `@oxy.so/bloom/typography` + barrel | universal | `typography.mdx` | yes | 8 | | | | |
313
314
  | `user-hover-card` | `@oxy.so/bloom/user-hover-card` + barrel | universal | `user-hover-card.mdx` | yes | 4 | | | | |
314
315
  | `vehicle-picker` | `@oxy.so/bloom/vehicle-picker` + barrel | universal | `vehicle-picker.mdx` | yes | 1 | **adaptation** | | | |
315
316
  | `vendor-card` | `@oxy.so/bloom/vendor-card` + barrel | universal | `vendor-card.mdx` | yes | 1 | | | | |
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: InputOtp
3
- description: One-time-code input — one box per digit, one value.
3
+ description: One-time-code input — one box per character, one value.
4
4
  order: 13
5
5
  ---
6
6
 
7
7
  # InputOtp
8
8
 
9
- A one-time-code field: a row of single-digit boxes that behaves as one value.
9
+ A one-time-code field: a row of single-character boxes that behaves as one value. Digits by default; `type="alphanumeric"` for codes that carry letters.
10
10
 
11
11
  ```tsx
12
12
  import { InputOtp } from '@oxy.so/bloom/input-otp';
@@ -21,6 +21,7 @@ The `InputOtp` look, coloured by Bloom's theme:
21
21
  - Each box is **48 × 48**, radius 10, a 1px semantic hairline on the shared secondary surface, with the `shadow-xs` drop shadow.
22
22
  - Digits are **mono**, 18/26 medium, centred, with tabular numerals, so a row of `1`s and `8`s stays optically even.
23
23
  - Boxes sit **8px** apart; `groupEvery={3}` adds **12px** more before each group (`000 000`).
24
+ - In a container narrower than the row (ten boxes on a phone), the boxes **narrow** to fit — the height, gaps and type stay; they never grow past 48.
24
25
  - **Hover** emphasizes the semantic border. **Focus** paints the border and a 2px ring outside it in the accent (`primary`) — on every focus, since a text input is `:focus-visible` on a click too.
25
26
  - **Invalid** gives every box a red border, a red tint and red digits; focus still wins over the red border.
26
27
  - **Disabled** dims the fill and the digits and drops the shadow.
@@ -33,17 +34,33 @@ The `InputOtp` look, coloured by Bloom's theme:
33
34
  | Backspace on a filled box | clears it in place |
34
35
  | Backspace on an empty box | clears the previous box and moves back |
35
36
  | ← / → (web, hardware keys) | move between boxes |
36
- | paste / OS autofill | distributes the digits from that box onwards |
37
+ | paste / OS autofill | distributes the characters from that box onwards |
37
38
 
38
- Non-digits are dropped. `onChange` fires with the cleaned code on every change, `onComplete` once all `length` boxes are filled. Every box carries the one-time-code autofill hint (`one-time-code` on iOS and web, `sms-otp` on Android) and accepts more than one character, because the OS delivers the whole code into whichever box has focus.
39
+ Non-digits are dropped (`type="alphanumeric"`: see below). `onChange` fires with the cleaned code on every change, `onComplete` once all `length` boxes are filled. Every box carries the one-time-code autofill hint (`one-time-code` on iOS and web, `sms-otp` on Android) and accepts more than one character, because the OS delivers the whole code into whichever box has focus.
39
40
 
40
41
  Clearing a box removes its digit from the value, so later digits move left.
41
42
 
43
+ A box accepts up to `length × 2` characters in one change, so a code pasted with its separators (`123-456`, `ABCDE-12345`) arrives whole — a browser truncates a paste to `maxLength` before the change handler sees it.
44
+
45
+ ## Alphanumeric codes
46
+
47
+ `type="alphanumeric"` is for codes that carry letters, such as a recovery or fallback code printed as `XXXXX-XXXXX`:
48
+
49
+ ```tsx
50
+ <InputOtp type="alphanumeric" length={10} groupEvery={5} onComplete={verify} />
51
+ ```
52
+
53
+ - Every character is **upper-cased**; anything outside `A`–`Z` and `0`–`9` is dropped, so the dash of a pasted `abcde-12345` never reaches the value (`ABCDE12345`). Narrow the alphabet further in the caller if the code's own alphabet is smaller.
54
+ - The keyboard is a letters one with auto-capitalisation, no autocorrect and no spell-check (`ascii-capable` on iOS, `visible-password` on Android — the letters keyboard without suggestions, `inputMode="text"` on web); the one-time-code autofill hint is kept. Native sets no `inputMode`, which React Native would rank above `keyboardType`.
55
+ - Each box is named `Character 1 of 10` rather than `Digit 1 of 10`.
56
+ - `cleanInputOtpValue(raw, type)` (from `@oxy.so/bloom/input-otp`) is the same cleaning, exported for a caller that needs to normalise a code the same way.
57
+
42
58
  ## Props
43
59
 
44
60
  | Prop | Type | Description |
45
61
  |------|------|-------------|
46
62
  | `length?` | `number` | Number of boxes. Default `6`. |
63
+ | `type?` | `'numeric' \| 'alphanumeric'` | What a box accepts. Default `'numeric'`. |
47
64
  | `value?` / `defaultValue?` | `string` | Controlled / initial code. |
48
65
  | `onChange?` | `(value: string) => void` | Every change. |
49
66
  | `onComplete?` | `(value: string) => void` | Once the last box is filled. |
@@ -56,7 +73,7 @@ Clearing a box removes its digit from the value, so later digits move left.
56
73
 
57
74
  ## Accessibility
58
75
 
59
- - The row is a `group` named by `accessibilityLabel`; each box is named `Digit 1 of 6` and so on.
76
+ - The row is a `group` named by `accessibilityLabel`; each box is named `Digit 1 of 6` (`Character 1 of 10` when alphanumeric) and so on.
60
77
  - `aria-invalid` sits on each box, not the group — `group` does not support it.
61
78
  - Say why the code is invalid in text next to the field; the red border is not an announcement.
62
79
 
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.InputOtp = InputOtp;
7
+ exports.cleanInputOtpValue = cleanInputOtpValue;
7
8
  exports.resolveInputOtpBoxPaint = resolveInputOtpBoxPaint;
8
9
  exports.resolveInputOtpPalette = resolveInputOtpPalette;
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -18,7 +19,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
18
19
  /**
19
20
  * `InputOtp`: one box per digit, side by side, behaving as ONE value.
20
21
  *
21
- * box 48 × 48, radius 10, 1px border, shadow-xs
22
+ * box 48 × 48, radius 10, 1px border, shadow-xs; narrower (never
23
+ * wider) when the row does not fit its container
22
24
  * digit mono, title-3-medium 18/26 500, centred, tabular numerals
23
25
  * gap 8 between boxes, +12 before each `groupEvery` group
24
26
  * focus accent-500 border + 2px accent-500 ring (outside the border)
@@ -39,10 +41,17 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
39
41
  * Digits are monospace so the boxes stay optically even — in a proportional
40
42
  * face a `1` is visibly narrower than an `8`.
41
43
  *
44
+ * `type="alphanumeric"` is the same field for codes that carry letters: every
45
+ * character is upper-cased, anything outside `A`–`Z`/`0`–`9` is dropped (so a
46
+ * code printed as `ABCDE-12345` pastes whole), and the keyboard is a letters
47
+ * one with auto-capitalisation instead of the number pad.
48
+ *
42
49
  * Focus paints on EVERY focus, not only keyboard focus: a text input matches
43
50
  * `:focus-visible` on a pointer focus too, so the ring shows on click, and
44
51
  * state (not CSS) carries it here so native paints the same ring.
45
- */const DIGITS_ONLY = /\D/g;
52
+ */const NOT_DIGIT = /\D/g;
53
+ /** Filtered BEFORE upper-casing: `'ß'.toUpperCase()` is `SS`, `'ı'` becomes `I`. */
54
+ const NOT_ALPHANUMERIC = /[^A-Za-z0-9]/g;
46
55
  const BOX_SIZE = 48;
47
56
  const BOX_GAP = 8;
48
57
  const GROUP_GAP = 12;
@@ -89,7 +98,39 @@ function resolveInputOtpBoxPaint(palette, {
89
98
  boxShadow
90
99
  };
91
100
  }
92
- const clean = (raw, length) => raw.replace(DIGITS_ONLY, '').slice(0, length);
101
+
102
+ /** The characters `type` accepts, in order; everything else is dropped. Pure. */
103
+ function cleanInputOtpValue(raw, type = 'numeric') {
104
+ return type === 'alphanumeric' ? raw.replace(NOT_ALPHANUMERIC, '').toUpperCase() : raw.replace(NOT_DIGIT, '');
105
+ }
106
+ const clean = (raw, length, type) => cleanInputOtpValue(raw, type).slice(0, length);
107
+
108
+ /**
109
+ * Keyboard and input hints per `type`. The one-time-code autofill hint is
110
+ * shared (below); only what the keyboard offers differs. Android has no
111
+ * `ascii-capable`, and its `visible-password` is the letters keyboard without
112
+ * suggestions or autocorrect — both of which would rewrite a code.
113
+ *
114
+ * Alphanumeric sets `inputMode` on web ONLY: React Native gives `inputMode`
115
+ * precedence over `keyboardType`, so `inputMode: 'text'` on native would open
116
+ * the ordinary keyboard instead of `ascii-capable` / `visible-password`.
117
+ */
118
+ const KEYBOARD_PROPS = {
119
+ numeric: {
120
+ inputMode: 'numeric',
121
+ keyboardType: 'number-pad'
122
+ },
123
+ alphanumeric: {
124
+ ...(IS_WEB ? {
125
+ inputMode: 'text'
126
+ } : {
127
+ keyboardType: _reactNative.Platform.OS === 'android' ? 'visible-password' : 'ascii-capable'
128
+ }),
129
+ autoCapitalize: 'characters',
130
+ autoCorrect: false,
131
+ spellCheck: false
132
+ }
133
+ };
93
134
  const WEB_BOX_STYLE = IS_WEB ? {
94
135
  outlineWidth: 0,
95
136
  outlineStyle: 'none',
@@ -99,6 +140,7 @@ const WEB_BOX_STYLE = IS_WEB ? {
99
140
  } : undefined;
100
141
  function InputOtp({
101
142
  length = 6,
143
+ type = 'numeric',
102
144
  value,
103
145
  defaultValue = '',
104
146
  onChange,
@@ -129,24 +171,27 @@ function InputOtp({
129
171
  const invalid = membership.invalid;
130
172
  const groupName = membership.accessibilityLabel ?? 'One-time code';
131
173
  const inputsRef = (0, _react.useRef)([]);
132
- const [internal, setInternal] = (0, _react.useState)(() => clean(defaultValue, length));
174
+ const [internal, setInternal] = (0, _react.useState)(() => clean(defaultValue, length, type));
133
175
  const [focusedIndex, setFocusedIndex] = (0, _react.useState)(null);
134
176
  const [hoveredIndex, setHoveredIndex] = (0, _react.useState)(null);
135
177
  const controlled = value !== undefined;
136
- const code = clean(controlled ? value : internal, length);
178
+ const code = clean(controlled ? value : internal, length, type);
179
+ const unit = type === 'alphanumeric' ? 'Character' : 'Digit';
137
180
  const commit = (0, _react.useCallback)(next => {
138
- const cleaned = clean(next, length);
181
+ // `next` is already cleaned per character (a cleared box is a space
182
+ // placeholder, which `clean` drops along with anything else).
183
+ const cleaned = clean(next, length, type);
139
184
  if (!controlled) setInternal(cleaned);
140
185
  onChange?.(cleaned);
141
186
  if (cleaned.length === length) onComplete?.(cleaned);
142
- }, [controlled, length, onChange, onComplete]);
187
+ }, [controlled, length, type, onChange, onComplete]);
143
188
  const focusBox = (0, _react.useCallback)(index => {
144
189
  inputsRef.current[Math.max(0, Math.min(index, length - 1))]?.focus();
145
190
  }, [length]);
146
191
 
147
- /** Writes `digits` starting at `index`, which covers typing, paste and autofill. */
148
- const writeFrom = (index, digits) => {
149
- const incoming = digits.replace(DIGITS_ONLY, '');
192
+ /** Writes `text` starting at `index`, which covers typing, paste and autofill. */
193
+ const writeFrom = (index, text) => {
194
+ const incoming = cleanInputOtpValue(text, type);
150
195
  if (incoming === '') return;
151
196
  const chars = code.padEnd(length, ' ').split('');
152
197
  for (let offset = 0; offset < incoming.length && index + offset < length; offset += 1) {
@@ -216,18 +261,20 @@ function InputOtp({
216
261
  onMouseLeave: () => setHoveredIndex(current => current === index ? null : current)
217
262
  } : {}),
218
263
  testID: testID ? `${testID}-${index}` : undefined
219
- // `text` with a numeric keyboard rather than a number input: a number
220
- // input brings spinners, accepts `e` and `-`, and reports an empty
221
- // value for anything it considers malformed.
264
+ // Numeric is `text` with a numeric keyboard rather than a number
265
+ // input: a number input brings spinners, accepts `e` and `-`, and
266
+ // reports an empty value for anything it considers malformed.
222
267
  ,
223
- inputMode: "numeric",
224
- keyboardType: "number-pad",
268
+ ...KEYBOARD_PROPS[type],
225
269
  autoComplete: _reactNative.Platform.OS === 'android' ? 'sms-otp' : 'one-time-code',
226
270
  textContentType: "oneTimeCode",
227
271
  autoFocus: autoFocus && index === 0
228
- // Long enough to accept a full autofilled code in one box.
272
+ // Long enough to accept a full autofilled or pasted code in one box,
273
+ // separators included: a browser truncates a paste to `maxLength`
274
+ // BEFORE the change handler sees it, so `length` alone lost the
275
+ // last character of `ABCDE-12345`.
229
276
  ,
230
- maxLength: length
277
+ maxLength: length * 2
231
278
  // Typing into a filled box must REPLACE its digit, so the digit is
232
279
  // selected on focus. Web's `selectTextOnFocus` does that. Android's
233
280
  // does not: it selects on the input's next layout, and focusing a box
@@ -238,7 +285,7 @@ function InputOtp({
238
285
  selectTextOnFocus: IS_WEB,
239
286
  caretHidden: false,
240
287
  editable: !disabled,
241
- accessibilityLabel: `Digit ${index + 1} of ${length}`,
288
+ accessibilityLabel: `${unit} ${index + 1} of ${length}`,
242
289
  "aria-invalid": invalid || undefined,
243
290
  "aria-disabled": disabled || undefined,
244
291
  value: digit === ' ' ? '' : digit,
@@ -252,6 +299,12 @@ function InputOtp({
252
299
  keyboardAppearance: theme.isDark ? 'dark' : 'light',
253
300
  style: [{
254
301
  width: BOX_SIZE,
302
+ // A box shrinks (never grows) when the row is narrower than
303
+ // its natural width, so ten boxes still fit a phone. `minWidth`
304
+ // 0 is what lets it: a flex item's automatic minimum is its
305
+ // specified width, and an `<input>` would otherwise overflow.
306
+ flexShrink: 1,
307
+ minWidth: 0,
255
308
  height: BOX_SIZE,
256
309
  marginLeft: gapBefore ? GROUP_GAP : 0,
257
310
  padding: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_shared","_shared2","_scale","_membership","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DIGITS_ONLY","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","TYPE_SCALE","IS_WEB","Platform","OS","resolveInputOtpPalette","theme","c","colors","background","backgroundSecondary","backgroundDisabled","backgroundInvalid","errorSubtle","border","borderLight","borderHover","borderInvalid","errorSubtleForeground","ring","primary","text","textDisabled","textTertiary","textInvalid","shadow","BUTTON_SHADOW","isDark","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","clean","raw","length","replace","slice","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","TEXT_FIELD_TRANSITION_MS","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","invalidProp","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","useTheme","useMemo","membership","useFieldMembership","groupName","inputsRef","useRef","internal","setInternal","useState","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","commit","useCallback","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","digits","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","jsx","View","role","describedBy","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","TextInput","ref","node","onMouseEnter","onMouseLeave","inputMode","keyboardType","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","setSelection","onBlur","keyboardAppearance","width","height","marginLeft","padding","borderRadius","TEXT_FIELD_RADIUS","borderWidth","textAlign","textAlignVertical","fontFamily","MONO_FONT_FAMILY","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_shared","_shared2","_scale","_membership","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NOT_DIGIT","NOT_ALPHANUMERIC","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","TYPE_SCALE","IS_WEB","Platform","OS","resolveInputOtpPalette","theme","c","colors","background","backgroundSecondary","backgroundDisabled","backgroundInvalid","errorSubtle","border","borderLight","borderHover","borderInvalid","errorSubtleForeground","ring","primary","text","textDisabled","textTertiary","textInvalid","shadow","BUTTON_SHADOW","isDark","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","cleanInputOtpValue","raw","type","replace","toUpperCase","clean","length","slice","KEYBOARD_PROPS","numeric","inputMode","keyboardType","alphanumeric","autoCapitalize","autoCorrect","spellCheck","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","TEXT_FIELD_TRANSITION_MS","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","invalidProp","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","useTheme","useMemo","membership","useFieldMembership","groupName","inputsRef","useRef","internal","setInternal","useState","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","unit","commit","useCallback","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","jsx","View","role","describedBy","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","TextInput","ref","node","onMouseEnter","onMouseLeave","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","setSelection","onBlur","keyboardAppearance","width","flexShrink","minWidth","height","marginLeft","padding","borderRadius","TEXT_FIELD_RADIUS","borderWidth","textAlign","textAlignVertical","fontFamily","MONO_FONT_FAMILY","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,5 +9,11 @@ Object.defineProperty(exports, "InputOtp", {
9
9
  return _InputOtp.InputOtp;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "cleanInputOtpValue", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _InputOtp.cleanInputOtpValue;
16
+ }
17
+ });
12
18
  var _InputOtp = require("./InputOtp.js");
13
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_InputOtp","require"],"sourceRoot":"../../../src","sources":["input-otp/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_InputOtp","require"],"sourceRoot":"../../../src","sources":["input-otp/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
@@ -11,7 +11,8 @@ import { useFieldMembership } from "../field/membership.js";
11
11
  /**
12
12
  * `InputOtp`: one box per digit, side by side, behaving as ONE value.
13
13
  *
14
- * box 48 × 48, radius 10, 1px border, shadow-xs
14
+ * box 48 × 48, radius 10, 1px border, shadow-xs; narrower (never
15
+ * wider) when the row does not fit its container
15
16
  * digit mono, title-3-medium 18/26 500, centred, tabular numerals
16
17
  * gap 8 between boxes, +12 before each `groupEvery` group
17
18
  * focus accent-500 border + 2px accent-500 ring (outside the border)
@@ -32,12 +33,19 @@ import { useFieldMembership } from "../field/membership.js";
32
33
  * Digits are monospace so the boxes stay optically even — in a proportional
33
34
  * face a `1` is visibly narrower than an `8`.
34
35
  *
36
+ * `type="alphanumeric"` is the same field for codes that carry letters: every
37
+ * character is upper-cased, anything outside `A`–`Z`/`0`–`9` is dropped (so a
38
+ * code printed as `ABCDE-12345` pastes whole), and the keyboard is a letters
39
+ * one with auto-capitalisation instead of the number pad.
40
+ *
35
41
  * Focus paints on EVERY focus, not only keyboard focus: a text input matches
36
42
  * `:focus-visible` on a pointer focus too, so the ring shows on click, and
37
43
  * state (not CSS) carries it here so native paints the same ring.
38
44
  */
39
45
  import { jsx as _jsx } from "react/jsx-runtime";
40
- const DIGITS_ONLY = /\D/g;
46
+ const NOT_DIGIT = /\D/g;
47
+ /** Filtered BEFORE upper-casing: `'ß'.toUpperCase()` is `SS`, `'ı'` becomes `I`. */
48
+ const NOT_ALPHANUMERIC = /[^A-Za-z0-9]/g;
41
49
  const BOX_SIZE = 48;
42
50
  const BOX_GAP = 8;
43
51
  const GROUP_GAP = 12;
@@ -84,7 +92,39 @@ export function resolveInputOtpBoxPaint(palette, {
84
92
  boxShadow
85
93
  };
86
94
  }
87
- const clean = (raw, length) => raw.replace(DIGITS_ONLY, '').slice(0, length);
95
+
96
+ /** The characters `type` accepts, in order; everything else is dropped. Pure. */
97
+ export function cleanInputOtpValue(raw, type = 'numeric') {
98
+ return type === 'alphanumeric' ? raw.replace(NOT_ALPHANUMERIC, '').toUpperCase() : raw.replace(NOT_DIGIT, '');
99
+ }
100
+ const clean = (raw, length, type) => cleanInputOtpValue(raw, type).slice(0, length);
101
+
102
+ /**
103
+ * Keyboard and input hints per `type`. The one-time-code autofill hint is
104
+ * shared (below); only what the keyboard offers differs. Android has no
105
+ * `ascii-capable`, and its `visible-password` is the letters keyboard without
106
+ * suggestions or autocorrect — both of which would rewrite a code.
107
+ *
108
+ * Alphanumeric sets `inputMode` on web ONLY: React Native gives `inputMode`
109
+ * precedence over `keyboardType`, so `inputMode: 'text'` on native would open
110
+ * the ordinary keyboard instead of `ascii-capable` / `visible-password`.
111
+ */
112
+ const KEYBOARD_PROPS = {
113
+ numeric: {
114
+ inputMode: 'numeric',
115
+ keyboardType: 'number-pad'
116
+ },
117
+ alphanumeric: {
118
+ ...(IS_WEB ? {
119
+ inputMode: 'text'
120
+ } : {
121
+ keyboardType: Platform.OS === 'android' ? 'visible-password' : 'ascii-capable'
122
+ }),
123
+ autoCapitalize: 'characters',
124
+ autoCorrect: false,
125
+ spellCheck: false
126
+ }
127
+ };
88
128
  const WEB_BOX_STYLE = IS_WEB ? {
89
129
  outlineWidth: 0,
90
130
  outlineStyle: 'none',
@@ -94,6 +134,7 @@ const WEB_BOX_STYLE = IS_WEB ? {
94
134
  } : undefined;
95
135
  export function InputOtp({
96
136
  length = 6,
137
+ type = 'numeric',
97
138
  value,
98
139
  defaultValue = '',
99
140
  onChange,
@@ -124,24 +165,27 @@ export function InputOtp({
124
165
  const invalid = membership.invalid;
125
166
  const groupName = membership.accessibilityLabel ?? 'One-time code';
126
167
  const inputsRef = useRef([]);
127
- const [internal, setInternal] = useState(() => clean(defaultValue, length));
168
+ const [internal, setInternal] = useState(() => clean(defaultValue, length, type));
128
169
  const [focusedIndex, setFocusedIndex] = useState(null);
129
170
  const [hoveredIndex, setHoveredIndex] = useState(null);
130
171
  const controlled = value !== undefined;
131
- const code = clean(controlled ? value : internal, length);
172
+ const code = clean(controlled ? value : internal, length, type);
173
+ const unit = type === 'alphanumeric' ? 'Character' : 'Digit';
132
174
  const commit = useCallback(next => {
133
- const cleaned = clean(next, length);
175
+ // `next` is already cleaned per character (a cleared box is a space
176
+ // placeholder, which `clean` drops along with anything else).
177
+ const cleaned = clean(next, length, type);
134
178
  if (!controlled) setInternal(cleaned);
135
179
  onChange?.(cleaned);
136
180
  if (cleaned.length === length) onComplete?.(cleaned);
137
- }, [controlled, length, onChange, onComplete]);
181
+ }, [controlled, length, type, onChange, onComplete]);
138
182
  const focusBox = useCallback(index => {
139
183
  inputsRef.current[Math.max(0, Math.min(index, length - 1))]?.focus();
140
184
  }, [length]);
141
185
 
142
- /** Writes `digits` starting at `index`, which covers typing, paste and autofill. */
143
- const writeFrom = (index, digits) => {
144
- const incoming = digits.replace(DIGITS_ONLY, '');
186
+ /** Writes `text` starting at `index`, which covers typing, paste and autofill. */
187
+ const writeFrom = (index, text) => {
188
+ const incoming = cleanInputOtpValue(text, type);
145
189
  if (incoming === '') return;
146
190
  const chars = code.padEnd(length, ' ').split('');
147
191
  for (let offset = 0; offset < incoming.length && index + offset < length; offset += 1) {
@@ -211,18 +255,20 @@ export function InputOtp({
211
255
  onMouseLeave: () => setHoveredIndex(current => current === index ? null : current)
212
256
  } : {}),
213
257
  testID: testID ? `${testID}-${index}` : undefined
214
- // `text` with a numeric keyboard rather than a number input: a number
215
- // input brings spinners, accepts `e` and `-`, and reports an empty
216
- // value for anything it considers malformed.
258
+ // Numeric is `text` with a numeric keyboard rather than a number
259
+ // input: a number input brings spinners, accepts `e` and `-`, and
260
+ // reports an empty value for anything it considers malformed.
217
261
  ,
218
- inputMode: "numeric",
219
- keyboardType: "number-pad",
262
+ ...KEYBOARD_PROPS[type],
220
263
  autoComplete: Platform.OS === 'android' ? 'sms-otp' : 'one-time-code',
221
264
  textContentType: "oneTimeCode",
222
265
  autoFocus: autoFocus && index === 0
223
- // Long enough to accept a full autofilled code in one box.
266
+ // Long enough to accept a full autofilled or pasted code in one box,
267
+ // separators included: a browser truncates a paste to `maxLength`
268
+ // BEFORE the change handler sees it, so `length` alone lost the
269
+ // last character of `ABCDE-12345`.
224
270
  ,
225
- maxLength: length
271
+ maxLength: length * 2
226
272
  // Typing into a filled box must REPLACE its digit, so the digit is
227
273
  // selected on focus. Web's `selectTextOnFocus` does that. Android's
228
274
  // does not: it selects on the input's next layout, and focusing a box
@@ -233,7 +279,7 @@ export function InputOtp({
233
279
  selectTextOnFocus: IS_WEB,
234
280
  caretHidden: false,
235
281
  editable: !disabled,
236
- accessibilityLabel: `Digit ${index + 1} of ${length}`,
282
+ accessibilityLabel: `${unit} ${index + 1} of ${length}`,
237
283
  "aria-invalid": invalid || undefined,
238
284
  "aria-disabled": disabled || undefined,
239
285
  value: digit === ' ' ? '' : digit,
@@ -247,6 +293,12 @@ export function InputOtp({
247
293
  keyboardAppearance: theme.isDark ? 'dark' : 'light',
248
294
  style: [{
249
295
  width: BOX_SIZE,
296
+ // A box shrinks (never grows) when the row is narrower than
297
+ // its natural width, so ten boxes still fit a phone. `minWidth`
298
+ // 0 is what lets it: a flex item's automatic minimum is its
299
+ // specified width, and an `<input>` would otherwise overflow.
300
+ flexShrink: 1,
301
+ minWidth: 0,
250
302
  height: BOX_SIZE,
251
303
  marginLeft: gapBefore ? GROUP_GAP : 0,
252
304
  padding: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","TextInput","View","useTheme","BUTTON_SHADOW","MONO_FONT_FAMILY","TEXT_FIELD_RADIUS","TEXT_FIELD_TRANSITION_MS","TYPE_SCALE","useFieldMembership","jsx","_jsx","DIGITS_ONLY","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","IS_WEB","OS","resolveInputOtpPalette","theme","c","colors","background","backgroundSecondary","backgroundDisabled","backgroundInvalid","errorSubtle","border","borderLight","borderHover","borderInvalid","errorSubtleForeground","ring","primary","text","textDisabled","textTertiary","textInvalid","shadow","isDark","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","clean","raw","length","replace","slice","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","invalidProp","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","membership","groupName","inputsRef","internal","setInternal","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","commit","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","digits","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","role","describedBy","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","ref","node","onMouseEnter","onMouseLeave","inputMode","keyboardType","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","setSelection","onBlur","keyboardAppearance","width","height","marginLeft","padding","borderRadius","borderWidth","textAlign","textAlignVertical","fontFamily","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SACEC,QAAQ,EACRC,SAAS,EACTC,IAAI,QAIC,cAAc;AAErB,SAASC,QAAQ,QAAQ,uBAAoB;AAE7C,SACEC,aAAa,QACR,qBAAkB;AACzB,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,wBAAwB,QACnB,yBAAsB;AAC7B,SAASC,UAAU,QAAQ,wBAAqB;AAEhD,SAASC,kBAAkB,QAAQ,wBAAqB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA,SAAAC,GAAA,IAAAC,IAAA;AA6BA,MAAMC,WAAW,GAAG,KAAK;AACzB,MAAMC,QAAQ,GAAG,EAAE;AACnB,MAAMC,OAAO,GAAG,CAAC;AACjB,MAAMC,SAAS,GAAG,EAAE;AACpB,MAAMC,UAAU,GAAG,CAAC;AACpB;AACA,MAAMC,UAAU,GAAGT,UAAU,CAAC,gBAAgB,CAAC;AAC/C,MAAMU,MAAM,GAAGlB,QAAQ,CAACmB,EAAE,KAAK,KAAK;AA2BpC;AACA,OAAO,SAASC,sBAAsBA,CAACC,KAAY,EAAmB;EACpE,MAAMC,CAAC,GAAGD,KAAK,CAACE,MAAM;EACtB,OAAO;IACLC,UAAU,EAAEF,CAAC,CAACG,mBAAmB;IACjCC,kBAAkB,EAAEJ,CAAC,CAACG,mBAAmB;IACzCE,iBAAiB,EAAEL,CAAC,CAACM,WAAW;IAChCC,MAAM,EAAEP,CAAC,CAACQ,WAAW;IACrBC,WAAW,EAAET,CAAC,CAACO,MAAM;IACrBG,aAAa,EAAEV,CAAC,CAACW,qBAAqB;IACtCC,IAAI,EAAEZ,CAAC,CAACa,OAAO;IACfC,IAAI,EAAEd,CAAC,CAACc,IAAI;IACZC,YAAY,EAAEf,CAAC,CAACgB,YAAY;IAC5BC,WAAW,EAAEjB,CAAC,CAACW,qBAAqB;IACpCO,MAAM,EAAEpC,aAAa,CAACiB,KAAK,CAACoB,MAAM,GAAG,MAAM,GAAG,OAAO;EACvD,CAAC;AACH;AASA;AACA,OAAO,SAASC,uBAAuBA,CACrCC,OAAwB,EACxB;EAAEC,OAAO;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAA2B,CAAC,EAC2B;EACpF,MAAMC,WAAW,GAAG,CAACD,QAAQ;EAC7B;EACA;EACA;EACA,MAAME,WAAW,GACfJ,OAAO,IAAIG,WAAW,GAClBL,OAAO,CAACT,IAAI,GACZY,OAAO,GACLH,OAAO,CAACX,aAAa,GACrBY,OAAO,IAAII,WAAW,GACpBL,OAAO,CAACZ,WAAW,GACnBY,OAAO,CAACd,MAAM;EACxB,MAAMqB,eAAe,GAAGH,QAAQ,GAC5BJ,OAAO,CAACjB,kBAAkB,GAC1BoB,OAAO,GACLH,OAAO,CAAChB,iBAAiB,GACzBgB,OAAO,CAACnB,UAAU;EACxB,MAAM2B,KAAK,GAAGJ,QAAQ,GAAGJ,OAAO,CAACN,YAAY,GAAGS,OAAO,GAAGH,OAAO,CAACJ,WAAW,GAAGI,OAAO,CAACP,IAAI;EAC5F,MAAMgB,SAAS,GAAGL,QAAQ,GACtB,MAAM,GACNF,OAAO,GACL,SAAS7B,UAAU,MAAM2B,OAAO,CAACT,IAAI,KAAKS,OAAO,CAACH,MAAM,EAAE,GAC1DG,OAAO,CAACH,MAAM;EACpB,OAAO;IAAEU,eAAe;IAAED,WAAW;IAAEE,KAAK;IAAEC;EAAU,CAAC;AAC3D;AAEA,MAAMC,KAAK,GAAGA,CAACC,GAAW,EAAEC,MAAc,KAAKD,GAAG,CAACE,OAAO,CAAC5C,WAAW,EAAE,EAAE,CAAC,CAAC6C,KAAK,CAAC,CAAC,EAAEF,MAAM,CAAC;AAE5F,MAAMG,aAAoC,GAAGxC,MAAM,GAC9C;EACCyC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,MAAM;EACpBC,kBAAkB,EAAE,4CAA4C;EAChEC,kBAAkB,EAAE,GAAGvD,wBAAwB,IAAI;EACnDwD,wBAAwB,EAAE;AAC5B,CAAC,GACDC,SAAS;AAEb,OAAO,SAASC,QAAQA,CAAC;EACvBV,MAAM,GAAG,CAAC;EACVW,KAAK;EACLC,YAAY,GAAG,EAAE;EACjBC,QAAQ;EACRC,UAAU;EACVvB,OAAO,EAAEwB,WAAW;EACpBC,SAAS;EACTC,UAAU;EACVzB,QAAQ,EAAE0B,aAAa;EACvBC,UAAU;EACVC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,KAAK;EACLC;AACa,CAAC,EAAE;EAChB,MAAMzD,KAAK,GAAGlB,QAAQ,CAAC,CAAC;EACxB,MAAMwC,OAAO,GAAG9C,OAAO,CAAC,MAAMuB,sBAAsB,CAACC,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACrE;EACA;EACA;EACA;EACA;EACA,MAAM0D,UAAU,GAAGtE,kBAAkB,CAAC;IACpCmE,kBAAkB;IAClB7B,QAAQ,EAAEyB,UAAU,IAAIC,aAAa,IAAI,KAAK;IAC9C3B,OAAO,EAAEwB,WAAW,IAAIC;EAC1B,CAAC,CAAC;EACF,MAAMxB,QAAQ,GAAGgC,UAAU,CAAChC,QAAQ;EACpC,MAAMD,OAAO,GAAGiC,UAAU,CAACjC,OAAO;EAClC,MAAMkC,SAAS,GAAGD,UAAU,CAACH,kBAAkB,IAAI,eAAe;EAElE,MAAMK,SAAS,GAAGnF,MAAM,CAA0B,EAAE,CAAC;EACrD,MAAM,CAACoF,QAAQ,EAAEC,WAAW,CAAC,GAAGpF,QAAQ,CAAC,MAAMsD,KAAK,CAACc,YAAY,EAAEZ,MAAM,CAAC,CAAC;EAC3E,MAAM,CAAC6B,YAAY,EAAEC,eAAe,CAAC,GAAGtF,QAAQ,CAAgB,IAAI,CAAC;EACrE,MAAM,CAACuF,YAAY,EAAEC,eAAe,CAAC,GAAGxF,QAAQ,CAAgB,IAAI,CAAC;EAErE,MAAMyF,UAAU,GAAGtB,KAAK,KAAKF,SAAS;EACtC,MAAMyB,IAAI,GAAGpC,KAAK,CAACmC,UAAU,GAAGtB,KAAK,GAAGgB,QAAQ,EAAE3B,MAAM,CAAC;EAEzD,MAAMmC,MAAM,GAAG9F,WAAW,CACvB+F,IAAY,IAAK;IAChB,MAAMC,OAAO,GAAGvC,KAAK,CAACsC,IAAI,EAAEpC,MAAM,CAAC;IACnC,IAAI,CAACiC,UAAU,EAAEL,WAAW,CAACS,OAAO,CAAC;IACrCxB,QAAQ,GAAGwB,OAAO,CAAC;IACnB,IAAIA,OAAO,CAACrC,MAAM,KAAKA,MAAM,EAAEc,UAAU,GAAGuB,OAAO,CAAC;EACtD,CAAC,EACD,CAACJ,UAAU,EAAEjC,MAAM,EAAEa,QAAQ,EAAEC,UAAU,CAC3C,CAAC;EAED,MAAMwB,QAAQ,GAAGjG,WAAW,CACzBkG,KAAa,IAAK;IACjBb,SAAS,CAACc,OAAO,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACJ,KAAK,EAAEvC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE4C,KAAK,CAAC,CAAC;EACtE,CAAC,EACD,CAAC5C,MAAM,CACT,CAAC;;EAED;EACA,MAAM6C,SAAS,GAAGA,CAACN,KAAa,EAAEO,MAAc,KAAK;IACnD,MAAMC,QAAQ,GAAGD,MAAM,CAAC7C,OAAO,CAAC5C,WAAW,EAAE,EAAE,CAAC;IAChD,IAAI0F,QAAQ,KAAK,EAAE,EAAE;IACrB,MAAMC,KAAK,GAAGd,IAAI,CAACe,MAAM,CAACjD,MAAM,EAAE,GAAG,CAAC,CAACkD,KAAK,CAAC,EAAE,CAAC;IAChD,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGJ,QAAQ,CAAC/C,MAAM,IAAIuC,KAAK,GAAGY,MAAM,GAAGnD,MAAM,EAAEmD,MAAM,IAAI,CAAC,EAAE;MACrFH,KAAK,CAACT,KAAK,GAAGY,MAAM,CAAC,GAAGJ,QAAQ,CAACI,MAAM,CAAW;IACpD;IACAhB,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IAChCf,QAAQ,CAACC,KAAK,GAAGQ,QAAQ,CAAC/C,MAAM,CAAC;EACnC,CAAC;EAED,MAAMsD,UAAU,GAAGA,CAACC,KAAuD,EAAEhB,KAAa,KAAK;IAC7F,MAAM;MAAEiB;IAAI,CAAC,GAAGD,KAAK,CAACE,WAAW;IACjC,IAAID,GAAG,KAAK,WAAW,EAAE;MACvBD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtB,MAAMV,KAAK,GAAGd,IAAI,CAACe,MAAM,CAACjD,MAAM,EAAE,GAAG,CAAC,CAACkD,KAAK,CAAC,EAAE,CAAC;MAChD,IAAIhB,IAAI,CAACK,KAAK,CAAC,IAAIL,IAAI,CAACK,KAAK,CAAC,KAAK,GAAG,EAAE;QACtC;QACA;QACAS,KAAK,CAACT,KAAK,CAAC,GAAG,GAAG;QAClBJ,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;QAChC;MACF;MACAL,KAAK,CAACP,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;MACnCJ,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;MAChCf,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;MACnB;IACF;IACA,IAAIiB,GAAG,KAAK,WAAW,EAAE;MACvBD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBpB,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC,MAAM,IAAIiB,GAAG,KAAK,YAAY,EAAE;MAC/BD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBpB,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;IACrB;EACF,CAAC;EAED,oBACEnF,IAAA,CAACT,IAAI;IACHgH,IAAI,EAAC,OAAO;IACZtC,kBAAkB,EAAEI,SAAU;IAC9B,oBAAkBD,UAAU,CAACoC,WAAY;IACzCrC,MAAM,EAAEA;IACR;IACA;IAAA;IACAD,KAAK,EAAE,CAAC;MAAEuC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAExG;IAAQ,CAAC,EAAE+D,KAAK,CAAE;IAAA0C,QAAA,EAC5EC,KAAK,CAACC,IAAI,CAAC;MAAElE;IAAO,CAAC,EAAE,CAACmE,CAAC,EAAE5B,KAAK,KAAK;MACpC,MAAM6B,KAAK,GAAGlC,IAAI,CAACK,KAAK,CAAC,IAAI,EAAE;MAC/B,MAAM8B,SAAS,GAAGlD,UAAU,KAAKV,SAAS,IAAIU,UAAU,GAAG,CAAC,IAAIoB,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGpB,UAAU,KAAK,CAAC;MACrG,MAAMmD,KAAK,GAAGnF,uBAAuB,CAACC,OAAO,EAAE;QAC7CC,OAAO,EAAE0C,YAAY,KAAKQ,KAAK;QAC/BjD,OAAO,EAAEuC,YAAY,KAAKU,KAAK;QAC/BhD,OAAO,EAAEA,OAAO;QAChBC;MACF,CAAC,CAAC;MAEF,oBACEpC,IAAA,CAACV,SAAS;QAER6H,GAAG,EAAGC,IAAI,IAAK;UACb9C,SAAS,CAACc,OAAO,CAACD,KAAK,CAAC,GAAGiC,IAAI;QACjC,CAAE;QAAA,IACG7G,MAAM,GACN;UACC6B,QAAQ;UACRiF,YAAY,EAAEA,CAAA,KAAMzC,eAAe,CAACO,KAAK,CAAC;UAC1CmC,YAAY,EAAEA,CAAA,KAAM1C,eAAe,CAAEQ,OAAO,IAAMA,OAAO,KAAKD,KAAK,GAAG,IAAI,GAAGC,OAAQ;QACvF,CAAC,GACD,CAAC,CAAC;QACNjB,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIgB,KAAK,EAAE,GAAG9B;QACxC;QACA;QACA;QAAA;QACAkE,SAAS,EAAC,SAAS;QACnBC,YAAY,EAAC,YAAY;QACzBC,YAAY,EAAEpI,QAAQ,CAACmB,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,eAAgB;QACtEkH,eAAe,EAAC,aAAa;QAC7B1D,SAAS,EAAEA,SAAS,IAAImB,KAAK,KAAK;QAClC;QAAA;QACAwC,SAAS,EAAE/E;QACX;QACA;QACA;QACA;QACA;QACA;QAAA;QACAgF,iBAAiB,EAAErH,MAAO;QAC1BsH,WAAW,EAAE,KAAM;QACnBC,QAAQ,EAAE,CAAC1F,QAAS;QACpB6B,kBAAkB,EAAE,SAASkB,KAAK,GAAG,CAAC,OAAOvC,MAAM,EAAG;QACtD,gBAAcT,OAAO,IAAIkB,SAAU;QACnC,iBAAejB,QAAQ,IAAIiB,SAAU;QACrCE,KAAK,EAAEyD,KAAK,KAAK,GAAG,GAAG,EAAE,GAAGA,KAAM;QAClCe,YAAY,EAAGtG,IAAI,IAAKgE,SAAS,CAACN,KAAK,EAAE1D,IAAI,CAAE;QAC/CyE,UAAU,EAAGC,KAAK,IAAKD,UAAU,CAACC,KAAK,EAAEhB,KAAK,CAAE;QAChD6C,OAAO,EAAEA,CAAA,KAAM;UACbtD,eAAe,CAACS,KAAK,CAAC;UACtB,IAAI,CAAC5E,MAAM,IAAIyG,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,GAAG,EAAE1C,SAAS,CAACc,OAAO,CAACD,KAAK,CAAC,EAAE8C,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAE;QACFC,MAAM,EAAEA,CAAA,KAAMxD,eAAe,CAAEU,OAAO,IAAMA,OAAO,KAAKD,KAAK,GAAG,IAAI,GAAGC,OAAQ,CAAE;QACjF+C,kBAAkB,EAAEzH,KAAK,CAACoB,MAAM,GAAG,MAAM,GAAG,OAAQ;QACpDoC,KAAK,EAAE,CACL;UACEkE,KAAK,EAAElI,QAAQ;UACfmI,MAAM,EAAEnI,QAAQ;UAChBoI,UAAU,EAAErB,SAAS,GAAG7G,SAAS,GAAG,CAAC;UACrCmI,OAAO,EAAE,CAAC;UACVC,YAAY,EAAE7I,iBAAiB;UAC/B8I,WAAW,EAAE,CAAC;UACdC,SAAS,EAAE,QAAQ;UACnBC,iBAAiB,EAAE,QAAQ;UAC3BC,UAAU,EAAElJ,gBAAgB;UAC5BmJ,QAAQ,EAAEvI,UAAU,CAACuI,QAAQ;UAC7BC,UAAU,EAAExI,UAAU,CAACwI,UAAU;UACjCC,WAAW,EAAE,CAAC,cAAc,CAAC;UAC7BC,kBAAkB,EAAE,KAAK;UACzB,GAAG9B;QACL,CAAC,EACD3G,MAAM,GAAG;UAAE0I,UAAU,EAAE3I,UAAU,CAAC2I;QAAW,CAAC,GAAG5F,SAAS,EAC1D9C,MAAM,IAAI6B,QAAQ,GAAI;UAAE8G,MAAM,EAAE;QAAc,CAAC,GAA4B7F,SAAS,EACpFN,aAAa;MACb,GA/DGoC,KAgEN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","TextInput","View","useTheme","BUTTON_SHADOW","MONO_FONT_FAMILY","TEXT_FIELD_RADIUS","TEXT_FIELD_TRANSITION_MS","TYPE_SCALE","useFieldMembership","jsx","_jsx","NOT_DIGIT","NOT_ALPHANUMERIC","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","IS_WEB","OS","resolveInputOtpPalette","theme","c","colors","background","backgroundSecondary","backgroundDisabled","backgroundInvalid","errorSubtle","border","borderLight","borderHover","borderInvalid","errorSubtleForeground","ring","primary","text","textDisabled","textTertiary","textInvalid","shadow","isDark","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","cleanInputOtpValue","raw","type","replace","toUpperCase","clean","length","slice","KEYBOARD_PROPS","numeric","inputMode","keyboardType","alphanumeric","autoCapitalize","autoCorrect","spellCheck","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","invalidProp","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","membership","groupName","inputsRef","internal","setInternal","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","unit","commit","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","role","describedBy","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","ref","node","onMouseEnter","onMouseLeave","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","setSelection","onBlur","keyboardAppearance","width","flexShrink","minWidth","height","marginLeft","padding","borderRadius","borderWidth","textAlign","textAlignVertical","fontFamily","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export { InputOtp } from "./InputOtp.js";
3
+ export { InputOtp, cleanInputOtpValue } from "./InputOtp.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["InputOtp"],"sourceRoot":"../../../src","sources":["input-otp/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
1
+ {"version":3,"names":["InputOtp","cleanInputOtpValue"],"sourceRoot":"../../../src","sources":["input-otp/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,kBAAkB,QAAQ,eAAY","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../theme/types';
2
- import type { InputOtpProps } from './types';
2
+ import type { InputOtpProps, InputOtpType } from './types';
3
3
  export interface InputOtpPalette {
4
4
  /** `background-primary-default`. */
5
5
  background: string;
@@ -39,5 +39,7 @@ export declare function resolveInputOtpBoxPaint(palette: InputOtpPalette, { hove
39
39
  color: string;
40
40
  boxShadow: string;
41
41
  };
42
- export declare function InputOtp({ length, value, defaultValue, onChange, onComplete, invalid: invalidProp, isInvalid, isDisabled, disabled: disabledAlias, groupEvery, autoFocus, accessibilityLabel, style, testID, }: InputOtpProps): import("react/jsx-runtime").JSX.Element;
42
+ /** The characters `type` accepts, in order; everything else is dropped. Pure. */
43
+ export declare function cleanInputOtpValue(raw: string, type?: InputOtpType): string;
44
+ export declare function InputOtp({ length, type, value, defaultValue, onChange, onComplete, invalid: invalidProp, isInvalid, isDisabled, disabled: disabledAlias, groupEvery, autoFocus, accessibilityLabel, style, testID, }: InputOtpProps): import("react/jsx-runtime").JSX.Element;
43
45
  //# sourceMappingURL=InputOtp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputOtp.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/InputOtp.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAyC7C,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAepE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GACxD;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyBpF;AAcD,wBAAgB,QAAQ,CAAC,EACvB,MAAU,EACV,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EACT,UAAU,EACV,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,SAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CA0Kf"}
1
+ {"version":3,"file":"InputOtp.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/InputOtp.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiD3D,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAepE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GACxD;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyBpF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAwB,GAAG,MAAM,CAEtF;AAoCD,wBAAgB,QAAQ,CAAC,EACvB,MAAU,EACV,IAAgB,EAChB,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EACT,UAAU,EACV,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,SAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CAqLf"}
@@ -1,3 +1,3 @@
1
- export { InputOtp } from './InputOtp';
2
- export type { InputOtpProps } from './types';
1
+ export { InputOtp, cleanInputOtpValue } from './InputOtp';
2
+ export type { InputOtpProps, InputOtpType } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map