@aws-amplify/ui-react-storage 3.9.0 → 3.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/browser.js +3 -1
  2. package/dist/{createAmplifyAuthAdapter-BcuxpEzi.js → createAmplifyAuthAdapter-BJjOYxQA.js} +541 -394
  3. package/dist/esm/browser.mjs +6 -0
  4. package/dist/esm/components/StorageBrowser/StorageBrowserAmplify.mjs +1 -0
  5. package/dist/esm/components/StorageBrowser/StorageBrowserDefault.mjs +3 -2
  6. package/dist/esm/components/StorageBrowser/actions/configs/defaults.mjs +10 -12
  7. package/dist/esm/components/StorageBrowser/actions/handlers/constants.mjs +4 -1
  8. package/dist/esm/components/StorageBrowser/actions/handlers/copy.mjs +4 -1
  9. package/dist/esm/components/StorageBrowser/actions/handlers/createFolder.mjs +4 -3
  10. package/dist/esm/components/StorageBrowser/actions/handlers/defaults.mjs +17 -0
  11. package/dist/esm/components/StorageBrowser/actions/handlers/delete.mjs +4 -1
  12. package/dist/esm/components/StorageBrowser/actions/handlers/download.mjs +4 -1
  13. package/dist/esm/components/StorageBrowser/actions/handlers/upload.mjs +6 -11
  14. package/dist/esm/components/StorageBrowser/actions/handlers/utils.mjs +4 -3
  15. package/dist/esm/components/StorageBrowser/adapters/createManagedAuthAdapter/createManagedAuthAdapter.mjs +2 -1
  16. package/dist/esm/components/StorageBrowser/componentsDefault.mjs +4 -4
  17. package/dist/esm/components/StorageBrowser/createStorageBrowser.mjs +7 -1
  18. package/dist/esm/components/StorageBrowser/displayText/libraries/en/shared.mjs +0 -1
  19. package/dist/esm/components/StorageBrowser/displayText/libraries/en/uploadView.mjs +3 -2
  20. package/dist/esm/components/StorageBrowser/displayText/utils.mjs +7 -0
  21. package/dist/esm/components/StorageBrowser/providers/store/locationItems/context.mjs +1 -0
  22. package/dist/esm/components/StorageBrowser/tasks/useProcessTasks.mjs +20 -22
  23. package/dist/esm/components/StorageBrowser/useAction/useAction.mjs +14 -7
  24. package/dist/esm/components/StorageBrowser/useAction/useHandler.mjs +26 -32
  25. package/dist/esm/components/StorageBrowser/useAction/useList.mjs +0 -1
  26. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/CopyViewProvider.mjs +8 -10
  27. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useCopyView.mjs +1 -0
  28. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useFolders.mjs +11 -13
  29. package/dist/esm/components/StorageBrowser/views/LocationActionView/CreateFolderView/useCreateFolderView.mjs +1 -0
  30. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/DeleteViewProvider.mjs +6 -8
  31. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/useDeleteView.mjs +6 -9
  32. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/UploadViewProvider.mjs +14 -10
  33. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/useUploadView.mjs +2 -1
  34. package/dist/esm/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getLocationDetailViewTableData.mjs +1 -0
  35. package/dist/esm/components/StorageBrowser/views/LocationDetailView/useLocationDetailView.mjs +7 -11
  36. package/dist/esm/components/StorageBrowser/views/LocationsView/useLocationsView.mjs +5 -5
  37. package/dist/esm/components/StorageBrowser/views/context/actionViews.mjs +3 -2
  38. package/dist/esm/components/StorageBrowser/views/context/getViews.mjs +4 -1
  39. package/dist/esm/components/StorageBrowser/views/context/primaryViews.mjs +3 -2
  40. package/dist/esm/components/StorageBrowser/views/hooks/usePaginate.mjs +19 -21
  41. package/dist/esm/components/StorageBrowser/views/hooks/useResolveTableData/useResolveTableData.mjs +15 -0
  42. package/dist/esm/components/StorageBrowser/views/useView.mjs +6 -7
  43. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/constants.mjs +18 -0
  44. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/copyResolvers.mjs +82 -0
  45. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/deleteResolvers.mjs +82 -0
  46. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/uploadResolvers.mjs +112 -0
  47. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/utils.mjs +49 -0
  48. package/dist/esm/version.mjs +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/types/components/StorageBrowser/ComponentsProvider.d.ts +4 -1
  51. package/dist/types/components/StorageBrowser/actions/configs/types.d.ts +41 -2
  52. package/dist/types/components/StorageBrowser/actions/handlers/constants.d.ts +1 -0
  53. package/dist/types/components/StorageBrowser/actions/handlers/copy.d.ts +4 -7
  54. package/dist/types/components/StorageBrowser/actions/handlers/createFolder.d.ts +1 -3
  55. package/dist/types/components/StorageBrowser/actions/handlers/defaults.d.ts +15 -0
  56. package/dist/types/components/StorageBrowser/actions/handlers/delete.d.ts +2 -2
  57. package/dist/types/components/StorageBrowser/actions/handlers/index.d.ts +1 -0
  58. package/dist/types/components/StorageBrowser/actions/handlers/listLocations.d.ts +4 -12
  59. package/dist/types/components/StorageBrowser/actions/handlers/types.d.ts +26 -17
  60. package/dist/types/components/StorageBrowser/actions/handlers/upload.d.ts +1 -4
  61. package/dist/types/components/StorageBrowser/actions/handlers/utils.d.ts +2 -2
  62. package/dist/types/components/StorageBrowser/actions/index.d.ts +1 -1
  63. package/dist/types/components/StorageBrowser/componentsDefault.d.ts +2 -2
  64. package/dist/types/components/StorageBrowser/createStorageBrowser.d.ts +6 -0
  65. package/dist/types/components/StorageBrowser/displayText/index.d.ts +1 -0
  66. package/dist/types/components/StorageBrowser/displayText/types.d.ts +16 -5
  67. package/dist/types/components/StorageBrowser/displayText/utils.d.ts +3 -0
  68. package/dist/types/components/StorageBrowser/index.d.ts +4 -3
  69. package/dist/types/components/StorageBrowser/providers/configuration/createConfigurationProvider.d.ts +1 -1
  70. package/dist/types/components/StorageBrowser/providers/configuration/types.d.ts +3 -3
  71. package/dist/types/components/StorageBrowser/providers/index.d.ts +1 -1
  72. package/dist/types/components/StorageBrowser/providers/store/actionType/types.d.ts +4 -0
  73. package/dist/types/components/StorageBrowser/providers/store/files/types.d.ts +1 -4
  74. package/dist/types/components/StorageBrowser/providers/store/index.d.ts +1 -1
  75. package/dist/types/components/StorageBrowser/providers/store/location/context.d.ts +6 -0
  76. package/dist/types/components/StorageBrowser/storage-internal.d.ts +1 -1
  77. package/dist/types/components/StorageBrowser/tasks/index.d.ts +1 -1
  78. package/dist/types/components/StorageBrowser/tasks/types.d.ts +41 -23
  79. package/dist/types/components/StorageBrowser/tasks/useProcessTasks.d.ts +3 -3
  80. package/dist/types/components/StorageBrowser/types.d.ts +191 -15
  81. package/dist/types/components/StorageBrowser/useAction/types.d.ts +60 -32
  82. package/dist/types/components/StorageBrowser/useAction/useHandler.d.ts +4 -3
  83. package/dist/types/components/StorageBrowser/useAction/useList.d.ts +10 -7
  84. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/types.d.ts +5 -0
  85. package/dist/types/components/StorageBrowser/views/LocationActionView/UploadView/types.d.ts +2 -2
  86. package/dist/types/components/StorageBrowser/views/LocationActionView/types.d.ts +4 -4
  87. package/dist/types/components/StorageBrowser/views/LocationDetailView/index.d.ts +1 -1
  88. package/dist/types/components/StorageBrowser/views/LocationsView/index.d.ts +1 -1
  89. package/dist/types/components/StorageBrowser/views/context/getViews.d.ts +2 -2
  90. package/dist/types/components/StorageBrowser/views/context/views.d.ts +2 -2
  91. package/dist/types/components/StorageBrowser/views/hooks/usePaginate.d.ts +8 -8
  92. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/index.d.ts +2 -0
  93. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/types.d.ts +26 -0
  94. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/useResolveTableData.d.ts +6 -0
  95. package/dist/types/components/StorageBrowser/views/types.d.ts +1 -1
  96. package/dist/types/components/StorageBrowser/views/useView.d.ts +16 -13
  97. package/dist/types/components/StorageBrowser/views/utils/index.d.ts +1 -0
  98. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/__testUtils__/tasks.d.ts +23 -0
  99. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/constants.d.ts +16 -0
  100. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/copyResolvers.d.ts +3 -0
  101. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/deleteResolvers.d.ts +3 -0
  102. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/index.d.ts +3 -0
  103. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/types.d.ts +36 -0
  104. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/uploadResolvers.d.ts +3 -0
  105. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/utils.d.ts +12 -0
  106. package/dist/types/version.d.ts +1 -1
  107. package/package.json +5 -5
  108. package/dist/esm/components/StorageBrowser/views/LocationActionView/getActionIcon.mjs +0 -25
  109. package/dist/esm/components/StorageBrowser/views/LocationActionView/getActionViewTableData.mjs +0 -155
  110. package/dist/esm/components/StorageBrowser/views/LocationActionView/getDefaultActionViewHeaders.mjs +0 -24
  111. package/dist/esm/components/StorageBrowser/views/LocationActionView/getFileTypeDisplayValue.mjs +0 -5
  112. package/dist/esm/components/StorageBrowser/views/LocationActionView/getPercentValue.mjs +0 -3
  113. package/dist/types/components/StorageBrowser/displayText/en.d.ts +0 -9
  114. package/dist/types/components/StorageBrowser/views/LocationActionView/getActionIcon.d.ts +0 -3
  115. package/dist/types/components/StorageBrowser/views/LocationActionView/getActionViewTableData.d.ts +0 -14
  116. package/dist/types/components/StorageBrowser/views/LocationActionView/getDefaultActionViewHeaders.d.ts +0 -5
  117. package/dist/types/components/StorageBrowser/views/LocationActionView/getFileTypeDisplayValue.d.ts +0 -1
  118. package/dist/types/components/StorageBrowser/views/LocationActionView/getPercentValue.d.ts +0 -1
@@ -14,6 +14,7 @@ export interface ListViewState<T = any> {
14
14
  }
15
15
  export interface ListViewProps extends ActionViewProps, Partial<ListViewState> {
16
16
  }
17
+ export type StorageBrowserViews<T = string, K = {}> = Partial<PrimaryViews<T> & DefaultActionViews & K>;
17
18
  export interface PrimaryViews<T = string> {
18
19
  LocationActionView: (props: LocationActionViewProps<T>) => React.JSX.Element | null;
19
20
  LocationDetailView: (props: LocationDetailViewProps) => React.JSX.Element | null;
@@ -31,4 +32,3 @@ export interface DefaultActionViewsByActionName {
31
32
  delete: (props: DeleteViewProps) => React.JSX.Element | null;
32
33
  upload: (props: UploadViewProps) => React.JSX.Element | null;
33
34
  }
34
- export type Views<T = string, K = {}> = Partial<PrimaryViews<T> & DefaultActionViews & K>;
@@ -1,16 +1,19 @@
1
- export declare const DEFAULT_VIEW_HOOKS: {
2
- Copy: (options?: import("./LocationActionView/CopyView").UseCopyViewOptions | undefined) => import("./LocationActionView").CopyViewState;
3
- CreateFolder: (options?: import("./LocationActionView/CreateFolderView").UseCreateFolderViewOptions | undefined) => import("./LocationActionView").CreateFolderViewState;
4
- Delete: (options?: import("./LocationActionView/DeleteView").UseDeleteViewOptions | undefined) => import("./LocationActionView").DeleteViewState;
5
- LocationDetail: (options?: import("./LocationDetailView/types").UseLocationDetailViewOptions | undefined) => import("./LocationDetailView/types").LocationDetailViewState;
6
- Locations: (options?: import("./LocationsView/types").UseLocationsViewOptions | undefined) => import("./LocationsView/types").LocationsViewState;
7
- Upload: (options?: import("./LocationActionView/UploadView").UseUploadViewOptions | undefined) => import("./LocationActionView").UploadViewState;
1
+ import { UploadViewState, CreateFolderViewState, DeleteViewState, CopyViewState } from './LocationActionView';
2
+ import { LocationDetailViewState } from './LocationDetailView';
3
+ import { LocationsViewState } from './LocationsView';
4
+ interface DefaultUseViewStates {
5
+ Copy: CopyViewState;
6
+ CreateFolder: CreateFolderViewState;
7
+ Delete: DeleteViewState;
8
+ LocationDetail: LocationDetailViewState;
9
+ Locations: LocationsViewState;
10
+ Upload: UploadViewState;
11
+ }
12
+ type UseViewHooks = {
13
+ [K in keyof DefaultUseViewStates]: () => DefaultUseViewStates[K];
8
14
  };
9
- type DefaultViewHooks = typeof DEFAULT_VIEW_HOOKS;
10
- export type UseViewType = keyof DefaultViewHooks;
11
- export type ViewKey<T> = T extends Record<string, {
12
- componentName?: `${infer U}View`;
13
- }> ? U : T extends Record<infer K, any> ? K : never;
14
- export type UseView = <K extends UseViewType, S extends ReturnType<DefaultViewHooks[K]>>(type: K) => S;
15
+ export declare const USE_VIEW_HOOKS: UseViewHooks;
16
+ export type UseViewType = keyof DefaultUseViewStates;
17
+ export type UseView = <K extends UseViewType>(type: K) => DefaultUseViewStates[K];
15
18
  export declare const useView: UseView;
16
19
  export {};
@@ -0,0 +1 @@
1
+ export { COPY_TABLE_KEYS, COPY_TABLE_RESOLVERS, DELETE_TABLE_KEYS, DELETE_TABLE_RESOLVERS, UPLOAD_TABLE_KEYS, UPLOAD_TABLE_RESOLVERS, } from './tableResolvers';
@@ -0,0 +1,23 @@
1
+ import { CopyActionTask, DeleteActionTask, UploadActionTask } from '../types';
2
+ import { TaskStatus } from '../../../../tasks';
3
+ type MockCopyOrDeleteTaskStatus = Exclude<TaskStatus, 'OVERWRITE_PREVENTED'>;
4
+ type MockCopyTasks = {
5
+ [K in MockCopyOrDeleteTaskStatus]: Omit<CopyActionTask, 'status'> & {
6
+ status: K;
7
+ };
8
+ };
9
+ type MockDeleteTasks = {
10
+ [K in MockCopyOrDeleteTaskStatus]: Omit<DeleteActionTask, 'status'> & {
11
+ status: K;
12
+ };
13
+ };
14
+ type MockUploadTasks = {
15
+ [K in TaskStatus]: Omit<UploadActionTask, 'status'> & {
16
+ status: K;
17
+ };
18
+ };
19
+ export declare const MOCK_COPY_TASKS: MockCopyTasks;
20
+ export declare const MOCK_DELETE_TASKS: MockDeleteTasks;
21
+ export declare const MOCK_UPLOAD_TASKS_SINGLE_PART: MockUploadTasks;
22
+ export declare const MOCK_UPLOAD_TASKS_MULTIPART: MockUploadTasks;
23
+ export {};
@@ -0,0 +1,16 @@
1
+ export declare const STATUS_LABELS: {
2
+ readonly PENDING: "statusDisplayInProgressLabel";
3
+ readonly CANCELED: "statusDisplayCanceledLabel";
4
+ readonly COMPLETE: "statusDisplayCompletedLabel";
5
+ readonly FAILED: "statusDisplayFailedLabel";
6
+ readonly QUEUED: "statusDisplayQueuedLabel";
7
+ readonly OVERWRITE_PREVENTED: "statusDisplayOverwritePreventedLabel";
8
+ };
9
+ export declare const STATUS_ICONS: {
10
+ readonly PENDING: "action-progress";
11
+ readonly COMPLETE: "action-success";
12
+ readonly FAILED: "action-error";
13
+ readonly OVERWRITE_PREVENTED: "action-info";
14
+ readonly CANCELED: "action-canceled";
15
+ readonly QUEUED: "action-queued";
16
+ };
@@ -0,0 +1,3 @@
1
+ import { CopyTaskTableResolvers } from './types';
2
+ export declare const COPY_TABLE_KEYS: readonly ["name", "folder", "type", "size", "status", "cancel"];
3
+ export declare const COPY_TABLE_RESOLVERS: CopyTaskTableResolvers;
@@ -0,0 +1,3 @@
1
+ import { DeleteTableResolvers } from './types';
2
+ export declare const DELETE_TABLE_KEYS: readonly ["name", "folder", "type", "size", "status", "cancel"];
3
+ export declare const DELETE_TABLE_RESOLVERS: DeleteTableResolvers;
@@ -0,0 +1,3 @@
1
+ export { COPY_TABLE_KEYS, COPY_TABLE_RESOLVERS } from './copyResolvers';
2
+ export { UPLOAD_TABLE_KEYS, UPLOAD_TABLE_RESOLVERS } from './uploadResolvers';
3
+ export { DELETE_TABLE_KEYS, DELETE_TABLE_RESOLVERS } from './deleteResolvers';
@@ -0,0 +1,36 @@
1
+ import { CopyHandlerData, DeleteHandlerData, UploadHandlerData } from '../../../actions';
2
+ import { CopyViewDisplayText, DeleteViewDisplayText, UploadViewDisplayText } from '../../../displayText';
3
+ import { Task } from '../../../tasks';
4
+ import { DataTableResolvers } from '../../hooks/useResolveTableData';
5
+ export interface CopyActionTask extends Task<CopyHandlerData> {
6
+ }
7
+ export interface DeleteActionTask extends Task<DeleteHandlerData> {
8
+ }
9
+ export interface UploadActionTask extends Task<UploadHandlerData> {
10
+ }
11
+ interface ActionTableResolverProps<TDisplayText, TTask> {
12
+ displayText: TDisplayText;
13
+ isProcessing: boolean;
14
+ onTaskRemove?: (task: TTask) => void;
15
+ }
16
+ export interface CopyTableResolverProps extends ActionTableResolverProps<CopyViewDisplayText, CopyActionTask> {
17
+ }
18
+ export interface DeleteTableResolverProps extends ActionTableResolverProps<DeleteViewDisplayText, DeleteActionTask> {
19
+ }
20
+ export interface UploadTableResolverProps extends ActionTableResolverProps<UploadViewDisplayText, UploadActionTask> {
21
+ isMultipartUpload: (file: File) => boolean;
22
+ }
23
+ type ActionTableKey = 'name' | 'folder' | 'type' | 'size' | 'status' | 'progress' | 'cancel';
24
+ export type CopyTableKey = Exclude<ActionTableKey, 'progress'>;
25
+ export type DeleteTableKey = Exclude<ActionTableKey, 'progress'>;
26
+ export type UploadTableKey = ActionTableKey;
27
+ export interface CopyTaskTableResolvers extends DataTableResolvers<CopyTableKey, CopyTableResolverProps, CopyActionTask> {
28
+ }
29
+ export interface DeleteTableResolvers extends DataTableResolvers<DeleteTableKey, DeleteTableResolverProps, DeleteActionTask> {
30
+ }
31
+ export interface UploadTableResolvers extends DataTableResolvers<UploadTableKey, UploadTableResolverProps, UploadActionTask> {
32
+ }
33
+ export type GetCopyCell = CopyTaskTableResolvers['getCell'];
34
+ export type GetDeleteCell = DeleteTableResolvers['getCell'];
35
+ export type GetUploadCell = UploadTableResolvers['getCell'];
36
+ export {};
@@ -0,0 +1,3 @@
1
+ import { UploadTableResolvers } from './types';
2
+ export declare const UPLOAD_TABLE_KEYS: readonly ["name", "folder", "type", "size", "status", "progress", "cancel"];
3
+ export declare const UPLOAD_TABLE_RESOLVERS: UploadTableResolvers;
@@ -0,0 +1,12 @@
1
+ import { DataTableButtonDataCell, DataTableNumberDataCell } from '../../../composables/DataTable';
2
+ import { CopyActionTask, DeleteActionTask, GetCopyCell, GetDeleteCell, UploadActionTask } from './types';
3
+ export declare const getFileType: (value: string, fallback?: string) => string;
4
+ export declare const getCellName: (value: string) => string;
5
+ export declare const getUploadCellFolder: ({ data: { file: { webkitRelativePath }, }, }: UploadActionTask, fallback?: string) => string;
6
+ export declare const getCopyCellFolder: ({ data: { fileKey, sourceKey }, }: CopyActionTask) => string;
7
+ export declare const getDeleteCellFolder: ({ data: { fileKey, key }, }: DeleteActionTask) => string;
8
+ export declare const getUploadCellProgress: ({ progress, status, }: UploadActionTask) => DataTableNumberDataCell['content'];
9
+ export declare const getFileSize: (value: number | undefined, fallback?: string) => string;
10
+ type CellInput = Parameters<GetCopyCell>[0] | Parameters<GetDeleteCell>[0];
11
+ export declare const getCopyOrDeleteCancelCellContent: <TInput extends CellInput, TCallback extends TInput["props"]["onTaskRemove"] extends (item: infer TItem) => void ? (item: TItem) => void : never>(data: TInput) => DataTableButtonDataCell['content'];
12
+ export {};
@@ -1 +1 @@
1
- export declare const VERSION = "3.9.0";
1
+ export declare const VERSION = "3.9.2";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui-react-storage",
3
- "version": "3.9.0",
3
+ "version": "3.9.2",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {
@@ -45,9 +45,9 @@
45
45
  "typecheck": "tsc --noEmit"
46
46
  },
47
47
  "dependencies": {
48
- "@aws-amplify/ui": "6.9.1",
49
- "@aws-amplify/ui-react": "6.9.4",
50
- "@aws-amplify/ui-react-core": "3.3.4",
48
+ "@aws-amplify/ui": "6.10.0",
49
+ "@aws-amplify/ui-react": "6.10.0",
50
+ "@aws-amplify/ui-react-core": "3.4.0",
51
51
  "tslib": "^2.5.2"
52
52
  },
53
53
  "peerDependencies": {
@@ -98,4 +98,4 @@
98
98
  "limit": "22 kB"
99
99
  }
100
100
  ]
101
- }
101
+ }
@@ -1,25 +0,0 @@
1
- const getActionIcon = (status) => {
2
- switch (status) {
3
- case 'PENDING': {
4
- return 'action-progress';
5
- }
6
- case 'COMPLETE': {
7
- return 'action-success';
8
- }
9
- case 'FAILED': {
10
- return 'action-error';
11
- }
12
- case 'OVERWRITE_PREVENTED': {
13
- return 'action-info';
14
- }
15
- case 'CANCELED': {
16
- return 'action-canceled';
17
- }
18
- case 'QUEUED':
19
- default: {
20
- return 'action-queued';
21
- }
22
- }
23
- };
24
-
25
- export { getActionIcon };
@@ -1,155 +0,0 @@
1
- import { humanFileSize } from '@aws-amplify/ui';
2
- import '@aws-amplify/storage/internals';
3
- import { isFileDataItem, isFileItem } from '../../actions/handlers/utils.mjs';
4
- import 'aws-amplify/storage';
5
- import '../../actions/configs/context.mjs';
6
- import { getActionIcon } from './getActionIcon.mjs';
7
- import { getFileTypeDisplayValue } from './getFileTypeDisplayValue.mjs';
8
- import { getPercentValue } from './getPercentValue.mjs';
9
- import { getDefaultActionViewHeaders } from './getDefaultActionViewHeaders.mjs';
10
-
11
- const getTaskStatusDisplayLabel = ({ status, displayText: { statusDisplayInProgressLabel, statusDisplayCanceledLabel, statusDisplayCompletedLabel, statusDisplayFailedLabel, statusDisplayQueuedLabel, statusDisplayOverwritePreventedLabel, }, }) => {
12
- switch (status) {
13
- case 'PENDING':
14
- return statusDisplayInProgressLabel;
15
- case 'CANCELED':
16
- return statusDisplayCanceledLabel;
17
- case 'COMPLETE':
18
- return statusDisplayCompletedLabel;
19
- case 'FAILED':
20
- return statusDisplayFailedLabel;
21
- case 'QUEUED':
22
- return statusDisplayQueuedLabel;
23
- case 'OVERWRITE_PREVENTED':
24
- return statusDisplayOverwritePreventedLabel;
25
- default:
26
- return statusDisplayQueuedLabel;
27
- }
28
- };
29
- const getProgressHeader = (label) => ({
30
- key: 'progress',
31
- type: 'sort',
32
- content: { label },
33
- });
34
- const getActionViewTableData = ({ tasks, displayText, isProcessing, locationKey, shouldDisplayProgress = false, onTaskRemove, }) => {
35
- const headers = [
36
- ...getDefaultActionViewHeaders({
37
- displayText,
38
- }),
39
- ];
40
- if (shouldDisplayProgress) {
41
- headers.splice(-1, 0, getProgressHeader(displayText.tableColumnProgressHeader));
42
- }
43
- const rows = tasks.map((task) => {
44
- const { cancel, data, progress, status } = task;
45
- const { id } = data;
46
- const displayKey = isFileDataItem(data)
47
- ? data.fileKey
48
- : data.key.split('/').pop() ?? '';
49
- return {
50
- key: id,
51
- content: headers.map(({ key: columnKey }) => {
52
- const key = `${columnKey}-${id}`;
53
- switch (columnKey) {
54
- case 'name': {
55
- return {
56
- key,
57
- type: 'text',
58
- content: {
59
- icon: getActionIcon(status),
60
- text: displayKey,
61
- },
62
- };
63
- }
64
- case 'folder': {
65
- if (locationKey) {
66
- return { key, type: 'text', content: { text: locationKey } };
67
- }
68
- if (isFileItem(data)) {
69
- const { webkitRelativePath } = data.file;
70
- return {
71
- key,
72
- type: 'text',
73
- content: {
74
- text: webkitRelativePath
75
- ? webkitRelativePath.slice(0, webkitRelativePath.lastIndexOf('/') + 1)
76
- : '-',
77
- },
78
- };
79
- }
80
- return { key, type: 'text', content: { text: '/' } };
81
- }
82
- case 'type': {
83
- return {
84
- key,
85
- type: 'text',
86
- content: { text: getFileTypeDisplayValue(displayKey) },
87
- };
88
- }
89
- case 'size': {
90
- const value = isFileItem(data)
91
- ? data.file.size
92
- : isFileDataItem(data)
93
- ? data.size
94
- : undefined;
95
- return {
96
- key,
97
- type: 'number',
98
- content: {
99
- value,
100
- displayValue: value ? humanFileSize(value, true) : '-',
101
- },
102
- };
103
- }
104
- case 'status': {
105
- return {
106
- key,
107
- type: 'text',
108
- content: {
109
- text: getTaskStatusDisplayLabel({ status, displayText }),
110
- },
111
- };
112
- }
113
- case 'progress': {
114
- return {
115
- key,
116
- type: 'number',
117
- content: {
118
- value: progress,
119
- displayValue: `${getPercentValue(
120
- // Default progress to 100% if progress value is unavailable but status is recognized as complete
121
- progress ?? (status === 'COMPLETE' ? 1 : 0))}%`,
122
- },
123
- };
124
- }
125
- case 'cancel': {
126
- const isPending = status === 'PENDING';
127
- const isQueued = status === 'QUEUED';
128
- const isDisabled = (!isPending && !isQueued) || !cancel || progress === 1;
129
- const ariaLabel = `${isProcessing ? 'Cancel' : 'Remove'} item: ${displayKey}`;
130
- return {
131
- key,
132
- type: 'button',
133
- content: {
134
- isDisabled,
135
- onClick: () => {
136
- if (!isProcessing) {
137
- onTaskRemove?.(task);
138
- }
139
- cancel?.();
140
- },
141
- ariaLabel,
142
- icon: 'cancel',
143
- },
144
- };
145
- }
146
- default:
147
- return { key, type: 'text', content: {} };
148
- }
149
- }),
150
- };
151
- });
152
- return { headers, rows };
153
- };
154
-
155
- export { getActionViewTableData };
@@ -1,24 +0,0 @@
1
- const getDefaultActionViewHeaders = ({ displayText: { tableColumnNameHeader, tableColumnTypeHeader, tableColumnSizeHeader, tableColumnStatusHeader, tableColumnCancelHeader, tableColumnFolderHeader, }, }) => {
2
- return [
3
- {
4
- key: 'name',
5
- type: 'sort',
6
- content: { label: tableColumnNameHeader },
7
- },
8
- {
9
- key: 'folder',
10
- type: 'sort',
11
- content: { label: tableColumnFolderHeader },
12
- },
13
- { key: 'type', type: 'sort', content: { label: tableColumnTypeHeader } },
14
- { key: 'size', type: 'sort', content: { label: tableColumnSizeHeader } },
15
- {
16
- key: 'status',
17
- type: 'sort',
18
- content: { label: tableColumnStatusHeader },
19
- },
20
- { key: 'cancel', type: 'text', content: { text: tableColumnCancelHeader } },
21
- ];
22
- };
23
-
24
- export { getDefaultActionViewHeaders };
@@ -1,5 +0,0 @@
1
- const getFileTypeDisplayValue = (fileName) => fileName.lastIndexOf('.') !== -1
2
- ? fileName.slice(fileName.lastIndexOf('.') + 1)
3
- : '';
4
-
5
- export { getFileTypeDisplayValue };
@@ -1,3 +0,0 @@
1
- const getPercentValue = (value) => Math.round(value * 100);
2
-
3
- export { getPercentValue };
@@ -1,9 +0,0 @@
1
- /**
2
- * Temporarily just export strings until displayText strategy is finalized
3
- */
4
- export declare const displayText: {
5
- createFolderTitle: string;
6
- uploadFolderTitle: string;
7
- uploadFilesTitle: string;
8
- deleteFilesTitle: string;
9
- };
@@ -1,3 +0,0 @@
1
- import { StorageBrowserIconType } from '../../context/elements';
2
- import { TaskStatus } from '../../tasks';
3
- export declare const getActionIcon: (status: TaskStatus | 'CANCELED') => StorageBrowserIconType;
@@ -1,14 +0,0 @@
1
- import { DataTableProps } from '../../composables/DataTable';
2
- import { Task } from '../../tasks';
3
- import { TaskData } from '../../actions';
4
- import { DefaultActionViewDisplayText } from '../../displayText/types';
5
- export declare const getActionViewTableData: <T extends TaskData = TaskData>({ tasks, displayText, isProcessing, locationKey, shouldDisplayProgress, onTaskRemove, }: {
6
- tasks: Task<T, any>[];
7
- isProcessing: boolean;
8
- locationKey?: string | undefined;
9
- shouldDisplayProgress?: boolean | undefined;
10
- displayText: Omit<DefaultActionViewDisplayText, 'getActionCompleteMessage'> & {
11
- tableStatusOverwritePreventedLabel?: string;
12
- };
13
- onTaskRemove?: ((task: Task<T, any>) => void) | undefined;
14
- }) => DataTableProps;
@@ -1,5 +0,0 @@
1
- import { ActionViewHeaders } from './types';
2
- import { DefaultActionViewDisplayText } from '../../displayText/types';
3
- export declare const getDefaultActionViewHeaders: ({ displayText: { tableColumnNameHeader, tableColumnTypeHeader, tableColumnSizeHeader, tableColumnStatusHeader, tableColumnCancelHeader, tableColumnFolderHeader, }, }: {
4
- displayText: Omit<DefaultActionViewDisplayText, 'getActionCompleteMessage'>;
5
- }) => ActionViewHeaders;
@@ -1 +0,0 @@
1
- export declare const getFileTypeDisplayValue: (fileName: string) => string;
@@ -1 +0,0 @@
1
- export declare const getPercentValue: (value: number) => number;