@adobe-commerce/aio-experience-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/LICENSE +56 -0
  3. package/README.md +479 -0
  4. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +341 -0
  5. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  6. package/dist/cjs/components/ConfirmationDialog/index.js +68 -0
  7. package/dist/cjs/components/ConfirmationDialog/index.js.map +1 -0
  8. package/dist/cjs/components/DataForm/FieldBuilder/index.js +168 -0
  9. package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -0
  10. package/dist/cjs/components/DataForm/FormBuilder/index.js +154 -0
  11. package/dist/cjs/components/DataForm/FormBuilder/index.js.map +1 -0
  12. package/dist/cjs/components/DataForm/FormBuilder/types.js +15 -0
  13. package/dist/cjs/components/DataForm/FormBuilder/types.js.map +1 -0
  14. package/dist/cjs/components/DataForm/index.js +93 -0
  15. package/dist/cjs/components/DataForm/index.js.map +1 -0
  16. package/dist/cjs/components/DataTable/ActionsBuilder/index.js +47 -0
  17. package/dist/cjs/components/DataTable/ActionsBuilder/index.js.map +1 -0
  18. package/dist/cjs/components/DataTable/GridBuilder/ActionMenuRenderer/index.js +117 -0
  19. package/dist/cjs/components/DataTable/GridBuilder/ActionMenuRenderer/index.js.map +1 -0
  20. package/dist/cjs/components/DataTable/GridBuilder/ButtonsRenderer/index.js +114 -0
  21. package/dist/cjs/components/DataTable/GridBuilder/ButtonsRenderer/index.js.map +1 -0
  22. package/dist/cjs/components/DataTable/GridBuilder/LinksRenderer/index.js +120 -0
  23. package/dist/cjs/components/DataTable/GridBuilder/LinksRenderer/index.js.map +1 -0
  24. package/dist/cjs/components/DataTable/GridBuilder/index.js +114 -0
  25. package/dist/cjs/components/DataTable/GridBuilder/index.js.map +1 -0
  26. package/dist/cjs/components/DataTable/index.js +158 -0
  27. package/dist/cjs/components/DataTable/index.js.map +1 -0
  28. package/dist/cjs/components/DataTable/types.js +12 -0
  29. package/dist/cjs/components/DataTable/types.js.map +1 -0
  30. package/dist/cjs/components/MainContainer/ContentBuilder/index.js +32 -0
  31. package/dist/cjs/components/MainContainer/ContentBuilder/index.js.map +1 -0
  32. package/dist/cjs/components/MainContainer/NavigationBuilder/Buttons/index.js +40 -0
  33. package/dist/cjs/components/MainContainer/NavigationBuilder/Buttons/index.js.map +1 -0
  34. package/dist/cjs/components/MainContainer/NavigationBuilder/Links/index.js +41 -0
  35. package/dist/cjs/components/MainContainer/NavigationBuilder/Links/index.js.map +1 -0
  36. package/dist/cjs/components/MainContainer/NavigationBuilder/index.js +37 -0
  37. package/dist/cjs/components/MainContainer/NavigationBuilder/index.js.map +1 -0
  38. package/dist/cjs/components/MainContainer/NavigationBuilder/types.js +11 -0
  39. package/dist/cjs/components/MainContainer/NavigationBuilder/types.js.map +1 -0
  40. package/dist/cjs/components/MainContainer/OneColumn/index.js +44 -0
  41. package/dist/cjs/components/MainContainer/OneColumn/index.js.map +1 -0
  42. package/dist/cjs/components/MainContainer/TitleBuilder/index.js +22 -0
  43. package/dist/cjs/components/MainContainer/TitleBuilder/index.js.map +1 -0
  44. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js +56 -0
  45. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js.map +1 -0
  46. package/dist/cjs/components/MainContainer/index.js +70 -0
  47. package/dist/cjs/components/MainContainer/index.js.map +1 -0
  48. package/dist/cjs/components/MainContainer/types.js +8 -0
  49. package/dist/cjs/components/MainContainer/types.js.map +1 -0
  50. package/dist/cjs/index.js +38 -0
  51. package/dist/cjs/index.js.map +1 -0
  52. package/dist/cjs/utils/AdminUiSdk/index.js +159 -0
  53. package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -0
  54. package/dist/cjs/utils/RouteParams/index.js +29 -0
  55. package/dist/cjs/utils/RouteParams/index.js.map +1 -0
  56. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +318 -0
  57. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  58. package/dist/esm/components/ConfirmationDialog/index.js +64 -0
  59. package/dist/esm/components/ConfirmationDialog/index.js.map +1 -0
  60. package/dist/esm/components/DataForm/FieldBuilder/index.js +164 -0
  61. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -0
  62. package/dist/esm/components/DataForm/FormBuilder/index.js +150 -0
  63. package/dist/esm/components/DataForm/FormBuilder/index.js.map +1 -0
  64. package/dist/esm/components/DataForm/FormBuilder/types.js +15 -0
  65. package/dist/esm/components/DataForm/FormBuilder/types.js.map +1 -0
  66. package/dist/esm/components/DataForm/index.js +89 -0
  67. package/dist/esm/components/DataForm/index.js.map +1 -0
  68. package/dist/esm/components/DataTable/ActionsBuilder/index.js +43 -0
  69. package/dist/esm/components/DataTable/ActionsBuilder/index.js.map +1 -0
  70. package/dist/esm/components/DataTable/GridBuilder/ActionMenuRenderer/index.js +113 -0
  71. package/dist/esm/components/DataTable/GridBuilder/ActionMenuRenderer/index.js.map +1 -0
  72. package/dist/esm/components/DataTable/GridBuilder/ButtonsRenderer/index.js +110 -0
  73. package/dist/esm/components/DataTable/GridBuilder/ButtonsRenderer/index.js.map +1 -0
  74. package/dist/esm/components/DataTable/GridBuilder/LinksRenderer/index.js +116 -0
  75. package/dist/esm/components/DataTable/GridBuilder/LinksRenderer/index.js.map +1 -0
  76. package/dist/esm/components/DataTable/GridBuilder/index.js +110 -0
  77. package/dist/esm/components/DataTable/GridBuilder/index.js.map +1 -0
  78. package/dist/esm/components/DataTable/index.js +154 -0
  79. package/dist/esm/components/DataTable/index.js.map +1 -0
  80. package/dist/esm/components/DataTable/types.js +12 -0
  81. package/dist/esm/components/DataTable/types.js.map +1 -0
  82. package/dist/esm/components/MainContainer/ContentBuilder/index.js +28 -0
  83. package/dist/esm/components/MainContainer/ContentBuilder/index.js.map +1 -0
  84. package/dist/esm/components/MainContainer/NavigationBuilder/Buttons/index.js +36 -0
  85. package/dist/esm/components/MainContainer/NavigationBuilder/Buttons/index.js.map +1 -0
  86. package/dist/esm/components/MainContainer/NavigationBuilder/Links/index.js +37 -0
  87. package/dist/esm/components/MainContainer/NavigationBuilder/Links/index.js.map +1 -0
  88. package/dist/esm/components/MainContainer/NavigationBuilder/index.js +33 -0
  89. package/dist/esm/components/MainContainer/NavigationBuilder/index.js.map +1 -0
  90. package/dist/esm/components/MainContainer/NavigationBuilder/types.js +11 -0
  91. package/dist/esm/components/MainContainer/NavigationBuilder/types.js.map +1 -0
  92. package/dist/esm/components/MainContainer/OneColumn/index.js +40 -0
  93. package/dist/esm/components/MainContainer/OneColumn/index.js.map +1 -0
  94. package/dist/esm/components/MainContainer/TitleBuilder/index.js +18 -0
  95. package/dist/esm/components/MainContainer/TitleBuilder/index.js.map +1 -0
  96. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js +52 -0
  97. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js.map +1 -0
  98. package/dist/esm/components/MainContainer/index.js +58 -0
  99. package/dist/esm/components/MainContainer/index.js.map +1 -0
  100. package/dist/esm/components/MainContainer/types.js +8 -0
  101. package/dist/esm/components/MainContainer/types.js.map +1 -0
  102. package/dist/esm/index.js +11 -0
  103. package/dist/esm/index.js.map +1 -0
  104. package/dist/esm/types/components/ConfirmationDialog/index.d.ts +12 -0
  105. package/dist/esm/types/components/ConfirmationDialog/index.d.ts.map +1 -0
  106. package/dist/esm/types/components/ConfirmationDialog/types.d.ts +47 -0
  107. package/dist/esm/types/components/ConfirmationDialog/types.d.ts.map +1 -0
  108. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts +8 -0
  109. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -0
  110. package/dist/esm/types/components/DataForm/FieldBuilder/types.d.ts +11 -0
  111. package/dist/esm/types/components/DataForm/FieldBuilder/types.d.ts.map +1 -0
  112. package/dist/esm/types/components/DataForm/FormBuilder/index.d.ts +8 -0
  113. package/dist/esm/types/components/DataForm/FormBuilder/index.d.ts.map +1 -0
  114. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts +51 -0
  115. package/dist/esm/types/components/DataForm/FormBuilder/types.d.ts.map +1 -0
  116. package/dist/esm/types/components/DataForm/index.d.ts +8 -0
  117. package/dist/esm/types/components/DataForm/index.d.ts.map +1 -0
  118. package/dist/esm/types/components/DataForm/types.d.ts +16 -0
  119. package/dist/esm/types/components/DataForm/types.d.ts.map +1 -0
  120. package/dist/esm/types/components/DataTable/ActionsBuilder/index.d.ts +8 -0
  121. package/dist/esm/types/components/DataTable/ActionsBuilder/index.d.ts.map +1 -0
  122. package/dist/esm/types/components/DataTable/ActionsBuilder/types.d.ts +12 -0
  123. package/dist/esm/types/components/DataTable/ActionsBuilder/types.d.ts.map +1 -0
  124. package/dist/esm/types/components/DataTable/GridBuilder/ActionMenuRenderer/index.d.ts +12 -0
  125. package/dist/esm/types/components/DataTable/GridBuilder/ActionMenuRenderer/index.d.ts.map +1 -0
  126. package/dist/esm/types/components/DataTable/GridBuilder/ButtonsRenderer/index.d.ts +12 -0
  127. package/dist/esm/types/components/DataTable/GridBuilder/ButtonsRenderer/index.d.ts.map +1 -0
  128. package/dist/esm/types/components/DataTable/GridBuilder/LinksRenderer/index.d.ts +12 -0
  129. package/dist/esm/types/components/DataTable/GridBuilder/LinksRenderer/index.d.ts.map +1 -0
  130. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts +8 -0
  131. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts.map +1 -0
  132. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts +15 -0
  133. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts.map +1 -0
  134. package/dist/esm/types/components/DataTable/index.d.ts +7 -0
  135. package/dist/esm/types/components/DataTable/index.d.ts.map +1 -0
  136. package/dist/esm/types/components/DataTable/types.d.ts +41 -0
  137. package/dist/esm/types/components/DataTable/types.d.ts.map +1 -0
  138. package/dist/esm/types/components/MainContainer/ContentBuilder/index.d.ts +8 -0
  139. package/dist/esm/types/components/MainContainer/ContentBuilder/index.d.ts.map +1 -0
  140. package/dist/esm/types/components/MainContainer/ContentBuilder/types.d.ts +11 -0
  141. package/dist/esm/types/components/MainContainer/ContentBuilder/types.d.ts.map +1 -0
  142. package/dist/esm/types/components/MainContainer/NavigationBuilder/Buttons/index.d.ts +7 -0
  143. package/dist/esm/types/components/MainContainer/NavigationBuilder/Buttons/index.d.ts.map +1 -0
  144. package/dist/esm/types/components/MainContainer/NavigationBuilder/Buttons/types.d.ts +12 -0
  145. package/dist/esm/types/components/MainContainer/NavigationBuilder/Buttons/types.d.ts.map +1 -0
  146. package/dist/esm/types/components/MainContainer/NavigationBuilder/Links/index.d.ts +7 -0
  147. package/dist/esm/types/components/MainContainer/NavigationBuilder/Links/index.d.ts.map +1 -0
  148. package/dist/esm/types/components/MainContainer/NavigationBuilder/Links/types.d.ts +12 -0
  149. package/dist/esm/types/components/MainContainer/NavigationBuilder/Links/types.d.ts.map +1 -0
  150. package/dist/esm/types/components/MainContainer/NavigationBuilder/index.d.ts +7 -0
  151. package/dist/esm/types/components/MainContainer/NavigationBuilder/index.d.ts.map +1 -0
  152. package/dist/esm/types/components/MainContainer/NavigationBuilder/types.d.ts +21 -0
  153. package/dist/esm/types/components/MainContainer/NavigationBuilder/types.d.ts.map +1 -0
  154. package/dist/esm/types/components/MainContainer/OneColumn/index.d.ts +7 -0
  155. package/dist/esm/types/components/MainContainer/OneColumn/index.d.ts.map +1 -0
  156. package/dist/esm/types/components/MainContainer/OneColumn/types.d.ts +18 -0
  157. package/dist/esm/types/components/MainContainer/OneColumn/types.d.ts.map +1 -0
  158. package/dist/esm/types/components/MainContainer/TitleBuilder/index.d.ts +9 -0
  159. package/dist/esm/types/components/MainContainer/TitleBuilder/index.d.ts.map +1 -0
  160. package/dist/esm/types/components/MainContainer/TitleBuilder/types.d.ts +8 -0
  161. package/dist/esm/types/components/MainContainer/TitleBuilder/types.d.ts.map +1 -0
  162. package/dist/esm/types/components/MainContainer/TwoColumnLeft/index.d.ts +7 -0
  163. package/dist/esm/types/components/MainContainer/TwoColumnLeft/index.d.ts.map +1 -0
  164. package/dist/esm/types/components/MainContainer/TwoColumnLeft/types.d.ts +18 -0
  165. package/dist/esm/types/components/MainContainer/TwoColumnLeft/types.d.ts.map +1 -0
  166. package/dist/esm/types/components/MainContainer/index.d.ts +10 -0
  167. package/dist/esm/types/components/MainContainer/index.d.ts.map +1 -0
  168. package/dist/esm/types/components/MainContainer/types.d.ts +23 -0
  169. package/dist/esm/types/components/MainContainer/types.d.ts.map +1 -0
  170. package/dist/esm/types/components/index.d.ts +19 -0
  171. package/dist/esm/types/components/index.d.ts.map +1 -0
  172. package/dist/esm/types/index.d.ts +6 -0
  173. package/dist/esm/types/index.d.ts.map +1 -0
  174. package/dist/esm/types/utils/AdminUiSdk/index.d.ts +60 -0
  175. package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -0
  176. package/dist/esm/types/utils/AdminUiSdk/types.d.ts +63 -0
  177. package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -0
  178. package/dist/esm/types/utils/RouteParams/index.d.ts +14 -0
  179. package/dist/esm/types/utils/RouteParams/index.d.ts.map +1 -0
  180. package/dist/esm/types/utils/index.d.ts +7 -0
  181. package/dist/esm/types/utils/index.d.ts.map +1 -0
  182. package/dist/esm/utils/AdminUiSdk/index.js +155 -0
  183. package/dist/esm/utils/AdminUiSdk/index.js.map +1 -0
  184. package/dist/esm/utils/RouteParams/index.js +24 -0
  185. package/dist/esm/utils/RouteParams/index.js.map +1 -0
  186. package/package.json +124 -0
@@ -0,0 +1,150 @@
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';
5
+ import FieldBuilder from '../FieldBuilder/index.js';
6
+ import SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';
7
+ import Back from '@spectrum-icons/workflow/Back';
8
+
9
+ var FormBuilder = function FormBuilder(_ref) {
10
+ var _ref$components = _ref.components,
11
+ components = _ref$components === void 0 ? {
12
+ groups: []
13
+ } : _ref$components,
14
+ _ref$editItem = _ref.editItem,
15
+ editItem = _ref$editItem === void 0 ? {} : _ref$editItem,
16
+ _ref$onFieldChange = _ref.onFieldChange,
17
+ _onFieldChange = _ref$onFieldChange === void 0 ? function () {
18
+ return Promise.resolve();
19
+ } : _ref$onFieldChange,
20
+ _ref$onFormSubmit = _ref.onFormSubmit,
21
+ onFormSubmit = _ref$onFormSubmit === void 0 ? function () {
22
+ return Promise.resolve();
23
+ } : _ref$onFormSubmit,
24
+ _ref$onPostFormSubmit = _ref.onPostFormSubmit,
25
+ onPostFormSubmit = _ref$onPostFormSubmit === void 0 ? function () {
26
+ return Promise.resolve();
27
+ } : _ref$onPostFormSubmit,
28
+ _ref$onBackPress = _ref.onBackPress,
29
+ onBackPress = _ref$onBackPress === void 0 ? function () {} : _ref$onBackPress,
30
+ _ref$isProcessing = _ref.isProcessing,
31
+ isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
32
+ _ref$usePlaceholder = _ref.usePlaceholder,
33
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ isSubmitting = _useState2[0],
37
+ setSubmitting = _useState2[1];
38
+ var _useState3 = useState({}),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ values = _useState4[0],
41
+ setValues = _useState4[1];
42
+ return jsxs(Form, {
43
+ isRequired: true,
44
+ isDisabled: isSubmitting || isProcessing,
45
+ width: "size-6000",
46
+ validationBehavior: "native",
47
+ onSubmit: function () {
48
+ var _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
49
+ var key;
50
+ return _regenerator().w(function (_context) {
51
+ while (1) switch (_context.n) {
52
+ case 0:
53
+ e.preventDefault();
54
+ for (key in editItem) {
55
+ if (!Object.prototype.hasOwnProperty.call(values, key)) {
56
+ values[key] = editItem[key];
57
+ }
58
+ }
59
+ setSubmitting(true);
60
+ _context.n = 1;
61
+ return onFormSubmit(values);
62
+ case 1:
63
+ setSubmitting(false);
64
+ _context.n = 2;
65
+ return onPostFormSubmit();
66
+ case 2:
67
+ return _context.a(2);
68
+ }
69
+ }, _callee);
70
+ }));
71
+ function onSubmit(_x) {
72
+ return _onSubmit.apply(this, arguments);
73
+ }
74
+ return onSubmit;
75
+ }(),
76
+ children: [jsx(Fragment, {
77
+ children: components.groups.map(function (group) {
78
+ return jsxs(Flex, {
79
+ direction: "column",
80
+ marginBottom: "size-200",
81
+ children: [jsx(Heading, {
82
+ id: group.code,
83
+ level: 4,
84
+ marginTop: 0,
85
+ children: group.label
86
+ }), group.fields.map(function (field) {
87
+ return jsx(FieldBuilder, {
88
+ field: field,
89
+ editItem: editItem,
90
+ usePlaceholder: usePlaceholder,
91
+ onFieldChange: function () {
92
+ var _onFieldChange2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(code, db_field, value) {
93
+ var db_values;
94
+ return _regenerator().w(function (_context2) {
95
+ while (1) switch (_context2.n) {
96
+ case 0:
97
+ db_values = _objectSpread2(_objectSpread2({}, values), {}, _defineProperty({}, db_field, value));
98
+ setValues(db_values);
99
+ _context2.n = 1;
100
+ return _onFieldChange(code, value);
101
+ case 1:
102
+ return _context2.a(2);
103
+ }
104
+ }, _callee2);
105
+ }));
106
+ function onFieldChange(_x2, _x3, _x4) {
107
+ return _onFieldChange2.apply(this, arguments);
108
+ }
109
+ return onFieldChange;
110
+ }()
111
+ }, field.db_field);
112
+ })]
113
+ }, group.code);
114
+ })
115
+ }), jsxs(Flex, {
116
+ width: "100%",
117
+ alignItems: "center",
118
+ marginTop: 'size-100',
119
+ children: [(isSubmitting || isProcessing) && jsx(ProgressCircle, {
120
+ size: "M",
121
+ marginEnd: 'size-250',
122
+ "aria-label": "Submitting..",
123
+ isIndeterminate: true
124
+ }), jsxs(ActionButton, {
125
+ marginEnd: 'size-100',
126
+ type: "submit",
127
+ isDisabled: isSubmitting || isProcessing,
128
+ staticColor: "black",
129
+ children: [jsx(SaveFloppy, {
130
+ size: 'M'
131
+ }), jsx(Text, {
132
+ children: "Save"
133
+ })]
134
+ }), jsxs(ActionButton, {
135
+ type: "button",
136
+ staticColor: "black",
137
+ isDisabled: isSubmitting || isProcessing,
138
+ onPress: onBackPress,
139
+ children: [jsx(Back, {
140
+ size: 'M'
141
+ }), jsx(Text, {
142
+ children: "Back"
143
+ })]
144
+ })]
145
+ })]
146
+ });
147
+ };
148
+
149
+ export { FormBuilder as default };
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FormBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport { Form, Flex, ProgressCircle, Heading, ActionButton, Text } from '@adobe/react-spectrum';\nimport { FormBuilderProps } from './types';\nimport FieldBuilder from '../FieldBuilder';\nimport SaveFloppy from '@spectrum-icons/workflow/SaveFloppy';\nimport Back from '@spectrum-icons/workflow/Back';\n\nconst FormBuilder: React.FC<FormBuilderProps> = ({\n components = { groups: [] },\n editItem = {},\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isSubmitting, setSubmitting] = useState(false);\n const [values, setValues] = useState<Record<string, any>>({});\n\n return (\n <Form\n isRequired\n isDisabled={isSubmitting || isProcessing}\n width=\"size-6000\"\n validationBehavior=\"native\"\n onSubmit={async e => {\n e.preventDefault();\n for (const key in editItem) {\n if (!Object.prototype.hasOwnProperty.call(values, key)) {\n values[key] = editItem[key];\n }\n }\n setSubmitting(true);\n await onFormSubmit(values);\n setSubmitting(false);\n await onPostFormSubmit();\n }}\n >\n <>\n {components.groups.map(group => (\n <Flex key={group.code} direction=\"column\" marginBottom=\"size-200\">\n <Heading id={group.code} level={4} marginTop={0}>\n {group.label}\n </Heading>\n {group.fields.map(field => (\n <FieldBuilder\n key={field.db_field}\n field={field}\n editItem={editItem}\n usePlaceholder={usePlaceholder}\n onFieldChange={async (code, db_field, value) => {\n const db_values = {\n ...values,\n [db_field]: value,\n };\n setValues(db_values);\n await onFieldChange(code, value);\n }}\n />\n ))}\n </Flex>\n ))}\n </>\n <Flex width=\"100%\" alignItems=\"center\" marginTop={'size-100'}>\n {(isSubmitting || isProcessing) && (\n <ProgressCircle\n size=\"M\"\n marginEnd={'size-250'}\n aria-label=\"Submitting..\"\n isIndeterminate\n />\n )}\n <ActionButton\n marginEnd={'size-100'}\n type=\"submit\"\n isDisabled={isSubmitting || isProcessing}\n staticColor=\"black\"\n >\n <SaveFloppy size={'M'} />\n <Text>Save</Text>\n </ActionButton>\n <ActionButton\n type=\"button\"\n staticColor=\"black\"\n isDisabled={isSubmitting || isProcessing}\n onPress={onBackPress}\n >\n <Back size={'M'} />\n <Text>Back</Text>\n </ActionButton>\n </Flex>\n </Form>\n );\n};\n\nexport default FormBuilder;\n"],"names":["FormBuilder","_ref","_ref$components","components","groups","_ref$editItem","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isSubmitting","setSubmitting","_useState3","_useState4","values","setValues","_jsxs","Form","isRequired","isDisabled","width","validationBehavior","onSubmit","_onSubmit","_asyncToGenerator","_regenerator","m","_callee","e","key","w","_context","n","preventDefault","Object","prototype","hasOwnProperty","call","a","_x","apply","arguments","_jsx","_Fragment","children","map","group","Flex","direction","marginBottom","Heading","id","code","level","marginTop","label","fields","field","FieldBuilder","_onFieldChange2","_callee2","db_field","value","db_values","_context2","_objectSpread","_defineProperty","_x2","_x3","_x4","alignItems","ProgressCircle","size","marginEnd","isIndeterminate","ActionButton","type","staticColor","SaveFloppy","Text","onPress","Back"],"mappings":";;;;;;;;AAWA,IAAMA,WAAW,GAA+B,SAA1CA,WAAWA,CAAAC,IAAA,EASZ;AAAA,EAAA,IAAAC,eAAA,GAAAD,IAAA,CARHE,UAAU;IAAVA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG;AAAEE,MAAAA,MAAM,EAAE;AAAE,KAAE,GAAAF,eAAA;IAAAG,aAAA,GAAAJ,IAAA,CAC3BK,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAE,kBAAA,GAAAN,IAAA,CACbO,aAAa;IAAbA,cAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBE,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAH,kBAAA;IAAAI,iBAAA,GAAAV,IAAA,CACtDW,YAAY;IAAZA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBF,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAC,iBAAA;IAAAE,qBAAA,GAAAZ,IAAA,CACrDa,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBJ,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAG,qBAAA;IAAAE,gBAAA,GAAAd,IAAA,CACzDe,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,YAAW,CAAE,CAAC,GAAAA,gBAAA;IAAAE,iBAAA,GAAAhB,IAAA,CAC5BiB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,mBAAA,GAAAlB,IAAA,CACpBmB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAAE,SAAA,GAAsCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAI,UAAA,GAA4BL,QAAQ,CAAsB,EAAE,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;EAExB,OACEG,IAAA,CAACC,IAAI,EAAA;AACHC,IAAAA,UAAU,EAAA,IAAA;IACVC,UAAU,EAAET,YAAY,IAAIP,YAAY;AACxCiB,IAAAA,KAAK,EAAC,WAAW;AACjBC,IAAAA,kBAAkB,EAAC,QAAQ;IAC3BC,QAAQ,EAAA,YAAA;MAAA,IAAAC,SAAA,GAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAE,SAAAC,OAAAA,CAAMC,CAAC,EAAA;AAAA,QAAA,IAAAC,GAAA;AAAA,QAAA,OAAAJ,YAAA,EAAA,CAAAK,CAAA,CAAA,UAAAC,QAAA,EAAA;UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cACfJ,CAAC,CAACK,cAAc,EAAE;cAClB,KAAWJ,GAAG,IAAItC,QAAQ,EAAE;AAC1B,gBAAA,IAAI,CAAC2C,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACvB,MAAM,EAAEe,GAAG,CAAC,EAAE;AACtDf,kBAAAA,MAAM,CAACe,GAAG,CAAC,GAAGtC,QAAQ,CAACsC,GAAG,CAAC;AAC7B,gBAAA;AACF,cAAA;cACAlB,aAAa,CAAC,IAAI,CAAC;AAACoB,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAA,OACdnC,YAAY,CAACiB,MAAM,CAAC;AAAA,YAAA,KAAA,CAAA;cAC1BH,aAAa,CAAC,KAAK,CAAC;AAACoB,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAA,OACfjC,gBAAgB,EAAE;AAAA,YAAA,KAAA,CAAA;cAAA,OAAAgC,QAAA,CAAAO,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAX,OAAA,CAAA;MAAA,CACzB,CAAA,CAAA;MAAA,SAXDL,QAAQA,CAAAiB,EAAA,EAAA;AAAA,QAAA,OAAAhB,SAAA,CAAAiB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA;AAAA,MAAA,OAARnB,QAAQ;IAAA,CAAA,EAWP;eAEDoB,GAAA,CAAAC,QAAA,EAAA;MAAAC,QAAA,EACGxD,UAAU,CAACC,MAAM,CAACwD,GAAG,CAAC,UAAAC,KAAK,EAAA;QAAA,OAC1B9B,KAAC+B,IAAI,EAAA;AAAkBC,UAAAA,SAAS,EAAC,QAAQ;AAACC,UAAAA,YAAY,EAAC,UAAU;AAAAL,UAAAA,QAAA,EAAA,CAC/DF,IAACQ,OAAO,EAAA;YAACC,EAAE,EAAEL,KAAK,CAACM,IAAI;AAAEC,YAAAA,KAAK,EAAE,CAAC;AAAEC,YAAAA,SAAS,EAAE,CAAC;YAAAV,QAAA,EAC5CE,KAAK,CAACS;WAAK,CACJ,EACTT,KAAK,CAACU,MAAM,CAACX,GAAG,CAAC,UAAAY,KAAK,EAAA;YAAA,OACrBf,GAAA,CAACgB,YAAY;AAEXD,cAAAA,KAAK,EAAEA,KAAK;AACZlE,cAAAA,QAAQ,EAAEA,QAAQ;AAClBc,cAAAA,cAAc,EAAEA,cAAc;cAC9BZ,aAAa,EAAA,YAAA;AAAA,gBAAA,IAAAkE,eAAA,GAAAnC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAE,SAAAkC,QAAAA,CAAOR,IAAI,EAAES,QAAQ,EAAEC,KAAK,EAAA;AAAA,kBAAA,IAAAC,SAAA;AAAA,kBAAA,OAAAtC,YAAA,EAAA,CAAAK,CAAA,CAAA,UAAAkC,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhC,CAAA;AAAA,sBAAA,KAAA,CAAA;wBACnC+B,SAAS,GAAAE,cAAA,CAAAA,cAAA,CAAA,EAAA,EACVnD,MAAM,CAAA,EAAA,EAAA,EAAAoD,eAAA,CAAA,EAAA,EACRL,QAAQ,EAAGC,KAAK,CAAA,CAAA;wBAEnB/C,SAAS,CAACgD,SAAS,CAAC;AAACC,wBAAAA,SAAA,CAAAhC,CAAA,GAAA,CAAA;AAAA,wBAAA,OACfvC,cAAa,CAAC2D,IAAI,EAAEU,KAAK,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAE,SAAA,CAAA1B,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAsB,QAAA,CAAA;gBAAA,CACjC,CAAA,CAAA;AAAA,gBAAA,SAPDnE,aAAaA,CAAA0E,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,kBAAA,OAAAV,eAAA,CAAAnB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAAbhD,aAAa;AAAA,cAAA,CAAA;AAOZ,aAAA,EAXIgE,KAAK,CAACI,QAAQ,CAYnB;AAAA,UAAA,CACH,CAAC;AAAA,SAAA,EAnBOf,KAAK,CAACM,IAAI,CAoBd;MAAA,CACR;AAAC,KAAA,CACD,EACHpC,IAAA,CAAC+B,IAAI,EAAA;AAAC3B,MAAAA,KAAK,EAAC,MAAM;AAACkD,MAAAA,UAAU,EAAC,QAAQ;AAAChB,MAAAA,SAAS,EAAE,UAAU;MAAAV,QAAA,EAAA,CACzD,CAAClC,YAAY,IAAIP,YAAY,KAC5BuC,GAAA,CAAC6B,cAAc,EAAA;AACbC,QAAAA,IAAI,EAAC,GAAG;AACRC,QAAAA,SAAS,EAAE,UAAU;AAAA,QAAA,YAAA,EACV,cAAc;AACzBC,QAAAA,eAAe,EAAA;AAAA,OAAA,CAElB,EACD1D,IAAA,CAAC2D,YAAY,EAAA;AACXF,QAAAA,SAAS,EAAE,UAAU;AACrBG,QAAAA,IAAI,EAAC,QAAQ;QACbzD,UAAU,EAAET,YAAY,IAAIP,YAAY;AACxC0E,QAAAA,WAAW,EAAC,OAAO;AAAAjC,QAAAA,QAAA,EAAA,CAEnBF,GAAA,CAACoC,UAAU,EAAA;AAACN,UAAAA,IAAI,EAAE;AAAG,SAAA,CAAI,EACzB9B,GAAA,CAACqC,IAAI,EAAA;AAAAnC,UAAAA,QAAA,EAAA;AAAA,SAAA,CAAY;AAAA,OAAA,CACJ,EACf5B,IAAA,CAAC2D,YAAY,EAAA;AACXC,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,WAAW,EAAC,OAAO;QACnB1D,UAAU,EAAET,YAAY,IAAIP,YAAY;AACxC6E,QAAAA,OAAO,EAAE/E,WAAW;AAAA2C,QAAAA,QAAA,EAAA,CAEpBF,GAAA,CAACuC,IAAI,EAAA;AAACT,UAAAA,IAAI,EAAE;AAAG,SAAA,CAAI,EACnB9B,GAAA,CAACqC,IAAI,EAAA;AAAAnC,UAAAA,QAAA,EAAA;AAAA,SAAA,CAAY;AAAA,OAAA,CACJ;AAAA,KAAA,CACV;AAAA,GAAA,CACF;AAEX;;;;"}
@@ -0,0 +1,15 @@
1
+ var FieldType;
2
+ (function (FieldType) {
3
+ FieldType["TEXT"] = "text";
4
+ FieldType["EMAIL"] = "email";
5
+ FieldType["PASSWORD"] = "password";
6
+ FieldType["NUMBER"] = "number";
7
+ FieldType["URL"] = "url";
8
+ FieldType["TEL"] = "tel";
9
+ FieldType["SEARCH"] = "search";
10
+ FieldType["SELECT"] = "select";
11
+ FieldType["LABEL"] = "label";
12
+ })(FieldType || (FieldType = {}));
13
+
14
+ export { FieldType };
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../../src/components/DataForm/FormBuilder/types.ts"],"sourcesContent":["/**\n * <license header>\n */\nimport React from 'react';\n\nexport enum FieldType {\n TEXT = 'text',\n EMAIL = 'email',\n PASSWORD = 'password',\n NUMBER = 'number',\n URL = 'url',\n TEL = 'tel',\n SEARCH = 'search',\n SELECT = 'select',\n LABEL = 'label',\n}\n\nexport interface FormBuilderProps {\n components: FormBuilderComponents;\n editItem?: Record<string, any>;\n onFieldChange?: (field: string, value: any) => Promise<void>;\n onFormSubmit?: (values: Record<string, any>) => Promise<void>;\n onPostFormSubmit?: () => Promise<void>;\n onBackPress?: () => void;\n isProcessing?: boolean;\n usePlaceholder?: boolean;\n}\n\nexport interface FormBuilderComponents {\n groups: FormBuilderGroup[];\n}\n\nexport interface FormBuilderGroup {\n code: string;\n label: string;\n fields: FormBuilderField[];\n}\n\nexport interface FormBuilderField {\n label: string;\n code: string;\n db_field: string;\n type: FieldType;\n required: boolean;\n disabled: boolean;\n use_env_var?: boolean;\n value?: string;\n options?: FormBuilderOption[];\n contextualHelp?: React.ReactNode;\n onFieldChange?: (value: any) => void;\n}\n\nexport interface FormBuilderOption {\n value: string;\n label: string;\n}\n"],"names":["FieldType"],"mappings":"IAKYA;AAAZ,CAAA,UAAYA,SAAS,EAAA;AACnBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACbA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAVWA,SAAS,KAATA,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,89 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useState, useRef, useCallback, useEffect } from 'react';
4
+ import { Provider, defaultTheme, Flex, ProgressCircle, View } from '@adobe/react-spectrum';
5
+ import FormBuilder from './FormBuilder/index.js';
6
+
7
+ var DataForm = function DataForm(_ref) {
8
+ var _ref$components = _ref.components,
9
+ components = _ref$components === void 0 ? {
10
+ groups: []
11
+ } : _ref$components,
12
+ editItem = _ref.editItem,
13
+ _ref$onFieldChange = _ref.onFieldChange,
14
+ onFieldChange = _ref$onFieldChange === void 0 ? function () {
15
+ return Promise.resolve();
16
+ } : _ref$onFieldChange,
17
+ _ref$onFormLoad = _ref.onFormLoad,
18
+ onFormLoad = _ref$onFormLoad === void 0 ? function () {
19
+ return Promise.resolve();
20
+ } : _ref$onFormLoad,
21
+ _ref$onFormSubmit = _ref.onFormSubmit,
22
+ onFormSubmit = _ref$onFormSubmit === void 0 ? function () {
23
+ return Promise.resolve();
24
+ } : _ref$onFormSubmit,
25
+ _ref$onPostFormSubmit = _ref.onPostFormSubmit,
26
+ onPostFormSubmit = _ref$onPostFormSubmit === void 0 ? function () {
27
+ return Promise.resolve();
28
+ } : _ref$onPostFormSubmit,
29
+ _ref$onBackPress = _ref.onBackPress,
30
+ onBackPress = _ref$onBackPress === void 0 ? function () {} : _ref$onBackPress,
31
+ _ref$isProcessing = _ref.isProcessing,
32
+ isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
33
+ _ref$usePlaceholder = _ref.usePlaceholder,
34
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
35
+ var _useState = useState(true),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ isLoading = _useState2[0],
38
+ setLoading = _useState2[1];
39
+ // Stable reference to onFormLoad to prevent infinite loops
40
+ var onFormLoadRef = useRef(onFormLoad);
41
+ onFormLoadRef.current = onFormLoad;
42
+ // Stable callback that won't change on every render
43
+ var stableOnFormLoad = useCallback(function () {
44
+ return onFormLoadRef.current();
45
+ }, []);
46
+ useEffect(function () {
47
+ _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
48
+ return _regenerator().w(function (_context) {
49
+ while (1) switch (_context.n) {
50
+ case 0:
51
+ _context.n = 1;
52
+ return stableOnFormLoad();
53
+ case 1:
54
+ setLoading(false);
55
+ case 2:
56
+ return _context.a(2);
57
+ }
58
+ }, _callee);
59
+ }))();
60
+ }, [stableOnFormLoad]);
61
+ return jsx(Provider, {
62
+ theme: defaultTheme,
63
+ colorScheme: 'light',
64
+ children: jsx(Flex, {
65
+ width: "100%",
66
+ alignItems: "center",
67
+ children: isLoading ? jsx(ProgressCircle, {
68
+ size: "L",
69
+ "aria-label": "Loading...",
70
+ isIndeterminate: true
71
+ }) : jsx(View, {
72
+ width: "100%",
73
+ children: jsx(FormBuilder, {
74
+ components: components,
75
+ editItem: editItem,
76
+ onFieldChange: onFieldChange,
77
+ onBackPress: onBackPress,
78
+ onFormSubmit: onFormSubmit,
79
+ onPostFormSubmit: onPostFormSubmit,
80
+ isProcessing: isProcessing,
81
+ usePlaceholder: usePlaceholder
82
+ })
83
+ })
84
+ })
85
+ });
86
+ };
87
+
88
+ export { DataForm as default };
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/DataForm/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useEffect, useState, useCallback, useRef } from 'react';\nimport { defaultTheme, Provider, Flex, ProgressCircle, View } from '@adobe/react-spectrum';\nimport { DataFormProps } from './types';\nimport FormBuilder from './FormBuilder';\n\nconst DataForm: React.FC<DataFormProps> = ({\n components = { groups: [] },\n editItem,\n onFieldChange = (): Promise<void> => Promise.resolve(),\n onFormLoad = (): Promise<void> => Promise.resolve(),\n onFormSubmit = (): Promise<void> => Promise.resolve(),\n onPostFormSubmit = (): Promise<void> => Promise.resolve(),\n onBackPress = (): void => {},\n isProcessing = false,\n usePlaceholder = true,\n}) => {\n const [isLoading, setLoading] = useState<boolean>(true);\n\n // Stable reference to onFormLoad to prevent infinite loops\n const onFormLoadRef = useRef(onFormLoad);\n onFormLoadRef.current = onFormLoad;\n\n // Stable callback that won't change on every render\n const stableOnFormLoad = useCallback(() => {\n return onFormLoadRef.current();\n }, []);\n\n useEffect(() => {\n (async (): Promise<void> => {\n await stableOnFormLoad();\n setLoading(false);\n })();\n }, [stableOnFormLoad]);\n\n return (\n <Provider theme={defaultTheme} colorScheme={'light'}>\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <FormBuilder\n components={components}\n editItem={editItem}\n onFieldChange={onFieldChange}\n onBackPress={onBackPress}\n onFormSubmit={onFormSubmit}\n onPostFormSubmit={onPostFormSubmit}\n isProcessing={isProcessing}\n usePlaceholder={usePlaceholder}\n />\n </View>\n )}\n </Flex>\n </Provider>\n );\n};\n\nexport default DataForm;\n"],"names":["DataForm","_ref","_ref$components","components","groups","editItem","_ref$onFieldChange","onFieldChange","Promise","resolve","_ref$onFormLoad","onFormLoad","_ref$onFormSubmit","onFormSubmit","_ref$onPostFormSubmit","onPostFormSubmit","_ref$onBackPress","onBackPress","_ref$isProcessing","isProcessing","_ref$usePlaceholder","usePlaceholder","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","onFormLoadRef","useRef","current","stableOnFormLoad","useCallback","useEffect","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Provider","theme","defaultTheme","colorScheme","children","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","View","FormBuilder"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+ import { View, Flex, ActionMenu, Item, Text } from '@adobe/react-spectrum';
4
+
5
+ var ActionsBuilder = function ActionsBuilder(_ref) {
6
+ var _ref$buttons = _ref.buttons,
7
+ buttons = _ref$buttons === void 0 ? [] : _ref$buttons,
8
+ _ref$massActions = _ref.massActions,
9
+ massActions = _ref$massActions === void 0 ? [] : _ref$massActions,
10
+ _ref$isMassActionDisa = _ref.isMassActionDisabled,
11
+ isMassActionDisabled = _ref$isMassActionDisa === void 0 ? true : _ref$isMassActionDisa,
12
+ _ref$onMassActionPres = _ref.onMassActionPress,
13
+ onMassActionPress = _ref$onMassActionPres === void 0 ? function () {
14
+ return Promise.resolve();
15
+ } : _ref$onMassActionPres;
16
+ return jsx(View, {
17
+ gridArea: "actions",
18
+ children: jsxs(Flex, {
19
+ direction: "row",
20
+ gap: 8,
21
+ children: [massActions.length ? jsx(ActionMenu, {
22
+ onAction: onMassActionPress,
23
+ isHidden: massActions.length === 0,
24
+ isDisabled: isMassActionDisabled,
25
+ children: massActions.map(function (action) {
26
+ return jsx(Item, {
27
+ textValue: action.text,
28
+ children: jsx(Text, {
29
+ children: action.text
30
+ })
31
+ }, action.key);
32
+ })
33
+ }) : null, buttons.map(function (button, index) {
34
+ return jsx(React.Fragment, {
35
+ children: button
36
+ }, index);
37
+ })]
38
+ })
39
+ });
40
+ };
41
+
42
+ export { ActionsBuilder as default };
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataTable/ActionsBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React from 'react';\nimport { View, ActionMenu, Item, Text, Flex } from '@adobe/react-spectrum';\nimport { ActionBuilderProps } from './types';\n\nconst ActionsBuilder: React.FC<ActionBuilderProps> = ({\n buttons = [],\n massActions = [],\n isMassActionDisabled = true,\n onMassActionPress = (): Promise<void> => Promise.resolve(),\n}) => {\n return (\n <View gridArea=\"actions\">\n <Flex direction=\"row\" gap={8}>\n {massActions.length ? (\n <ActionMenu\n onAction={onMassActionPress}\n isHidden={massActions.length === 0}\n isDisabled={isMassActionDisabled}\n >\n {massActions.map(action => (\n <Item key={action.key} textValue={action.text}>\n <Text>{action.text}</Text>\n </Item>\n ))}\n </ActionMenu>\n ) : null}\n {buttons.map((button, index) => {\n return <React.Fragment key={index}>{button}</React.Fragment>;\n })}\n </Flex>\n </View>\n );\n};\n\nexport default ActionsBuilder;\n"],"names":["ActionsBuilder","_ref","_ref$buttons","buttons","_ref$massActions","massActions","_ref$isMassActionDisa","isMassActionDisabled","_ref$onMassActionPres","onMassActionPress","Promise","resolve","_jsx","View","gridArea","_jsxs","Flex","direction","gap","children","length","ActionMenu","onAction","isHidden","isDisabled","map","action","Item","textValue","text","Text","key","button","index","React","Fragment"],"mappings":";;;;AAQA,IAAMA,cAAc,GAAiC,SAA/CA,cAAcA,CAAAC,IAAA,EAKf;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CAJHE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,gBAAA,GAAAH,IAAA,CACZI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAAL,IAAA,CAChBM,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAP,IAAA,CAC3BQ,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBE,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAH,qBAAA;EAE1D,OACEI,IAACC,IAAI,EAAA;AAACC,IAAAA,QAAQ,EAAC,SAAS;cACtBC,IAAA,CAACC,IAAI;AAACC,MAAAA,SAAS,EAAC,KAAK;AAACC,MAAAA,GAAG,EAAE,CAAC;MAAAC,QAAA,EAAA,CACzBd,WAAW,CAACe,MAAM,GACjBR,GAAA,CAACS,UAAU;AACTC,QAAAA,QAAQ,EAAEb,iBAAiB;AAC3Bc,QAAAA,QAAQ,EAAElB,WAAW,CAACe,MAAM,KAAK,CAAC;AAClCI,QAAAA,UAAU,EAAEjB,oBAAoB;AAAAY,QAAAA,QAAA,EAE/Bd,WAAW,CAACoB,GAAG,CAAC,UAAAC,MAAM,EAAA;UAAA,OACrBd,GAAA,CAACe,IAAI,EAAA;YAAkBC,SAAS,EAAEF,MAAM,CAACG,IAAI;AAAAV,YAAAA,QAAA,EAC3CP,GAAA,CAACkB,IAAI,EAAA;cAAAX,QAAA,EAAEO,MAAM,CAACG;aAAI;aADTH,MAAM,CAACK,GAAG,CAEd;QAAA,CACR;AAAC,OAAA,CACS,GACX,IAAI,EACP5B,OAAO,CAACsB,GAAG,CAAC,UAACO,MAAM,EAAEC,KAAK,EAAI;AAC7B,QAAA,OAAOrB,GAAA,CAACsB,KAAK,CAACC,QAAQ;oBAAcH;SAAM,EAAdC,KAAK,CAA2B;AAC9D,MAAA,CAAC,CAAC;KAAA;AACG,GAAA,CACF;AAEX;;;;"}
@@ -0,0 +1,113 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import React from 'react';
4
+ import { ActionMenu, Item, Text } from '@adobe/react-spectrum';
5
+
6
+ var ActionMenuRenderer = function ActionMenuRenderer(_ref) {
7
+ var item = _ref.item,
8
+ gridActions = _ref.gridActions,
9
+ onGridActionPress = _ref.onGridActionPress;
10
+ var _React$useState = React.useState([]),
11
+ _React$useState2 = _slicedToArray(_React$useState, 2),
12
+ visibleActions = _React$useState2[0],
13
+ setVisibleActions = _React$useState2[1];
14
+ React.useEffect(function () {
15
+ var checkVisibility = /*#__PURE__*/function () {
16
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
17
+ var visible, _iterator, _step, action, isVisible, _t, _t2;
18
+ return _regenerator().w(function (_context) {
19
+ while (1) switch (_context.p = _context.n) {
20
+ case 0:
21
+ visible = [];
22
+ _iterator = _createForOfIteratorHelper(gridActions);
23
+ _context.p = 1;
24
+ _iterator.s();
25
+ case 2:
26
+ if ((_step = _iterator.n()).done) {
27
+ _context.n = 9;
28
+ break;
29
+ }
30
+ action = _step.value;
31
+ if (!action.isVisible) {
32
+ _context.n = 7;
33
+ break;
34
+ }
35
+ _context.p = 3;
36
+ _context.n = 4;
37
+ return action.isVisible(item);
38
+ case 4:
39
+ isVisible = _context.v;
40
+ if (isVisible) {
41
+ visible.push(action);
42
+ }
43
+ _context.n = 6;
44
+ break;
45
+ case 5:
46
+ _context.p = 5;
47
+ _t = _context.v;
48
+ // If visibility check fails, skip this action but continue with others
49
+ console.warn("Visibility check failed for action ".concat(action.key, ":"), _t);
50
+ case 6:
51
+ _context.n = 8;
52
+ break;
53
+ case 7:
54
+ visible.push(action);
55
+ case 8:
56
+ _context.n = 2;
57
+ break;
58
+ case 9:
59
+ _context.n = 11;
60
+ break;
61
+ case 10:
62
+ _context.p = 10;
63
+ _t2 = _context.v;
64
+ _iterator.e(_t2);
65
+ case 11:
66
+ _context.p = 11;
67
+ _iterator.f();
68
+ return _context.f(11);
69
+ case 12:
70
+ setVisibleActions(visible);
71
+ case 13:
72
+ return _context.a(2);
73
+ }
74
+ }, _callee, null, [[3, 5], [1, 10, 11, 12]]);
75
+ }));
76
+ return function checkVisibility() {
77
+ return _ref2.apply(this, arguments);
78
+ };
79
+ }();
80
+ checkVisibility();
81
+ }, [gridActions, item]);
82
+ return jsx(ActionMenu, {
83
+ onAction: function () {
84
+ var _onAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(key) {
85
+ return _regenerator().w(function (_context2) {
86
+ while (1) switch (_context2.n) {
87
+ case 0:
88
+ _context2.n = 1;
89
+ return onGridActionPress(String(key), item);
90
+ case 1:
91
+ return _context2.a(2);
92
+ }
93
+ }, _callee2);
94
+ }));
95
+ function onAction(_x) {
96
+ return _onAction.apply(this, arguments);
97
+ }
98
+ return onAction;
99
+ }(),
100
+ marginEnd: 'size-100',
101
+ children: visibleActions.map(function (action) {
102
+ return jsx(Item, {
103
+ textValue: action.text,
104
+ children: jsx(Text, {
105
+ children: action.text
106
+ })
107
+ }, action.key);
108
+ })
109
+ });
110
+ };
111
+
112
+ export { ActionMenuRenderer as default };
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/components/DataTable/GridBuilder/ActionMenuRenderer/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React from 'react';\nimport { ActionMenu, Item, Text } from '@adobe/react-spectrum';\nimport { GridActionProps, DataTableRow } from '../../types';\n\ninterface ActionMenuRendererProps<T extends DataTableRow = DataTableRow> {\n item: T;\n gridActions: GridActionProps<T>[];\n onGridActionPress: (key: string, item: T) => Promise<void>;\n}\n\nconst ActionMenuRenderer = <T extends DataTableRow = DataTableRow>({\n item,\n gridActions,\n onGridActionPress,\n}: ActionMenuRendererProps<T>): JSX.Element => {\n const [visibleActions, setVisibleActions] = React.useState<GridActionProps<T>[]>([]);\n\n React.useEffect((): void => {\n const checkVisibility = async (): Promise<void> => {\n const visible = [];\n for (const action of gridActions) {\n if (action.isVisible) {\n try {\n const isVisible = await action.isVisible(item);\n if (isVisible) {\n visible.push(action);\n }\n } catch (error) {\n // If visibility check fails, skip this action but continue with others\n console.warn(`Visibility check failed for action ${action.key}:`, error);\n }\n } else {\n visible.push(action);\n }\n }\n setVisibleActions(visible);\n };\n checkVisibility();\n }, [gridActions, item]);\n\n return (\n <ActionMenu\n onAction={async (key): Promise<void> => {\n await onGridActionPress(String(key), item);\n }}\n marginEnd={'size-100'}\n >\n {visibleActions.map(action => (\n <Item key={action.key} textValue={action.text}>\n <Text>{action.text}</Text>\n </Item>\n ))}\n </ActionMenu>\n );\n};\n\nexport default ActionMenuRenderer;\n"],"names":["ActionMenuRenderer","_ref","item","gridActions","onGridActionPress","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleActions","setVisibleActions","useEffect","checkVisibility","_ref2","_asyncToGenerator","_regenerator","m","_callee","visible","_iterator","_step","action","isVisible","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","s","done","value","v","push","console","warn","concat","key","e","f","a","apply","arguments","_jsx","ActionMenu","onAction","_onAction","_callee2","_context2","String","_x","marginEnd","children","map","Item","textValue","text","Text"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import React from 'react';
4
+ import { ButtonGroup, Button } from '@adobe/react-spectrum';
5
+
6
+ var ButtonsRenderer = function ButtonsRenderer(_ref) {
7
+ var item = _ref.item,
8
+ gridActions = _ref.gridActions,
9
+ onGridActionPress = _ref.onGridActionPress;
10
+ var _React$useState = React.useState([]),
11
+ _React$useState2 = _slicedToArray(_React$useState, 2),
12
+ visibleActions = _React$useState2[0],
13
+ setVisibleActions = _React$useState2[1];
14
+ React.useEffect(function () {
15
+ var checkVisibility = /*#__PURE__*/function () {
16
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
17
+ var visible, _iterator, _step, action, isVisible, _t, _t2;
18
+ return _regenerator().w(function (_context) {
19
+ while (1) switch (_context.p = _context.n) {
20
+ case 0:
21
+ visible = [];
22
+ _iterator = _createForOfIteratorHelper(gridActions);
23
+ _context.p = 1;
24
+ _iterator.s();
25
+ case 2:
26
+ if ((_step = _iterator.n()).done) {
27
+ _context.n = 9;
28
+ break;
29
+ }
30
+ action = _step.value;
31
+ if (!action.isVisible) {
32
+ _context.n = 7;
33
+ break;
34
+ }
35
+ _context.p = 3;
36
+ _context.n = 4;
37
+ return action.isVisible(item);
38
+ case 4:
39
+ isVisible = _context.v;
40
+ if (isVisible) {
41
+ visible.push(action);
42
+ }
43
+ _context.n = 6;
44
+ break;
45
+ case 5:
46
+ _context.p = 5;
47
+ _t = _context.v;
48
+ // If visibility check fails, skip this action but continue with others
49
+ console.warn("Visibility check failed for action ".concat(action.key, ":"), _t);
50
+ case 6:
51
+ _context.n = 8;
52
+ break;
53
+ case 7:
54
+ visible.push(action);
55
+ case 8:
56
+ _context.n = 2;
57
+ break;
58
+ case 9:
59
+ _context.n = 11;
60
+ break;
61
+ case 10:
62
+ _context.p = 10;
63
+ _t2 = _context.v;
64
+ _iterator.e(_t2);
65
+ case 11:
66
+ _context.p = 11;
67
+ _iterator.f();
68
+ return _context.f(11);
69
+ case 12:
70
+ setVisibleActions(visible);
71
+ case 13:
72
+ return _context.a(2);
73
+ }
74
+ }, _callee, null, [[3, 5], [1, 10, 11, 12]]);
75
+ }));
76
+ return function checkVisibility() {
77
+ return _ref2.apply(this, arguments);
78
+ };
79
+ }();
80
+ checkVisibility();
81
+ }, [gridActions, item]);
82
+ return jsx(ButtonGroup, {
83
+ children: visibleActions.map(function (action) {
84
+ return jsx(Button, {
85
+ variant: 'cta',
86
+ onPress: function () {
87
+ var _onPress = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
88
+ return _regenerator().w(function (_context2) {
89
+ while (1) switch (_context2.n) {
90
+ case 0:
91
+ _context2.n = 1;
92
+ return onGridActionPress(action.key, item);
93
+ case 1:
94
+ return _context2.a(2);
95
+ }
96
+ }, _callee2);
97
+ }));
98
+ function onPress() {
99
+ return _onPress.apply(this, arguments);
100
+ }
101
+ return onPress;
102
+ }(),
103
+ children: action.text
104
+ }, action.key);
105
+ })
106
+ });
107
+ };
108
+
109
+ export { ButtonsRenderer as default };
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/components/DataTable/GridBuilder/ButtonsRenderer/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React from 'react';\nimport { ButtonGroup, Button } from '@adobe/react-spectrum';\nimport { GridActionProps, DataTableRow } from '../../types';\n\ninterface ButtonsRendererProps<T extends DataTableRow = DataTableRow> {\n item: T;\n gridActions: GridActionProps<T>[];\n onGridActionPress: (key: string, item: T) => Promise<void>;\n}\n\nconst ButtonsRenderer = <T extends DataTableRow = DataTableRow>({\n item,\n gridActions,\n onGridActionPress,\n}: ButtonsRendererProps<T>): JSX.Element => {\n const [visibleActions, setVisibleActions] = React.useState<GridActionProps<T>[]>([]);\n\n React.useEffect((): void => {\n const checkVisibility = async (): Promise<void> => {\n const visible = [];\n for (const action of gridActions) {\n if (action.isVisible) {\n try {\n const isVisible = await action.isVisible(item);\n if (isVisible) {\n visible.push(action);\n }\n } catch (error) {\n // If visibility check fails, skip this action but continue with others\n console.warn(`Visibility check failed for action ${action.key}:`, error);\n }\n } else {\n visible.push(action);\n }\n }\n setVisibleActions(visible);\n };\n checkVisibility();\n }, [gridActions, item]);\n\n return (\n <ButtonGroup>\n {visibleActions.map(action => (\n <Button\n key={action.key}\n variant={'cta'}\n onPress={async (): Promise<void> => {\n await onGridActionPress(action.key, item);\n }}\n >\n {action.text}\n </Button>\n ))}\n </ButtonGroup>\n );\n};\n\nexport default ButtonsRenderer;\n"],"names":["ButtonsRenderer","_ref","item","gridActions","onGridActionPress","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleActions","setVisibleActions","useEffect","checkVisibility","_ref2","_asyncToGenerator","_regenerator","m","_callee","visible","_iterator","_step","action","isVisible","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","s","done","value","v","push","console","warn","concat","key","e","f","a","apply","arguments","_jsx","ButtonGroup","children","map","Button","variant","onPress","_onPress","_callee2","_context2","text"],"mappings":"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"}