@bpmn-io/form-js-editor 0.5.1 → 0.6.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.
Files changed (77) hide show
  1. package/dist/assets/form-js-editor.css +86 -40
  2. package/dist/index.cjs +143 -21
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.es.js +143 -21
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/types/FormEditor.d.ts +140 -140
  7. package/dist/types/core/Debounce.d.ts +10 -10
  8. package/dist/types/core/EventBus.d.ts +1 -1
  9. package/dist/types/core/FieldFactory.d.ts +18 -18
  10. package/dist/types/core/FormFieldRegistry.d.ts +19 -19
  11. package/dist/types/core/index.d.ts +17 -17
  12. package/dist/types/features/editor-actions/FormEditorActions.d.ts +8 -8
  13. package/dist/types/features/editor-actions/index.d.ts +6 -6
  14. package/dist/types/features/keyboard/FormEditorKeyboardBindings.d.ts +8 -8
  15. package/dist/types/features/keyboard/index.d.ts +7 -7
  16. package/dist/types/features/modeling/Modeling.d.ts +34 -34
  17. package/dist/types/features/modeling/behavior/IdBehavior.d.ts +7 -7
  18. package/dist/types/features/modeling/behavior/KeyBehavior.d.ts +7 -7
  19. package/dist/types/features/modeling/behavior/index.d.ts +8 -8
  20. package/dist/types/features/modeling/cmd/AddFormFieldHandler.d.ts +16 -16
  21. package/dist/types/features/modeling/cmd/EditFormFieldHandler.d.ts +16 -16
  22. package/dist/types/features/modeling/cmd/MoveFormFieldHandler.d.ts +17 -17
  23. package/dist/types/features/modeling/cmd/RemoveFormFieldHandler.d.ts +16 -16
  24. package/dist/types/features/modeling/cmd/UpdateIdClaimHandler.d.ts +14 -14
  25. package/dist/types/features/modeling/cmd/UpdateKeyClaimHandler.d.ts +14 -14
  26. package/dist/types/features/modeling/cmd/Util.d.ts +4 -4
  27. package/dist/types/features/modeling/index.d.ts +7 -7
  28. package/dist/types/features/selection/Selection.d.ts +14 -14
  29. package/dist/types/features/selection/SelectionBehavior.d.ts +7 -7
  30. package/dist/types/features/selection/index.d.ts +8 -8
  31. package/dist/types/import/Importer.d.ts +51 -51
  32. package/dist/types/import/index.d.ts +5 -5
  33. package/dist/types/index.d.ts +15 -15
  34. package/dist/types/render/Renderer.d.ts +26 -26
  35. package/dist/types/render/components/FormEditor.d.ts +1 -1
  36. package/dist/types/render/components/palette/Palette.d.ts +1 -1
  37. package/dist/types/render/components/palette/icons/index.d.ts +11 -11
  38. package/dist/types/render/components/properties-panel/PropertiesPanel.d.ts +1 -1
  39. package/dist/types/render/components/properties-panel/Util.d.ts +6 -6
  40. package/dist/types/render/components/properties-panel/components/CheckboxInput.d.ts +1 -1
  41. package/dist/types/render/components/properties-panel/components/CheckboxInputEntry.d.ts +1 -1
  42. package/dist/types/render/components/properties-panel/components/CollapsibleEntry.d.ts +1 -1
  43. package/dist/types/render/components/properties-panel/components/Group.d.ts +1 -1
  44. package/dist/types/render/components/properties-panel/components/NumberInput.d.ts +1 -1
  45. package/dist/types/render/components/properties-panel/components/NumberInputEntry.d.ts +1 -1
  46. package/dist/types/render/components/properties-panel/components/Select.d.ts +1 -1
  47. package/dist/types/render/components/properties-panel/components/SelectEntry.d.ts +1 -0
  48. package/dist/types/render/components/properties-panel/components/TextInput.d.ts +1 -1
  49. package/dist/types/render/components/properties-panel/components/TextInputEntry.d.ts +1 -1
  50. package/dist/types/render/components/properties-panel/components/Textarea.d.ts +1 -1
  51. package/dist/types/render/components/properties-panel/components/TextareaEntry.d.ts +1 -1
  52. package/dist/types/render/components/properties-panel/components/index.d.ts +12 -11
  53. package/dist/types/render/components/properties-panel/entries/ActionEntry.d.ts +1 -1
  54. package/dist/types/render/components/properties-panel/entries/ColumnsEntry.d.ts +1 -1
  55. package/dist/types/render/components/properties-panel/entries/DefaultValueEntry.d.ts +1 -0
  56. package/dist/types/render/components/properties-panel/entries/DescriptionEntry.d.ts +1 -1
  57. package/dist/types/render/components/properties-panel/entries/DisabledEntry.d.ts +1 -1
  58. package/dist/types/render/components/properties-panel/entries/IdEntry.d.ts +1 -1
  59. package/dist/types/render/components/properties-panel/entries/KeyEntry.d.ts +1 -1
  60. package/dist/types/render/components/properties-panel/entries/LabelEntry.d.ts +1 -1
  61. package/dist/types/render/components/properties-panel/entries/TextEntry.d.ts +1 -1
  62. package/dist/types/render/components/properties-panel/entries/ValueEntry.d.ts +1 -1
  63. package/dist/types/render/components/properties-panel/entries/index.d.ts +10 -9
  64. package/dist/types/render/components/properties-panel/groups/GeneralGroup.d.ts +1 -1
  65. package/dist/types/render/components/properties-panel/groups/ValidationGroup.d.ts +1 -1
  66. package/dist/types/render/components/properties-panel/groups/ValuesGroup.d.ts +1 -1
  67. package/dist/types/render/components/properties-panel/groups/index.d.ts +3 -3
  68. package/dist/types/render/components/properties-panel/icons/index.d.ts +1 -1
  69. package/dist/types/render/context/DragAndDropContext.d.ts +4 -4
  70. package/dist/types/render/context/FormEditorContext.d.ts +11 -11
  71. package/dist/types/render/context/index.d.ts +2 -2
  72. package/dist/types/render/hooks/index.d.ts +3 -3
  73. package/dist/types/render/hooks/useDebounce.d.ts +1 -1
  74. package/dist/types/render/hooks/usePrevious.d.ts +1 -1
  75. package/dist/types/render/hooks/useService.d.ts +1 -1
  76. package/dist/types/render/index.d.ts +8 -8
  77. package/package.json +3 -3
@@ -1,5 +1,46 @@
1
1
  .fjs-editor-container {
2
- --color-blue-lighten-99: #fafcff;
2
+ --color-children-border: var(--color-grey-225-10-75);
3
+ --color-children-selected-border: var(--color-blue-205-100-50);
4
+ --color-children-selected-background: var(--color-blue-205-100-95);
5
+ --color-children-hover-border: var(--color-blue-205-100-50);
6
+
7
+ --color-context-pad-item-background: var(--color-white);
8
+ --color-context-pad-item-fill: var(--color-grey-225-10-35);
9
+ --color-context-pad-item-hover-fill: var(--color-black);
10
+
11
+ --color-palette-container-background: var(--color-grey-225-10-97);
12
+ --color-palette-container-border: var(--color-grey-225-10-80);
13
+ --color-palette-header-color: var(--color-text);
14
+ --color-palette-header-background: var(--color-grey-225-10-95);
15
+ --color-palette-header-border: var(--color-grey-225-10-80);
16
+ --color-palette-field-border: var(--color-grey-225-10-80);
17
+ --color-palette-field-hover-background: var(--color-grey-225-10-95);
18
+
19
+ --color-properties-container-background: var(--color-grey-225-10-97);
20
+ --color-properties-container-border: var(--color-grey-225-10-80);
21
+ --color-properties-header-background: var(--color-grey-225-10-95);
22
+ --color-properties-header-border: var(--color-grey-225-10-80);
23
+ --color-properties-header-icon-fill: var(--color-grey-225-10-35);
24
+ --color-properties-group-background: var(--color-grey-225-10-95);
25
+ --color-properties-group-border: var(--color-grey-225-10-80);
26
+ --color-properties-group-button-fill: var(--color-grey-225-10-35);
27
+ --color-properties-group-button-hover-fill: var(--color-black);
28
+ --color-properties-entries-border: var(--color-grey-225-10-80);
29
+ --color-properties-collapsible-remove-fill: var(--color-grey-225-10-35);
30
+ --color-properties-collapsible-remove-hover-fill: var(--color-black);
31
+ --color-properties-description: var(--color-grey-225-10-15);
32
+ --color-properties-error: var(--color-warning);
33
+ --color-properties-input-background: var(--color-white);
34
+ --color-properties-input-border: var(--color-grey-225-10-75);
35
+ --color-properties-input-error-border: var(--color-warning);
36
+ --color-properties-input-error-hover-border: var(--color-warning);
37
+ --color-properties-input-focus-border: var(--color-blue-205-100-50);
38
+ --color-properties-placeholder: var(--color-grey-225-10-80);
39
+
40
+ --color-dragula-background: var(--color-blue-205-100-45);
41
+ --color-dragula-border: var(--color-blue-205-100-45);
42
+ --color-dragula-mirror-background: var(--color-white);
43
+ --color-dragula-mirror-border: var(--color-grey-225-10-80);
3
44
  }
4
45
 
5
46
  .fjs-editor-container {
@@ -41,7 +82,7 @@
41
82
  }
42
83
 
43
84
  .fjs-editor-container .fjs-children .fjs-children {
44
- border: dashed 2px var(--color-silver-darken-80);
85
+ border: dashed 2px var(--color-children-border);
45
86
  border-radius: 3px;
46
87
  }
47
88
 
@@ -75,12 +116,12 @@
75
116
  }
76
117
 
77
118
  .fjs-editor-container .fjs-children > .fjs-element.fjs-editor-selected {
78
- border-color: var(--color-blue-lighten-75);
79
- background-color: var(--color-blue-lighten-93);
119
+ border-color: var(--color-children-selected-border);
120
+ background-color: var(--color-children-selected-background);
80
121
  }
81
122
 
82
123
  .fjs-editor-container .fjs-children > .fjs-element:hover {
83
- border-color: var(--color-blue-lighten-82) !important;
124
+ border-color: var(--color-children-hover-border) !important;
84
125
  }
85
126
 
86
127
  .fjs-editor-container .fjs-input:disabled,
@@ -101,18 +142,18 @@
101
142
  .fjs-editor-container .fjs-context-pad-item {
102
143
  border: none;
103
144
  border-radius: 3px;
104
- background-color: var(--color-white);
145
+ background-color: var(--color-context-pad-item-background);
105
146
  padding: 0;
106
147
  width: 24px;
107
148
  height: 24px;
108
- fill: var(--color-grey-base-40);
149
+ fill: var(--color-context-pad-item-fill);
109
150
  display: flex;
110
151
  justify-content: center;
111
152
  align-items: center;
112
153
  }
113
154
 
114
155
  .fjs-editor-container .fjs-context-pad-item:hover {
115
- fill: var(--color-black);
156
+ fill: var(--color-context-pad-item-hover-fill);
116
157
  }
117
158
 
118
159
  /**
@@ -120,16 +161,17 @@
120
161
  */
121
162
  .fjs-editor-container .fjs-palette-container {
122
163
  width: 200px;
123
- background-color: var(--color-silver-base-97);
124
- border-right: solid 1px var(--color-silver-darken-80);
164
+ background-color: var(--color-palette-container-background);
165
+ border-right: solid 1px var(--color-palette-container-border);
125
166
  }
126
167
 
127
168
  .fjs-editor-container .fjs-palette-header {
128
169
  font-size: 12px;
129
170
  font-weight: bold;
171
+ color: var(--color-palette-header-color);
130
172
  padding: 10px;
131
- border-bottom: solid 1px var(--color-silver-darken-80);
132
- background-color: var(--color-silver-darken-94);
173
+ border-bottom: solid 1px var(--color-palette-header-border);
174
+ background-color: var(--color-palette-header-background);
133
175
  }
134
176
 
135
177
  .fjs-editor-container .fjs-palette-field {
@@ -139,8 +181,9 @@
139
181
  justify-content: flex-start;
140
182
  align-items: center;
141
183
  flex-direction: row;
142
- border-bottom: solid 1px var(--color-silver-darken-80);
184
+ border-bottom: solid 1px var(--color-palette-field-border);
143
185
  font-size: 14px;
186
+ color: var(--color-text);
144
187
  }
145
188
 
146
189
  .fjs-editor-container .fjs-palette-field-icon {
@@ -148,7 +191,7 @@
148
191
  }
149
192
 
150
193
  .fjs-editor-container .fjs-palette-field:hover {
151
- background-color: var(--color-silver-darken-94);
194
+ background-color: var(--color-palette-field-hover-background);
152
195
  cursor: default;
153
196
  }
154
197
 
@@ -157,9 +200,10 @@
157
200
  */
158
201
  .fjs-editor-container .fjs-properties-container {
159
202
  width: 300px;
160
- background-color: var(--color-silver-base-97);
161
- border-left: solid 1px var(--color-silver-darken-80);
203
+ background-color: var(--color-properties-container-background);
204
+ border-left: solid 1px var(--color-properties-container-border);
162
205
  height: 100%;
206
+ color: var(--color-text);
163
207
  }
164
208
 
165
209
  .fjs-editor-container .fjs-properties-panel * {
@@ -172,8 +216,8 @@
172
216
  align-items: center;
173
217
  font-size: 14px;
174
218
  padding: 10px;
175
- background-color: var(--color-silver-darken-94);
176
- border-bottom: solid 1px var(--color-silver-darken-80);
219
+ background-color: var(--color-properties-header-background);
220
+ border-bottom: solid 1px var(--color-properties-header-border);
177
221
  }
178
222
 
179
223
  .fjs-editor-container .fjs-properties-panel-header-icon {
@@ -181,6 +225,7 @@
181
225
  display: flex;
182
226
  flex-direction: row;
183
227
  align-items: center;
228
+ fill: var(--color-properties-header-icon-fill);
184
229
  }
185
230
 
186
231
  .fjs-editor-container .fjs-properties-panel-header-type {
@@ -195,8 +240,8 @@
195
240
  align-items: center;
196
241
  font-size: 14px;
197
242
  padding: 10px;
198
- border-bottom: solid 1px var(--color-silver-darken-80);
199
- background-color: var(--color-silver-darken-94);
243
+ border-bottom: solid 1px var(--color-properties-group-border);
244
+ background-color: var(--color-properties-group-background);
200
245
  }
201
246
 
202
247
  .fjs-editor-container .fjs-properties-panel-group-header-buttons .fjs-properties-panel-group-header-button {
@@ -207,7 +252,7 @@
207
252
  height: 20px;
208
253
  margin-right: 10px;
209
254
  padding: 0;
210
- fill: var(--color-grey-base-40);
255
+ fill: var(--color-properties-group-button-fill);
211
256
  border: none;
212
257
  background: none;
213
258
  }
@@ -217,11 +262,11 @@
217
262
  }
218
263
 
219
264
  .fjs-editor-container .fjs-properties-panel-group-header-buttons .fjs-properties-panel-group-header-button:hover {
220
- fill: var(--color-black);
265
+ fill: var(--color-properties-group-button-hover-fill);
221
266
  }
222
267
 
223
268
  .fjs-editor-container .fjs-properties-panel-group-entries {
224
- border-bottom: solid 1px var(--color-silver-darken-80);
269
+ border-bottom: solid 1px var(--color-properties-entries-border);
225
270
  }
226
271
 
227
272
  .fjs-editor-container .fjs-properties-panel-group:last-child .fjs-properties-panel-group-entries {
@@ -266,11 +311,11 @@
266
311
  height: 22px;
267
312
  width: 22px;
268
313
  padding: 0;
269
- fill: var(--color-grey-base-40);
314
+ fill: var(--color-properties-collapsible-remove-fill);
270
315
  }
271
316
 
272
317
  .fjs-editor-container .fjs-properties-panel-collapsible-entry-header-remove-entry:hover {
273
- fill: var(--color-black);
318
+ fill: var(--color-properties-collapsible-remove-hover-fill);
274
319
  }
275
320
 
276
321
  .fjs-editor-container .fjs-properties-panel-collapsible-entry-entries {
@@ -294,11 +339,11 @@
294
339
 
295
340
  .fjs-editor-container .fjs-properties-panel-label,
296
341
  .fjs-editor-container .fjs-properties-panel-description {
297
- color: var(--color-grey-base-40);
342
+ color: var(--color-properties-description);
298
343
  }
299
344
 
300
345
  .fjs-editor-container .fjs-properties-panel-error {
301
- color: var(--color-warning);
346
+ color: var(--color-properties-error);
302
347
  }
303
348
 
304
349
  .fjs-editor-container .fjs-properties-panel-description,
@@ -307,11 +352,12 @@
307
352
  }
308
353
 
309
354
  .fjs-editor-container .fjs-properties-panel-input {
310
- background-color: var(--color-white);
311
- border: solid 1px var(--color-silver-darken-80);
355
+ background-color: var(--color-properties-input-background);
356
+ border: solid 1px var(--color-properties-input-border);
312
357
  border-radius: 3px;
313
358
  padding: 4px 8px;
314
359
  font-size: 14px;
360
+ font-family: inherit;
315
361
  }
316
362
 
317
363
  .fjs-editor-container .fjs-properties-panel-input[type=number],
@@ -323,29 +369,29 @@
323
369
  }
324
370
 
325
371
  .fjs-editor-container .fjs-properties-panel-input.fjs-has-error {
326
- border-color: var(--color-warning);
372
+ border-color: var(--color-properties-input-error-border);
327
373
  }
328
374
 
329
375
  .fjs-editor-container .fjs-properties-panel-input.fjs-has-error:focus {
330
- border-color: var(--color-warning);
331
- box-shadow: 0 0 0 4px var(--color-red-lighten-85), 0 0 0 1px var(--color-silver-darken-80) inset;
376
+ border-color: var(--color-properties-input-error-hover-border);
377
+ box-shadow: 0 0 0 4px var(--color-red-360-100-92), 0 0 0 1px var(--color-grey-225-10-75) inset;
332
378
  }
333
379
 
334
380
  .fjs-editor-container .fjs-properties-panel-input:focus {
335
381
  outline: none;
336
- box-shadow: 0 0 0 4px var(--color-blue-lighten-82), 0 0 0 1px var(--color-silver-darken-80) inset;
337
- border: solid 1px var(--color-blue-darken-55);
382
+ box-shadow: 0 0 0 4px var(--color-blue-205-100-80), 0 0 0 1px var(--color-grey-225-10-75) inset;
383
+ border: solid 1px var(--color-properties-input-focus-border);
338
384
  }
339
385
 
340
386
  .fjs-editor-container .fjs-properties-panel-placeholder {
341
387
  padding: 10px;
342
- color: var(--color-silver-darken-80);
388
+ color: var(--color-properties-placeholder);
343
389
  font-size: 14px;
344
390
  text-align: center;
345
391
  }
346
392
 
347
393
  .fjs-editor-container textarea.fjs-properties-panel-input {
348
- font-family: sans-serif;
394
+ font-family: inherit;
349
395
  resize: vertical;
350
396
  }
351
397
 
@@ -353,8 +399,8 @@
353
399
  * Custom Dragula Styles
354
400
  */
355
401
  .gu-transit {
356
- background: var(--color-blue-darken-62) !important;
357
- border: solid 2px var(--color-blue-darken-62) !important;
402
+ background: var(--color-dragula-background) !important;
403
+ border: solid 2px var(--color-dragula-border) !important;
358
404
  border-radius: 3px !important;
359
405
  filter: none !important;
360
406
  height: 0 !important;
@@ -367,8 +413,8 @@
367
413
  }
368
414
 
369
415
  .gu-mirror {
370
- background-color: white !important;
371
- border: solid 1px var(--color-silver-darken-80) !important;
416
+ background-color: var(--color-dragula-mirror-background) !important;
417
+ border: solid 1px var(--color-dragula-mirror-border) !important;
372
418
  border-radius: 3px !important;
373
419
  box-shadow: 1px 1px 1px 1px rgb(0 0 0 / 10%) !important;
374
420
  display: flex !important;
package/dist/index.cjs CHANGED
@@ -1016,7 +1016,7 @@ function CheckboxInput(props) {
1016
1016
  };
1017
1017
 
1018
1018
  return jsxRuntime.jsxs("div", {
1019
- class: "fjs-properties-panel-textfield",
1019
+ class: "fjs-properties-panel-checkbox",
1020
1020
  children: [jsxRuntime.jsx("label", {
1021
1021
  for: prefixId(id),
1022
1022
  class: "fjs-properties-panel-label",
@@ -1071,7 +1071,7 @@ function NumberInput(props) {
1071
1071
  }
1072
1072
  }, [_onInput]);
1073
1073
  return jsxRuntime.jsxs("div", {
1074
- class: "fjs-properties-panel-textfield",
1074
+ class: "fjs-properties-panel-number",
1075
1075
  children: [jsxRuntime.jsx("label", {
1076
1076
  for: prefixId(id),
1077
1077
  class: "fjs-properties-panel-label",
@@ -1104,7 +1104,7 @@ function Select(props) {
1104
1104
  };
1105
1105
 
1106
1106
  return jsxRuntime.jsxs("div", {
1107
- class: "fjs-properties-panel-textfield",
1107
+ class: "fjs-properties-panel-select",
1108
1108
  children: [jsxRuntime.jsx("label", {
1109
1109
  for: prefixId(id),
1110
1110
  class: "fjs-properties-panel-label",
@@ -1138,7 +1138,7 @@ function Textarea(props) {
1138
1138
  _onInput(value.length ? value : undefined);
1139
1139
  }, [_onInput]);
1140
1140
  return jsxRuntime.jsxs("div", {
1141
- class: "fjs-properties-panel-textfield",
1141
+ class: "fjs-properties-panel-textarea",
1142
1142
  children: [jsxRuntime.jsx("label", {
1143
1143
  for: prefixId(id),
1144
1144
  class: "fjs-properties-panel-label",
@@ -1190,7 +1190,7 @@ function TextInput(props) {
1190
1190
  }
1191
1191
 
1192
1192
  return jsxRuntime.jsxs("div", {
1193
- class: "fjs-properties-panel-textfield",
1193
+ class: "fjs-properties-panel-text",
1194
1194
  children: [jsxRuntime.jsx("label", {
1195
1195
  for: prefixId(id),
1196
1196
  class: "fjs-properties-panel-label",
@@ -1272,6 +1272,41 @@ function NumberInputEntry(props) {
1272
1272
  });
1273
1273
  }
1274
1274
 
1275
+ function SelectEntry(props) {
1276
+ const {
1277
+ editField,
1278
+ field,
1279
+ id,
1280
+ description,
1281
+ label,
1282
+ options,
1283
+ path
1284
+ } = props;
1285
+
1286
+ const onChange = value => {
1287
+ if (editField && path) {
1288
+ editField(field, path, value);
1289
+ } else {
1290
+ props.onChange(value);
1291
+ }
1292
+ };
1293
+
1294
+ const value = path ? minDash.get(field, path, '') : props.value;
1295
+ return jsxRuntime.jsxs("div", {
1296
+ class: "fjs-properties-panel-entry",
1297
+ children: [jsxRuntime.jsx(Select, {
1298
+ id: id,
1299
+ label: label,
1300
+ onChange: onChange,
1301
+ options: options,
1302
+ value: value
1303
+ }), description && jsxRuntime.jsx("div", {
1304
+ class: "fjs-properties-panel-description",
1305
+ children: description
1306
+ })]
1307
+ });
1308
+ }
1309
+
1275
1310
  function TextareaEntry(props) {
1276
1311
  const {
1277
1312
  editField,
@@ -1482,12 +1517,6 @@ function ActionEntry(props) {
1482
1517
  editField,
1483
1518
  field
1484
1519
  } = props;
1485
-
1486
- const onChange = value => {
1487
- editField(field, 'action', value);
1488
- };
1489
-
1490
- const value = field.action;
1491
1520
  const options = [{
1492
1521
  label: 'Submit',
1493
1522
  value: 'submit'
@@ -1495,15 +1524,13 @@ function ActionEntry(props) {
1495
1524
  label: 'Reset',
1496
1525
  value: 'reset'
1497
1526
  }];
1498
- return jsxRuntime.jsx("div", {
1499
- class: "fjs-properties-panel-entry",
1500
- children: jsxRuntime.jsx(Select, {
1501
- id: "action",
1502
- label: "Action",
1503
- options: options,
1504
- onChange: onChange,
1505
- value: value
1506
- })
1527
+ return jsxRuntime.jsx(SelectEntry, {
1528
+ editField: editField,
1529
+ field: field,
1530
+ id: "action",
1531
+ label: "Action",
1532
+ options: options,
1533
+ path: ['action']
1507
1534
  });
1508
1535
  }
1509
1536
 
@@ -1557,6 +1584,94 @@ function DescriptionEntry(props) {
1557
1584
  });
1558
1585
  }
1559
1586
 
1587
+ function DefaultValueEntry(props) {
1588
+ const {
1589
+ editField,
1590
+ field
1591
+ } = props;
1592
+ const {
1593
+ defaultValue,
1594
+ type,
1595
+ values = []
1596
+ } = field;
1597
+
1598
+ if (type === 'checkbox') {
1599
+ const options = [{
1600
+ label: 'Checked',
1601
+ value: 'true'
1602
+ }, {
1603
+ label: 'Not checked',
1604
+ value: 'false'
1605
+ }];
1606
+
1607
+ const onChange = value => {
1608
+ editField(field, ['defaultValue'], parseStringToBoolean(value));
1609
+ };
1610
+
1611
+ return jsxRuntime.jsx(SelectEntry, {
1612
+ id: "defaultValue",
1613
+ label: "Default Value",
1614
+ onChange: onChange,
1615
+ options: options,
1616
+ value: parseBooleanToString(defaultValue)
1617
+ });
1618
+ }
1619
+
1620
+ if (type === 'number') {
1621
+ return jsxRuntime.jsx(NumberInputEntry, {
1622
+ editField: editField,
1623
+ field: field,
1624
+ id: "defaultValue",
1625
+ label: "Default Value",
1626
+ path: ['defaultValue']
1627
+ });
1628
+ }
1629
+
1630
+ if (type === 'radio' || type === 'select') {
1631
+ const options = [{
1632
+ label: '<none>'
1633
+ }, ...values];
1634
+
1635
+ const onChange = value => {
1636
+ editField(field, ['defaultValue'], value.length ? value : undefined);
1637
+ };
1638
+
1639
+ return jsxRuntime.jsx(SelectEntry, {
1640
+ id: "defaultValue",
1641
+ label: "Default Value",
1642
+ onChange: onChange,
1643
+ options: options,
1644
+ value: defaultValue
1645
+ });
1646
+ }
1647
+
1648
+ if (type === 'textfield') {
1649
+ return jsxRuntime.jsx(TextInputEntry, {
1650
+ editField: editField,
1651
+ field: field,
1652
+ id: "defaultValue",
1653
+ label: "Default Value",
1654
+ path: ['defaultValue']
1655
+ });
1656
+ }
1657
+ }
1658
+
1659
+ function parseStringToBoolean(value) {
1660
+ if (value === 'true') {
1661
+ return true;
1662
+ }
1663
+
1664
+ return false;
1665
+ }
1666
+
1667
+ function parseBooleanToString(value) {
1668
+ if (value === true) {
1669
+ return 'true';
1670
+ }
1671
+
1672
+ return 'false';
1673
+ }
1674
+
1560
1675
  function DisabledEntry(props) {
1561
1676
  const {
1562
1677
  editField,
@@ -1759,6 +1874,13 @@ function GeneralGroup(field, editField) {
1759
1874
  }));
1760
1875
  }
1761
1876
 
1877
+ if (INPUTS.includes(type)) {
1878
+ entries.push(jsxRuntime.jsx(DefaultValueEntry, {
1879
+ editField: editField,
1880
+ field: field
1881
+ }));
1882
+ }
1883
+
1762
1884
  if (type === 'button') {
1763
1885
  entries.push(jsxRuntime.jsx(ActionEntry, {
1764
1886
  editField: editField,
@@ -1889,7 +2011,7 @@ function ValuesGroup(field, editField) {
1889
2011
  field: field,
1890
2012
  index: index
1891
2013
  })
1892
- }, `${id}-${value.value}`);
2014
+ }, `${id}-${index}`);
1893
2015
  })
1894
2016
  });
1895
2017
  }