@progress/kendo-react-form 13.3.0-develop.9 → 13.4.0-develop.1
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/Field.d.ts +19 -0
- package/FieldArray.d.ts +14 -0
- package/FieldWrapper.d.ts +45 -0
- package/Form.d.ts +274 -0
- package/FormContext.d.ts +57 -0
- package/FormElement.d.ts +95 -0
- package/FormElement.js +1 -1
- package/FormElement.mjs +19 -19
- package/FormFieldSet.d.ts +67 -0
- package/FormSeparator.d.ts +47 -0
- package/dist/cdn/js/kendo-react-form.js +1 -1
- package/index.d.mts +22 -1034
- package/index.d.ts +22 -1034
- package/interfaces/FieldArrayProps.d.ts +35 -0
- package/interfaces/FieldArrayRenderProps.d.ts +96 -0
- package/interfaces/FieldProps.d.ts +76 -0
- package/interfaces/FieldRenderProps.d.ts +13 -0
- package/interfaces/FieldValidator.d.ts +19 -0
- package/interfaces/FormProps.d.ts +137 -0
- package/interfaces/FormRenderProps.d.ts +130 -0
- package/interfaces/FormSubmitClickEvent.d.ts +30 -0
- package/interfaces/FormValidator.d.ts +17 -0
- package/interfaces/Gutters.d.ts +25 -0
- package/interfaces/KeyValue.d.ts +13 -0
- package/interfaces/ResponsiveFormBreakPoint.d.ts +25 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +3 -3
- package/utils.d.ts +66 -0
- package/utils.mjs +19 -20
package/Field.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { FieldProps } from './interfaces/FieldProps.js';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Represents the Field component that is used inside the KendoReact Form component.
|
|
12
|
+
* It uses `name` property to access field value and meta information from Form state.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Field: {
|
|
15
|
+
(props: FieldProps & {
|
|
16
|
+
[customProp: string]: any;
|
|
17
|
+
}): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
package/FieldArray.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { FieldArrayProps } from './interfaces/FieldArrayProps.js';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Represents the FieldArray component that is used inside the KendoReact Form component.
|
|
12
|
+
* It provides methods via render props for common array manipulations.
|
|
13
|
+
*/
|
|
14
|
+
export declare const FieldArray: React.FunctionComponent<FieldArrayProps>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { FormClassStructure } from '@progress/kendo-react-common';
|
|
9
|
+
import { ResponsiveFormBreakPoint } from './interfaces/ResponsiveFormBreakPoint.js';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Represents the props of the KendoReact FieldWrapper component.
|
|
13
|
+
*/
|
|
14
|
+
export interface FieldWrapperProps {
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
children: any;
|
|
19
|
+
/**
|
|
20
|
+
* The styles that are applied to the FieldWrapper.
|
|
21
|
+
*/
|
|
22
|
+
style?: React.CSSProperties;
|
|
23
|
+
/**
|
|
24
|
+
* Sets a class for the FieldWrapper DOM element.
|
|
25
|
+
*/
|
|
26
|
+
className?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Specifies the direction of the content.
|
|
29
|
+
*/
|
|
30
|
+
dir?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Defines the colspan for the form field element related to the parent Form component columns. Can be a number or an array of responsive breakpoints.
|
|
33
|
+
*/
|
|
34
|
+
colSpan?: number | ResponsiveFormBreakPoint[];
|
|
35
|
+
/**
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
38
|
+
unstyled?: FormClassStructure;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Represents the KendoReact FieldWrapper component.
|
|
42
|
+
* It's designed to wrap the field editor, Label, Hint and Error components.
|
|
43
|
+
* The FieldWrapper supports only single editor inside it.
|
|
44
|
+
*/
|
|
45
|
+
export declare const FieldWrapper: React.FunctionComponent<FieldWrapperProps>;
|
package/Form.d.ts
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { default as PropTypes } from 'prop-types';
|
|
9
|
+
import { FieldValidatorType } from './interfaces/FieldValidator.js';
|
|
10
|
+
import { FormProps } from './interfaces/FormProps.js';
|
|
11
|
+
import { KeyValue } from './interfaces/KeyValue.js';
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
/**
|
|
14
|
+
* Represents the [KendoReact Form component](https://www.telerik.com/kendo-react-ui/components/form).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```jsx
|
|
18
|
+
* export const FormInput = (fieldRenderProps) => {
|
|
19
|
+
* const onValueChange = React.useCallback(
|
|
20
|
+
* (event) => fieldRenderProps.onChange(event.target.value),
|
|
21
|
+
* [fieldRenderProps.onChange]
|
|
22
|
+
* );
|
|
23
|
+
* return (
|
|
24
|
+
* <input
|
|
25
|
+
* className={'k-input'}
|
|
26
|
+
* value={fieldRenderProps.value}
|
|
27
|
+
* onChange={onValueChange}
|
|
28
|
+
* />
|
|
29
|
+
* );
|
|
30
|
+
* };
|
|
31
|
+
*
|
|
32
|
+
* export const App = () => {
|
|
33
|
+
* const handleSubmit = (dataItem) => alert(JSON.stringify(dataItem));
|
|
34
|
+
* return (
|
|
35
|
+
* <Form
|
|
36
|
+
* initialValues={{title: ''}}
|
|
37
|
+
* onSubmit={handleSubmit}
|
|
38
|
+
* render={(formRenderProps) => (
|
|
39
|
+
* <div>
|
|
40
|
+
* <Field name={'title'} component={FormInput} />
|
|
41
|
+
* <Button
|
|
42
|
+
* disabled={!formRenderProps.allowSubmit}
|
|
43
|
+
* onClick={formRenderProps.onSubmit}
|
|
44
|
+
* >
|
|
45
|
+
* Submit
|
|
46
|
+
* </Button>
|
|
47
|
+
* </div>
|
|
48
|
+
* )}
|
|
49
|
+
* />
|
|
50
|
+
* );
|
|
51
|
+
* };
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class Form extends React.Component<FormProps, {}> {
|
|
55
|
+
/**
|
|
56
|
+
* @hidden
|
|
57
|
+
*/
|
|
58
|
+
static displayName: string;
|
|
59
|
+
/**
|
|
60
|
+
* @hidden
|
|
61
|
+
*/
|
|
62
|
+
static propTypes: {
|
|
63
|
+
initialValues: PropTypes.Requireable<any>;
|
|
64
|
+
onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
|
|
65
|
+
onSubmitClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
66
|
+
render: PropTypes.Validator<(...args: any[]) => any>;
|
|
67
|
+
id: PropTypes.Requireable<string>;
|
|
68
|
+
};
|
|
69
|
+
private _key?;
|
|
70
|
+
private _touched;
|
|
71
|
+
private _visited;
|
|
72
|
+
private _modified;
|
|
73
|
+
private _validatorsByField;
|
|
74
|
+
private _values;
|
|
75
|
+
private _fields;
|
|
76
|
+
private _unmounted;
|
|
77
|
+
private _submitted;
|
|
78
|
+
private readonly showLicenseWatermark;
|
|
79
|
+
private readonly licenseMessage?;
|
|
80
|
+
/**
|
|
81
|
+
* @hidden
|
|
82
|
+
*/
|
|
83
|
+
private _accumulatorTimeout;
|
|
84
|
+
/**
|
|
85
|
+
* @hidden
|
|
86
|
+
*/
|
|
87
|
+
get touched(): KeyValue<boolean>;
|
|
88
|
+
/**
|
|
89
|
+
* @hidden
|
|
90
|
+
*/
|
|
91
|
+
set touched(value: KeyValue<boolean>);
|
|
92
|
+
/**
|
|
93
|
+
* @hidden
|
|
94
|
+
*/
|
|
95
|
+
get visited(): KeyValue<boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* @hidden
|
|
98
|
+
*/
|
|
99
|
+
set visited(value: KeyValue<boolean>);
|
|
100
|
+
/**
|
|
101
|
+
* @hidden
|
|
102
|
+
*/
|
|
103
|
+
get modified(): KeyValue<boolean>;
|
|
104
|
+
/**
|
|
105
|
+
* @hidden
|
|
106
|
+
*/
|
|
107
|
+
set modified(value: KeyValue<boolean>);
|
|
108
|
+
/**
|
|
109
|
+
* @hidden
|
|
110
|
+
*/
|
|
111
|
+
get validatorsByField(): KeyValue<(FieldValidatorType | FieldValidatorType[] | undefined)[]>;
|
|
112
|
+
/**
|
|
113
|
+
* @hidden
|
|
114
|
+
*/
|
|
115
|
+
set validatorsByField(value: KeyValue<(FieldValidatorType | FieldValidatorType[] | undefined)[]>);
|
|
116
|
+
/**
|
|
117
|
+
* @hidden
|
|
118
|
+
*/
|
|
119
|
+
get values(): KeyValue<any>;
|
|
120
|
+
/**
|
|
121
|
+
* @hidden
|
|
122
|
+
*/
|
|
123
|
+
set values(value: KeyValue<any>);
|
|
124
|
+
/**
|
|
125
|
+
* @hidden
|
|
126
|
+
*/
|
|
127
|
+
get fields(): string[];
|
|
128
|
+
/**
|
|
129
|
+
* @hidden
|
|
130
|
+
*/
|
|
131
|
+
get formErrors(): KeyValue<string> | undefined;
|
|
132
|
+
/**
|
|
133
|
+
* @hidden
|
|
134
|
+
*/
|
|
135
|
+
get errors(): KeyValue<string>;
|
|
136
|
+
/**
|
|
137
|
+
* @hidden
|
|
138
|
+
*/
|
|
139
|
+
constructor(props: FormProps);
|
|
140
|
+
/**
|
|
141
|
+
* @hidden
|
|
142
|
+
*/
|
|
143
|
+
componentWillUnmount(): void;
|
|
144
|
+
/**
|
|
145
|
+
* @hidden
|
|
146
|
+
*/
|
|
147
|
+
isValid: () => boolean;
|
|
148
|
+
/**
|
|
149
|
+
* @hidden
|
|
150
|
+
*/
|
|
151
|
+
accumulatedForceUpdate: () => void;
|
|
152
|
+
/**
|
|
153
|
+
* @hidden
|
|
154
|
+
*/
|
|
155
|
+
resetForm: () => void;
|
|
156
|
+
/**
|
|
157
|
+
* Method for resetting the form state outside the form component.
|
|
158
|
+
*
|
|
159
|
+
* > Use `onReset` only if you cannot achieve the desired behavior through the Field component or by FormRenderProps.
|
|
160
|
+
*/
|
|
161
|
+
onReset: () => void;
|
|
162
|
+
/**
|
|
163
|
+
* @hidden
|
|
164
|
+
*/
|
|
165
|
+
addField: (field: string) => void;
|
|
166
|
+
/**
|
|
167
|
+
* @hidden
|
|
168
|
+
*/
|
|
169
|
+
onSubmit: (event: React.SyntheticEvent<any>) => void;
|
|
170
|
+
/**
|
|
171
|
+
* Method for emiting changes to a specific field outside the form component.
|
|
172
|
+
*
|
|
173
|
+
* > Use `onChange` only if you cannot achieve the desired behavior through the Field component by FormRenderProps.
|
|
174
|
+
*/
|
|
175
|
+
onChange: (name: string, options: {
|
|
176
|
+
value: any;
|
|
177
|
+
}) => void;
|
|
178
|
+
/**
|
|
179
|
+
* @hidden
|
|
180
|
+
*/
|
|
181
|
+
onFocus: (name: string, skipForceUpdate?: boolean) => void;
|
|
182
|
+
/**
|
|
183
|
+
* @hidden
|
|
184
|
+
*/
|
|
185
|
+
onBlur: (name: string, skipForceUpdate?: boolean) => void;
|
|
186
|
+
/**
|
|
187
|
+
* @hidden
|
|
188
|
+
*/
|
|
189
|
+
onFieldRegister: (name: string, validator: FieldValidatorType | FieldValidatorType[] | undefined) => () => void;
|
|
190
|
+
/**
|
|
191
|
+
* @hidden
|
|
192
|
+
*/
|
|
193
|
+
isFormValid: (errors: KeyValue<any>) => boolean;
|
|
194
|
+
/**
|
|
195
|
+
* @hidden
|
|
196
|
+
*/
|
|
197
|
+
isFormModified: (modified: KeyValue<boolean>, fields: string[]) => boolean;
|
|
198
|
+
/**
|
|
199
|
+
* @hidden
|
|
200
|
+
*/
|
|
201
|
+
isFormHasNotTouched: (touched: KeyValue<boolean>, fields: string[]) => boolean;
|
|
202
|
+
/**
|
|
203
|
+
* @hidden
|
|
204
|
+
*/
|
|
205
|
+
isFormTouched: (touched: KeyValue<boolean>, fields: string[]) => boolean;
|
|
206
|
+
/**
|
|
207
|
+
* @hidden
|
|
208
|
+
*/
|
|
209
|
+
isFormVisited: (visited: KeyValue<boolean>, fields: string[]) => boolean;
|
|
210
|
+
/**
|
|
211
|
+
* @hidden
|
|
212
|
+
*/
|
|
213
|
+
valueGetter: (fieldName: string) => any;
|
|
214
|
+
/**
|
|
215
|
+
* @hidden
|
|
216
|
+
*/
|
|
217
|
+
valueSetter: (fieldName: string, value: any) => any;
|
|
218
|
+
/**
|
|
219
|
+
* @hidden
|
|
220
|
+
*/
|
|
221
|
+
onArrayAction: (name: string) => void;
|
|
222
|
+
/**
|
|
223
|
+
* @hidden
|
|
224
|
+
*/
|
|
225
|
+
onInsert: (name: string, options: {
|
|
226
|
+
value: any;
|
|
227
|
+
index: number;
|
|
228
|
+
}) => void;
|
|
229
|
+
/**
|
|
230
|
+
* @hidden
|
|
231
|
+
*/
|
|
232
|
+
onUnshift: (name: string, options: {
|
|
233
|
+
value: any;
|
|
234
|
+
}) => void;
|
|
235
|
+
/**
|
|
236
|
+
* @hidden
|
|
237
|
+
*/
|
|
238
|
+
onPush: (name: string, options: {
|
|
239
|
+
value: any;
|
|
240
|
+
}) => void;
|
|
241
|
+
/**
|
|
242
|
+
* @hidden
|
|
243
|
+
*/
|
|
244
|
+
onPop: (name: string) => any;
|
|
245
|
+
/**
|
|
246
|
+
* @hidden
|
|
247
|
+
*/
|
|
248
|
+
onRemove: (name: string, options: {
|
|
249
|
+
index: number;
|
|
250
|
+
}) => any;
|
|
251
|
+
/**
|
|
252
|
+
* @hidden
|
|
253
|
+
*/
|
|
254
|
+
onReplace: (name: string, options: {
|
|
255
|
+
value: any;
|
|
256
|
+
index: number;
|
|
257
|
+
}) => void;
|
|
258
|
+
/**
|
|
259
|
+
* @hidden
|
|
260
|
+
*/
|
|
261
|
+
onMove: (name: string, options: {
|
|
262
|
+
prevIndex: number;
|
|
263
|
+
nextIndex: number;
|
|
264
|
+
}) => void;
|
|
265
|
+
/**
|
|
266
|
+
* @hidden
|
|
267
|
+
*/
|
|
268
|
+
render(): React.JSX.Element;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Represent the `ref` of the Form component.
|
|
272
|
+
*/
|
|
273
|
+
export interface FormHandle extends Pick<Form, keyof Form> {
|
|
274
|
+
}
|
package/FormContext.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { FieldValidatorType } from './interfaces/FieldValidator.js';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/** @hidden */
|
|
11
|
+
export type FormContextType = {
|
|
12
|
+
onSubmit: (event: React.SyntheticEvent<any>) => void;
|
|
13
|
+
onChange: (name: string, options: {
|
|
14
|
+
value: any;
|
|
15
|
+
}) => void;
|
|
16
|
+
onFocus: (name: string) => void;
|
|
17
|
+
onBlur: (name: string) => void;
|
|
18
|
+
onUnshift: (name: string, options: {
|
|
19
|
+
value: any;
|
|
20
|
+
}) => void;
|
|
21
|
+
onPush: (name: string, options: {
|
|
22
|
+
value: any;
|
|
23
|
+
}) => void;
|
|
24
|
+
onInsert: (name: string, options: {
|
|
25
|
+
index: number;
|
|
26
|
+
value: any;
|
|
27
|
+
}) => void;
|
|
28
|
+
onPop: (name: string) => any;
|
|
29
|
+
onRemove: (name: string, options: {
|
|
30
|
+
index: number;
|
|
31
|
+
}) => any;
|
|
32
|
+
onReplace: (name: string, options: {
|
|
33
|
+
index: number;
|
|
34
|
+
value: any;
|
|
35
|
+
}) => void;
|
|
36
|
+
onMove: (name: string, options: {
|
|
37
|
+
prevIndex: number;
|
|
38
|
+
nextIndex: number;
|
|
39
|
+
}) => void;
|
|
40
|
+
registerField: (name: string, validator: FieldValidatorType | FieldValidatorType[] | undefined) => void;
|
|
41
|
+
valueGetter: (name: string) => any;
|
|
42
|
+
errors: {
|
|
43
|
+
[name: string]: string;
|
|
44
|
+
};
|
|
45
|
+
touched: {
|
|
46
|
+
[name: string]: boolean;
|
|
47
|
+
};
|
|
48
|
+
visited: {
|
|
49
|
+
[name: string]: boolean;
|
|
50
|
+
};
|
|
51
|
+
modified: {
|
|
52
|
+
[name: string]: boolean;
|
|
53
|
+
};
|
|
54
|
+
id: string;
|
|
55
|
+
};
|
|
56
|
+
/** @hidden */
|
|
57
|
+
export declare const FormContext: React.Context<FormContextType | null>;
|
package/FormElement.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { FormClassStructure } from '@progress/kendo-react-common';
|
|
9
|
+
import { ResponsiveFormBreakPoint } from './interfaces/ResponsiveFormBreakPoint.js';
|
|
10
|
+
import { Gutters } from './interfaces/Gutters.js';
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_FORM_GUTTERS: {
|
|
16
|
+
cols?: number | string | null;
|
|
17
|
+
rows?: number | string | null;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Represents the props of the KendoReact FormElement component.
|
|
21
|
+
*/
|
|
22
|
+
export interface FormElementProps {
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
children?: any;
|
|
27
|
+
/**
|
|
28
|
+
* The styles that are applied to the form DOM element.
|
|
29
|
+
*/
|
|
30
|
+
style?: React.CSSProperties;
|
|
31
|
+
/**
|
|
32
|
+
* Sets a class for the form DOM element.
|
|
33
|
+
*/
|
|
34
|
+
className?: string;
|
|
35
|
+
/**
|
|
36
|
+
* If set to `true` enable the horizontal layout of the form editors.
|
|
37
|
+
*/
|
|
38
|
+
horizontal?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Sets the id of the form DOM element. Takes priority over the Form's id.
|
|
41
|
+
*/
|
|
42
|
+
id?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Defines the number of columns in the form. Can be a number or an array of responsive breakpoints.
|
|
45
|
+
*/
|
|
46
|
+
cols?: number | ResponsiveFormBreakPoint[];
|
|
47
|
+
/**
|
|
48
|
+
* Defines the gutters for the form. You can specify gutters for rows and columns. Number is equivalent to px.
|
|
49
|
+
*/
|
|
50
|
+
gutters?: string | number | Gutters | ResponsiveFormBreakPoint[];
|
|
51
|
+
/**
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
54
|
+
[customProp: string]: any;
|
|
55
|
+
/**
|
|
56
|
+
* Configures the `size` of the Form.
|
|
57
|
+
*
|
|
58
|
+
* The available options are:
|
|
59
|
+
* - small
|
|
60
|
+
* - medium
|
|
61
|
+
* - large
|
|
62
|
+
*
|
|
63
|
+
* @default undefined (theme-controlled)
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```jsx
|
|
67
|
+
* <FormElement size="large" />
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
size?: 'small' | 'medium' | 'large';
|
|
71
|
+
/**
|
|
72
|
+
* @hidden
|
|
73
|
+
*/
|
|
74
|
+
unstyled?: FormClassStructure;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Represent the `ref` of the FormElement component.
|
|
78
|
+
*/
|
|
79
|
+
export interface FormElementHandle {
|
|
80
|
+
/**
|
|
81
|
+
* Represents the props of the FormElement component.
|
|
82
|
+
*/
|
|
83
|
+
props: FormElementProps;
|
|
84
|
+
/**
|
|
85
|
+
* Represents the element of the FormElement component.
|
|
86
|
+
*/
|
|
87
|
+
element: HTMLFormElement | null;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Represents the KendoReact FormElement component.
|
|
91
|
+
* It's small wrapper around HTML form element which automatically attach the
|
|
92
|
+
* Form component's `onSubmit` render prop and Kendo CSS classes.
|
|
93
|
+
* Other props are passed to the DOM node.
|
|
94
|
+
*/
|
|
95
|
+
export declare const FormElement: React.FunctionComponent<FormElementProps>;
|
package/FormElement.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),a=require("@progress/kendo-react-common"),_=require("./FormContext.js"),o=require("./utils.js");function M(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(s,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return s.default=t,Object.freeze(s)}const e=M(G),c={rows:"0px",cols:"32px"},N=e.forwardRef((t,s)=>{const r={size:void 0,...t},n=e.useRef(null),S=e.useRef(null);e.useImperativeHandle(S,()=>({element:n.current,props:r})),e.useImperativeHandle(s,()=>S.current);const u=e.useContext(_.FormContext),{className:F,style:j,horizontal:v,size:R,cols:l,gutters:i=c,...O}=r,p=a.useUnstyled(),g=p&&p.uForm,[h,w]=e.useState(void 0),[T,b]=e.useState(void 0),C=e.useMemo(()=>{if(v)return"horizontal";if(v===!1)return"vertical"},[v]),z=e.useMemo(()=>a.classNames(a.uForm.form({c:g,size:R,orientation:C}),F),[F,g,C,R]);return e.useEffect(()=>{if(!l&&!i){w(void 0);return}if(!i){b(void 0);return}const E=()=>{let f=0;if(n.current?f=o.innerWidth(n.current):typeof window!="undefined"&&(f=window.innerWidth),l){const y=o.calculateColumns(l,f);w(o.generateColumnClass(y))}if(i){const y=o.calculateGutters(i,f);b(y?{gap:o.generateGuttersStyling(y,c)}:{gap:o.generateGuttersStyling(c,c)})}};E();let m;const d=n.current;return d&&typeof window!="undefined"&&"ResizeObserver"in window&&(m=new ResizeObserver(E),m.observe(d)),()=>{m&&d&&m.unobserve(d)}},[l,i]),e.createElement("form",{ref:n,...O,id:t.id||(u?u.id:void 0),style:t.style,className:z,onSubmit:u?u.onSubmit:void 0},l?e.createElement("div",{className:a.classNames(a.uForm.formLayout({c:g}),h),style:T},t.children):t.children)});N.displayName="KendoReactFormElement";exports.DEFAULT_FORM_GUTTERS=c;exports.FormElement=N;
|
package/FormElement.mjs
CHANGED
|
@@ -9,21 +9,21 @@ import * as e from "react";
|
|
|
9
9
|
import { useUnstyled as L, classNames as g, uForm as h } from "@progress/kendo-react-common";
|
|
10
10
|
import { FormContext as M } from "./FormContext.mjs";
|
|
11
11
|
import { innerWidth as O, calculateColumns as T, generateColumnClass as U, calculateGutters as W, generateGuttersStyling as E } from "./utils.mjs";
|
|
12
|
-
const
|
|
12
|
+
const c = {
|
|
13
13
|
rows: "0px",
|
|
14
14
|
cols: "32px"
|
|
15
15
|
}, A = e.forwardRef((t, F) => {
|
|
16
|
-
const
|
|
17
|
-
size:
|
|
16
|
+
const v = {
|
|
17
|
+
size: void 0,
|
|
18
18
|
...t
|
|
19
|
-
}, s = e.useRef(null),
|
|
20
|
-
e.useImperativeHandle(
|
|
21
|
-
const n = e.useContext(M), { className: w, style: H, horizontal:
|
|
22
|
-
if (
|
|
19
|
+
}, s = e.useRef(null), y = e.useRef(null);
|
|
20
|
+
e.useImperativeHandle(y, () => ({ element: s.current, props: v })), e.useImperativeHandle(F, () => y.current);
|
|
21
|
+
const n = e.useContext(M), { className: w, style: H, horizontal: m, size: p, cols: o, gutters: r = c, ...N } = v, C = L(), d = C && C.uForm, [z, R] = e.useState(void 0), [x, f] = e.useState(void 0), S = e.useMemo(() => {
|
|
22
|
+
if (m)
|
|
23
23
|
return "horizontal";
|
|
24
|
-
if (
|
|
24
|
+
if (m === !1)
|
|
25
25
|
return "vertical";
|
|
26
|
-
}, [
|
|
26
|
+
}, [m]), G = e.useMemo(
|
|
27
27
|
() => g(
|
|
28
28
|
h.form({
|
|
29
29
|
c: d,
|
|
@@ -35,23 +35,23 @@ const m = {
|
|
|
35
35
|
[w, d, S, p]
|
|
36
36
|
);
|
|
37
37
|
return e.useEffect(() => {
|
|
38
|
-
if (!
|
|
38
|
+
if (!o && !r) {
|
|
39
39
|
R(void 0);
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
|
-
if (!
|
|
42
|
+
if (!r) {
|
|
43
43
|
f(void 0);
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
const b = () => {
|
|
47
47
|
let a = 0;
|
|
48
|
-
if (s.current ? a = O(s.current) : typeof window != "undefined" && (a = window.innerWidth),
|
|
49
|
-
const u = T(
|
|
48
|
+
if (s.current ? a = O(s.current) : typeof window != "undefined" && (a = window.innerWidth), o) {
|
|
49
|
+
const u = T(o, a);
|
|
50
50
|
R(U(u));
|
|
51
51
|
}
|
|
52
|
-
if (
|
|
53
|
-
const u = W(
|
|
54
|
-
f(u ? { gap: E(u,
|
|
52
|
+
if (r) {
|
|
53
|
+
const u = W(r, a);
|
|
54
|
+
f(u ? { gap: E(u, c) } : { gap: E(c, c) });
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
b();
|
|
@@ -60,7 +60,7 @@ const m = {
|
|
|
60
60
|
return l && typeof window != "undefined" && "ResizeObserver" in window && (i = new ResizeObserver(b), i.observe(l)), () => {
|
|
61
61
|
i && l && i.unobserve(l);
|
|
62
62
|
};
|
|
63
|
-
}, [
|
|
63
|
+
}, [o, r]), /* @__PURE__ */ e.createElement(
|
|
64
64
|
"form",
|
|
65
65
|
{
|
|
66
66
|
ref: s,
|
|
@@ -70,7 +70,7 @@ const m = {
|
|
|
70
70
|
className: G,
|
|
71
71
|
onSubmit: n ? n.onSubmit : void 0
|
|
72
72
|
},
|
|
73
|
-
|
|
73
|
+
o ? /* @__PURE__ */ e.createElement(
|
|
74
74
|
"div",
|
|
75
75
|
{
|
|
76
76
|
className: g(
|
|
@@ -87,6 +87,6 @@ const m = {
|
|
|
87
87
|
});
|
|
88
88
|
A.displayName = "KendoReactFormElement";
|
|
89
89
|
export {
|
|
90
|
-
|
|
90
|
+
c as DEFAULT_FORM_GUTTERS,
|
|
91
91
|
A as FormElement
|
|
92
92
|
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { ResponsiveFormBreakPoint } from './interfaces/ResponsiveFormBreakPoint.js';
|
|
9
|
+
import { Gutters } from './interfaces/Gutters.js';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_FIELDSET_GUTTERS: {
|
|
15
|
+
cols?: number | string | null;
|
|
16
|
+
rows?: number | string | null;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Represents the props of the KendoReact FormFieldSet component.
|
|
20
|
+
*/
|
|
21
|
+
export interface FormFieldSetProps {
|
|
22
|
+
/**
|
|
23
|
+
* Defines the number of columns of the fieldset. Can be a number or an array of responsive breakpoints.
|
|
24
|
+
*/
|
|
25
|
+
cols?: number | ResponsiveFormBreakPoint[];
|
|
26
|
+
/**
|
|
27
|
+
* Defines the colspan for the fieldset related to the parent Form component columns. Can be a number or an array of responsive breakpoints.
|
|
28
|
+
*/
|
|
29
|
+
colSpan?: number | ResponsiveFormBreakPoint[];
|
|
30
|
+
/**
|
|
31
|
+
* Defines the gutters for the fieldset. You can specify gutters for rows and columns. Number is equivalent to px.
|
|
32
|
+
*/
|
|
33
|
+
gutters?: string | number | Gutters | ResponsiveFormBreakPoint[];
|
|
34
|
+
/**
|
|
35
|
+
* Defines the legend for the fieldset.
|
|
36
|
+
*/
|
|
37
|
+
legend?: string;
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
41
|
+
children?: any;
|
|
42
|
+
/**
|
|
43
|
+
* The styles that are applied to the form DOM element.
|
|
44
|
+
*/
|
|
45
|
+
style?: React.CSSProperties;
|
|
46
|
+
/**
|
|
47
|
+
* Sets a class for the form DOM element.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Represent the `ref` of the FormFieldSet component.
|
|
53
|
+
*/
|
|
54
|
+
export interface FormFieldSetHandle {
|
|
55
|
+
/**
|
|
56
|
+
* Represents the props of the FormFieldSet component.
|
|
57
|
+
*/
|
|
58
|
+
props: FormFieldSetProps;
|
|
59
|
+
/**
|
|
60
|
+
* Represents the element of the FormFieldSet component.
|
|
61
|
+
*/
|
|
62
|
+
element: HTMLFieldSetElement | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Represents the KendoReact FormFieldSet component.
|
|
66
|
+
*/
|
|
67
|
+
export declare const FormFieldSet: React.FunctionComponent<FormFieldSetProps>;
|