@tachui/forms 0.7.0-alpha1
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/LICENSE +363 -0
- package/dist/Form-ueYEcSg1.cjs +2 -0
- package/dist/Form-ueYEcSg1.cjs.map +1 -0
- package/dist/Form-ylAr3o_e.js +376 -0
- package/dist/Form-ylAr3o_e.js.map +1 -0
- package/dist/components/Form.d.ts +76 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +31 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/input/Checkbox.d.ts +42 -0
- package/dist/components/input/Checkbox.d.ts.map +1 -0
- package/dist/components/input/Radio.d.ts +36 -0
- package/dist/components/input/Radio.d.ts.map +1 -0
- package/dist/components/input/Select.d.ts +21 -0
- package/dist/components/input/Select.d.ts.map +1 -0
- package/dist/components/input/TextField.d.ts +58 -0
- package/dist/components/input/TextField.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +11 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/forms-complex-BiQsZZlT.js +361 -0
- package/dist/forms-complex-BiQsZZlT.js.map +1 -0
- package/dist/forms-complex-DLEnXXJ5.cjs +2 -0
- package/dist/forms-complex-DLEnXXJ5.cjs.map +1 -0
- package/dist/forms-core-B1bx1drO.js +839 -0
- package/dist/forms-core-B1bx1drO.js.map +1 -0
- package/dist/forms-core-W_JGVLAI.cjs +9 -0
- package/dist/forms-core-W_JGVLAI.cjs.map +1 -0
- package/dist/forms-inputs-6QdeMWFk.js +1075 -0
- package/dist/forms-inputs-6QdeMWFk.js.map +1 -0
- package/dist/forms-inputs-DQ5QI_SU.cjs +2 -0
- package/dist/forms-inputs-DQ5QI_SU.cjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +383 -0
- package/dist/index.js.map +1 -0
- package/dist/state/index.cjs +2 -0
- package/dist/state/index.cjs.map +1 -0
- package/dist/state/index.d.ts +46 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +9 -0
- package/dist/state/index.js.map +1 -0
- package/dist/types/index.d.ts +452 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/formatters.d.ts +98 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/validators.d.ts +101 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/validation/component-validation.d.ts +52 -0
- package/dist/validation/component-validation.d.ts.map +1 -0
- package/dist/validation/index.cjs +2 -0
- package/dist/validation/index.cjs.map +1 -0
- package/dist/validation/index.d.ts +141 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +21 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TachUI Forms Plugin - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Complete type system for form components, validation, and state management.
|
|
5
|
+
* Provides SwiftUI-inspired form APIs with modern web development patterns.
|
|
6
|
+
*/
|
|
7
|
+
import type { ComponentChildren, ComponentInstance, ComponentProps } from '@tachui/core';
|
|
8
|
+
/**
|
|
9
|
+
* Form validation rule types
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Built-in validation rule with options
|
|
13
|
+
*/
|
|
14
|
+
export interface BuiltInValidationRule {
|
|
15
|
+
name: 'min' | 'max' | 'minLength' | 'maxLength' | 'pattern';
|
|
16
|
+
options: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
export type ValidationRule = 'required' | 'email' | 'url' | 'number' | 'integer' | 'min' | 'max' | 'minLength' | 'maxLength' | 'pattern' | 'numeric' | 'phone' | 'creditCard' | 'ssn' | 'postalCode' | 'zipCode' | 'date' | 'time' | 'strongPassword' | BuiltInValidationRule | CustomValidationRule;
|
|
19
|
+
/**
|
|
20
|
+
* Custom validation rule interface
|
|
21
|
+
*/
|
|
22
|
+
export interface CustomValidationRule {
|
|
23
|
+
name: string;
|
|
24
|
+
validate: (value: any, options?: any) => ValidationResult;
|
|
25
|
+
message?: string;
|
|
26
|
+
options?: Record<string, any>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validation result interface
|
|
30
|
+
*/
|
|
31
|
+
export interface ValidationResult {
|
|
32
|
+
valid: boolean;
|
|
33
|
+
message?: string;
|
|
34
|
+
code?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Field validation configuration
|
|
38
|
+
*/
|
|
39
|
+
export interface FieldValidation {
|
|
40
|
+
rules: ValidationRule[];
|
|
41
|
+
validateOn?: 'change' | 'blur' | 'submit';
|
|
42
|
+
debounceMs?: number;
|
|
43
|
+
required?: boolean;
|
|
44
|
+
custom?: CustomValidationRule[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Form field state
|
|
48
|
+
*/
|
|
49
|
+
export interface FieldState<T = any> {
|
|
50
|
+
value: T;
|
|
51
|
+
error?: string;
|
|
52
|
+
touched: boolean;
|
|
53
|
+
dirty: boolean;
|
|
54
|
+
valid: boolean;
|
|
55
|
+
validating: boolean;
|
|
56
|
+
focused: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Form state interface
|
|
60
|
+
*/
|
|
61
|
+
export interface FormState {
|
|
62
|
+
fields: Record<string, FieldState>;
|
|
63
|
+
valid: boolean;
|
|
64
|
+
dirty: boolean;
|
|
65
|
+
submitting: boolean;
|
|
66
|
+
submitted: boolean;
|
|
67
|
+
errors: Record<string, string>;
|
|
68
|
+
touched: Record<string, boolean>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Form submission handler
|
|
72
|
+
*/
|
|
73
|
+
export type FormSubmitHandler<T = Record<string, any>> = (values: T, form: FormState) => void | Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Form change handler
|
|
76
|
+
*/
|
|
77
|
+
export type FormChangeHandler<T = any> = (name: string, value: T, field: FieldState<T>) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Base form field props
|
|
80
|
+
*/
|
|
81
|
+
export interface BaseFieldProps extends ComponentProps {
|
|
82
|
+
name: string;
|
|
83
|
+
label?: string;
|
|
84
|
+
placeholder?: string;
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
required?: boolean;
|
|
87
|
+
validation?: FieldValidation;
|
|
88
|
+
value?: any;
|
|
89
|
+
defaultValue?: any;
|
|
90
|
+
onChange?: FormChangeHandler;
|
|
91
|
+
onBlur?: (name: string, value: any) => void;
|
|
92
|
+
onFocus?: (name: string, value: any) => void;
|
|
93
|
+
error?: string;
|
|
94
|
+
helperText?: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Input field types - comprehensive SwiftUI-inspired support
|
|
98
|
+
*/
|
|
99
|
+
export type TextFieldType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'month' | 'week' | 'color';
|
|
100
|
+
/**
|
|
101
|
+
* Auto-capitalization options
|
|
102
|
+
*/
|
|
103
|
+
export type AutoCapitalization = 'none' | 'sentences' | 'words' | 'characters';
|
|
104
|
+
/**
|
|
105
|
+
* Keyboard type for mobile devices
|
|
106
|
+
*/
|
|
107
|
+
export type KeyboardType = 'default' | 'numeric' | 'email' | 'phone' | 'url' | 'search';
|
|
108
|
+
/**
|
|
109
|
+
* Return key type for mobile keyboards
|
|
110
|
+
*/
|
|
111
|
+
export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
112
|
+
/**
|
|
113
|
+
* Text field formatter function
|
|
114
|
+
*/
|
|
115
|
+
export type TextFieldFormatter = (value: string) => string;
|
|
116
|
+
/**
|
|
117
|
+
* Text field parser function
|
|
118
|
+
*/
|
|
119
|
+
export type TextFieldParser = (value: string) => string;
|
|
120
|
+
/**
|
|
121
|
+
* Text input specific props - Enhanced with core TextField features
|
|
122
|
+
*/
|
|
123
|
+
export interface TextFieldProps extends BaseFieldProps {
|
|
124
|
+
type?: TextFieldType;
|
|
125
|
+
multiline?: boolean;
|
|
126
|
+
rows?: number;
|
|
127
|
+
minLength?: number;
|
|
128
|
+
maxLength?: number;
|
|
129
|
+
pattern?: string;
|
|
130
|
+
autocomplete?: string;
|
|
131
|
+
spellcheck?: boolean;
|
|
132
|
+
keyboardType?: KeyboardType;
|
|
133
|
+
returnKeyType?: ReturnKeyType;
|
|
134
|
+
autoCapitalize?: AutoCapitalization;
|
|
135
|
+
autoFocus?: boolean;
|
|
136
|
+
accessibilityLabel?: string;
|
|
137
|
+
accessibilityHint?: string;
|
|
138
|
+
accessibilityRole?: 'textbox' | 'searchbox';
|
|
139
|
+
formatter?: TextFieldFormatter;
|
|
140
|
+
parser?: TextFieldParser;
|
|
141
|
+
validateOnChange?: boolean;
|
|
142
|
+
validateOnBlur?: boolean;
|
|
143
|
+
font?: {
|
|
144
|
+
family?: string;
|
|
145
|
+
size?: number | string;
|
|
146
|
+
weight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
|
|
147
|
+
style?: 'normal' | 'italic';
|
|
148
|
+
};
|
|
149
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
150
|
+
text?: string | (() => string);
|
|
151
|
+
placeholderSignal?: string | (() => string);
|
|
152
|
+
disabledSignal?: boolean | (() => boolean);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Number input specific props
|
|
156
|
+
*/
|
|
157
|
+
export interface NumberFieldProps extends BaseFieldProps {
|
|
158
|
+
min?: number;
|
|
159
|
+
max?: number;
|
|
160
|
+
step?: number;
|
|
161
|
+
precision?: number;
|
|
162
|
+
format?: 'decimal' | 'currency' | 'percentage';
|
|
163
|
+
currency?: string;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Checkbox/Toggle props
|
|
167
|
+
*/
|
|
168
|
+
export interface CheckboxProps extends BaseFieldProps {
|
|
169
|
+
checked?: boolean;
|
|
170
|
+
defaultChecked?: boolean;
|
|
171
|
+
indeterminate?: boolean;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Radio button props
|
|
175
|
+
*/
|
|
176
|
+
export interface RadioProps extends BaseFieldProps {
|
|
177
|
+
value: any;
|
|
178
|
+
checked?: boolean;
|
|
179
|
+
groupName?: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Select/Picker option interface
|
|
183
|
+
*/
|
|
184
|
+
export interface SelectOption<T = any> {
|
|
185
|
+
label: string;
|
|
186
|
+
value: T;
|
|
187
|
+
disabled?: boolean;
|
|
188
|
+
group?: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Select/Picker props
|
|
192
|
+
*/
|
|
193
|
+
export interface SelectProps extends BaseFieldProps {
|
|
194
|
+
options: SelectOption[];
|
|
195
|
+
multiple?: boolean;
|
|
196
|
+
searchable?: boolean;
|
|
197
|
+
clearable?: boolean;
|
|
198
|
+
placeholder?: string;
|
|
199
|
+
noOptionsMessage?: string;
|
|
200
|
+
loadingMessage?: string;
|
|
201
|
+
maxMenuHeight?: number;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Date picker props
|
|
205
|
+
*/
|
|
206
|
+
export interface DatePickerProps extends BaseFieldProps {
|
|
207
|
+
format?: string;
|
|
208
|
+
locale?: string;
|
|
209
|
+
minDate?: Date;
|
|
210
|
+
maxDate?: Date;
|
|
211
|
+
disabledDates?: Date[] | ((date: Date) => boolean);
|
|
212
|
+
showTime?: boolean;
|
|
213
|
+
timeFormat?: string;
|
|
214
|
+
startOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
215
|
+
monthsToShow?: number;
|
|
216
|
+
inline?: boolean;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Slider props
|
|
220
|
+
*/
|
|
221
|
+
export interface SliderProps extends BaseFieldProps {
|
|
222
|
+
min?: number;
|
|
223
|
+
max?: number;
|
|
224
|
+
step?: number;
|
|
225
|
+
range?: boolean;
|
|
226
|
+
marks?: Record<number, string>;
|
|
227
|
+
vertical?: boolean;
|
|
228
|
+
tooltip?: boolean | 'always' | 'hover';
|
|
229
|
+
formatTooltip?: (value: number) => string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Stepper props
|
|
233
|
+
*/
|
|
234
|
+
export interface StepperProps extends BaseFieldProps {
|
|
235
|
+
min?: number;
|
|
236
|
+
max?: number;
|
|
237
|
+
step?: number;
|
|
238
|
+
precision?: number;
|
|
239
|
+
size?: 'small' | 'medium' | 'large';
|
|
240
|
+
showControls?: boolean;
|
|
241
|
+
allowEmpty?: boolean;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Form container props
|
|
245
|
+
*/
|
|
246
|
+
export interface FormProps extends ComponentProps {
|
|
247
|
+
onSubmit?: FormSubmitHandler;
|
|
248
|
+
onChange?: FormChangeHandler;
|
|
249
|
+
validation?: {
|
|
250
|
+
validateOn?: 'change' | 'blur' | 'submit';
|
|
251
|
+
stopOnFirstError?: boolean;
|
|
252
|
+
debounceMs?: number;
|
|
253
|
+
};
|
|
254
|
+
initialValues?: Record<string, any>;
|
|
255
|
+
resetOnSubmit?: boolean;
|
|
256
|
+
preserveValues?: boolean;
|
|
257
|
+
children: ComponentChildren;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Enhanced FormSection props (combines Core Section features with form semantics)
|
|
261
|
+
*/
|
|
262
|
+
export interface FormSectionProps extends ComponentProps {
|
|
263
|
+
title?: string;
|
|
264
|
+
description?: string;
|
|
265
|
+
header?: string | (() => string) | ComponentInstance;
|
|
266
|
+
footer?: string | (() => string) | ComponentInstance;
|
|
267
|
+
children: ComponentChildren;
|
|
268
|
+
style?: 'automatic' | 'grouped' | 'inset' | 'plain' | 'sidebar';
|
|
269
|
+
spacing?: number;
|
|
270
|
+
collapsible?: boolean;
|
|
271
|
+
collapsed?: boolean;
|
|
272
|
+
onToggle?: (collapsed: boolean) => void;
|
|
273
|
+
accessibilityLabel?: string;
|
|
274
|
+
accessibilityRole?: string;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Multi-step form props
|
|
278
|
+
*/
|
|
279
|
+
export interface MultiStepFormProps extends ComponentProps {
|
|
280
|
+
steps: FormStep[];
|
|
281
|
+
currentStep?: number;
|
|
282
|
+
onStepChange?: (step: number) => void;
|
|
283
|
+
onComplete?: FormSubmitHandler;
|
|
284
|
+
showProgress?: boolean;
|
|
285
|
+
allowSkipSteps?: boolean;
|
|
286
|
+
validateStepOnNext?: boolean;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Form step interface
|
|
290
|
+
*/
|
|
291
|
+
export interface FormStep {
|
|
292
|
+
id: string;
|
|
293
|
+
title: string;
|
|
294
|
+
description?: string;
|
|
295
|
+
component: ComponentInstance;
|
|
296
|
+
validation?: FieldValidation;
|
|
297
|
+
optional?: boolean;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Form builder field configuration
|
|
301
|
+
*/
|
|
302
|
+
export interface FormFieldConfig {
|
|
303
|
+
type: 'text' | 'number' | 'email' | 'select' | 'checkbox' | 'radio' | 'date' | 'slider';
|
|
304
|
+
name: string;
|
|
305
|
+
label: string;
|
|
306
|
+
placeholder?: string;
|
|
307
|
+
required?: boolean;
|
|
308
|
+
validation?: FieldValidation;
|
|
309
|
+
options?: SelectOption[];
|
|
310
|
+
min?: number;
|
|
311
|
+
max?: number;
|
|
312
|
+
step?: number;
|
|
313
|
+
format?: string;
|
|
314
|
+
defaultValue?: any;
|
|
315
|
+
conditional?: {
|
|
316
|
+
field: string;
|
|
317
|
+
operator: 'equals' | 'not-equals' | 'contains' | 'greater' | 'less';
|
|
318
|
+
value: any;
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Form builder schema
|
|
323
|
+
*/
|
|
324
|
+
export interface FormSchema {
|
|
325
|
+
id: string;
|
|
326
|
+
title?: string;
|
|
327
|
+
description?: string;
|
|
328
|
+
fields: FormFieldConfig[];
|
|
329
|
+
sections?: FormSectionConfig[];
|
|
330
|
+
validation?: {
|
|
331
|
+
rules?: Record<string, ValidationRule[]>;
|
|
332
|
+
crossFieldValidation?: CrossFieldValidation[];
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Form section configuration for builder
|
|
337
|
+
*/
|
|
338
|
+
export interface FormSectionConfig {
|
|
339
|
+
id: string;
|
|
340
|
+
title: string;
|
|
341
|
+
description?: string;
|
|
342
|
+
fields: string[];
|
|
343
|
+
collapsible?: boolean;
|
|
344
|
+
conditional?: {
|
|
345
|
+
field: string;
|
|
346
|
+
operator: 'equals' | 'not-equals' | 'contains';
|
|
347
|
+
value: any;
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Cross-field validation interface
|
|
352
|
+
*/
|
|
353
|
+
export interface CrossFieldValidation {
|
|
354
|
+
fields: string[];
|
|
355
|
+
validate: (values: Record<string, any>) => ValidationResult;
|
|
356
|
+
message: string;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Form validation configuration
|
|
360
|
+
*/
|
|
361
|
+
export interface FormValidationConfig {
|
|
362
|
+
rules: Record<string, ValidationRule[]>;
|
|
363
|
+
messages: Record<string, string>;
|
|
364
|
+
validateOn: 'change' | 'blur' | 'submit';
|
|
365
|
+
debounceMs: number;
|
|
366
|
+
stopOnFirstError: boolean;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Form theme configuration
|
|
370
|
+
*/
|
|
371
|
+
export interface FormTheme {
|
|
372
|
+
spacing: {
|
|
373
|
+
fieldGap: string;
|
|
374
|
+
sectionGap: string;
|
|
375
|
+
labelGap: string;
|
|
376
|
+
};
|
|
377
|
+
colors: {
|
|
378
|
+
border: string;
|
|
379
|
+
borderFocus: string;
|
|
380
|
+
borderError: string;
|
|
381
|
+
background: string;
|
|
382
|
+
backgroundFocus: string;
|
|
383
|
+
backgroundError: string;
|
|
384
|
+
text: string;
|
|
385
|
+
textError: string;
|
|
386
|
+
textHelper: string;
|
|
387
|
+
label: string;
|
|
388
|
+
};
|
|
389
|
+
typography: {
|
|
390
|
+
labelSize: string;
|
|
391
|
+
inputSize: string;
|
|
392
|
+
helperSize: string;
|
|
393
|
+
errorSize: string;
|
|
394
|
+
};
|
|
395
|
+
borderRadius: string;
|
|
396
|
+
shadows: {
|
|
397
|
+
focus: string;
|
|
398
|
+
error: string;
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Form analytics/tracking interface
|
|
403
|
+
*/
|
|
404
|
+
export interface FormAnalytics {
|
|
405
|
+
onFieldFocus?: (field: string) => void;
|
|
406
|
+
onFieldBlur?: (field: string, value: any, timeSpent: number) => void;
|
|
407
|
+
onFieldError?: (field: string, error: string) => void;
|
|
408
|
+
onFormStart?: () => void;
|
|
409
|
+
onFormSubmit?: (values: Record<string, any>, timeSpent: number) => void;
|
|
410
|
+
onFormAbandon?: (completedFields: string[], timeSpent: number) => void;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Form accessibility configuration
|
|
414
|
+
*/
|
|
415
|
+
export interface FormAccessibility {
|
|
416
|
+
announceErrors?: boolean;
|
|
417
|
+
announceValidation?: boolean;
|
|
418
|
+
errorSummary?: boolean;
|
|
419
|
+
skipLinks?: boolean;
|
|
420
|
+
labelStrategy?: 'label' | 'aria-label' | 'aria-labelledby';
|
|
421
|
+
fieldsetStrategy?: 'auto' | 'manual';
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Field registration result
|
|
425
|
+
*/
|
|
426
|
+
export interface FieldRegistration {
|
|
427
|
+
register: (name: string, validation?: FieldValidation) => void;
|
|
428
|
+
unregister: (name: string) => void;
|
|
429
|
+
setValue: (name: string, value: any) => void;
|
|
430
|
+
getValue: (name: string) => any;
|
|
431
|
+
getError: (name: string) => string | undefined;
|
|
432
|
+
validateField: (name: string) => Promise<boolean>;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Form hook return interface
|
|
436
|
+
*/
|
|
437
|
+
export interface UseFormReturn {
|
|
438
|
+
fields: Record<string, FieldState>;
|
|
439
|
+
state: FormState;
|
|
440
|
+
register: FieldRegistration['register'];
|
|
441
|
+
unregister: FieldRegistration['unregister'];
|
|
442
|
+
setValue: FieldRegistration['setValue'];
|
|
443
|
+
getValue: FieldRegistration['getValue'];
|
|
444
|
+
getError: FieldRegistration['getError'];
|
|
445
|
+
validateField: FieldRegistration['validateField'];
|
|
446
|
+
validateForm: () => Promise<boolean>;
|
|
447
|
+
resetForm: () => void;
|
|
448
|
+
submitForm: (handler?: FormSubmitHandler) => Promise<void>;
|
|
449
|
+
watch: (fields?: string[]) => Record<string, any>;
|
|
450
|
+
trigger: (fields?: string[]) => Promise<boolean>;
|
|
451
|
+
}
|
|
452
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField Formatters
|
|
3
|
+
*
|
|
4
|
+
* Pre-built formatting functions for common input types.
|
|
5
|
+
* Migrated from core TextField to forms plugin.
|
|
6
|
+
*/
|
|
7
|
+
import type { TextFieldFormatter } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* Common text formatters
|
|
10
|
+
*/
|
|
11
|
+
export declare const TextFieldFormatters: {
|
|
12
|
+
/**
|
|
13
|
+
* Phone number formatter (US format)
|
|
14
|
+
*/
|
|
15
|
+
phone: (value: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Credit card formatter
|
|
18
|
+
*/
|
|
19
|
+
creditCard: (value: string) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Currency formatter
|
|
22
|
+
*/
|
|
23
|
+
currency: (value: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Uppercase formatter
|
|
26
|
+
*/
|
|
27
|
+
uppercase: (value: string) => string;
|
|
28
|
+
/**
|
|
29
|
+
* Lowercase formatter
|
|
30
|
+
*/
|
|
31
|
+
lowercase: (value: string) => string;
|
|
32
|
+
/**
|
|
33
|
+
* Title case formatter
|
|
34
|
+
*/
|
|
35
|
+
titleCase: (value: string) => string;
|
|
36
|
+
/**
|
|
37
|
+
* Social Security Number formatter
|
|
38
|
+
*/
|
|
39
|
+
ssn: (value: string) => string;
|
|
40
|
+
/**
|
|
41
|
+
* Postal code formatter (US ZIP)
|
|
42
|
+
*/
|
|
43
|
+
postalCode: (value: string) => string;
|
|
44
|
+
/**
|
|
45
|
+
* Decimal number formatter
|
|
46
|
+
*/
|
|
47
|
+
decimal: (places?: number) => (value: string) => string;
|
|
48
|
+
/**
|
|
49
|
+
* Percentage formatter
|
|
50
|
+
*/
|
|
51
|
+
percentage: (value: string) => string;
|
|
52
|
+
/**
|
|
53
|
+
* Custom formatter factory
|
|
54
|
+
*/
|
|
55
|
+
custom: (formatFn: (value: string) => string) => TextFieldFormatter;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Common text parsers (reverse of formatters)
|
|
59
|
+
*/
|
|
60
|
+
export declare const TextFieldParsers: {
|
|
61
|
+
/**
|
|
62
|
+
* Phone number parser - extracts digits only
|
|
63
|
+
*/
|
|
64
|
+
phone: (value: string) => string;
|
|
65
|
+
/**
|
|
66
|
+
* Credit card parser - extracts digits only
|
|
67
|
+
*/
|
|
68
|
+
creditCard: (value: string) => string;
|
|
69
|
+
/**
|
|
70
|
+
* Currency parser - extracts numeric value
|
|
71
|
+
*/
|
|
72
|
+
currency: (value: string) => string;
|
|
73
|
+
/**
|
|
74
|
+
* SSN parser - extracts digits only
|
|
75
|
+
*/
|
|
76
|
+
ssn: (value: string) => string;
|
|
77
|
+
/**
|
|
78
|
+
* Postal code parser - extracts digits only
|
|
79
|
+
*/
|
|
80
|
+
postalCode: (value: string) => string;
|
|
81
|
+
/**
|
|
82
|
+
* Decimal parser - extracts number
|
|
83
|
+
*/
|
|
84
|
+
decimal: (value: string) => string;
|
|
85
|
+
/**
|
|
86
|
+
* Percentage parser - extracts number without %
|
|
87
|
+
*/
|
|
88
|
+
percentage: (value: string) => string;
|
|
89
|
+
/**
|
|
90
|
+
* No-op parser (returns value unchanged)
|
|
91
|
+
*/
|
|
92
|
+
none: (value: string) => string;
|
|
93
|
+
/**
|
|
94
|
+
* Custom parser factory
|
|
95
|
+
*/
|
|
96
|
+
custom: (parseFn: (value: string) => string) => (value: string) => string;
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;mBACY,MAAM,KAAG,MAAM;IAW9B;;OAEG;wBACiB,MAAM,KAAG,MAAM;IAKnC;;OAEG;sBACe,MAAM,KAAG,MAAM;IASjC;;OAEG;uBACgB,MAAM,KAAG,MAAM;IAElC;;OAEG;uBACgB,MAAM,KAAG,MAAM;IAElC;;OAEG;uBACgB,MAAM,KAAG,MAAM;IAOlC;;OAEG;iBACU,MAAM,KAAG,MAAM;IAW5B;;OAEG;wBACiB,MAAM,KAAG,MAAM;IASnC;;OAEG;uBAEQ,MAAM,MACd,OAAO,MAAM,KAAG,MAAM;IAMzB;;OAEG;wBACiB,MAAM,KAAG,MAAM;IAMnC;;OAEG;uBACgB,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAAG,kBAAkB;CAClE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;mBACY,MAAM,KAAG,MAAM;IAI9B;;OAEG;wBACiB,MAAM,KAAG,MAAM;IAInC;;OAEG;sBACe,MAAM,KAAG,MAAM;IAKjC;;OAEG;iBACU,MAAM,KAAG,MAAM;IAI5B;;OAEG;wBACiB,MAAM,KAAG,MAAM;IAInC;;OAEG;qBACc,MAAM,KAAG,MAAM;IAKhC;;OAEG;wBACiB,MAAM,KAAG,MAAM;IAInC;;OAEG;kBACW,MAAM,KAAG,MAAM;IAE7B;;OAEG;sBACe,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,aAAjB,MAAM,KAAK,MAAM;CAC5C,CAAA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField Validators
|
|
3
|
+
*
|
|
4
|
+
* Pre-built validation functions for common input types.
|
|
5
|
+
* Migrated and enhanced from core TextField to forms plugin.
|
|
6
|
+
*/
|
|
7
|
+
import type { ValidationResult } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* Validation function type
|
|
10
|
+
*/
|
|
11
|
+
export type ValidationFunction = (value: string) => ValidationResult;
|
|
12
|
+
/**
|
|
13
|
+
* Common validation functions
|
|
14
|
+
*/
|
|
15
|
+
export declare const TextFieldValidators: {
|
|
16
|
+
/**
|
|
17
|
+
* Email validation
|
|
18
|
+
*/
|
|
19
|
+
email: (value: string) => ValidationResult;
|
|
20
|
+
/**
|
|
21
|
+
* Phone number validation
|
|
22
|
+
*/
|
|
23
|
+
phone: (value: string) => ValidationResult;
|
|
24
|
+
/**
|
|
25
|
+
* URL validation
|
|
26
|
+
*/
|
|
27
|
+
url: (value: string) => ValidationResult;
|
|
28
|
+
/**
|
|
29
|
+
* Minimum length validation
|
|
30
|
+
*/
|
|
31
|
+
minLength: (min: number) => (value: string) => ValidationResult;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum length validation
|
|
34
|
+
*/
|
|
35
|
+
maxLength: (max: number) => (value: string) => ValidationResult;
|
|
36
|
+
/**
|
|
37
|
+
* Required field validation
|
|
38
|
+
*/
|
|
39
|
+
required: (value: string) => ValidationResult;
|
|
40
|
+
/**
|
|
41
|
+
* Pattern validation
|
|
42
|
+
*/
|
|
43
|
+
pattern: (regex: RegExp, message?: string) => (value: string) => ValidationResult;
|
|
44
|
+
/**
|
|
45
|
+
* Numeric validation
|
|
46
|
+
*/
|
|
47
|
+
numeric: (value: string) => ValidationResult;
|
|
48
|
+
/**
|
|
49
|
+
* Integer validation
|
|
50
|
+
*/
|
|
51
|
+
integer: (value: string) => ValidationResult;
|
|
52
|
+
/**
|
|
53
|
+
* Minimum value validation
|
|
54
|
+
*/
|
|
55
|
+
min: (minValue: number) => (value: string) => ValidationResult;
|
|
56
|
+
/**
|
|
57
|
+
* Maximum value validation
|
|
58
|
+
*/
|
|
59
|
+
max: (maxValue: number) => (value: string) => ValidationResult;
|
|
60
|
+
/**
|
|
61
|
+
* Range validation
|
|
62
|
+
*/
|
|
63
|
+
range: (min: number, max: number) => (value: string) => ValidationResult;
|
|
64
|
+
/**
|
|
65
|
+
* Credit card validation (Luhn algorithm)
|
|
66
|
+
*/
|
|
67
|
+
creditCard: (value: string) => ValidationResult;
|
|
68
|
+
/**
|
|
69
|
+
* Social Security Number validation
|
|
70
|
+
*/
|
|
71
|
+
ssn: (value: string) => ValidationResult;
|
|
72
|
+
/**
|
|
73
|
+
* US ZIP code validation
|
|
74
|
+
*/
|
|
75
|
+
zipCode: (value: string) => ValidationResult;
|
|
76
|
+
/**
|
|
77
|
+
* Strong password validation
|
|
78
|
+
*/
|
|
79
|
+
strongPassword: (value: string) => ValidationResult;
|
|
80
|
+
/**
|
|
81
|
+
* Date validation (YYYY-MM-DD format)
|
|
82
|
+
*/
|
|
83
|
+
date: (value: string) => ValidationResult;
|
|
84
|
+
/**
|
|
85
|
+
* Time validation (HH:MM format)
|
|
86
|
+
*/
|
|
87
|
+
time: (value: string) => ValidationResult;
|
|
88
|
+
/**
|
|
89
|
+
* Composite validator - combines multiple validators with AND logic
|
|
90
|
+
*/
|
|
91
|
+
and: (...validators: ValidationFunction[]) => (value: string) => ValidationResult;
|
|
92
|
+
/**
|
|
93
|
+
* Composite validator - combines multiple validators with OR logic
|
|
94
|
+
*/
|
|
95
|
+
or: (...validators: ValidationFunction[]) => (value: string) => ValidationResult;
|
|
96
|
+
/**
|
|
97
|
+
* Custom validator factory
|
|
98
|
+
*/
|
|
99
|
+
custom: (validateFn: (value: string) => ValidationResult) => ValidationFunction;
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;mBACY,MAAM,KAAG,gBAAgB;IAWxC;;OAEG;mBACY,MAAM,KAAG,gBAAgB;IAYxC;;OAEG;iBACU,MAAM,KAAG,gBAAgB;IAWtC;;OAEG;qBAEK,MAAM,MACX,OAAO,MAAM,KAAG,gBAAgB;IAQnC;;OAEG;qBAEK,MAAM,MACX,OAAO,MAAM,KAAG,gBAAgB;IAQnC;;OAEG;sBACe,MAAM,KAAG,gBAAgB;IAQ3C;;OAEG;qBAEO,MAAM,YAAW,MAAM,MAC9B,OAAO,MAAM,KAAG,gBAAgB;IAUnC;;OAEG;qBACc,MAAM,KAAG,gBAAgB;IAU1C;;OAEG;qBACc,MAAM,KAAG,gBAAgB;IAW1C;;OAEG;oBAEU,MAAM,MAChB,OAAO,MAAM,KAAG,gBAAgB;IAWnC;;OAEG;oBAEU,MAAM,MAChB,OAAO,MAAM,KAAG,gBAAgB;IAWnC;;OAEG;iBAEK,MAAM,OAAO,MAAM,MACxB,OAAO,MAAM,KAAG,gBAAgB;IAanC;;OAEG;wBACiB,MAAM,KAAG,gBAAgB;IAwC7C;;OAEG;iBACU,MAAM,KAAG,gBAAgB;IActC;;OAEG;qBACc,MAAM,KAAG,gBAAgB;IAW1C;;OAEG;4BACqB,MAAM,KAAG,gBAAgB;IA4BjD;;OAEG;kBACW,MAAM,KAAG,gBAAgB;IAWvC;;OAEG;kBACW,MAAM,KAAG,gBAAgB;IAWvC;;OAEG;yBAEe,kBAAkB,EAAE,MACnC,OAAO,MAAM,KAAG,gBAAgB;IAUnC;;OAEG;wBAEe,kBAAkB,EAAE,MACnC,OAAO,MAAM,KAAG,gBAAgB;IAanC;;OAEG;yBACkB,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,KAAG,kBAAkB;CAC9E,CAAA"}
|