@gravity-ui/dynamic-forms 5.21.0 → 5.22.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.
@@ -3,27 +3,32 @@ import type { FieldRenderProps } from 'react-final-form';
3
3
  import type { SchemaRendererMode } from '../constants';
4
4
  import type { SchemaToValueType } from './helpers';
5
5
  import type { JsonSchema } from './schema';
6
- export interface NodeLayoutProps<Schema extends JsonSchema, Props extends Record<string, any> = {}> extends FieldRenderProps<SchemaToValueType<Schema> | null | undefined> {
6
+ export interface DefaultNodeLayoutProps {
7
+ copy?: boolean;
8
+ hidden?: boolean;
9
+ open?: boolean;
10
+ required?: boolean;
11
+ }
12
+ export interface NodeLayoutProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> extends FieldRenderProps<Value | null | undefined> {
7
13
  children: React.ReactNode;
8
14
  headName: string;
9
15
  mode: SchemaRendererMode;
10
- props: {
11
- copy?: boolean;
12
- hidden?: boolean;
13
- open?: boolean;
14
- required?: boolean;
15
- } & Partial<Props>;
16
+ props: DefaultNodeLayoutProps & Partial<Props>;
16
17
  schema: Schema;
17
18
  schemaPath: string;
18
19
  }
19
- export type NodeLayout<Schema extends JsonSchema, Props extends Record<string, any> = {}> = React.FC<NodeLayoutProps<Schema, Props>>;
20
- export interface NodeEntityProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}> extends FieldRenderProps<SchemaToValueType<Schema> | null | undefined> {
20
+ export type NodeLayout<Schema extends JsonSchema, Props extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> = React.FC<NodeLayoutProps<Schema, Props, Value>>;
21
+ export interface DefaultNodeEntityProps {
22
+ disabled?: boolean;
23
+ required?: boolean;
24
+ }
25
+ export interface NodeEntityProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> extends FieldRenderProps<Value | null | undefined> {
21
26
  Layout?: NodeLayout<Schema, LayoutProps>;
22
27
  headName: string;
23
- layoutProps?: LayoutProps;
28
+ layoutProps?: DefaultNodeLayoutProps & Partial<LayoutProps>;
24
29
  mode: SchemaRendererMode;
25
- props: Partial<Props>;
30
+ props: DefaultNodeEntityProps & Partial<Props>;
26
31
  schema: Schema;
27
32
  schemaPath: string;
28
33
  }
29
- export type NodeEntity<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}> = React.FC<NodeEntityProps<Schema, Props, LayoutProps>>;
34
+ export type NodeEntity<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> = React.FC<NodeEntityProps<Schema, Props, LayoutProps, Value>>;
@@ -1,25 +1,25 @@
1
1
  import type { JsonSchemaType, NodeType } from '../constants';
2
- import type { NodeEntity, NodeLayout } from './components';
2
+ import type { DefaultNodeEntityProps, DefaultNodeLayoutProps, NodeEntity, NodeLayout } from './components';
3
3
  import type { ErrorMessages, Validator } from './validation';
4
4
  import type { ArrayValue, FieldValue, ObjectValue } from './values';
5
5
  interface NodeParameters<Type extends NodeType, Schema extends JsonSchema> {
6
6
  nodeParameters?: {
7
7
  entity?: string | NodeEntity<Schema>;
8
- entityProps?: Record<string, any>;
8
+ entityProps?: DefaultNodeEntityProps & Record<string, any>;
9
9
  errorMessages?: Omit<ErrorMessages, 'dependencies' | 'required'> & {
10
10
  dependencies?: ErrorMessages['dependencies'] | Record<string, ErrorMessages['dependencies']>;
11
11
  required?: ErrorMessages['required'] | Record<string, ErrorMessages['required']>;
12
12
  };
13
13
  formEntity?: string | NodeEntity<Schema>;
14
- formEntityProps?: Record<string, any>;
14
+ formEntityProps?: DefaultNodeEntityProps & Record<string, any>;
15
15
  formLayout?: string | NodeLayout<Schema>;
16
- formLayoutProps?: Record<string, any>;
16
+ formLayoutProps?: DefaultNodeLayoutProps & Record<string, any>;
17
17
  layout?: string | NodeLayout<Schema>;
18
- layoutProps?: Record<string, any>;
18
+ layoutProps?: DefaultNodeLayoutProps & Record<string, any>;
19
19
  overviewEntity?: string | NodeEntity<Schema>;
20
- overviewEntityProps?: Record<string, any>;
20
+ overviewEntityProps?: DefaultNodeEntityProps & Record<string, any>;
21
21
  overviewLayout?: string | NodeLayout<Schema>;
22
- overviewLayoutProps?: Record<string, any>;
22
+ overviewLayoutProps?: DefaultNodeLayoutProps & Record<string, any>;
23
23
  type?: Type;
24
24
  validator?: string | Validator<Schema>;
25
25
  };
@@ -1,5 +1,5 @@
1
1
  import type { NodeType } from '../constants';
2
- import type { ErrorMessages, NodeEntity, NodeLayout, NodesConfig, Validator } from '../types';
2
+ import type { DefaultNodeEntityProps, DefaultNodeLayoutProps, ErrorMessages, NodeEntity, NodeLayout, NodesConfig, Validator } from '../types';
3
3
  import type { EntityKind, ExtractNodeEntityProps, ExtractNodeLayoutProps, LayoutKind, NodeComponentProps, NodeTypeConfigKey, SchemaOfNodeType } from '../types/helpers';
4
4
  export declare const defineNodeEntityConfig: <Component extends NodeEntity<any>>(nodeEntityConfig: {
5
5
  Component: Component;
@@ -20,17 +20,17 @@ export declare const defineNodeLayoutConfig: <Component extends NodeLayout<any>>
20
20
  export declare const createNodeParametersDefiner: <Config extends NodesConfig>(_config: Config) => <Type extends NodeType, const Entity extends NodeTypeConfigKey<Config, Type, "formEntities"> | NodeTypeConfigKey<Config, Type, "overviewEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const FormEntity extends NodeTypeConfigKey<Config, Type, "formEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const OverviewEntity extends NodeTypeConfigKey<Config, Type, "overviewEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const Layout extends NodeTypeConfigKey<Config, Type, "formLayouts"> | NodeTypeConfigKey<Config, Type, "overviewLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const FormLayout extends NodeTypeConfigKey<Config, Type, "formLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const OverviewLayout extends NodeTypeConfigKey<Config, Type, "overviewLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const ValidatorRef extends NodeTypeConfigKey<Config, Type, "validators"> | Validator<SchemaOfNodeType<Type>> | undefined = undefined>(nodeParameters: {
21
21
  type: Type;
22
22
  entity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | Entity;
23
- entityProps?: NodeComponentProps<Config, Type, EntityKind, Entity>;
23
+ entityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, EntityKind, Entity>;
24
24
  formEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NodeEntity<SchemaOfNodeType<Type>> | FormEntity;
25
- formEntityProps?: NodeComponentProps<Config, Type, "formEntities", FormEntity>;
25
+ formEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "formEntities", FormEntity>;
26
26
  overviewEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | OverviewEntity;
27
- overviewEntityProps?: NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
27
+ overviewEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
28
28
  layout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | Layout;
29
- layoutProps?: NodeComponentProps<Config, Type, LayoutKind, Layout>;
29
+ layoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, LayoutKind, Layout>;
30
30
  formLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | FormLayout;
31
- formLayoutProps?: NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
31
+ formLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
32
32
  overviewLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | OverviewLayout;
33
- overviewLayoutProps?: NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
33
+ overviewLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
34
34
  errorMessages?: Omit<ErrorMessages, "dependencies" | "required"> & {
35
35
  dependencies?: ErrorMessages["dependencies"] | Record<string, ErrorMessages["dependencies"]>;
36
36
  required?: ErrorMessages["required"] | Record<string, ErrorMessages["required"]>;
@@ -39,17 +39,17 @@ export declare const createNodeParametersDefiner: <Config extends NodesConfig>(_
39
39
  }) => {
40
40
  type: Type;
41
41
  entity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | Entity;
42
- entityProps?: NodeComponentProps<Config, Type, EntityKind, Entity>;
42
+ entityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, EntityKind, Entity>;
43
43
  formEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NodeEntity<SchemaOfNodeType<Type>> | FormEntity;
44
- formEntityProps?: NodeComponentProps<Config, Type, "formEntities", FormEntity>;
44
+ formEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "formEntities", FormEntity>;
45
45
  overviewEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | OverviewEntity;
46
- overviewEntityProps?: NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
46
+ overviewEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
47
47
  layout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | Layout;
48
- layoutProps?: NodeComponentProps<Config, Type, LayoutKind, Layout>;
48
+ layoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, LayoutKind, Layout>;
49
49
  formLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | FormLayout;
50
- formLayoutProps?: NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
50
+ formLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
51
51
  overviewLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | OverviewLayout;
52
- overviewLayoutProps?: NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
52
+ overviewLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
53
53
  errorMessages?: Omit<ErrorMessages, "dependencies" | "required"> & {
54
54
  dependencies?: ErrorMessages["dependencies"] | Record<string, ErrorMessages["dependencies"]>;
55
55
  required?: ErrorMessages["required"] | Record<string, ErrorMessages["required"]>;
@@ -760,6 +760,13 @@ exports.objectInputTypeRules = {
760
760
  if (spec.description) {
761
761
  (0, set_1.default)(mutableSchema, 'nodeParameters.entityProps.toggler.nodeParameters.entityProps.enumDescriptions', spec.description);
762
762
  }
763
+ else {
764
+ const enumDescriptions = Object.fromEntries(Object.entries(spec.properties || {}).map(([key, value]) => [
765
+ key,
766
+ value.viewSpec.layoutTitle || key,
767
+ ]));
768
+ (0, set_1.default)(mutableSchema, 'nodeParameters.entityProps.toggler.nodeParameters.entityProps.enumDescriptions', enumDescriptions);
769
+ }
763
770
  if (spec.validator && spec.validator !== 'base') {
764
771
  (0, set_1.default)(mutableSchema, 'nodeParameters.entityProps.validator', spec.validator);
765
772
  }
@@ -3,27 +3,32 @@ import type { FieldRenderProps } from 'react-final-form';
3
3
  import type { SchemaRendererMode } from '../constants';
4
4
  import type { SchemaToValueType } from './helpers';
5
5
  import type { JsonSchema } from './schema';
6
- export interface NodeLayoutProps<Schema extends JsonSchema, Props extends Record<string, any> = {}> extends FieldRenderProps<SchemaToValueType<Schema> | null | undefined> {
6
+ export interface DefaultNodeLayoutProps {
7
+ copy?: boolean;
8
+ hidden?: boolean;
9
+ open?: boolean;
10
+ required?: boolean;
11
+ }
12
+ export interface NodeLayoutProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> extends FieldRenderProps<Value | null | undefined> {
7
13
  children: React.ReactNode;
8
14
  headName: string;
9
15
  mode: SchemaRendererMode;
10
- props: {
11
- copy?: boolean;
12
- hidden?: boolean;
13
- open?: boolean;
14
- required?: boolean;
15
- } & Partial<Props>;
16
+ props: DefaultNodeLayoutProps & Partial<Props>;
16
17
  schema: Schema;
17
18
  schemaPath: string;
18
19
  }
19
- export type NodeLayout<Schema extends JsonSchema, Props extends Record<string, any> = {}> = React.FC<NodeLayoutProps<Schema, Props>>;
20
- export interface NodeEntityProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}> extends FieldRenderProps<SchemaToValueType<Schema> | null | undefined> {
20
+ export type NodeLayout<Schema extends JsonSchema, Props extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> = React.FC<NodeLayoutProps<Schema, Props, Value>>;
21
+ export interface DefaultNodeEntityProps {
22
+ disabled?: boolean;
23
+ required?: boolean;
24
+ }
25
+ export interface NodeEntityProps<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> extends FieldRenderProps<Value | null | undefined> {
21
26
  Layout?: NodeLayout<Schema, LayoutProps>;
22
27
  headName: string;
23
- layoutProps?: LayoutProps;
28
+ layoutProps?: DefaultNodeLayoutProps & Partial<LayoutProps>;
24
29
  mode: SchemaRendererMode;
25
- props: Partial<Props>;
30
+ props: DefaultNodeEntityProps & Partial<Props>;
26
31
  schema: Schema;
27
32
  schemaPath: string;
28
33
  }
29
- export type NodeEntity<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}> = React.FC<NodeEntityProps<Schema, Props, LayoutProps>>;
34
+ export type NodeEntity<Schema extends JsonSchema, Props extends Record<string, any> = {}, LayoutProps extends Record<string, any> = {}, Value extends SchemaToValueType<Schema> = SchemaToValueType<Schema>> = React.FC<NodeEntityProps<Schema, Props, LayoutProps, Value>>;
@@ -1,25 +1,25 @@
1
1
  import type { JsonSchemaType, NodeType } from '../constants';
2
- import type { NodeEntity, NodeLayout } from './components';
2
+ import type { DefaultNodeEntityProps, DefaultNodeLayoutProps, NodeEntity, NodeLayout } from './components';
3
3
  import type { ErrorMessages, Validator } from './validation';
4
4
  import type { ArrayValue, FieldValue, ObjectValue } from './values';
5
5
  interface NodeParameters<Type extends NodeType, Schema extends JsonSchema> {
6
6
  nodeParameters?: {
7
7
  entity?: string | NodeEntity<Schema>;
8
- entityProps?: Record<string, any>;
8
+ entityProps?: DefaultNodeEntityProps & Record<string, any>;
9
9
  errorMessages?: Omit<ErrorMessages, 'dependencies' | 'required'> & {
10
10
  dependencies?: ErrorMessages['dependencies'] | Record<string, ErrorMessages['dependencies']>;
11
11
  required?: ErrorMessages['required'] | Record<string, ErrorMessages['required']>;
12
12
  };
13
13
  formEntity?: string | NodeEntity<Schema>;
14
- formEntityProps?: Record<string, any>;
14
+ formEntityProps?: DefaultNodeEntityProps & Record<string, any>;
15
15
  formLayout?: string | NodeLayout<Schema>;
16
- formLayoutProps?: Record<string, any>;
16
+ formLayoutProps?: DefaultNodeLayoutProps & Record<string, any>;
17
17
  layout?: string | NodeLayout<Schema>;
18
- layoutProps?: Record<string, any>;
18
+ layoutProps?: DefaultNodeLayoutProps & Record<string, any>;
19
19
  overviewEntity?: string | NodeEntity<Schema>;
20
- overviewEntityProps?: Record<string, any>;
20
+ overviewEntityProps?: DefaultNodeEntityProps & Record<string, any>;
21
21
  overviewLayout?: string | NodeLayout<Schema>;
22
- overviewLayoutProps?: Record<string, any>;
22
+ overviewLayoutProps?: DefaultNodeLayoutProps & Record<string, any>;
23
23
  type?: Type;
24
24
  validator?: string | Validator<Schema>;
25
25
  };
@@ -1,5 +1,5 @@
1
1
  import type { NodeType } from '../constants';
2
- import type { ErrorMessages, NodeEntity, NodeLayout, NodesConfig, Validator } from '../types';
2
+ import type { DefaultNodeEntityProps, DefaultNodeLayoutProps, ErrorMessages, NodeEntity, NodeLayout, NodesConfig, Validator } from '../types';
3
3
  import type { EntityKind, ExtractNodeEntityProps, ExtractNodeLayoutProps, LayoutKind, NodeComponentProps, NodeTypeConfigKey, SchemaOfNodeType } from '../types/helpers';
4
4
  export declare const defineNodeEntityConfig: <Component extends NodeEntity<any>>(nodeEntityConfig: {
5
5
  Component: Component;
@@ -20,17 +20,17 @@ export declare const defineNodeLayoutConfig: <Component extends NodeLayout<any>>
20
20
  export declare const createNodeParametersDefiner: <Config extends NodesConfig>(_config: Config) => <Type extends NodeType, const Entity extends NodeTypeConfigKey<Config, Type, "formEntities"> | NodeTypeConfigKey<Config, Type, "overviewEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const FormEntity extends NodeTypeConfigKey<Config, Type, "formEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const OverviewEntity extends NodeTypeConfigKey<Config, Type, "overviewEntities"> | NodeEntity<SchemaOfNodeType<Type>> | undefined = undefined, const Layout extends NodeTypeConfigKey<Config, Type, "formLayouts"> | NodeTypeConfigKey<Config, Type, "overviewLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const FormLayout extends NodeTypeConfigKey<Config, Type, "formLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const OverviewLayout extends NodeTypeConfigKey<Config, Type, "overviewLayouts"> | NodeLayout<SchemaOfNodeType<Type>> | undefined = undefined, const ValidatorRef extends NodeTypeConfigKey<Config, Type, "validators"> | Validator<SchemaOfNodeType<Type>> | undefined = undefined>(nodeParameters: {
21
21
  type: Type;
22
22
  entity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | Entity;
23
- entityProps?: NodeComponentProps<Config, Type, EntityKind, Entity>;
23
+ entityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, EntityKind, Entity>;
24
24
  formEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NodeEntity<SchemaOfNodeType<Type>> | FormEntity;
25
- formEntityProps?: NodeComponentProps<Config, Type, "formEntities", FormEntity>;
25
+ formEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "formEntities", FormEntity>;
26
26
  overviewEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | OverviewEntity;
27
- overviewEntityProps?: NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
27
+ overviewEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
28
28
  layout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | Layout;
29
- layoutProps?: NodeComponentProps<Config, Type, LayoutKind, Layout>;
29
+ layoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, LayoutKind, Layout>;
30
30
  formLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | FormLayout;
31
- formLayoutProps?: NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
31
+ formLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
32
32
  overviewLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | OverviewLayout;
33
- overviewLayoutProps?: NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
33
+ overviewLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
34
34
  errorMessages?: Omit<ErrorMessages, "dependencies" | "required"> & {
35
35
  dependencies?: ErrorMessages["dependencies"] | Record<string, ErrorMessages["dependencies"]>;
36
36
  required?: ErrorMessages["required"] | Record<string, ErrorMessages["required"]>;
@@ -39,17 +39,17 @@ export declare const createNodeParametersDefiner: <Config extends NodesConfig>(_
39
39
  }) => {
40
40
  type: Type;
41
41
  entity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | Entity;
42
- entityProps?: NodeComponentProps<Config, Type, EntityKind, Entity>;
42
+ entityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, EntityKind, Entity>;
43
43
  formEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "formEntities">> | NodeEntity<SchemaOfNodeType<Type>> | FormEntity;
44
- formEntityProps?: NodeComponentProps<Config, Type, "formEntities", FormEntity>;
44
+ formEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "formEntities", FormEntity>;
45
45
  overviewEntity?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewEntities">> | NodeEntity<SchemaOfNodeType<Type>> | OverviewEntity;
46
- overviewEntityProps?: NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
46
+ overviewEntityProps?: DefaultNodeEntityProps & NodeComponentProps<Config, Type, "overviewEntities", OverviewEntity>;
47
47
  layout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | Layout;
48
- layoutProps?: NodeComponentProps<Config, Type, LayoutKind, Layout>;
48
+ layoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, LayoutKind, Layout>;
49
49
  formLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "formLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | FormLayout;
50
- formLayoutProps?: NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
50
+ formLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "formLayouts", FormLayout>;
51
51
  overviewLayout?: NoInfer<NodeTypeConfigKey<Config, Type, "overviewLayouts">> | NodeLayout<SchemaOfNodeType<Type>> | OverviewLayout;
52
- overviewLayoutProps?: NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
52
+ overviewLayoutProps?: DefaultNodeLayoutProps & NodeComponentProps<Config, Type, "overviewLayouts", OverviewLayout>;
53
53
  errorMessages?: Omit<ErrorMessages, "dependencies" | "required"> & {
54
54
  dependencies?: ErrorMessages["dependencies"] | Record<string, ErrorMessages["dependencies"]>;
55
55
  required?: ErrorMessages["required"] | Record<string, ErrorMessages["required"]>;
@@ -755,6 +755,13 @@ export const objectInputTypeRules = {
755
755
  if (spec.description) {
756
756
  set(mutableSchema, 'nodeParameters.entityProps.toggler.nodeParameters.entityProps.enumDescriptions', spec.description);
757
757
  }
758
+ else {
759
+ const enumDescriptions = Object.fromEntries(Object.entries(spec.properties || {}).map(([key, value]) => [
760
+ key,
761
+ value.viewSpec.layoutTitle || key,
762
+ ]));
763
+ set(mutableSchema, 'nodeParameters.entityProps.toggler.nodeParameters.entityProps.enumDescriptions', enumDescriptions);
764
+ }
758
765
  if (spec.validator && spec.validator !== 'base') {
759
766
  set(mutableSchema, 'nodeParameters.entityProps.validator', spec.validator);
760
767
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/dynamic-forms",
3
- "version": "5.21.0",
3
+ "version": "5.22.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "build/cjs/index.js",
@@ -44,14 +44,15 @@
44
44
  "playwright:docker:clear-cache": "./scripts/playwright-docker.sh clear-cache"
45
45
  },
46
46
  "dependencies": {
47
- "@bem-react/classname": "^1.6.0",
48
- "@gravity-ui/date-components": "^3.0.0",
49
- "@gravity-ui/date-utils": "^2.5.5",
50
- "@gravity-ui/i18n": "^1.2.0",
51
- "@gravity-ui/icons": "^2.12.0",
47
+ "@bem-react/classname": "^1.8.0",
48
+ "@gravity-ui/date-components": "^3.4.2",
49
+ "@gravity-ui/date-utils": "^2.7.1",
50
+ "@gravity-ui/i18n": "^1.8.0",
51
+ "@gravity-ui/icons": "^2.22.0",
52
52
  "decimal.js": "^10.6.0",
53
53
  "json-schema-library": "^11.6.2",
54
- "lodash": "^4.17.20"
54
+ "lodash": "^4.18.1",
55
+ "uuid": "^14.0.2"
55
56
  },
56
57
  "devDependencies": {
57
58
  "@babel/preset-env": "^7.20.2",
@@ -80,7 +81,6 @@
80
81
  "@types/react": "^19.0.0",
81
82
  "@types/react-dom": "^19.0.0",
82
83
  "@types/react-is": "^17.0.3",
83
- "@types/uuid": "^9.0.4",
84
84
  "@vitejs/plugin-react": "^4.2.0",
85
85
  "css-loader": "^5.2.6",
86
86
  "eslint": "^8.49.0",
@@ -113,8 +113,7 @@
113
113
  "stylelint": "^15.10.3",
114
114
  "stylelint-scss": "^5.1.0",
115
115
  "ts-jest": "^29.0.5",
116
- "typescript": "^5.8.4",
117
- "uuid": "^9.0.1"
116
+ "typescript": "^5.8.4"
118
117
  },
119
118
  "peerDependencies": {
120
119
  "@gravity-ui/uikit": "^7.0.0",