@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.
Files changed (62) hide show
  1. package/LICENSE +363 -0
  2. package/dist/Form-ueYEcSg1.cjs +2 -0
  3. package/dist/Form-ueYEcSg1.cjs.map +1 -0
  4. package/dist/Form-ylAr3o_e.js +376 -0
  5. package/dist/Form-ylAr3o_e.js.map +1 -0
  6. package/dist/components/Form.d.ts +76 -0
  7. package/dist/components/Form.d.ts.map +1 -0
  8. package/dist/components/index.cjs +2 -0
  9. package/dist/components/index.cjs.map +1 -0
  10. package/dist/components/index.d.ts +9 -0
  11. package/dist/components/index.d.ts.map +1 -0
  12. package/dist/components/index.js +31 -0
  13. package/dist/components/index.js.map +1 -0
  14. package/dist/components/input/Checkbox.d.ts +42 -0
  15. package/dist/components/input/Checkbox.d.ts.map +1 -0
  16. package/dist/components/input/Radio.d.ts +36 -0
  17. package/dist/components/input/Radio.d.ts.map +1 -0
  18. package/dist/components/input/Select.d.ts +21 -0
  19. package/dist/components/input/Select.d.ts.map +1 -0
  20. package/dist/components/input/TextField.d.ts +58 -0
  21. package/dist/components/input/TextField.d.ts.map +1 -0
  22. package/dist/components/input/index.d.ts +11 -0
  23. package/dist/components/input/index.d.ts.map +1 -0
  24. package/dist/forms-complex-BiQsZZlT.js +361 -0
  25. package/dist/forms-complex-BiQsZZlT.js.map +1 -0
  26. package/dist/forms-complex-DLEnXXJ5.cjs +2 -0
  27. package/dist/forms-complex-DLEnXXJ5.cjs.map +1 -0
  28. package/dist/forms-core-B1bx1drO.js +839 -0
  29. package/dist/forms-core-B1bx1drO.js.map +1 -0
  30. package/dist/forms-core-W_JGVLAI.cjs +9 -0
  31. package/dist/forms-core-W_JGVLAI.cjs.map +1 -0
  32. package/dist/forms-inputs-6QdeMWFk.js +1075 -0
  33. package/dist/forms-inputs-6QdeMWFk.js.map +1 -0
  34. package/dist/forms-inputs-DQ5QI_SU.cjs +2 -0
  35. package/dist/forms-inputs-DQ5QI_SU.cjs.map +1 -0
  36. package/dist/index.cjs +2 -0
  37. package/dist/index.cjs.map +1 -0
  38. package/dist/index.d.ts +21 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +383 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/state/index.cjs +2 -0
  43. package/dist/state/index.cjs.map +1 -0
  44. package/dist/state/index.d.ts +46 -0
  45. package/dist/state/index.d.ts.map +1 -0
  46. package/dist/state/index.js +9 -0
  47. package/dist/state/index.js.map +1 -0
  48. package/dist/types/index.d.ts +452 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/utils/formatters.d.ts +98 -0
  51. package/dist/utils/formatters.d.ts.map +1 -0
  52. package/dist/utils/validators.d.ts +101 -0
  53. package/dist/utils/validators.d.ts.map +1 -0
  54. package/dist/validation/component-validation.d.ts +52 -0
  55. package/dist/validation/component-validation.d.ts.map +1 -0
  56. package/dist/validation/index.cjs +2 -0
  57. package/dist/validation/index.cjs.map +1 -0
  58. package/dist/validation/index.d.ts +141 -0
  59. package/dist/validation/index.d.ts.map +1 -0
  60. package/dist/validation/index.js +21 -0
  61. package/dist/validation/index.js.map +1 -0
  62. 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"}