@ultraviolet/form 1.0.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.
@@ -0,0 +1,669 @@
1
+ export { FieldArray, useFieldArray } from 'react-final-form-arrays';
2
+ import { FieldSubscription, AnyObject, FieldValidator, FieldState } from 'final-form';
3
+ export { FORM_ERROR, FormApi } from 'final-form';
4
+ import { UseFieldConfig, FieldMetaState, FormRenderProps, FormProps as FormProps$1 } from 'react-final-form';
5
+ export { Field, FormSpy, useField, useForm, useFormState } from 'react-final-form';
6
+ import * as react from 'react';
7
+ import { ReactNode, ComponentProps, FocusEvent, JSX, ForwardedRef, FocusEventHandler } from 'react';
8
+ import * as _emotion_react_types_jsx_namespace from '@emotion/react/types/jsx-namespace';
9
+ import { DateInput, Radio, SelectInput, SelectableCard, NumberInput, TagInput, TextInput, TimeInput, Toggle, Button } from '@ultraviolet/ui';
10
+ import { CSSObject, Theme, css } from '@emotion/react';
11
+ import Select, { GroupBase, OptionProps, Props, CommonProps } from 'react-select';
12
+
13
+ type FormErrorFunctionParams<InputValue = unknown> = {
14
+ label: string;
15
+ name: string;
16
+ value: InputValue;
17
+ allValues: AnyObject;
18
+ meta?: FieldMetaState<InputValue>;
19
+ };
20
+ type RequiredErrors = {
21
+ TOO_LOW: ((params: FormErrorFunctionParams & {
22
+ min: number;
23
+ }) => string) | string;
24
+ TOO_HIGH: ((params: FormErrorFunctionParams & {
25
+ max: number;
26
+ }) => string) | string;
27
+ MIN_LENGTH: ((params: FormErrorFunctionParams & {
28
+ minLength: number;
29
+ }) => string) | string;
30
+ MAX_LENGTH: ((params: FormErrorFunctionParams & {
31
+ maxLength: number;
32
+ }) => string) | string;
33
+ REGEX: ((params: FormErrorFunctionParams & {
34
+ regex: (RegExp | RegExp[])[];
35
+ }) => string) | string;
36
+ REQUIRED: ((params: FormErrorFunctionParams) => string) | string;
37
+ MAX_DATE: ((params: FormErrorFunctionParams & {
38
+ maxDate: Date;
39
+ }) => string) | string;
40
+ MIN_DATE: ((params: FormErrorFunctionParams & {
41
+ minDate: Date;
42
+ }) => string) | string;
43
+ };
44
+ type FormErrors = RequiredErrors;
45
+ type ValidatorProps = {
46
+ required?: boolean;
47
+ min?: number;
48
+ minLength?: number;
49
+ max?: number;
50
+ maxLength?: number;
51
+ regex?: (RegExp | RegExp[])[];
52
+ maxDate?: Date;
53
+ minDate?: Date;
54
+ };
55
+ type ValidatorObject<InputValue = unknown> = {
56
+ validate: (value: InputValue, allValues?: AnyObject, meta?: FieldMetaState<InputValue>) => boolean;
57
+ error: keyof RequiredErrors;
58
+ };
59
+ type BaseFieldProps<FieldValue, InputValue = unknown> = {
60
+ parse?: UseFieldConfig<FieldValue, InputValue>['parse'];
61
+ format?: UseFieldConfig<FieldValue, InputValue>['format'];
62
+ formatOnBlur?: boolean;
63
+ subscription?: FieldSubscription;
64
+ validateFields?: string[];
65
+ defaultValue?: FieldValue;
66
+ data?: AnyObject;
67
+ allowNull?: boolean;
68
+ initialValue?: FieldValue;
69
+ multiple?: boolean;
70
+ isEqual?: (a: InputValue, b: InputValue) => boolean;
71
+ validate?: FieldValidator<FieldValue>;
72
+ afterSubmit?: () => void;
73
+ beforeSubmit?: () => void | boolean;
74
+ value?: FieldValue;
75
+ };
76
+
77
+ declare const CheckboxField: react.ForwardRefExoticComponent<BaseFieldProps<string, string> & Partial<Pick<({
78
+ error?: ReactNode;
79
+ size?: number | undefined;
80
+ progress?: boolean | undefined;
81
+ disabled?: boolean | undefined;
82
+ checked?: boolean | "indeterminate" | undefined;
83
+ className?: string | undefined;
84
+ "data-visibility"?: string | undefined;
85
+ required?: boolean | undefined;
86
+ 'data-testid'?: string | undefined;
87
+ } & Pick<react.InputHTMLAttributes<HTMLInputElement>, "name" | "value" | "onFocus" | "onBlur" | "autoFocus" | "id" | "onChange"> & (({
88
+ "aria-label"?: undefined;
89
+ } & {
90
+ children: ReactNode;
91
+ }) | ({
92
+ children?: undefined;
93
+ } & {
94
+ 'aria-label': string;
95
+ }))) & react.RefAttributes<HTMLInputElement>, "value" | "disabled" | "progress" | "onFocus" | "onBlur" | "onChange" | "size" | "data-testid">> & {
96
+ name: string;
97
+ label?: string | undefined;
98
+ className?: string | undefined;
99
+ children?: ReactNode;
100
+ required?: boolean | undefined;
101
+ } & react.RefAttributes<HTMLInputElement>>;
102
+
103
+ type DateFieldProps = BaseFieldProps<Date> & Omit<ComponentProps<typeof DateInput>, 'maxDate' | 'minDate' | 'disabled' | 'required' | 'locale' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'autoFocus'> & {
104
+ name: string;
105
+ maxDate?: Date;
106
+ minDate?: Date;
107
+ disabled?: boolean;
108
+ required?: boolean;
109
+ locale?: string;
110
+ onChange?: (value: Date | null) => void;
111
+ onBlur?: (event: FocusEvent<HTMLElement>) => void;
112
+ onFocus?: (value: FocusEvent<HTMLElement>) => void;
113
+ autoFocus?: boolean;
114
+ };
115
+ declare const DateField: ({ required, name, label, validate, format, locale, maxDate, minDate, initialValue, disabled, value: inputVal, onChange, onBlur, onFocus, formatOnBlur, autoFocus, "data-testid": dataTestId, }: DateFieldProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
116
+
117
+ type FormProps<FormValues = unknown> = {
118
+ children?: ((props: FormRenderProps<FormValues, Partial<FormValues>>) => ReactNode) | ReactNode;
119
+ errors: FormErrors;
120
+ /**
121
+ * onRawSubmit is the base onSubmit from final-form
122
+ */
123
+ onRawSubmit: FormProps$1<FormValues, Partial<FormValues>>['onSubmit'];
124
+ initialValues?: Partial<FormValues>;
125
+ validateOnBlur?: FormProps$1<FormValues, Partial<FormValues>>['validateOnBlur'];
126
+ validate?: FormProps$1<FormValues, Partial<FormValues>>['validate'];
127
+ /**
128
+ * The form name attribute
129
+ */
130
+ name?: string;
131
+ render?: FormProps$1<FormValues, Partial<FormValues>>['render'];
132
+ mutators?: FormProps$1<FormValues, Partial<FormValues>>['mutators'];
133
+ keepDirtyOnReinitialize?: boolean;
134
+ className?: string;
135
+ };
136
+ declare const Form: <FormValues>({ children, onRawSubmit, errors, initialValues, validateOnBlur, validate, name, render, mutators, keepDirtyOnReinitialize, className, }: FormProps<FormValues>) => JSX.Element;
137
+
138
+ type RadioValue = NonNullable<ComponentProps<typeof Radio>['value']>;
139
+ type RadioFieldProps<T = RadioValue, K = string> = BaseFieldProps<T, K> & Partial<Pick<ComponentProps<typeof Radio>, 'disabled' | 'id' | 'onBlur' | 'onChange' | 'onFocus' | 'size' | 'value' | 'data-testid'>> & {
140
+ children?: ReactNode;
141
+ className?: string;
142
+ label?: string;
143
+ name: string;
144
+ required?: boolean;
145
+ };
146
+ declare const RadioField: ({ children, className, "data-testid": dataTestId, disabled, id, label, name, onBlur, onChange, onFocus, required, size, validate, value, }: RadioFieldProps) => JSX.Element;
147
+
148
+ type SelectOption = {
149
+ value: string;
150
+ label: ReactNode;
151
+ disabled?: boolean;
152
+ description?: string;
153
+ inlineDescription?: string;
154
+ };
155
+ type WithSelectProps = {
156
+ selectProps: SelectProps;
157
+ };
158
+ type SelectStyleProps = {
159
+ error?: string;
160
+ /**
161
+ * Custom styles of the SelectInput. See [React select documentation](https://react-select.com/styles)
162
+ */
163
+ customStyle: (state: SelectProps & WithSelectProps) => Record<string, CSSObject>;
164
+ animation?: string;
165
+ /**
166
+ * Time of the animation
167
+ */
168
+ animationDuration?: number;
169
+ /**
170
+ * Show/hide the label inside the component
171
+ */
172
+ noTopLabel?: boolean;
173
+ theme: Theme;
174
+ };
175
+ type StyledContainerProps = {
176
+ isDisabled?: boolean;
177
+ additionalStyles?: Parameters<typeof css>[0];
178
+ };
179
+ type SelectProps = StyledContainerProps & Omit<Props<SelectOption>, 'value'> & CommonProps<SelectOption, boolean, GroupBase<SelectOption>> & {
180
+ value?: string | SelectOption;
181
+ checked?: boolean;
182
+ error?: string;
183
+ labelId?: string;
184
+ required?: boolean;
185
+ time?: boolean;
186
+ };
187
+ type StateManagedSelect = typeof Select;
188
+ type SelectInputProps = Partial<SelectProps & SelectStyleProps & Pick<ComponentProps<typeof SelectInput>, 'data-testid'> & {
189
+ /**
190
+ * Name of the animation
191
+ */
192
+ animation?: string;
193
+ /**
194
+ * Play the animation when the value change
195
+ */
196
+ animationOnChange?: boolean;
197
+ disabled?: boolean;
198
+ readOnly?: boolean;
199
+ innerRef?: ForwardedRef<StateManagedSelect>;
200
+ /**
201
+ * Custom components of the SelectInput. See [React select documentation](https://react-select.com/components)
202
+ */
203
+ customComponents?: SelectProps['components'];
204
+ children: ReactNode;
205
+ emptyState?: ComponentProps<Select>['noOptionsMessage'];
206
+ }>;
207
+ type SelectInputOptions = SelectProps['options'];
208
+ type SelectInputOptionOrGroup = NonNullable<SelectInputOptions>[number];
209
+ type SelectInputFieldProps<T extends SelectInputOptionOrGroup = SelectInputOptionOrGroup> = BaseFieldProps<T> & Pick<SelectInputProps, 'animation' | 'animationDuration' | 'animationOnChange' | 'children' | 'className' | 'disabled' | 'error' | 'id' | 'inputId' | 'isClearable' | 'isLoading' | 'isSearchable' | 'menuPortalTarget' | 'onBlur' | 'onChange' | 'onFocus' | 'options' | 'placeholder' | 'readOnly' | 'required' | 'value' | 'noTopLabel' | 'noOptionsMessage' | 'customStyle' | 'data-testid'> & {
210
+ label?: string;
211
+ maxLength?: number;
212
+ minLength?: number;
213
+ name: string;
214
+ };
215
+ declare const SelectInputField: {
216
+ <T extends (SelectOption | GroupBase<SelectOption>) & (SelectOption | GroupBase<SelectOption>) = (SelectOption | GroupBase<SelectOption>) & (SelectOption | GroupBase<SelectOption>)>({ animation, animationDuration, animationOnChange, children, className, disabled, error: errorProp, format: formatProp, formatOnBlur, id, inputId, isClearable, isLoading, isSearchable, label, maxLength, menuPortalTarget, minLength, multiple, name, onBlur, onChange, onFocus, options: optionsProp, parse: parseProp, placeholder, readOnly, required, value, noTopLabel, noOptionsMessage, customStyle, "data-testid": dataTestId, }: SelectInputFieldProps<T>): _emotion_react_types_jsx_namespace.EmotionJSX.Element;
217
+ Option: (props: Partial<OptionProps<{
218
+ value: string;
219
+ label: ReactNode;
220
+ disabled?: boolean | undefined;
221
+ description?: string | undefined;
222
+ inlineDescription?: string | undefined;
223
+ }, boolean, GroupBase<{
224
+ value: string;
225
+ label: ReactNode;
226
+ disabled?: boolean | undefined;
227
+ description?: string | undefined;
228
+ inlineDescription?: string | undefined;
229
+ }>> & {
230
+ value: string;
231
+ label: ReactNode;
232
+ disabled?: boolean | undefined;
233
+ description?: string | undefined;
234
+ inlineDescription?: string | undefined;
235
+ }>) => react.JSX.Element;
236
+ };
237
+
238
+ type SelectableCardValue = NonNullable<ComponentProps<typeof SelectableCard>['value']>;
239
+ type SelectableCardFieldProps<T = SelectableCardValue, K = string> = BaseFieldProps<T, K> & Partial<Pick<ComponentProps<typeof SelectableCard>, 'disabled' | 'onBlur' | 'onChange' | 'onFocus' | 'value' | 'showTick' | 'type' | 'id' | 'children' | 'name' | 'tooltip' | 'label' | 'data-testid'>> & {
240
+ name: string;
241
+ required?: boolean;
242
+ className?: string;
243
+ };
244
+ declare const SelectableCardField: ({ name, value, onChange, showTick, type, disabled, children, className, onFocus, onBlur, required, validate, tooltip, id, label, "data-testid": dataTestId, }: SelectableCardFieldProps) => JSX.Element;
245
+
246
+ type NumberInputValue = NonNullable<ComponentProps<typeof NumberInput>['value']>;
247
+ type NumberInputValueFieldProps<T = NumberInputValue, K = string> = BaseFieldProps<T, K> & Partial<Pick<ComponentProps<typeof NumberInput>, 'disabled' | 'maxValue' | 'minValue' | 'onMaxCrossed' | 'onMinCrossed' | 'size' | 'step' | 'text' | 'value' | 'onChange' | 'className' | 'data-testid'>> & {
248
+ name: string;
249
+ required?: boolean;
250
+ onBlur?: FocusEventHandler<HTMLInputElement>;
251
+ onFocus?: FocusEventHandler<HTMLInputElement>;
252
+ };
253
+ declare const NumberInputField: ({ disabled, maxValue, minValue, name, onChange, onBlur, onFocus, onMaxCrossed, onMinCrossed, required, size, step, text, validate, value, className, "data-testid": dataTestId, }: NumberInputValueFieldProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
254
+
255
+ declare const SubmitErrorAlert: <FormValues>({ className, }: {
256
+ className?: string | undefined;
257
+ }) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
258
+
259
+ type TagInputProp = ComponentProps<typeof TagInput>['tags'];
260
+ type TagInputFieldProps<T = TagInputProp, K = string> = BaseFieldProps<T, K> & Partial<Pick<ComponentProps<typeof TagInput>, 'tags' | 'variant' | 'onChange' | 'placeholder' | 'disabled' | 'className' | 'id' | 'data-testid'>> & {
261
+ name: string;
262
+ required?: boolean;
263
+ };
264
+ declare const TagInputField: ({ className, "data-testid": dataTestId, disabled, id, name, onChange, placeholder, required, tags, validate, variant, }: TagInputFieldProps) => JSX.Element;
265
+
266
+ type TextInputValue = NonNullable<ComponentProps<typeof TextInput>['value']>;
267
+ declare const TextInputField: react.ForwardRefExoticComponent<BaseFieldProps<TextInputValue, string> & Partial<Pick<({
268
+ 'data-testid'?: string | undefined;
269
+ ariaControls?: string | undefined;
270
+ autoComplete?: string | undefined;
271
+ autoFocus?: boolean | undefined;
272
+ className?: string | undefined;
273
+ cols?: number | undefined;
274
+ defaultValue?: string | undefined;
275
+ disabled?: boolean | undefined;
276
+ edit?: boolean | undefined;
277
+ error?: string | undefined;
278
+ fillAvailable?: boolean | undefined;
279
+ generated?: boolean | undefined;
280
+ height?: string | number | undefined;
281
+ id?: string | undefined;
282
+ label?: string | undefined;
283
+ multiline?: boolean | undefined;
284
+ name?: string | undefined;
285
+ notice?: string | undefined;
286
+ noTopLabel?: boolean | undefined;
287
+ onBlur?: react.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
288
+ onChange?: ((value: string) => void) | undefined;
289
+ onFocus?: react.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
290
+ onKeyUp?: react.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
291
+ onKeyDown?: react.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
292
+ placeholder?: string | undefined;
293
+ random?: string | undefined;
294
+ readOnly?: boolean | undefined;
295
+ required?: boolean | undefined;
296
+ resizable?: boolean | undefined;
297
+ rows?: number | undefined;
298
+ size?: "small" | "medium" | undefined;
299
+ tabIndex?: number | undefined;
300
+ type?: string | undefined;
301
+ unit?: string | undefined;
302
+ valid?: boolean | undefined;
303
+ value?: string | number | undefined;
304
+ wrap?: string | undefined;
305
+ inputProps?: {
306
+ error?: boolean | undefined;
307
+ name?: string | undefined;
308
+ value?: string | number | readonly string[] | undefined;
309
+ required?: boolean | undefined;
310
+ min?: string | number | undefined;
311
+ minLength?: number | undefined;
312
+ max?: string | number | undefined;
313
+ maxLength?: number | undefined;
314
+ disabled?: boolean | undefined;
315
+ defaultValue?: string | number | readonly string[] | undefined;
316
+ multiple?: boolean | undefined;
317
+ type?: react.HTMLInputTypeAttribute | undefined;
318
+ children?: react.ReactNode;
319
+ className?: string | undefined;
320
+ form?: string | undefined;
321
+ slot?: string | undefined;
322
+ style?: react.CSSProperties | undefined;
323
+ title?: string | undefined;
324
+ pattern?: string | undefined;
325
+ onFocus?: react.FocusEventHandler<HTMLInputElement> | undefined;
326
+ onBlur?: react.FocusEventHandler<HTMLInputElement> | undefined;
327
+ autoFocus?: boolean | undefined;
328
+ id?: string | undefined;
329
+ onChange?: react.ChangeEventHandler<HTMLInputElement> | undefined;
330
+ 'aria-label'?: string | undefined;
331
+ size?: number | undefined;
332
+ checked?: boolean | undefined;
333
+ onSubmit?: react.FormEventHandler<HTMLInputElement> | undefined;
334
+ autoComplete?: string | undefined;
335
+ defaultChecked?: boolean | undefined;
336
+ suppressContentEditableWarning?: boolean | undefined;
337
+ suppressHydrationWarning?: boolean | undefined;
338
+ accessKey?: string | undefined;
339
+ contentEditable?: (boolean | "false" | "true") | "inherit" | undefined;
340
+ contextMenu?: string | undefined;
341
+ dir?: string | undefined;
342
+ draggable?: (boolean | "false" | "true") | undefined;
343
+ hidden?: boolean | undefined;
344
+ lang?: string | undefined;
345
+ nonce?: string | undefined;
346
+ placeholder?: string | undefined;
347
+ spellCheck?: (boolean | "false" | "true") | undefined;
348
+ tabIndex?: number | undefined;
349
+ translate?: "yes" | "no" | undefined;
350
+ radioGroup?: string | undefined;
351
+ role?: react.AriaRole | undefined;
352
+ about?: string | undefined;
353
+ content?: string | undefined;
354
+ datatype?: string | undefined;
355
+ inlist?: any;
356
+ prefix?: string | undefined;
357
+ property?: string | undefined;
358
+ rel?: string | undefined;
359
+ resource?: string | undefined;
360
+ rev?: string | undefined;
361
+ typeof?: string | undefined;
362
+ vocab?: string | undefined;
363
+ autoCapitalize?: string | undefined;
364
+ autoCorrect?: string | undefined;
365
+ autoSave?: string | undefined;
366
+ color?: string | undefined;
367
+ itemProp?: string | undefined;
368
+ itemScope?: boolean | undefined;
369
+ itemType?: string | undefined;
370
+ itemID?: string | undefined;
371
+ itemRef?: string | undefined;
372
+ results?: number | undefined;
373
+ security?: string | undefined;
374
+ unselectable?: "off" | "on" | undefined;
375
+ inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
376
+ is?: string | undefined;
377
+ 'aria-activedescendant'?: string | undefined;
378
+ 'aria-atomic'?: (boolean | "false" | "true") | undefined;
379
+ 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
380
+ 'aria-busy'?: (boolean | "false" | "true") | undefined;
381
+ 'aria-checked'?: boolean | "false" | "true" | "mixed" | undefined;
382
+ 'aria-colcount'?: number | undefined;
383
+ 'aria-colindex'?: number | undefined;
384
+ 'aria-colspan'?: number | undefined;
385
+ 'aria-controls'?: string | undefined;
386
+ 'aria-current'?: boolean | "time" | "false" | "true" | "date" | "page" | "step" | "location" | undefined;
387
+ 'aria-describedby'?: string | undefined;
388
+ 'aria-details'?: string | undefined;
389
+ 'aria-disabled'?: (boolean | "false" | "true") | undefined;
390
+ 'aria-dropeffect'?: "link" | "move" | "none" | "copy" | "execute" | "popup" | undefined;
391
+ 'aria-errormessage'?: string | undefined;
392
+ 'aria-expanded'?: (boolean | "false" | "true") | undefined;
393
+ 'aria-flowto'?: string | undefined;
394
+ 'aria-grabbed'?: (boolean | "false" | "true") | undefined;
395
+ 'aria-haspopup'?: boolean | "dialog" | "menu" | "false" | "true" | "grid" | "listbox" | "tree" | undefined;
396
+ 'aria-hidden'?: (boolean | "false" | "true") | undefined;
397
+ 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
398
+ 'aria-keyshortcuts'?: string | undefined;
399
+ 'aria-labelledby'?: string | undefined;
400
+ 'aria-level'?: number | undefined;
401
+ 'aria-live'?: "off" | "assertive" | "polite" | undefined;
402
+ 'aria-modal'?: (boolean | "false" | "true") | undefined;
403
+ 'aria-multiline'?: (boolean | "false" | "true") | undefined;
404
+ 'aria-multiselectable'?: (boolean | "false" | "true") | undefined;
405
+ 'aria-orientation'?: "horizontal" | "vertical" | undefined;
406
+ 'aria-owns'?: string | undefined;
407
+ 'aria-placeholder'?: string | undefined;
408
+ 'aria-posinset'?: number | undefined;
409
+ 'aria-pressed'?: boolean | "false" | "true" | "mixed" | undefined;
410
+ 'aria-readonly'?: (boolean | "false" | "true") | undefined;
411
+ 'aria-relevant'?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
412
+ 'aria-required'?: (boolean | "false" | "true") | undefined;
413
+ 'aria-roledescription'?: string | undefined;
414
+ 'aria-rowcount'?: number | undefined;
415
+ 'aria-rowindex'?: number | undefined;
416
+ 'aria-rowspan'?: number | undefined;
417
+ 'aria-selected'?: (boolean | "false" | "true") | undefined;
418
+ 'aria-setsize'?: number | undefined;
419
+ 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
420
+ 'aria-valuemax'?: number | undefined;
421
+ 'aria-valuemin'?: number | undefined;
422
+ 'aria-valuenow'?: number | undefined;
423
+ 'aria-valuetext'?: string | undefined;
424
+ dangerouslySetInnerHTML?: {
425
+ __html: string | TrustedHTML;
426
+ } | undefined;
427
+ onCopy?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
428
+ onCopyCapture?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
429
+ onCut?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
430
+ onCutCapture?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
431
+ onPaste?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
432
+ onPasteCapture?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
433
+ onCompositionEnd?: react.CompositionEventHandler<HTMLInputElement> | undefined;
434
+ onCompositionEndCapture?: react.CompositionEventHandler<HTMLInputElement> | undefined;
435
+ onCompositionStart?: react.CompositionEventHandler<HTMLInputElement> | undefined;
436
+ onCompositionStartCapture?: react.CompositionEventHandler<HTMLInputElement> | undefined;
437
+ onCompositionUpdate?: react.CompositionEventHandler<HTMLInputElement> | undefined;
438
+ onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLInputElement> | undefined;
439
+ onFocusCapture?: react.FocusEventHandler<HTMLInputElement> | undefined;
440
+ onBlurCapture?: react.FocusEventHandler<HTMLInputElement> | undefined;
441
+ onChangeCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
442
+ onBeforeInput?: react.FormEventHandler<HTMLInputElement> | undefined;
443
+ onBeforeInputCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
444
+ onInput?: react.FormEventHandler<HTMLInputElement> | undefined;
445
+ onInputCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
446
+ onReset?: react.FormEventHandler<HTMLInputElement> | undefined;
447
+ onResetCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
448
+ onSubmitCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
449
+ onInvalid?: react.FormEventHandler<HTMLInputElement> | undefined;
450
+ onInvalidCapture?: react.FormEventHandler<HTMLInputElement> | undefined;
451
+ onLoad?: react.ReactEventHandler<HTMLInputElement> | undefined;
452
+ onLoadCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
453
+ onError?: react.ReactEventHandler<HTMLInputElement> | undefined;
454
+ onErrorCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
455
+ onKeyDown?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
456
+ onKeyDownCapture?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
457
+ onKeyPress?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
458
+ onKeyPressCapture?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
459
+ onKeyUp?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
460
+ onKeyUpCapture?: react.KeyboardEventHandler<HTMLInputElement> | undefined;
461
+ onAbort?: react.ReactEventHandler<HTMLInputElement> | undefined;
462
+ onAbortCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
463
+ onCanPlay?: react.ReactEventHandler<HTMLInputElement> | undefined;
464
+ onCanPlayCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
465
+ onCanPlayThrough?: react.ReactEventHandler<HTMLInputElement> | undefined;
466
+ onCanPlayThroughCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
467
+ onDurationChange?: react.ReactEventHandler<HTMLInputElement> | undefined;
468
+ onDurationChangeCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
469
+ onEmptied?: react.ReactEventHandler<HTMLInputElement> | undefined;
470
+ onEmptiedCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
471
+ onEncrypted?: react.ReactEventHandler<HTMLInputElement> | undefined;
472
+ onEncryptedCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
473
+ onEnded?: react.ReactEventHandler<HTMLInputElement> | undefined;
474
+ onEndedCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
475
+ onLoadedData?: react.ReactEventHandler<HTMLInputElement> | undefined;
476
+ onLoadedDataCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
477
+ onLoadedMetadata?: react.ReactEventHandler<HTMLInputElement> | undefined;
478
+ onLoadedMetadataCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
479
+ onLoadStart?: react.ReactEventHandler<HTMLInputElement> | undefined;
480
+ onLoadStartCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
481
+ onPause?: react.ReactEventHandler<HTMLInputElement> | undefined;
482
+ onPauseCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
483
+ onPlay?: react.ReactEventHandler<HTMLInputElement> | undefined;
484
+ onPlayCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
485
+ onPlaying?: react.ReactEventHandler<HTMLInputElement> | undefined;
486
+ onPlayingCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
487
+ onProgress?: react.ReactEventHandler<HTMLInputElement> | undefined;
488
+ onProgressCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
489
+ onRateChange?: react.ReactEventHandler<HTMLInputElement> | undefined;
490
+ onRateChangeCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
491
+ onResize?: react.ReactEventHandler<HTMLInputElement> | undefined;
492
+ onResizeCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
493
+ onSeeked?: react.ReactEventHandler<HTMLInputElement> | undefined;
494
+ onSeekedCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
495
+ onSeeking?: react.ReactEventHandler<HTMLInputElement> | undefined;
496
+ onSeekingCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
497
+ onStalled?: react.ReactEventHandler<HTMLInputElement> | undefined;
498
+ onStalledCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
499
+ onSuspend?: react.ReactEventHandler<HTMLInputElement> | undefined;
500
+ onSuspendCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
501
+ onTimeUpdate?: react.ReactEventHandler<HTMLInputElement> | undefined;
502
+ onTimeUpdateCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
503
+ onVolumeChange?: react.ReactEventHandler<HTMLInputElement> | undefined;
504
+ onVolumeChangeCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
505
+ onWaiting?: react.ReactEventHandler<HTMLInputElement> | undefined;
506
+ onWaitingCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
507
+ onAuxClick?: react.MouseEventHandler<HTMLInputElement> | undefined;
508
+ onAuxClickCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
509
+ onClick?: react.MouseEventHandler<HTMLInputElement> | undefined;
510
+ onClickCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
511
+ onContextMenu?: react.MouseEventHandler<HTMLInputElement> | undefined;
512
+ onContextMenuCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
513
+ onDoubleClick?: react.MouseEventHandler<HTMLInputElement> | undefined;
514
+ onDoubleClickCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
515
+ onDrag?: react.DragEventHandler<HTMLInputElement> | undefined;
516
+ onDragCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
517
+ onDragEnd?: react.DragEventHandler<HTMLInputElement> | undefined;
518
+ onDragEndCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
519
+ onDragEnter?: react.DragEventHandler<HTMLInputElement> | undefined;
520
+ onDragEnterCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
521
+ onDragExit?: react.DragEventHandler<HTMLInputElement> | undefined;
522
+ onDragExitCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
523
+ onDragLeave?: react.DragEventHandler<HTMLInputElement> | undefined;
524
+ onDragLeaveCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
525
+ onDragOver?: react.DragEventHandler<HTMLInputElement> | undefined;
526
+ onDragOverCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
527
+ onDragStart?: react.DragEventHandler<HTMLInputElement> | undefined;
528
+ onDragStartCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
529
+ onDrop?: react.DragEventHandler<HTMLInputElement> | undefined;
530
+ onDropCapture?: react.DragEventHandler<HTMLInputElement> | undefined;
531
+ onMouseDown?: react.MouseEventHandler<HTMLInputElement> | undefined;
532
+ onMouseDownCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
533
+ onMouseEnter?: react.MouseEventHandler<HTMLInputElement> | undefined;
534
+ onMouseLeave?: react.MouseEventHandler<HTMLInputElement> | undefined;
535
+ onMouseMove?: react.MouseEventHandler<HTMLInputElement> | undefined;
536
+ onMouseMoveCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
537
+ onMouseOut?: react.MouseEventHandler<HTMLInputElement> | undefined;
538
+ onMouseOutCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
539
+ onMouseOver?: react.MouseEventHandler<HTMLInputElement> | undefined;
540
+ onMouseOverCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
541
+ onMouseUp?: react.MouseEventHandler<HTMLInputElement> | undefined;
542
+ onMouseUpCapture?: react.MouseEventHandler<HTMLInputElement> | undefined;
543
+ onSelect?: react.ReactEventHandler<HTMLInputElement> | undefined;
544
+ onSelectCapture?: react.ReactEventHandler<HTMLInputElement> | undefined;
545
+ onTouchCancel?: react.TouchEventHandler<HTMLInputElement> | undefined;
546
+ onTouchCancelCapture?: react.TouchEventHandler<HTMLInputElement> | undefined;
547
+ onTouchEnd?: react.TouchEventHandler<HTMLInputElement> | undefined;
548
+ onTouchEndCapture?: react.TouchEventHandler<HTMLInputElement> | undefined;
549
+ onTouchMove?: react.TouchEventHandler<HTMLInputElement> | undefined;
550
+ onTouchMoveCapture?: react.TouchEventHandler<HTMLInputElement> | undefined;
551
+ onTouchStart?: react.TouchEventHandler<HTMLInputElement> | undefined;
552
+ onTouchStartCapture?: react.TouchEventHandler<HTMLInputElement> | undefined;
553
+ onPointerDown?: react.PointerEventHandler<HTMLInputElement> | undefined;
554
+ onPointerDownCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
555
+ onPointerMove?: react.PointerEventHandler<HTMLInputElement> | undefined;
556
+ onPointerMoveCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
557
+ onPointerUp?: react.PointerEventHandler<HTMLInputElement> | undefined;
558
+ onPointerUpCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
559
+ onPointerCancel?: react.PointerEventHandler<HTMLInputElement> | undefined;
560
+ onPointerCancelCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
561
+ onPointerEnter?: react.PointerEventHandler<HTMLInputElement> | undefined;
562
+ onPointerEnterCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
563
+ onPointerLeave?: react.PointerEventHandler<HTMLInputElement> | undefined;
564
+ onPointerLeaveCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
565
+ onPointerOver?: react.PointerEventHandler<HTMLInputElement> | undefined;
566
+ onPointerOverCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
567
+ onPointerOut?: react.PointerEventHandler<HTMLInputElement> | undefined;
568
+ onPointerOutCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
569
+ onGotPointerCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
570
+ onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
571
+ onLostPointerCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
572
+ onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLInputElement> | undefined;
573
+ onScroll?: react.UIEventHandler<HTMLInputElement> | undefined;
574
+ onScrollCapture?: react.UIEventHandler<HTMLInputElement> | undefined;
575
+ onWheel?: react.WheelEventHandler<HTMLInputElement> | undefined;
576
+ onWheelCapture?: react.WheelEventHandler<HTMLInputElement> | undefined;
577
+ onAnimationStart?: react.AnimationEventHandler<HTMLInputElement> | undefined;
578
+ onAnimationStartCapture?: react.AnimationEventHandler<HTMLInputElement> | undefined;
579
+ onAnimationEnd?: react.AnimationEventHandler<HTMLInputElement> | undefined;
580
+ onAnimationEndCapture?: react.AnimationEventHandler<HTMLInputElement> | undefined;
581
+ onAnimationIteration?: react.AnimationEventHandler<HTMLInputElement> | undefined;
582
+ onAnimationIterationCapture?: react.AnimationEventHandler<HTMLInputElement> | undefined;
583
+ onTransitionEnd?: react.TransitionEventHandler<HTMLInputElement> | undefined;
584
+ onTransitionEndCapture?: react.TransitionEventHandler<HTMLInputElement> | undefined;
585
+ height?: string | number | undefined;
586
+ width?: string | number | undefined;
587
+ readOnly?: boolean | undefined;
588
+ list?: string | undefined;
589
+ step?: string | number | undefined;
590
+ accept?: string | undefined;
591
+ alt?: string | undefined;
592
+ capture?: boolean | "user" | "environment" | undefined;
593
+ crossOrigin?: "" | "anonymous" | "use-credentials" | undefined;
594
+ enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
595
+ formAction?: string | undefined;
596
+ formEncType?: string | undefined;
597
+ formMethod?: string | undefined;
598
+ formNoValidate?: boolean | undefined;
599
+ formTarget?: string | undefined;
600
+ src?: string | undefined;
601
+ fillAvailable?: boolean | undefined;
602
+ multiline?: boolean | undefined;
603
+ resizable?: boolean | undefined;
604
+ hasLabel?: boolean | undefined;
605
+ paddingRightFactor: number;
606
+ isPlaceholderVisible?: boolean | undefined;
607
+ } | undefined;
608
+ max?: string | number | undefined;
609
+ min?: string | number | undefined;
610
+ } & (Omit<react.InputHTMLAttributes<HTMLInputElement>, "onChange"> | Omit<react.TextareaHTMLAttributes<HTMLTextAreaElement>, "onChange">)) & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement | null>, "valid" | "value" | "required" | "minLength" | "maxLength" | "disabled" | "type" | "label" | "onFocus" | "onBlur" | "autoFocus" | "id" | "onChange" | "size" | "data-testid" | "autoComplete" | "placeholder" | "autoCapitalize" | "autoCorrect" | "autoSave" | "onKeyDown" | "onKeyUp" | "noTopLabel" | "readOnly" | "cols" | "rows" | "fillAvailable" | "generated" | "multiline" | "notice" | "random" | "resizable" | "unit">> & {
611
+ name: string;
612
+ className?: string | undefined;
613
+ max?: number | undefined;
614
+ min?: number | undefined;
615
+ regex?: (RegExp | RegExp[])[] | undefined;
616
+ } & react.RefAttributes<HTMLInputElement>>;
617
+
618
+ type TimeFieldProps = BaseFieldProps<Date> & ComponentProps<typeof TimeInput> & {
619
+ name: string;
620
+ };
621
+ declare const TimeField: ({ required, name, schedule, placeholder, disabled, initialValue, validate, readOnly, value, onChange, onBlur, onFocus, isLoading, isClearable, inputId, id, formatOnBlur, animation, animationDuration, animationOnChange, className, isSearchable, options, "data-testid": dataTestId, }: TimeFieldProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
622
+
623
+ type ToggleFieldProps<T = unknown, K = unknown> = BaseFieldProps<T, K> & Pick<ComponentProps<typeof Toggle>, 'disabled' | 'label' | 'onChange' | 'size' | 'tooltip' | 'labelPosition' | 'className' | 'data-testid'> & {
624
+ name: string;
625
+ required?: boolean;
626
+ };
627
+ declare const ToggleField: ({ afterSubmit, allowNull, beforeSubmit, className, data, defaultValue, disabled, format, formatOnBlur, initialValue, isEqual, label, multiple, name, onChange, parse, required, size, subscription, tooltip, validate, validateFields, value, labelPosition, "data-testid": dataTestId, }: ToggleFieldProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
628
+
629
+ type SubmitProps = {
630
+ children?: ReactNode;
631
+ className?: string;
632
+ disabled?: boolean;
633
+ icon?: ComponentProps<typeof Button>['icon'];
634
+ iconPosition?: ComponentProps<typeof Button>['iconPosition'];
635
+ size?: ComponentProps<typeof Button>['size'];
636
+ variant?: ComponentProps<typeof Button>['variant'];
637
+ sentiment?: ComponentProps<typeof Button>['sentiment'];
638
+ tooltip?: ComponentProps<typeof Button>['tooltip'];
639
+ };
640
+ declare const Submit: ({ children, className, disabled, icon, iconPosition, size, variant, sentiment, tooltip, }: SubmitProps) => JSX.Element;
641
+
642
+ type UseValidationParams<FieldValue = unknown> = {
643
+ validators: ValidatorObject<FieldValue>[];
644
+ validate?: FieldValidator<FieldValue>;
645
+ };
646
+ type UseValidationResult<FieldValue = unknown> = (value: FieldValue, allValues: AnyObject, meta?: FieldState<FieldValue>) => string[] | undefined | unknown;
647
+ declare const useValidation: <T = unknown>({ validators, validate, }: UseValidationParams<T>) => UseValidationResult<T>;
648
+
649
+ type CallbackFn<FieldValue, AllValues> = (value: FieldValue, values: AllValues) => unknown;
650
+ declare const useOnFieldChange: <FieldValue = unknown, AllValues = unknown>(name: string, callback: CallbackFn<FieldValue, AllValues>, enabled?: boolean) => void;
651
+
652
+ declare const pickValidators: <InputValue = unknown>(args: ValidatorProps) => ValidatorObject<InputValue>[];
653
+
654
+ type GetErrorProps = Omit<FormErrorFunctionParams, 'allValues'> & AnyObject & {
655
+ errorProp?: string;
656
+ additionalErrorChecks?: boolean;
657
+ };
658
+ type ErrorContextValue = {
659
+ errors: FormErrors;
660
+ getError: (props: GetErrorProps) => string | undefined;
661
+ };
662
+ type ErrorProviderProps = {
663
+ children: ReactNode;
664
+ errors: FormErrors;
665
+ };
666
+ declare const ErrorProvider: ({ children, errors, }: ErrorProviderProps) => JSX.Element;
667
+ declare const useErrors: () => ErrorContextValue;
668
+
669
+ export { BaseFieldProps, CheckboxField, DateField, ErrorProvider, Form, FormErrors, NumberInputField, RadioField, SelectInputField, SelectableCardField, Submit, SubmitErrorAlert, TagInputField, TextInputField, TimeField, ToggleField, pickValidators, useErrors, useOnFieldChange, useValidation };