@aws-amplify/ui-react-storage 3.9.1 → 3.10.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 (368) hide show
  1. package/dist/browser.js +32 -30
  2. package/dist/{createAmplifyAuthAdapter-Cf4yJo1e.js → createStorageBrowser-CooF7BS1.js} +2582 -2372
  3. package/dist/esm/browser.mjs +15 -2
  4. package/dist/esm/components/StorageBrowser/ErrorBoundary/ErrorBoundary.mjs +8 -1
  5. package/dist/esm/components/StorageBrowser/StorageBrowserAmplify.mjs +2 -1
  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/{ComponentsProvider.mjs → components/ComponentsProvider.mjs} +6 -5
  17. package/dist/esm/components/StorageBrowser/components/{BreadcrumbNavigation.mjs → base/BreadcrumbNavigation.mjs} +4 -4
  18. package/dist/esm/components/StorageBrowser/components/{DescriptionList.mjs → base/DescriptionList.mjs} +3 -3
  19. package/dist/esm/components/StorageBrowser/components/{DropdownMenu.mjs → base/DropdownMenu.mjs} +3 -3
  20. package/dist/esm/components/StorageBrowser/components/{Field.mjs → base/Field.mjs} +3 -3
  21. package/dist/esm/components/StorageBrowser/components/{PaginationButton.mjs → base/PaginationButton.mjs} +3 -3
  22. package/dist/esm/components/StorageBrowser/components/{Separator.mjs → base/Separator.mjs} +3 -3
  23. package/dist/esm/components/StorageBrowser/components/{Table.mjs → base/Table.mjs} +3 -3
  24. package/dist/esm/components/StorageBrowser/{composables → components/composables}/ActionCancel.mjs +4 -3
  25. package/dist/esm/components/StorageBrowser/{composables → components/composables}/ActionDestination.mjs +5 -5
  26. package/dist/esm/components/StorageBrowser/{composables → components/composables}/ActionExit.mjs +4 -3
  27. package/dist/esm/components/StorageBrowser/{composables → components/composables}/ActionStart.mjs +4 -3
  28. package/dist/esm/components/StorageBrowser/{composables → components/composables}/ActionsList.mjs +5 -1
  29. package/dist/esm/components/StorageBrowser/{composables → components/composables}/AddFiles.mjs +4 -3
  30. package/dist/esm/components/StorageBrowser/{composables → components/composables}/AddFolder.mjs +4 -3
  31. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataRefresh.mjs +5 -3
  32. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/DataTable.mjs +5 -1
  33. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/ButtonDataCell.mjs +4 -3
  34. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/DateDataCell.mjs +4 -3
  35. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/NumberDataCell.mjs +4 -3
  36. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/TextDataCell.mjs +4 -3
  37. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/headers/SortHeader.mjs +4 -3
  38. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/headers/TextHeader.mjs +4 -3
  39. package/dist/esm/components/StorageBrowser/{composables → components/composables}/DropZone.mjs +4 -3
  40. package/dist/esm/components/StorageBrowser/{composables → components/composables}/FolderNameField.mjs +6 -2
  41. package/dist/esm/components/StorageBrowser/{composables → components/composables}/LoadingIndicator.mjs +4 -3
  42. package/dist/esm/components/StorageBrowser/{composables → components/composables}/Message.mjs +4 -3
  43. package/dist/esm/components/StorageBrowser/{composables → components/composables}/Navigation.mjs +4 -1
  44. package/dist/esm/components/StorageBrowser/{composables → components/composables}/OverwriteToggle.mjs +4 -3
  45. package/dist/esm/components/StorageBrowser/{composables → components/composables}/Pagination.mjs +5 -4
  46. package/dist/esm/components/StorageBrowser/{composables → components/composables}/SearchField.mjs +5 -4
  47. package/dist/esm/components/StorageBrowser/{composables → components/composables}/SearchSubfoldersToggle.mjs +4 -3
  48. package/dist/esm/components/StorageBrowser/{composables → components/composables}/StatusDisplay.mjs +6 -2
  49. package/dist/esm/components/StorageBrowser/{composables → components/composables}/Title.mjs +4 -3
  50. package/dist/esm/components/StorageBrowser/{componentsDefault.mjs → components/defaults.mjs} +8 -7
  51. package/dist/esm/components/StorageBrowser/{providers/configuration → configuration}/createConfigurationProvider.mjs +2 -1
  52. package/dist/esm/components/StorageBrowser/{providers/configuration → configuration}/useGetActionInputCallback.mjs +4 -7
  53. package/dist/esm/components/StorageBrowser/controls/ActionCancelControl.mjs +1 -1
  54. package/dist/esm/components/StorageBrowser/controls/ActionDestinationControl.mjs +1 -1
  55. package/dist/esm/components/StorageBrowser/controls/ActionExitControl.mjs +1 -1
  56. package/dist/esm/components/StorageBrowser/controls/ActionStartControl.mjs +1 -1
  57. package/dist/esm/components/StorageBrowser/controls/ActionsListControl.mjs +1 -1
  58. package/dist/esm/components/StorageBrowser/controls/AddFilesControl.mjs +1 -1
  59. package/dist/esm/components/StorageBrowser/controls/AddFolderControl.mjs +1 -1
  60. package/dist/esm/components/StorageBrowser/controls/DataRefreshControl.mjs +1 -1
  61. package/dist/esm/components/StorageBrowser/controls/DataTableControl.mjs +8 -1
  62. package/dist/esm/components/StorageBrowser/controls/DropZoneControl.mjs +1 -1
  63. package/dist/esm/components/StorageBrowser/controls/FolderNameFieldControl.mjs +1 -1
  64. package/dist/esm/components/StorageBrowser/controls/LoadingIndicatorControl.mjs +1 -1
  65. package/dist/esm/components/StorageBrowser/controls/MessageControl.mjs +1 -1
  66. package/dist/esm/components/StorageBrowser/controls/NavigationControl.mjs +1 -1
  67. package/dist/esm/components/StorageBrowser/controls/OverwriteToggleControl.mjs +1 -1
  68. package/dist/esm/components/StorageBrowser/controls/PaginationControl.mjs +1 -1
  69. package/dist/esm/components/StorageBrowser/controls/SearchFieldControl.mjs +1 -1
  70. package/dist/esm/components/StorageBrowser/controls/SearchSubfoldersToggleControl.mjs +1 -1
  71. package/dist/esm/components/StorageBrowser/controls/StatusDisplayControl.mjs +1 -1
  72. package/dist/esm/components/StorageBrowser/controls/TitleControl.mjs +1 -1
  73. package/dist/esm/components/StorageBrowser/controls/hooks/useActionDestination.mjs +0 -1
  74. package/dist/esm/components/StorageBrowser/controls/hooks/useResolvedComposable.mjs +1 -1
  75. package/dist/esm/components/StorageBrowser/createStorageBrowser/StorageBrowserDefault.mjs +44 -0
  76. package/dist/esm/components/StorageBrowser/createStorageBrowser/createProvider.mjs +80 -0
  77. package/dist/esm/components/StorageBrowser/createStorageBrowser/createStorageBrowser.mjs +70 -0
  78. package/dist/esm/components/StorageBrowser/credentials/{store → credentialsStore}/store.mjs +1 -5
  79. package/dist/esm/components/StorageBrowser/{providers/configuration/credentials → credentials}/useCredentialsStore.mjs +1 -1
  80. package/dist/esm/components/StorageBrowser/displayText/libraries/en/shared.mjs +0 -1
  81. package/dist/esm/components/StorageBrowser/displayText/libraries/en/uploadView.mjs +3 -2
  82. package/dist/esm/components/StorageBrowser/displayText/utils.mjs +7 -0
  83. package/dist/esm/components/StorageBrowser/{providers/store/locationItems → locationItems}/context.mjs +3 -2
  84. package/dist/esm/components/StorageBrowser/store/constants.mjs +6 -0
  85. package/dist/esm/components/StorageBrowser/store/context.mjs +17 -0
  86. package/dist/esm/components/StorageBrowser/store/storeReducer.mjs +34 -0
  87. package/dist/esm/components/StorageBrowser/store/useStoreReducer.mjs +21 -0
  88. package/dist/esm/components/StorageBrowser/store/utils.mjs +40 -0
  89. package/dist/esm/components/StorageBrowser/store/validateStoreProps.mjs +68 -0
  90. package/dist/esm/components/StorageBrowser/tasks/useProcessTasks.mjs +20 -22
  91. package/dist/esm/components/StorageBrowser/useAction/useAction.mjs +14 -7
  92. package/dist/esm/components/StorageBrowser/useAction/useHandler.mjs +28 -33
  93. package/dist/esm/components/StorageBrowser/useAction/useList.mjs +0 -1
  94. package/dist/esm/components/StorageBrowser/useAction/useListFolderItems.mjs +3 -2
  95. package/dist/esm/components/StorageBrowser/useAction/useListLocationItems.mjs +3 -2
  96. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/CopyView.mjs +7 -4
  97. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/CopyViewProvider.mjs +13 -10
  98. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/FoldersMessageControl.mjs +6 -4
  99. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/FoldersPaginationControl.mjs +1 -1
  100. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useCopyView.mjs +11 -12
  101. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/useFolders.mjs +13 -18
  102. package/dist/esm/components/StorageBrowser/views/LocationActionView/CreateFolderView/CreateFolderView.mjs +7 -4
  103. package/dist/esm/components/StorageBrowser/views/LocationActionView/CreateFolderView/useCreateFolderView.mjs +4 -7
  104. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/DeleteView.mjs +7 -4
  105. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/DeleteViewProvider.mjs +6 -9
  106. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/useDeleteView.mjs +11 -12
  107. package/dist/esm/components/StorageBrowser/views/LocationActionView/LocationActionView.mjs +1 -5
  108. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/UploadView.mjs +9 -5
  109. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/UploadViewProvider.mjs +14 -12
  110. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/useUploadView.mjs +14 -15
  111. package/dist/esm/components/StorageBrowser/views/LocationDetailView/LocationDetailView.mjs +10 -6
  112. package/dist/esm/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getLocationDetailViewTableData.mjs +1 -0
  113. package/dist/esm/components/StorageBrowser/views/LocationDetailView/useLocationDetailView.mjs +28 -32
  114. package/dist/esm/components/StorageBrowser/views/LocationsView/LocationsView.mjs +8 -4
  115. package/dist/esm/components/StorageBrowser/views/LocationsView/LocationsViewProvider.mjs +7 -1
  116. package/dist/esm/components/StorageBrowser/views/LocationsView/useLocationsView.mjs +11 -15
  117. package/dist/esm/components/StorageBrowser/views/context/actionViews.mjs +7 -7
  118. package/dist/esm/components/StorageBrowser/views/context/getViews.mjs +4 -1
  119. package/dist/esm/components/StorageBrowser/views/context/primaryViews.mjs +7 -7
  120. package/dist/esm/components/StorageBrowser/views/hooks/usePaginate.mjs +19 -21
  121. package/dist/esm/components/StorageBrowser/views/hooks/useResolveTableData/useResolveTableData.mjs +15 -0
  122. package/dist/esm/components/StorageBrowser/views/useView.mjs +7 -12
  123. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/constants.mjs +18 -0
  124. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/copyResolvers.mjs +82 -0
  125. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/deleteResolvers.mjs +82 -0
  126. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/uploadResolvers.mjs +112 -0
  127. package/dist/esm/components/StorageBrowser/views/utils/tableResolvers/utils.mjs +49 -0
  128. package/dist/esm/components/StorageImage/StorageImage.mjs +5 -2
  129. package/dist/esm/version.mjs +1 -1
  130. package/dist/index.js +11 -8
  131. package/dist/types/components/StorageBrowser/StorageBrowserAmplify.d.ts +1 -1
  132. package/dist/types/components/StorageBrowser/actions/configs/types.d.ts +42 -3
  133. package/dist/types/components/StorageBrowser/actions/handlers/constants.d.ts +1 -0
  134. package/dist/types/components/StorageBrowser/actions/handlers/copy.d.ts +4 -7
  135. package/dist/types/components/StorageBrowser/actions/handlers/createFolder.d.ts +1 -3
  136. package/dist/types/components/StorageBrowser/actions/handlers/defaults.d.ts +15 -0
  137. package/dist/types/components/StorageBrowser/actions/handlers/delete.d.ts +2 -2
  138. package/dist/types/components/StorageBrowser/actions/handlers/index.d.ts +1 -0
  139. package/dist/types/components/StorageBrowser/actions/handlers/listLocations.d.ts +4 -12
  140. package/dist/types/components/StorageBrowser/actions/handlers/types.d.ts +34 -21
  141. package/dist/types/components/StorageBrowser/actions/handlers/upload.d.ts +1 -4
  142. package/dist/types/components/StorageBrowser/actions/handlers/utils.d.ts +2 -2
  143. package/dist/types/components/StorageBrowser/actions/index.d.ts +1 -1
  144. package/dist/types/components/StorageBrowser/adapters/createManagedAuthAdapter/createLocationCredentialsHandler.d.ts +1 -1
  145. package/dist/types/components/StorageBrowser/adapters/types.d.ts +2 -3
  146. package/dist/types/components/StorageBrowser/{ComponentsProvider.d.ts → components/ComponentsProvider.d.ts} +4 -3
  147. package/dist/types/components/StorageBrowser/components/{DropdownMenu.d.ts → base/DropdownMenu.d.ts} +1 -1
  148. package/dist/types/components/StorageBrowser/components/{Field.d.ts → base/Field.d.ts} +1 -1
  149. package/dist/types/components/StorageBrowser/components/{PaginationButton.d.ts → base/PaginationButton.d.ts} +1 -1
  150. package/dist/types/components/StorageBrowser/components/{Table.d.ts → base/Table.d.ts} +1 -1
  151. package/dist/types/components/StorageBrowser/components/base/index.d.ts +10 -0
  152. package/dist/types/components/StorageBrowser/{composables → components/composables}/ActionsList.d.ts +1 -1
  153. package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/DataTable.d.ts +1 -1
  154. package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/ButtonDataCell.d.ts +1 -1
  155. package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/TextDataCell.d.ts +1 -1
  156. package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/index.d.ts +1 -1
  157. package/dist/types/components/StorageBrowser/{composables → components/composables}/Message.d.ts +1 -1
  158. package/dist/types/components/StorageBrowser/components/defaults.d.ts +2 -0
  159. package/dist/types/components/StorageBrowser/components/index.d.ts +9 -0
  160. package/dist/types/components/StorageBrowser/{providers/configuration → configuration}/createConfigurationProvider.d.ts +1 -1
  161. package/dist/types/components/StorageBrowser/{providers/configuration → configuration}/index.d.ts +0 -1
  162. package/dist/types/components/StorageBrowser/configuration/types.d.ts +19 -0
  163. package/dist/types/components/StorageBrowser/controls/hooks/compareFunctions/compareButtonData.d.ts +1 -1
  164. package/dist/types/components/StorageBrowser/controls/hooks/compareFunctions/compareDateData.d.ts +1 -1
  165. package/dist/types/components/StorageBrowser/controls/hooks/compareFunctions/compareNumberData.d.ts +1 -1
  166. package/dist/types/components/StorageBrowser/controls/hooks/compareFunctions/compareTextData.d.ts +1 -1
  167. package/dist/types/components/StorageBrowser/controls/hooks/getNavigationItems.d.ts +1 -1
  168. package/dist/types/components/StorageBrowser/controls/hooks/useActionCancel.d.ts +1 -1
  169. package/dist/types/components/StorageBrowser/controls/hooks/useActionDestination.d.ts +1 -1
  170. package/dist/types/components/StorageBrowser/controls/hooks/useActionExit.d.ts +1 -1
  171. package/dist/types/components/StorageBrowser/controls/hooks/useActionStart.d.ts +1 -1
  172. package/dist/types/components/StorageBrowser/controls/hooks/useActionsList.d.ts +1 -1
  173. package/dist/types/components/StorageBrowser/controls/hooks/useAddFiles.d.ts +1 -1
  174. package/dist/types/components/StorageBrowser/controls/hooks/useAddFolder.d.ts +1 -1
  175. package/dist/types/components/StorageBrowser/controls/hooks/useDataRefresh.d.ts +1 -1
  176. package/dist/types/components/StorageBrowser/controls/hooks/useDataTable.d.ts +1 -1
  177. package/dist/types/components/StorageBrowser/controls/hooks/useDropZone.d.ts +1 -1
  178. package/dist/types/components/StorageBrowser/controls/hooks/useFolderNameField.d.ts +1 -1
  179. package/dist/types/components/StorageBrowser/controls/hooks/useLoadingIndicator.d.ts +1 -1
  180. package/dist/types/components/StorageBrowser/controls/hooks/useMessage.d.ts +1 -1
  181. package/dist/types/components/StorageBrowser/controls/hooks/useNavigation.d.ts +1 -1
  182. package/dist/types/components/StorageBrowser/controls/hooks/useOverwriteToggle.d.ts +1 -1
  183. package/dist/types/components/StorageBrowser/controls/hooks/usePagination.d.ts +1 -1
  184. package/dist/types/components/StorageBrowser/controls/hooks/useResolvedComposable.d.ts +1 -1
  185. package/dist/types/components/StorageBrowser/controls/hooks/useSearchField.d.ts +1 -1
  186. package/dist/types/components/StorageBrowser/controls/hooks/useSearchSubfoldersToggle.d.ts +1 -1
  187. package/dist/types/components/StorageBrowser/controls/hooks/useStatusDisplay.d.ts +1 -1
  188. package/dist/types/components/StorageBrowser/controls/hooks/useTitle.d.ts +1 -1
  189. package/dist/types/components/StorageBrowser/controls/index.d.ts +22 -0
  190. package/dist/types/components/StorageBrowser/controls/types.d.ts +2 -5
  191. package/dist/types/components/StorageBrowser/{StorageBrowserDefault.d.ts → createStorageBrowser/StorageBrowserDefault.d.ts} +1 -1
  192. package/dist/types/components/StorageBrowser/createStorageBrowser/createProvider.d.ts +3 -0
  193. package/dist/types/components/StorageBrowser/createStorageBrowser/createStorageBrowser.d.ts +9 -0
  194. package/dist/types/components/StorageBrowser/createStorageBrowser/index.d.ts +2 -0
  195. package/dist/types/components/StorageBrowser/createStorageBrowser/types.d.ts +259 -0
  196. package/dist/types/components/StorageBrowser/credentials/{store → credentialsStore}/create.d.ts +1 -1
  197. package/dist/types/components/StorageBrowser/credentials/credentialsStore/index.d.ts +2 -0
  198. package/dist/types/components/StorageBrowser/credentials/{store → credentialsStore}/registry.d.ts +1 -1
  199. package/dist/types/components/StorageBrowser/credentials/credentialsStore/store.d.ts +15 -0
  200. package/dist/types/components/StorageBrowser/credentials/credentialsStore/types.d.ts +44 -0
  201. package/dist/types/components/StorageBrowser/credentials/index.d.ts +3 -0
  202. package/dist/types/components/StorageBrowser/credentials/types.d.ts +14 -20
  203. package/dist/types/components/StorageBrowser/{providers/configuration/credentials → credentials}/useCredentialsStore.d.ts +1 -1
  204. package/dist/types/components/StorageBrowser/displayText/index.d.ts +1 -0
  205. package/dist/types/components/StorageBrowser/displayText/types.d.ts +19 -8
  206. package/dist/types/components/StorageBrowser/displayText/utils.d.ts +3 -0
  207. package/dist/types/components/StorageBrowser/{providers/store/files → files}/types.d.ts +1 -4
  208. package/dist/types/components/StorageBrowser/index.d.ts +5 -5
  209. package/dist/types/components/StorageBrowser/{providers/store/locationItems → locationItems}/context.d.ts +1 -1
  210. package/dist/types/components/StorageBrowser/storage-internal.d.ts +1 -1
  211. package/dist/types/components/StorageBrowser/store/constants.d.ts +2 -0
  212. package/dist/types/components/StorageBrowser/store/context.d.ts +6 -0
  213. package/dist/types/components/StorageBrowser/store/index.d.ts +2 -0
  214. package/dist/types/components/StorageBrowser/store/storeReducer.d.ts +2 -0
  215. package/dist/types/components/StorageBrowser/store/types.d.ts +108 -0
  216. package/dist/types/components/StorageBrowser/store/useStoreReducer.d.ts +2 -0
  217. package/dist/types/components/StorageBrowser/store/utils.d.ts +6 -0
  218. package/dist/types/components/StorageBrowser/store/validateStoreProps.d.ts +9 -0
  219. package/dist/types/components/StorageBrowser/tasks/index.d.ts +1 -1
  220. package/dist/types/components/StorageBrowser/tasks/types.d.ts +41 -23
  221. package/dist/types/components/StorageBrowser/tasks/useProcessTasks.d.ts +3 -3
  222. package/dist/types/components/StorageBrowser/useAction/types.d.ts +67 -32
  223. package/dist/types/components/StorageBrowser/useAction/useHandler.d.ts +4 -3
  224. package/dist/types/components/StorageBrowser/useAction/useList.d.ts +10 -7
  225. package/dist/types/components/StorageBrowser/validators/assertRegisterAuthListener.d.ts +1 -1
  226. package/dist/types/components/StorageBrowser/validators/index.d.ts +1 -1
  227. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/FoldersPaginationControl.d.ts +1 -1
  228. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/FoldersTableControl.d.ts +1 -1
  229. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/getDestinationPickerTableData.d.ts +1 -1
  230. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/types.d.ts +6 -1
  231. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/useFolders.d.ts +1 -1
  232. package/dist/types/components/StorageBrowser/views/LocationActionView/UploadView/types.d.ts +2 -2
  233. package/dist/types/components/StorageBrowser/views/LocationActionView/index.d.ts +0 -1
  234. package/dist/types/components/StorageBrowser/views/LocationActionView/types.d.ts +4 -5
  235. package/dist/types/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getFileRowContent.d.ts +1 -1
  236. package/dist/types/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getFolderRowContent.d.ts +1 -1
  237. package/dist/types/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/getLocationDetailViewTableData.d.ts +2 -2
  238. package/dist/types/components/StorageBrowser/views/LocationDetailView/getLocationDetailViewTableData/types.d.ts +1 -2
  239. package/dist/types/components/StorageBrowser/views/LocationDetailView/index.d.ts +1 -1
  240. package/dist/types/components/StorageBrowser/views/LocationDetailView/types.d.ts +2 -2
  241. package/dist/types/components/StorageBrowser/views/LocationsView/getLocationsViewTableData/getLocationsViewTableData.d.ts +1 -1
  242. package/dist/types/components/StorageBrowser/views/LocationsView/getLocationsViewTableData/types.d.ts +1 -1
  243. package/dist/types/components/StorageBrowser/views/LocationsView/index.d.ts +1 -1
  244. package/dist/types/components/StorageBrowser/views/context/getViews.d.ts +2 -2
  245. package/dist/types/components/StorageBrowser/views/context/views.d.ts +2 -2
  246. package/dist/types/components/StorageBrowser/views/hooks/usePaginate.d.ts +8 -8
  247. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/index.d.ts +2 -0
  248. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/types.d.ts +26 -0
  249. package/dist/types/components/StorageBrowser/views/hooks/useResolveTableData/useResolveTableData.d.ts +6 -0
  250. package/dist/types/components/StorageBrowser/views/types.d.ts +1 -1
  251. package/dist/types/components/StorageBrowser/views/useView.d.ts +16 -13
  252. package/dist/types/components/StorageBrowser/views/utils/index.d.ts +1 -0
  253. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/__testUtils__/tasks.d.ts +23 -0
  254. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/constants.d.ts +16 -0
  255. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/copyResolvers.d.ts +3 -0
  256. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/deleteResolvers.d.ts +3 -0
  257. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/index.d.ts +3 -0
  258. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/types.d.ts +36 -0
  259. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/uploadResolvers.d.ts +3 -0
  260. package/dist/types/components/StorageBrowser/views/utils/tableResolvers/utils.d.ts +12 -0
  261. package/dist/types/components/StorageImage/StorageImage.d.ts +1 -1
  262. package/dist/types/components/StorageImage/types.d.ts +2 -0
  263. package/dist/types/version.d.ts +1 -1
  264. package/package.json +6 -6
  265. package/dist/esm/components/StorageBrowser/StorageBrowserDefault.mjs +0 -45
  266. package/dist/esm/components/StorageBrowser/createStorageBrowser.mjs +0 -108
  267. package/dist/esm/components/StorageBrowser/providers/store/StoreProvider.mjs +0 -15
  268. package/dist/esm/components/StorageBrowser/providers/store/actionType/context.mjs +0 -16
  269. package/dist/esm/components/StorageBrowser/providers/store/actionType/useActionTypeState.mjs +0 -19
  270. package/dist/esm/components/StorageBrowser/providers/store/location/context.mjs +0 -49
  271. package/dist/esm/components/StorageBrowser/providers/store/useStore.mjs +0 -47
  272. package/dist/esm/components/StorageBrowser/views/LocationActionView/CopyView/utils.mjs +0 -3
  273. package/dist/esm/components/StorageBrowser/views/LocationActionView/DeleteView/utils.mjs +0 -3
  274. package/dist/esm/components/StorageBrowser/views/LocationActionView/UploadView/utils.mjs +0 -5
  275. package/dist/esm/components/StorageBrowser/views/LocationActionView/getActionIcon.mjs +0 -25
  276. package/dist/esm/components/StorageBrowser/views/LocationActionView/getActionViewTableData.mjs +0 -141
  277. package/dist/esm/components/StorageBrowser/views/LocationActionView/getDefaultActionViewHeaders.mjs +0 -24
  278. package/dist/esm/components/StorageBrowser/views/LocationActionView/getFileTypeDisplayValue.mjs +0 -5
  279. package/dist/esm/components/StorageBrowser/views/LocationActionView/getPercentValue.mjs +0 -3
  280. package/dist/types/components/StorageBrowser/componentsDefault.d.ts +0 -2
  281. package/dist/types/components/StorageBrowser/createStorageBrowser.d.ts +0 -3
  282. package/dist/types/components/StorageBrowser/credentials/store/index.d.ts +0 -1
  283. package/dist/types/components/StorageBrowser/credentials/store/store.d.ts +0 -41
  284. package/dist/types/components/StorageBrowser/displayText/en.d.ts +0 -9
  285. package/dist/types/components/StorageBrowser/providers/configuration/credentials/index.d.ts +0 -2
  286. package/dist/types/components/StorageBrowser/providers/configuration/credentials/types.d.ts +0 -20
  287. package/dist/types/components/StorageBrowser/providers/configuration/types.d.ts +0 -19
  288. package/dist/types/components/StorageBrowser/providers/index.d.ts +0 -2
  289. package/dist/types/components/StorageBrowser/providers/store/StoreProvider.d.ts +0 -8
  290. package/dist/types/components/StorageBrowser/providers/store/actionType/context.d.ts +0 -6
  291. package/dist/types/components/StorageBrowser/providers/store/actionType/index.d.ts +0 -2
  292. package/dist/types/components/StorageBrowser/providers/store/actionType/types.d.ts +0 -15
  293. package/dist/types/components/StorageBrowser/providers/store/actionType/useActionTypeState.d.ts +0 -2
  294. package/dist/types/components/StorageBrowser/providers/store/index.d.ts +0 -3
  295. package/dist/types/components/StorageBrowser/providers/store/location/context.d.ts +0 -58
  296. package/dist/types/components/StorageBrowser/providers/store/location/index.d.ts +0 -1
  297. package/dist/types/components/StorageBrowser/providers/store/useStore.d.ts +0 -12
  298. package/dist/types/components/StorageBrowser/types.d.ts +0 -74
  299. package/dist/types/components/StorageBrowser/views/LocationActionView/CopyView/utils.d.ts +0 -3
  300. package/dist/types/components/StorageBrowser/views/LocationActionView/DeleteView/utils.d.ts +0 -3
  301. package/dist/types/components/StorageBrowser/views/LocationActionView/UploadView/utils.d.ts +0 -3
  302. package/dist/types/components/StorageBrowser/views/LocationActionView/getActionIcon.d.ts +0 -3
  303. package/dist/types/components/StorageBrowser/views/LocationActionView/getActionViewTableData.d.ts +0 -14
  304. package/dist/types/components/StorageBrowser/views/LocationActionView/getDefaultActionViewHeaders.d.ts +0 -5
  305. package/dist/types/components/StorageBrowser/views/LocationActionView/getFileTypeDisplayValue.d.ts +0 -1
  306. package/dist/types/components/StorageBrowser/views/LocationActionView/getPercentValue.d.ts +0 -1
  307. package/dist/types/components/StorageBrowser/views/LocationActionView/useActionView.d.ts +0 -2
  308. /package/dist/esm/components/StorageBrowser/{constants.mjs → components/base/constants.mjs} +0 -0
  309. /package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/CheckboxDataCell.mjs +0 -0
  310. /package/dist/esm/components/StorageBrowser/{composables → components/composables}/DataTable/headers/CheckboxHeader.mjs +0 -0
  311. /package/dist/esm/components/StorageBrowser/{composables → components/composables}/context.mjs +0 -0
  312. /package/dist/esm/components/StorageBrowser/{composables → components/composables}/defaults.mjs +0 -0
  313. /package/dist/esm/components/StorageBrowser/{context → components}/elements/IconElement.mjs +0 -0
  314. /package/dist/esm/components/StorageBrowser/{context → components}/elements/defaults.mjs +0 -0
  315. /package/dist/esm/components/StorageBrowser/{context → components}/elements/definitions.mjs +0 -0
  316. /package/dist/esm/components/StorageBrowser/{providers/configuration → configuration}/context.mjs +0 -0
  317. /package/dist/esm/components/StorageBrowser/{providers/configuration/credentials → credentials}/context.mjs +0 -0
  318. /package/dist/esm/components/StorageBrowser/credentials/{store → credentialsStore}/constants.mjs +0 -0
  319. /package/dist/esm/components/StorageBrowser/credentials/{store → credentialsStore}/create.mjs +0 -0
  320. /package/dist/esm/components/StorageBrowser/credentials/{store → credentialsStore}/registry.mjs +0 -0
  321. /package/dist/esm/components/StorageBrowser/{providers/store/files → files}/context.mjs +0 -0
  322. /package/dist/esm/components/StorageBrowser/{providers/store/files → files}/utils.mjs +0 -0
  323. /package/dist/types/components/StorageBrowser/components/{BreadcrumbNavigation.d.ts → base/BreadcrumbNavigation.d.ts} +0 -0
  324. /package/dist/types/components/StorageBrowser/components/{Checkbox.d.ts → base/Checkbox.d.ts} +0 -0
  325. /package/dist/types/components/StorageBrowser/components/{DescriptionList.d.ts → base/DescriptionList.d.ts} +0 -0
  326. /package/dist/types/components/StorageBrowser/components/{EmptyMessage.d.ts → base/EmptyMessage.d.ts} +0 -0
  327. /package/dist/types/components/StorageBrowser/components/{Separator.d.ts → base/Separator.d.ts} +0 -0
  328. /package/dist/types/components/StorageBrowser/{constants.d.ts → components/base/constants.d.ts} +0 -0
  329. /package/dist/types/components/StorageBrowser/{composables → components/composables}/ActionCancel.d.ts +0 -0
  330. /package/dist/types/components/StorageBrowser/{composables → components/composables}/ActionDestination.d.ts +0 -0
  331. /package/dist/types/components/StorageBrowser/{composables → components/composables}/ActionExit.d.ts +0 -0
  332. /package/dist/types/components/StorageBrowser/{composables → components/composables}/ActionStart.d.ts +0 -0
  333. /package/dist/types/components/StorageBrowser/{composables → components/composables}/AddFiles.d.ts +0 -0
  334. /package/dist/types/components/StorageBrowser/{composables → components/composables}/AddFolder.d.ts +0 -0
  335. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataRefresh.d.ts +0 -0
  336. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/CheckboxDataCell.d.ts +0 -0
  337. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/DateDataCell.d.ts +0 -0
  338. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/dataCells/NumberDataCell.d.ts +0 -0
  339. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/headers/CheckboxHeader.d.ts +0 -0
  340. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/headers/SortHeader.d.ts +0 -0
  341. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/headers/TextHeader.d.ts +0 -0
  342. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DataTable/types.d.ts +0 -0
  343. /package/dist/types/components/StorageBrowser/{composables → components/composables}/DropZone.d.ts +0 -0
  344. /package/dist/types/components/StorageBrowser/{composables → components/composables}/FolderNameField.d.ts +0 -0
  345. /package/dist/types/components/StorageBrowser/{composables → components/composables}/LoadingIndicator.d.ts +0 -0
  346. /package/dist/types/components/StorageBrowser/{composables → components/composables}/Navigation.d.ts +0 -0
  347. /package/dist/types/components/StorageBrowser/{composables → components/composables}/OverwriteToggle.d.ts +0 -0
  348. /package/dist/types/components/StorageBrowser/{composables → components/composables}/Pagination.d.ts +0 -0
  349. /package/dist/types/components/StorageBrowser/{composables → components/composables}/SearchField.d.ts +0 -0
  350. /package/dist/types/components/StorageBrowser/{composables → components/composables}/SearchSubfoldersToggle.d.ts +0 -0
  351. /package/dist/types/components/StorageBrowser/{composables → components/composables}/StatusDisplay.d.ts +0 -0
  352. /package/dist/types/components/StorageBrowser/{composables → components/composables}/Title.d.ts +0 -0
  353. /package/dist/types/components/StorageBrowser/{composables → components/composables}/context.d.ts +0 -0
  354. /package/dist/types/components/StorageBrowser/{composables → components/composables}/defaults.d.ts +0 -0
  355. /package/dist/types/components/StorageBrowser/{composables → components/composables}/index.d.ts +0 -0
  356. /package/dist/types/components/StorageBrowser/{composables → components/composables}/types.d.ts +0 -0
  357. /package/dist/types/components/StorageBrowser/{context → components}/elements/IconElement.d.ts +0 -0
  358. /package/dist/types/components/StorageBrowser/{context → components}/elements/defaults.d.ts +0 -0
  359. /package/dist/types/components/StorageBrowser/{context → components}/elements/definitions.d.ts +0 -0
  360. /package/dist/types/components/StorageBrowser/{context → components}/elements/index.d.ts +0 -0
  361. /package/dist/types/components/StorageBrowser/{providers/configuration → configuration}/context.d.ts +0 -0
  362. /package/dist/types/components/StorageBrowser/{providers/configuration → configuration}/useGetActionInputCallback.d.ts +0 -0
  363. /package/dist/types/components/StorageBrowser/{providers/configuration/credentials → credentials}/context.d.ts +0 -0
  364. /package/dist/types/components/StorageBrowser/credentials/{store → credentialsStore}/constants.d.ts +0 -0
  365. /package/dist/types/components/StorageBrowser/{providers/store/files → files}/context.d.ts +0 -0
  366. /package/dist/types/components/StorageBrowser/{providers/store/files → files}/index.d.ts +0 -0
  367. /package/dist/types/components/StorageBrowser/{providers/store/files → files}/utils.d.ts +0 -0
  368. /package/dist/types/components/StorageBrowser/{providers/store/locationItems → locationItems}/index.d.ts +0 -0
@@ -78,11 +78,7 @@ const fetchNewValue = async (store, location) => {
78
78
  const storeValues = store.values;
79
79
  const key = createCacheKey(location);
80
80
  if (!storeValues.has(key)) {
81
- const newStoreValue = {
82
- scope: location.scope,
83
- permissions: location.permissions,
84
- };
85
- setCacheRecord(store, key, newStoreValue);
81
+ setCacheRecord(store, key, location);
86
82
  }
87
83
  const storeValue = storeValues.get(key);
88
84
  return dispatchRefresh(store.refreshHandler, storeValue, () => {
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { isFunction } from '@aws-amplify/ui';
3
- import { createLocationCredentialsStore } from '../../../credentials/store/create.mjs';
3
+ import { createLocationCredentialsStore } from './credentialsStore/create.mjs';
4
4
 
5
5
  const createCredentialsStore = ({ ...input }) => {
6
6
  const { destroy, getProvider } = createLocationCredentialsStore(input);
@@ -15,7 +15,6 @@ const DEFAULT_ACTION_VIEW_DISPLAY_TEXT = {
15
15
  tableColumnNameHeader: 'Name',
16
16
  tableColumnTypeHeader: 'Type',
17
17
  tableColumnSizeHeader: 'Size',
18
- tableColumnProgressHeader: 'Progress',
19
18
  };
20
19
  const DEFAULT_LIST_VIEW_DISPLAY_TEXT = {
21
20
  loadingIndicatorLabel: 'Loading',
@@ -4,7 +4,6 @@ import { isFileTooBig } from '../../../validators/isFileTooBig.mjs';
4
4
 
5
5
  const DEFAULT_UPLOAD_VIEW_DISPLAY_TEXT = {
6
6
  ...DEFAULT_ACTION_VIEW_DISPLAY_TEXT,
7
- title: 'Upload',
8
7
  actionStartLabel: 'Upload',
9
8
  addFilesLabel: 'Add files',
10
9
  addFolderLabel: 'Add folder',
@@ -80,8 +79,10 @@ const DEFAULT_UPLOAD_VIEW_DISPLAY_TEXT = {
80
79
  }
81
80
  return undefined;
82
81
  },
83
- statusDisplayOverwritePreventedLabel: 'Overwrite prevented',
84
82
  overwriteToggleLabel: 'Overwrite existing files',
83
+ statusDisplayOverwritePreventedLabel: 'Overwrite prevented',
84
+ tableColumnProgressHeader: 'Progress',
85
+ title: 'Upload',
85
86
  };
86
87
 
87
88
  export { DEFAULT_UPLOAD_VIEW_DISPLAY_TEXT };
@@ -0,0 +1,7 @@
1
+ import { DEFAULT_COPY_VIEW_DISPLAY_TEXT } from './libraries/en/copyView.mjs';
2
+ import { DEFAULT_DELETE_VIEW_DISPLAY_TEXT } from './libraries/en/deleteView.mjs';
3
+
4
+ const isCopyViewDisplayTextKey = (value) => !!DEFAULT_COPY_VIEW_DISPLAY_TEXT[value];
5
+ const isDeleteViewDisplayTextKey = (value) => !!DEFAULT_DELETE_VIEW_DISPLAY_TEXT[value];
6
+
7
+ export { isCopyViewDisplayTextKey, isDeleteViewDisplayTextKey };
@@ -2,9 +2,10 @@ import React__default from 'react';
2
2
  import { createContextUtilities } from '@aws-amplify/ui-react-core';
3
3
  import { noop } from '@aws-amplify/ui';
4
4
  import '@aws-amplify/storage/internals';
5
- import { createFileDataItem } from '../../../actions/handlers/utils.mjs';
5
+ import { createFileDataItem } from '../actions/handlers/utils.mjs';
6
6
  import 'aws-amplify/storage';
7
- import '../../../actions/configs/context.mjs';
7
+ import '../actions/configs/context.mjs';
8
+ import '../actions/configs/defaults.mjs';
8
9
 
9
10
  const DEFAULT_STATE = {
10
11
  fileDataItems: undefined,
@@ -0,0 +1,6 @@
1
+ const DEFAULT_STATE = {
2
+ actionType: undefined,
3
+ location: { current: undefined, path: '', key: '' },
4
+ };
5
+
6
+ export { DEFAULT_STATE };
@@ -0,0 +1,17 @@
1
+ import React__default from 'react';
2
+ import { noop } from '@aws-amplify/ui';
3
+ import { createContextUtilities } from '@aws-amplify/ui-react-core';
4
+ import { DEFAULT_STATE } from './constants.mjs';
5
+ import useStoreReducer from './useStoreReducer.mjs';
6
+
7
+ const DEFAULT_VALUE = [DEFAULT_STATE, noop];
8
+ const { StoreContext, useStore } = createContextUtilities({
9
+ contextName: 'Store',
10
+ defaultValue: DEFAULT_VALUE,
11
+ });
12
+ function StoreProvider({ children, ...props }) {
13
+ const value = useStoreReducer(props);
14
+ return (React__default.createElement(StoreContext.Provider, { value: value }, children));
15
+ }
16
+
17
+ export { StoreContext, StoreProvider, useStore };
@@ -0,0 +1,34 @@
1
+ import { DEFAULT_STATE } from './constants.mjs';
2
+
3
+ function storeReducer(state, action) {
4
+ switch (action.type) {
5
+ case 'CHANGE_LOCATION': {
6
+ const { location, path = '' } = action;
7
+ if (state.location.current?.id === location.id &&
8
+ state.location.path === path) {
9
+ return state;
10
+ }
11
+ const key = `${location.prefix}${path}`;
12
+ return { ...state, location: { current: location, path, key } };
13
+ }
14
+ case 'RESET_LOCATION': {
15
+ if (state.location.current === undefined)
16
+ return state;
17
+ return { ...state, location: DEFAULT_STATE.location };
18
+ }
19
+ case 'CHANGE_ACTION_TYPE': {
20
+ const { actionType } = action;
21
+ if (state.actionType === actionType) {
22
+ return state;
23
+ }
24
+ return { ...state, actionType };
25
+ }
26
+ case 'RESET_ACTION_TYPE': {
27
+ if (state.actionType === undefined)
28
+ return state;
29
+ return { ...state, actionType: DEFAULT_STATE.actionType };
30
+ }
31
+ }
32
+ }
33
+
34
+ export { storeReducer as default };
@@ -0,0 +1,21 @@
1
+ import { useControlledReducer } from '@aws-amplify/ui-react-core';
2
+ import storeReducer from './storeReducer.mjs';
3
+ import { getInitialState, getState } from './utils.mjs';
4
+ import validateStoreProps from './validateStoreProps.mjs';
5
+
6
+ function useStoreReducer(props) {
7
+ validateStoreProps(props);
8
+ const { defaultValue, onValueChange, value, ...legacyProps } = props;
9
+ const initialState = getInitialState(defaultValue, legacyProps);
10
+ const controlledState = value !== undefined ? getState(value) : undefined;
11
+ const onStateChange = ({ actionType, location: { current, path }, }) => {
12
+ const location = !current ? undefined : { ...current, path };
13
+ onValueChange?.({ actionType, location });
14
+ };
15
+ return useControlledReducer(storeReducer, initialState, {
16
+ controlledState,
17
+ onStateChange,
18
+ });
19
+ }
20
+
21
+ export { useStoreReducer as default };
@@ -0,0 +1,40 @@
1
+ import { isObject } from '@aws-amplify/ui';
2
+ import { DEFAULT_STATE } from './constants.mjs';
3
+
4
+ const parseLocationType = ({ prefix, }) => prefix?.endsWith('/') ? 'PREFIX' : prefix?.length ? 'OBJECT' : 'BUCKET';
5
+ function getLocationData(location) {
6
+ if (location === undefined)
7
+ return;
8
+ const { bucket, permissions, prefix, id: _id, type: _type } = location;
9
+ const id = _id ?? crypto.randomUUID();
10
+ const type = _type ?? parseLocationType(location);
11
+ return { bucket, permissions, prefix, id, type };
12
+ }
13
+ function getState(value) {
14
+ if (value === undefined || value === null)
15
+ return DEFAULT_STATE;
16
+ const current = getLocationData(value.location);
17
+ if (!current)
18
+ return DEFAULT_STATE;
19
+ const actionType = value?.actionType;
20
+ const path = value?.location?.path ?? '';
21
+ const key = `${current.prefix}${path}`;
22
+ return { actionType, location: { current, key, path } };
23
+ }
24
+ function getInitialState(defaultValue, legacyProps) {
25
+ // prefer `defaultValue` if provided
26
+ if (isObject(defaultValue) || defaultValue === null) {
27
+ return getState(defaultValue);
28
+ }
29
+ const legacyValue = legacyProps
30
+ ? {
31
+ actionType: legacyProps.actionType,
32
+ location: legacyProps.location
33
+ ? { ...legacyProps.location, path: legacyProps.path }
34
+ : undefined,
35
+ }
36
+ : undefined;
37
+ return getState(legacyValue);
38
+ }
39
+
40
+ export { getInitialState, getLocationData, getState, parseLocationType };
@@ -0,0 +1,68 @@
1
+ import { templateJoin } from '@aws-amplify/ui';
2
+
3
+ const CONLICTING_PROPS = '`StorageBrowser` has been been provided with both `value` and `defaultValue` props. StorageBrowser must be either controlled or uncontrolled (specify either the `value` prop, or the `defaultValue` prop, but not both). Decide between using a controlled or uncontrolled `StorageBrowser` and remove one of these props.';
4
+ const READONLY = 'A `value` prop has been provided to `StorageBrowser` without `onValueChange`. This will render a read-only `StorageBrowser`. If the `StorageBrowser` should be mutable use `defaultValue`, otherwise set `onValueChange`.';
5
+ const MISSING_REQUIRED = 'A `value` prop has been provided to `StorageBrowser` without all required `location` parameters. `StorageBrowser` will ignore the provided `location`. Missing `location` parameters: %s.';
6
+ const DEPRECATED_SUFFIX = '`actionType`, `location` and `path` props have been deprecated and will be removed in a future major version. Provide the `value` prop for controlled behavior or the `defaultValue` prop for uncontrolled behavior.';
7
+ const DEPRECATED_PROPS = '`StorageBrowser` has been provided with one or more deprecated props: %s. %s';
8
+ const DEPRECATED_PROPS_AND_CONFLICTING = '`StorageBrowser` has been provided with deprecated props of %s that conflict with the `value` and `defaultValue` props. %s';
9
+ const CHANGED_MODE = '`StorageBrowser` has changed from controlled to uncontrolled due to the `value` prop resolving to type `%s`. Switching between controlled and uncontrolled behaviors is not supported and may lead to unexpected behaviors.';
10
+ const REQUIRED_LOCATION_KEYS = ['bucket', 'permissions', 'prefix'];
11
+ const DEPRECATED_PROP_KEYS = ['actionType', 'location', 'path'];
12
+ const template = (key, index, values) => `\`${key}\`${index < values.length - 1 ? ', ' : ''}`;
13
+ const getMissingLocationKeys = (location) => location === null
14
+ ? []
15
+ : REQUIRED_LOCATION_KEYS.filter((key) => !location[key]);
16
+ let didWarnConflictingBehavior = false;
17
+ let didWarnDeprecatedAndConflictingProps = false;
18
+ let didWarnDeprecatedProps = false;
19
+ let didWarnMissingParameters = false;
20
+ let didWarnReadonly = false;
21
+ let didWarnChangedMode = false;
22
+ let initialMode;
23
+ function validateStoreProps(props) {
24
+ // eslint-disable-next-line no-console
25
+ const logError = console.error;
26
+ const { defaultValue, location, onValueChange, value } = props;
27
+ const deprecatedProps = templateJoin(DEPRECATED_PROP_KEYS.filter((key) => !!props[key]), template);
28
+ if (!didWarnDeprecatedAndConflictingProps &&
29
+ deprecatedProps &&
30
+ (!!value || !!defaultValue)) {
31
+ logError(DEPRECATED_PROPS_AND_CONFLICTING, deprecatedProps, DEPRECATED_SUFFIX);
32
+ didWarnDeprecatedAndConflictingProps = true;
33
+ }
34
+ if (!didWarnDeprecatedAndConflictingProps &&
35
+ !didWarnDeprecatedProps &&
36
+ deprecatedProps) {
37
+ logError(DEPRECATED_PROPS, deprecatedProps, DEPRECATED_SUFFIX);
38
+ didWarnDeprecatedProps = true;
39
+ }
40
+ const hasConflictingProps = value && defaultValue;
41
+ if (!didWarnConflictingBehavior && hasConflictingProps) {
42
+ logError(CONLICTING_PROPS);
43
+ didWarnConflictingBehavior = true;
44
+ }
45
+ const isReadonly = !hasConflictingProps && value && !onValueChange;
46
+ if (!didWarnReadonly && isReadonly) {
47
+ logError(READONLY);
48
+ didWarnReadonly = true;
49
+ }
50
+ const missingParameters = value?.location
51
+ ? templateJoin(getMissingLocationKeys(value.location), template)
52
+ : location
53
+ ? templateJoin(getMissingLocationKeys(location), template)
54
+ : undefined;
55
+ if (!didWarnMissingParameters && missingParameters) {
56
+ logError(MISSING_REQUIRED, missingParameters);
57
+ didWarnMissingParameters = true;
58
+ }
59
+ const mode = value === undefined ? 'uncontrolled' : 'controlled';
60
+ if (!initialMode)
61
+ initialMode = mode;
62
+ if (!didWarnChangedMode && initialMode !== mode) {
63
+ logError(CHANGED_MODE);
64
+ didWarnChangedMode = true;
65
+ }
66
+ }
67
+
68
+ export { CHANGED_MODE, CONLICTING_PROPS, DEPRECATED_PROPS, DEPRECATED_PROPS_AND_CONFLICTING, DEPRECATED_SUFFIX, MISSING_REQUIRED, READONLY, validateStoreProps as default };
@@ -9,8 +9,8 @@ const QUEUED_TASK_BASE = {
9
9
  status: 'QUEUED',
10
10
  };
11
11
  const isTaskHandlerInput = (input) => !!input.data;
12
- const useProcessTasks = (handler, items, options) => {
13
- const { concurrency, ...callbacks } = options ?? {};
12
+ function useProcessTasks(handler, options) {
13
+ const { concurrency, items, ...callbacks } = options ?? {};
14
14
  const callbacksRef = React__default.useRef(callbacks);
15
15
  if (callbacks) {
16
16
  callbacksRef.current = callbacks;
@@ -36,6 +36,7 @@ const useProcessTasks = (handler, items, options) => {
36
36
  tasksRef.current.set(id, { ...task, ...next });
37
37
  }
38
38
  flush();
39
+ return !next ? undefined : tasksRef.current.get(id);
39
40
  }, [flush]);
40
41
  const createTask = React__default.useCallback((data) => {
41
42
  const getTask = () => tasksRef.current.get(data.id);
@@ -44,9 +45,12 @@ const useProcessTasks = (handler, items, options) => {
44
45
  const task = getTask();
45
46
  if (!task || task?.status !== 'QUEUED')
46
47
  return;
47
- if (task && isFunction(onTaskCancel))
48
- onTaskCancel(task);
49
- updateTask(data.id, { cancel: undefined, status: 'CANCELED' });
48
+ const canceledTask = updateTask(data.id, {
49
+ cancel: undefined,
50
+ status: 'CANCELED',
51
+ });
52
+ if (canceledTask && isFunction(onTaskCancel))
53
+ onTaskCancel(canceledTask);
50
54
  }
51
55
  const task = { ...QUEUED_TASK_BASE, cancel, data };
52
56
  tasksRef.current.set(data.id, task);
@@ -91,16 +95,15 @@ const useProcessTasks = (handler, items, options) => {
91
95
  const { onTaskCancel, onTaskComplete, onTaskError, onTaskProgress, onTaskSuccess, } = callbacksRef.current;
92
96
  const getTask = () => tasksRef.current.get(data.id);
93
97
  const { options } = _input;
94
- const { onProgress: _onProgress, onSuccess, onError } = options ?? {};
98
+ const { onProgress: _onProgress } = options ?? {};
95
99
  const onProgress = ({ id }, progress) => {
96
- const task = getTask();
100
+ const task = updateTask(id, { progress });
97
101
  if (task && isFunction(onTaskProgress)) {
98
102
  onTaskProgress(task, progress);
99
103
  }
100
104
  if (task && isFunction(_onProgress)) {
101
105
  _onProgress(data, progress);
102
106
  }
103
- updateTask(id, { progress });
104
107
  };
105
108
  const input = { ..._input, data, options: { ...options, onProgress } };
106
109
  const { cancel: _cancel, result } = handler(input);
@@ -114,21 +117,16 @@ const useProcessTasks = (handler, items, options) => {
114
117
  };
115
118
  result
116
119
  .then((output) => {
117
- const task = getTask();
118
- if (task && isFunction(onTaskSuccess)) {
119
- onTaskSuccess(task, output?.value);
120
- }
121
- if (task && isFunction(onSuccess))
122
- onSuccess(data, output?.value);
123
- updateTask(data.id, output);
120
+ const task = updateTask(data.id, output);
121
+ const { value } = output;
122
+ if (task && isFunction(onTaskSuccess))
123
+ onTaskSuccess(task, value);
124
124
  })
125
- .catch((e) => {
126
- const task = getTask();
125
+ .catch((error) => {
126
+ const { message } = error;
127
+ const task = updateTask(data.id, { message, status: 'FAILED' });
127
128
  if (task && isFunction(onTaskError))
128
- onTaskError(task, e);
129
- if (task && isFunction(onError))
130
- onError(data, e?.message);
131
- updateTask(data.id, { message: e.message, status: 'FAILED' });
129
+ onTaskError(task, error);
132
130
  })
133
131
  .finally(() => {
134
132
  const task = getTask();
@@ -166,6 +164,6 @@ const useProcessTasks = (handler, items, options) => {
166
164
  { isProcessing, isProcessingComplete, reset, statusCounts, tasks },
167
165
  handleProcessTasks,
168
166
  ];
169
- };
167
+ }
170
168
 
171
169
  export { useProcessTasks };
@@ -2,17 +2,24 @@ import { useActionHandlers } from './context.mjs';
2
2
  import { useHandler } from './useHandler.mjs';
3
3
 
4
4
  const ERROR_MESSAGE = '`useAction` must be called from within `StorageBrowser.Provider`';
5
- const useAction = (key, options) => {
6
- if (key === 'listLocations' ||
7
- key === 'listLocationItems') {
5
+ function assertActionHandlerKey(key) {
6
+ if (key === 'listLocations' || key === 'listLocationItems') {
8
7
  throw new Error(`Value of \`${key}\` cannot be provided to \`useAction\``);
9
8
  }
10
- const { handlers } = useActionHandlers({ errorMessage: ERROR_MESSAGE });
11
- const handler = handlers?.[key];
12
- if (!handler) {
9
+ }
10
+ function assertActionHandler(handler, key) {
11
+ if (typeof handler !== 'function') {
13
12
  throw new Error(`No handler found for value of \`${key}\` provided to \`useAction\``);
14
13
  }
14
+ }
15
+ const useAction = ((key, options) => {
16
+ assertActionHandlerKey(key);
17
+ const { handlers } = useActionHandlers({ errorMessage: ERROR_MESSAGE });
18
+ const handler = handlers?.[key];
19
+ assertActionHandler(handler, key);
15
20
  return useHandler(handler, options);
16
- };
21
+ // casting to allow usage of `UseAction` interface which ensures that
22
+ // the `options` param receives the correct typing
23
+ });
17
24
 
18
25
  export { ERROR_MESSAGE, useAction };
@@ -1,40 +1,35 @@
1
1
  import React__default from 'react';
2
- import { isObject } from '@aws-amplify/ui';
3
- import { useGetActionInput } from '../providers/configuration/context.mjs';
4
- import '../providers/store/location/context.mjs';
5
- import '../providers/store/files/context.mjs';
6
- import '../providers/store/actionType/context.mjs';
7
- import '../providers/store/locationItems/context.mjs';
8
- import { useStore } from '../providers/store/useStore.mjs';
9
- import { useProcessTasks } from '../tasks/useProcessTasks.mjs';
2
+ import '@aws-amplify/ui-react-core/elements';
3
+ import '../credentials/context.mjs';
4
+ import '@aws-amplify/storage/internals';
5
+ import { useGetActionInput } from '../configuration/context.mjs';
10
6
  import { DEFAULT_ACTION_CONCURRENCY } from './constants.mjs';
7
+ import { useProcessTasks } from '../tasks/useProcessTasks.mjs';
11
8
 
12
- const isTasksOptions = (value) => isObject(value);
13
- const useHandler = (action, options) => {
14
- const hasOptions = isTasksOptions(options);
15
- const { items, onTaskSuccess } = options ?? {};
16
- const getConfig = useGetActionInput();
17
- const { location: { current }, } = useStore()[0];
18
- const [state, processTask] = useProcessTasks(action, items, {
19
- onTaskSuccess,
20
- ...(items ? { concurrency: DEFAULT_ACTION_CONCURRENCY } : undefined),
9
+ const isOptionsWithItems = (options) => !!options?.items;
10
+ const isHandleTaskInput = (value) => !!value?.data;
11
+ function useHandler(handler, options) {
12
+ const [state, handleProcessing] = useProcessTasks(handler, {
13
+ ...options,
14
+ concurrency: DEFAULT_ACTION_CONCURRENCY,
21
15
  });
22
- const { reset, isProcessing, tasks } = state;
23
- const handler = React__default.useCallback((input) => {
24
- const { location } = input ?? {};
25
- const config = getConfig(location ?? current);
26
- if (!hasOptions) {
27
- // clean up previous state
16
+ const getConfig = useGetActionInput();
17
+ const { reset, isProcessing, tasks, ...rest } = state;
18
+ const handleDispatch = React__default.useCallback((input) => {
19
+ const config = getConfig(input?.location);
20
+ const hasData = isHandleTaskInput(input);
21
+ // clean up previous state for atomic handler
22
+ if (hasData)
28
23
  reset();
29
- processTask({ ...input, config });
30
- return;
31
- }
32
- processTask({ config });
33
- }, [current, getConfig, hasOptions, processTask, reset]);
34
- return [
35
- hasOptions ? state : { isProcessing, task: tasks?.[0] },
36
- handler,
37
- ];
38
- };
24
+ handleProcessing({
25
+ config,
26
+ ...(hasData ? { data: input.data } : undefined),
27
+ });
28
+ }, [getConfig, handleProcessing, reset]);
29
+ if (isOptionsWithItems(options)) {
30
+ return [{ ...rest, isProcessing, reset, tasks }, handleDispatch];
31
+ }
32
+ return [{ isProcessing, task: tasks?.[0] }, handleDispatch];
33
+ }
39
34
 
40
35
  export { useHandler };
@@ -8,7 +8,6 @@ const LIST_ACTION_HOOKS = {
8
8
  locations: useListLocations,
9
9
  };
10
10
  const isListActionViewType = (value) => Object.keys(LIST_ACTION_HOOKS).includes(value);
11
- // @ts-expect-error
12
11
  const useList = (type) => {
13
12
  if (!isListActionViewType(type)) {
14
13
  throw new Error(`Value of \`${type}\` cannot be used to index \`useList\``);
@@ -4,8 +4,9 @@ import { USE_LIST_ERROR_MESSAGE } from './constants.mjs';
4
4
  import { useActionHandlers } from './context.mjs';
5
5
  import { createEnhancedListHandler } from './createEnhancedListHandler.mjs';
6
6
  import '@aws-amplify/ui-react-core/elements';
7
- import '../providers/configuration/credentials/context.mjs';
8
- import { useGetActionInput } from '../providers/configuration/context.mjs';
7
+ import '../credentials/context.mjs';
8
+ import '@aws-amplify/storage/internals';
9
+ import { useGetActionInput } from '../configuration/context.mjs';
9
10
 
10
11
  const useListFolderItems = () => {
11
12
  const { handlers } = useActionHandlers({
@@ -1,8 +1,9 @@
1
1
  import React__default from 'react';
2
2
  import { useDataState } from '@aws-amplify/ui-react-core';
3
3
  import '@aws-amplify/ui-react-core/elements';
4
- import '../providers/configuration/credentials/context.mjs';
5
- import { useGetActionInput } from '../providers/configuration/context.mjs';
4
+ import '../credentials/context.mjs';
5
+ import '@aws-amplify/storage/internals';
6
+ import { useGetActionInput } from '../configuration/context.mjs';
6
7
  import { USE_LIST_ERROR_MESSAGE } from './constants.mjs';
7
8
  import { useActionHandlers } from './context.mjs';
8
9
  import { createEnhancedListHandler } from './createEnhancedListHandler.mjs';
@@ -1,8 +1,12 @@
1
1
  import React__default from 'react';
2
- import { STORAGE_BROWSER_BLOCK } from '../../../constants.mjs';
2
+ import { classNames } from '@aws-amplify/ui';
3
3
  import '@aws-amplify/ui-react';
4
- import { ViewElement } from '../../../context/elements/definitions.mjs';
5
- import '../../../context/elements/IconElement.mjs';
4
+ import { ViewElement } from '../../../components/elements/definitions.mjs';
5
+ import '../../../components/elements/IconElement.mjs';
6
+ import { STORAGE_BROWSER_BLOCK } from '../../../components/base/constants.mjs';
7
+ import '../../../components/composables/context.mjs';
8
+ import '@aws-amplify/ui-react-core';
9
+ import '@aws-amplify/ui-react-core/elements';
6
10
  import { ActionCancelControl } from '../../../controls/ActionCancelControl.mjs';
7
11
  import { ActionExitControl } from '../../../controls/ActionExitControl.mjs';
8
12
  import { ActionStartControl } from '../../../controls/ActionStartControl.mjs';
@@ -18,7 +22,6 @@ import { FoldersPaginationControl } from './FoldersPaginationControl.mjs';
18
22
  import { FoldersTableControl } from './FoldersTableControl.mjs';
19
23
  import { ActionDestinationControl } from '../../../controls/ActionDestinationControl.mjs';
20
24
  import { useCopyView } from './useCopyView.mjs';
21
- import { classNames } from '@aws-amplify/ui';
22
25
 
23
26
  const CopyView = ({ className, ...props }) => {
24
27
  const state = useCopyView(props);
@@ -1,24 +1,27 @@
1
1
  import React__default from 'react';
2
+ import '@aws-amplify/ui';
3
+ import '@aws-amplify/ui-react';
4
+ import '../../../components/elements/definitions.mjs';
5
+ import '../../../components/elements/IconElement.mjs';
2
6
  import { ControlsContextProvider } from '../../../controls/context.mjs';
7
+ import '../../../components/composables/context.mjs';
8
+ import '@aws-amplify/ui-react-core';
9
+ import '@aws-amplify/ui-react-core/elements';
3
10
  import { useDisplayText } from '../../../displayText/context.mjs';
4
- import '@aws-amplify/ui';
5
- import { getActionViewTableData } from '../getActionViewTableData.mjs';
11
+ import useResolveDataTable from '../../hooks/useResolveTableData/useResolveTableData.mjs';
12
+ import { COPY_TABLE_RESOLVERS, COPY_TABLE_KEYS } from '../../utils/tableResolvers/copyResolvers.mjs';
6
13
  import { FoldersMessageProvider } from './FoldersMessageControl.mjs';
7
14
  import { FoldersPaginationProvider } from './FoldersPaginationControl.mjs';
8
15
  import { FoldersTableProvider } from './FoldersTableControl.mjs';
9
- import { getFolderText } from './utils.mjs';
10
16
 
11
17
  function CopyViewProvider({ children, ...props }) {
12
18
  const { CopyView: displayText } = useDisplayText();
13
19
  const { actionCancelLabel, actionDestinationLabel, actionExitLabel, actionStartLabel, getActionCompleteMessage, overwriteWarningMessage, searchPlaceholder, searchSubmitLabel, searchClearLabel, statusDisplayCanceledLabel, statusDisplayCompletedLabel, statusDisplayFailedLabel, statusDisplayQueuedLabel, title, } = displayText;
14
- const { destination, folders, isProcessing, isProcessingComplete, statusCounts, tasks, onActionCancel, onActionExit, onActionStart, onSelectDestination, onTaskRemove, } = props;
20
+ const { destination, folders, isProcessing, isProcessingComplete, statusCounts, tasks: items, onActionCancel, onActionExit, onActionStart, onSelectDestination, onTaskRemove, } = props;
15
21
  const { hasNextPage, highestPageVisited, hasError: hasFoldersError, message: foldersErrorMessage, query, hasExhaustedSearch, isLoading, page, pageItems, onPaginate, onQuery, onSearchClear, onSearch, onSelectFolder, } = folders;
16
- const tableData = getActionViewTableData({
17
- getFolderText,
18
- tasks,
19
- isProcessing,
20
- displayText,
21
- onTaskRemove,
22
+ const tableData = useResolveDataTable(COPY_TABLE_KEYS, COPY_TABLE_RESOLVERS, {
23
+ items,
24
+ props: { displayText, isProcessing, onTaskRemove },
22
25
  });
23
26
  const isActionStartDisabled = isProcessing || isProcessingComplete || !destination?.current;
24
27
  const isActionCancelDisabled = !isProcessing || isProcessingComplete;
@@ -3,11 +3,13 @@ import { createContextUtilities } from '@aws-amplify/ui-react-core';
3
3
  import { ControlsContextProvider } from '../../../controls/context.mjs';
4
4
  import { MessageControl } from '../../../controls/MessageControl.mjs';
5
5
  import '@aws-amplify/ui-react';
6
- import { ViewElement } from '../../../context/elements/definitions.mjs';
7
- import '../../../context/elements/IconElement.mjs';
8
- import { STORAGE_BROWSER_BLOCK } from '../../../constants.mjs';
9
- import { useDisplayText } from '../../../displayText/context.mjs';
6
+ import { ViewElement } from '../../../components/elements/definitions.mjs';
7
+ import '../../../components/elements/IconElement.mjs';
10
8
  import '@aws-amplify/ui';
9
+ import { STORAGE_BROWSER_BLOCK } from '../../../components/base/constants.mjs';
10
+ import '../../../components/composables/context.mjs';
11
+ import '@aws-amplify/ui-react-core/elements';
12
+ import { useDisplayText } from '../../../displayText/context.mjs';
11
13
 
12
14
  const defaultValue = {};
13
15
  const { useFoldersMessage, FoldersMessageProvider } = createContextUtilities({ contextName: 'FoldersMessage', defaultValue });
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { createContextUtilities } from '@aws-amplify/ui-react-core';
3
- import { Pagination } from '../../../composables/Pagination.mjs';
3
+ import { Pagination } from '../../../components/composables/Pagination.mjs';
4
4
  import { useResolvedComposable } from '../../../controls/hooks/useResolvedComposable.mjs';
5
5
 
6
6
  const defaultValue = {};