@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
package/dist/index.es.js CHANGED
@@ -1007,7 +1007,7 @@ function CheckboxInput(props) {
1007
1007
  };
1008
1008
 
1009
1009
  return jsxs("div", {
1010
- class: "fjs-properties-panel-textfield",
1010
+ class: "fjs-properties-panel-checkbox",
1011
1011
  children: [jsx("label", {
1012
1012
  for: prefixId(id),
1013
1013
  class: "fjs-properties-panel-label",
@@ -1062,7 +1062,7 @@ function NumberInput(props) {
1062
1062
  }
1063
1063
  }, [_onInput]);
1064
1064
  return jsxs("div", {
1065
- class: "fjs-properties-panel-textfield",
1065
+ class: "fjs-properties-panel-number",
1066
1066
  children: [jsx("label", {
1067
1067
  for: prefixId(id),
1068
1068
  class: "fjs-properties-panel-label",
@@ -1095,7 +1095,7 @@ function Select(props) {
1095
1095
  };
1096
1096
 
1097
1097
  return jsxs("div", {
1098
- class: "fjs-properties-panel-textfield",
1098
+ class: "fjs-properties-panel-select",
1099
1099
  children: [jsx("label", {
1100
1100
  for: prefixId(id),
1101
1101
  class: "fjs-properties-panel-label",
@@ -1129,7 +1129,7 @@ function Textarea(props) {
1129
1129
  _onInput(value.length ? value : undefined);
1130
1130
  }, [_onInput]);
1131
1131
  return jsxs("div", {
1132
- class: "fjs-properties-panel-textfield",
1132
+ class: "fjs-properties-panel-textarea",
1133
1133
  children: [jsx("label", {
1134
1134
  for: prefixId(id),
1135
1135
  class: "fjs-properties-panel-label",
@@ -1181,7 +1181,7 @@ function TextInput(props) {
1181
1181
  }
1182
1182
 
1183
1183
  return jsxs("div", {
1184
- class: "fjs-properties-panel-textfield",
1184
+ class: "fjs-properties-panel-text",
1185
1185
  children: [jsx("label", {
1186
1186
  for: prefixId(id),
1187
1187
  class: "fjs-properties-panel-label",
@@ -1263,6 +1263,41 @@ function NumberInputEntry(props) {
1263
1263
  });
1264
1264
  }
1265
1265
 
1266
+ function SelectEntry(props) {
1267
+ const {
1268
+ editField,
1269
+ field,
1270
+ id,
1271
+ description,
1272
+ label,
1273
+ options,
1274
+ path
1275
+ } = props;
1276
+
1277
+ const onChange = value => {
1278
+ if (editField && path) {
1279
+ editField(field, path, value);
1280
+ } else {
1281
+ props.onChange(value);
1282
+ }
1283
+ };
1284
+
1285
+ const value = path ? get(field, path, '') : props.value;
1286
+ return jsxs("div", {
1287
+ class: "fjs-properties-panel-entry",
1288
+ children: [jsx(Select, {
1289
+ id: id,
1290
+ label: label,
1291
+ onChange: onChange,
1292
+ options: options,
1293
+ value: value
1294
+ }), description && jsx("div", {
1295
+ class: "fjs-properties-panel-description",
1296
+ children: description
1297
+ })]
1298
+ });
1299
+ }
1300
+
1266
1301
  function TextareaEntry(props) {
1267
1302
  const {
1268
1303
  editField,
@@ -1473,12 +1508,6 @@ function ActionEntry(props) {
1473
1508
  editField,
1474
1509
  field
1475
1510
  } = props;
1476
-
1477
- const onChange = value => {
1478
- editField(field, 'action', value);
1479
- };
1480
-
1481
- const value = field.action;
1482
1511
  const options = [{
1483
1512
  label: 'Submit',
1484
1513
  value: 'submit'
@@ -1486,15 +1515,13 @@ function ActionEntry(props) {
1486
1515
  label: 'Reset',
1487
1516
  value: 'reset'
1488
1517
  }];
1489
- return jsx("div", {
1490
- class: "fjs-properties-panel-entry",
1491
- children: jsx(Select, {
1492
- id: "action",
1493
- label: "Action",
1494
- options: options,
1495
- onChange: onChange,
1496
- value: value
1497
- })
1518
+ return jsx(SelectEntry, {
1519
+ editField: editField,
1520
+ field: field,
1521
+ id: "action",
1522
+ label: "Action",
1523
+ options: options,
1524
+ path: ['action']
1498
1525
  });
1499
1526
  }
1500
1527
 
@@ -1548,6 +1575,94 @@ function DescriptionEntry(props) {
1548
1575
  });
1549
1576
  }
1550
1577
 
1578
+ function DefaultValueEntry(props) {
1579
+ const {
1580
+ editField,
1581
+ field
1582
+ } = props;
1583
+ const {
1584
+ defaultValue,
1585
+ type,
1586
+ values = []
1587
+ } = field;
1588
+
1589
+ if (type === 'checkbox') {
1590
+ const options = [{
1591
+ label: 'Checked',
1592
+ value: 'true'
1593
+ }, {
1594
+ label: 'Not checked',
1595
+ value: 'false'
1596
+ }];
1597
+
1598
+ const onChange = value => {
1599
+ editField(field, ['defaultValue'], parseStringToBoolean(value));
1600
+ };
1601
+
1602
+ return jsx(SelectEntry, {
1603
+ id: "defaultValue",
1604
+ label: "Default Value",
1605
+ onChange: onChange,
1606
+ options: options,
1607
+ value: parseBooleanToString(defaultValue)
1608
+ });
1609
+ }
1610
+
1611
+ if (type === 'number') {
1612
+ return jsx(NumberInputEntry, {
1613
+ editField: editField,
1614
+ field: field,
1615
+ id: "defaultValue",
1616
+ label: "Default Value",
1617
+ path: ['defaultValue']
1618
+ });
1619
+ }
1620
+
1621
+ if (type === 'radio' || type === 'select') {
1622
+ const options = [{
1623
+ label: '<none>'
1624
+ }, ...values];
1625
+
1626
+ const onChange = value => {
1627
+ editField(field, ['defaultValue'], value.length ? value : undefined);
1628
+ };
1629
+
1630
+ return jsx(SelectEntry, {
1631
+ id: "defaultValue",
1632
+ label: "Default Value",
1633
+ onChange: onChange,
1634
+ options: options,
1635
+ value: defaultValue
1636
+ });
1637
+ }
1638
+
1639
+ if (type === 'textfield') {
1640
+ return jsx(TextInputEntry, {
1641
+ editField: editField,
1642
+ field: field,
1643
+ id: "defaultValue",
1644
+ label: "Default Value",
1645
+ path: ['defaultValue']
1646
+ });
1647
+ }
1648
+ }
1649
+
1650
+ function parseStringToBoolean(value) {
1651
+ if (value === 'true') {
1652
+ return true;
1653
+ }
1654
+
1655
+ return false;
1656
+ }
1657
+
1658
+ function parseBooleanToString(value) {
1659
+ if (value === true) {
1660
+ return 'true';
1661
+ }
1662
+
1663
+ return 'false';
1664
+ }
1665
+
1551
1666
  function DisabledEntry(props) {
1552
1667
  const {
1553
1668
  editField,
@@ -1750,6 +1865,13 @@ function GeneralGroup(field, editField) {
1750
1865
  }));
1751
1866
  }
1752
1867
 
1868
+ if (INPUTS.includes(type)) {
1869
+ entries.push(jsx(DefaultValueEntry, {
1870
+ editField: editField,
1871
+ field: field
1872
+ }));
1873
+ }
1874
+
1753
1875
  if (type === 'button') {
1754
1876
  entries.push(jsx(ActionEntry, {
1755
1877
  editField: editField,
@@ -1880,7 +2002,7 @@ function ValuesGroup(field, editField) {
1880
2002
  field: field,
1881
2003
  index: index
1882
2004
  })
1883
- }, `${id}-${value.value}`);
2005
+ }, `${id}-${index}`);
1884
2006
  })
1885
2007
  });
1886
2008
  }