@ghentcdh/json-forms-vue 0.8.5 → 1.0.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.
Files changed (72) hide show
  1. package/form.store.d.ts +1 -1
  2. package/forms/Dispatch.vue.d.ts +10 -0
  3. package/forms/FormComponent.properties.d.ts +48 -0
  4. package/{form.component.vue.d.ts → forms/FormComponent.vue.d.ts} +19 -17
  5. package/forms/FormWithActions.properties.d.ts +52 -0
  6. package/forms/FormWithActions.vue.d.ts +258 -0
  7. package/forms/FormWithTable.properties.d.ts +65 -0
  8. package/{form-with-table.component.vue.d.ts → forms/FormWithTable.vue.d.ts} +24 -15
  9. package/forms/errorMessages.d.ts +10 -0
  10. package/forms/errorMode.d.ts +4 -0
  11. package/forms/modal/FormModal.properties.d.ts +64 -0
  12. package/forms/modal/FormModal.vue.d.ts +275 -0
  13. package/{modal/form-modal.service.d.ts → forms/modal/FormModalService.d.ts} +4 -5
  14. package/forms/renderer-registry.d.ts +7 -0
  15. package/forms/renderers/array/ArrayRenderer.vue.d.ts +7 -0
  16. package/forms/renderers/array/ArrayRenderers.d.ts +10 -0
  17. package/forms/renderers/controls/AutocompleteControlRenderer.vue.d.ts +7 -0
  18. package/forms/renderers/controls/BooleanControlRenderer.vue.d.ts +7 -0
  19. package/forms/renderers/controls/MarkdownControlRenderer.vue.d.ts +7 -0
  20. package/forms/renderers/controls/MultiSelectControlRenderer.vue.d.ts +7 -0
  21. package/forms/renderers/controls/NumberControlRenderer.vue.d.ts +7 -0
  22. package/forms/renderers/controls/SelectControlRenderer.vue.d.ts +7 -0
  23. package/forms/renderers/controls/StringControlRenderer.vue.d.ts +7 -0
  24. package/forms/renderers/controls/TextAreaControlRenderer.vue.d.ts +7 -0
  25. package/forms/renderers/controls/composable/UseControlBinding.d.ts +29 -0
  26. package/forms/renderers/controls/composable/UseFetchOption.d.ts +16 -0
  27. package/forms/renderers/controls/composable/UseInput.d.ts +24 -0
  28. package/forms/renderers/controls/composable/UseSelectBinding.d.ts +23 -0
  29. package/forms/renderers/controls/composable/resource.d.ts +187 -0
  30. package/forms/renderers/controls/index.d.ts +10 -0
  31. package/forms/renderers/index.d.ts +3 -0
  32. package/forms/renderers/layout/CollapseLayoutRenderer.vue.d.ts +7 -0
  33. package/forms/renderers/layout/LayoutRenderer.vue.d.ts +7 -0
  34. package/forms/renderers/layout/LayoutRenders.d.ts +10 -0
  35. package/forms/renderers/layout/colspan.d.ts +1 -0
  36. package/forms/renderes.d.ts +19 -0
  37. package/forms/scope.d.ts +4 -0
  38. package/forms/types.d.ts +36 -0
  39. package/index.d.ts +9 -12
  40. package/index.js +1828 -1491
  41. package/index.mjs +1879 -1542
  42. package/package.json +4 -5
  43. package/renderes/tester.d.ts +2 -0
  44. package/form-with-actions.component.properties.d.ts +0 -40
  45. package/form-with-actions.component.vue.d.ts +0 -88
  46. package/form-with-table.component.properties.d.ts +0 -58
  47. package/form.component.properties.d.ts +0 -49
  48. package/modal/form-modal.props.d.ts +0 -30
  49. package/modal/form-modal.vue.d.ts +0 -35
  50. package/modal/index.d.ts +0 -3
  51. package/renderes/array/ArrayRenderer.vue.d.ts +0 -74
  52. package/renderes/array/index.d.ts +0 -76
  53. package/renderes/controls/AutocompleteControlRenderer.vue.d.ts +0 -74
  54. package/renderes/controls/BooleanControlRenderer.vue.d.ts +0 -74
  55. package/renderes/controls/IntegerControlRenderer.vue.d.ts +0 -74
  56. package/renderes/controls/MarkdownControlRenderer.vue.d.ts +0 -74
  57. package/renderes/controls/MultiSelectControlRender.vue.d.ts +0 -74
  58. package/renderes/controls/NumberControlRenderer.vue.d.ts +0 -74
  59. package/renderes/controls/SelectControlRender.vue.d.ts +0 -74
  60. package/renderes/controls/StringControlRenderer.vue.d.ts +0 -74
  61. package/renderes/controls/TextAreaControlRenderer.vue.d.ts +0 -74
  62. package/renderes/controls/index.d.ts +0 -675
  63. package/renderes/index.d.ts +0 -817
  64. package/renderes/layouts/CollapseLayout.vue.d.ts +0 -73
  65. package/renderes/layouts/GridLayout.vue.d.ts +0 -73
  66. package/renderes/layouts/HorizontalLayout.vue.d.ts +0 -73
  67. package/renderes/layouts/VerticalLayout.vue.d.ts +0 -73
  68. package/renderes/layouts/index.d.ts +0 -75
  69. package/standalone/emits.d.ts +0 -5
  70. package/standalone/properties.d.ts +0 -2
  71. package/utils/style.d.ts +0 -6
  72. package/utils/vanillaControl.d.ts +0 -15
package/form.store.d.ts CHANGED
@@ -4,5 +4,5 @@ export declare class FormStore {
4
4
  delete<T>(data: T & {
5
5
  id?: string;
6
6
  }): Promise<void>;
7
- save<T>(id: string | null, data: T): Promise<void>;
7
+ save<T>(id: string | null, data: T): Promise<any>;
8
8
  }
@@ -0,0 +1,10 @@
1
+ import { JsonSchema, UISchemaElement } from '@jsonforms/core';
2
+ type __VLS_Props = {
3
+ uischema: UISchemaElement;
4
+ schema: JsonSchema;
5
+ pathPrefix?: string;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
+ pathPrefix: string;
9
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue';
2
+ import { ErrorMode } from './errorMode';
3
+ export type Data = {
4
+ [key: string]: any;
5
+ };
6
+ export type SubmitFormEvent = {
7
+ data: Data;
8
+ valid: boolean;
9
+ };
10
+ export declare const JsonFormComponentProperties: {
11
+ /** Unique identifier used to namespace the form element. */
12
+ id: {
13
+ type: StringConstructor;
14
+ required: true;
15
+ };
16
+ /** HTML name attribute for the form. */
17
+ name: {
18
+ type: StringConstructor;
19
+ default: string;
20
+ };
21
+ /** JSON schema describing the shape of the form data. */
22
+ schema: {
23
+ type: PropType<any>;
24
+ required: true;
25
+ };
26
+ /** UI schema describing the layout and controls. */
27
+ uiSchema: {
28
+ type: PropType<any>;
29
+ required: true;
30
+ };
31
+ /** Disable all form controls. */
32
+ disabled: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ /** Current form data object. */
37
+ formData: {
38
+ type: PropType<Data>;
39
+ default: () => {};
40
+ };
41
+ /** When validation errors are shown (`'onBlur'`, `'onChange'`, `'onSubmit'`, `'always'`). */
42
+ errorMode: {
43
+ type: PropType<ErrorMode>;
44
+ default: "onChanges";
45
+ };
46
+ };
47
+ export type JsonFormComponentProp = ExtractPublicPropTypes<typeof JsonFormComponentProperties>;
48
+ export declare const JsonFormComponentEmits: string[];
@@ -1,8 +1,8 @@
1
- import { Data } from './form.component.properties';
1
+ import { Data } from './FormComponent.properties';
2
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
3
  id: {
4
4
  type: StringConstructor;
5
- required: boolean;
5
+ required: true;
6
6
  };
7
7
  name: {
8
8
  type: StringConstructor;
@@ -10,15 +10,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
10
10
  };
11
11
  schema: {
12
12
  type: import('vue').PropType<any>;
13
- required: boolean;
13
+ required: true;
14
14
  };
15
15
  uiSchema: {
16
16
  type: import('vue').PropType<any>;
17
- required: boolean;
18
- };
19
- renderers: {
20
- type: import('vue').PropType<import('@jsonforms/core').JsonFormsRendererRegistryEntry[]>;
21
- default: undefined;
17
+ required: true;
22
18
  };
23
19
  disabled: {
24
20
  type: BooleanConstructor;
@@ -28,10 +24,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
28
24
  type: import('vue').PropType<Data>;
29
25
  default: () => {};
30
26
  };
31
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
+ errorMode: {
28
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
29
+ default: "onChanges";
30
+ };
31
+ }>, {
32
+ markSubmitted: () => void;
33
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
32
34
  id: {
33
35
  type: StringConstructor;
34
- required: boolean;
36
+ required: true;
35
37
  };
36
38
  name: {
37
39
  type: StringConstructor;
@@ -39,15 +41,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
39
41
  };
40
42
  schema: {
41
43
  type: import('vue').PropType<any>;
42
- required: boolean;
44
+ required: true;
43
45
  };
44
46
  uiSchema: {
45
47
  type: import('vue').PropType<any>;
46
- required: boolean;
47
- };
48
- renderers: {
49
- type: import('vue').PropType<import('@jsonforms/core').JsonFormsRendererRegistryEntry[]>;
50
- default: undefined;
48
+ required: true;
51
49
  };
52
50
  disabled: {
53
51
  type: BooleanConstructor;
@@ -57,10 +55,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
57
55
  type: import('vue').PropType<Data>;
58
56
  default: () => {};
59
57
  };
58
+ errorMode: {
59
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
60
+ default: "onChanges";
61
+ };
60
62
  }>> & Readonly<{}>, {
63
+ errorMode: import('./errorMode').ErrorMode;
61
64
  disabled: boolean;
62
65
  name: string;
63
- renderers: import('@jsonforms/core').JsonFormsRendererRegistryEntry[];
64
66
  formData: Data;
65
67
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLFormElement>;
66
68
  export default _default;
@@ -0,0 +1,52 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue';
2
+ import { ErrorMode } from './errorMode';
3
+ export declare const FormWithActionsProperties: {
4
+ /** Unique identifier used to namespace the inner form element. */
5
+ id: {
6
+ type: StringConstructor;
7
+ required: true;
8
+ };
9
+ /** Title shown when creating a new record. */
10
+ createTitle: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ /** Title shown when editing an existing record. Falls back to `createTitle` when omitted. */
15
+ updateTitle: {
16
+ type: StringConstructor;
17
+ };
18
+ /** JSON schema describing the shape of the form data. */
19
+ schema: {
20
+ type: PropType<any>;
21
+ };
22
+ /** UI schema describing the layout and controls. */
23
+ uiSchema: {
24
+ type: PropType<any>;
25
+ };
26
+ /** REST endpoint used by `FormStore` to persist data. When omitted the form emits `submit` instead. */
27
+ uri: {
28
+ type: StringConstructor;
29
+ };
30
+ /** Enable vertical scrolling inside the form area. */
31
+ scrollable: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ /** Stretch the collapse wrapper to full height. */
36
+ fullHeight: {
37
+ type: BooleanConstructor;
38
+ default: boolean;
39
+ };
40
+ /** Two-way bound form data object. */
41
+ modelValue: {
42
+ type: PropType<any>;
43
+ default: () => {};
44
+ };
45
+ /** When validation errors are shown (`'onBlur'`, `'onChange'`, `'onSubmit'`, `'always'`). */
46
+ errorMode: {
47
+ type: PropType<ErrorMode>;
48
+ default: "onBlur";
49
+ };
50
+ };
51
+ export type FormWithActionsProp = ExtractPublicPropTypes<typeof FormWithActionsProperties>;
52
+ export declare const FormWithActionsEmits: string[];
@@ -0,0 +1,258 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ actions?(_: {}): any;
5
+ };
6
+ refs: {
7
+ formRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
8
+ id: {
9
+ type: StringConstructor;
10
+ required: true;
11
+ };
12
+ name: {
13
+ type: StringConstructor;
14
+ default: string;
15
+ };
16
+ schema: {
17
+ type: import('vue').PropType<any>;
18
+ required: true;
19
+ };
20
+ uiSchema: {
21
+ type: import('vue').PropType<any>;
22
+ required: true;
23
+ };
24
+ disabled: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ formData: {
29
+ type: import('vue').PropType<import('./FormComponent.properties').Data>;
30
+ default: () => {};
31
+ };
32
+ errorMode: {
33
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
34
+ default: "onChanges";
35
+ };
36
+ }>> & Readonly<{}>, {
37
+ markSubmitted: () => void;
38
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
39
+ errorMode: import('./errorMode').ErrorMode;
40
+ disabled: boolean;
41
+ name: string;
42
+ formData: import('./FormComponent.properties').Data;
43
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLFormElement, import('vue').ComponentProvideOptions, {
44
+ P: {};
45
+ B: {};
46
+ D: {};
47
+ C: {};
48
+ M: {};
49
+ Defaults: {};
50
+ }, Readonly<import('vue').ExtractPropTypes<{
51
+ id: {
52
+ type: StringConstructor;
53
+ required: true;
54
+ };
55
+ name: {
56
+ type: StringConstructor;
57
+ default: string;
58
+ };
59
+ schema: {
60
+ type: import('vue').PropType<any>;
61
+ required: true;
62
+ };
63
+ uiSchema: {
64
+ type: import('vue').PropType<any>;
65
+ required: true;
66
+ };
67
+ disabled: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ formData: {
72
+ type: import('vue').PropType<import('./FormComponent.properties').Data>;
73
+ default: () => {};
74
+ };
75
+ errorMode: {
76
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
77
+ default: "onChanges";
78
+ };
79
+ }>> & Readonly<{}>, {
80
+ markSubmitted: () => void;
81
+ }, {}, {}, {}, {
82
+ errorMode: import('./errorMode').ErrorMode;
83
+ disabled: boolean;
84
+ name: string;
85
+ formData: import('./FormComponent.properties').Data;
86
+ }> | null;
87
+ };
88
+ rootEl: HTMLDivElement;
89
+ };
90
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
91
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
92
+ id: {
93
+ type: StringConstructor;
94
+ required: true;
95
+ };
96
+ createTitle: {
97
+ type: StringConstructor;
98
+ required: true;
99
+ };
100
+ updateTitle: {
101
+ type: StringConstructor;
102
+ };
103
+ schema: {
104
+ type: import('vue').PropType<any>;
105
+ };
106
+ uiSchema: {
107
+ type: import('vue').PropType<any>;
108
+ };
109
+ uri: {
110
+ type: StringConstructor;
111
+ };
112
+ scrollable: {
113
+ type: BooleanConstructor;
114
+ default: boolean;
115
+ };
116
+ fullHeight: {
117
+ type: BooleanConstructor;
118
+ default: boolean;
119
+ };
120
+ modelValue: {
121
+ type: import('vue').PropType<any>;
122
+ default: () => {};
123
+ };
124
+ errorMode: {
125
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
126
+ default: "onBlur";
127
+ };
128
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
129
+ id: {
130
+ type: StringConstructor;
131
+ required: true;
132
+ };
133
+ createTitle: {
134
+ type: StringConstructor;
135
+ required: true;
136
+ };
137
+ updateTitle: {
138
+ type: StringConstructor;
139
+ };
140
+ schema: {
141
+ type: import('vue').PropType<any>;
142
+ };
143
+ uiSchema: {
144
+ type: import('vue').PropType<any>;
145
+ };
146
+ uri: {
147
+ type: StringConstructor;
148
+ };
149
+ scrollable: {
150
+ type: BooleanConstructor;
151
+ default: boolean;
152
+ };
153
+ fullHeight: {
154
+ type: BooleanConstructor;
155
+ default: boolean;
156
+ };
157
+ modelValue: {
158
+ type: import('vue').PropType<any>;
159
+ default: () => {};
160
+ };
161
+ errorMode: {
162
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
163
+ default: "onBlur";
164
+ };
165
+ }>> & Readonly<{}>, {
166
+ errorMode: import('./errorMode').ErrorMode;
167
+ modelValue: any;
168
+ scrollable: boolean;
169
+ fullHeight: boolean;
170
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
171
+ formRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
172
+ id: {
173
+ type: StringConstructor;
174
+ required: true;
175
+ };
176
+ name: {
177
+ type: StringConstructor;
178
+ default: string;
179
+ };
180
+ schema: {
181
+ type: import('vue').PropType<any>;
182
+ required: true;
183
+ };
184
+ uiSchema: {
185
+ type: import('vue').PropType<any>;
186
+ required: true;
187
+ };
188
+ disabled: {
189
+ type: BooleanConstructor;
190
+ default: boolean;
191
+ };
192
+ formData: {
193
+ type: import('vue').PropType<import('./FormComponent.properties').Data>;
194
+ default: () => {};
195
+ };
196
+ errorMode: {
197
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
198
+ default: "onChanges";
199
+ };
200
+ }>> & Readonly<{}>, {
201
+ markSubmitted: () => void;
202
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
203
+ errorMode: import('./errorMode').ErrorMode;
204
+ disabled: boolean;
205
+ name: string;
206
+ formData: import('./FormComponent.properties').Data;
207
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLFormElement, import('vue').ComponentProvideOptions, {
208
+ P: {};
209
+ B: {};
210
+ D: {};
211
+ C: {};
212
+ M: {};
213
+ Defaults: {};
214
+ }, Readonly<import('vue').ExtractPropTypes<{
215
+ id: {
216
+ type: StringConstructor;
217
+ required: true;
218
+ };
219
+ name: {
220
+ type: StringConstructor;
221
+ default: string;
222
+ };
223
+ schema: {
224
+ type: import('vue').PropType<any>;
225
+ required: true;
226
+ };
227
+ uiSchema: {
228
+ type: import('vue').PropType<any>;
229
+ required: true;
230
+ };
231
+ disabled: {
232
+ type: BooleanConstructor;
233
+ default: boolean;
234
+ };
235
+ formData: {
236
+ type: import('vue').PropType<import('./FormComponent.properties').Data>;
237
+ default: () => {};
238
+ };
239
+ errorMode: {
240
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
241
+ default: "onChanges";
242
+ };
243
+ }>> & Readonly<{}>, {
244
+ markSubmitted: () => void;
245
+ }, {}, {}, {}, {
246
+ errorMode: import('./errorMode').ErrorMode;
247
+ disabled: boolean;
248
+ name: string;
249
+ formData: import('./FormComponent.properties').Data;
250
+ }> | null;
251
+ }, HTMLDivElement>;
252
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
253
+ export default _default;
254
+ type __VLS_WithTemplateSlots<T, S> = T & {
255
+ new (): {
256
+ $slots: S;
257
+ };
258
+ };
@@ -0,0 +1,65 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue';
2
+ import { JsonFormsLayout } from '../../../core/src/index.ts';
3
+ import { TableAction } from '../../../../ui/src/index.ts';
4
+ import { ErrorMode } from './errorMode';
5
+ /** Generic record shape used by table rows. */
6
+ export type Data = {
7
+ [key: string]: any;
8
+ };
9
+ export declare const FormWithTableProperties: {
10
+ /** Unique identifier used to namespace the inner table element. */
11
+ id: {
12
+ type: StringConstructor;
13
+ required: true;
14
+ };
15
+ /** Heading displayed above the table. */
16
+ tableTitle: {
17
+ type: StringConstructor;
18
+ required: true;
19
+ };
20
+ /** Title shown in the modal when creating a new record. */
21
+ createTitle: {
22
+ type: StringConstructor;
23
+ required: true;
24
+ };
25
+ /** Title shown in the modal when editing a record. Falls back to `createTitle` when omitted. */
26
+ updateTitle: {
27
+ type: StringConstructor;
28
+ };
29
+ /** Override URI used to fetch table data. Defaults to `uri` when omitted. */
30
+ dataUri: {
31
+ type: StringConstructor;
32
+ };
33
+ /** Custom row actions rendered in the table. */
34
+ tableActions: {
35
+ type: PropType<TableAction[]>;
36
+ };
37
+ /** JSON Forms layout for the create/edit modal form. */
38
+ form: {
39
+ type: PropType<JsonFormsLayout>;
40
+ };
41
+ /** JSON Forms layout for the table. */
42
+ table: {
43
+ type: PropType<JsonFormsLayout>;
44
+ };
45
+ /** JSON Forms layout for the table filter. */
46
+ filter: {
47
+ type: PropType<JsonFormsLayout>;
48
+ };
49
+ /** REST endpoint used by `FormStore` for CRUD operations. */
50
+ uri: {
51
+ type: StringConstructor;
52
+ };
53
+ /** Default data pre-filled when creating a new record. */
54
+ initialData: {
55
+ type: PropType<Data>;
56
+ default: () => {};
57
+ };
58
+ /** When validation errors are shown in the modal form. */
59
+ errorMode: {
60
+ type: PropType<ErrorMode>;
61
+ default: "onBlur";
62
+ };
63
+ };
64
+ export type FormWithTableProp = ExtractPublicPropTypes<typeof FormWithTableProperties>;
65
+ export declare const FormWithTableEmits: string[];
@@ -1,16 +1,16 @@
1
- import { Data } from './form-with-table.component.properties';
1
+ import { Data } from './FormWithTable.properties';
2
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
3
  id: {
4
4
  type: StringConstructor;
5
- required: boolean;
5
+ required: true;
6
6
  };
7
7
  tableTitle: {
8
8
  type: StringConstructor;
9
- required: boolean;
9
+ required: true;
10
10
  };
11
11
  createTitle: {
12
12
  type: StringConstructor;
13
- required: boolean;
13
+ required: true;
14
14
  };
15
15
  updateTitle: {
16
16
  type: StringConstructor;
@@ -19,16 +19,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
19
19
  type: StringConstructor;
20
20
  };
21
21
  tableActions: {
22
- type: import('vue').PropType<import('../../../ui/src/index.ts').TableAction[]>;
22
+ type: import('vue').PropType<import('../../../../ui/src/index.ts').TableAction[]>;
23
23
  };
24
24
  form: {
25
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
25
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
26
26
  };
27
27
  table: {
28
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
28
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
29
29
  };
30
30
  filter: {
31
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
31
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
32
32
  };
33
33
  uri: {
34
34
  type: StringConstructor;
@@ -37,18 +37,22 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
37
37
  type: import('vue').PropType<Data>;
38
38
  default: () => {};
39
39
  };
40
+ errorMode: {
41
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
42
+ default: "onBlur";
43
+ };
40
44
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
41
45
  id: {
42
46
  type: StringConstructor;
43
- required: boolean;
47
+ required: true;
44
48
  };
45
49
  tableTitle: {
46
50
  type: StringConstructor;
47
- required: boolean;
51
+ required: true;
48
52
  };
49
53
  createTitle: {
50
54
  type: StringConstructor;
51
- required: boolean;
55
+ required: true;
52
56
  };
53
57
  updateTitle: {
54
58
  type: StringConstructor;
@@ -57,16 +61,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
57
61
  type: StringConstructor;
58
62
  };
59
63
  tableActions: {
60
- type: import('vue').PropType<import('../../../ui/src/index.ts').TableAction[]>;
64
+ type: import('vue').PropType<import('../../../../ui/src/index.ts').TableAction[]>;
61
65
  };
62
66
  form: {
63
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
67
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
64
68
  };
65
69
  table: {
66
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
70
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
67
71
  };
68
72
  filter: {
69
- type: import('vue').PropType<import('../../core/src/index.ts').JsonFormsLayout>;
73
+ type: import('vue').PropType<import('../../../core/src/index.ts').JsonFormsLayout>;
70
74
  };
71
75
  uri: {
72
76
  type: StringConstructor;
@@ -75,7 +79,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
75
79
  type: import('vue').PropType<Data>;
76
80
  default: () => {};
77
81
  };
82
+ errorMode: {
83
+ type: import('vue').PropType<import('./errorMode').ErrorMode>;
84
+ default: "onBlur";
85
+ };
78
86
  }>> & Readonly<{}>, {
87
+ errorMode: import('./errorMode').ErrorMode;
79
88
  initialData: Data;
80
89
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
81
90
  export default _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Transforms raw Zod error messages into human-readable ones.
3
+ * Returns original message if no pattern matches.
4
+ */
5
+ export declare const formatError: (message: string | undefined) => string | undefined;
6
+ /**
7
+ * Registers a global Zod error map for friendlier default messages.
8
+ * Call once at app startup or in FormComponent setup.
9
+ */
10
+ export declare const registerZodErrorMap: () => void;
@@ -0,0 +1,4 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ export type ErrorMode = 'onBlur' | 'onChange' | 'onSubmit' | 'always';
3
+ export declare const ERROR_MODE_KEY: InjectionKey<Ref<ErrorMode>>;
4
+ export declare const FORM_SUBMITTED_KEY: InjectionKey<Ref<boolean>>;