coles-solid-library 0.4.7 → 0.4.9

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/USAGE.html CHANGED
@@ -551,6 +551,36 @@ fg.addToArray('pets', ['name', []] as any, { name: 'Fido' });
551
551
  fg.validate('pets'); // true now
552
552
  fg.removeFromArray('pets', 0);</code></pre>
553
553
  <p><strong>Item Shape:</strong> Adding to a FormArray requires a control definition tuple: <code>['propName', validators[]]</code>. Provide an object value with those props.</p>
554
+ <h3 id="forms-formarray-toplevel">FormArray as Top-Level Form Data</h3>
555
+ <p>The <code>&lt;Form&gt;</code> component accepts either a <code>FormGroup</code> or a <code>FormArray</code> as its <code>data</code> prop. When using a <code>FormArray</code>, <code>onSubmit</code> receives <code>T[]</code> instead of <code>T</code>.</p>
556
+ <pre><code>import { Form, FormArray, Validators, Button } from 'coles-solid-library';
557
+ import { For } from 'solid-js';
558
+
559
+ interface TodoItem { text: string; done: boolean }
560
+
561
+ const todos = new FormArray&lt;TodoItem&gt;(
562
+ [
563
+ [['text', [Validators.Required]], ['done', []]],
564
+ [Validators.custom&lt;TodoItem[]&gt;('minOne', v =&gt; v.length &gt;= 1)]
565
+ ],
566
+ [{ text: 'Buy milk', done: false }]
567
+ );
568
+
569
+ // onSubmit receives TodoItem[] when data is a FormArray
570
+ &lt;Form data={todos} onSubmit={(items) =&gt; console.log('todos:', items)}&gt;
571
+ &lt;For each={todos.get()}&gt;
572
+ {(item, i) =&gt; (
573
+ &lt;div&gt;
574
+ &lt;input value={item.text}
575
+ onInput={e =&gt; todos.setProperty(i(), 'text', e.currentTarget.value)} /&gt;
576
+ &lt;input type="checkbox" checked={item.done}
577
+ onChange={e =&gt; todos.setProperty(i(), 'done', e.currentTarget.checked)} /&gt;
578
+ &lt;/div&gt;
579
+ )}
580
+ &lt;/For&gt;
581
+ &lt;Button type="submit" theme="primary"&gt;Save&lt;/Button&gt;
582
+ &lt;/Form&gt;</code></pre>
583
+ <p><strong>Note:</strong> When using <code>FormArray</code> as the top-level <code>data</code>, <code>FormField</code> field binding and <code>useFormFieldBinding</code> are not available. Manage array items directly through the FormArray API.</p>
554
584
  <h3 id="forms-async">Async Validators</h3>
555
585
  <p>Create via <code>Validators.asyncCustom('key', asyncFn, hide?)</code>. <code>validate()</code> is optimistic for async; call <code>await validateAsync()</code> to finalize.</p>
556
586
  <h3 id="forms-validation-flow">Validation Flow</h3>
@@ -570,7 +600,7 @@ if (asyncOk) doSubmit();</code></pre>
570
600
  <tr><td>FormGroup&lt;T&gt;</td><td><code>get/getR/set/reset/validate/validateAsync/addValidator/removeValidator/addToArray/removeFromArray/getErrors/hasError/hasValidator/getMeta/getArrayItem/markTouched/markDirty/setError</code></td><td>Root form state + validation engine.</td></tr>
571
601
  <tr><td>FormArray&lt;T&gt;</td><td><code>get/getAt/getProperty/set/setAt/setProperty/add/remove/replace/validate/validateCurrent/hasError/hasValidator/getErrors/getErrorsAt</code></td><td>Dynamic object array with array + control validators.</td></tr>
572
602
  <tr><td>Validators</td><td><code>Required/Email/minLength/maxLength/pattern/custom/asyncCustom</code></td><td>Validator factories; <code>hide</code> predicate suppresses an error.</td></tr>
573
- <tr><td>&lt;Form&gt;</td><td><code>data</code>, <code>onSubmit</code></td><td>Context provider + submit orchestration (sync validate).</td></tr>
603
+ <tr><td>&lt;Form&gt;</td><td><code>data: FormGroup&lt;T&gt; | FormArray&lt;T&gt;</code>, <code>onSubmit</code></td><td>Context provider + submit orchestration. Accepts FormGroup (onSubmit receives T) or FormArray (onSubmit receives T[]).</td></tr>
574
604
  <tr><td>&lt;FormField&gt;</td><td><code>name</code>, <code>formName</code>, <code>required?</code>, others</td><td>Floating legend, focus, error projection region.</td></tr>
575
605
  <tr><td>&lt;ColeError&gt;</td><td><code>errorName</code></td><td>Registers error display element for key.</td></tr>
576
606
  <tr><td>useFormFieldBinding</td><td><code>(key)</code> =&gt; binding object</td><td>Manual binding to a control.</td></tr>
@@ -6,6 +6,9 @@ interface CheckboxProps {
6
6
  onChange?: (checked: boolean) => void;
7
7
  disabled?: boolean;
8
8
  ariaLabel?: string;
9
+ formName?: string;
10
+ formIndex?: number;
11
+ formArrayName?: string;
9
12
  }
10
13
  export declare function Checkbox(props: CheckboxProps): JSX.Element;
11
14
  export {};
@@ -3,7 +3,7 @@ interface Props {
3
3
  class?: string;
4
4
  key?: string;
5
5
  value: string;
6
- remove?: () => any;
6
+ remove?: (e: MouseEvent) => any;
7
7
  onClick?: (e: MouseEvent) => any;
8
8
  }
9
9
  declare const Chip: Component<Props>;
@@ -1,17 +1,19 @@
1
1
  import { JSX } from "solid-js";
2
2
  import { SetStoreFunction } from "solid-js/store";
3
3
  import { FormGroup } from "./formGroup";
4
+ import { FormArray } from "./formHelp/formArray";
4
5
  interface FormContext<T extends object> {
5
6
  data: T;
6
7
  setData: SetStoreFunction<T>;
7
- formGroup: FormGroup<T>;
8
+ formGroup?: FormGroup<T>;
9
+ formArray?: FormArray<any>;
8
10
  }
9
11
  declare const FormContext: import("solid-js").Context<FormContext<any> | undefined>;
10
12
  export declare const useFormContext: <T extends object = any>() => FormContext<T>;
11
13
  interface Props<T extends object> {
12
- data: FormGroup<T>;
14
+ data: FormGroup<T> | FormArray<T>;
13
15
  children: JSX.Element;
14
- onSubmit: (data: T) => void;
16
+ onSubmit: (data: T | T[]) => void;
15
17
  }
16
18
  export declare const Form: <T extends object>(props: Props<T>) => JSX.Element;
17
19
  export {};
@@ -1,4 +1,5 @@
1
- import { FormGroupData, ValidationDefault, ValidatorResult, ControlMeta } from "./formHelp/models";
1
+ import { Error as FormError, FormGroupData, ValidatorResult, ControlMeta } from "./formHelp/models";
2
+ import { Accessor } from "solid-js";
2
3
  export { FormArray } from "./formHelp/formArray";
3
4
  export { Validators } from "./formHelp/validators";
4
5
  /**
@@ -13,6 +14,11 @@ export declare class FormGroup<T extends object> {
13
14
  private errors;
14
15
  private meta;
15
16
  private keys;
17
+ /** Reactive memo that returns a cloned snapshot of the full form state.
18
+ * FormArray fields resolve via `.get()` (plain array), others via `CloneStore`. */
19
+ formChangeValue: Accessor<T>;
20
+ /** Returns a per-field reactive accessor. Each call creates an independent memo. */
21
+ fieldChangeValue: <K extends keyof T>(key: K) => Accessor<T[K]>;
16
22
  constructor(data: FormGroupData<T>);
17
23
  /**
18
24
  * INTERNAL: returns the reactive internal store reference (DO NOT MUTATE outside FormGroup).
@@ -81,6 +87,12 @@ export declare class FormGroup<T extends object> {
81
87
  getMeta<K extends keyof T>(key: K): ControlMeta<T[K]>;
82
88
  markTouched<K extends keyof T>(key: K): void;
83
89
  markDirty<K extends keyof T>(key: K): void;
90
+ /** Returns true if any field in the group has validation errors. */
91
+ hasAnyError(): boolean;
92
+ /** Returns true if any field has a validator, optionally matching errKey. */
93
+ hasAnyValidator(errKey?: string): boolean;
94
+ /** Returns a flat array of all field errors across the group. */
95
+ getAllErrors(): FormError[];
84
96
  reset(): void;
85
97
  /**
86
98
  * Sets a new value for a specified form control.
@@ -90,13 +102,12 @@ export declare class FormGroup<T extends object> {
90
102
  */
91
103
  set<K extends keyof T>(key: K, value: T[K]): void;
92
104
  /**
93
- * Adds an item to a FormArray control
105
+ * Adds a FormGroup item to a FormArray control.
94
106
  *
95
107
  * @param key - The key of the FormArray control
96
- * @param controlValidation - The validation for the new item
97
- * @param value - Optional initial value for the new item
108
+ * @param group - The FormGroup instance to add
98
109
  */
99
- addToArray<K extends keyof T>(key: K, controlValidation: ValidationDefault<ElementType<T[K]> & object, keyof ElementType<T[K]>>, value?: ElementType<T[K]> & object): void;
110
+ addToArray<K extends keyof T>(key: K, group: FormGroup<ElementType<T[K]> & object>): void;
100
111
  /**
101
112
  * Removes an item from a FormArray control
102
113
  *
@@ -1,174 +1,178 @@
1
- import { ValidationDefault, ArrayValidation, Error } from "./models";
1
+ import { ValidatorResult, Error } from "./models";
2
+ import { FormGroup } from "../formGroup";
2
3
  /**
3
- * A class that encapsulates an array of form controls along with their validation logic.
4
+ * A class that encapsulates an array of FormGroup instances along with optional array-level validation.
4
5
  *
5
- * @template T - An object type representing the shape of a single form control's value.
6
+ * @template T - An object type representing the shape of a single form group's value.
6
7
  */
7
8
  export declare class FormArray<T extends object> {
8
9
  /**
9
- * An array of array-level validators. Each validator validates the entire array of form control values.
10
- * Each element is a ValidatorResult function that returns a validation result for the entire array.
11
- *
10
+ * Array-level validators that validate the entire array of form group values.
12
11
  * @private
13
12
  */
14
13
  private internalArrayValidation;
15
14
  /**
16
- * An array of control-level validators. Each element is a tuple where the first value is not used
17
- * in this class and the second value is an array of validators that validate a single control value.
18
- *
15
+ * The FormGroup instances managed by this array.
19
16
  * @private
20
17
  */
21
- private internalValidation;
18
+ private groups;
22
19
  /**
23
- * A function to update the current state of control-level validations.
24
- *
20
+ * Solid store setter for the groups array.
25
21
  * @private
26
22
  */
27
- private setValidation;
23
+ private setGroups;
28
24
  /**
29
- * An array of error arrays. Each inner array holds the errors corresponding to a single form control.
30
- *
25
+ * Array-level errors (from array-level validators only).
26
+ * Per-item errors live in each FormGroup.
31
27
  * @private
32
28
  */
33
- private errors;
29
+ private arrayErrors;
34
30
  /**
35
- * The current values of the form controls in the array.
36
- *
31
+ * Snapshot of initial groups for reset.
37
32
  * @private
38
33
  */
39
- private internalValues;
34
+ private readonly _initialGroups;
40
35
  /**
41
- * A function to update the current values of the form controls.
36
+ * Creates an instance of FormArray.
42
37
  *
43
- * @private
38
+ * @param groups - An array of FormGroup instances representing the initial items.
39
+ * @param arrayValidators - Optional array-level validators (e.g., min/max item count).
44
40
  */
45
- private setValues;
46
- private readonly _initialValidationDefs;
47
- private readonly _initialValuesSnapshot;
41
+ constructor(groups?: FormGroup<T>[], arrayValidators?: ValidatorResult<T[]>[]);
48
42
  /**
49
- * Creates an instance of FormArray.
50
- *
51
- * @param arrayValidation - A tuple where the first element is an initial array of control-level validation definitions
52
- * and the second element is an array of array-level validators.
53
- * @param initialValues - Optional initial values for the form controls.
43
+ * Returns the number of items in the array.
54
44
  */
55
- constructor(arrayValidation: ArrayValidation<T>, initialValues?: T | T[]);
45
+ get length(): number;
56
46
  /**
57
- * Returns true if any validator (array-level or control-level) exists matching the provided errKey.
47
+ * Returns true if any validator (array-level or within any group) exists matching the provided errKey.
58
48
  * If no errKey provided, returns true when any validator exists at all.
59
49
  */
60
50
  hasAnyValidator(errKey?: string): boolean;
61
51
  /**
62
- * Resets the array to its initial validation definitions and values.
63
- * Clears any accumulated errors and added dynamic controls.
52
+ * Resets the array to its initial groups and clears array-level errors.
53
+ * Each initial FormGroup is reset to its own initial state.
64
54
  */
65
55
  reset(): void;
66
56
  /**
67
- * Gets the current values of the form controls in the array.
57
+ * Gets the current values of all form groups in the array.
68
58
  *
69
- * @returns A cloned copy of the values array.
59
+ * @returns An array of cloned plain-object values from each FormGroup.
70
60
  */
71
61
  get(): T[];
72
62
  /**
73
- * Gets the value of a specific control in the array.
63
+ * Gets the value of a specific form group in the array.
74
64
  *
75
- * @param index - The index of the control.
76
- * @returns A cloned copy of the control value.
65
+ * @param index - The index of the group.
66
+ * @returns A cloned copy of the group's value, or undefined if out of bounds.
77
67
  */
78
68
  getAt(index: number): T | undefined;
79
69
  /**
80
- * Gets a property value from an object at the specified index.
70
+ * Gets the FormGroup instance at the specified index.
71
+ *
72
+ * @param index - The index of the group.
73
+ * @returns The FormGroup instance, or undefined if out of bounds.
74
+ */
75
+ getGroup(index: number): FormGroup<T> | undefined;
76
+ /**
77
+ * Returns a shallow copy of all FormGroup instances.
78
+ */
79
+ getGroups(): FormGroup<T>[];
80
+ /**
81
+ * Gets a property value from the FormGroup at the specified index.
81
82
  *
82
- * @param index - The index of the control.
83
+ * @param index - The index of the group.
83
84
  * @param key - The property key to retrieve.
84
85
  * @returns The property value, or undefined if not found.
85
86
  */
86
87
  getProperty<K extends keyof T>(index: number, key: K): T[K] | undefined;
87
88
  /**
88
- * Sets the values of all controls in the array.
89
+ * Sets the values of all groups. Updates existing groups in-place and
90
+ * discards any excess groups. Does not create new groups for excess values.
89
91
  *
90
- * @param values - The new values for the controls.
92
+ * @param values - The new values for the groups.
91
93
  */
92
94
  set(values: T[]): void;
93
95
  /**
94
- * Sets the value of a control at the specified index.
96
+ * Sets the value of a group at the specified index.
95
97
  *
96
- * @param index - The index of the control to update.
97
- * @param value - The new value for the control.
98
+ * @param index - The index of the group to update.
99
+ * @param value - The new value for the group.
98
100
  */
99
101
  setAt(index: number, value: T): void;
100
102
  /**
101
- * Sets a property value on an object at the specified index.
103
+ * Sets a property value on the FormGroup at the specified index.
102
104
  *
103
- * @param index - The index of the control.
105
+ * @param index - The index of the group.
104
106
  * @param key - The property key to set.
105
107
  * @param value - The new value for the property.
106
108
  */
107
109
  setProperty<K extends keyof T>(index: number, key: K, value: T[K]): void;
108
110
  /**
109
- * Removes a control at the specified index.
111
+ * Removes a group at the specified index.
110
112
  *
111
- * @param index - The index of the control to remove.
113
+ * @param index - The index of the group to remove.
112
114
  */
113
115
  remove(index: number): void;
114
116
  /**
115
- * Replaces a control at the specified index with new validation and value.
117
+ * Replaces a group at the specified index with a new FormGroup.
116
118
  *
117
- * @param index - The index of the control to replace.
118
- * @param controlValidation - The new validation to apply for the control.
119
- * @param value - The new value for the control.
119
+ * @param index - The index of the group to replace.
120
+ * @param group - The new FormGroup instance.
120
121
  */
121
- replace(index: number, controlValidation: ValidationDefault<T, keyof T>, value?: T): void;
122
+ replace(index: number, group: FormGroup<T>): void;
122
123
  /**
123
- * Adds a new control to the array with validation and optional value.
124
+ * Adds a new FormGroup to the array.
124
125
  *
125
- * @param controlValidation - The validation definition to add.
126
- * @param value - Optional value for the new control.
126
+ * @param group - The FormGroup instance to add.
127
127
  */
128
- add(controlValidation: ValidationDefault<T, keyof T>, value?: T): void;
128
+ add(group: FormGroup<T>): void;
129
129
  /**
130
130
  * Checks if any validation errors exist.
131
131
  *
132
- * @param index - (Optional) The index of the control to check for errors.
133
- * If not provided, it checks the entire form array.
132
+ * @param index - (Optional) The index of the group to check for errors.
133
+ * If not provided, checks all groups and array-level errors.
134
134
  * @returns `true` if any errors are found, otherwise `false`.
135
135
  */
136
136
  hasError(index?: number): boolean;
137
137
  /**
138
- * Checks if a specific validator error exists for a control at the given index.
138
+ * Checks if a specific validator error exists for a group at the given index.
139
139
  *
140
- * @param index - The index of the control.
140
+ * @param index - The index of the group.
141
141
  * @param errKey - The key identifying the specific error to check for.
142
142
  * @returns `true` if the specific error is present, otherwise `false`.
143
143
  */
144
144
  hasValidator(index: number, errKey: string): boolean;
145
145
  /**
146
146
  * Gets all errors for the form array.
147
+ * Each inner array contains the errors from one FormGroup plus array-level errors.
147
148
  *
148
- * @returns An array of error arrays for each control.
149
+ * @returns An array of error arrays for each group.
149
150
  */
150
151
  getErrors(): Error[][];
151
152
  /**
152
- * Gets errors for a specific control in the array.
153
+ * Gets errors for a specific group in the array.
153
154
  *
154
- * @param index - The index of the control.
155
- * @returns An array of errors for the control, or an empty array if not found.
155
+ * @param index - The index of the group.
156
+ * @returns An array of errors for the group, or an empty array if not found.
156
157
  */
157
158
  getErrorsAt(index: number): Error[];
159
+ /**
160
+ * Gets only array-level errors (not per-group errors).
161
+ */
162
+ getArrayErrors(): Error[];
158
163
  /**
159
164
  * Validates the form array using current values.
160
165
  *
161
- * @param index - Optional index to validate just one control.
166
+ * @param index - Optional index to validate just one group.
162
167
  * @returns True if validation passes, false otherwise.
163
168
  */
164
169
  validateCurrent(index?: number): boolean;
165
170
  /**
166
- * Validates the provided form control values.
171
+ * Validates the form array.
167
172
  *
168
- * @param values - The array of form control values.
169
- * @param index - (Optional) The index of a single control to validate.
170
- * If not provided, the method validates all controls in the form array.
173
+ * @param index - (Optional) The index of a single group to validate.
174
+ * If not provided, validates all groups and array-level validators.
171
175
  * @returns `true` if all validations pass, otherwise `false`.
172
176
  */
173
- validate(values: T[], index?: number): boolean;
177
+ validate(index?: number): boolean;
174
178
  }
@@ -14,7 +14,6 @@ export type ValidationDefault<T, P extends keyof T> = [T[P], ValidatorResult<T[P
14
14
  export type ErrorObject<T> = {
15
15
  [P in keyof T]: Error[];
16
16
  };
17
- export type ArrayValidation<T> = [(ValidationDefault<T, keyof T>)[], ValidatorResult<T[]>[]];
18
17
  export type ValidatorObject<T> = {
19
18
  [P in keyof T]?: ValidatorResult<T[P]>[];
20
19
  };
@@ -0,0 +1,40 @@
1
+ import { FormGroup } from './formGroup';
2
+ import { FormArray } from './formHelp/formArray';
3
+ export interface DirectFormBindingProps {
4
+ /** Field key — either a FormGroup field name, or a property key within a FormArray item */
5
+ formName?: string;
6
+ /** Array index — selects which item in a FormArray to bind to */
7
+ formIndex?: number;
8
+ /** FormGroup key that holds the FormArray (for FormArray-within-FormGroup) */
9
+ formArrayName?: string;
10
+ }
11
+ export interface DirectFormBindingResult {
12
+ /** The resolved field name (from direct props or FormField context) */
13
+ formName: string | undefined;
14
+ /** Read the current bound value */
15
+ getValue: () => any;
16
+ /** Write a new value to the bound field */
17
+ setValue: (val: any) => void;
18
+ /** Mark the bound field as dirty */
19
+ markDirty: () => void;
20
+ /** Validate the bound field. Returns true if valid, false otherwise, undefined if no binding */
21
+ validate: () => boolean | undefined;
22
+ /** The FormGroup instance if available */
23
+ formGroup: FormGroup<any> | undefined;
24
+ /** The resolved FormArray instance if binding targets an array */
25
+ formArray: FormArray<any> | undefined;
26
+ /** True when binding targets a FormArray item */
27
+ isFormArray: boolean;
28
+ }
29
+ /**
30
+ * Hook that resolves form binding from direct props, with FormField context as fallback.
31
+ *
32
+ * Supports three binding modes:
33
+ * 1. **FormGroup (simple)**: `formName` binds to `formGroup.data[formName]`
34
+ * 2. **FormArray (top-level)**: `formIndex` + `formName` binds to `formArray.getAt(formIndex)[formName]`
35
+ * 3. **FormArray (within FormGroup)**: `formArrayName` + `formIndex` + `formName` binds to
36
+ * `formGroup.data[formArrayName].getAt(formIndex)[formName]`
37
+ *
38
+ * Priority: direct props > FormField context > undefined
39
+ */
40
+ export declare function useDirectFormBinding(props: DirectFormBindingProps): DirectFormBindingResult;
@@ -6,6 +6,9 @@ interface InputProps extends JSX.InputHTMLAttributes<HTMLInputElement> {
6
6
  currentTarget: HTMLInputElement;
7
7
  target: HTMLInputElement;
8
8
  }) => void;
9
+ formName?: string;
10
+ formIndex?: number;
11
+ formArrayName?: string;
9
12
  }
10
13
  declare const Input: Component<InputProps>;
11
14
  export { Input };
@@ -6,6 +6,9 @@ interface InputProps extends JSX.InputHTMLAttributes<HTMLInputElement> {
6
6
  currentTarget: HTMLInputElement;
7
7
  target: HTMLInputElement;
8
8
  }) => void;
9
+ formName?: string;
10
+ formIndex?: number;
11
+ formArrayName?: string;
9
12
  }
10
13
  declare const Input: Component<InputProps>;
11
14
  export { Input };
@@ -8,6 +8,9 @@ interface RadioGroupProps {
8
8
  onChange?: (value: string | number) => void;
9
9
  disabled?: boolean;
10
10
  children: JSX.Element | JSX.Element[];
11
+ formName?: string;
12
+ formIndex?: number;
13
+ formArrayName?: string;
11
14
  }
12
15
  export interface RadioGroupContextType {
13
16
  name: string;
@@ -20,6 +20,9 @@ interface SelectProps<T = string, K = boolean> {
20
20
  * 'desktop': always uses desktop dropdown regardless of device.
21
21
  */
22
22
  mobileMode?: 'auto' | 'popup' | 'desktop';
23
+ formName?: string;
24
+ formIndex?: number;
25
+ formArrayName?: string;
23
26
  }
24
27
  export declare function Select<T, K extends boolean = false>(props: SelectProps<(K extends true ? T[] : T), K>): JSX.Element;
25
28
  export {};
@@ -10,6 +10,8 @@ export interface SelectContextValue<T> {
10
10
  isDisabled: () => boolean;
11
11
  /** Close the dropdown/popup without changing the value */
12
12
  closeDropdown: () => void;
13
+ /** Resolved form field name — passed through so Option can write to FormGroup when Select has no FormField wrapper */
14
+ formName?: string;
13
15
  }
14
16
  export declare const useSelectContext: () => SelectContextValue<any>;
15
17
  export declare const SelectContextProvider: (props: {
@@ -11,6 +11,9 @@ interface Props extends JSX.TextareaHTMLAttributes<HTMLTextAreaElement> {
11
11
  width?: number;
12
12
  height?: number;
13
13
  };
14
+ formName?: string;
15
+ formIndex?: number;
16
+ formArrayName?: string;
14
17
  }
15
18
  export declare const TextArea: Component<Props>;
16
19
  export default TextArea;
package/dist/index.d.ts CHANGED
@@ -23,6 +23,8 @@ export { FormArray } from './components/Form/formHelp/formArray';
23
23
  export { Form } from './components/Form/form';
24
24
  export { FormField } from './components/FormField/formField';
25
25
  export { FormGroup, Validators } from './components/Form/formGroup';
26
+ export { useDirectFormBinding } from './components/Form/useDirectFormBinding';
27
+ export { useFormFieldBinding } from './components/Form/useFormFieldBinding';
26
28
  export { addTheme } from './tools/tools';
27
29
  export { Table } from './components/TableV2/table';
28
30
  export { Row } from './components/TableV2/row';
@@ -32,3 +34,4 @@ export { Header } from './components/TableV2/header';
32
34
  export { TabBar } from './components/TabV2/tabs';
33
35
  export { type StyleContainer } from './components/TableV2/tableProvider';
34
36
  export { ColeError as FieldError } from './components/FormField/coleError';
37
+ export * from './globalWindowManager';