@adobe-commerce/aio-experience-kit 1.0.1 → 1.0.3
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.
- package/CHANGELOG.md +76 -1
- package/README.md +104 -143
- package/dist/cjs/components/DataForm/FieldBuilder/index.js +33 -28
- package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
- package/dist/cjs/components/DataTable/GridBuilder/index.js +72 -58
- package/dist/cjs/components/DataTable/GridBuilder/index.js.map +1 -1
- package/dist/cjs/components/DataTable/index.js +8 -4
- package/dist/cjs/components/DataTable/index.js.map +1 -1
- package/dist/cjs/components/DataTable/types.js.map +1 -1
- package/dist/cjs/components/FileUpload/index.js +251 -0
- package/dist/cjs/components/FileUpload/index.js.map +1 -0
- package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js +1 -1
- package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
- package/dist/cjs/components/ShippingCarrierForm/index.js +6 -0
- package/dist/cjs/components/ShippingCarrierForm/index.js.map +1 -1
- package/dist/cjs/index.js +6 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/AdminUiSdk/index.js +4 -139
- package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -1
- package/dist/esm/components/DataForm/FieldBuilder/index.js +34 -29
- package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
- package/dist/esm/components/DataTable/GridBuilder/index.js +74 -60
- package/dist/esm/components/DataTable/GridBuilder/index.js.map +1 -1
- package/dist/esm/components/DataTable/index.js +9 -5
- package/dist/esm/components/DataTable/index.js.map +1 -1
- package/dist/esm/components/DataTable/types.js.map +1 -1
- package/dist/esm/components/FileUpload/index.js +247 -0
- package/dist/esm/components/FileUpload/index.js.map +1 -0
- package/dist/esm/components/MainContainer/TwoColumnLeft/index.js +1 -1
- package/dist/esm/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
- package/dist/esm/components/ShippingCarrierForm/index.js +6 -0
- package/dist/esm/components/ShippingCarrierForm/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
- package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts +1 -1
- package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts.map +1 -1
- package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts +1 -0
- package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts.map +1 -1
- package/dist/esm/types/components/DataTable/index.d.ts +1 -1
- package/dist/esm/types/components/DataTable/index.d.ts.map +1 -1
- package/dist/esm/types/components/DataTable/types.d.ts +1 -0
- package/dist/esm/types/components/DataTable/types.d.ts.map +1 -1
- package/dist/esm/types/components/FileUpload/index.d.ts +7 -0
- package/dist/esm/types/components/FileUpload/index.d.ts.map +1 -0
- package/dist/esm/types/components/FileUpload/types.d.ts +85 -0
- package/dist/esm/types/components/FileUpload/types.d.ts.map +1 -0
- package/dist/esm/types/components/ShippingCarrierForm/index.d.ts +6 -0
- package/dist/esm/types/components/ShippingCarrierForm/index.d.ts.map +1 -1
- package/dist/esm/types/components/ShippingCarrierForm/types.d.ts +5 -0
- package/dist/esm/types/components/ShippingCarrierForm/types.d.ts.map +1 -1
- package/dist/esm/types/components/index.d.ts +8 -0
- package/dist/esm/types/components/index.d.ts.map +1 -1
- package/dist/esm/types/utils/AdminUiSdk/index.d.ts +6 -45
- package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -1
- package/dist/esm/types/utils/AdminUiSdk/types.d.ts +0 -46
- package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -1
- package/dist/esm/utils/AdminUiSdk/index.js +5 -140
- package/dist/esm/utils/AdminUiSdk/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -31,7 +31,8 @@ var GridBuilder = function GridBuilder(_ref) {
|
|
|
31
31
|
}, _callee);
|
|
32
32
|
})) : _ref$onGridActionPres,
|
|
33
33
|
_ref$onSelectionChang = _ref.onSelectionChange,
|
|
34
|
-
onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang
|
|
34
|
+
onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang,
|
|
35
|
+
maxHeight = _ref.maxHeight;
|
|
35
36
|
var selectionMode = isMassActionsEnabled ? 'multiple' : 'none';
|
|
36
37
|
// Handle empty columns gracefully
|
|
37
38
|
if (columns.length === 0) {
|
|
@@ -47,66 +48,79 @@ var GridBuilder = function GridBuilder(_ref) {
|
|
|
47
48
|
})
|
|
48
49
|
});
|
|
49
50
|
}
|
|
51
|
+
var tableView = jsxRuntime.jsxs(reactSpectrum.TableView, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
52
|
+
selectionMode: selectionMode,
|
|
53
|
+
onSelectionChange: onSelectionChange,
|
|
54
|
+
minHeight: 'size-6000'
|
|
55
|
+
}, maxHeight && {
|
|
56
|
+
flex: true
|
|
57
|
+
}), {}, {
|
|
58
|
+
renderEmptyState: function renderEmptyState() {
|
|
59
|
+
return jsxRuntime.jsxs(reactSpectrum.IllustratedMessage, {
|
|
60
|
+
children: [jsxRuntime.jsx(reactSpectrum.Heading, {
|
|
61
|
+
children: "No results"
|
|
62
|
+
}), jsxRuntime.jsx(reactSpectrum.Content, {
|
|
63
|
+
children: "No results found"
|
|
64
|
+
})]
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
children: [jsxRuntime.jsx(reactSpectrum.TableHeader, {
|
|
68
|
+
columns: columns,
|
|
69
|
+
children: function children(column) {
|
|
70
|
+
return jsxRuntime.jsx(reactSpectrum.Column, {
|
|
71
|
+
align: column.uid === 'actions' ? 'end' : 'start',
|
|
72
|
+
children: column.name
|
|
73
|
+
}, column.uid);
|
|
74
|
+
}
|
|
75
|
+
}), jsxRuntime.jsx(reactSpectrum.TableBody, {
|
|
76
|
+
items: data,
|
|
77
|
+
children: function children(item) {
|
|
78
|
+
return jsxRuntime.jsx(reactSpectrum.Row, {
|
|
79
|
+
children: function children(columnKey) {
|
|
80
|
+
return columnKey === 'actions' ? jsxRuntime.jsx(reactSpectrum.Cell, {
|
|
81
|
+
children: function () {
|
|
82
|
+
switch (gridAction) {
|
|
83
|
+
case types.GridAction.LINKS:
|
|
84
|
+
return jsxRuntime.jsx(index$2.default, {
|
|
85
|
+
item: item,
|
|
86
|
+
gridActions: gridActions,
|
|
87
|
+
onGridActionPress: onGridActionPress
|
|
88
|
+
});
|
|
89
|
+
case types.GridAction.BUTTONS:
|
|
90
|
+
return jsxRuntime.jsx(index$1.default, {
|
|
91
|
+
item: item,
|
|
92
|
+
gridActions: gridActions,
|
|
93
|
+
onGridActionPress: onGridActionPress
|
|
94
|
+
});
|
|
95
|
+
default:
|
|
96
|
+
return jsxRuntime.jsx(index.default, {
|
|
97
|
+
item: item,
|
|
98
|
+
gridActions: gridActions,
|
|
99
|
+
onGridActionPress: onGridActionPress
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}()
|
|
103
|
+
}) : jsxRuntime.jsx(reactSpectrum.Cell, {
|
|
104
|
+
children: item[columnKey]
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
})]
|
|
110
|
+
}));
|
|
111
|
+
if (maxHeight) {
|
|
112
|
+
return jsxRuntime.jsx(reactSpectrum.Flex, {
|
|
113
|
+
height: maxHeight,
|
|
114
|
+
width: '100%',
|
|
115
|
+
direction: "column",
|
|
116
|
+
marginTop: 'size-200',
|
|
117
|
+
children: tableView
|
|
118
|
+
});
|
|
119
|
+
}
|
|
50
120
|
return jsxRuntime.jsx(reactSpectrum.View, {
|
|
51
121
|
width: '100%',
|
|
52
122
|
marginTop: 'size-200',
|
|
53
|
-
children:
|
|
54
|
-
selectionMode: selectionMode,
|
|
55
|
-
onSelectionChange: onSelectionChange,
|
|
56
|
-
minHeight: 'size-6000',
|
|
57
|
-
renderEmptyState: function renderEmptyState() {
|
|
58
|
-
return jsxRuntime.jsxs(reactSpectrum.IllustratedMessage, {
|
|
59
|
-
children: [jsxRuntime.jsx(reactSpectrum.Heading, {
|
|
60
|
-
children: "No results"
|
|
61
|
-
}), jsxRuntime.jsx(reactSpectrum.Content, {
|
|
62
|
-
children: "No results found"
|
|
63
|
-
})]
|
|
64
|
-
});
|
|
65
|
-
},
|
|
66
|
-
children: [jsxRuntime.jsx(reactSpectrum.TableHeader, {
|
|
67
|
-
columns: columns,
|
|
68
|
-
children: function children(column) {
|
|
69
|
-
return jsxRuntime.jsx(reactSpectrum.Column, {
|
|
70
|
-
align: column.uid === 'actions' ? 'end' : 'start',
|
|
71
|
-
children: column.name
|
|
72
|
-
}, column.uid);
|
|
73
|
-
}
|
|
74
|
-
}), jsxRuntime.jsx(reactSpectrum.TableBody, {
|
|
75
|
-
items: data,
|
|
76
|
-
children: function children(item) {
|
|
77
|
-
return jsxRuntime.jsx(reactSpectrum.Row, {
|
|
78
|
-
children: function children(columnKey) {
|
|
79
|
-
return columnKey === 'actions' ? jsxRuntime.jsx(reactSpectrum.Cell, {
|
|
80
|
-
children: function () {
|
|
81
|
-
switch (gridAction) {
|
|
82
|
-
case types.GridAction.LINKS:
|
|
83
|
-
return jsxRuntime.jsx(index$2.default, {
|
|
84
|
-
item: item,
|
|
85
|
-
gridActions: gridActions,
|
|
86
|
-
onGridActionPress: onGridActionPress
|
|
87
|
-
});
|
|
88
|
-
case types.GridAction.BUTTONS:
|
|
89
|
-
return jsxRuntime.jsx(index$1.default, {
|
|
90
|
-
item: item,
|
|
91
|
-
gridActions: gridActions,
|
|
92
|
-
onGridActionPress: onGridActionPress
|
|
93
|
-
});
|
|
94
|
-
default:
|
|
95
|
-
return jsxRuntime.jsx(index.default, {
|
|
96
|
-
item: item,
|
|
97
|
-
gridActions: gridActions,
|
|
98
|
-
onGridActionPress: onGridActionPress
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}()
|
|
102
|
-
}) : jsxRuntime.jsx(reactSpectrum.Cell, {
|
|
103
|
-
children: item[columnKey]
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
})]
|
|
109
|
-
})
|
|
123
|
+
children: tableView
|
|
110
124
|
});
|
|
111
125
|
};
|
|
112
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/DataTable/GridBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\n// import React from 'react'\nimport {\n Cell,\n Column,\n Content,\n Heading,\n IllustratedMessage,\n Row,\n TableBody,\n TableHeader,\n TableView,\n View,\n} from '@adobe/react-spectrum';\n// import NotFound from '@spectrum-icons/illustrations/NotFound';\nimport { GridBuilderProps } from './types';\nimport { GridAction, DataTableRow } from '../types';\nimport LinksRenderer from './LinksRenderer';\nimport ButtonsRenderer from './ButtonsRenderer';\nimport ActionMenuRenderer from './ActionMenuRenderer';\n\nconst GridBuilder = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n isMassActionsEnabled = false,\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = async (): Promise<void> => {},\n onSelectionChange = (): void => {},\n}: GridBuilderProps<T>): JSX.Element => {\n const selectionMode = isMassActionsEnabled ? 'multiple' : 'none';\n\n // Handle empty columns gracefully\n if (columns.length === 0) {\n return (\n <View width={'100%'} marginTop={'size-200'}>\n <IllustratedMessage>\n <Heading>No columns configured</Heading>\n <Content>Please configure columns to display data</Content>\n </IllustratedMessage>\n </View>\n );\n }\n\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/DataTable/GridBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\n// import React from 'react'\nimport {\n Cell,\n Column,\n Content,\n Flex,\n Heading,\n IllustratedMessage,\n Row,\n TableBody,\n TableHeader,\n TableView,\n View,\n} from '@adobe/react-spectrum';\n// import NotFound from '@spectrum-icons/illustrations/NotFound';\nimport { GridBuilderProps } from './types';\nimport { GridAction, DataTableRow } from '../types';\nimport LinksRenderer from './LinksRenderer';\nimport ButtonsRenderer from './ButtonsRenderer';\nimport ActionMenuRenderer from './ActionMenuRenderer';\n\nconst GridBuilder = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n isMassActionsEnabled = false,\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = async (): Promise<void> => {},\n onSelectionChange = (): void => {},\n maxHeight,\n}: GridBuilderProps<T>): JSX.Element => {\n const selectionMode = isMassActionsEnabled ? 'multiple' : 'none';\n\n // Handle empty columns gracefully\n if (columns.length === 0) {\n return (\n <View width={'100%'} marginTop={'size-200'}>\n <IllustratedMessage>\n <Heading>No columns configured</Heading>\n <Content>Please configure columns to display data</Content>\n </IllustratedMessage>\n </View>\n );\n }\n\n const tableView = (\n <TableView\n selectionMode={selectionMode}\n onSelectionChange={onSelectionChange}\n minHeight={'size-6000'}\n {...(maxHeight && { flex: true })}\n renderEmptyState={(): JSX.Element => {\n return (\n <IllustratedMessage>\n <Heading>No results</Heading>\n <Content>No results found</Content>\n </IllustratedMessage>\n );\n }}\n >\n <TableHeader columns={columns}>\n {(column): JSX.Element => (\n <Column key={column.uid} align={column.uid === 'actions' ? 'end' : 'start'}>\n {column.name}\n </Column>\n )}\n </TableHeader>\n <TableBody items={data}>\n {(item): JSX.Element => (\n <Row>\n {(columnKey): JSX.Element =>\n columnKey === 'actions' ? (\n <Cell>\n {((): JSX.Element => {\n switch (gridAction) {\n case GridAction.LINKS:\n return (\n <LinksRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n case GridAction.BUTTONS:\n return (\n <ButtonsRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n default:\n return (\n <ActionMenuRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n }\n })()}\n </Cell>\n ) : (\n <Cell>{item[columnKey] as any}</Cell>\n )\n }\n </Row>\n )}\n </TableBody>\n </TableView>\n );\n\n if (maxHeight) {\n return (\n <Flex height={maxHeight} width={'100%'} direction=\"column\" marginTop={'size-200'}>\n {tableView}\n </Flex>\n );\n }\n\n return (\n <View width={'100%'} marginTop={'size-200'}>\n {tableView}\n </View>\n );\n};\n\nexport default GridBuilder;\n"],"names":["GridBuilder","_ref","_ref$columns","columns","_ref$data","data","_ref$isMassActionsEna","isMassActionsEnabled","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_ref$onSelectionChang","onSelectionChange","maxHeight","selectionMode","length","_jsx","View","width","marginTop","children","_jsxs","IllustratedMessage","Heading","Content","tableView","TableView","_objectSpread","minHeight","flex","renderEmptyState","TableHeader","column","Column","align","uid","name","TableBody","items","item","Row","columnKey","Cell","LINKS","LinksRenderer","BUTTONS","ButtonsRenderer","ActionMenuRenderer","Flex","height","direction"],"mappings":"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"}
|
|
@@ -36,7 +36,8 @@ var DataTable = function DataTable(_ref) {
|
|
|
36
36
|
return Promise.resolve();
|
|
37
37
|
} : _ref$onGridLoad,
|
|
38
38
|
_ref$isProcessing = _ref.isProcessing,
|
|
39
|
-
isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing
|
|
39
|
+
isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
|
|
40
|
+
maxHeight = _ref.maxHeight;
|
|
40
41
|
var _useState = React.useState(true),
|
|
41
42
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
42
43
|
isLoading = _useState2[0],
|
|
@@ -117,12 +118,15 @@ var DataTable = function DataTable(_ref) {
|
|
|
117
118
|
})
|
|
118
119
|
}), jsxRuntime.jsx(reactSpectrum.View, {
|
|
119
120
|
gridArea: "content",
|
|
120
|
-
children: jsxRuntime.jsx(index$1.default, {
|
|
121
|
+
children: jsxRuntime.jsx(index$1.default, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
|
|
121
122
|
columns: columns,
|
|
122
123
|
data: data,
|
|
123
124
|
isMassActionsEnabled: massActions.length > 0,
|
|
124
125
|
gridAction: gridAction,
|
|
125
|
-
gridActions: gridActions
|
|
126
|
+
gridActions: gridActions
|
|
127
|
+
}, maxHeight && {
|
|
128
|
+
maxHeight: maxHeight
|
|
129
|
+
}), {}, {
|
|
126
130
|
onGridActionPress: function () {
|
|
127
131
|
var _onGridActionPress2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee3(key, item) {
|
|
128
132
|
return _rollupPluginBabelHelpers.regenerator().w(function (_context3) {
|
|
@@ -151,7 +155,7 @@ var DataTable = function DataTable(_ref) {
|
|
|
151
155
|
}
|
|
152
156
|
setIds(selectedIds);
|
|
153
157
|
}
|
|
154
|
-
})
|
|
158
|
+
}))
|
|
155
159
|
})]
|
|
156
160
|
})
|
|
157
161
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/DataTable/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { Flex, View, ProgressCircle } from '@adobe/react-spectrum';\nimport ActionsBuilder from './ActionsBuilder';\nimport GridBuilder from './GridBuilder';\nimport { DataTableProps, GridAction, DataTableRow } from './types';\nimport { Selection } from '@react-types/shared';\n\nconst DataTable = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n buttons = [],\n massActions = [],\n onMassActionPress = (): Promise<void> => Promise.resolve(),\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = (): Promise<void> => Promise.resolve(),\n onGridLoad = (): Promise<void> => Promise.resolve(),\n isProcessing = false,\n}: DataTableProps<T>): JSX.Element => {\n const [isLoading, setLoading] = useState(true);\n const [ids, setIds] = useState<(number | string)[]>([]);\n\n // Stable reference to onGridLoad to prevent infinite loops\n const onGridLoadRef = useRef(onGridLoad);\n\n // Update ref in useEffect instead of during render\n useEffect(() => {\n onGridLoadRef.current = onGridLoad;\n }, [onGridLoad]);\n\n // Stable callback that won't change on every render\n const stableOnGridLoad = useCallback(() => {\n return onGridLoadRef.current();\n }, []);\n\n // Initial load effect - runs once on mount\n useEffect((): void => {\n (async (): Promise<void> => {\n await stableOnGridLoad();\n setLoading(false);\n })();\n }, [stableOnGridLoad]);\n\n return (\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <View gridArea=\"header\">\n <Flex direction=\"row\" width=\"100%\">\n <ActionsBuilder\n buttons={buttons}\n massActions={massActions}\n isMassActionDisabled={ids.length === 0 || isProcessing}\n onMassActionPress={async (key: string) => {\n await onMassActionPress(key, ids);\n setIds([]);\n }}\n />\n {isProcessing && (\n <ProgressCircle\n size=\"M\"\n aria-label=\"Syncing..\"\n isIndeterminate\n marginEnd=\"size-100\"\n />\n )}\n </Flex>\n </View>\n <View gridArea=\"content\">\n <GridBuilder<T>\n columns={columns}\n data={data}\n isMassActionsEnabled={massActions.length > 0}\n gridAction={gridAction}\n gridActions={gridActions}\n onGridActionPress={async (key: string, item: T) => {\n await onGridActionPress(key, item);\n }}\n onSelectionChange={(keys: Selection) => {\n const selectedIds: (string | number)[] = [];\n if (typeof keys === 'string' && keys === 'all') {\n data.forEach(item => {\n selectedIds.push(item.id);\n });\n } else {\n selectedIds.push(...keys);\n }\n setIds(selectedIds);\n }}\n />\n </View>\n </View>\n )}\n </Flex>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","_ref","_ref$columns","columns","_ref$data","data","_ref$buttons","buttons","_ref$massActions","massActions","_ref$onMassActionPres","onMassActionPress","Promise","resolve","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_ref$onGridLoad","onGridLoad","_ref$isProcessing","isProcessing","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","_useState4","ids","setIds","onGridLoadRef","useRef","useEffect","current","stableOnGridLoad","useCallback","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","_jsxs","View","gridArea","children","direction","ActionsBuilder","isMassActionDisabled","length","_onMassActionPress2","_callee2","key","_context2","_x","apply","arguments","marginEnd","GridBuilder","isMassActionsEnabled","_onGridActionPress2","_callee3","item","_context3","_x2","_x3","onSelectionChange","keys","selectedIds","forEach","push","id","_toConsumableArray"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/DataTable/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { Flex, View, ProgressCircle } from '@adobe/react-spectrum';\nimport ActionsBuilder from './ActionsBuilder';\nimport GridBuilder from './GridBuilder';\nimport { DataTableProps, GridAction, DataTableRow } from './types';\nimport { Selection } from '@react-types/shared';\n\nconst DataTable = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n buttons = [],\n massActions = [],\n onMassActionPress = (): Promise<void> => Promise.resolve(),\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = (): Promise<void> => Promise.resolve(),\n onGridLoad = (): Promise<void> => Promise.resolve(),\n isProcessing = false,\n maxHeight,\n}: DataTableProps<T>): JSX.Element => {\n const [isLoading, setLoading] = useState(true);\n const [ids, setIds] = useState<(number | string)[]>([]);\n\n // Stable reference to onGridLoad to prevent infinite loops\n const onGridLoadRef = useRef(onGridLoad);\n\n // Update ref in useEffect instead of during render\n useEffect(() => {\n onGridLoadRef.current = onGridLoad;\n }, [onGridLoad]);\n\n // Stable callback that won't change on every render\n const stableOnGridLoad = useCallback(() => {\n return onGridLoadRef.current();\n }, []);\n\n // Initial load effect - runs once on mount\n useEffect((): void => {\n (async (): Promise<void> => {\n await stableOnGridLoad();\n setLoading(false);\n })();\n }, [stableOnGridLoad]);\n\n return (\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <View gridArea=\"header\">\n <Flex direction=\"row\" width=\"100%\">\n <ActionsBuilder\n buttons={buttons}\n massActions={massActions}\n isMassActionDisabled={ids.length === 0 || isProcessing}\n onMassActionPress={async (key: string) => {\n await onMassActionPress(key, ids);\n setIds([]);\n }}\n />\n {isProcessing && (\n <ProgressCircle\n size=\"M\"\n aria-label=\"Syncing..\"\n isIndeterminate\n marginEnd=\"size-100\"\n />\n )}\n </Flex>\n </View>\n <View gridArea=\"content\">\n <GridBuilder<T>\n columns={columns}\n data={data}\n isMassActionsEnabled={massActions.length > 0}\n gridAction={gridAction}\n gridActions={gridActions}\n {...(maxHeight && { maxHeight })}\n onGridActionPress={async (key: string, item: T) => {\n await onGridActionPress(key, item);\n }}\n onSelectionChange={(keys: Selection) => {\n const selectedIds: (string | number)[] = [];\n if (typeof keys === 'string' && keys === 'all') {\n data.forEach(item => {\n selectedIds.push(item.id);\n });\n } else {\n selectedIds.push(...keys);\n }\n setIds(selectedIds);\n }}\n />\n </View>\n </View>\n )}\n </Flex>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","_ref","_ref$columns","columns","_ref$data","data","_ref$buttons","buttons","_ref$massActions","massActions","_ref$onMassActionPres","onMassActionPress","Promise","resolve","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_ref$onGridLoad","onGridLoad","_ref$isProcessing","isProcessing","maxHeight","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","_useState4","ids","setIds","onGridLoadRef","useRef","useEffect","current","stableOnGridLoad","useCallback","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","_jsxs","View","gridArea","children","direction","ActionsBuilder","isMassActionDisabled","length","_onMassActionPress2","_callee2","key","_context2","_x","apply","arguments","marginEnd","GridBuilder","_objectSpread","isMassActionsEnabled","_onGridActionPress2","_callee3","item","_context3","_x2","_x3","onSelectionChange","keys","selectedIds","forEach","push","id","_toConsumableArray"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../src/components/DataTable/types.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { ReactElement } from 'react';\n\nexport interface DataTableColumn {\n uid: string;\n name: string;\n sortable?: boolean;\n width?: string | number;\n}\n\nexport interface DataTableRow {\n id: string | number;\n [key: string]: any;\n}\n\nexport interface DataTableProps<T extends DataTableRow = DataTableRow> {\n columns?: DataTableColumn[];\n data?: T[];\n buttons?: ReactElement[];\n massActions?: MassActionProps[];\n onMassActionPress?: (key: string, selections: (string | number)[]) => Promise<void>;\n gridAction?: GridAction;\n gridActions?: GridActionProps<T>[];\n onGridActionPress?: (key: string, item: T) => Promise<void>;\n onGridLoad?: () => Promise<void>;\n isProcessing?: boolean;\n}\n\nexport interface MassActionProps {\n key: string;\n text: string;\n}\n\nexport interface GridActionProps<T extends DataTableRow = DataTableRow> {\n key: string;\n text: string;\n isVisible?: (item: T) => Promise<boolean>;\n}\n\nexport enum GridAction {\n ACTION_MENU = 'action-menu',\n BUTTONS = 'buttons',\n LINKS = 'links',\n}\n"],"names":["GridAction"],"mappings":";;AAAA;;AAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../src/components/DataTable/types.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { ReactElement } from 'react';\n\nexport interface DataTableColumn {\n uid: string;\n name: string;\n sortable?: boolean;\n width?: string | number;\n}\n\nexport interface DataTableRow {\n id: string | number;\n [key: string]: any;\n}\n\nexport interface DataTableProps<T extends DataTableRow = DataTableRow> {\n columns?: DataTableColumn[];\n data?: T[];\n buttons?: ReactElement[];\n massActions?: MassActionProps[];\n onMassActionPress?: (key: string, selections: (string | number)[]) => Promise<void>;\n gridAction?: GridAction;\n gridActions?: GridActionProps<T>[];\n onGridActionPress?: (key: string, item: T) => Promise<void>;\n onGridLoad?: () => Promise<void>;\n isProcessing?: boolean;\n maxHeight?: string;\n}\n\nexport interface MassActionProps {\n key: string;\n text: string;\n}\n\nexport interface GridActionProps<T extends DataTableRow = DataTableRow> {\n key: string;\n text: string;\n isVisible?: (item: T) => Promise<boolean>;\n}\n\nexport enum GridAction {\n ACTION_MENU = 'action-menu',\n BUTTONS = 'buttons',\n LINKS = 'links',\n}\n"],"names":["GridAction"],"mappings":";;AAAA;;AAEG;AAyCSA;AAAZ,CAAA,UAAYA,UAAU,EAAA;AACpBA,EAAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3BA,EAAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnBA,EAAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,251 @@
|
|
|
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 FileUpload = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
11
|
+
var name = _ref.name,
|
|
12
|
+
label = _ref.label,
|
|
13
|
+
_ref$isRequired = _ref.isRequired,
|
|
14
|
+
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
15
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
16
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
17
|
+
acceptedFileTypes = _ref.acceptedFileTypes,
|
|
18
|
+
_ref$allowsMultiple = _ref.allowsMultiple,
|
|
19
|
+
allowsMultiple = _ref$allowsMultiple === void 0 ? false : _ref$allowsMultiple,
|
|
20
|
+
contextualHelp = _ref.contextualHelp,
|
|
21
|
+
onSelect = _ref.onSelect;
|
|
22
|
+
var _useState = React.useState([]),
|
|
23
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
24
|
+
selectedFiles = _useState2[0],
|
|
25
|
+
setSelectedFiles = _useState2[1];
|
|
26
|
+
var _useState3 = React.useState(''),
|
|
27
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
28
|
+
error = _useState4[0],
|
|
29
|
+
setError = _useState4[1];
|
|
30
|
+
var _useState5 = React.useState(false),
|
|
31
|
+
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
|
32
|
+
isLoading = _useState6[0],
|
|
33
|
+
setIsLoading = _useState6[1];
|
|
34
|
+
// Dynamic button text based on allowsMultiple
|
|
35
|
+
var buttonText = allowsMultiple ? 'Select Files' : 'Select File';
|
|
36
|
+
/**
|
|
37
|
+
* Reads file content as text or base64 depending on file type
|
|
38
|
+
*/
|
|
39
|
+
var readFileContent = React.useCallback(function (file) {
|
|
40
|
+
return new Promise(function (resolve, reject) {
|
|
41
|
+
var reader = new FileReader();
|
|
42
|
+
reader.onload = function () {
|
|
43
|
+
var result = reader.result;
|
|
44
|
+
// Check if file is likely binary by checking MIME type
|
|
45
|
+
var isBinary = file.type && (file.type.startsWith('image/') || file.type.startsWith('video/') || file.type.startsWith('audio/') || file.type === 'application/pdf' || file.type === 'application/zip' || file.type.includes('binary'));
|
|
46
|
+
if (isBinary && result.startsWith('data:')) {
|
|
47
|
+
// Remove data URL prefix for base64 content
|
|
48
|
+
var base64Content = result.split(',')[1] || result;
|
|
49
|
+
resolve({
|
|
50
|
+
content: base64Content,
|
|
51
|
+
isBase64: true
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
resolve({
|
|
55
|
+
content: result,
|
|
56
|
+
isBase64: false
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
reader.onerror = function () {
|
|
61
|
+
reject(new Error("Failed to read file: ".concat(file.name)));
|
|
62
|
+
};
|
|
63
|
+
// Read as base64 for binary files, as text for text files
|
|
64
|
+
var isBinary = file.type && (file.type.startsWith('image/') || file.type.startsWith('video/') || file.type.startsWith('audio/') || file.type === 'application/pdf' || file.type === 'application/zip' || file.type.includes('binary'));
|
|
65
|
+
if (isBinary) {
|
|
66
|
+
reader.readAsDataURL(file);
|
|
67
|
+
} else {
|
|
68
|
+
reader.readAsText(file);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}, []);
|
|
72
|
+
/**
|
|
73
|
+
* Processes selected files and reads their content
|
|
74
|
+
*/
|
|
75
|
+
var processFiles = React.useCallback(/*#__PURE__*/function () {
|
|
76
|
+
var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee(fileList) {
|
|
77
|
+
var files, processedFiles, _i, _files, file, _yield$readFileConten, content, isBase64, fileInfo, errorMsg, _errorMsg, _t, _t2;
|
|
78
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
|
|
79
|
+
while (1) switch (_context.p = _context.n) {
|
|
80
|
+
case 0:
|
|
81
|
+
if (!(!fileList || fileList.length === 0)) {
|
|
82
|
+
_context.n = 1;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
return _context.a(2);
|
|
86
|
+
case 1:
|
|
87
|
+
setIsLoading(true);
|
|
88
|
+
setError('');
|
|
89
|
+
_context.p = 2;
|
|
90
|
+
files = Array.from(fileList);
|
|
91
|
+
processedFiles = [];
|
|
92
|
+
_i = 0, _files = files;
|
|
93
|
+
case 3:
|
|
94
|
+
if (!(_i < _files.length)) {
|
|
95
|
+
_context.n = 8;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
file = _files[_i];
|
|
99
|
+
_context.p = 4;
|
|
100
|
+
_context.n = 5;
|
|
101
|
+
return readFileContent(file);
|
|
102
|
+
case 5:
|
|
103
|
+
_yield$readFileConten = _context.v;
|
|
104
|
+
content = _yield$readFileConten.content;
|
|
105
|
+
isBase64 = _yield$readFileConten.isBase64;
|
|
106
|
+
fileInfo = {
|
|
107
|
+
name: file.name,
|
|
108
|
+
size: file.size,
|
|
109
|
+
type: file.type,
|
|
110
|
+
lastModified: file.lastModified,
|
|
111
|
+
content: content,
|
|
112
|
+
isBase64: isBase64
|
|
113
|
+
};
|
|
114
|
+
processedFiles.push(fileInfo);
|
|
115
|
+
_context.n = 7;
|
|
116
|
+
break;
|
|
117
|
+
case 6:
|
|
118
|
+
_context.p = 6;
|
|
119
|
+
_t = _context.v;
|
|
120
|
+
// Log error for debugging (will be suppressed in test environment by setupTests.ts)
|
|
121
|
+
console.error("Error processing file ".concat(file.name, ":"), _t);
|
|
122
|
+
errorMsg = "Failed to process file: ".concat(file.name);
|
|
123
|
+
setError(errorMsg);
|
|
124
|
+
return _context.a(2);
|
|
125
|
+
case 7:
|
|
126
|
+
_i++;
|
|
127
|
+
_context.n = 3;
|
|
128
|
+
break;
|
|
129
|
+
case 8:
|
|
130
|
+
setSelectedFiles(processedFiles);
|
|
131
|
+
// Call callback
|
|
132
|
+
onSelect === null || onSelect === void 0 || onSelect(processedFiles);
|
|
133
|
+
_context.n = 10;
|
|
134
|
+
break;
|
|
135
|
+
case 9:
|
|
136
|
+
_context.p = 9;
|
|
137
|
+
_t2 = _context.v;
|
|
138
|
+
/* istanbul ignore next */
|
|
139
|
+
_errorMsg = 'An error occurred while processing files.';
|
|
140
|
+
/* istanbul ignore next */
|
|
141
|
+
setError(_errorMsg);
|
|
142
|
+
/* istanbul ignore next */
|
|
143
|
+
// Log error for debugging (will be suppressed in test environment by setupTests.ts)
|
|
144
|
+
/* istanbul ignore next */
|
|
145
|
+
console.error('File processing error:', _t2);
|
|
146
|
+
case 10:
|
|
147
|
+
_context.p = 10;
|
|
148
|
+
setIsLoading(false);
|
|
149
|
+
return _context.f(10);
|
|
150
|
+
case 11:
|
|
151
|
+
return _context.a(2);
|
|
152
|
+
}
|
|
153
|
+
}, _callee, null, [[4, 6], [2, 9, 10, 11]]);
|
|
154
|
+
}));
|
|
155
|
+
return function (_x) {
|
|
156
|
+
return _ref2.apply(this, arguments);
|
|
157
|
+
};
|
|
158
|
+
}(), [onSelect, readFileContent]);
|
|
159
|
+
/**
|
|
160
|
+
* Handles file selection from FileTrigger
|
|
161
|
+
*/
|
|
162
|
+
var handleFileSelect = React.useCallback(function (fileList) {
|
|
163
|
+
processFiles(fileList);
|
|
164
|
+
}, [processFiles]);
|
|
165
|
+
/**
|
|
166
|
+
* Clears selected files and errors
|
|
167
|
+
*/
|
|
168
|
+
var clearFiles = React.useCallback(function () {
|
|
169
|
+
var emptyFiles = [];
|
|
170
|
+
setSelectedFiles(emptyFiles);
|
|
171
|
+
setError('');
|
|
172
|
+
// Call callback
|
|
173
|
+
onSelect === null || onSelect === void 0 || onSelect(emptyFiles);
|
|
174
|
+
}, [onSelect]);
|
|
175
|
+
// Expose reset and getFiles methods via ref
|
|
176
|
+
React.useImperativeHandle(ref, function () {
|
|
177
|
+
return {
|
|
178
|
+
reset: clearFiles,
|
|
179
|
+
getFiles: function getFiles() {
|
|
180
|
+
return selectedFiles;
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}, [clearFiles, selectedFiles]);
|
|
184
|
+
return jsxRuntime.jsxs(reactSpectrum.View, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, name && {
|
|
185
|
+
'data-name': name
|
|
186
|
+
}), {}, {
|
|
187
|
+
maxWidth: 'size-6000',
|
|
188
|
+
children: [jsxRuntime.jsx(reactSpectrum.View, {
|
|
189
|
+
marginBottom: 'size-100',
|
|
190
|
+
children: jsxRuntime.jsxs(reactSpectrum.Text, {
|
|
191
|
+
children: [label, selectedFiles.length > 0 && " (".concat(selectedFiles.length, ")"), isRequired && jsxRuntime.jsx(reactSpectrum.Text, {
|
|
192
|
+
children: " *"
|
|
193
|
+
}), contextualHelp]
|
|
194
|
+
})
|
|
195
|
+
}), selectedFiles.length === 0 && jsxRuntime.jsx(reactSpectrum.View, {
|
|
196
|
+
marginBottom: 'size-100',
|
|
197
|
+
children: jsxRuntime.jsx(reactSpectrum.FileTrigger, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, acceptedFileTypes && acceptedFileTypes.length > 0 && {
|
|
198
|
+
acceptedFileTypes: acceptedFileTypes
|
|
199
|
+
}), {}, {
|
|
200
|
+
allowsMultiple: allowsMultiple,
|
|
201
|
+
acceptDirectory: false,
|
|
202
|
+
onSelect: handleFileSelect,
|
|
203
|
+
children: jsxRuntime.jsx(reactSpectrum.Button, {
|
|
204
|
+
variant: "primary",
|
|
205
|
+
isDisabled: isDisabled || isLoading,
|
|
206
|
+
children: isLoading ? 'Processing...' : buttonText
|
|
207
|
+
})
|
|
208
|
+
}))
|
|
209
|
+
}), selectedFiles.length > 0 && jsxRuntime.jsxs(reactSpectrum.View, {
|
|
210
|
+
marginBottom: 'size-100',
|
|
211
|
+
children: [jsxRuntime.jsx(reactSpectrum.View, {
|
|
212
|
+
borderWidth: 'thin',
|
|
213
|
+
borderColor: 'gray-400',
|
|
214
|
+
borderRadius: 'medium',
|
|
215
|
+
padding: 'size-100',
|
|
216
|
+
backgroundColor: 'gray-50',
|
|
217
|
+
children: selectedFiles.map(function (file, index) {
|
|
218
|
+
return jsxRuntime.jsx(reactSpectrum.View, {
|
|
219
|
+
marginBottom: index < selectedFiles.length - 1 ? 'size-50' : 'size-0',
|
|
220
|
+
children: jsxRuntime.jsx(reactSpectrum.View, {
|
|
221
|
+
children: jsxRuntime.jsxs(reactSpectrum.Text, {
|
|
222
|
+
marginBottom: 'size-50',
|
|
223
|
+
children: [jsxRuntime.jsx("strong", {
|
|
224
|
+
children: file.name
|
|
225
|
+
}), ": ", file.size / 1024, " KB | ", file.type || 'Unknown']
|
|
226
|
+
})
|
|
227
|
+
})
|
|
228
|
+
}, "".concat(file.name, "-").concat(index));
|
|
229
|
+
})
|
|
230
|
+
}), jsxRuntime.jsx(reactSpectrum.View, {
|
|
231
|
+
marginTop: 'size-100',
|
|
232
|
+
children: jsxRuntime.jsx(reactSpectrum.Link, {
|
|
233
|
+
onPress: clearFiles,
|
|
234
|
+
children: "Clear Files"
|
|
235
|
+
})
|
|
236
|
+
})]
|
|
237
|
+
}), error && jsxRuntime.jsx(reactSpectrum.View, {
|
|
238
|
+
marginTop: 'size-100',
|
|
239
|
+
children: jsxRuntime.jsx(reactSpectrum.InlineAlert, {
|
|
240
|
+
variant: 'negative',
|
|
241
|
+
children: jsxRuntime.jsx(reactSpectrum.Text, {
|
|
242
|
+
children: error
|
|
243
|
+
})
|
|
244
|
+
})
|
|
245
|
+
})]
|
|
246
|
+
}));
|
|
247
|
+
});
|
|
248
|
+
FileUpload.displayName = 'FileUpload';
|
|
249
|
+
|
|
250
|
+
exports.default = FileUpload;
|
|
251
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/FileUpload/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useState, useCallback, forwardRef, useImperativeHandle } from 'react';\nimport { FileTrigger, Button, View, Text, InlineAlert, Link } from '@adobe/react-spectrum';\nimport { FileUploadProps, FileInfo, FileUploadHandle } from './types';\n\nconst FileUpload = forwardRef<FileUploadHandle, FileUploadProps>(\n (\n {\n name,\n label,\n isRequired = false,\n isDisabled = false,\n acceptedFileTypes,\n allowsMultiple = false,\n contextualHelp,\n onSelect,\n },\n ref\n ) => {\n const [selectedFiles, setSelectedFiles] = useState<FileInfo[]>([]);\n const [error, setError] = useState<string>('');\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n // Dynamic button text based on allowsMultiple\n const buttonText = allowsMultiple ? 'Select Files' : 'Select File';\n\n /**\n * Reads file content as text or base64 depending on file type\n */\n const readFileContent = useCallback(\n (file: File): Promise<{ content: string; isBase64: boolean }> => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = (): void => {\n const result = reader.result as string;\n\n // Check if file is likely binary by checking MIME type\n const isBinary =\n file.type &&\n (file.type.startsWith('image/') ||\n file.type.startsWith('video/') ||\n file.type.startsWith('audio/') ||\n file.type === 'application/pdf' ||\n file.type === 'application/zip' ||\n file.type.includes('binary'));\n\n if (isBinary && result.startsWith('data:')) {\n // Remove data URL prefix for base64 content\n const base64Content = result.split(',')[1] || result;\n resolve({ content: base64Content, isBase64: true });\n } else {\n resolve({ content: result, isBase64: false });\n }\n };\n\n reader.onerror = (): void => {\n reject(new Error(`Failed to read file: ${file.name}`));\n };\n\n // Read as base64 for binary files, as text for text files\n const isBinary =\n file.type &&\n (file.type.startsWith('image/') ||\n file.type.startsWith('video/') ||\n file.type.startsWith('audio/') ||\n file.type === 'application/pdf' ||\n file.type === 'application/zip' ||\n file.type.includes('binary'));\n\n if (isBinary) {\n reader.readAsDataURL(file);\n } else {\n reader.readAsText(file);\n }\n });\n },\n []\n );\n\n /**\n * Processes selected files and reads their content\n */\n const processFiles = useCallback(\n async (fileList: FileList | null): Promise<void> => {\n if (!fileList || fileList.length === 0) {\n return;\n }\n\n setIsLoading(true);\n setError('');\n\n try {\n const files = Array.from(fileList);\n const processedFiles: FileInfo[] = [];\n\n for (const file of files) {\n try {\n const { content, isBase64 } = await readFileContent(file);\n\n const fileInfo: FileInfo = {\n name: file.name,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified,\n content,\n isBase64,\n };\n\n processedFiles.push(fileInfo);\n } catch (fileError) {\n // Log error for debugging (will be suppressed in test environment by setupTests.ts)\n console.error(`Error processing file ${file.name}:`, fileError);\n const errorMsg = `Failed to process file: ${file.name}`;\n setError(errorMsg);\n return;\n }\n }\n\n setSelectedFiles(processedFiles);\n\n // Call callback\n onSelect?.(processedFiles);\n } catch (error) {\n /* istanbul ignore next */\n const errorMsg = 'An error occurred while processing files.';\n /* istanbul ignore next */\n setError(errorMsg);\n /* istanbul ignore next */\n // Log error for debugging (will be suppressed in test environment by setupTests.ts)\n /* istanbul ignore next */\n console.error('File processing error:', error);\n } finally {\n setIsLoading(false);\n }\n },\n [onSelect, readFileContent]\n );\n\n /**\n * Handles file selection from FileTrigger\n */\n const handleFileSelect = useCallback(\n (fileList: FileList | null) => {\n processFiles(fileList);\n },\n [processFiles]\n );\n\n /**\n * Clears selected files and errors\n */\n const clearFiles = useCallback(() => {\n const emptyFiles: FileInfo[] = [];\n setSelectedFiles(emptyFiles);\n setError('');\n\n // Call callback\n onSelect?.(emptyFiles);\n }, [onSelect]);\n\n // Expose reset and getFiles methods via ref\n useImperativeHandle(\n ref,\n (): FileUploadHandle => ({\n reset: clearFiles,\n getFiles: (): FileInfo[] => selectedFiles,\n }),\n [clearFiles, selectedFiles]\n );\n\n return (\n <View {...(name && { 'data-name': name })} maxWidth={'size-6000'}>\n {/* Label - Always visible */}\n <View marginBottom={'size-100'}>\n <Text>\n {label}\n {selectedFiles.length > 0 && ` (${selectedFiles.length})`}\n {isRequired && <Text> *</Text>}\n {contextualHelp}\n </Text>\n </View>\n\n {/* File Trigger - Only show when no files are selected */}\n {selectedFiles.length === 0 && (\n <View marginBottom={'size-100'}>\n <FileTrigger\n {...(acceptedFileTypes && acceptedFileTypes.length > 0 && { acceptedFileTypes })}\n allowsMultiple={allowsMultiple}\n acceptDirectory={false}\n onSelect={handleFileSelect}\n >\n <Button variant=\"primary\" isDisabled={isDisabled || isLoading}>\n {isLoading ? 'Processing...' : buttonText}\n </Button>\n </FileTrigger>\n </View>\n )}\n\n {/* Selected Files Display */}\n {selectedFiles.length > 0 && (\n <View marginBottom={'size-100'}>\n <View\n borderWidth={'thin'}\n borderColor={'gray-400'}\n borderRadius={'medium'}\n padding={'size-100'}\n backgroundColor={'gray-50'}\n >\n {selectedFiles.map((file, index) => (\n <View\n key={`${file.name}-${index}`}\n marginBottom={index < selectedFiles.length - 1 ? 'size-50' : 'size-0'}\n >\n <View>\n <Text marginBottom={'size-50'}>\n <strong>{file.name}</strong>: {file.size / 1024} KB | {file.type || 'Unknown'}\n </Text>\n </View>\n </View>\n ))}\n </View>\n\n <View marginTop={'size-100'}>\n <Link onPress={clearFiles}>Clear Files</Link>\n </View>\n </View>\n )}\n\n {/* Error Message - Display at bottom */}\n {error && (\n <View marginTop={'size-100'}>\n <InlineAlert variant={'negative'}>\n <Text>{error}</Text>\n </InlineAlert>\n </View>\n )}\n </View>\n );\n }\n);\n\nFileUpload.displayName = 'FileUpload';\n\nexport default FileUpload;\n"],"names":["FileUpload","forwardRef","_ref","ref","name","label","_ref$isRequired","isRequired","_ref$isDisabled","isDisabled","acceptedFileTypes","_ref$allowsMultiple","allowsMultiple","contextualHelp","onSelect","_useState","useState","_useState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState3","_useState4","error","setError","_useState5","_useState6","isLoading","setIsLoading","buttonText","readFileContent","useCallback","file","Promise","resolve","reject","reader","FileReader","onload","result","isBinary","type","startsWith","includes","base64Content","split","content","isBase64","onerror","Error","concat","readAsDataURL","readAsText","processFiles","_ref2","_asyncToGenerator","_regenerator","m","_callee","fileList","files","processedFiles","_i","_files","_yield$readFileConten","fileInfo","errorMsg","_errorMsg","_t","_t2","w","_context","p","n","length","a","Array","from","v","size","lastModified","push","console","f","_x","apply","arguments","handleFileSelect","clearFiles","emptyFiles","useImperativeHandle","reset","getFiles","_jsxs","View","_objectSpread","maxWidth","children","_jsx","marginBottom","Text","FileTrigger","acceptDirectory","Button","variant","borderWidth","borderColor","borderRadius","padding","backgroundColor","map","index","marginTop","Link","onPress","InlineAlert","displayName"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ var TwoColumnLeft = function TwoColumnLeft(_ref) {
|
|
|
27
27
|
areas: ['sidebar content'],
|
|
28
28
|
columns: ['256px', '3fr'],
|
|
29
29
|
rows: ['auto'],
|
|
30
|
-
|
|
30
|
+
minHeight: "100vh",
|
|
31
31
|
gap: "size-100",
|
|
32
32
|
children: [jsxRuntime.jsx(reactSpectrum.View, {
|
|
33
33
|
gridArea: "sidebar",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/MainContainer/TwoColumnLeft/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { Grid, View } from '@adobe/react-spectrum';\nimport { type TwoColumnLeftProps } from './types';\nimport NavigationBuilder from '../NavigationBuilder';\nimport ContentBuilder from '../ContentBuilder';\nimport TitleBuilder from '../TitleBuilder';\nimport { NavigationOptions } from '../NavigationBuilder/types';\n\nconst TwoColumnLeft: React.FC<TwoColumnLeftProps> = ({\n title,\n navigation = NavigationOptions.NavigationLinks,\n buttons,\n routes,\n padding = 'size-200',\n navigationMarginTop = 'size-0',\n navigationMarginBottom = 'size-0',\n titleLevel = 1,\n}) => {\n return (\n <Grid\n areas={['sidebar content']}\n columns={['256px', '3fr']}\n rows={['auto']}\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/MainContainer/TwoColumnLeft/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { Grid, View } from '@adobe/react-spectrum';\nimport { type TwoColumnLeftProps } from './types';\nimport NavigationBuilder from '../NavigationBuilder';\nimport ContentBuilder from '../ContentBuilder';\nimport TitleBuilder from '../TitleBuilder';\nimport { NavigationOptions } from '../NavigationBuilder/types';\n\nconst TwoColumnLeft: React.FC<TwoColumnLeftProps> = ({\n title,\n navigation = NavigationOptions.NavigationLinks,\n buttons,\n routes,\n padding = 'size-200',\n navigationMarginTop = 'size-0',\n navigationMarginBottom = 'size-0',\n titleLevel = 1,\n}) => {\n return (\n <Grid\n areas={['sidebar content']}\n columns={['256px', '3fr']}\n rows={['auto']}\n minHeight=\"100vh\"\n gap=\"size-100\"\n >\n <View gridArea=\"sidebar\" backgroundColor=\"static-white\" padding={padding}>\n <NavigationBuilder\n type={navigation}\n buttons={buttons}\n navigationMarginTop={navigationMarginTop}\n navigationMarginBottom={navigationMarginBottom}\n />\n </View>\n <View gridArea=\"content\" padding={padding}>\n <TitleBuilder title={title} level={titleLevel} />\n <ContentBuilder routes={routes} />\n </View>\n </Grid>\n );\n};\n\nexport default TwoColumnLeft;\n"],"names":["TwoColumnLeft","_ref","title","_ref$navigation","navigation","NavigationOptions","NavigationLinks","buttons","routes","_ref$padding","padding","_ref$navigationMargin","navigationMarginTop","_ref$navigationMargin2","navigationMarginBottom","_ref$titleLevel","titleLevel","_jsxs","Grid","areas","columns","rows","minHeight","gap","children","_jsx","View","gridArea","backgroundColor","NavigationBuilder","type","TitleBuilder","level","ContentBuilder"],"mappings":";;;;;;;;;;;AAWA,IAAMA,aAAa,GAAiC,SAA9CA,aAAaA,CAAAC,IAAA,EASd;AAAA,EAAA,IARHC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,eAAA,GAAAF,IAAA,CACLG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAGE,uBAAiB,CAACC,eAAe,GAAAH,eAAA;IAC9CI,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAAC,YAAA,GAAAR,IAAA,CACNS,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,YAAA;IAAAE,qBAAA,GAAAV,IAAA,CACpBW,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,qBAAA;IAAAE,sBAAA,GAAAZ,IAAA,CAC9Ba,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAD,sBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,sBAAA;IAAAE,eAAA,GAAAd,IAAA,CACjCe,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,eAAA;EAEd,OACEE,gBAACC,kBAAI,EAAA;IACHC,KAAK,EAAE,CAAC,iBAAiB,CAAC;AAC1BC,IAAAA,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACzBC,IAAI,EAAE,CAAC,MAAM,CAAC;AACdC,IAAAA,SAAS,EAAC,OAAO;AACjBC,IAAAA,GAAG,EAAC,UAAU;AAAAC,IAAAA,QAAA,EAAA,CAEdC,cAAA,CAACC,kBAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACC,MAAAA,eAAe,EAAC,cAAc;AAAClB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EACtEC,cAAA,CAACI,aAAiB,EAAA;AAChBC,QAAAA,IAAI,EAAE1B,UAAU;AAChBG,QAAAA,OAAO,EAAEA,OAAO;AAChBK,QAAAA,mBAAmB,EAAEA,mBAAmB;AACxCE,QAAAA,sBAAsB,EAAEA;OAAsB;MAE3C,EACPG,eAAA,CAACS,kBAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACjB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EAAA,CACvCC,eAACM,eAAY,EAAA;AAAC7B,QAAAA,KAAK,EAAEA,KAAK;AAAE8B,QAAAA,KAAK,EAAEhB;QAAc,EACjDS,cAAA,CAACQ,eAAc,EAAA;AAACzB,QAAAA,MAAM,EAAEA;AAAM,OAAA,CAAI;AAAA,KAAA,CAC7B;AAAA,GAAA,CACF;AAEX;;;;"}
|
|
@@ -11,6 +11,12 @@ var types = require('../DataForm/FormBuilder/types.js');
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* ShippingCarrierForm - Component using DataForm
|
|
14
|
+
*
|
|
15
|
+
* @deprecated This component is deprecated due to its overly abstract approach to form creation.
|
|
16
|
+
* Please use the more flexible `DataForm` component directly instead, which provides better control
|
|
17
|
+
* and customization for your specific use cases.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link DataForm} for the recommended alternative
|
|
14
20
|
*/
|
|
15
21
|
var ShippingCarrierForm = function ShippingCarrierForm(_ref) {
|
|
16
22
|
var _ref$countryOptions = _ref.countryOptions,
|