@aws-amplify/ui-react-storage 3.4.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/browser.js +35 -2
  2. package/dist/{createAmplifyAuthAdapter-BRctUWdR.js → createAmplifyAuthAdapter-BUDNgORg.js} +3045 -2921
  3. package/dist/esm/browser.mjs +2 -0
  4. package/dist/esm/components/StorageBrowser/StorageBrowserAmplify.mjs +2 -7
  5. package/dist/esm/components/StorageBrowser/StorageBrowserDefault.mjs +3 -16
  6. package/dist/esm/components/StorageBrowser/actions/configs/context.mjs +4 -9
  7. package/dist/esm/components/StorageBrowser/actions/configs/defaults.mjs +14 -39
  8. package/dist/esm/components/StorageBrowser/actions/configs/utils.mjs +8 -0
  9. package/dist/esm/components/StorageBrowser/actions/handlers/copy.mjs +13 -13
  10. package/dist/esm/components/StorageBrowser/actions/handlers/createFolder.mjs +9 -6
  11. package/dist/esm/components/StorageBrowser/actions/handlers/delete.mjs +9 -7
  12. package/dist/esm/components/StorageBrowser/actions/handlers/download.mjs +7 -11
  13. package/dist/esm/components/StorageBrowser/actions/handlers/listLocationItems.mjs +3 -3
  14. package/dist/esm/components/StorageBrowser/actions/handlers/upload.mjs +11 -7
  15. package/dist/esm/components/StorageBrowser/actions/handlers/utils.mjs +1 -11
  16. package/dist/esm/components/StorageBrowser/adapters/createManagedAuthAdapter/createManagedAuthAdapter.mjs +1 -3
  17. package/dist/esm/components/StorageBrowser/controls/PaginationControl.mjs +3 -3
  18. package/dist/esm/components/StorageBrowser/controls/SearchFieldControl.mjs +12 -0
  19. package/dist/esm/components/StorageBrowser/controls/hooks/usePagination.mjs +9 -0
  20. package/dist/esm/components/StorageBrowser/controls/hooks/useSearchField.mjs +17 -0
  21. package/dist/esm/components/StorageBrowser/createStorageBrowser.mjs +36 -27
  22. package/dist/esm/components/StorageBrowser/displayText/libraries/en/locationDetailView.mjs +6 -0
  23. package/dist/esm/components/StorageBrowser/displayText/libraries/en/locationsView.mjs +2 -2
  24. package/dist/esm/components/StorageBrowser/providers/configuration/createConfigurationProvider.mjs +4 -10
  25. package/dist/esm/components/StorageBrowser/providers/configuration/useGetActionInputCallback.mjs +7 -7
  26. package/dist/esm/components/StorageBrowser/providers/store/locationItems/context.mjs +1 -1
  27. package/dist/esm/components/StorageBrowser/tasks/useProcessTasks.mjs +27 -6
  28. package/dist/esm/components/StorageBrowser/useAction/constants.mjs +4 -0
  29. package/dist/esm/components/StorageBrowser/useAction/context.mjs +8 -0
  30. package/dist/esm/components/StorageBrowser/useAction/useAction.mjs +18 -0
  31. package/dist/esm/components/StorageBrowser/useAction/useHandler.mjs +40 -0
  32. package/dist/esm/components/StorageBrowser/useAction/useList.mjs +19 -0
  33. package/dist/esm/components/StorageBrowser/useAction/useListFolderItems.mjs +23 -0
  34. package/dist/esm/components/StorageBrowser/useAction/useListLocationItems.mjs +23 -0
  35. package/dist/esm/components/StorageBrowser/{actions/useAction → useAction}/useListLocations.mjs +7 -6
  36. package/dist/esm/components/StorageBrowser/useAction/utils.mjs +26 -0
  37. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/CopyView.mjs +3 -3
  38. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useCopyView.mjs +32 -17
  39. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useFolders.mjs +12 -17
  40. package/dist/esm/components/StorageBrowser/views/LocationActionView/CreateFolderView/useCreateFolderView.mjs +18 -15
  41. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/useDeleteView.mjs +17 -12
  42. package/dist/esm/components/StorageBrowser/views/LocationActionView/LocationActionView.mjs +9 -16
  43. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/useUploadView.mjs +44 -49
  44. package/dist/esm/components/StorageBrowser/views/LocationActionView/getActionViewTableData.mjs +2 -4
  45. package/dist/esm/components/StorageBrowser/views/LocationDetailView/LocationDetailView.mjs +3 -3
  46. package/dist/esm/components/StorageBrowser/views/LocationDetailView/LocationDetailViewProvider.mjs +12 -8
  47. package/dist/esm/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getLocationDetailViewTableData.mjs +1 -0
  48. package/dist/esm/components/StorageBrowser/views/LocationDetailView/useLocationDetailView.mjs +50 -69
  49. package/dist/esm/components/StorageBrowser/views/LocationsView/LocationsView.mjs +3 -3
  50. package/dist/esm/components/StorageBrowser/views/LocationsView/LocationsViewProvider.mjs +2 -3
  51. package/dist/esm/components/StorageBrowser/views/LocationsView/useLocationsView.mjs +22 -29
  52. package/dist/esm/components/StorageBrowser/views/context/actionViews.mjs +33 -0
  53. package/dist/esm/components/StorageBrowser/views/context/getViews.mjs +32 -0
  54. package/dist/esm/components/StorageBrowser/views/context/primaryViews.mjs +32 -0
  55. package/dist/esm/components/StorageBrowser/views/context/views.mjs +19 -0
  56. package/dist/esm/components/StorageBrowser/views/{createUseView.mjs → useView.mjs} +19 -28
  57. package/dist/esm/version.mjs +1 -1
  58. package/dist/index.js +3 -6
  59. package/dist/styles.css +6 -2
  60. package/dist/types/components/StorageBrowser/actions/configs/context.d.ts +4 -5
  61. package/dist/types/components/StorageBrowser/actions/configs/defaults.d.ts +6 -7
  62. package/dist/types/components/StorageBrowser/actions/configs/index.d.ts +3 -2
  63. package/dist/types/components/StorageBrowser/actions/configs/types.d.ts +39 -69
  64. package/dist/types/components/StorageBrowser/actions/configs/utils.d.ts +2 -0
  65. package/dist/types/components/StorageBrowser/actions/handlers/copy.d.ts +12 -5
  66. package/dist/types/components/StorageBrowser/actions/handlers/createFolder.d.ts +7 -4
  67. package/dist/types/components/StorageBrowser/actions/handlers/delete.d.ts +6 -3
  68. package/dist/types/components/StorageBrowser/actions/handlers/download.d.ts +6 -3
  69. package/dist/types/components/StorageBrowser/actions/handlers/types.d.ts +11 -2
  70. package/dist/types/components/StorageBrowser/actions/handlers/upload.d.ts +8 -4
  71. package/dist/types/components/StorageBrowser/actions/handlers/utils.d.ts +0 -1
  72. package/dist/types/components/StorageBrowser/actions/index.d.ts +2 -4
  73. package/dist/types/components/StorageBrowser/adapters/permissionParsers.d.ts +1 -1
  74. package/dist/types/components/StorageBrowser/composables/ActionsList.d.ts +2 -2
  75. package/dist/types/components/StorageBrowser/controls/SearchFieldControl.d.ts +2 -0
  76. package/dist/types/components/StorageBrowser/controls/hooks/usePagination.d.ts +2 -0
  77. package/dist/types/components/StorageBrowser/controls/hooks/useSearchField.d.ts +2 -0
  78. package/dist/types/components/StorageBrowser/controls/types.d.ts +3 -3
  79. package/dist/types/components/StorageBrowser/createStorageBrowser.d.ts +3 -7
  80. package/dist/types/components/StorageBrowser/displayText/index.d.ts +1 -1
  81. package/dist/types/components/StorageBrowser/displayText/types.d.ts +1 -1
  82. package/dist/types/components/StorageBrowser/index.d.ts +3 -1
  83. package/dist/types/components/StorageBrowser/providers/configuration/index.d.ts +1 -1
  84. package/dist/types/components/StorageBrowser/providers/configuration/types.d.ts +2 -2
  85. package/dist/types/components/StorageBrowser/providers/store/files/types.d.ts +10 -1
  86. package/dist/types/components/StorageBrowser/providers/store/files/utils.d.ts +1 -2
  87. package/dist/types/components/StorageBrowser/tasks/types.d.ts +16 -13
  88. package/dist/types/components/StorageBrowser/tasks/useProcessTasks.d.ts +2 -3
  89. package/dist/types/components/StorageBrowser/types.d.ts +42 -12
  90. package/dist/types/components/StorageBrowser/useAction/constants.d.ts +3 -0
  91. package/dist/types/components/StorageBrowser/useAction/context.d.ts +5 -0
  92. package/dist/types/components/StorageBrowser/{actions/useAction → useAction}/createEnhancedListHandler.d.ts +3 -3
  93. package/dist/types/components/StorageBrowser/useAction/index.d.ts +6 -0
  94. package/dist/types/components/StorageBrowser/useAction/types.d.ts +76 -0
  95. package/dist/types/components/StorageBrowser/useAction/useAction.d.ts +3 -0
  96. package/dist/types/components/StorageBrowser/useAction/useHandler.d.ts +3 -0
  97. package/dist/types/components/StorageBrowser/useAction/useList.d.ts +9 -0
  98. package/dist/types/components/StorageBrowser/useAction/useListFolderItems.d.ts +13 -0
  99. package/dist/types/components/StorageBrowser/useAction/useListLocationItems.d.ts +10 -0
  100. package/dist/types/components/StorageBrowser/useAction/useListLocations.d.ts +8 -0
  101. package/dist/types/components/StorageBrowser/useAction/utils.d.ts +6 -0
  102. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/useFolders.d.ts +1 -4
  103. package/dist/types/components/StorageBrowser/views/LocationActionView/CreateFolderView/types.d.ts +2 -2
  104. package/dist/types/components/StorageBrowser/views/LocationActionView/LocationActionView.d.ts +2 -6
  105. package/dist/types/components/StorageBrowser/views/LocationActionView/getActionViewTableData.d.ts +2 -4
  106. package/dist/types/components/StorageBrowser/views/LocationActionView/index.d.ts +6 -6
  107. package/dist/types/components/StorageBrowser/views/LocationActionView/types.d.ts +4 -8
  108. package/dist/types/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getLocationDetailViewTableData.d.ts +1 -3
  109. package/dist/types/components/StorageBrowser/views/LocationDetailView/types.d.ts +16 -17
  110. package/dist/types/components/StorageBrowser/views/LocationsView/types.d.ts +8 -12
  111. package/dist/types/components/StorageBrowser/views/context/actionViews.d.ts +6 -0
  112. package/dist/types/components/StorageBrowser/views/context/getViews.d.ts +4 -0
  113. package/dist/types/components/StorageBrowser/views/context/index.d.ts +1 -0
  114. package/dist/types/components/StorageBrowser/views/context/primaryViews.d.ts +6 -0
  115. package/dist/types/components/StorageBrowser/views/context/types.d.ts +9 -0
  116. package/dist/types/components/StorageBrowser/views/context/views.d.ts +10 -0
  117. package/dist/types/components/StorageBrowser/views/index.d.ts +2 -2
  118. package/dist/types/components/StorageBrowser/views/types.d.ts +22 -0
  119. package/dist/types/components/StorageBrowser/views/useView.d.ts +16 -0
  120. package/dist/types/version.d.ts +1 -1
  121. package/package.json +4 -4
  122. package/dist/esm/components/StorageBrowser/controls/SearchControl.mjs +0 -13
  123. package/dist/esm/components/StorageBrowser/views/LocationActionView/constants.mjs +0 -3
  124. package/dist/esm/components/StorageBrowser/views/LocationActionView/useActionView.mjs +0 -20
  125. package/dist/esm/components/StorageBrowser/views/context.mjs +0 -43
  126. package/dist/types/components/StorageBrowser/actions/createUseAction.d.ts +0 -2
  127. package/dist/types/components/StorageBrowser/actions/types.d.ts +0 -8
  128. package/dist/types/components/StorageBrowser/actions/useAction/index.d.ts +0 -1
  129. package/dist/types/components/StorageBrowser/actions/useAction/useListLocations.d.ts +0 -8
  130. package/dist/types/components/StorageBrowser/controls/SearchControl.d.ts +0 -2
  131. package/dist/types/components/StorageBrowser/views/LocationActionView/constants.d.ts +0 -1
  132. package/dist/types/components/StorageBrowser/views/context.d.ts +0 -16
  133. package/dist/types/components/StorageBrowser/views/createUseView.d.ts +0 -19
  134. /package/dist/esm/components/StorageBrowser/{actions/useAction → useAction}/createEnhancedListHandler.mjs +0 -0
@@ -1,16 +1,14 @@
1
1
  import { DataTableProps } from '../../composables/DataTable';
2
2
  import { Task } from '../../tasks';
3
3
  import { TaskData } from '../../actions';
4
- import { ActionViewHeaders } from './types';
5
4
  import { DefaultActionViewDisplayText } from '../../displayText/types';
6
- export declare const getProgressHeader: (label: string) => ActionViewHeaders[0];
7
5
  export declare const getActionViewTableData: <T extends TaskData = TaskData>({ tasks, displayText, isProcessing, locationKey, shouldDisplayProgress, onTaskRemove, }: {
8
- tasks: Task<T>[];
6
+ tasks: Task<T, any>[];
9
7
  isProcessing: boolean;
10
8
  locationKey?: string | undefined;
11
9
  shouldDisplayProgress?: boolean | undefined;
12
10
  displayText: Omit<DefaultActionViewDisplayText, 'getActionCompleteMessage'> & {
13
11
  tableStatusOverwritePreventedLabel?: string;
14
12
  };
15
- onTaskRemove?: ((task: Task<T>) => void) | undefined;
13
+ onTaskRemove?: ((task: Task<T, any>) => void) | undefined;
16
14
  }) => DataTableProps;
@@ -1,7 +1,7 @@
1
- export { CopyView, CopyViewType, CopyViewState, useCopyView } from './CopyView';
2
- export { CreateFolderView, CreateFolderViewType, CreateFolderViewState, useCreateFolderView, } from './CreateFolderView';
3
- export { DeleteView, DeleteViewType, DeleteViewState, useDeleteView, } from './DeleteView';
4
- export { UploadView, UploadViewType, UploadViewState, useUploadView, } from './UploadView';
1
+ export { CopyView, CopyViewProps, CopyViewType, CopyViewState, useCopyView, } from './CopyView';
2
+ export { CreateFolderView, CreateFolderViewProps, CreateFolderViewType, CreateFolderViewState, useCreateFolderView, } from './CreateFolderView';
3
+ export { DeleteView, DeleteViewProps, DeleteViewType, DeleteViewState, useDeleteView, } from './DeleteView';
4
+ export { LocationActionView } from './LocationActionView';
5
+ export { UploadView, UploadViewProps, UploadViewType, UploadViewState, useUploadView, } from './UploadView';
5
6
  export { useActionView } from './useActionView';
6
- export { LocationActionView, LocationActionViewProps, } from './LocationActionView';
7
- export { ActionViewState } from './types';
7
+ export { ActionViewState, LocationActionViewType, LocationActionViewProps, } from './types';
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ComponentName, DefaultActionKey, LocationData, TaskActionConfig, TaskData, TaskHandler, TaskHandlerInput } from '../../actions';
2
+ import { LocationData, TaskData } from '../../actions';
3
3
  import { LocationState } from '../../providers/store/location';
4
4
  import { StatusCounts, Task, Tasks } from '../../tasks';
5
5
  import { DataTableProps } from '../../composables/DataTable';
@@ -20,18 +20,14 @@ export interface ActionViewProps {
20
20
  className?: string;
21
21
  onExit?: (location?: LocationData) => void;
22
22
  }
23
- export interface LocationActionViewProps<T = string, K extends TaskData = TaskData> extends Partial<ActionViewState<K>>, ActionViewProps {
23
+ export interface LocationActionViewProps<T = string> {
24
+ onExit?: () => void;
24
25
  type?: T;
25
26
  }
26
- export type LocationActionViewType<T = string, K extends TaskData = TaskData> = (props: LocationActionViewProps<T, K>) => React.JSX.Element | null;
27
+ export type LocationActionViewType<T = string> = (props: LocationActionViewProps<T>) => React.JSX.Element | null;
27
28
  export interface ActionViewType<T extends TaskData = TaskData, K = {}> {
28
29
  (props: ActionViewProps & Partial<ActionViewState<T>> & K): React.JSX.Element | null;
29
30
  displayName: string;
30
31
  }
31
- export type DerivedActionViews<T> = {
32
- readonly [K in keyof T as K extends DefaultActionKey ? never : T[K] extends {
33
- componentName: ComponentName;
34
- } ? T[K]['componentName'] : never]: ActionViewType<T[K] extends TaskActionConfig<TaskHandler<TaskHandlerInput<infer X>>> ? X : never>;
35
- };
36
32
  export type HeaderKeys = 'name' | 'folder' | 'type' | 'size' | 'status' | 'progress' | 'cancel';
37
33
  export type ActionViewHeaders = WithKey<DataTableProps['headers'][number], HeaderKeys>[];
@@ -1,7 +1,5 @@
1
+ import { FileData, FileDataItem, LocationItemData, LocationData } from '../../../actions';
1
2
  import { DataTableProps } from '../../../composables/DataTable';
2
- import { LocationData } from '../../../actions';
3
- import { FileDataItem, LocationItemData } from '../../../actions/handlers';
4
- import { FileData } from '../../../actions/handlers';
5
3
  import { LocationState } from '../../../providers/store/location';
6
4
  export declare const getLocationDetailViewTableData: ({ areAllFilesSelected, location, fileDataItems, hasFiles, pageItems, selectFileLabel, selectAllFilesLabel, getDateDisplayValue, onDownload, onNavigate, onSelect, onSelectAll, }: {
7
5
  areAllFilesSelected: boolean;
@@ -1,40 +1,39 @@
1
1
  /// <reference types="react" />
2
2
  import { FileData, FileDataItem, LocationData, LocationItemData } from '../../actions';
3
- import { ActionsListItem } from '../../composables/ActionsList';
3
+ import { ActionListItem } from '../../composables/ActionsList';
4
4
  import { LocationState } from '../../providers/store/location';
5
5
  import { ListViewProps } from '../types';
6
6
  export interface LocationDetailViewState {
7
- actions: ActionsListItem[];
7
+ actionItems: ActionListItem[];
8
+ actionType: string | undefined;
9
+ downloadErrorMessage: string | undefined;
10
+ fileDataItems: FileDataItem[] | undefined;
11
+ hasDownloadError: boolean;
8
12
  hasError: boolean;
13
+ hasExhaustedSearch: boolean;
9
14
  hasNextPage: boolean;
10
- hasDownloadError: boolean;
11
15
  highestPageVisited: number;
12
16
  isLoading: boolean;
13
- isSearchingSubfolders: boolean;
17
+ isSearchSubfoldersEnabled: boolean;
14
18
  location: LocationState;
15
- areAllFilesSelected: boolean;
16
- fileDataItems: FileDataItem[] | undefined;
17
- hasFiles: boolean;
18
19
  message: string | undefined;
19
- downloadErrorMessage: string | undefined;
20
- shouldShowEmptyMessage: boolean;
21
- searchQuery: string;
22
- hasExhaustedSearch: boolean;
23
- pageItems: LocationItemData[];
24
- page: number;
20
+ onActionExit: () => void;
25
21
  onActionSelect: (actionType: string) => void;
22
+ onDownload: (fileItem: FileDataItem) => void;
26
23
  onDropFiles: (files: File[]) => void;
27
- onRefresh: () => void;
28
24
  onNavigate: (location: LocationData, path?: string) => void;
29
25
  onNavigateHome: () => void;
30
26
  onPaginate: (page: number) => void;
31
- onDownload: (fileItem: FileDataItem) => void;
32
- onSelect: (isSelected: boolean, fileItem: FileData) => void;
33
- onSelectAll: () => void;
27
+ onRefresh: () => void;
34
28
  onSearch: () => void;
35
29
  onSearchClear: () => void;
36
30
  onSearchQueryChange: (value: string) => void;
31
+ onSelect: (isSelected: boolean, fileItem: FileData) => void;
37
32
  onToggleSearchSubfolders: () => void;
33
+ onToggleSelectAll: () => void;
34
+ page: number;
35
+ pageItems: LocationItemData[];
36
+ searchQuery: string;
38
37
  }
39
38
  export interface LocationDetailViewProps extends ListViewProps {
40
39
  onActionSelect?: (type: string) => void;
@@ -2,23 +2,22 @@
2
2
  import { LocationData } from '../../actions';
3
3
  import { ListViewProps } from '../types';
4
4
  export interface LocationsViewState {
5
- hasNextPage: boolean;
6
5
  hasError: boolean;
6
+ hasExhaustedSearch: boolean;
7
+ hasNextPage: boolean;
7
8
  highestPageVisited: number;
8
9
  isLoading: boolean;
9
10
  message: string | undefined;
10
- shouldShowEmptyMessage: boolean;
11
- pageItems: LocationData[];
12
- page: number;
13
- searchQuery: string;
14
- hasExhaustedSearch: boolean;
15
11
  onDownload: (item: LocationData) => void;
16
12
  onNavigate: (location: LocationData) => void;
17
- onRefresh: () => void;
18
13
  onPaginate: (page: number) => void;
14
+ onRefresh: () => void;
19
15
  onSearch: () => void;
20
- onSearchQueryChange: (value: string) => void;
21
16
  onSearchClear: () => void;
17
+ onSearchQueryChange: (value: string) => void;
18
+ page: number;
19
+ pageItems: LocationData[];
20
+ searchQuery: string;
22
21
  }
23
22
  export interface LocationsViewProps extends ListViewProps {
24
23
  }
@@ -26,10 +25,7 @@ export interface LocationsViewProviderProps extends LocationsViewState {
26
25
  children?: React.ReactNode;
27
26
  }
28
27
  export interface LocationsViewType {
29
- (props: {
30
- children?: React.ReactNode;
31
- className?: string;
32
- } & LocationsViewProps): React.JSX.Element | null;
28
+ (props: LocationsViewProps): React.JSX.Element | null;
33
29
  displayName: string;
34
30
  Provider: (props: LocationsViewProviderProps) => React.JSX.Element;
35
31
  LoadingIndicator: () => React.JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ActionViewsContextType } from './types';
3
+ import { DefaultActionViewsByActionName } from '../types';
4
+ export declare const DEFAULT_ACTION_VIEWS: DefaultActionViewsByActionName;
5
+ export declare const ActionViewsContext: React.Context<ActionViewsContextType<{}>>;
6
+ export declare function useActionViews(): ActionViewsContextType;
@@ -0,0 +1,4 @@
1
+ import { CustomActionConfigs } from '../../actions';
2
+ import { Views } from '../types';
3
+ import { ViewsContextType } from './types';
4
+ export declare const getViews: (views?: Views, customConfigs?: CustomActionConfigs) => ViewsContextType;
@@ -0,0 +1 @@
1
+ export { ViewsProvider, useViews } from './views';
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { PrimaryViewsContextType } from './types';
3
+ import { PrimaryViews } from '../types';
4
+ export declare const DEFAULT_PRIMARY_VIEWS: PrimaryViews;
5
+ export declare const PrimaryViewsContext: React.Context<PrimaryViewsContextType<string>>;
6
+ export declare function usePrimaryViews(): PrimaryViewsContextType;
@@ -0,0 +1,9 @@
1
+ import { DefaultActionViewsByActionName, PrimaryViews } from '../types';
2
+ export interface PrimaryViewsContextType<T = string> {
3
+ primary: PrimaryViews<T>;
4
+ }
5
+ export interface ActionViewsContextType<T = {}> {
6
+ action: DefaultActionViewsByActionName & T;
7
+ }
8
+ export interface ViewsContextType<TPrimaryView = string, TActionView = {}> extends PrimaryViewsContextType<TPrimaryView>, ActionViewsContextType<TActionView> {
9
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ExtendedActionConfigs } from '../../actions';
3
+ import { Views } from '../types';
4
+ import { ViewsContextType } from './types';
5
+ export declare function ViewsProvider({ children, views, actions, }: {
6
+ children?: React.ReactNode;
7
+ actions?: ExtendedActionConfigs;
8
+ views?: Views;
9
+ }): React.JSX.Element;
10
+ export declare function useViews(): ViewsContextType;
@@ -1,4 +1,4 @@
1
- export { CopyView, CopyViewType, CreateFolderView, CreateFolderViewType, DeleteView, DeleteViewType, LocationActionView, LocationActionViewProps, UploadView, UploadViewType, } from './LocationActionView';
1
+ export { CopyView, CopyViewType, CreateFolderView, CreateFolderViewType, DeleteView, DeleteViewType, LocationActionView, LocationActionViewProps, LocationActionViewType, UploadView, UploadViewType, } from './LocationActionView';
2
2
  export { LocationDetailView, LocationDetailViewProps, LocationDetailViewType, } from './LocationDetailView';
3
3
  export { LocationsView, LocationsViewProps, LocationsViewType, } from './LocationsView';
4
- export * from './context';
4
+ export * from './types';
@@ -1,4 +1,8 @@
1
+ import React from 'react';
1
2
  import { LocationData } from '../actions';
3
+ import { LocationActionViewProps, UploadViewProps, CreateFolderViewProps, CopyViewProps, DeleteViewProps } from './LocationActionView';
4
+ import { LocationDetailViewProps } from './LocationDetailView';
5
+ import { LocationsViewProps } from './LocationsView';
2
6
  export interface ActionViewProps {
3
7
  className?: string;
4
8
  }
@@ -10,3 +14,21 @@ export interface ListViewState<T = any> {
10
14
  }
11
15
  export interface ListViewProps extends ActionViewProps, Partial<ListViewState> {
12
16
  }
17
+ export interface PrimaryViews<T = string> {
18
+ LocationActionView: (props: LocationActionViewProps<T>) => React.JSX.Element | null;
19
+ LocationDetailView: (props: LocationDetailViewProps) => React.JSX.Element | null;
20
+ LocationsView: (props: LocationsViewProps) => React.JSX.Element | null;
21
+ }
22
+ export interface DefaultActionViews {
23
+ CreateFolderView: (props: CreateFolderViewProps) => React.JSX.Element | null;
24
+ CopyView: (props: CopyViewProps) => React.JSX.Element | null;
25
+ DeleteView: (props: DeleteViewProps) => React.JSX.Element | null;
26
+ UploadView: (props: UploadViewProps) => React.JSX.Element | null;
27
+ }
28
+ export interface DefaultActionViewsByActionName {
29
+ createFolder: (props: CreateFolderViewProps) => React.JSX.Element | null;
30
+ copy: (props: CopyViewProps) => React.JSX.Element | null;
31
+ delete: (props: DeleteViewProps) => React.JSX.Element | null;
32
+ upload: (props: UploadViewProps) => React.JSX.Element | null;
33
+ }
34
+ export type Views<T = string, K = {}> = Partial<PrimaryViews<T> & DefaultActionViews & K>;
@@ -0,0 +1,16 @@
1
+ declare const USE_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;
8
+ };
9
+ type DefaultUseViews = typeof USE_VIEW_HOOKS;
10
+ export type UseViewType = keyof DefaultUseViews;
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 keyof DefaultUseViews, S extends DefaultUseViews[K]>(type: K) => ReturnType<S>;
15
+ export declare const useView: UseView;
16
+ export {};
@@ -1 +1 @@
1
- export declare const VERSION = "3.4.1";
1
+ export declare const VERSION = "3.5.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui-react-storage",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {
@@ -47,9 +47,9 @@
47
47
  "typecheck": "tsc --noEmit"
48
48
  },
49
49
  "dependencies": {
50
- "@aws-amplify/ui": "6.7.0",
51
- "@aws-amplify/ui-react": "6.7.0",
52
- "@aws-amplify/ui-react-core": "3.1.0",
50
+ "@aws-amplify/ui": "6.7.1",
51
+ "@aws-amplify/ui-react": "6.7.1",
52
+ "@aws-amplify/ui-react-core": "3.1.1",
53
53
  "tslib": "^2.5.2"
54
54
  },
55
55
  "peerDependencies": {
@@ -1,13 +0,0 @@
1
- import React__default from 'react';
2
- import { SearchField } from '../composables/SearchField.mjs';
3
- import { useControlsContext } from './context.mjs';
4
- import { useResolvedComposable } from './hooks/useResolvedComposable.mjs';
5
-
6
- const SearchControl = () => {
7
- const { data, onSearch, onSearchQueryChange, onSearchClear } = useControlsContext();
8
- const { searchPlaceholder, searchClearLabel, searchQuery, searchSubmitLabel, } = data;
9
- const Resolved = useResolvedComposable(SearchField, 'SearchField');
10
- return (React__default.createElement(Resolved, { placeholder: searchPlaceholder, query: searchQuery, clearLabel: searchClearLabel, submitLabel: searchSubmitLabel, onSearch: onSearch, onQueryChange: onSearchQueryChange, onClear: onSearchClear }));
11
- };
12
-
13
- export { SearchControl };
@@ -1,3 +0,0 @@
1
- const DEFAULT_ACTION_CONCURRENCY = 4;
2
-
3
- export { DEFAULT_ACTION_CONCURRENCY };
@@ -1,20 +0,0 @@
1
- import { INITIAL_STATUS_COUNTS } from '../../tasks/constants.mjs';
2
- import 'react';
3
- import '@aws-amplify/ui';
4
- import { DEFAULT_STATE } from '../../providers/store/location/context.mjs';
5
-
6
- function useActionView() {
7
- return {
8
- isProcessing: false,
9
- isProcessingComplete: false,
10
- location: DEFAULT_STATE,
11
- statusCounts: INITIAL_STATUS_COUNTS,
12
- tasks: [],
13
- onActionExit: () => null,
14
- onActionStart: () => null,
15
- onActionCancel: () => null,
16
- onTaskRemove: () => null,
17
- };
18
- }
19
-
20
- export { useActionView };
@@ -1,43 +0,0 @@
1
- import React__default from 'react';
2
- import './LocationActionView/CopyView/CopyView.mjs';
3
- import '@aws-amplify/ui';
4
- import '@aws-amplify/storage/internals';
5
- import 'aws-amplify/storage';
6
- import '../providers/configuration/context.mjs';
7
- import '@aws-amplify/ui-react-core/elements';
8
- import '../actions/configs/context.mjs';
9
- import '@aws-amplify/ui-react-core';
10
- import '../providers/configuration/credentials/context.mjs';
11
- import '../providers/store/location/context.mjs';
12
- import '../providers/store/files/context.mjs';
13
- import '../providers/store/actionType/context.mjs';
14
- import '../providers/store/locationItems/context.mjs';
15
- import './LocationActionView/CreateFolderView/CreateFolderView.mjs';
16
- import './LocationActionView/DeleteView/DeleteView.mjs';
17
- import './LocationActionView/UploadView/UploadView.mjs';
18
- import { LocationActionView } from './LocationActionView/LocationActionView.mjs';
19
- import { LocationDetailView } from './LocationDetailView/LocationDetailView.mjs';
20
- import { LocationsView } from './LocationsView/LocationsView.mjs';
21
-
22
- const ERROR_MESSAGE = '`useViews` must be called from within a `ViewsProvider`';
23
- const ViewsContext = React__default.createContext(undefined);
24
- function ViewsProvider({ children, views, }) {
25
- // destructure `views` to prevent extraneous rerender of components in the
26
- // scenario of an unstable reference provided as `views`
27
- const { LocationDetailView: LocationDetailView$1, LocationActionView: LocationActionView$1, LocationsView: LocationsView$1 } = views ?? {};
28
- const value = React__default.useMemo(() => ({
29
- LocationActionView: LocationActionView$1 ?? LocationActionView,
30
- LocationDetailView: LocationDetailView$1 ?? LocationDetailView,
31
- LocationsView: LocationsView$1 ?? LocationsView,
32
- }), [LocationDetailView$1, LocationActionView$1, LocationsView$1]);
33
- return (React__default.createElement(ViewsContext.Provider, { value: value }, children));
34
- }
35
- function useViews() {
36
- const context = React__default.useContext(ViewsContext);
37
- if (!context) {
38
- throw new Error(ERROR_MESSAGE);
39
- }
40
- return context;
41
- }
42
-
43
- export { ViewsProvider, useViews };
@@ -1,2 +0,0 @@
1
- import { CreateUseAction } from './types';
2
- export declare const createUseAction: CreateUseAction;
@@ -1,8 +0,0 @@
1
- import { DataState } from '@aws-amplify/ui-react-core';
2
- import { ListHandler, TaskHandler } from './handlers';
3
- export type ActionState<T = any, K = any> = [
4
- state: DataState<T>,
5
- handleAction: (...input: K[]) => void
6
- ];
7
- export type UseAction<T> = T extends ListHandler<infer K, infer U> | TaskHandler<infer K, infer U> ? ActionState<U, K> : never;
8
- export type CreateUseAction = <T>(actions: T) => <K extends keyof T>(key: K) => UseAction<T[K]>;
@@ -1 +0,0 @@
1
- export { useListLocations, UseListLocationsState } from './useListLocations';
@@ -1,8 +0,0 @@
1
- import { LocationData, ListLocationsExcludeOptions } from '../handlers';
2
- import { ActionState } from '../types';
3
- import { EnhancedListHandlerInput, EnhancedListHandlerOutput } from './createEnhancedListHandler';
4
- type RemoveConfigAndPrefix<T> = Omit<T, 'prefix' | 'config'>;
5
- export interface UseListLocationsState extends ActionState<EnhancedListHandlerOutput<LocationData>, RemoveConfigAndPrefix<EnhancedListHandlerInput<LocationData, ListLocationsExcludeOptions>>> {
6
- }
7
- export declare const useListLocations: () => UseListLocationsState;
8
- export {};
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const SearchControl: () => React.JSX.Element;
@@ -1 +0,0 @@
1
- export declare const DEFAULT_ACTION_CONCURRENCY = 4;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { LocationActionViewProps } from './LocationActionView';
3
- import { LocationDetailViewProps } from './LocationDetailView';
4
- import { LocationsViewProps } from './LocationsView';
5
- export interface DefaultViews<T = string> {
6
- LocationActionView: (props: LocationActionViewProps<T>) => React.JSX.Element | null;
7
- LocationDetailView: (props: LocationDetailViewProps) => React.JSX.Element | null;
8
- LocationsView: (props: LocationsViewProps) => React.JSX.Element | null;
9
- }
10
- export interface Views<T = string> extends Partial<DefaultViews<T>> {
11
- }
12
- export declare function ViewsProvider({ children, views, }: {
13
- children?: React.ReactNode;
14
- views?: Views;
15
- }): React.JSX.Element;
16
- export declare function useViews(): DefaultViews;
@@ -1,19 +0,0 @@
1
- import { ActionConfigs } from '../actions';
2
- import { ActionViewState } from './LocationActionView';
3
- declare const DEFAULT_USE_VIEWS: {
4
- readonly CopyView: (options?: import("./LocationActionView/CopyView").UseCopyViewOptions | undefined) => import("./LocationActionView").CopyViewState;
5
- readonly CreateFolderView: (options?: import("./LocationActionView/CreateFolderView").UseCreateFolderViewOptions | undefined) => import("./LocationActionView").CreateFolderViewState;
6
- readonly DeleteView: (options?: import("./LocationActionView/DeleteView").UseDeleteViewOptions | undefined) => import("./LocationActionView").DeleteViewState;
7
- readonly LocationDetailView: (options?: import("./LocationDetailView/types").UseLocationDetailViewOptions | undefined) => import("./LocationDetailView/types").LocationDetailViewState;
8
- readonly LocationsView: (options?: import("./LocationsView/types").UseLocationsViewOptions | undefined) => import("./LocationsView/types").LocationsViewState;
9
- readonly UploadView: (options?: import("./LocationActionView/UploadView").UseUploadViewOptions | undefined) => import("./LocationActionView").UploadViewState;
10
- };
11
- type DefaultUseViews = typeof DEFAULT_USE_VIEWS;
12
- export type ViewKey<T extends ActionConfigs> = T extends Record<string, {
13
- componentName: `${infer U}View`;
14
- }> ? U : never;
15
- type UseViewState<T extends string> = `${T}View` extends keyof DefaultUseViews ? ReturnType<DefaultUseViews[`${T}View`]> : ActionViewState;
16
- type UseView<T extends ActionConfigs = ActionConfigs> = <K extends ViewKey<T>>(type: K) => UseViewState<K>;
17
- type CreateUseView = <T extends ActionConfigs>(configs: T) => UseView<T>;
18
- export declare const createUseView: CreateUseView;
19
- export {};