@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { View, IllustratedMessage, Heading, Content, TableView, TableHeader, Column, TableBody, Row, Cell } from '@adobe/react-spectrum';
|
|
3
|
+
import { View, IllustratedMessage, Heading, Content, TableView, TableHeader, Column, TableBody, Row, Cell, Flex } from '@adobe/react-spectrum';
|
|
4
4
|
import { GridAction } from '../types.js';
|
|
5
5
|
import LinksRenderer from './LinksRenderer/index.js';
|
|
6
6
|
import ButtonsRenderer from './ButtonsRenderer/index.js';
|
|
@@ -27,7 +27,8 @@ var GridBuilder = function GridBuilder(_ref) {
|
|
|
27
27
|
}, _callee);
|
|
28
28
|
})) : _ref$onGridActionPres,
|
|
29
29
|
_ref$onSelectionChang = _ref.onSelectionChange,
|
|
30
|
-
onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang
|
|
30
|
+
onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang,
|
|
31
|
+
maxHeight = _ref.maxHeight;
|
|
31
32
|
var selectionMode = isMassActionsEnabled ? 'multiple' : 'none';
|
|
32
33
|
// Handle empty columns gracefully
|
|
33
34
|
if (columns.length === 0) {
|
|
@@ -43,66 +44,79 @@ var GridBuilder = function GridBuilder(_ref) {
|
|
|
43
44
|
})
|
|
44
45
|
});
|
|
45
46
|
}
|
|
47
|
+
var tableView = jsxs(TableView, _objectSpread2(_objectSpread2({
|
|
48
|
+
selectionMode: selectionMode,
|
|
49
|
+
onSelectionChange: onSelectionChange,
|
|
50
|
+
minHeight: 'size-6000'
|
|
51
|
+
}, maxHeight && {
|
|
52
|
+
flex: true
|
|
53
|
+
}), {}, {
|
|
54
|
+
renderEmptyState: function renderEmptyState() {
|
|
55
|
+
return jsxs(IllustratedMessage, {
|
|
56
|
+
children: [jsx(Heading, {
|
|
57
|
+
children: "No results"
|
|
58
|
+
}), jsx(Content, {
|
|
59
|
+
children: "No results found"
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
children: [jsx(TableHeader, {
|
|
64
|
+
columns: columns,
|
|
65
|
+
children: function children(column) {
|
|
66
|
+
return jsx(Column, {
|
|
67
|
+
align: column.uid === 'actions' ? 'end' : 'start',
|
|
68
|
+
children: column.name
|
|
69
|
+
}, column.uid);
|
|
70
|
+
}
|
|
71
|
+
}), jsx(TableBody, {
|
|
72
|
+
items: data,
|
|
73
|
+
children: function children(item) {
|
|
74
|
+
return jsx(Row, {
|
|
75
|
+
children: function children(columnKey) {
|
|
76
|
+
return columnKey === 'actions' ? jsx(Cell, {
|
|
77
|
+
children: function () {
|
|
78
|
+
switch (gridAction) {
|
|
79
|
+
case GridAction.LINKS:
|
|
80
|
+
return jsx(LinksRenderer, {
|
|
81
|
+
item: item,
|
|
82
|
+
gridActions: gridActions,
|
|
83
|
+
onGridActionPress: onGridActionPress
|
|
84
|
+
});
|
|
85
|
+
case GridAction.BUTTONS:
|
|
86
|
+
return jsx(ButtonsRenderer, {
|
|
87
|
+
item: item,
|
|
88
|
+
gridActions: gridActions,
|
|
89
|
+
onGridActionPress: onGridActionPress
|
|
90
|
+
});
|
|
91
|
+
default:
|
|
92
|
+
return jsx(ActionMenuRenderer, {
|
|
93
|
+
item: item,
|
|
94
|
+
gridActions: gridActions,
|
|
95
|
+
onGridActionPress: onGridActionPress
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}()
|
|
99
|
+
}) : jsx(Cell, {
|
|
100
|
+
children: item[columnKey]
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
})]
|
|
106
|
+
}));
|
|
107
|
+
if (maxHeight) {
|
|
108
|
+
return jsx(Flex, {
|
|
109
|
+
height: maxHeight,
|
|
110
|
+
width: '100%',
|
|
111
|
+
direction: "column",
|
|
112
|
+
marginTop: 'size-200',
|
|
113
|
+
children: tableView
|
|
114
|
+
});
|
|
115
|
+
}
|
|
46
116
|
return jsx(View, {
|
|
47
117
|
width: '100%',
|
|
48
118
|
marginTop: 'size-200',
|
|
49
|
-
children:
|
|
50
|
-
selectionMode: selectionMode,
|
|
51
|
-
onSelectionChange: onSelectionChange,
|
|
52
|
-
minHeight: 'size-6000',
|
|
53
|
-
renderEmptyState: function renderEmptyState() {
|
|
54
|
-
return jsxs(IllustratedMessage, {
|
|
55
|
-
children: [jsx(Heading, {
|
|
56
|
-
children: "No results"
|
|
57
|
-
}), jsx(Content, {
|
|
58
|
-
children: "No results found"
|
|
59
|
-
})]
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
children: [jsx(TableHeader, {
|
|
63
|
-
columns: columns,
|
|
64
|
-
children: function children(column) {
|
|
65
|
-
return jsx(Column, {
|
|
66
|
-
align: column.uid === 'actions' ? 'end' : 'start',
|
|
67
|
-
children: column.name
|
|
68
|
-
}, column.uid);
|
|
69
|
-
}
|
|
70
|
-
}), jsx(TableBody, {
|
|
71
|
-
items: data,
|
|
72
|
-
children: function children(item) {
|
|
73
|
-
return jsx(Row, {
|
|
74
|
-
children: function children(columnKey) {
|
|
75
|
-
return columnKey === 'actions' ? jsx(Cell, {
|
|
76
|
-
children: function () {
|
|
77
|
-
switch (gridAction) {
|
|
78
|
-
case GridAction.LINKS:
|
|
79
|
-
return jsx(LinksRenderer, {
|
|
80
|
-
item: item,
|
|
81
|
-
gridActions: gridActions,
|
|
82
|
-
onGridActionPress: onGridActionPress
|
|
83
|
-
});
|
|
84
|
-
case GridAction.BUTTONS:
|
|
85
|
-
return jsx(ButtonsRenderer, {
|
|
86
|
-
item: item,
|
|
87
|
-
gridActions: gridActions,
|
|
88
|
-
onGridActionPress: onGridActionPress
|
|
89
|
-
});
|
|
90
|
-
default:
|
|
91
|
-
return jsx(ActionMenuRenderer, {
|
|
92
|
-
item: item,
|
|
93
|
-
gridActions: gridActions,
|
|
94
|
-
onGridActionPress: onGridActionPress
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}()
|
|
98
|
-
}) : jsx(Cell, {
|
|
99
|
-
children: item[columnKey]
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
})]
|
|
105
|
-
})
|
|
119
|
+
children: tableView
|
|
106
120
|
});
|
|
107
121
|
};
|
|
108
122
|
|
|
@@ -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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator,
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import { Flex, ProgressCircle, View } from '@adobe/react-spectrum';
|
|
@@ -32,7 +32,8 @@ var DataTable = function DataTable(_ref) {
|
|
|
32
32
|
return Promise.resolve();
|
|
33
33
|
} : _ref$onGridLoad,
|
|
34
34
|
_ref$isProcessing = _ref.isProcessing,
|
|
35
|
-
isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing
|
|
35
|
+
isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
|
|
36
|
+
maxHeight = _ref.maxHeight;
|
|
36
37
|
var _useState = useState(true),
|
|
37
38
|
_useState2 = _slicedToArray(_useState, 2),
|
|
38
39
|
isLoading = _useState2[0],
|
|
@@ -113,12 +114,15 @@ var DataTable = function DataTable(_ref) {
|
|
|
113
114
|
})
|
|
114
115
|
}), jsx(View, {
|
|
115
116
|
gridArea: "content",
|
|
116
|
-
children: jsx(GridBuilder, {
|
|
117
|
+
children: jsx(GridBuilder, _objectSpread2(_objectSpread2({
|
|
117
118
|
columns: columns,
|
|
118
119
|
data: data,
|
|
119
120
|
isMassActionsEnabled: massActions.length > 0,
|
|
120
121
|
gridAction: gridAction,
|
|
121
|
-
gridActions: gridActions
|
|
122
|
+
gridActions: gridActions
|
|
123
|
+
}, maxHeight && {
|
|
124
|
+
maxHeight: maxHeight
|
|
125
|
+
}), {}, {
|
|
122
126
|
onGridActionPress: function () {
|
|
123
127
|
var _onGridActionPress2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(key, item) {
|
|
124
128
|
return _regenerator().w(function (_context3) {
|
|
@@ -147,7 +151,7 @@ var DataTable = function DataTable(_ref) {
|
|
|
147
151
|
}
|
|
148
152
|
setIds(selectedIds);
|
|
149
153
|
}
|
|
150
|
-
})
|
|
154
|
+
}))
|
|
151
155
|
})]
|
|
152
156
|
})
|
|
153
157
|
});
|
|
@@ -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;IAyCSA;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,UAAU,KAAVA,UAAU,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, objectSpread2 as _objectSpread2, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useState, useCallback, useImperativeHandle } from 'react';
|
|
4
|
+
import { View, Text, FileTrigger, Button, Link, InlineAlert } from '@adobe/react-spectrum';
|
|
5
|
+
|
|
6
|
+
var FileUpload = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
7
|
+
var name = _ref.name,
|
|
8
|
+
label = _ref.label,
|
|
9
|
+
_ref$isRequired = _ref.isRequired,
|
|
10
|
+
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
11
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
12
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
13
|
+
acceptedFileTypes = _ref.acceptedFileTypes,
|
|
14
|
+
_ref$allowsMultiple = _ref.allowsMultiple,
|
|
15
|
+
allowsMultiple = _ref$allowsMultiple === void 0 ? false : _ref$allowsMultiple,
|
|
16
|
+
contextualHelp = _ref.contextualHelp,
|
|
17
|
+
onSelect = _ref.onSelect;
|
|
18
|
+
var _useState = useState([]),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
selectedFiles = _useState2[0],
|
|
21
|
+
setSelectedFiles = _useState2[1];
|
|
22
|
+
var _useState3 = useState(''),
|
|
23
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
24
|
+
error = _useState4[0],
|
|
25
|
+
setError = _useState4[1];
|
|
26
|
+
var _useState5 = useState(false),
|
|
27
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
28
|
+
isLoading = _useState6[0],
|
|
29
|
+
setIsLoading = _useState6[1];
|
|
30
|
+
// Dynamic button text based on allowsMultiple
|
|
31
|
+
var buttonText = allowsMultiple ? 'Select Files' : 'Select File';
|
|
32
|
+
/**
|
|
33
|
+
* Reads file content as text or base64 depending on file type
|
|
34
|
+
*/
|
|
35
|
+
var readFileContent = useCallback(function (file) {
|
|
36
|
+
return new Promise(function (resolve, reject) {
|
|
37
|
+
var reader = new FileReader();
|
|
38
|
+
reader.onload = function () {
|
|
39
|
+
var result = reader.result;
|
|
40
|
+
// Check if file is likely binary by checking MIME type
|
|
41
|
+
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'));
|
|
42
|
+
if (isBinary && result.startsWith('data:')) {
|
|
43
|
+
// Remove data URL prefix for base64 content
|
|
44
|
+
var base64Content = result.split(',')[1] || result;
|
|
45
|
+
resolve({
|
|
46
|
+
content: base64Content,
|
|
47
|
+
isBase64: true
|
|
48
|
+
});
|
|
49
|
+
} else {
|
|
50
|
+
resolve({
|
|
51
|
+
content: result,
|
|
52
|
+
isBase64: false
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
reader.onerror = function () {
|
|
57
|
+
reject(new Error("Failed to read file: ".concat(file.name)));
|
|
58
|
+
};
|
|
59
|
+
// Read as base64 for binary files, as text for text files
|
|
60
|
+
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'));
|
|
61
|
+
if (isBinary) {
|
|
62
|
+
reader.readAsDataURL(file);
|
|
63
|
+
} else {
|
|
64
|
+
reader.readAsText(file);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}, []);
|
|
68
|
+
/**
|
|
69
|
+
* Processes selected files and reads their content
|
|
70
|
+
*/
|
|
71
|
+
var processFiles = useCallback(/*#__PURE__*/function () {
|
|
72
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fileList) {
|
|
73
|
+
var files, processedFiles, _i, _files, file, _yield$readFileConten, content, isBase64, fileInfo, errorMsg, _errorMsg, _t, _t2;
|
|
74
|
+
return _regenerator().w(function (_context) {
|
|
75
|
+
while (1) switch (_context.p = _context.n) {
|
|
76
|
+
case 0:
|
|
77
|
+
if (!(!fileList || fileList.length === 0)) {
|
|
78
|
+
_context.n = 1;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
return _context.a(2);
|
|
82
|
+
case 1:
|
|
83
|
+
setIsLoading(true);
|
|
84
|
+
setError('');
|
|
85
|
+
_context.p = 2;
|
|
86
|
+
files = Array.from(fileList);
|
|
87
|
+
processedFiles = [];
|
|
88
|
+
_i = 0, _files = files;
|
|
89
|
+
case 3:
|
|
90
|
+
if (!(_i < _files.length)) {
|
|
91
|
+
_context.n = 8;
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
file = _files[_i];
|
|
95
|
+
_context.p = 4;
|
|
96
|
+
_context.n = 5;
|
|
97
|
+
return readFileContent(file);
|
|
98
|
+
case 5:
|
|
99
|
+
_yield$readFileConten = _context.v;
|
|
100
|
+
content = _yield$readFileConten.content;
|
|
101
|
+
isBase64 = _yield$readFileConten.isBase64;
|
|
102
|
+
fileInfo = {
|
|
103
|
+
name: file.name,
|
|
104
|
+
size: file.size,
|
|
105
|
+
type: file.type,
|
|
106
|
+
lastModified: file.lastModified,
|
|
107
|
+
content: content,
|
|
108
|
+
isBase64: isBase64
|
|
109
|
+
};
|
|
110
|
+
processedFiles.push(fileInfo);
|
|
111
|
+
_context.n = 7;
|
|
112
|
+
break;
|
|
113
|
+
case 6:
|
|
114
|
+
_context.p = 6;
|
|
115
|
+
_t = _context.v;
|
|
116
|
+
// Log error for debugging (will be suppressed in test environment by setupTests.ts)
|
|
117
|
+
console.error("Error processing file ".concat(file.name, ":"), _t);
|
|
118
|
+
errorMsg = "Failed to process file: ".concat(file.name);
|
|
119
|
+
setError(errorMsg);
|
|
120
|
+
return _context.a(2);
|
|
121
|
+
case 7:
|
|
122
|
+
_i++;
|
|
123
|
+
_context.n = 3;
|
|
124
|
+
break;
|
|
125
|
+
case 8:
|
|
126
|
+
setSelectedFiles(processedFiles);
|
|
127
|
+
// Call callback
|
|
128
|
+
onSelect === null || onSelect === void 0 || onSelect(processedFiles);
|
|
129
|
+
_context.n = 10;
|
|
130
|
+
break;
|
|
131
|
+
case 9:
|
|
132
|
+
_context.p = 9;
|
|
133
|
+
_t2 = _context.v;
|
|
134
|
+
/* istanbul ignore next */
|
|
135
|
+
_errorMsg = 'An error occurred while processing files.';
|
|
136
|
+
/* istanbul ignore next */
|
|
137
|
+
setError(_errorMsg);
|
|
138
|
+
/* istanbul ignore next */
|
|
139
|
+
// Log error for debugging (will be suppressed in test environment by setupTests.ts)
|
|
140
|
+
/* istanbul ignore next */
|
|
141
|
+
console.error('File processing error:', _t2);
|
|
142
|
+
case 10:
|
|
143
|
+
_context.p = 10;
|
|
144
|
+
setIsLoading(false);
|
|
145
|
+
return _context.f(10);
|
|
146
|
+
case 11:
|
|
147
|
+
return _context.a(2);
|
|
148
|
+
}
|
|
149
|
+
}, _callee, null, [[4, 6], [2, 9, 10, 11]]);
|
|
150
|
+
}));
|
|
151
|
+
return function (_x) {
|
|
152
|
+
return _ref2.apply(this, arguments);
|
|
153
|
+
};
|
|
154
|
+
}(), [onSelect, readFileContent]);
|
|
155
|
+
/**
|
|
156
|
+
* Handles file selection from FileTrigger
|
|
157
|
+
*/
|
|
158
|
+
var handleFileSelect = useCallback(function (fileList) {
|
|
159
|
+
processFiles(fileList);
|
|
160
|
+
}, [processFiles]);
|
|
161
|
+
/**
|
|
162
|
+
* Clears selected files and errors
|
|
163
|
+
*/
|
|
164
|
+
var clearFiles = useCallback(function () {
|
|
165
|
+
var emptyFiles = [];
|
|
166
|
+
setSelectedFiles(emptyFiles);
|
|
167
|
+
setError('');
|
|
168
|
+
// Call callback
|
|
169
|
+
onSelect === null || onSelect === void 0 || onSelect(emptyFiles);
|
|
170
|
+
}, [onSelect]);
|
|
171
|
+
// Expose reset and getFiles methods via ref
|
|
172
|
+
useImperativeHandle(ref, function () {
|
|
173
|
+
return {
|
|
174
|
+
reset: clearFiles,
|
|
175
|
+
getFiles: function getFiles() {
|
|
176
|
+
return selectedFiles;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}, [clearFiles, selectedFiles]);
|
|
180
|
+
return jsxs(View, _objectSpread2(_objectSpread2({}, name && {
|
|
181
|
+
'data-name': name
|
|
182
|
+
}), {}, {
|
|
183
|
+
maxWidth: 'size-6000',
|
|
184
|
+
children: [jsx(View, {
|
|
185
|
+
marginBottom: 'size-100',
|
|
186
|
+
children: jsxs(Text, {
|
|
187
|
+
children: [label, selectedFiles.length > 0 && " (".concat(selectedFiles.length, ")"), isRequired && jsx(Text, {
|
|
188
|
+
children: " *"
|
|
189
|
+
}), contextualHelp]
|
|
190
|
+
})
|
|
191
|
+
}), selectedFiles.length === 0 && jsx(View, {
|
|
192
|
+
marginBottom: 'size-100',
|
|
193
|
+
children: jsx(FileTrigger, _objectSpread2(_objectSpread2({}, acceptedFileTypes && acceptedFileTypes.length > 0 && {
|
|
194
|
+
acceptedFileTypes: acceptedFileTypes
|
|
195
|
+
}), {}, {
|
|
196
|
+
allowsMultiple: allowsMultiple,
|
|
197
|
+
acceptDirectory: false,
|
|
198
|
+
onSelect: handleFileSelect,
|
|
199
|
+
children: jsx(Button, {
|
|
200
|
+
variant: "primary",
|
|
201
|
+
isDisabled: isDisabled || isLoading,
|
|
202
|
+
children: isLoading ? 'Processing...' : buttonText
|
|
203
|
+
})
|
|
204
|
+
}))
|
|
205
|
+
}), selectedFiles.length > 0 && jsxs(View, {
|
|
206
|
+
marginBottom: 'size-100',
|
|
207
|
+
children: [jsx(View, {
|
|
208
|
+
borderWidth: 'thin',
|
|
209
|
+
borderColor: 'gray-400',
|
|
210
|
+
borderRadius: 'medium',
|
|
211
|
+
padding: 'size-100',
|
|
212
|
+
backgroundColor: 'gray-50',
|
|
213
|
+
children: selectedFiles.map(function (file, index) {
|
|
214
|
+
return jsx(View, {
|
|
215
|
+
marginBottom: index < selectedFiles.length - 1 ? 'size-50' : 'size-0',
|
|
216
|
+
children: jsx(View, {
|
|
217
|
+
children: jsxs(Text, {
|
|
218
|
+
marginBottom: 'size-50',
|
|
219
|
+
children: [jsx("strong", {
|
|
220
|
+
children: file.name
|
|
221
|
+
}), ": ", file.size / 1024, " KB | ", file.type || 'Unknown']
|
|
222
|
+
})
|
|
223
|
+
})
|
|
224
|
+
}, "".concat(file.name, "-").concat(index));
|
|
225
|
+
})
|
|
226
|
+
}), jsx(View, {
|
|
227
|
+
marginTop: 'size-100',
|
|
228
|
+
children: jsx(Link, {
|
|
229
|
+
onPress: clearFiles,
|
|
230
|
+
children: "Clear Files"
|
|
231
|
+
})
|
|
232
|
+
})]
|
|
233
|
+
}), error && jsx(View, {
|
|
234
|
+
marginTop: 'size-100',
|
|
235
|
+
children: jsx(InlineAlert, {
|
|
236
|
+
variant: 'negative',
|
|
237
|
+
children: jsx(Text, {
|
|
238
|
+
children: error
|
|
239
|
+
})
|
|
240
|
+
})
|
|
241
|
+
})]
|
|
242
|
+
}));
|
|
243
|
+
});
|
|
244
|
+
FileUpload.displayName = 'FileUpload';
|
|
245
|
+
|
|
246
|
+
export { FileUpload as default };
|
|
247
|
+
//# 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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"}
|
|
@@ -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,iBAAiB,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,KAACC,IAAI,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,GAAA,CAACC,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACC,MAAAA,eAAe,EAAC,cAAc;AAAClB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EACtEC,GAAA,CAACI,iBAAiB,EAAA;AAChBC,QAAAA,IAAI,EAAE1B,UAAU;AAChBG,QAAAA,OAAO,EAAEA,OAAO;AAChBK,QAAAA,mBAAmB,EAAEA,mBAAmB;AACxCE,QAAAA,sBAAsB,EAAEA;OAAsB;MAE3C,EACPG,IAAA,CAACS,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACjB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EAAA,CACvCC,IAACM,YAAY,EAAA;AAAC7B,QAAAA,KAAK,EAAEA,KAAK;AAAE8B,QAAAA,KAAK,EAAEhB;QAAc,EACjDS,GAAA,CAACQ,cAAc,EAAA;AAACzB,QAAAA,MAAM,EAAEA;AAAM,OAAA,CAAI;AAAA,KAAA,CAC7B;AAAA,GAAA,CACF;AAEX;;;;"}
|