rn-inputforge 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +224 -19
- package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js +131 -0
- package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
- package/lib/commonjs/components/FieldFlowCheckbox/index.js +13 -0
- package/lib/commonjs/components/FieldFlowCheckbox/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +536 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/index.js +13 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/types.js +6 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
- package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
- package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js +55 -24
- package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
- package/lib/commonjs/components/FieldFlowInput/styles.js +32 -11
- package/lib/commonjs/components/FieldFlowInput/styles.js.map +1 -1
- package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +66 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/index.js +13 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/types.js +6 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js +255 -0
- package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/index.js +13 -0
- package/lib/commonjs/components/FieldFlowOTP/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/types.js +6 -0
- package/lib/commonjs/components/FieldFlowOTP/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js +164 -0
- package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
- package/lib/commonjs/components/FieldFlowRadio/index.js +13 -0
- package/lib/commonjs/components/FieldFlowRadio/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js +152 -0
- package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
- package/lib/commonjs/components/FieldFlowSwitch/index.js +13 -0
- package/lib/commonjs/components/FieldFlowSwitch/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useFieldFlowForm.js +146 -31
- package/lib/commonjs/hooks/useFieldFlowForm.js.map +1 -1
- package/lib/commonjs/icons/Icon.js +719 -30
- package/lib/commonjs/icons/Icon.js.map +1 -1
- package/lib/commonjs/icons/index.js +7 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/icons/renderIcon.js +24 -0
- package/lib/commonjs/icons/renderIcon.js.map +1 -0
- package/lib/commonjs/index.js +127 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/masks.js +130 -0
- package/lib/commonjs/utils/masks.js.map +1 -0
- package/lib/commonjs/validation/index.js +25 -0
- package/lib/commonjs/validation/index.js.map +1 -1
- package/lib/commonjs/validation/zodAdapter.js +91 -0
- package/lib/commonjs/validation/zodAdapter.js.map +1 -0
- package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js +126 -0
- package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
- package/lib/module/components/FieldFlowCheckbox/index.js +4 -0
- package/lib/module/components/FieldFlowCheckbox/index.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +531 -0
- package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/index.js +4 -0
- package/lib/module/components/FieldFlowDateTimePicker/index.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/types.js +4 -0
- package/lib/module/components/FieldFlowDateTimePicker/types.js.map +1 -0
- package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
- package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
- package/lib/module/components/FieldFlowInput/FieldFlowInput.js +59 -28
- package/lib/module/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
- package/lib/module/components/FieldFlowInput/styles.js +32 -11
- package/lib/module/components/FieldFlowInput/styles.js.map +1 -1
- package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +61 -0
- package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
- package/lib/module/components/FieldFlowMaskedInput/index.js +4 -0
- package/lib/module/components/FieldFlowMaskedInput/index.js.map +1 -0
- package/lib/module/components/FieldFlowMaskedInput/types.js +4 -0
- package/lib/module/components/FieldFlowMaskedInput/types.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js +250 -0
- package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/index.js +4 -0
- package/lib/module/components/FieldFlowOTP/index.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/types.js +4 -0
- package/lib/module/components/FieldFlowOTP/types.js.map +1 -0
- package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js +159 -0
- package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
- package/lib/module/components/FieldFlowRadio/index.js +4 -0
- package/lib/module/components/FieldFlowRadio/index.js.map +1 -0
- package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js +147 -0
- package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
- package/lib/module/components/FieldFlowSwitch/index.js +4 -0
- package/lib/module/components/FieldFlowSwitch/index.js.map +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useFieldFlowForm.js +147 -32
- package/lib/module/hooks/useFieldFlowForm.js.map +1 -1
- package/lib/module/icons/Icon.js +720 -31
- package/lib/module/icons/Icon.js.map +1 -1
- package/lib/module/icons/index.js +1 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/icons/renderIcon.js +19 -0
- package/lib/module/icons/renderIcon.js.map +1 -0
- package/lib/module/index.js +11 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/masks.js +118 -0
- package/lib/module/utils/masks.js.map +1 -0
- package/lib/module/validation/index.js +1 -0
- package/lib/module/validation/index.js.map +1 -1
- package/lib/module/validation/zodAdapter.js +84 -0
- package/lib/module/validation/zodAdapter.js.map +1 -0
- package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts +36 -0
- package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowCheckbox/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowCheckbox/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts +4 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts +55 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowDropdown/types.d.ts +7 -1
- package/lib/typescript/components/FieldFlowDropdown/types.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/FieldFlowInput.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/styles.d.ts +19 -2
- package/lib/typescript/components/FieldFlowInput/styles.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/types.d.ts +24 -5
- package/lib/typescript/components/FieldFlowInput/types.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts +5 -0
- package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts +20 -0
- package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts +4 -0
- package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowOTP/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/types.d.ts +52 -0
- package/lib/typescript/components/FieldFlowOTP/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts +39 -0
- package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowRadio/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowRadio/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts +31 -0
- package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowSwitch/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowSwitch/index.d.ts.map +1 -0
- package/lib/typescript/hooks/index.d.ts +1 -1
- package/lib/typescript/hooks/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useFieldFlowForm.d.ts +46 -7
- package/lib/typescript/hooks/useFieldFlowForm.d.ts.map +1 -1
- package/lib/typescript/icons/Icon.d.ts +2 -2
- package/lib/typescript/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/icons/index.d.ts +2 -0
- package/lib/typescript/icons/index.d.ts.map +1 -1
- package/lib/typescript/icons/renderIcon.d.ts +6 -0
- package/lib/typescript/icons/renderIcon.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +20 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +4 -0
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/utils/masks.d.ts +37 -0
- package/lib/typescript/utils/masks.d.ts.map +1 -0
- package/lib/typescript/validation/index.d.ts +2 -0
- package/lib/typescript/validation/index.d.ts.map +1 -1
- package/lib/typescript/validation/zodAdapter.d.ts +53 -0
- package/lib/typescript/validation/zodAdapter.d.ts.map +1 -0
- package/package.json +17 -3
- package/src/components/FieldFlowCheckbox/FieldFlowCheckbox.tsx +174 -0
- package/src/components/FieldFlowCheckbox/index.ts +2 -0
- package/src/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.tsx +585 -0
- package/src/components/FieldFlowDateTimePicker/index.ts +2 -0
- package/src/components/FieldFlowDateTimePicker/types.ts +57 -0
- package/src/components/FieldFlowDropdown/FieldFlowDropdown.tsx +17 -7
- package/src/components/FieldFlowDropdown/types.ts +8 -1
- package/src/components/FieldFlowInput/FieldFlowInput.tsx +69 -26
- package/src/components/FieldFlowInput/styles.ts +41 -6
- package/src/components/FieldFlowInput/types.ts +24 -5
- package/src/components/FieldFlowMaskedInput/FieldFlowMaskedInput.tsx +76 -0
- package/src/components/FieldFlowMaskedInput/index.ts +2 -0
- package/src/components/FieldFlowMaskedInput/types.ts +22 -0
- package/src/components/FieldFlowOTP/FieldFlowOTP.tsx +305 -0
- package/src/components/FieldFlowOTP/index.ts +2 -0
- package/src/components/FieldFlowOTP/types.ts +57 -0
- package/src/components/FieldFlowRadio/FieldFlowRadio.tsx +215 -0
- package/src/components/FieldFlowRadio/index.ts +2 -0
- package/src/components/FieldFlowSwitch/FieldFlowSwitch.tsx +172 -0
- package/src/components/FieldFlowSwitch/index.ts +2 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useFieldFlowForm.ts +209 -33
- package/src/icons/Icon.tsx +451 -5
- package/src/icons/index.ts +2 -0
- package/src/icons/renderIcon.tsx +17 -0
- package/src/index.ts +47 -4
- package/src/types/index.ts +5 -0
- package/src/utils/masks.ts +137 -0
- package/src/validation/index.ts +7 -0
- package/src/validation/zodAdapter.ts +103 -0
package/README.md
CHANGED
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
# rn-inputforge
|
|
2
2
|
|
|
3
|
-
A production-ready, highly customizable input field system for **
|
|
3
|
+
A production-ready, highly customizable input field system for **React Native** (bare CLI **and Expo**) — text, email, number, phone, password, search, OTP/PIN, masked inputs, date/time picker, checkbox/radio/switch, description, and chat inputs, plus a fully customizable single/multi-select dropdown (bottom sheet, popup, or inline), with built-in validation (sync, async, cross-field, optional Zod), theming, icons, and keyboard-aware form navigation. Pure JS/TS, no native modules, so there's nothing to link.
|
|
4
4
|
|
|
5
5
|
Works identically whether your project uses **npm** or **yarn**.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## What's new in 0.4.0
|
|
10
|
+
|
|
11
|
+
Upgrading from **0.3.1**? Here's everything added in this release:
|
|
12
|
+
|
|
13
|
+
| Addition | What you get |
|
|
14
|
+
| -------- | ------------ |
|
|
15
|
+
| **`FieldFlowOTP`** | OTP / PIN digit cells with paste, autofill, and `onComplete` |
|
|
16
|
+
| **`FieldFlowMaskedInput`** | `phone`, `card`, `currency`, `date`, and custom `#` masks |
|
|
17
|
+
| **`FieldFlowDateTimePicker`** | Pure-JS date / time / datetime picker (no native modules) |
|
|
18
|
+
| **`FieldFlowCheckbox`** | Themed checkbox with custom icons & colors |
|
|
19
|
+
| **`FieldFlowRadio`** | Radio group (options can carry icons too) |
|
|
20
|
+
| **`FieldFlowSwitch`** | Animated switch with theme overrides |
|
|
21
|
+
| **Variants** | `outlined` · `filled` · `underline` · `floating` on text fields |
|
|
22
|
+
| **Icons** | Larger built-in set + pass any custom React node anywhere |
|
|
23
|
+
| **Async validation** | `asyncValidators` + `form.validating` / `form.isValidating` |
|
|
24
|
+
| **Cross-field rules** | e.g. password confirm via `crossFieldRules` |
|
|
25
|
+
| **Zod helpers** | Optional `zodFormValidate`, `zodToFormErrors`, etc. |
|
|
26
|
+
| **Expo** | Explicit support — same install, no linking |
|
|
27
|
+
|
|
28
|
+
**Breaking change:** `validateField` and `validateAll` now return `Promise<boolean>` (needed for async validation). Prefer `await form.validateAll()` or just use `form.submit()`.
|
|
29
|
+
|
|
30
|
+
Jump to: [OTP](#otp--pin) · [Masked inputs](#masked-inputs) · [Date & time](#date--time-picker) · [Checkbox / radio / switch](#checkbox-radio--switch) · [Variants](#variants) · [Icons](#icons) · [Validation](#validation)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
9
34
|
## Installation
|
|
10
35
|
|
|
11
36
|
Pick whichever your project already uses — the package itself doesn't care.
|
|
@@ -18,13 +43,15 @@ npm install rn-inputforge
|
|
|
18
43
|
yarn add rn-inputforge
|
|
19
44
|
```
|
|
20
45
|
|
|
21
|
-
That's it — this is a pure JavaScript/TypeScript package (no native code), so
|
|
46
|
+
That's it — this is a pure JavaScript/TypeScript package (no native code), so there is **no pod install step and no manual linking** required on bare React Native CLI. Same install works in **Expo** (Managed or Dev Client) — just `npx expo install` is not required for this package because it has no native dependencies; `npm install rn-inputforge` / `yarn add rn-inputforge` is enough.
|
|
22
47
|
|
|
23
48
|
### Requirements
|
|
24
49
|
|
|
25
50
|
- `react` >= 18 (tested against 19.2.x)
|
|
26
51
|
- `react-native` >= 0.73 (tested against 0.86.x)
|
|
52
|
+
- Works with Expo SDK that ships RN ≥ 0.73
|
|
27
53
|
- TypeScript is optional but recommended (type defs are bundled)
|
|
54
|
+
- `zod` is an **optional** peer dependency (only if you use the Zod helpers)
|
|
28
55
|
|
|
29
56
|
---
|
|
30
57
|
|
|
@@ -112,7 +139,190 @@ const form = useFieldFlowForm({
|
|
|
112
139
|
/>;
|
|
113
140
|
```
|
|
114
141
|
|
|
115
|
-
`form.submit()` validates every field and only calls `onSubmit` if everything passes.
|
|
142
|
+
`form.submit()` validates every field (including async + cross-field rules) and only calls `onSubmit` if everything passes.
|
|
143
|
+
|
|
144
|
+
### Cross-field & async validation
|
|
145
|
+
|
|
146
|
+
```tsx
|
|
147
|
+
const form = useFieldFlowForm({
|
|
148
|
+
initialValues: { password: '', confirm: '', email: '' },
|
|
149
|
+
rules: {
|
|
150
|
+
password: { required: true, minLength: 8 },
|
|
151
|
+
confirm: { required: true },
|
|
152
|
+
email: { required: true, email: true },
|
|
153
|
+
},
|
|
154
|
+
crossFieldRules: [
|
|
155
|
+
{
|
|
156
|
+
target: 'confirm',
|
|
157
|
+
deps: ['password'],
|
|
158
|
+
validate: v =>
|
|
159
|
+
v.password === v.confirm
|
|
160
|
+
? { valid: true }
|
|
161
|
+
: { valid: false, message: 'Passwords must match' },
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
asyncValidators: {
|
|
165
|
+
email: async value => {
|
|
166
|
+
const taken = await api.isEmailTaken(value);
|
|
167
|
+
return taken
|
|
168
|
+
? { valid: false, message: 'Email is already taken' }
|
|
169
|
+
: { valid: true };
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
// form.validating.email === true while the async check runs
|
|
175
|
+
// form.isValidating === true if any async validator is in flight
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
> **Note (0.4.0):** `validateField` and `validateAll` are now `async` and return `Promise<boolean>`.
|
|
179
|
+
|
|
180
|
+
### Zod (optional)
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npm install zod
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
```tsx
|
|
187
|
+
import { z } from 'zod';
|
|
188
|
+
import { useFieldFlowForm, zodFormValidate } from 'rn-inputforge';
|
|
189
|
+
|
|
190
|
+
const schema = z.object({
|
|
191
|
+
email: z.string().email(),
|
|
192
|
+
password: z.string().min(8),
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
const form = useFieldFlowForm({
|
|
196
|
+
initialValues: { email: '', password: '' },
|
|
197
|
+
formValidate: zodFormValidate(schema),
|
|
198
|
+
onSubmit: async values => api.login(values),
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Also exported: `zodToFormErrors`, `createZodSubmitGuard`, `fieldRulesFromZodString`.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Variants
|
|
207
|
+
|
|
208
|
+
Every text-like field (`FieldFlowInput`, `FieldFlowMaskedInput`, date picker trigger) supports:
|
|
209
|
+
|
|
210
|
+
| `variant` | Look |
|
|
211
|
+
| ------------ | ----------------------------------------- |
|
|
212
|
+
| `outlined` | Bordered box (default) |
|
|
213
|
+
| `filled` | Soft filled background |
|
|
214
|
+
| `underline` | Bottom border only |
|
|
215
|
+
| `floating` | Label animates into the border when filled / focused |
|
|
216
|
+
|
|
217
|
+
```tsx
|
|
218
|
+
<FieldFlowInput variant="floating" label="Email" type="email" value={email} onChangeText={setEmail} />
|
|
219
|
+
<FieldFlowInput variant="underline" label="Name" leftIcon="user" value={name} onChangeText={setName} />
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Icons
|
|
223
|
+
|
|
224
|
+
Built-in, dependency-free icons — pass a name **or** any custom React node:
|
|
225
|
+
|
|
226
|
+
```tsx
|
|
227
|
+
<FieldFlowInput leftIcon="mail" rightIcon={<MyLucideIcon />} />
|
|
228
|
+
<FieldFlowInput type="email" /> // auto leftIcon="mail"
|
|
229
|
+
<FieldFlowInput type="password" /> // auto leftIcon="lock" + show/hide
|
|
230
|
+
<FieldFlowMaskedInput mask="card" /> // auto leftIcon="creditCard"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Built-in names include: `eye`, `eyeOff`, `clear`, `check`, `alert`, `search`, `send`, `camera`, `image`, `paperclip`, `mic`, `mapPin`, `chevronDown/Up/Left/Right`, `calendar`, `clock`, `creditCard`, `currency`, `phone`, `mail`, `lock`, `user`, `key`, `hash`, `otp`, `radio`, `radioFilled`, `switch`, `star`, `plus`, `minus`, `info`, `home`, `settings`, `edit`, `trash`, `link`, `globe`, `file`, `folder`, `bell`, `heart`, `spinner`.
|
|
234
|
+
|
|
235
|
+
Use `FieldFlowIcon` / `renderFieldFlowIcon` anywhere in your app. Set `iconSize` on components to scale them. Pass `leftIcon={null}` / `undefined` carefully — omit the prop to keep defaults, or pass a custom node to replace.
|
|
236
|
+
|
|
237
|
+
## OTP / PIN
|
|
238
|
+
|
|
239
|
+
```tsx
|
|
240
|
+
import { FieldFlowOTP } from 'rn-inputforge';
|
|
241
|
+
|
|
242
|
+
<FieldFlowOTP
|
|
243
|
+
label="Verification code"
|
|
244
|
+
leftIcon="otp"
|
|
245
|
+
length={6}
|
|
246
|
+
value={code}
|
|
247
|
+
onChangeText={setCode}
|
|
248
|
+
onComplete={value => verify(value)}
|
|
249
|
+
cellSize={48}
|
|
250
|
+
/>
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Supports paste/autofill (`textContentType="oneTimeCode"`), backspace navigation, secure mode, custom `renderCell`, cell styles, and icons.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Masked inputs
|
|
258
|
+
|
|
259
|
+
```tsx
|
|
260
|
+
import { FieldFlowMaskedInput } from 'rn-inputforge';
|
|
261
|
+
|
|
262
|
+
<FieldFlowMaskedInput mask="phone" label="Phone" value={phone} onChangeText={setPhone} />
|
|
263
|
+
<FieldFlowMaskedInput mask="card" label="Card" valueMode="raw" value={card} onChangeText={(_, raw) => setCard(raw)} />
|
|
264
|
+
<FieldFlowMaskedInput mask="currency" maskOptions={{ currencySymbol: '$' }} value={amount} onChangeText={setAmount} />
|
|
265
|
+
<FieldFlowMaskedInput mask="date" label="Date" value={date} onChangeText={setDate} />
|
|
266
|
+
<FieldFlowMaskedInput mask="custom" maskOptions={{ pattern: '###-##-####' }} value={ssn} onChangeText={setSsn} />
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Built-in masks: `phone`, `card`, `currency`, `date`, `custom` (pattern with `#` = digit). `onChangeText(formatted, raw)` always receives both; `valueMode` controls which string you store (`'formatted'` default, or `'raw'`).
|
|
270
|
+
|
|
271
|
+
Low-level helpers are also exported: `applyMask`, `formatMasked`, `unmask`, `digitsOnly`.
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Date & time picker
|
|
276
|
+
|
|
277
|
+
Pure JS calendar / time sheet (no native modules):
|
|
278
|
+
|
|
279
|
+
```tsx
|
|
280
|
+
import { FieldFlowDateTimePicker } from 'rn-inputforge';
|
|
281
|
+
|
|
282
|
+
<FieldFlowDateTimePicker mode="date" label="Birthday" value={dob} onChange={setDob} clearable />
|
|
283
|
+
<FieldFlowDateTimePicker mode="time" label="Start time" value={time} onChange={setTime} hourCycle={12} />
|
|
284
|
+
<FieldFlowDateTimePicker
|
|
285
|
+
mode="datetime"
|
|
286
|
+
label="Appointment"
|
|
287
|
+
value={appt}
|
|
288
|
+
onChange={setAppt}
|
|
289
|
+
leftIcon="calendar"
|
|
290
|
+
minimumDate="2020-01-01"
|
|
291
|
+
formatDisplay={(d) => d.toLocaleString()}
|
|
292
|
+
/>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Fully customizable: icons, labels, confirm/cancel text, `renderTrigger`, `formatDisplay`, min/max dates, theme, styles.
|
|
296
|
+
|
|
297
|
+
## Checkbox, radio & switch
|
|
298
|
+
|
|
299
|
+
```tsx
|
|
300
|
+
import { FieldFlowCheckbox, FieldFlowRadio, FieldFlowSwitch } from 'rn-inputforge';
|
|
301
|
+
|
|
302
|
+
<FieldFlowCheckbox
|
|
303
|
+
label="I agree to the Terms"
|
|
304
|
+
leftIcon="file"
|
|
305
|
+
checkedIcon="check"
|
|
306
|
+
value={accepted}
|
|
307
|
+
onChange={setAccepted}
|
|
308
|
+
required
|
|
309
|
+
/>
|
|
310
|
+
|
|
311
|
+
<FieldFlowRadio
|
|
312
|
+
label="Plan"
|
|
313
|
+
leftIcon="star"
|
|
314
|
+
value={plan}
|
|
315
|
+
onChange={setPlan}
|
|
316
|
+
options={[
|
|
317
|
+
{ label: 'Starter', value: 'starter', icon: 'home' },
|
|
318
|
+
{ label: 'Pro', value: 'pro', description: 'Most popular', icon: 'star' },
|
|
319
|
+
]}
|
|
320
|
+
/>
|
|
321
|
+
|
|
322
|
+
<FieldFlowSwitch label="Push notifications" leftIcon="bell" value={pushOn} onChange={setPushOn} />
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
Override colors (`checkedColor`, `onTrackColor`, …), icons, sizes, and `renderOption` when you need full control.
|
|
116
326
|
|
|
117
327
|
---
|
|
118
328
|
|
|
@@ -225,18 +435,6 @@ Handles expandable height, keyboard-avoiding behavior, and a send button that's
|
|
|
225
435
|
|
|
226
436
|
---
|
|
227
437
|
|
|
228
|
-
## Icons
|
|
229
|
-
|
|
230
|
-
FieldFlow ships a small, dependency-free icon set (`eye`, `eyeOff`, `clear`, `check`, `alert`, `search`, `send`, `camera`, `image`, `paperclip`, `mic`, `mapPin`, `spinner`) so you don't need to install `react-native-svg` or a vector-icon library just to use text fields with icons:
|
|
231
|
-
|
|
232
|
-
```tsx
|
|
233
|
-
<FieldFlowInput leftIcon="search" rightIcon={<MyCustomIcon />} />
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Any prop that accepts an icon also accepts a raw `ReactNode`, so you can swap in your own icon library (e.g. `react-native-vector-icons`, `lucide-react-native`) at any time without changing anything else.
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
438
|
## Theming
|
|
241
439
|
|
|
242
440
|
Wrap your app (or just a screen) in `FieldFlowThemeProvider` and override only what you need — everything else falls back to the default theme:
|
|
@@ -265,17 +463,24 @@ rn-inputforge/
|
|
|
265
463
|
├── src/
|
|
266
464
|
│ ├── components/
|
|
267
465
|
│ │ ├── FieldFlowInput/ core input (all field types, icons, states)
|
|
466
|
+
│ │ ├── FieldFlowInput/ core input + variants (outlined/filled/underline/floating)
|
|
467
|
+
│ │ ├── FieldFlowOTP/ OTP / PIN digit cells
|
|
468
|
+
│ │ ├── FieldFlowMaskedInput/ phone, card, currency, date, custom masks
|
|
469
|
+
│ │ ├── FieldFlowDateTimePicker/ date / time / datetime (pure JS)
|
|
470
|
+
│ │ ├── FieldFlowCheckbox/ themed checkbox
|
|
471
|
+
│ │ ├── FieldFlowRadio/ radio group
|
|
472
|
+
│ │ ├── FieldFlowSwitch/ animated switch
|
|
268
473
|
│ │ ├── DescriptionField/ auto-growing multiline field
|
|
269
474
|
│ │ ├── ChatInput/ chat composer + attachment toolbar
|
|
270
475
|
│ │ ├── FieldFlowDropdown/ single/multi select — bottom sheet, popup, or inline
|
|
271
476
|
│ │ └── KeyboardAwareFormWrapper/
|
|
272
477
|
│ ├── hooks/ useFieldFlowForm, useKeyboardManager, useFieldState
|
|
273
478
|
│ ├── theme/ ThemeProvider + default/dark themes
|
|
274
|
-
│ ├── validation/ validators
|
|
275
|
-
│ ├── icons/ dependency-free icon set
|
|
276
|
-
│ ├── utils/ keyboard-type resolution, formatters
|
|
479
|
+
│ ├── validation/ validators, useValidation, Zod adapter
|
|
480
|
+
│ ├── icons/ expanded dependency-free icon set + render helper
|
|
481
|
+
│ ├── utils/ keyboard-type resolution, formatters, masks
|
|
277
482
|
│ └── index.ts public API
|
|
278
|
-
├── example/App.tsx full usage reference
|
|
483
|
+
├── example/App.tsx full usage reference
|
|
279
484
|
├── package.json
|
|
280
485
|
└── tsconfig*.json
|
|
281
486
|
```
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FieldFlowCheckbox = FieldFlowCheckbox;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _ThemeProvider = require("../../theme/ThemeProvider");
|
|
10
|
+
var _defaultTheme = require("../../theme/defaultTheme");
|
|
11
|
+
var _icons = require("../../icons");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
function FieldFlowCheckbox({
|
|
15
|
+
value,
|
|
16
|
+
onChange,
|
|
17
|
+
label,
|
|
18
|
+
helperText,
|
|
19
|
+
errorText,
|
|
20
|
+
disabled,
|
|
21
|
+
required,
|
|
22
|
+
labelPosition = 'right',
|
|
23
|
+
checkedIcon = 'check',
|
|
24
|
+
uncheckedIcon,
|
|
25
|
+
leftIcon,
|
|
26
|
+
iconSize = 14,
|
|
27
|
+
checkedColor,
|
|
28
|
+
uncheckedColor,
|
|
29
|
+
boxSize = 22,
|
|
30
|
+
boxStyle,
|
|
31
|
+
containerStyle,
|
|
32
|
+
labelStyle,
|
|
33
|
+
helperStyle,
|
|
34
|
+
errorStyle,
|
|
35
|
+
theme: themeOverride,
|
|
36
|
+
testID
|
|
37
|
+
}) {
|
|
38
|
+
const contextTheme = (0, _ThemeProvider.useFieldFlowTheme)();
|
|
39
|
+
const theme = (0, _react.useMemo)(() => themeOverride ? (0, _ThemeProvider.mergeDeep)(contextTheme ?? _defaultTheme.defaultTheme, themeOverride) : contextTheme ?? _defaultTheme.defaultTheme, [contextTheme, themeOverride]);
|
|
40
|
+
const styles = (0, _react.useMemo)(() => createStyles(theme, Boolean(errorText), Boolean(disabled), boxSize), [theme, errorText, disabled, boxSize]);
|
|
41
|
+
const checked = Boolean(value);
|
|
42
|
+
const activeColor = checkedColor ?? theme.colors.borderFocused;
|
|
43
|
+
const idleColor = uncheckedColor ?? (errorText ? theme.colors.borderError : theme.colors.border);
|
|
44
|
+
const box = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
45
|
+
style: [styles.box, checked && {
|
|
46
|
+
backgroundColor: activeColor,
|
|
47
|
+
borderColor: activeColor
|
|
48
|
+
}, !checked && {
|
|
49
|
+
borderColor: idleColor
|
|
50
|
+
}, disabled ? styles.boxDisabled : null, boxStyle],
|
|
51
|
+
children: checked ? (0, _icons.renderFieldFlowIcon)(checkedIcon, '#FFFFFF', iconSize) : uncheckedIcon ? (0, _icons.renderFieldFlowIcon)(uncheckedIcon, idleColor, iconSize) : null
|
|
52
|
+
});
|
|
53
|
+
const labelNode = label ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
54
|
+
style: [styles.label, labelStyle],
|
|
55
|
+
children: [label, required ? ' *' : '']
|
|
56
|
+
}) : null;
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
58
|
+
style: [styles.wrapper, containerStyle],
|
|
59
|
+
testID: testID,
|
|
60
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
61
|
+
onPress: () => !disabled && onChange(!checked),
|
|
62
|
+
disabled: disabled,
|
|
63
|
+
style: styles.row,
|
|
64
|
+
accessibilityRole: "checkbox",
|
|
65
|
+
accessibilityState: {
|
|
66
|
+
checked,
|
|
67
|
+
disabled: Boolean(disabled)
|
|
68
|
+
},
|
|
69
|
+
accessibilityLabel: label,
|
|
70
|
+
hitSlop: 6,
|
|
71
|
+
children: [leftIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
72
|
+
style: styles.leftIcon,
|
|
73
|
+
children: (0, _icons.renderFieldFlowIcon)(leftIcon, theme.colors.icon, 18)
|
|
74
|
+
}) : null, labelPosition === 'left' ? labelNode : null, box, labelPosition === 'right' ? labelNode : null]
|
|
75
|
+
}), errorText ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
76
|
+
style: [styles.errorText, errorStyle, helperStyle],
|
|
77
|
+
children: errorText
|
|
78
|
+
}) : helperText ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
79
|
+
style: [styles.helperText, helperStyle],
|
|
80
|
+
children: helperText
|
|
81
|
+
}) : null]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function createStyles(theme, _hasError, disabled, boxSize) {
|
|
85
|
+
return _reactNative.StyleSheet.create({
|
|
86
|
+
wrapper: {
|
|
87
|
+
marginBottom: theme.spacing.gap * 2,
|
|
88
|
+
opacity: disabled ? 0.6 : 1
|
|
89
|
+
},
|
|
90
|
+
row: {
|
|
91
|
+
flexDirection: 'row',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
gap: theme.spacing.gap
|
|
94
|
+
},
|
|
95
|
+
leftIcon: {
|
|
96
|
+
marginRight: 2
|
|
97
|
+
},
|
|
98
|
+
box: {
|
|
99
|
+
width: boxSize,
|
|
100
|
+
height: boxSize,
|
|
101
|
+
borderRadius: 6,
|
|
102
|
+
borderWidth: theme.spacing.borderWidthFocused,
|
|
103
|
+
backgroundColor: theme.colors.background,
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
justifyContent: 'center'
|
|
106
|
+
},
|
|
107
|
+
boxDisabled: {
|
|
108
|
+
backgroundColor: theme.colors.backgroundDisabled
|
|
109
|
+
},
|
|
110
|
+
label: {
|
|
111
|
+
flex: 1,
|
|
112
|
+
fontSize: theme.typography.fontSize,
|
|
113
|
+
color: theme.colors.text,
|
|
114
|
+
fontWeight: '400',
|
|
115
|
+
fontFamily: theme.typography.fontFamily
|
|
116
|
+
},
|
|
117
|
+
helperText: {
|
|
118
|
+
marginTop: theme.spacing.gap / 1.5,
|
|
119
|
+
marginLeft: boxSize + theme.spacing.gap,
|
|
120
|
+
fontSize: theme.typography.helperFontSize,
|
|
121
|
+
color: theme.colors.label
|
|
122
|
+
},
|
|
123
|
+
errorText: {
|
|
124
|
+
marginTop: theme.spacing.gap / 1.5,
|
|
125
|
+
marginLeft: boxSize + theme.spacing.gap,
|
|
126
|
+
fontSize: theme.typography.helperFontSize,
|
|
127
|
+
color: theme.colors.error
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=FieldFlowCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ThemeProvider","_defaultTheme","_icons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldFlowCheckbox","value","onChange","label","helperText","errorText","disabled","required","labelPosition","checkedIcon","uncheckedIcon","leftIcon","iconSize","checkedColor","uncheckedColor","boxSize","boxStyle","containerStyle","labelStyle","helperStyle","errorStyle","theme","themeOverride","testID","contextTheme","useFieldFlowTheme","useMemo","mergeDeep","defaultTheme","styles","createStyles","Boolean","checked","activeColor","colors","borderFocused","idleColor","borderError","border","box","jsx","View","style","backgroundColor","borderColor","boxDisabled","children","renderFieldFlowIcon","labelNode","jsxs","Text","wrapper","Pressable","onPress","row","accessibilityRole","accessibilityState","accessibilityLabel","hitSlop","icon","_hasError","StyleSheet","create","marginBottom","spacing","gap","opacity","flexDirection","alignItems","marginRight","width","height","borderRadius","borderWidth","borderWidthFocused","background","justifyContent","backgroundDisabled","flex","fontSize","typography","color","text","fontWeight","fontFamily","marginTop","marginLeft","helperFontSize","error"],"sourceRoot":"../../../../src","sources":["components/FieldFlowCheckbox/FieldFlowCheckbox.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "FieldFlowCheckbox", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _FieldFlowCheckbox.FieldFlowCheckbox;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _FieldFlowCheckbox = require("./FieldFlowCheckbox");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_FieldFlowCheckbox","require"],"sourceRoot":"../../../../src","sources":["components/FieldFlowCheckbox/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA","ignoreList":[]}
|