@adobe-commerce/aio-experience-kit 1.0.2 → 1.0.4

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 (66) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/README.md +590 -2
  3. package/dist/cjs/components/DataForm/ButtonContainer/index.js +158 -0
  4. package/dist/cjs/components/DataForm/ButtonContainer/index.js.map +1 -0
  5. package/dist/cjs/components/DataForm/FieldBuilder/index.js +3 -2
  6. package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
  7. package/dist/cjs/components/DataForm/FormBuilder/index.js +178 -65
  8. package/dist/cjs/components/DataForm/FormBuilder/index.js.map +1 -1
  9. package/dist/cjs/components/DataForm/FormBuilder/types.js.map +1 -1
  10. package/dist/cjs/components/DataForm/index.js +6 -3
  11. package/dist/cjs/components/DataForm/index.js.map +1 -1
  12. package/dist/cjs/components/DataTable/GridBuilder/index.js +72 -58
  13. package/dist/cjs/components/DataTable/GridBuilder/index.js.map +1 -1
  14. package/dist/cjs/components/DataTable/SearchBar/index.js +184 -0
  15. package/dist/cjs/components/DataTable/SearchBar/index.js.map +1 -0
  16. package/dist/cjs/components/DataTable/index.js +53 -33
  17. package/dist/cjs/components/DataTable/index.js.map +1 -1
  18. package/dist/cjs/components/DataTable/types.js.map +1 -1
  19. package/dist/cjs/components/FileUpload/index.js +12 -2
  20. package/dist/cjs/components/FileUpload/index.js.map +1 -1
  21. package/dist/esm/components/DataForm/ButtonContainer/index.js +154 -0
  22. package/dist/esm/components/DataForm/ButtonContainer/index.js.map +1 -0
  23. package/dist/esm/components/DataForm/FieldBuilder/index.js +3 -2
  24. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
  25. package/dist/esm/components/DataForm/FormBuilder/index.js +180 -67
  26. package/dist/esm/components/DataForm/FormBuilder/index.js.map +1 -1
  27. package/dist/esm/components/DataForm/FormBuilder/types.js.map +1 -1
  28. package/dist/esm/components/DataForm/index.js +7 -4
  29. package/dist/esm/components/DataForm/index.js.map +1 -1
  30. package/dist/esm/components/DataTable/GridBuilder/index.js +74 -60
  31. package/dist/esm/components/DataTable/GridBuilder/index.js.map +1 -1
  32. package/dist/esm/components/DataTable/SearchBar/index.js +180 -0
  33. package/dist/esm/components/DataTable/SearchBar/index.js.map +1 -0
  34. package/dist/esm/components/DataTable/index.js +53 -33
  35. package/dist/esm/components/DataTable/index.js.map +1 -1
  36. package/dist/esm/components/DataTable/types.js.map +1 -1
  37. package/dist/esm/components/FileUpload/index.js +13 -3
  38. package/dist/esm/components/FileUpload/index.js.map +1 -1
  39. package/dist/esm/types/components/DataForm/ButtonContainer/index.d.ts +12 -0
  40. package/dist/esm/types/components/DataForm/ButtonContainer/index.d.ts.map +1 -0
  41. package/dist/esm/types/components/DataForm/ButtonContainer/types.d.ts +82 -0
  42. package/dist/esm/types/components/DataForm/ButtonContainer/types.d.ts.map +1 -0
  43. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
  44. package/dist/esm/types/components/DataForm/FormBuilder/index.d.ts.map +1 -1
  45. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts +40 -0
  46. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts.map +1 -1
  47. package/dist/esm/types/components/DataForm/index.d.ts.map +1 -1
  48. package/dist/esm/types/components/DataForm/types.d.ts +2 -0
  49. package/dist/esm/types/components/DataForm/types.d.ts.map +1 -1
  50. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts +1 -1
  51. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts.map +1 -1
  52. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts +1 -0
  53. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts.map +1 -1
  54. package/dist/esm/types/components/DataTable/SearchBar/index.d.ts +11 -0
  55. package/dist/esm/types/components/DataTable/SearchBar/index.d.ts.map +1 -0
  56. package/dist/esm/types/components/DataTable/index.d.ts +1 -1
  57. package/dist/esm/types/components/DataTable/index.d.ts.map +1 -1
  58. package/dist/esm/types/components/DataTable/types.d.ts +38 -0
  59. package/dist/esm/types/components/DataTable/types.d.ts.map +1 -1
  60. package/dist/esm/types/components/FileUpload/index.d.ts +2 -3
  61. package/dist/esm/types/components/FileUpload/index.d.ts.map +1 -1
  62. package/dist/esm/types/components/FileUpload/types.d.ts +14 -0
  63. package/dist/esm/types/components/FileUpload/types.d.ts.map +1 -1
  64. package/dist/esm/types/components/index.d.ts +2 -1
  65. package/dist/esm/types/components/index.d.ts.map +1 -1
  66. package/package.json +6 -6
@@ -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 {\n Picker,\n Item,\n TextField,\n View,\n Checkbox,\n CheckboxGroup,\n LabeledValue,\n Switch,\n Flex,\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 <Flex gap=\"size-100\" alignItems=\"start\">\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.contextualHelp ?? null}\n </Flex>\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$contextualHelp4","_field$required3","_field$disabled4","_field$contextualHelp5","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","Flex","gap","alignItems","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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"}
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 Flex,\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: { value: string; label: string }) => (\n <Item key={item.value}>{item.label}</Item>\n )}\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 <Flex gap=\"size-0\" alignItems=\"center\">\n <Switch\n key={field.code}\n isDisabled={isChecked || (field.disabled ?? false)}\n isSelected={value === '1'}\n marginEnd=\"size-0\"\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.contextualHelp ?? null}\n </Flex>\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$contextualHelp4","_field$required3","_field$disabled4","_field$contextualHelp5","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","Flex","gap","alignItems","Switch","isSelected","marginEnd","_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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"}
@@ -1,12 +1,43 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
- import { useState } from 'react';
4
- import { Form, Flex, Heading, ProgressCircle, ActionButton, Text } from '@adobe/react-spectrum';
1
+ import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { useState, useMemo, useCallback } from 'react';
4
+ import { Form, Flex, Heading } from '@adobe/react-spectrum';
5
5
  import FieldBuilder from '../FieldBuilder/index.js';
6
- import SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';
7
- import Back from '@spectrum-icons/workflow/Back';
6
+ import ButtonContainer from '../ButtonContainer/index.js';
8
7
 
8
+ /**
9
+ * Evaluates whether a dependency condition is met
10
+ * @param condition The dependency condition to evaluate
11
+ * @param value The current value of the dependency field
12
+ * @param allValues All form values for custom validators
13
+ * @returns true if condition is met, false otherwise
14
+ */
15
+ var evaluateDependencyCondition = function evaluateDependencyCondition(condition, value, allValues) {
16
+ switch (condition.type) {
17
+ case 'equals':
18
+ return value === condition.value;
19
+ case 'notEquals':
20
+ return value !== condition.value;
21
+ case 'in':
22
+ return condition.values.indexOf(value) !== -1;
23
+ case 'notIn':
24
+ return condition.values.indexOf(value) === -1;
25
+ case 'greaterThan':
26
+ return typeof value === 'number' && value > condition.value;
27
+ case 'lessThan':
28
+ return typeof value === 'number' && value < condition.value;
29
+ case 'truthy':
30
+ return !!value && value !== '0' && value !== 'false';
31
+ case 'falsy':
32
+ return !value || value === '0' || value === 'false';
33
+ case 'custom':
34
+ return condition.validator(value, allValues);
35
+ default:
36
+ return true;
37
+ }
38
+ };
9
39
  var FormBuilder = function FormBuilder(_ref) {
40
+ var _buttonConfig$positio;
10
41
  var _ref$components = _ref.components,
11
42
  components = _ref$components === void 0 ? {
12
43
  groups: []
@@ -14,7 +45,7 @@ var FormBuilder = function FormBuilder(_ref) {
14
45
  _ref$editItem = _ref.editItem,
15
46
  editItem = _ref$editItem === void 0 ? {} : _ref$editItem,
16
47
  _ref$onFieldChange = _ref.onFieldChange,
17
- _onFieldChange = _ref$onFieldChange === void 0 ? function () {
48
+ onFieldChange = _ref$onFieldChange === void 0 ? function () {
18
49
  return Promise.resolve();
19
50
  } : _ref$onFieldChange,
20
51
  _ref$onFormSubmit = _ref.onFormSubmit,
@@ -30,7 +61,8 @@ var FormBuilder = function FormBuilder(_ref) {
30
61
  _ref$isProcessing = _ref.isProcessing,
31
62
  isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
32
63
  _ref$usePlaceholder = _ref.usePlaceholder,
33
- usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
64
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder,
65
+ buttonConfig = _ref.buttonConfig;
34
66
  var _useState = useState(false),
35
67
  _useState2 = _slicedToArray(_useState, 2),
36
68
  isSubmitting = _useState2[0],
@@ -39,44 +71,158 @@ var FormBuilder = function FormBuilder(_ref) {
39
71
  _useState4 = _slicedToArray(_useState3, 2),
40
72
  values = _useState4[0],
41
73
  setValues = _useState4[1];
42
- return jsxs(Form, {
74
+ // Initialize form values with editItem values for proper dependency evaluation
75
+ var initializedValues = useMemo(function () {
76
+ var mergedValues = {};
77
+ components.groups.forEach(function (group) {
78
+ group.fields.forEach(function (field) {
79
+ // Set both code and db_field for consistency
80
+ if (editItem[field.db_field] !== undefined) {
81
+ mergedValues[field.code] = editItem[field.db_field];
82
+ mergedValues[field.db_field] = editItem[field.db_field];
83
+ } else if (field.value !== undefined) {
84
+ mergedValues[field.code] = field.value;
85
+ mergedValues[field.db_field] = field.value;
86
+ }
87
+ });
88
+ });
89
+ return mergedValues;
90
+ }, [editItem, components]);
91
+ // Combine initial values with current form values
92
+ var allValues = useMemo(function () {
93
+ return _objectSpread2(_objectSpread2({}, initializedValues), values);
94
+ }, [initializedValues, values]);
95
+ /**
96
+ * Evaluates whether a field should be visible based on its dependencies
97
+ * @param field The field to evaluate
98
+ * @returns true if field should be visible, false otherwise
99
+ */
100
+ var isFieldVisible = useCallback(function (field) {
101
+ if (!field.dependsOn) {
102
+ return true;
103
+ }
104
+ var dependencyValue = allValues[field.dependsOn.field];
105
+ return evaluateDependencyCondition(field.dependsOn.condition, dependencyValue, allValues);
106
+ }, [allValues]);
107
+ /**
108
+ * Get all visible fields with memoization for performance
109
+ */
110
+ var visibleFieldsByGroup = useMemo(function () {
111
+ var result = new Map();
112
+ components.groups.forEach(function (group) {
113
+ var visibleFields = group.fields.filter(function (field) {
114
+ return isFieldVisible(field);
115
+ });
116
+ result.set(group.code, visibleFields);
117
+ });
118
+ return result;
119
+ }, [components.groups, isFieldVisible]);
120
+ // Determine button position (default: 'after')
121
+ var buttonPosition = (_buttonConfig$positio = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.position) !== null && _buttonConfig$positio !== void 0 ? _buttonConfig$positio : 'after';
122
+ /**
123
+ * Handle field changes with dependency awareness
124
+ */
125
+ var handleFieldChange = useCallback(/*#__PURE__*/function () {
126
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(code, db_field, value) {
127
+ return _regenerator().w(function (_context) {
128
+ while (1) switch (_context.n) {
129
+ case 0:
130
+ setValues(function (prevValues) {
131
+ var newValues = _objectSpread2(_objectSpread2({}, prevValues), {}, _defineProperty(_defineProperty({}, code, value), db_field, value));
132
+ // Check if any fields depend on this field and clear their values if they become hidden
133
+ components.groups.forEach(function (group) {
134
+ group.fields.forEach(function (field) {
135
+ var _field$dependsOn;
136
+ if (((_field$dependsOn = field.dependsOn) === null || _field$dependsOn === void 0 ? void 0 : _field$dependsOn.field) === code && field.dependsOn.clearValueOnHide !== false) {
137
+ // Evaluate if the dependent field will be visible with the new value
138
+ var tempValues = _objectSpread2(_objectSpread2({}, allValues), {}, _defineProperty({}, code, value));
139
+ var willBeVisible = evaluateDependencyCondition(field.dependsOn.condition, value, tempValues);
140
+ // If field will be hidden, clear its value
141
+ if (!willBeVisible) {
142
+ delete newValues[field.code];
143
+ delete newValues[field.db_field];
144
+ }
145
+ }
146
+ });
147
+ });
148
+ return newValues;
149
+ });
150
+ _context.n = 1;
151
+ return onFieldChange(code, value);
152
+ case 1:
153
+ return _context.a(2);
154
+ }
155
+ }, _callee);
156
+ }));
157
+ return function (_x, _x2, _x3) {
158
+ return _ref2.apply(this, arguments);
159
+ };
160
+ }(), [allValues, components.groups, onFieldChange]);
161
+ // Button container component
162
+ var buttonContainerElement = jsx(ButtonContainer, _objectSpread2(_objectSpread2({}, buttonConfig !== undefined && {
163
+ buttonConfig: buttonConfig
164
+ }), {}, {
165
+ isSubmitting: isSubmitting,
166
+ isProcessing: isProcessing,
167
+ onBackPress: onBackPress
168
+ }));
169
+ return jsx(Form, {
43
170
  isRequired: true,
44
171
  isDisabled: isSubmitting || isProcessing,
45
172
  width: "size-6000",
46
173
  validationBehavior: "native",
47
174
  onSubmit: function () {
48
- var _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
49
- var submissionValues, key;
50
- return _regenerator().w(function (_context) {
51
- while (1) switch (_context.n) {
175
+ var _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
176
+ var submissionValues, visibleFieldCodes, key;
177
+ return _regenerator().w(function (_context2) {
178
+ while (1) switch (_context2.n) {
52
179
  case 0:
53
180
  e.preventDefault();
54
181
  // Create a new object instead of mutating the existing values
55
- submissionValues = _objectSpread2({}, values);
182
+ submissionValues = _objectSpread2({}, values); // Only include values from visible fields
183
+ visibleFieldCodes = new Set();
184
+ components.groups.forEach(function (group) {
185
+ var visibleFields = visibleFieldsByGroup.get(group.code) || [];
186
+ visibleFields.forEach(function (field) {
187
+ visibleFieldCodes.add(field.db_field);
188
+ });
189
+ });
190
+ // Filter out hidden field values
191
+ Object.keys(submissionValues).forEach(function (key) {
192
+ if (!visibleFieldCodes.has(key)) {
193
+ delete submissionValues[key];
194
+ }
195
+ });
196
+ // Add editItem values for fields not changed
56
197
  for (key in editItem) {
57
- if (!Object.prototype.hasOwnProperty.call(submissionValues, key)) {
198
+ if (!Object.prototype.hasOwnProperty.call(submissionValues, key) && visibleFieldCodes.has(key)) {
58
199
  submissionValues[key] = editItem[key];
59
200
  }
60
201
  }
61
202
  setSubmitting(true);
62
- _context.n = 1;
203
+ _context2.n = 1;
63
204
  return onFormSubmit(submissionValues);
64
205
  case 1:
65
206
  setSubmitting(false);
66
- _context.n = 2;
207
+ _context2.n = 2;
67
208
  return onPostFormSubmit();
68
209
  case 2:
69
- return _context.a(2);
210
+ return _context2.a(2);
70
211
  }
71
- }, _callee);
212
+ }, _callee2);
72
213
  }));
73
- function onSubmit(_x) {
214
+ function onSubmit(_x4) {
74
215
  return _onSubmit.apply(this, arguments);
75
216
  }
76
217
  return onSubmit;
77
218
  }(),
78
- children: [jsx(Fragment, {
79
- children: components.groups.map(function (group) {
219
+ children: jsxs(Fragment, {
220
+ children: [buttonPosition === 'before' && buttonContainerElement, components.groups.map(function (group) {
221
+ var visibleFields = visibleFieldsByGroup.get(group.code) || [];
222
+ // Only render group if it has visible fields
223
+ if (visibleFields.length === 0) {
224
+ return null;
225
+ }
80
226
  return jsxs(Flex, {
81
227
  direction: "column",
82
228
  marginBottom: "size-200",
@@ -85,66 +231,33 @@ var FormBuilder = function FormBuilder(_ref) {
85
231
  level: 4,
86
232
  marginTop: 0,
87
233
  children: group.label
88
- }), group.fields.map(function (field) {
234
+ }), visibleFields.map(function (field) {
89
235
  return jsx(FieldBuilder, {
90
236
  field: field,
91
237
  editItem: editItem,
92
238
  usePlaceholder: usePlaceholder,
93
239
  onFieldChange: function () {
94
- var _onFieldChange2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(code, db_field, value) {
95
- return _regenerator().w(function (_context2) {
96
- while (1) switch (_context2.n) {
240
+ var _onFieldChange = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(code, db_field, value) {
241
+ return _regenerator().w(function (_context3) {
242
+ while (1) switch (_context3.n) {
97
243
  case 0:
98
- setValues(function (prevValues) {
99
- return _objectSpread2(_objectSpread2({}, prevValues), {}, _defineProperty({}, db_field, value));
100
- });
101
- _context2.n = 1;
102
- return _onFieldChange(code, value);
244
+ _context3.n = 1;
245
+ return handleFieldChange(code, db_field, value);
103
246
  case 1:
104
- return _context2.a(2);
247
+ return _context3.a(2);
105
248
  }
106
- }, _callee2);
249
+ }, _callee3);
107
250
  }));
108
- function onFieldChange(_x2, _x3, _x4) {
109
- return _onFieldChange2.apply(this, arguments);
251
+ function onFieldChange(_x5, _x6, _x7) {
252
+ return _onFieldChange.apply(this, arguments);
110
253
  }
111
254
  return onFieldChange;
112
255
  }()
113
256
  }, field.db_field);
114
257
  })]
115
258
  }, group.code);
116
- })
117
- }), jsxs(Flex, {
118
- width: "100%",
119
- alignItems: "center",
120
- marginTop: 'size-100',
121
- children: [(isSubmitting || isProcessing) && jsx(ProgressCircle, {
122
- size: "M",
123
- marginEnd: 'size-250',
124
- "aria-label": "Submitting..",
125
- isIndeterminate: true
126
- }), jsxs(ActionButton, {
127
- marginEnd: 'size-100',
128
- type: "submit",
129
- isDisabled: isSubmitting || isProcessing,
130
- staticColor: "black",
131
- children: [jsx(SaveFloppy, {
132
- size: 'M'
133
- }), jsx(Text, {
134
- children: "Save"
135
- })]
136
- }), jsxs(ActionButton, {
137
- type: "button",
138
- staticColor: "black",
139
- isDisabled: isSubmitting || isProcessing,
140
- onPress: onBackPress,
141
- children: [jsx(Back, {
142
- size: 'M'
143
- }), jsx(Text, {
144
- children: "Back"
145
- })]
146
- })]
147
- })]
259
+ }), buttonPosition === 'after' && buttonContainerElement]
260
+ })
148
261
  });
149
262
  };
150
263
 
@@ -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 // 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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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FormBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState, useMemo, useCallback } from 'react';\nimport { Form, Flex, Heading } from '@adobe/react-spectrum';\nimport { FormBuilderProps, FormBuilderField, DependencyCondition } from './types';\nimport FieldBuilder from '../FieldBuilder';\nimport ButtonContainer from '../ButtonContainer';\n\n/**\n * Evaluates whether a dependency condition is met\n * @param condition The dependency condition to evaluate\n * @param value The current value of the dependency field\n * @param allValues All form values for custom validators\n * @returns true if condition is met, false otherwise\n */\nconst evaluateDependencyCondition = (\n condition: DependencyCondition,\n value: any,\n allValues: Record<string, any>\n): boolean => {\n switch (condition.type) {\n case 'equals':\n return value === condition.value;\n case 'notEquals':\n return value !== condition.value;\n case 'in':\n return condition.values.indexOf(value) !== -1;\n case 'notIn':\n return condition.values.indexOf(value) === -1;\n case 'greaterThan':\n return typeof value === 'number' && value > condition.value;\n case 'lessThan':\n return typeof value === 'number' && value < condition.value;\n case 'truthy':\n return !!value && value !== '0' && value !== 'false';\n case 'falsy':\n return !value || value === '0' || value === 'false';\n case 'custom':\n return condition.validator(value, allValues);\n default:\n return true;\n }\n};\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 buttonConfig,\n}) => {\n const [isSubmitting, setSubmitting] = useState(false);\n const [values, setValues] = useState<Record<string, any>>({});\n\n // Initialize form values with editItem values for proper dependency evaluation\n const initializedValues = useMemo(() => {\n const mergedValues: Record<string, any> = {};\n components.groups.forEach(group => {\n group.fields.forEach(field => {\n // Set both code and db_field for consistency\n if (editItem[field.db_field] !== undefined) {\n mergedValues[field.code] = editItem[field.db_field];\n mergedValues[field.db_field] = editItem[field.db_field];\n } else if (field.value !== undefined) {\n mergedValues[field.code] = field.value;\n mergedValues[field.db_field] = field.value;\n }\n });\n });\n return mergedValues;\n }, [editItem, components]);\n\n // Combine initial values with current form values\n const allValues = useMemo(() => {\n return { ...initializedValues, ...values };\n }, [initializedValues, values]);\n\n /**\n * Evaluates whether a field should be visible based on its dependencies\n * @param field The field to evaluate\n * @returns true if field should be visible, false otherwise\n */\n const isFieldVisible = useCallback(\n (field: FormBuilderField): boolean => {\n if (!field.dependsOn) {\n return true;\n }\n\n const dependencyValue = allValues[field.dependsOn.field];\n return evaluateDependencyCondition(field.dependsOn.condition, dependencyValue, allValues);\n },\n [allValues]\n );\n\n /**\n * Get all visible fields with memoization for performance\n */\n const visibleFieldsByGroup = useMemo(() => {\n const result: Map<string, FormBuilderField[]> = new Map();\n\n components.groups.forEach(group => {\n const visibleFields = group.fields.filter(field => isFieldVisible(field));\n result.set(group.code, visibleFields);\n });\n\n return result;\n }, [components.groups, isFieldVisible]);\n\n // Determine button position (default: 'after')\n const buttonPosition = buttonConfig?.position ?? 'after';\n\n /**\n * Handle field changes with dependency awareness\n */\n const handleFieldChange = useCallback(\n async (code: string, db_field: string, value: any) => {\n setValues(prevValues => {\n const newValues = {\n ...prevValues,\n [code]: value,\n [db_field]: value,\n };\n\n // Check if any fields depend on this field and clear their values if they become hidden\n components.groups.forEach(group => {\n group.fields.forEach(field => {\n if (field.dependsOn?.field === code && field.dependsOn.clearValueOnHide !== false) {\n // Evaluate if the dependent field will be visible with the new value\n const tempValues = { ...allValues, [code]: value };\n const willBeVisible = evaluateDependencyCondition(\n field.dependsOn.condition,\n value,\n tempValues\n );\n\n // If field will be hidden, clear its value\n if (!willBeVisible) {\n delete newValues[field.code];\n delete newValues[field.db_field];\n }\n }\n });\n });\n\n return newValues;\n });\n\n await onFieldChange(code, value);\n },\n [allValues, components.groups, onFieldChange]\n );\n\n // Button container component\n const buttonContainerElement = (\n <ButtonContainer\n {...(buttonConfig !== undefined && { buttonConfig })}\n isSubmitting={isSubmitting}\n isProcessing={isProcessing}\n onBackPress={onBackPress}\n />\n );\n\n return (\n <Form\n isRequired\n isDisabled={isSubmitting || isProcessing}\n width=\"size-6000\"\n validationBehavior=\"native\"\n onSubmit={async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n // Create a new object instead of mutating the existing values\n const submissionValues = { ...values };\n\n // Only include values from visible fields\n const visibleFieldCodes = new Set<string>();\n components.groups.forEach(group => {\n const visibleFields = visibleFieldsByGroup.get(group.code) || [];\n visibleFields.forEach(field => {\n visibleFieldCodes.add(field.db_field);\n });\n });\n\n // Filter out hidden field values\n Object.keys(submissionValues).forEach(key => {\n if (!visibleFieldCodes.has(key)) {\n delete submissionValues[key];\n }\n });\n\n // Add editItem values for fields not changed\n for (const key in editItem) {\n if (\n !Object.prototype.hasOwnProperty.call(submissionValues, key) &&\n visibleFieldCodes.has(key)\n ) {\n submissionValues[key] = editItem[key];\n }\n }\n\n setSubmitting(true);\n await onFormSubmit(submissionValues);\n setSubmitting(false);\n await onPostFormSubmit();\n }}\n >\n <>\n {/* Render buttons before form if position is 'before' */}\n {buttonPosition === 'before' && buttonContainerElement}\n\n {/* Render form fields */}\n {components.groups.map(group => {\n const visibleFields = visibleFieldsByGroup.get(group.code) || [];\n\n // Only render group if it has visible fields\n if (visibleFields.length === 0) {\n return null;\n }\n\n return (\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 {visibleFields.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 await handleFieldChange(code, db_field, value);\n }}\n />\n ))}\n </Flex>\n );\n })}\n\n {/* Render buttons after form if position is 'after' (default) */}\n {buttonPosition === 'after' && buttonContainerElement}\n </>\n </Form>\n );\n};\n\nexport default FormBuilder;\n"],"names":["evaluateDependencyCondition","condition","value","allValues","type","values","indexOf","validator","FormBuilder","_ref","_buttonConfig$positio","_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","buttonConfig","_useState","useState","_useState2","_slicedToArray","isSubmitting","setSubmitting","_useState3","_useState4","setValues","initializedValues","useMemo","mergedValues","forEach","group","fields","field","db_field","undefined","code","_objectSpread","isFieldVisible","useCallback","dependsOn","dependencyValue","visibleFieldsByGroup","result","Map","visibleFields","filter","set","buttonPosition","position","handleFieldChange","_ref2","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","prevValues","newValues","_defineProperty","_field$dependsOn","clearValueOnHide","tempValues","willBeVisible","a","_x","_x2","_x3","apply","arguments","buttonContainerElement","_jsx","ButtonContainer","Form","isRequired","isDisabled","width","validationBehavior","onSubmit","_onSubmit","_callee2","e","submissionValues","visibleFieldCodes","key","_context2","preventDefault","Set","get","add","Object","keys","has","prototype","hasOwnProperty","call","_x4","_jsxs","_Fragment","children","map","length","Flex","direction","marginBottom","Heading","id","level","marginTop","label","FieldBuilder","_onFieldChange","_callee3","_context3","_x5","_x6","_x7"],"mappings":"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"}
@@ -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 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
+ {"version":3,"file":"types.js","sources":["../../../../../../src/components/DataForm/FormBuilder/types.ts"],"sourcesContent":["/**\n * <license header>\n */\nimport React from 'react';\nimport { FormButtonConfig } from '../ButtonContainer/types';\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\n/**\n * Dependency condition types for field visibility\n */\nexport type DependencyCondition =\n | { type: 'equals'; value: any }\n | { type: 'notEquals'; value: any }\n | { type: 'in'; values: any[] }\n | { type: 'notIn'; values: any[] }\n | { type: 'greaterThan'; value: number }\n | { type: 'lessThan'; value: number }\n | { type: 'truthy' }\n | { type: 'falsy' }\n | { type: 'custom'; validator: (value: any, formValues: Record<string, any>) => boolean };\n\n/**\n * Field dependency configuration\n */\nexport interface FieldDependency {\n field: string; // The code of the field this depends on\n condition: DependencyCondition;\n clearValueOnHide?: boolean; // Whether to clear the field value when hidden (default: false)\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 buttonConfig?: FormButtonConfig;\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 dependsOn?: FieldDependency; // Dependency configuration for conditional visibility\n}\n\nexport interface FormBuilderOption {\n value: string;\n label: string;\n}\n"],"names":["FieldType"],"mappings":"IAMYA;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,4 +1,4 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect, useCallback } from 'react';
4
4
  import { Provider, defaultTheme, Flex, ProgressCircle, View } from '@adobe/react-spectrum';
@@ -31,7 +31,8 @@ var DataForm = function DataForm(_ref) {
31
31
  _ref$isProcessing = _ref.isProcessing,
32
32
  isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
33
33
  _ref$usePlaceholder = _ref.usePlaceholder,
34
- usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
34
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder,
35
+ buttonConfig = _ref.buttonConfig;
35
36
  var _useState = useState(true),
36
37
  _useState2 = _slicedToArray(_useState, 2),
37
38
  isLoading = _useState2[0],
@@ -73,7 +74,7 @@ var DataForm = function DataForm(_ref) {
73
74
  isIndeterminate: true
74
75
  }) : jsx(View, {
75
76
  width: "100%",
76
- children: jsx(FormBuilder, {
77
+ children: jsx(FormBuilder, _objectSpread2({
77
78
  components: components,
78
79
  editItem: editItem,
79
80
  onFieldChange: onFieldChange,
@@ -82,7 +83,9 @@ var DataForm = function DataForm(_ref) {
82
83
  onPostFormSubmit: onPostFormSubmit,
83
84
  isProcessing: isProcessing,
84
85
  usePlaceholder: usePlaceholder
85
- })
86
+ }, buttonConfig !== undefined && {
87
+ buttonConfig: buttonConfig
88
+ }))
86
89
  })
87
90
  })
88
91
  });
@@ -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\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
+ {"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 buttonConfig,\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 {...(buttonConfig !== undefined && { buttonConfig })}\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","buttonConfig","_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","Flex","width","alignItems","children","ProgressCircle","size","isIndeterminate","View","FormBuilder","_objectSpread","undefined"],"mappings":"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"}