@adobe-commerce/aio-experience-kit 1.0.0 → 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 (51) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +284 -19
  3. package/dist/cjs/components/DataForm/FieldBuilder/index.js +180 -35
  4. package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
  5. package/dist/cjs/components/DataForm/FormBuilder/index.js +9 -7
  6. package/dist/cjs/components/DataForm/FormBuilder/index.js.map +1 -1
  7. package/dist/cjs/components/DataForm/FormBuilder/types.js +2 -0
  8. package/dist/cjs/components/DataForm/FormBuilder/types.js.map +1 -1
  9. package/dist/cjs/components/DataForm/index.js +4 -1
  10. package/dist/cjs/components/DataForm/index.js.map +1 -1
  11. package/dist/cjs/components/DataTable/index.js +4 -1
  12. package/dist/cjs/components/DataTable/index.js.map +1 -1
  13. package/dist/cjs/components/ShippingCarrierForm/index.js +137 -0
  14. package/dist/cjs/components/ShippingCarrierForm/index.js.map +1 -0
  15. package/dist/cjs/index.js +6 -4
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/utils/AdminUiSdk/index.js +171 -66
  18. package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -1
  19. package/dist/esm/components/DataForm/FieldBuilder/index.js +181 -36
  20. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
  21. package/dist/esm/components/DataForm/FormBuilder/index.js +9 -7
  22. package/dist/esm/components/DataForm/FormBuilder/index.js.map +1 -1
  23. package/dist/esm/components/DataForm/FormBuilder/types.js +2 -0
  24. package/dist/esm/components/DataForm/FormBuilder/types.js.map +1 -1
  25. package/dist/esm/components/DataForm/index.js +5 -2
  26. package/dist/esm/components/DataForm/index.js.map +1 -1
  27. package/dist/esm/components/DataTable/index.js +5 -2
  28. package/dist/esm/components/DataTable/index.js.map +1 -1
  29. package/dist/esm/components/ShippingCarrierForm/index.js +133 -0
  30. package/dist/esm/components/ShippingCarrierForm/index.js.map +1 -0
  31. package/dist/esm/index.js +1 -0
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
  34. package/dist/esm/types/components/DataForm/FormBuilder/index.d.ts.map +1 -1
  35. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts +2 -0
  36. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts.map +1 -1
  37. package/dist/esm/types/components/DataForm/index.d.ts.map +1 -1
  38. package/dist/esm/types/components/DataTable/index.d.ts.map +1 -1
  39. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts +12 -0
  40. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts.map +1 -0
  41. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts +50 -0
  42. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts.map +1 -0
  43. package/dist/esm/types/components/index.d.ts +2 -0
  44. package/dist/esm/types/components/index.d.ts.map +1 -1
  45. package/dist/esm/types/utils/AdminUiSdk/index.d.ts +48 -22
  46. package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -1
  47. package/dist/esm/types/utils/AdminUiSdk/types.d.ts +28 -23
  48. package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -1
  49. package/dist/esm/utils/AdminUiSdk/index.js +172 -67
  50. package/dist/esm/utils/AdminUiSdk/index.js.map +1 -1
  51. package/package.json +36 -35
@@ -1,11 +1,11 @@
1
1
  import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { useState } from 'react';
4
- import { View, TextField, Checkbox, LabeledValue, Picker, Item } from '@adobe/react-spectrum';
4
+ import { View, TextField, Checkbox, LabeledValue, Switch, CheckboxGroup, Picker, Item } from '@adobe/react-spectrum';
5
5
  import { FieldType } from '../FormBuilder/types.js';
6
6
 
7
7
  var FieldBuilder = function FieldBuilder(_ref) {
8
- var _editItem$envName, _ref2, _editItem$field$db_fi;
8
+ var _editItem$envName;
9
9
  var field = _ref.field,
10
10
  editItem = _ref.editItem,
11
11
  onFieldChange = _ref.onFieldChange,
@@ -16,12 +16,32 @@ var FieldBuilder = function FieldBuilder(_ref) {
16
16
  _useState2 = _slicedToArray(_useState, 2),
17
17
  isChecked = _useState2[0],
18
18
  setIsChecked = _useState2[1];
19
- var _useState3 = useState((_ref2 = (_editItem$field$db_fi = editItem[field.db_field]) !== null && _editItem$field$db_fi !== void 0 ? _editItem$field$db_fi : field.value) !== null && _ref2 !== void 0 ? _ref2 : null),
19
+ var _useState3 = useState(function () {
20
+ var _editItem$field$db_fi;
21
+ var initialValue = (_editItem$field$db_fi = editItem[field.db_field]) !== null && _editItem$field$db_fi !== void 0 ? _editItem$field$db_fi : field.value;
22
+ var defaultValue = initialValue !== null && initialValue !== void 0 ? initialValue : field.type === FieldType.TOGGLE ? '0' : null;
23
+ // Call onFieldChange for TOGGLE fields with default value
24
+ if (field.type === FieldType.TOGGLE && !initialValue && defaultValue === '0') {
25
+ // Use setTimeout to avoid calling during render
26
+ setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
27
+ return _regenerator().w(function (_context) {
28
+ while (1) switch (_context.n) {
29
+ case 0:
30
+ _context.n = 1;
31
+ return onFieldChange(field.code, field.db_field, '0');
32
+ case 1:
33
+ return _context.a(2);
34
+ }
35
+ }, _callee);
36
+ })), 0);
37
+ }
38
+ return defaultValue;
39
+ }),
20
40
  _useState4 = _slicedToArray(_useState3, 2),
21
41
  value = _useState4[0],
22
42
  setValue = _useState4[1];
23
43
  return jsx(View, {
24
- children: function (_field$required, _field$disabled, _field$contextualHelp, _field$contextualHelp2, _field$required2, _field$disabled2, _field$contextualHelp3) {
44
+ children: function (_field$required, _field$disabled, _field$contextualHelp, _field$required2, _field$disabled2, _field$contextualHelp2, _field$disabled3, _field$contextualHelp3, _field$required3, _field$disabled4, _field$contextualHelp4) {
25
45
  switch (field.type) {
26
46
  case FieldType.SELECT:
27
47
  return jsxs(View, {
@@ -35,17 +55,17 @@ var FieldBuilder = function FieldBuilder(_ref) {
35
55
  defaultSelectedKey: value,
36
56
  width: "100%",
37
57
  onSelectionChange: function () {
38
- var _onSelectionChange = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
39
- return _regenerator().w(function (_context) {
40
- while (1) switch (_context.n) {
58
+ var _onSelectionChange = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(value) {
59
+ return _regenerator().w(function (_context2) {
60
+ while (1) switch (_context2.n) {
41
61
  case 0:
42
62
  setValue(value);
43
- _context.n = 1;
63
+ _context2.n = 1;
44
64
  return onFieldChange(field.code, field.db_field, value);
45
65
  case 1:
46
- return _context.a(2);
66
+ return _context2.a(2);
47
67
  }
48
- }, _callee);
68
+ }, _callee2);
49
69
  }));
50
70
  function onSelectionChange(_x) {
51
71
  return _onSelectionChange.apply(this, arguments);
@@ -63,17 +83,17 @@ var FieldBuilder = function FieldBuilder(_ref) {
63
83
  isRequired: false,
64
84
  defaultSelected: isChecked,
65
85
  onChange: function () {
66
- var _onChange = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(checked) {
67
- return _regenerator().w(function (_context2) {
68
- while (1) switch (_context2.n) {
86
+ var _onChange = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(checked) {
87
+ return _regenerator().w(function (_context3) {
88
+ while (1) switch (_context3.n) {
69
89
  case 0:
70
90
  setIsChecked(checked);
71
- _context2.n = 1;
91
+ _context3.n = 1;
72
92
  return onFieldChange(envName, envName, checked);
73
93
  case 1:
74
- return _context2.a(2);
94
+ return _context3.a(2);
75
95
  }
76
- }, _callee2);
96
+ }, _callee3);
77
97
  }));
78
98
  function onChange(_x2) {
79
99
  return _onChange.apply(this, arguments);
@@ -83,13 +103,138 @@ var FieldBuilder = function FieldBuilder(_ref) {
83
103
  children: ["Use value as environment variable: ", value]
84
104
  }, envName) : null]
85
105
  });
106
+ case FieldType.MULTISELECT:
107
+ return jsxs(View, {
108
+ marginBottom: 'size-100',
109
+ children: [jsx(CheckboxGroup, {
110
+ label: field.label,
111
+ width: 'size-6000',
112
+ isRequired: (_field$required2 = field.required) !== null && _field$required2 !== void 0 ? _field$required2 : false,
113
+ isDisabled: isChecked || ((_field$disabled2 = field.disabled) !== null && _field$disabled2 !== void 0 ? _field$disabled2 : false),
114
+ contextualHelp: (_field$contextualHelp2 = field.contextualHelp) !== null && _field$contextualHelp2 !== void 0 ? _field$contextualHelp2 : null,
115
+ value: Array.isArray(value) ? value : [],
116
+ onChange: function () {
117
+ var _onChange2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(selectedValues) {
118
+ return _regenerator().w(function (_context4) {
119
+ while (1) switch (_context4.n) {
120
+ case 0:
121
+ setValue(selectedValues);
122
+ _context4.n = 1;
123
+ return onFieldChange(field.code, field.db_field, selectedValues);
124
+ case 1:
125
+ return _context4.a(2);
126
+ }
127
+ }, _callee4);
128
+ }));
129
+ function onChange(_x3) {
130
+ return _onChange2.apply(this, arguments);
131
+ }
132
+ return onChange;
133
+ }(),
134
+ children: jsx(View, {
135
+ borderWidth: 'thin',
136
+ borderColor: 'gray-600',
137
+ borderRadius: 'medium',
138
+ padding: 'size-100',
139
+ backgroundColor: 'static-white',
140
+ children: jsx(View, {
141
+ maxHeight: 'size-2400',
142
+ overflow: 'auto',
143
+ children: (field.options || []).map(function (option, index) {
144
+ return jsx(Checkbox, {
145
+ width: '100%',
146
+ value: option.value,
147
+ children: option.label
148
+ }, "".concat(field.code, "-").concat(index));
149
+ })
150
+ })
151
+ })
152
+ }, field.code), field.use_env_var !== undefined && field.use_env_var ? jsxs(Checkbox, {
153
+ name: envName,
154
+ value: '1',
155
+ isRequired: false,
156
+ defaultSelected: isChecked,
157
+ onChange: function () {
158
+ var _onChange3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(checked) {
159
+ return _regenerator().w(function (_context5) {
160
+ while (1) switch (_context5.n) {
161
+ case 0:
162
+ setIsChecked(checked);
163
+ _context5.n = 1;
164
+ return onFieldChange(envName, envName, checked);
165
+ case 1:
166
+ return _context5.a(2);
167
+ }
168
+ }, _callee5);
169
+ }));
170
+ function onChange(_x4) {
171
+ return _onChange3.apply(this, arguments);
172
+ }
173
+ return onChange;
174
+ }(),
175
+ children: ["Use value as environment variable:", ' ', Array.isArray(value) ? value.join(', ') : value]
176
+ }, envName) : null]
177
+ });
178
+ case FieldType.TOGGLE:
179
+ return jsxs(View, {
180
+ marginBottom: 'size-100',
181
+ children: [jsx(Switch, {
182
+ isDisabled: isChecked || ((_field$disabled3 = field.disabled) !== null && _field$disabled3 !== void 0 ? _field$disabled3 : false),
183
+ isSelected: value === '1',
184
+ onChange: function () {
185
+ var _onChange4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(selected) {
186
+ var toggleValue;
187
+ return _regenerator().w(function (_context6) {
188
+ while (1) switch (_context6.n) {
189
+ case 0:
190
+ toggleValue = selected ? '1' : '0';
191
+ setValue(toggleValue);
192
+ _context6.n = 1;
193
+ return onFieldChange(field.code, field.db_field, toggleValue);
194
+ case 1:
195
+ return _context6.a(2);
196
+ }
197
+ }, _callee6);
198
+ }));
199
+ function onChange(_x5) {
200
+ return _onChange4.apply(this, arguments);
201
+ }
202
+ return onChange;
203
+ }(),
204
+ children: field.label
205
+ }, field.code), field.use_env_var !== undefined && field.use_env_var ? jsxs(Checkbox, {
206
+ name: envName,
207
+ value: '1',
208
+ isRequired: false,
209
+ defaultSelected: isChecked,
210
+ onChange: function () {
211
+ var _onChange5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(checked) {
212
+ return _regenerator().w(function (_context7) {
213
+ while (1) switch (_context7.n) {
214
+ case 0:
215
+ setIsChecked(checked);
216
+ _context7.n = 1;
217
+ return onFieldChange(envName, envName, checked);
218
+ case 1:
219
+ return _context7.a(2);
220
+ }
221
+ }, _callee7);
222
+ }));
223
+ function onChange(_x6) {
224
+ return _onChange5.apply(this, arguments);
225
+ }
226
+ return onChange;
227
+ }(),
228
+ children: ["Use value as environment variable: ", value]
229
+ }, envName) : null]
230
+ });
86
231
  case FieldType.LABEL:
87
232
  return jsx(View, {
88
233
  marginBottom: 'size-100',
89
234
  children: jsx(LabeledValue, {
90
235
  label: field.label,
91
236
  value: value,
92
- contextualHelp: (_field$contextualHelp2 = field.contextualHelp) !== null && _field$contextualHelp2 !== void 0 ? _field$contextualHelp2 : null
237
+ contextualHelp: (_field$contextualHelp3 = field.contextualHelp) !== null && _field$contextualHelp3 !== void 0 ? _field$contextualHelp3 : null
93
238
  }, field.code)
94
239
  });
95
240
  case FieldType.TEXT:
@@ -106,26 +251,26 @@ var FieldBuilder = function FieldBuilder(_ref) {
106
251
  type: field.type,
107
252
  label: field.label,
108
253
  placeholder: usePlaceholder ? field.label : '',
109
- isRequired: (_field$required2 = field.required) !== null && _field$required2 !== void 0 ? _field$required2 : false,
110
- isDisabled: isChecked || ((_field$disabled2 = field.disabled) !== null && _field$disabled2 !== void 0 ? _field$disabled2 : false),
254
+ isRequired: (_field$required3 = field.required) !== null && _field$required3 !== void 0 ? _field$required3 : false,
255
+ isDisabled: isChecked || ((_field$disabled4 = field.disabled) !== null && _field$disabled4 !== void 0 ? _field$disabled4 : false),
111
256
  defaultValue: value,
112
- contextualHelp: (_field$contextualHelp3 = field.contextualHelp) !== null && _field$contextualHelp3 !== void 0 ? _field$contextualHelp3 : null,
257
+ contextualHelp: (_field$contextualHelp4 = field.contextualHelp) !== null && _field$contextualHelp4 !== void 0 ? _field$contextualHelp4 : null,
113
258
  width: "100%",
114
259
  onChange: function () {
115
- var _onChange2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(value) {
116
- return _regenerator().w(function (_context3) {
117
- while (1) switch (_context3.n) {
260
+ var _onChange6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(value) {
261
+ return _regenerator().w(function (_context8) {
262
+ while (1) switch (_context8.n) {
118
263
  case 0:
119
264
  setValue(value);
120
- _context3.n = 1;
265
+ _context8.n = 1;
121
266
  return onFieldChange(field.code, field.db_field, value);
122
267
  case 1:
123
- return _context3.a(2);
268
+ return _context8.a(2);
124
269
  }
125
- }, _callee3);
270
+ }, _callee8);
126
271
  }));
127
- function onChange(_x3) {
128
- return _onChange2.apply(this, arguments);
272
+ function onChange(_x7) {
273
+ return _onChange6.apply(this, arguments);
129
274
  }
130
275
  return onChange;
131
276
  }()
@@ -135,20 +280,20 @@ var FieldBuilder = function FieldBuilder(_ref) {
135
280
  isRequired: false,
136
281
  defaultSelected: isChecked,
137
282
  onChange: function () {
138
- var _onChange3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(checked) {
139
- return _regenerator().w(function (_context4) {
140
- while (1) switch (_context4.n) {
283
+ var _onChange7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(checked) {
284
+ return _regenerator().w(function (_context9) {
285
+ while (1) switch (_context9.n) {
141
286
  case 0:
142
287
  setIsChecked(checked);
143
- _context4.n = 1;
288
+ _context9.n = 1;
144
289
  return onFieldChange(envName, envName, checked);
145
290
  case 1:
146
- return _context4.a(2);
291
+ return _context9.a(2);
147
292
  }
148
- }, _callee4);
293
+ }, _callee9);
149
294
  }));
150
- function onChange(_x4) {
151
- return _onChange3.apply(this, arguments);
295
+ function onChange(_x8) {
296
+ return _onChange7.apply(this, arguments);
152
297
  }
153
298
  return onChange;
154
299
  }(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FieldBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport { Picker, Item, TextField, View, Checkbox, LabeledValue } from '@adobe/react-spectrum';\nimport { FieldBuilderProps } from './types';\nimport { FieldType } from '../FormBuilder/types';\n\nconst FieldBuilder: React.FC<FieldBuilderProps> = ({\n field,\n editItem,\n onFieldChange,\n usePlaceholder = true,\n}) => {\n const envName = field.db_field + '-env';\n\n const [isChecked, setIsChecked] = useState<boolean>(editItem[envName] ?? false);\n const [value, setValue] = useState<any>(editItem[field.db_field] ?? field.value ?? null);\n\n return (\n <View>\n {((): React.ReactElement => {\n switch (field.type) {\n case FieldType.SELECT:\n return (\n <View marginBottom={'size-100'}>\n <Picker\n key={field.code}\n label={field.label}\n items={field.options || []}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n defaultSelectedKey={value}\n width=\"100%\"\n onSelectionChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n >\n {item => <Item key={item.value}>{item.label}</Item>}\n </Picker>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.LABEL:\n return (\n <View marginBottom={'size-100'}>\n <LabeledValue\n key={field.code}\n label={field.label}\n value={value}\n contextualHelp={field.contextualHelp ?? null}\n />\n </View>\n );\n case FieldType.TEXT:\n case FieldType.EMAIL:\n case FieldType.PASSWORD:\n case FieldType.NUMBER:\n case FieldType.URL:\n case FieldType.TEL:\n case FieldType.SEARCH:\n default:\n return (\n <View marginBottom={'size-100'}>\n <TextField\n type={field.type}\n key={field.code}\n label={field.label}\n placeholder={usePlaceholder ? field.label : ''}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n defaultValue={value}\n contextualHelp={field.contextualHelp ?? null}\n width=\"100%\"\n onChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n />\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n }\n })()}\n </View>\n );\n};\n\nexport default FieldBuilder;\n"],"names":["FieldBuilder","_ref","_editItem$envName","_ref2","_editItem$field$db_fi","field","editItem","onFieldChange","_ref$usePlaceholder","usePlaceholder","envName","db_field","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","_useState3","value","_useState4","setValue","_jsx","View","children","_field$required","_field$disabled","_field$contextualHelp","_field$contextualHelp2","_field$required2","_field$disabled2","_field$contextualHelp3","type","FieldType","SELECT","_jsxs","marginBottom","Picker","label","items","options","isRequired","required","isDisabled","disabled","contextualHelp","defaultSelectedKey","width","onSelectionChange","_onSelectionChange","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","code","a","_x","apply","arguments","item","Item","use_env_var","undefined","Checkbox","name","defaultSelected","onChange","_onChange","_callee2","checked","_context2","_x2","LABEL","LabeledValue","TEXT","EMAIL","PASSWORD","NUMBER","URL","TEL","SEARCH","TextField","placeholder","defaultValue","_onChange2","_callee3","_context3","_x3","_onChange3","_callee4","_context4","_x4"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FieldBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport {\n Picker,\n Item,\n TextField,\n View,\n Checkbox,\n CheckboxGroup,\n LabeledValue,\n Switch,\n} from '@adobe/react-spectrum';\nimport { FieldBuilderProps } from './types';\nimport { FieldType } from '../FormBuilder/types';\n\nconst FieldBuilder: React.FC<FieldBuilderProps> = ({\n field,\n editItem,\n onFieldChange,\n usePlaceholder = true,\n}) => {\n const envName = field.db_field + '-env';\n\n const [isChecked, setIsChecked] = useState<boolean>(editItem[envName] ?? false);\n const [value, setValue] = useState<any>(() => {\n const initialValue = editItem[field.db_field] ?? field.value;\n const defaultValue = initialValue ?? (field.type === FieldType.TOGGLE ? '0' : null);\n\n // Call onFieldChange for TOGGLE fields with default value\n if (field.type === FieldType.TOGGLE && !initialValue && defaultValue === '0') {\n // Use setTimeout to avoid calling during render\n setTimeout(async () => {\n await onFieldChange(field.code, field.db_field, '0');\n }, 0);\n }\n\n return defaultValue;\n });\n\n return (\n <View>\n {((): React.ReactElement => {\n switch (field.type) {\n case FieldType.SELECT:\n return (\n <View marginBottom={'size-100'}>\n <Picker\n key={field.code}\n label={field.label}\n items={field.options || []}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n defaultSelectedKey={value}\n width=\"100%\"\n onSelectionChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n >\n {item => <Item key={item.value}>{item.label}</Item>}\n </Picker>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.MULTISELECT:\n return (\n <View marginBottom={'size-100'}>\n <CheckboxGroup\n key={field.code}\n label={field.label}\n width={'size-6000'}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n value={Array.isArray(value) ? value : []}\n onChange={async (selectedValues: string[]) => {\n setValue(selectedValues);\n await onFieldChange(field.code, field.db_field, selectedValues);\n }}\n >\n <View\n borderWidth={'thin'}\n borderColor={'gray-600'}\n borderRadius={'medium'}\n padding={'size-100'}\n backgroundColor={'static-white'}\n >\n <View maxHeight={'size-2400'} overflow={'auto'}>\n {(field.options || []).map((option, index) => (\n <Checkbox\n key={`${field.code}-${index}`}\n width={'100%'}\n value={option.value}\n >\n {option.label}\n </Checkbox>\n ))}\n </View>\n </View>\n </CheckboxGroup>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable:{' '}\n {Array.isArray(value) ? value.join(', ') : value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.TOGGLE:\n return (\n <View marginBottom={'size-100'}>\n <Switch\n key={field.code}\n isDisabled={isChecked || (field.disabled ?? false)}\n isSelected={value === '1'}\n onChange={async (selected: boolean) => {\n const toggleValue = selected ? '1' : '0';\n setValue(toggleValue);\n await onFieldChange(field.code, field.db_field, toggleValue);\n }}\n >\n {field.label}\n </Switch>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.LABEL:\n return (\n <View marginBottom={'size-100'}>\n <LabeledValue\n key={field.code}\n label={field.label}\n value={value}\n contextualHelp={field.contextualHelp ?? null}\n />\n </View>\n );\n case FieldType.TEXT:\n case FieldType.EMAIL:\n case FieldType.PASSWORD:\n case FieldType.NUMBER:\n case FieldType.URL:\n case FieldType.TEL:\n case FieldType.SEARCH:\n default:\n return (\n <View marginBottom={'size-100'}>\n <TextField\n type={field.type}\n key={field.code}\n label={field.label}\n placeholder={usePlaceholder ? field.label : ''}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n defaultValue={value}\n contextualHelp={field.contextualHelp ?? null}\n width=\"100%\"\n onChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n />\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n }\n })()}\n </View>\n );\n};\n\nexport default FieldBuilder;\n"],"names":["FieldBuilder","_ref","_editItem$envName","field","editItem","onFieldChange","_ref$usePlaceholder","usePlaceholder","envName","db_field","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","_useState3","_editItem$field$db_fi","initialValue","value","defaultValue","type","FieldType","TOGGLE","setTimeout","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","code","a","_useState4","setValue","_jsx","View","children","_field$required","_field$disabled","_field$contextualHelp","_field$required2","_field$disabled2","_field$contextualHelp2","_field$disabled3","_field$contextualHelp3","_field$required3","_field$disabled4","_field$contextualHelp4","SELECT","_jsxs","marginBottom","Picker","label","items","options","isRequired","required","isDisabled","disabled","contextualHelp","defaultSelectedKey","width","onSelectionChange","_onSelectionChange","_callee2","_context2","_x","apply","arguments","item","Item","use_env_var","undefined","Checkbox","name","defaultSelected","onChange","_onChange","_callee3","checked","_context3","_x2","MULTISELECT","CheckboxGroup","Array","isArray","_onChange2","_callee4","selectedValues","_context4","_x3","borderWidth","borderColor","borderRadius","padding","backgroundColor","maxHeight","overflow","map","option","index","concat","_onChange3","_callee5","_context5","_x4","join","Switch","isSelected","_onChange4","_callee6","selected","toggleValue","_context6","_x5","_onChange5","_callee7","_context7","_x6","LABEL","LabeledValue","TEXT","EMAIL","PASSWORD","NUMBER","URL","TEL","SEARCH","TextField","placeholder","_onChange6","_callee8","_context8","_x7","_onChange7","_callee9","_context9","_x8"],"mappings":"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"}
@@ -46,19 +46,21 @@ var FormBuilder = function FormBuilder(_ref) {
46
46
  validationBehavior: "native",
47
47
  onSubmit: function () {
48
48
  var _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
49
- var key;
49
+ var submissionValues, key;
50
50
  return _regenerator().w(function (_context) {
51
51
  while (1) switch (_context.n) {
52
52
  case 0:
53
53
  e.preventDefault();
54
+ // Create a new object instead of mutating the existing values
55
+ submissionValues = _objectSpread2({}, values);
54
56
  for (key in editItem) {
55
- if (!Object.prototype.hasOwnProperty.call(values, key)) {
56
- values[key] = editItem[key];
57
+ if (!Object.prototype.hasOwnProperty.call(submissionValues, key)) {
58
+ submissionValues[key] = editItem[key];
57
59
  }
58
60
  }
59
61
  setSubmitting(true);
60
62
  _context.n = 1;
61
- return onFormSubmit(values);
63
+ return onFormSubmit(submissionValues);
62
64
  case 1:
63
65
  setSubmitting(false);
64
66
  _context.n = 2;
@@ -90,12 +92,12 @@ var FormBuilder = function FormBuilder(_ref) {
90
92
  usePlaceholder: usePlaceholder,
91
93
  onFieldChange: function () {
92
94
  var _onFieldChange2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(code, db_field, value) {
93
- var db_values;
94
95
  return _regenerator().w(function (_context2) {
95
96
  while (1) switch (_context2.n) {
96
97
  case 0:
97
- db_values = _objectSpread2(_objectSpread2({}, values), {}, _defineProperty({}, db_field, value));
98
- setValues(db_values);
98
+ setValues(function (prevValues) {
99
+ return _objectSpread2(_objectSpread2({}, prevValues), {}, _defineProperty({}, db_field, value));
100
+ });
99
101
  _context2.n = 1;
100
102
  return _onFieldChange(code, value);
101
103
  case 1:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FormBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport { Form, Flex, ProgressCircle, Heading, ActionButton, Text } from '@adobe/react-spectrum';\nimport { FormBuilderProps } from './types';\nimport FieldBuilder from '../FieldBuilder';\nimport SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';\nimport Back from '@spectrum-icons/workflow/Back';\n\nconst FormBuilder: React.FC<FormBuilderProps> = ({\n components = { groups: [] },\n editItem = {},\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isSubmitting, setSubmitting] = useState(false);\n const [values, setValues] = useState<Record<string, any>>({});\n\n return (\n <Form\n isRequired\n isDisabled={isSubmitting || isProcessing}\n width=\"size-6000\"\n validationBehavior=\"native\"\n onSubmit={async e => {\n e.preventDefault();\n for (const key in editItem) {\n if (!Object.prototype.hasOwnProperty.call(values, key)) {\n values[key] = editItem[key];\n }\n }\n setSubmitting(true);\n await onFormSubmit(values);\n setSubmitting(false);\n await onPostFormSubmit();\n }}\n >\n <>\n {components.groups.map(group => (\n <Flex key={group.code} direction=\"column\" marginBottom=\"size-200\">\n <Heading id={group.code} level={4} marginTop={0}>\n {group.label}\n </Heading>\n {group.fields.map(field => (\n <FieldBuilder\n key={field.db_field}\n field={field}\n editItem={editItem}\n usePlaceholder={usePlaceholder}\n onFieldChange={async (code, db_field, value) => {\n const db_values = {\n ...values,\n [db_field]: value,\n };\n setValues(db_values);\n await onFieldChange(code, value);\n }}\n />\n ))}\n </Flex>\n ))}\n </>\n <Flex width=\"100%\" alignItems=\"center\" marginTop={'size-100'}>\n {(isSubmitting || isProcessing) && (\n <ProgressCircle\n size=\"M\"\n marginEnd={'size-250'}\n aria-label=\"Submitting..\"\n isIndeterminate\n />\n )}\n <ActionButton\n marginEnd={'size-100'}\n type=\"submit\"\n isDisabled={isSubmitting || isProcessing}\n staticColor=\"black\"\n >\n <SaveFloppy size={'M'} />\n <Text>Save</Text>\n </ActionButton>\n <ActionButton\n type=\"button\"\n staticColor=\"black\"\n isDisabled={isSubmitting || isProcessing}\n onPress={onBackPress}\n >\n <Back size={'M'} />\n <Text>Back</Text>\n </ActionButton>\n </Flex>\n </Form>\n );\n};\n\nexport default FormBuilder;\n"],"names":["FormBuilder","_ref","_ref$components","components","groups","_ref$editItem","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isSubmitting","setSubmitting","_useState3","_useState4","values","setValues","_jsxs","Form","isRequired","isDisabled","width","validationBehavior","onSubmit","_onSubmit","_asyncToGenerator","_regenerator","m","_callee","e","key","w","_context","n","preventDefault","Object","prototype","hasOwnProperty","call","a","_x","apply","arguments","_jsx","_Fragment","children","map","group","Flex","direction","marginBottom","Heading","id","code","level","marginTop","label","fields","field","FieldBuilder","_onFieldChange2","_callee2","db_field","value","db_values","_context2","_objectSpread","_defineProperty","_x2","_x3","_x4","alignItems","ProgressCircle","size","marginEnd","isIndeterminate","ActionButton","type","staticColor","SaveFloppy","Text","onPress","Back"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FormBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport { Form, Flex, ProgressCircle, Heading, ActionButton, Text } from '@adobe/react-spectrum';\nimport { FormBuilderProps } from './types';\nimport FieldBuilder from '../FieldBuilder';\nimport SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';\nimport Back from '@spectrum-icons/workflow/Back';\n\nconst FormBuilder: React.FC<FormBuilderProps> = ({\n components = { groups: [] },\n editItem = {},\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isSubmitting, setSubmitting] = useState(false);\n const [values, setValues] = useState<Record<string, any>>({});\n\n return (\n <Form\n isRequired\n isDisabled={isSubmitting || isProcessing}\n width=\"size-6000\"\n validationBehavior=\"native\"\n onSubmit={async e => {\n e.preventDefault();\n // Create a new object instead of mutating the existing values\n const submissionValues = { ...values };\n for (const key in editItem) {\n if (!Object.prototype.hasOwnProperty.call(submissionValues, key)) {\n submissionValues[key] = editItem[key];\n }\n }\n setSubmitting(true);\n await onFormSubmit(submissionValues);\n setSubmitting(false);\n await onPostFormSubmit();\n }}\n >\n <>\n {components.groups.map(group => (\n <Flex key={group.code} direction=\"column\" marginBottom=\"size-200\">\n <Heading id={group.code} level={4} marginTop={0}>\n {group.label}\n </Heading>\n {group.fields.map(field => (\n <FieldBuilder\n key={field.db_field}\n field={field}\n editItem={editItem}\n usePlaceholder={usePlaceholder}\n onFieldChange={async (code, db_field, value) => {\n setValues(prevValues => ({\n ...prevValues,\n [db_field]: value,\n }));\n await onFieldChange(code, value);\n }}\n />\n ))}\n </Flex>\n ))}\n </>\n <Flex width=\"100%\" alignItems=\"center\" marginTop={'size-100'}>\n {(isSubmitting || isProcessing) && (\n <ProgressCircle\n size=\"M\"\n marginEnd={'size-250'}\n aria-label=\"Submitting..\"\n isIndeterminate\n />\n )}\n <ActionButton\n marginEnd={'size-100'}\n type=\"submit\"\n isDisabled={isSubmitting || isProcessing}\n staticColor=\"black\"\n >\n <SaveFloppy size={'M'} />\n <Text>Save</Text>\n </ActionButton>\n <ActionButton\n type=\"button\"\n staticColor=\"black\"\n isDisabled={isSubmitting || isProcessing}\n onPress={onBackPress}\n >\n <Back size={'M'} />\n <Text>Back</Text>\n </ActionButton>\n </Flex>\n </Form>\n );\n};\n\nexport default FormBuilder;\n"],"names":["FormBuilder","_ref","_ref$components","components","groups","_ref$editItem","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isSubmitting","setSubmitting","_useState3","_useState4","values","setValues","_jsxs","Form","isRequired","isDisabled","width","validationBehavior","onSubmit","_onSubmit","_asyncToGenerator","_regenerator","m","_callee","e","submissionValues","key","w","_context","n","preventDefault","_objectSpread","Object","prototype","hasOwnProperty","call","a","_x","apply","arguments","_jsx","_Fragment","children","map","group","Flex","direction","marginBottom","Heading","id","code","level","marginTop","label","fields","field","FieldBuilder","_onFieldChange2","_callee2","db_field","value","_context2","prevValues","_defineProperty","_x2","_x3","_x4","alignItems","ProgressCircle","size","marginEnd","isIndeterminate","ActionButton","type","staticColor","SaveFloppy","Text","onPress","Back"],"mappings":"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"}
@@ -8,6 +8,8 @@ var FieldType;
8
8
  FieldType["TEL"] = "tel";
9
9
  FieldType["SEARCH"] = "search";
10
10
  FieldType["SELECT"] = "select";
11
+ FieldType["MULTISELECT"] = "multiselect";
12
+ FieldType["TOGGLE"] = "toggle";
11
13
  FieldType["LABEL"] = "label";
12
14
  })(FieldType || (FieldType = {}));
13
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../src/components/DataForm/FormBuilder/types.ts"],"sourcesContent":["/**\n * <license header>\n */\nimport React from 'react';\n\nexport enum FieldType {\n TEXT = 'text',\n EMAIL = 'email',\n PASSWORD = 'password',\n NUMBER = 'number',\n URL = 'url',\n TEL = 'tel',\n SEARCH = 'search',\n SELECT = 'select',\n LABEL = 'label',\n}\n\nexport interface FormBuilderProps {\n components: FormBuilderComponents;\n editItem?: Record<string, any>;\n onFieldChange?: (field: string, value: any) => Promise<void>;\n onFormSubmit?: (values: Record<string, any>) => Promise<void>;\n onPostFormSubmit?: () => Promise<void>;\n onBackPress?: () => void;\n isProcessing?: boolean;\n usePlaceholder?: boolean;\n}\n\nexport interface FormBuilderComponents {\n groups: FormBuilderGroup[];\n}\n\nexport interface FormBuilderGroup {\n code: string;\n label: string;\n fields: FormBuilderField[];\n}\n\nexport interface FormBuilderField {\n label: string;\n code: string;\n db_field: string;\n type: FieldType;\n required: boolean;\n disabled: boolean;\n use_env_var?: boolean;\n value?: string;\n options?: FormBuilderOption[];\n contextualHelp?: React.ReactNode;\n onFieldChange?: (value: any) => void;\n}\n\nexport interface FormBuilderOption {\n value: string;\n label: string;\n}\n"],"names":["FieldType"],"mappings":"IAKYA;AAAZ,CAAA,UAAYA,SAAS,EAAA;AACnBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACbA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAVWA,SAAS,KAATA,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../src/components/DataForm/FormBuilder/types.ts"],"sourcesContent":["/**\n * <license header>\n */\nimport React from 'react';\n\nexport enum FieldType {\n TEXT = 'text',\n EMAIL = 'email',\n PASSWORD = 'password',\n NUMBER = 'number',\n URL = 'url',\n TEL = 'tel',\n SEARCH = 'search',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n TOGGLE = 'toggle',\n LABEL = 'label',\n}\n\nexport interface FormBuilderProps {\n components: FormBuilderComponents;\n editItem?: Record<string, any>;\n onFieldChange?: (field: string, value: any) => Promise<void>;\n onFormSubmit?: (values: Record<string, any>) => Promise<void>;\n onPostFormSubmit?: () => Promise<void>;\n onBackPress?: () => void;\n isProcessing?: boolean;\n usePlaceholder?: boolean;\n}\n\nexport interface FormBuilderComponents {\n groups: FormBuilderGroup[];\n}\n\nexport interface FormBuilderGroup {\n code: string;\n label: string;\n fields: FormBuilderField[];\n}\n\nexport interface FormBuilderField {\n label: string;\n code: string;\n db_field: string;\n type: FieldType;\n required: boolean;\n disabled: boolean;\n use_env_var?: boolean;\n value?: string;\n options?: FormBuilderOption[];\n contextualHelp?: React.ReactNode;\n onFieldChange?: (value: any) => void;\n}\n\nexport interface FormBuilderOption {\n value: string;\n label: string;\n}\n"],"names":["FieldType"],"mappings":"IAKYA;AAAZ,CAAA,UAAYA,SAAS,EAAA;AACnBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACbA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3BA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAZWA,SAAS,KAATA,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState, useRef, useCallback, useEffect } from 'react';
3
+ import { useState, useRef, useEffect, useCallback } from 'react';
4
4
  import { Provider, defaultTheme, Flex, ProgressCircle, View } from '@adobe/react-spectrum';
5
5
  import FormBuilder from './FormBuilder/index.js';
6
6
 
@@ -38,7 +38,10 @@ var DataForm = function DataForm(_ref) {
38
38
  setLoading = _useState2[1];
39
39
  // Stable reference to onFormLoad to prevent infinite loops
40
40
  var onFormLoadRef = useRef(onFormLoad);
41
- onFormLoadRef.current = onFormLoad;
41
+ // Update ref in useEffect instead of during render
42
+ useEffect(function () {
43
+ onFormLoadRef.current = onFormLoad;
44
+ }, [onFormLoad]);
42
45
  // Stable callback that won't change on every render
43
46
  var stableOnFormLoad = useCallback(function () {
44
47
  return onFormLoadRef.current();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/DataForm/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useEffect, useState, useCallback, useRef } from 'react';\nimport { defaultTheme, Provider, Flex, ProgressCircle, View } from '@adobe/react-spectrum';\nimport { DataFormProps } from './types';\nimport FormBuilder from './FormBuilder';\n\nconst DataForm: React.FC<DataFormProps> = ({\n components = { groups: [] },\n editItem,\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormLoad = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isLoading, setLoading] = useState<boolean>(true);\n\n // Stable reference to onFormLoad to prevent infinite loops\n const onFormLoadRef = useRef(onFormLoad);\n onFormLoadRef.current = onFormLoad;\n\n // Stable callback that won't change on every render\n const stableOnFormLoad = useCallback(() => {\n return onFormLoadRef.current();\n }, []);\n\n useEffect(() => {\n (async (): Promise<void> => {\n await stableOnFormLoad();\n setLoading(false);\n })();\n }, [stableOnFormLoad]);\n\n return (\n <Provider theme={defaultTheme} colorScheme={'light'}>\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <FormBuilder\n components={components}\n editItem={editItem}\n onFieldChange={onFieldChange}\n onBackPress={onBackPress}\n onFormSubmit={onFormSubmit}\n onPostFormSubmit={onPostFormSubmit}\n isProcessing={isProcessing}\n usePlaceholder={usePlaceholder}\n />\n </View>\n )}\n </Flex>\n </Provider>\n );\n};\n\nexport default DataForm;\n"],"names":["DataForm","_ref","_ref$components","components","groups","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormLoad","onFormLoad","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","onFormLoadRef","useRef","current","stableOnFormLoad","useCallback","useEffect","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Provider","theme","defaultTheme","colorScheme","children","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","View","FormBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/DataForm/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useEffect, useState, useCallback, useRef } from 'react';\nimport { defaultTheme, Provider, Flex, ProgressCircle, View } from '@adobe/react-spectrum';\nimport { DataFormProps } from './types';\nimport FormBuilder from './FormBuilder';\n\nconst DataForm: React.FC<DataFormProps> = ({\n components = { groups: [] },\n editItem,\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormLoad = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isLoading, setLoading] = useState<boolean>(true);\n\n // Stable reference to onFormLoad to prevent infinite loops\n const onFormLoadRef = useRef(onFormLoad);\n\n // Update ref in useEffect instead of during render\n useEffect(() => {\n onFormLoadRef.current = onFormLoad;\n }, [onFormLoad]);\n\n // Stable callback that won't change on every render\n const stableOnFormLoad = useCallback(() => {\n return onFormLoadRef.current();\n }, []);\n\n useEffect(() => {\n (async (): Promise<void> => {\n await stableOnFormLoad();\n setLoading(false);\n })();\n }, [stableOnFormLoad]);\n\n return (\n <Provider theme={defaultTheme} colorScheme={'light'}>\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <FormBuilder\n components={components}\n editItem={editItem}\n onFieldChange={onFieldChange}\n onBackPress={onBackPress}\n onFormSubmit={onFormSubmit}\n onPostFormSubmit={onPostFormSubmit}\n isProcessing={isProcessing}\n usePlaceholder={usePlaceholder}\n />\n </View>\n )}\n </Flex>\n </Provider>\n );\n};\n\nexport default DataForm;\n"],"names":["DataForm","_ref","_ref$components","components","groups","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormLoad","onFormLoad","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","onFormLoadRef","useRef","useEffect","current","stableOnFormLoad","useCallback","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Provider","theme","defaultTheme","colorScheme","children","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","View","FormBuilder"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, toConsumableArray as _toConsumableArray, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { useState, useRef, useCallback, useEffect } from 'react';
3
+ import { useState, useRef, useEffect, useCallback } from 'react';
4
4
  import { Flex, ProgressCircle, View } from '@adobe/react-spectrum';
5
5
  import ActionsBuilder from './ActionsBuilder/index.js';
6
6
  import GridBuilder from './GridBuilder/index.js';
@@ -43,7 +43,10 @@ var DataTable = function DataTable(_ref) {
43
43
  setIds = _useState4[1];
44
44
  // Stable reference to onGridLoad to prevent infinite loops
45
45
  var onGridLoadRef = useRef(onGridLoad);
46
- onGridLoadRef.current = onGridLoad;
46
+ // Update ref in useEffect instead of during render
47
+ useEffect(function () {
48
+ onGridLoadRef.current = onGridLoad;
49
+ }, [onGridLoad]);
47
50
  // Stable callback that won't change on every render
48
51
  var stableOnGridLoad = useCallback(function () {
49
52
  return onGridLoadRef.current();