@adobe-commerce/aio-experience-kit 1.0.3 → 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 (50) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +534 -0
  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.map +1 -1
  6. package/dist/cjs/components/DataForm/FormBuilder/index.js +178 -65
  7. package/dist/cjs/components/DataForm/FormBuilder/index.js.map +1 -1
  8. package/dist/cjs/components/DataForm/FormBuilder/types.js.map +1 -1
  9. package/dist/cjs/components/DataForm/index.js +6 -3
  10. package/dist/cjs/components/DataForm/index.js.map +1 -1
  11. package/dist/cjs/components/DataTable/GridBuilder/index.js.map +1 -1
  12. package/dist/cjs/components/DataTable/SearchBar/index.js +184 -0
  13. package/dist/cjs/components/DataTable/SearchBar/index.js.map +1 -0
  14. package/dist/cjs/components/DataTable/index.js +47 -31
  15. package/dist/cjs/components/DataTable/index.js.map +1 -1
  16. package/dist/cjs/components/DataTable/types.js.map +1 -1
  17. package/dist/esm/components/DataForm/ButtonContainer/index.js +154 -0
  18. package/dist/esm/components/DataForm/ButtonContainer/index.js.map +1 -0
  19. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
  20. package/dist/esm/components/DataForm/FormBuilder/index.js +180 -67
  21. package/dist/esm/components/DataForm/FormBuilder/index.js.map +1 -1
  22. package/dist/esm/components/DataForm/FormBuilder/types.js.map +1 -1
  23. package/dist/esm/components/DataForm/index.js +7 -4
  24. package/dist/esm/components/DataForm/index.js.map +1 -1
  25. package/dist/esm/components/DataTable/GridBuilder/index.js.map +1 -1
  26. package/dist/esm/components/DataTable/SearchBar/index.js +180 -0
  27. package/dist/esm/components/DataTable/SearchBar/index.js.map +1 -0
  28. package/dist/esm/components/DataTable/index.js +45 -29
  29. package/dist/esm/components/DataTable/index.js.map +1 -1
  30. package/dist/esm/components/DataTable/types.js.map +1 -1
  31. package/dist/esm/types/components/DataForm/ButtonContainer/index.d.ts +12 -0
  32. package/dist/esm/types/components/DataForm/ButtonContainer/index.d.ts.map +1 -0
  33. package/dist/esm/types/components/DataForm/ButtonContainer/types.d.ts +82 -0
  34. package/dist/esm/types/components/DataForm/ButtonContainer/types.d.ts.map +1 -0
  35. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
  36. package/dist/esm/types/components/DataForm/FormBuilder/index.d.ts.map +1 -1
  37. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts +40 -0
  38. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts.map +1 -1
  39. package/dist/esm/types/components/DataForm/index.d.ts.map +1 -1
  40. package/dist/esm/types/components/DataForm/types.d.ts +2 -0
  41. package/dist/esm/types/components/DataForm/types.d.ts.map +1 -1
  42. package/dist/esm/types/components/DataTable/SearchBar/index.d.ts +11 -0
  43. package/dist/esm/types/components/DataTable/SearchBar/index.d.ts.map +1 -0
  44. package/dist/esm/types/components/DataTable/index.d.ts +1 -1
  45. package/dist/esm/types/components/DataTable/index.d.ts.map +1 -1
  46. package/dist/esm/types/components/DataTable/types.d.ts +37 -0
  47. package/dist/esm/types/components/DataTable/types.d.ts.map +1 -1
  48. package/dist/esm/types/components/index.d.ts +1 -0
  49. package/dist/esm/types/components/index.d.ts.map +1 -1
  50. package/package.json +6 -6
@@ -0,0 +1,158 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ var reactSpectrum = require('@adobe/react-spectrum');
9
+ var SaveFloppy = require('@spectrum-icons/workflow/SaveFloppy');
10
+ var Back = require('@spectrum-icons/workflow/Back');
11
+
12
+ /**
13
+ * ButtonContainer component handles rendering of form action buttons
14
+ * with customizable labels, icons, visibility, and layout
15
+ */
16
+ var ButtonContainer = function ButtonContainer(_ref) {
17
+ var _buttonConfig$submitB, _buttonConfig$backBut, _buttonConfig$seconda, _buttonConfig$alignme, _buttonConfig$gap, _submitButton$label, _submitButton$icon, _submitButton$isHidde, _submitButton$ariaLab, _backButton$label, _backButton$icon, _backButton$isHidden, _backButton$ariaLabel;
18
+ var buttonConfig = _ref.buttonConfig,
19
+ isSubmitting = _ref.isSubmitting,
20
+ isProcessing = _ref.isProcessing,
21
+ onBackPress = _ref.onBackPress;
22
+ // Track secondary button loading states
23
+ var _useState = React.useState({}),
24
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
25
+ secondaryLoadingStates = _useState2[0],
26
+ setSecondaryLoadingStates = _useState2[1];
27
+ // Extract configuration with defaults
28
+ var submitButton = (_buttonConfig$submitB = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.submitButton) !== null && _buttonConfig$submitB !== void 0 ? _buttonConfig$submitB : {};
29
+ var backButton = (_buttonConfig$backBut = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.backButton) !== null && _buttonConfig$backBut !== void 0 ? _buttonConfig$backBut : {};
30
+ var secondaryButtons = (_buttonConfig$seconda = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.secondaryButtons) !== null && _buttonConfig$seconda !== void 0 ? _buttonConfig$seconda : [];
31
+ var alignment = (_buttonConfig$alignme = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.alignment) !== null && _buttonConfig$alignme !== void 0 ? _buttonConfig$alignme : 'start';
32
+ var gap = (_buttonConfig$gap = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.gap) !== null && _buttonConfig$gap !== void 0 ? _buttonConfig$gap : 'small';
33
+ // Map gap size to Spectrum size tokens
34
+ var gapSizeMap = {
35
+ small: 'size-100',
36
+ medium: 'size-200',
37
+ large: 'size-300'
38
+ };
39
+ // Default values
40
+ var submitLabel = (_submitButton$label = submitButton.label) !== null && _submitButton$label !== void 0 ? _submitButton$label : 'Save';
41
+ var submitIcon = (_submitButton$icon = submitButton.icon) !== null && _submitButton$icon !== void 0 ? _submitButton$icon : jsxRuntime.jsx(SaveFloppy, {
42
+ size: "M",
43
+ marginStart: "size-150"
44
+ });
45
+ var submitHidden = (_submitButton$isHidde = submitButton.isHidden) !== null && _submitButton$isHidde !== void 0 ? _submitButton$isHidde : false;
46
+ var submitAriaLabel = (_submitButton$ariaLab = submitButton.ariaLabel) !== null && _submitButton$ariaLab !== void 0 ? _submitButton$ariaLab : submitLabel;
47
+ var backLabel = (_backButton$label = backButton.label) !== null && _backButton$label !== void 0 ? _backButton$label : 'Back';
48
+ var backIcon = (_backButton$icon = backButton.icon) !== null && _backButton$icon !== void 0 ? _backButton$icon : jsxRuntime.jsx(Back, {
49
+ size: "M",
50
+ marginStart: "size-150"
51
+ });
52
+ var backHidden = (_backButton$isHidden = backButton.isHidden) !== null && _backButton$isHidden !== void 0 ? _backButton$isHidden : false;
53
+ var backAriaLabel = (_backButton$ariaLabel = backButton.ariaLabel) !== null && _backButton$ariaLabel !== void 0 ? _backButton$ariaLabel : backLabel;
54
+ var isDisabled = isSubmitting || isProcessing;
55
+ // Handle secondary button press
56
+ var handleSecondaryPress = /*#__PURE__*/function () {
57
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee(button) {
58
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
59
+ while (1) switch (_context.p = _context.n) {
60
+ case 0:
61
+ setSecondaryLoadingStates(function (prev) {
62
+ return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prev), {}, _rollupPluginBabelHelpers.defineProperty({}, button.key, true));
63
+ });
64
+ _context.p = 1;
65
+ _context.n = 2;
66
+ return button.onPress();
67
+ case 2:
68
+ _context.p = 2;
69
+ setSecondaryLoadingStates(function (prev) {
70
+ return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prev), {}, _rollupPluginBabelHelpers.defineProperty({}, button.key, false));
71
+ });
72
+ return _context.f(2);
73
+ case 3:
74
+ return _context.a(2);
75
+ }
76
+ }, _callee, null, [[1,, 2, 3]]);
77
+ }));
78
+ return function handleSecondaryPress(_x) {
79
+ return _ref2.apply(this, arguments);
80
+ };
81
+ }();
82
+ // Get button variant style - ActionButton only supports 'black' or 'white' staticColor
83
+ var getVariantStyle = function getVariantStyle() {
84
+ return 'black';
85
+ };
86
+ return jsxRuntime.jsxs(reactSpectrum.Flex, {
87
+ width: "100%",
88
+ alignItems: "center",
89
+ justifyContent: alignment,
90
+ gap: gapSizeMap[gap],
91
+ marginTop: "size-100",
92
+ children: [(isSubmitting || isProcessing) && jsxRuntime.jsx(reactSpectrum.ProgressCircle, {
93
+ size: "M",
94
+ "aria-label": "Processing...",
95
+ isIndeterminate: true
96
+ }), !submitHidden && jsxRuntime.jsxs(reactSpectrum.ActionButton, {
97
+ type: "submit",
98
+ isDisabled: isDisabled,
99
+ staticColor: getVariantStyle(),
100
+ "aria-label": submitAriaLabel,
101
+ children: [submitIcon, jsxRuntime.jsx(reactSpectrum.Text, {
102
+ children: submitLabel
103
+ })]
104
+ }), !backHidden && jsxRuntime.jsxs(reactSpectrum.ActionButton, {
105
+ type: "button",
106
+ isDisabled: isDisabled,
107
+ staticColor: getVariantStyle(),
108
+ onPress: onBackPress,
109
+ "aria-label": backAriaLabel,
110
+ children: [backIcon, jsxRuntime.jsx(reactSpectrum.Text, {
111
+ children: backLabel
112
+ })]
113
+ }), secondaryButtons.map(function (button) {
114
+ var _button$type, _button$ariaLabel;
115
+ var isSecondaryDisabled = isDisabled || button.isDisabled || false;
116
+ var isSecondaryLoading = secondaryLoadingStates[button.key] || false;
117
+ var buttonType = (_button$type = button.type) !== null && _button$type !== void 0 ? _button$type : 'button';
118
+ var buttonAriaLabel = (_button$ariaLabel = button.ariaLabel) !== null && _button$ariaLabel !== void 0 ? _button$ariaLabel : button.label;
119
+ return jsxRuntime.jsxs(reactSpectrum.ActionButton, {
120
+ type: buttonType,
121
+ isDisabled: isSecondaryDisabled,
122
+ staticColor: getVariantStyle(),
123
+ onPress: function () {
124
+ var _onPress = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2() {
125
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
126
+ while (1) switch (_context2.n) {
127
+ case 0:
128
+ if (!(buttonType === 'button')) {
129
+ _context2.n = 1;
130
+ break;
131
+ }
132
+ _context2.n = 1;
133
+ return handleSecondaryPress(button);
134
+ case 1:
135
+ return _context2.a(2);
136
+ }
137
+ }, _callee2);
138
+ }));
139
+ function onPress() {
140
+ return _onPress.apply(this, arguments);
141
+ }
142
+ return onPress;
143
+ }(),
144
+ "aria-label": buttonAriaLabel,
145
+ children: [isSecondaryLoading && jsxRuntime.jsx(reactSpectrum.ProgressCircle, {
146
+ size: "S",
147
+ "aria-label": "Processing...",
148
+ isIndeterminate: true
149
+ }), !isSecondaryLoading && button.icon, jsxRuntime.jsx(reactSpectrum.Text, {
150
+ children: button.label
151
+ })]
152
+ }, button.key);
153
+ })]
154
+ });
155
+ };
156
+
157
+ exports.default = ButtonContainer;
158
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/ButtonContainer/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport { Flex, ProgressCircle, ActionButton, Text } from '@adobe/react-spectrum';\nimport SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';\nimport Back from '@spectrum-icons/workflow/Back';\nimport { ButtonContainerProps, FormSecondaryButton } from './types';\n\n/**\n * ButtonContainer component handles rendering of form action buttons\n * with customizable labels, icons, visibility, and layout\n */\nconst ButtonContainer: React.FC<ButtonContainerProps> = ({\n buttonConfig,\n isSubmitting,\n isProcessing,\n onBackPress,\n}) => {\n // Track secondary button loading states\n const [secondaryLoadingStates, setSecondaryLoadingStates] = useState<Record<string, boolean>>({});\n\n // Extract configuration with defaults\n const submitButton = buttonConfig?.submitButton ?? {};\n const backButton = buttonConfig?.backButton ?? {};\n const secondaryButtons = buttonConfig?.secondaryButtons ?? [];\n const alignment = buttonConfig?.alignment ?? 'start';\n const gap = buttonConfig?.gap ?? 'small';\n\n // Map gap size to Spectrum size tokens\n const gapSizeMap = {\n small: 'size-100',\n medium: 'size-200',\n large: 'size-300',\n };\n\n // Default values\n const submitLabel = submitButton.label ?? 'Save';\n const submitIcon = submitButton.icon ?? <SaveFloppy size=\"M\" marginStart=\"size-150\" />;\n const submitHidden = submitButton.isHidden ?? false;\n const submitAriaLabel = submitButton.ariaLabel ?? submitLabel;\n\n const backLabel = backButton.label ?? 'Back';\n const backIcon = backButton.icon ?? <Back size=\"M\" marginStart=\"size-150\" />;\n const backHidden = backButton.isHidden ?? false;\n const backAriaLabel = backButton.ariaLabel ?? backLabel;\n\n const isDisabled = isSubmitting || isProcessing;\n\n // Handle secondary button press\n const handleSecondaryPress = async (button: FormSecondaryButton): Promise<void> => {\n setSecondaryLoadingStates(prev => ({ ...prev, [button.key]: true }));\n try {\n await button.onPress();\n } finally {\n setSecondaryLoadingStates(prev => ({ ...prev, [button.key]: false }));\n }\n };\n\n // Get button variant style - ActionButton only supports 'black' or 'white' staticColor\n const getVariantStyle = (): 'black' | 'white' => {\n return 'black';\n };\n\n return (\n <Flex\n width=\"100%\"\n alignItems=\"center\"\n justifyContent={alignment}\n gap={gapSizeMap[gap]}\n marginTop=\"size-100\"\n >\n {/* Progress Indicator */}\n {(isSubmitting || isProcessing) && (\n <ProgressCircle size=\"M\" aria-label=\"Processing...\" isIndeterminate />\n )}\n\n {/* Submit Button */}\n {!submitHidden && (\n <ActionButton\n type=\"submit\"\n isDisabled={isDisabled}\n staticColor={getVariantStyle()}\n aria-label={submitAriaLabel}\n >\n {submitIcon}\n <Text>{submitLabel}</Text>\n </ActionButton>\n )}\n\n {/* Back Button */}\n {!backHidden && (\n <ActionButton\n type=\"button\"\n isDisabled={isDisabled}\n staticColor={getVariantStyle()}\n onPress={onBackPress}\n aria-label={backAriaLabel}\n >\n {backIcon}\n <Text>{backLabel}</Text>\n </ActionButton>\n )}\n\n {/* Secondary Buttons */}\n {secondaryButtons.map(button => {\n const isSecondaryDisabled = isDisabled || button.isDisabled || false;\n const isSecondaryLoading = secondaryLoadingStates[button.key] || false;\n const buttonType = button.type ?? 'button';\n const buttonAriaLabel = button.ariaLabel ?? button.label;\n\n return (\n <ActionButton\n key={button.key}\n type={buttonType}\n isDisabled={isSecondaryDisabled}\n staticColor={getVariantStyle()}\n onPress={async () => {\n if (buttonType === 'button') {\n await handleSecondaryPress(button);\n }\n }}\n aria-label={buttonAriaLabel}\n >\n {isSecondaryLoading && (\n <ProgressCircle size=\"S\" aria-label=\"Processing...\" isIndeterminate />\n )}\n {!isSecondaryLoading && button.icon}\n <Text>{button.label}</Text>\n </ActionButton>\n );\n })}\n </Flex>\n );\n};\n\nexport default ButtonContainer;\n"],"names":["ButtonContainer","_ref","_buttonConfig$submitB","_buttonConfig$backBut","_buttonConfig$seconda","_buttonConfig$alignme","_buttonConfig$gap","_submitButton$label","_submitButton$icon","_submitButton$isHidde","_submitButton$ariaLab","_backButton$label","_backButton$icon","_backButton$isHidden","_backButton$ariaLabel","buttonConfig","isSubmitting","isProcessing","onBackPress","_useState","useState","_useState2","_slicedToArray","secondaryLoadingStates","setSecondaryLoadingStates","submitButton","backButton","secondaryButtons","alignment","gap","gapSizeMap","small","medium","large","submitLabel","label","submitIcon","icon","_jsx","SaveFloppy","size","marginStart","submitHidden","isHidden","submitAriaLabel","ariaLabel","backLabel","backIcon","Back","backHidden","backAriaLabel","isDisabled","handleSecondaryPress","_ref2","_asyncToGenerator","_regenerator","m","_callee","button","w","_context","p","n","prev","_objectSpread","_defineProperty","key","onPress","f","a","_x","apply","arguments","getVariantStyle","_jsxs","Flex","width","alignItems","justifyContent","marginTop","children","ProgressCircle","isIndeterminate","ActionButton","type","staticColor","Text","map","_button$type","_button$ariaLabel","isSecondaryDisabled","isSecondaryLoading","buttonType","buttonAriaLabel","_onPress","_callee2","_context2"],"mappings":"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"}
@@ -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-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
+ {"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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"}
@@ -6,11 +6,42 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var React = require('react');
8
8
  var reactSpectrum = require('@adobe/react-spectrum');
9
- var index = require('../FieldBuilder/index.js');
10
- var SaveFloppy = require('@spectrum-icons/workflow/SaveFloppy');
11
- var Back = require('@spectrum-icons/workflow/Back');
9
+ var index$1 = require('../FieldBuilder/index.js');
10
+ var index = require('../ButtonContainer/index.js');
12
11
 
12
+ /**
13
+ * Evaluates whether a dependency condition is met
14
+ * @param condition The dependency condition to evaluate
15
+ * @param value The current value of the dependency field
16
+ * @param allValues All form values for custom validators
17
+ * @returns true if condition is met, false otherwise
18
+ */
19
+ var evaluateDependencyCondition = function evaluateDependencyCondition(condition, value, allValues) {
20
+ switch (condition.type) {
21
+ case 'equals':
22
+ return value === condition.value;
23
+ case 'notEquals':
24
+ return value !== condition.value;
25
+ case 'in':
26
+ return condition.values.indexOf(value) !== -1;
27
+ case 'notIn':
28
+ return condition.values.indexOf(value) === -1;
29
+ case 'greaterThan':
30
+ return typeof value === 'number' && value > condition.value;
31
+ case 'lessThan':
32
+ return typeof value === 'number' && value < condition.value;
33
+ case 'truthy':
34
+ return !!value && value !== '0' && value !== 'false';
35
+ case 'falsy':
36
+ return !value || value === '0' || value === 'false';
37
+ case 'custom':
38
+ return condition.validator(value, allValues);
39
+ default:
40
+ return true;
41
+ }
42
+ };
13
43
  var FormBuilder = function FormBuilder(_ref) {
44
+ var _buttonConfig$positio;
14
45
  var _ref$components = _ref.components,
15
46
  components = _ref$components === void 0 ? {
16
47
  groups: []
@@ -18,7 +49,7 @@ var FormBuilder = function FormBuilder(_ref) {
18
49
  _ref$editItem = _ref.editItem,
19
50
  editItem = _ref$editItem === void 0 ? {} : _ref$editItem,
20
51
  _ref$onFieldChange = _ref.onFieldChange,
21
- _onFieldChange = _ref$onFieldChange === void 0 ? function () {
52
+ onFieldChange = _ref$onFieldChange === void 0 ? function () {
22
53
  return Promise.resolve();
23
54
  } : _ref$onFieldChange,
24
55
  _ref$onFormSubmit = _ref.onFormSubmit,
@@ -34,7 +65,8 @@ var FormBuilder = function FormBuilder(_ref) {
34
65
  _ref$isProcessing = _ref.isProcessing,
35
66
  isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
36
67
  _ref$usePlaceholder = _ref.usePlaceholder,
37
- usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
68
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder,
69
+ buttonConfig = _ref.buttonConfig;
38
70
  var _useState = React.useState(false),
39
71
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
72
  isSubmitting = _useState2[0],
@@ -43,44 +75,158 @@ var FormBuilder = function FormBuilder(_ref) {
43
75
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
44
76
  values = _useState4[0],
45
77
  setValues = _useState4[1];
46
- return jsxRuntime.jsxs(reactSpectrum.Form, {
78
+ // Initialize form values with editItem values for proper dependency evaluation
79
+ var initializedValues = React.useMemo(function () {
80
+ var mergedValues = {};
81
+ components.groups.forEach(function (group) {
82
+ group.fields.forEach(function (field) {
83
+ // Set both code and db_field for consistency
84
+ if (editItem[field.db_field] !== undefined) {
85
+ mergedValues[field.code] = editItem[field.db_field];
86
+ mergedValues[field.db_field] = editItem[field.db_field];
87
+ } else if (field.value !== undefined) {
88
+ mergedValues[field.code] = field.value;
89
+ mergedValues[field.db_field] = field.value;
90
+ }
91
+ });
92
+ });
93
+ return mergedValues;
94
+ }, [editItem, components]);
95
+ // Combine initial values with current form values
96
+ var allValues = React.useMemo(function () {
97
+ return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, initializedValues), values);
98
+ }, [initializedValues, values]);
99
+ /**
100
+ * Evaluates whether a field should be visible based on its dependencies
101
+ * @param field The field to evaluate
102
+ * @returns true if field should be visible, false otherwise
103
+ */
104
+ var isFieldVisible = React.useCallback(function (field) {
105
+ if (!field.dependsOn) {
106
+ return true;
107
+ }
108
+ var dependencyValue = allValues[field.dependsOn.field];
109
+ return evaluateDependencyCondition(field.dependsOn.condition, dependencyValue, allValues);
110
+ }, [allValues]);
111
+ /**
112
+ * Get all visible fields with memoization for performance
113
+ */
114
+ var visibleFieldsByGroup = React.useMemo(function () {
115
+ var result = new Map();
116
+ components.groups.forEach(function (group) {
117
+ var visibleFields = group.fields.filter(function (field) {
118
+ return isFieldVisible(field);
119
+ });
120
+ result.set(group.code, visibleFields);
121
+ });
122
+ return result;
123
+ }, [components.groups, isFieldVisible]);
124
+ // Determine button position (default: 'after')
125
+ var buttonPosition = (_buttonConfig$positio = buttonConfig === null || buttonConfig === void 0 ? void 0 : buttonConfig.position) !== null && _buttonConfig$positio !== void 0 ? _buttonConfig$positio : 'after';
126
+ /**
127
+ * Handle field changes with dependency awareness
128
+ */
129
+ var handleFieldChange = React.useCallback(/*#__PURE__*/function () {
130
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee(code, db_field, value) {
131
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
132
+ while (1) switch (_context.n) {
133
+ case 0:
134
+ setValues(function (prevValues) {
135
+ var newValues = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prevValues), {}, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, code, value), db_field, value));
136
+ // Check if any fields depend on this field and clear their values if they become hidden
137
+ components.groups.forEach(function (group) {
138
+ group.fields.forEach(function (field) {
139
+ var _field$dependsOn;
140
+ if (((_field$dependsOn = field.dependsOn) === null || _field$dependsOn === void 0 ? void 0 : _field$dependsOn.field) === code && field.dependsOn.clearValueOnHide !== false) {
141
+ // Evaluate if the dependent field will be visible with the new value
142
+ var tempValues = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, allValues), {}, _rollupPluginBabelHelpers.defineProperty({}, code, value));
143
+ var willBeVisible = evaluateDependencyCondition(field.dependsOn.condition, value, tempValues);
144
+ // If field will be hidden, clear its value
145
+ if (!willBeVisible) {
146
+ delete newValues[field.code];
147
+ delete newValues[field.db_field];
148
+ }
149
+ }
150
+ });
151
+ });
152
+ return newValues;
153
+ });
154
+ _context.n = 1;
155
+ return onFieldChange(code, value);
156
+ case 1:
157
+ return _context.a(2);
158
+ }
159
+ }, _callee);
160
+ }));
161
+ return function (_x, _x2, _x3) {
162
+ return _ref2.apply(this, arguments);
163
+ };
164
+ }(), [allValues, components.groups, onFieldChange]);
165
+ // Button container component
166
+ var buttonContainerElement = jsxRuntime.jsx(index.default, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, buttonConfig !== undefined && {
167
+ buttonConfig: buttonConfig
168
+ }), {}, {
169
+ isSubmitting: isSubmitting,
170
+ isProcessing: isProcessing,
171
+ onBackPress: onBackPress
172
+ }));
173
+ return jsxRuntime.jsx(reactSpectrum.Form, {
47
174
  isRequired: true,
48
175
  isDisabled: isSubmitting || isProcessing,
49
176
  width: "size-6000",
50
177
  validationBehavior: "native",
51
178
  onSubmit: function () {
52
- var _onSubmit = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee(e) {
53
- var submissionValues, key;
54
- return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
55
- while (1) switch (_context.n) {
179
+ var _onSubmit = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2(e) {
180
+ var submissionValues, visibleFieldCodes, key;
181
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
182
+ while (1) switch (_context2.n) {
56
183
  case 0:
57
184
  e.preventDefault();
58
185
  // Create a new object instead of mutating the existing values
59
- submissionValues = _rollupPluginBabelHelpers.objectSpread2({}, values);
186
+ submissionValues = _rollupPluginBabelHelpers.objectSpread2({}, values); // Only include values from visible fields
187
+ visibleFieldCodes = new Set();
188
+ components.groups.forEach(function (group) {
189
+ var visibleFields = visibleFieldsByGroup.get(group.code) || [];
190
+ visibleFields.forEach(function (field) {
191
+ visibleFieldCodes.add(field.db_field);
192
+ });
193
+ });
194
+ // Filter out hidden field values
195
+ Object.keys(submissionValues).forEach(function (key) {
196
+ if (!visibleFieldCodes.has(key)) {
197
+ delete submissionValues[key];
198
+ }
199
+ });
200
+ // Add editItem values for fields not changed
60
201
  for (key in editItem) {
61
- if (!Object.prototype.hasOwnProperty.call(submissionValues, key)) {
202
+ if (!Object.prototype.hasOwnProperty.call(submissionValues, key) && visibleFieldCodes.has(key)) {
62
203
  submissionValues[key] = editItem[key];
63
204
  }
64
205
  }
65
206
  setSubmitting(true);
66
- _context.n = 1;
207
+ _context2.n = 1;
67
208
  return onFormSubmit(submissionValues);
68
209
  case 1:
69
210
  setSubmitting(false);
70
- _context.n = 2;
211
+ _context2.n = 2;
71
212
  return onPostFormSubmit();
72
213
  case 2:
73
- return _context.a(2);
214
+ return _context2.a(2);
74
215
  }
75
- }, _callee);
216
+ }, _callee2);
76
217
  }));
77
- function onSubmit(_x) {
218
+ function onSubmit(_x4) {
78
219
  return _onSubmit.apply(this, arguments);
79
220
  }
80
221
  return onSubmit;
81
222
  }(),
82
- children: [jsxRuntime.jsx(jsxRuntime.Fragment, {
83
- children: components.groups.map(function (group) {
223
+ children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
224
+ children: [buttonPosition === 'before' && buttonContainerElement, components.groups.map(function (group) {
225
+ var visibleFields = visibleFieldsByGroup.get(group.code) || [];
226
+ // Only render group if it has visible fields
227
+ if (visibleFields.length === 0) {
228
+ return null;
229
+ }
84
230
  return jsxRuntime.jsxs(reactSpectrum.Flex, {
85
231
  direction: "column",
86
232
  marginBottom: "size-200",
@@ -89,66 +235,33 @@ var FormBuilder = function FormBuilder(_ref) {
89
235
  level: 4,
90
236
  marginTop: 0,
91
237
  children: group.label
92
- }), group.fields.map(function (field) {
93
- return jsxRuntime.jsx(index.default, {
238
+ }), visibleFields.map(function (field) {
239
+ return jsxRuntime.jsx(index$1.default, {
94
240
  field: field,
95
241
  editItem: editItem,
96
242
  usePlaceholder: usePlaceholder,
97
243
  onFieldChange: function () {
98
- var _onFieldChange2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2(code, db_field, value) {
99
- return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
100
- while (1) switch (_context2.n) {
244
+ var _onFieldChange = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee3(code, db_field, value) {
245
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context3) {
246
+ while (1) switch (_context3.n) {
101
247
  case 0:
102
- setValues(function (prevValues) {
103
- return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prevValues), {}, _rollupPluginBabelHelpers.defineProperty({}, db_field, value));
104
- });
105
- _context2.n = 1;
106
- return _onFieldChange(code, value);
248
+ _context3.n = 1;
249
+ return handleFieldChange(code, db_field, value);
107
250
  case 1:
108
- return _context2.a(2);
251
+ return _context3.a(2);
109
252
  }
110
- }, _callee2);
253
+ }, _callee3);
111
254
  }));
112
- function onFieldChange(_x2, _x3, _x4) {
113
- return _onFieldChange2.apply(this, arguments);
255
+ function onFieldChange(_x5, _x6, _x7) {
256
+ return _onFieldChange.apply(this, arguments);
114
257
  }
115
258
  return onFieldChange;
116
259
  }()
117
260
  }, field.db_field);
118
261
  })]
119
262
  }, group.code);
120
- })
121
- }), jsxRuntime.jsxs(reactSpectrum.Flex, {
122
- width: "100%",
123
- alignItems: "center",
124
- marginTop: 'size-100',
125
- children: [(isSubmitting || isProcessing) && jsxRuntime.jsx(reactSpectrum.ProgressCircle, {
126
- size: "M",
127
- marginEnd: 'size-250',
128
- "aria-label": "Submitting..",
129
- isIndeterminate: true
130
- }), jsxRuntime.jsxs(reactSpectrum.ActionButton, {
131
- marginEnd: 'size-100',
132
- type: "submit",
133
- isDisabled: isSubmitting || isProcessing,
134
- staticColor: "black",
135
- children: [jsxRuntime.jsx(SaveFloppy, {
136
- size: 'M'
137
- }), jsxRuntime.jsx(reactSpectrum.Text, {
138
- children: "Save"
139
- })]
140
- }), jsxRuntime.jsxs(reactSpectrum.ActionButton, {
141
- type: "button",
142
- staticColor: "black",
143
- isDisabled: isSubmitting || isProcessing,
144
- onPress: onBackPress,
145
- children: [jsxRuntime.jsx(Back, {
146
- size: 'M'
147
- }), jsxRuntime.jsx(reactSpectrum.Text, {
148
- children: "Back"
149
- })]
150
- })]
151
- })]
263
+ }), buttonPosition === 'after' && buttonContainerElement]
264
+ })
152
265
  });
153
266
  };
154
267