@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,154 @@
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 index = require('../FieldBuilder/index.js');
10
+ var SaveFloppy = require('@spectrum-icons/workflow/SaveFloppy');
11
+ var Back = require('@spectrum-icons/workflow/Back');
12
+
13
+ var FormBuilder = function FormBuilder(_ref) {
14
+ var _ref$components = _ref.components,
15
+ components = _ref$components === void 0 ? {
16
+ groups: []
17
+ } : _ref$components,
18
+ _ref$editItem = _ref.editItem,
19
+ editItem = _ref$editItem === void 0 ? {} : _ref$editItem,
20
+ _ref$onFieldChange = _ref.onFieldChange,
21
+ _onFieldChange = _ref$onFieldChange === void 0 ? function () {
22
+ return Promise.resolve();
23
+ } : _ref$onFieldChange,
24
+ _ref$onFormSubmit = _ref.onFormSubmit,
25
+ onFormSubmit = _ref$onFormSubmit === void 0 ? function () {
26
+ return Promise.resolve();
27
+ } : _ref$onFormSubmit,
28
+ _ref$onPostFormSubmit = _ref.onPostFormSubmit,
29
+ onPostFormSubmit = _ref$onPostFormSubmit === void 0 ? function () {
30
+ return Promise.resolve();
31
+ } : _ref$onPostFormSubmit,
32
+ _ref$onBackPress = _ref.onBackPress,
33
+ onBackPress = _ref$onBackPress === void 0 ? function () {} : _ref$onBackPress,
34
+ _ref$isProcessing = _ref.isProcessing,
35
+ isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
36
+ _ref$usePlaceholder = _ref.usePlaceholder,
37
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
38
+ var _useState = React.useState(false),
39
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
+ isSubmitting = _useState2[0],
41
+ setSubmitting = _useState2[1];
42
+ var _useState3 = React.useState({}),
43
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
44
+ values = _useState4[0],
45
+ setValues = _useState4[1];
46
+ return jsxRuntime.jsxs(reactSpectrum.Form, {
47
+ isRequired: true,
48
+ isDisabled: isSubmitting || isProcessing,
49
+ width: "size-6000",
50
+ validationBehavior: "native",
51
+ onSubmit: function () {
52
+ var _onSubmit = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee(e) {
53
+ var key;
54
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
55
+ while (1) switch (_context.n) {
56
+ case 0:
57
+ e.preventDefault();
58
+ for (key in editItem) {
59
+ if (!Object.prototype.hasOwnProperty.call(values, key)) {
60
+ values[key] = editItem[key];
61
+ }
62
+ }
63
+ setSubmitting(true);
64
+ _context.n = 1;
65
+ return onFormSubmit(values);
66
+ case 1:
67
+ setSubmitting(false);
68
+ _context.n = 2;
69
+ return onPostFormSubmit();
70
+ case 2:
71
+ return _context.a(2);
72
+ }
73
+ }, _callee);
74
+ }));
75
+ function onSubmit(_x) {
76
+ return _onSubmit.apply(this, arguments);
77
+ }
78
+ return onSubmit;
79
+ }(),
80
+ children: [jsxRuntime.jsx(jsxRuntime.Fragment, {
81
+ children: components.groups.map(function (group) {
82
+ return jsxRuntime.jsxs(reactSpectrum.Flex, {
83
+ direction: "column",
84
+ marginBottom: "size-200",
85
+ children: [jsxRuntime.jsx(reactSpectrum.Heading, {
86
+ id: group.code,
87
+ level: 4,
88
+ marginTop: 0,
89
+ children: group.label
90
+ }), group.fields.map(function (field) {
91
+ return jsxRuntime.jsx(index.default, {
92
+ field: field,
93
+ editItem: editItem,
94
+ usePlaceholder: usePlaceholder,
95
+ onFieldChange: function () {
96
+ var _onFieldChange2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2(code, db_field, value) {
97
+ var db_values;
98
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
99
+ while (1) switch (_context2.n) {
100
+ case 0:
101
+ db_values = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, values), {}, _rollupPluginBabelHelpers.defineProperty({}, db_field, value));
102
+ setValues(db_values);
103
+ _context2.n = 1;
104
+ return _onFieldChange(code, value);
105
+ case 1:
106
+ return _context2.a(2);
107
+ }
108
+ }, _callee2);
109
+ }));
110
+ function onFieldChange(_x2, _x3, _x4) {
111
+ return _onFieldChange2.apply(this, arguments);
112
+ }
113
+ return onFieldChange;
114
+ }()
115
+ }, field.db_field);
116
+ })]
117
+ }, group.code);
118
+ })
119
+ }), jsxRuntime.jsxs(reactSpectrum.Flex, {
120
+ width: "100%",
121
+ alignItems: "center",
122
+ marginTop: 'size-100',
123
+ children: [(isSubmitting || isProcessing) && jsxRuntime.jsx(reactSpectrum.ProgressCircle, {
124
+ size: "M",
125
+ marginEnd: 'size-250',
126
+ "aria-label": "Submitting..",
127
+ isIndeterminate: true
128
+ }), jsxRuntime.jsxs(reactSpectrum.ActionButton, {
129
+ marginEnd: 'size-100',
130
+ type: "submit",
131
+ isDisabled: isSubmitting || isProcessing,
132
+ staticColor: "black",
133
+ children: [jsxRuntime.jsx(SaveFloppy, {
134
+ size: 'M'
135
+ }), jsxRuntime.jsx(reactSpectrum.Text, {
136
+ children: "Save"
137
+ })]
138
+ }), jsxRuntime.jsxs(reactSpectrum.ActionButton, {
139
+ type: "button",
140
+ staticColor: "black",
141
+ isDisabled: isSubmitting || isProcessing,
142
+ onPress: onBackPress,
143
+ children: [jsxRuntime.jsx(Back, {
144
+ size: 'M'
145
+ }), jsxRuntime.jsx(reactSpectrum.Text, {
146
+ children: "Back"
147
+ })]
148
+ })]
149
+ })]
150
+ });
151
+ };
152
+
153
+ exports.default = FormBuilder;
154
+ //# 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":"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"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ exports.FieldType = void 0;
4
+ (function (FieldType) {
5
+ FieldType["TEXT"] = "text";
6
+ FieldType["EMAIL"] = "email";
7
+ FieldType["PASSWORD"] = "password";
8
+ FieldType["NUMBER"] = "number";
9
+ FieldType["URL"] = "url";
10
+ FieldType["TEL"] = "tel";
11
+ FieldType["SEARCH"] = "search";
12
+ FieldType["SELECT"] = "select";
13
+ FieldType["LABEL"] = "label";
14
+ })(exports.FieldType || (exports.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":";;AAKYA;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,iBAAS,KAATA,iBAAS,GAAA,EAAA,CAAA,CAAA;;"}
@@ -0,0 +1,93 @@
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 index = require('./FormBuilder/index.js');
10
+
11
+ var DataForm = function DataForm(_ref) {
12
+ var _ref$components = _ref.components,
13
+ components = _ref$components === void 0 ? {
14
+ groups: []
15
+ } : _ref$components,
16
+ editItem = _ref.editItem,
17
+ _ref$onFieldChange = _ref.onFieldChange,
18
+ onFieldChange = _ref$onFieldChange === void 0 ? function () {
19
+ return Promise.resolve();
20
+ } : _ref$onFieldChange,
21
+ _ref$onFormLoad = _ref.onFormLoad,
22
+ onFormLoad = _ref$onFormLoad === void 0 ? function () {
23
+ return Promise.resolve();
24
+ } : _ref$onFormLoad,
25
+ _ref$onFormSubmit = _ref.onFormSubmit,
26
+ onFormSubmit = _ref$onFormSubmit === void 0 ? function () {
27
+ return Promise.resolve();
28
+ } : _ref$onFormSubmit,
29
+ _ref$onPostFormSubmit = _ref.onPostFormSubmit,
30
+ onPostFormSubmit = _ref$onPostFormSubmit === void 0 ? function () {
31
+ return Promise.resolve();
32
+ } : _ref$onPostFormSubmit,
33
+ _ref$onBackPress = _ref.onBackPress,
34
+ onBackPress = _ref$onBackPress === void 0 ? function () {} : _ref$onBackPress,
35
+ _ref$isProcessing = _ref.isProcessing,
36
+ isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
37
+ _ref$usePlaceholder = _ref.usePlaceholder,
38
+ usePlaceholder = _ref$usePlaceholder === void 0 ? true : _ref$usePlaceholder;
39
+ var _useState = React.useState(true),
40
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
41
+ isLoading = _useState2[0],
42
+ setLoading = _useState2[1];
43
+ // Stable reference to onFormLoad to prevent infinite loops
44
+ var onFormLoadRef = React.useRef(onFormLoad);
45
+ onFormLoadRef.current = onFormLoad;
46
+ // Stable callback that won't change on every render
47
+ var stableOnFormLoad = React.useCallback(function () {
48
+ return onFormLoadRef.current();
49
+ }, []);
50
+ React.useEffect(function () {
51
+ _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee() {
52
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
53
+ while (1) switch (_context.n) {
54
+ case 0:
55
+ _context.n = 1;
56
+ return stableOnFormLoad();
57
+ case 1:
58
+ setLoading(false);
59
+ case 2:
60
+ return _context.a(2);
61
+ }
62
+ }, _callee);
63
+ }))();
64
+ }, [stableOnFormLoad]);
65
+ return jsxRuntime.jsx(reactSpectrum.Provider, {
66
+ theme: reactSpectrum.defaultTheme,
67
+ colorScheme: 'light',
68
+ children: jsxRuntime.jsx(reactSpectrum.Flex, {
69
+ width: "100%",
70
+ alignItems: "center",
71
+ children: isLoading ? jsxRuntime.jsx(reactSpectrum.ProgressCircle, {
72
+ size: "L",
73
+ "aria-label": "Loading...",
74
+ isIndeterminate: true
75
+ }) : jsxRuntime.jsx(reactSpectrum.View, {
76
+ width: "100%",
77
+ children: jsxRuntime.jsx(index.default, {
78
+ components: components,
79
+ editItem: editItem,
80
+ onFieldChange: onFieldChange,
81
+ onBackPress: onBackPress,
82
+ onFormSubmit: onFormSubmit,
83
+ onPostFormSubmit: onPostFormSubmit,
84
+ isProcessing: isProcessing,
85
+ usePlaceholder: usePlaceholder
86
+ })
87
+ })
88
+ })
89
+ });
90
+ };
91
+
92
+ exports.default = DataForm;
93
+ //# 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,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var reactSpectrum = require('@adobe/react-spectrum');
8
+
9
+ var ActionsBuilder = function ActionsBuilder(_ref) {
10
+ var _ref$buttons = _ref.buttons,
11
+ buttons = _ref$buttons === void 0 ? [] : _ref$buttons,
12
+ _ref$massActions = _ref.massActions,
13
+ massActions = _ref$massActions === void 0 ? [] : _ref$massActions,
14
+ _ref$isMassActionDisa = _ref.isMassActionDisabled,
15
+ isMassActionDisabled = _ref$isMassActionDisa === void 0 ? true : _ref$isMassActionDisa,
16
+ _ref$onMassActionPres = _ref.onMassActionPress,
17
+ onMassActionPress = _ref$onMassActionPres === void 0 ? function () {
18
+ return Promise.resolve();
19
+ } : _ref$onMassActionPres;
20
+ return jsxRuntime.jsx(reactSpectrum.View, {
21
+ gridArea: "actions",
22
+ children: jsxRuntime.jsxs(reactSpectrum.Flex, {
23
+ direction: "row",
24
+ gap: 8,
25
+ children: [massActions.length ? jsxRuntime.jsx(reactSpectrum.ActionMenu, {
26
+ onAction: onMassActionPress,
27
+ isHidden: massActions.length === 0,
28
+ isDisabled: isMassActionDisabled,
29
+ children: massActions.map(function (action) {
30
+ return jsxRuntime.jsx(reactSpectrum.Item, {
31
+ textValue: action.text,
32
+ children: jsxRuntime.jsx(reactSpectrum.Text, {
33
+ children: action.text
34
+ })
35
+ }, action.key);
36
+ })
37
+ }) : null, buttons.map(function (button, index) {
38
+ return jsxRuntime.jsx(React.Fragment, {
39
+ children: button
40
+ }, index);
41
+ })]
42
+ })
43
+ });
44
+ };
45
+
46
+ exports.default = ActionsBuilder;
47
+ //# 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,eAACC,kBAAI,EAAA;AAACC,IAAAA,QAAQ,EAAC,SAAS;cACtBC,eAAA,CAACC,kBAAI;AAACC,MAAAA,SAAS,EAAC,KAAK;AAACC,MAAAA,GAAG,EAAE,CAAC;MAAAC,QAAA,EAAA,CACzBd,WAAW,CAACe,MAAM,GACjBR,cAAA,CAACS,wBAAU;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,cAAA,CAACe,kBAAI,EAAA;YAAkBC,SAAS,EAAEF,MAAM,CAACG,IAAI;AAAAV,YAAAA,QAAA,EAC3CP,cAAA,CAACkB,kBAAI,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,cAAA,CAACsB,KAAK,CAACC,QAAQ;oBAAcH;SAAM,EAAdC,KAAK,CAA2B;AAC9D,MAAA,CAAC,CAAC;KAAA;AACG,GAAA,CACF;AAEX;;;;"}
@@ -0,0 +1,117 @@
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
+
10
+ var ActionMenuRenderer = function ActionMenuRenderer(_ref) {
11
+ var item = _ref.item,
12
+ gridActions = _ref.gridActions,
13
+ onGridActionPress = _ref.onGridActionPress;
14
+ var _React$useState = React.useState([]),
15
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
16
+ visibleActions = _React$useState2[0],
17
+ setVisibleActions = _React$useState2[1];
18
+ React.useEffect(function () {
19
+ var checkVisibility = /*#__PURE__*/function () {
20
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee() {
21
+ var visible, _iterator, _step, action, isVisible, _t, _t2;
22
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
23
+ while (1) switch (_context.p = _context.n) {
24
+ case 0:
25
+ visible = [];
26
+ _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelper(gridActions);
27
+ _context.p = 1;
28
+ _iterator.s();
29
+ case 2:
30
+ if ((_step = _iterator.n()).done) {
31
+ _context.n = 9;
32
+ break;
33
+ }
34
+ action = _step.value;
35
+ if (!action.isVisible) {
36
+ _context.n = 7;
37
+ break;
38
+ }
39
+ _context.p = 3;
40
+ _context.n = 4;
41
+ return action.isVisible(item);
42
+ case 4:
43
+ isVisible = _context.v;
44
+ if (isVisible) {
45
+ visible.push(action);
46
+ }
47
+ _context.n = 6;
48
+ break;
49
+ case 5:
50
+ _context.p = 5;
51
+ _t = _context.v;
52
+ // If visibility check fails, skip this action but continue with others
53
+ console.warn("Visibility check failed for action ".concat(action.key, ":"), _t);
54
+ case 6:
55
+ _context.n = 8;
56
+ break;
57
+ case 7:
58
+ visible.push(action);
59
+ case 8:
60
+ _context.n = 2;
61
+ break;
62
+ case 9:
63
+ _context.n = 11;
64
+ break;
65
+ case 10:
66
+ _context.p = 10;
67
+ _t2 = _context.v;
68
+ _iterator.e(_t2);
69
+ case 11:
70
+ _context.p = 11;
71
+ _iterator.f();
72
+ return _context.f(11);
73
+ case 12:
74
+ setVisibleActions(visible);
75
+ case 13:
76
+ return _context.a(2);
77
+ }
78
+ }, _callee, null, [[3, 5], [1, 10, 11, 12]]);
79
+ }));
80
+ return function checkVisibility() {
81
+ return _ref2.apply(this, arguments);
82
+ };
83
+ }();
84
+ checkVisibility();
85
+ }, [gridActions, item]);
86
+ return jsxRuntime.jsx(reactSpectrum.ActionMenu, {
87
+ onAction: function () {
88
+ var _onAction = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2(key) {
89
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
90
+ while (1) switch (_context2.n) {
91
+ case 0:
92
+ _context2.n = 1;
93
+ return onGridActionPress(String(key), item);
94
+ case 1:
95
+ return _context2.a(2);
96
+ }
97
+ }, _callee2);
98
+ }));
99
+ function onAction(_x) {
100
+ return _onAction.apply(this, arguments);
101
+ }
102
+ return onAction;
103
+ }(),
104
+ marginEnd: 'size-100',
105
+ children: visibleActions.map(function (action) {
106
+ return jsxRuntime.jsx(reactSpectrum.Item, {
107
+ textValue: action.text,
108
+ children: jsxRuntime.jsx(reactSpectrum.Text, {
109
+ children: action.text
110
+ })
111
+ }, action.key);
112
+ })
113
+ });
114
+ };
115
+
116
+ exports.default = ActionMenuRenderer;
117
+ //# 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,114 @@
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
+
10
+ var ButtonsRenderer = function ButtonsRenderer(_ref) {
11
+ var item = _ref.item,
12
+ gridActions = _ref.gridActions,
13
+ onGridActionPress = _ref.onGridActionPress;
14
+ var _React$useState = React.useState([]),
15
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
16
+ visibleActions = _React$useState2[0],
17
+ setVisibleActions = _React$useState2[1];
18
+ React.useEffect(function () {
19
+ var checkVisibility = /*#__PURE__*/function () {
20
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee() {
21
+ var visible, _iterator, _step, action, isVisible, _t, _t2;
22
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
23
+ while (1) switch (_context.p = _context.n) {
24
+ case 0:
25
+ visible = [];
26
+ _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelper(gridActions);
27
+ _context.p = 1;
28
+ _iterator.s();
29
+ case 2:
30
+ if ((_step = _iterator.n()).done) {
31
+ _context.n = 9;
32
+ break;
33
+ }
34
+ action = _step.value;
35
+ if (!action.isVisible) {
36
+ _context.n = 7;
37
+ break;
38
+ }
39
+ _context.p = 3;
40
+ _context.n = 4;
41
+ return action.isVisible(item);
42
+ case 4:
43
+ isVisible = _context.v;
44
+ if (isVisible) {
45
+ visible.push(action);
46
+ }
47
+ _context.n = 6;
48
+ break;
49
+ case 5:
50
+ _context.p = 5;
51
+ _t = _context.v;
52
+ // If visibility check fails, skip this action but continue with others
53
+ console.warn("Visibility check failed for action ".concat(action.key, ":"), _t);
54
+ case 6:
55
+ _context.n = 8;
56
+ break;
57
+ case 7:
58
+ visible.push(action);
59
+ case 8:
60
+ _context.n = 2;
61
+ break;
62
+ case 9:
63
+ _context.n = 11;
64
+ break;
65
+ case 10:
66
+ _context.p = 10;
67
+ _t2 = _context.v;
68
+ _iterator.e(_t2);
69
+ case 11:
70
+ _context.p = 11;
71
+ _iterator.f();
72
+ return _context.f(11);
73
+ case 12:
74
+ setVisibleActions(visible);
75
+ case 13:
76
+ return _context.a(2);
77
+ }
78
+ }, _callee, null, [[3, 5], [1, 10, 11, 12]]);
79
+ }));
80
+ return function checkVisibility() {
81
+ return _ref2.apply(this, arguments);
82
+ };
83
+ }();
84
+ checkVisibility();
85
+ }, [gridActions, item]);
86
+ return jsxRuntime.jsx(reactSpectrum.ButtonGroup, {
87
+ children: visibleActions.map(function (action) {
88
+ return jsxRuntime.jsx(reactSpectrum.Button, {
89
+ variant: 'cta',
90
+ onPress: function () {
91
+ var _onPress = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2() {
92
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
93
+ while (1) switch (_context2.n) {
94
+ case 0:
95
+ _context2.n = 1;
96
+ return onGridActionPress(action.key, item);
97
+ case 1:
98
+ return _context2.a(2);
99
+ }
100
+ }, _callee2);
101
+ }));
102
+ function onPress() {
103
+ return _onPress.apply(this, arguments);
104
+ }
105
+ return onPress;
106
+ }(),
107
+ children: action.text
108
+ }, action.key);
109
+ })
110
+ });
111
+ };
112
+
113
+ exports.default = ButtonsRenderer;
114
+ //# 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":";;;;;;;;;AAcA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAIsB;AAAA,EAAA,IAHzCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;AAEjB,EAAA,IAAAC,eAAA,GAA4CC,KAAK,CAACC,QAAQ,CAAuB,EAAE,CAAC;IAAAC,gBAAA,GAAAC,uCAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAA7EK,IAAAA,cAAc,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,gBAAA,CAAA,CAAA,CAAA;EAExCF,KAAK,CAACM,SAAS,CAAC,YAAW;AACzB,IAAA,IAAMC,eAAe,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAC,0CAAA,cAAAC,qCAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,QAAA,IAAAC,OAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,EAAA,EAAAC,GAAA;AAAA,QAAA,OAAAT,qCAAA,EAAA,CAAAU,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,YAAA,KAAA,CAAA;AAChBV,cAAAA,OAAO,GAAG,EAAE;cAAAC,SAAA,GAAAU,mDAAA,CACG3B,WAAW,CAAA;AAAAwB,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAR,cAAAA,SAAA,CAAAW,CAAA,EAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,CAAAV,KAAA,GAAAD,SAAA,CAAAS,CAAA,IAAAG,IAAA,EAAA;AAAAL,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAArBP,MAAM,GAAAD,KAAA,CAAAY,KAAA;cAAA,IAAA,CACXX,MAAM,CAACC,SAAS,EAAA;AAAAI,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAEQP,MAAM,CAACC,SAAS,CAACrB,IAAI,CAAC;AAAA,YAAA,KAAA,CAAA;cAAxCqB,SAAS,GAAAI,QAAA,CAAAO,CAAA;AACf,cAAA,IAAIX,SAAS,EAAE;AACbJ,gBAAAA,OAAO,CAACgB,IAAI,CAACb,MAAM,CAAC;AACtB,cAAA;AAACK,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAAJ,EAAA,GAAAG,QAAA,CAAAO,CAAA;AAED;cACAE,OAAO,CAACC,IAAI,CAAA,qCAAA,CAAAC,MAAA,CAAuChB,MAAM,CAACiB,GAAG,EAAA,GAAA,CAAA,EAAAf,EAAU,CAAC;AAAC,YAAA,KAAA,CAAA;AAAAG,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAG3EV,cAAAA,OAAO,CAACgB,IAAI,CAACb,MAAM,CAAC;AAAC,YAAA,KAAA,CAAA;AAAAK,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAE,CAAA,GAAA,EAAA;AAAA,cAAA;AAAA,YAAA,KAAA,EAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,EAAA;cAAAH,GAAA,GAAAE,QAAA,CAAAO,CAAA;cAAAd,SAAA,CAAAoB,CAAA,CAAAf,GAAA,CAAA;AAAA,YAAA,KAAA,EAAA;AAAAE,cAAAA,QAAA,CAAAC,CAAA,GAAA,EAAA;AAAAR,cAAAA,SAAA,CAAAqB,CAAA,EAAA;cAAA,OAAAd,QAAA,CAAAc,CAAA,CAAA,EAAA,CAAA;AAAA,YAAA,KAAA,EAAA;cAGzB9B,iBAAiB,CAACQ,OAAO,CAAC;AAAC,YAAA,KAAA,EAAA;cAAA,OAAAQ,QAAA,CAAAe,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAxB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;MAAA,CAC5B,CAAA,CAAA;AAAA,MAAA,OAAA,SAlBKL,eAAeA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAA6B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAkBpB;AACD/B,IAAAA,eAAe,EAAE;AACnB,EAAA,CAAC,EAAE,CAACV,WAAW,EAAED,IAAI,CAAC,CAAC;EAEvB,OACE2C,cAAA,CAACC,yBAAW,EAAA;AAAAC,IAAAA,QAAA,EACTrC,cAAc,CAACsC,GAAG,CAAC,UAAA1B,MAAM,EAAA;MAAA,OACxBuB,cAAA,CAACI,oBAAM,EAAA;AAELC,QAAAA,OAAO,EAAE,KAAK;QACdC,OAAO,EAAA,YAAA;UAAA,IAAAC,QAAA,GAAArC,0CAAA,cAAAC,qCAAA,EAAA,CAAAC,CAAA,CAAE,SAAAoC,QAAAA,GAAA;AAAA,YAAA,OAAArC,qCAAA,EAAA,CAAAU,CAAA,CAAA,UAAA4B,SAAA,EAAA;cAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,CAAA;AAAA,gBAAA,KAAA,CAAA;AAAAyB,kBAAAA,SAAA,CAAAzB,CAAA,GAAA,CAAA;AAAA,kBAAA,OACDzB,iBAAiB,CAACkB,MAAM,CAACiB,GAAG,EAAErC,IAAI,CAAC;AAAA,gBAAA,KAAA,CAAA;kBAAA,OAAAoD,SAAA,CAAAZ,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,YAAA,CAAA,EAAAW,QAAA,CAAA;UAAA,CAC1C,CAAA,CAAA;AAAA,UAAA,SAFDF,OAAOA,GAAA;AAAA,YAAA,OAAAC,QAAA,CAAAT,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,UAAA;AAAA,UAAA,OAAPO,OAAO;QAAA,CAAA,EAEN;QAAAJ,QAAA,EAEAzB,MAAM,CAACiC;AAAI,OAAA,EANPjC,MAAM,CAACiB,GAAG,CAOR;IAAA,CACV;AAAC,GAAA,CACU;AAElB;;;;"}