@webiny/app-file-manager 5.36.2 → 5.37.0-beta.1

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 (329) hide show
  1. package/BatchFileUploader.d.ts +2 -2
  2. package/BatchFileUploader.js +3 -7
  3. package/BatchFileUploader.js.map +1 -1
  4. package/FileManagerFileTypePlugin.d.ts +1 -0
  5. package/FileManagerFileTypePlugin.js +0 -2
  6. package/FileManagerFileTypePlugin.js.map +1 -1
  7. package/app.js.map +1 -1
  8. package/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
  9. package/components/BottomInfoBar/ListStatus.js.map +1 -1
  10. package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  11. package/components/BottomInfoBar/index.js.map +1 -1
  12. package/components/BottomInfoBar/styled.js.map +1 -1
  13. package/components/DropFilesHere/DropFilesHere.js.map +1 -1
  14. package/components/DropFilesHere/index.js.map +1 -1
  15. package/components/DropFilesHere/styled.js.map +1 -1
  16. package/components/Empty/Empty.js.map +1 -1
  17. package/components/Empty/index.js.map +1 -1
  18. package/components/FileDetails/FileDetails.d.ts +0 -15
  19. package/components/FileDetails/FileDetails.js +115 -227
  20. package/components/FileDetails/FileDetails.js.map +1 -1
  21. package/components/FileDetails/FileDetailsProvider.d.ts +13 -0
  22. package/components/FileDetails/FileDetailsProvider.js +25 -0
  23. package/components/FileDetails/FileDetailsProvider.js.map +1 -0
  24. package/components/FileDetails/components/Actions.d.ts +2 -0
  25. package/components/FileDetails/components/Actions.js +35 -0
  26. package/components/FileDetails/components/Actions.js.map +1 -0
  27. package/components/FileDetails/{Aliases.d.ts → components/Aliases.d.ts} +0 -1
  28. package/components/FileDetails/components/Aliases.js +107 -0
  29. package/components/FileDetails/components/Aliases.js.map +1 -0
  30. package/components/FileDetails/components/BaseFields.d.ts +7 -0
  31. package/components/FileDetails/components/BaseFields.js +31 -0
  32. package/components/FileDetails/components/BaseFields.js.map +1 -0
  33. package/components/FileDetails/components/Content.d.ts +12 -0
  34. package/components/FileDetails/components/Content.js +29 -0
  35. package/components/FileDetails/components/Content.js.map +1 -0
  36. package/components/FileDetails/components/CreatedOn.d.ts +2 -0
  37. package/components/FileDetails/components/CreatedOn.js +33 -0
  38. package/components/FileDetails/components/CreatedOn.js.map +1 -0
  39. package/components/FileDetails/components/Extensions.d.ts +7 -0
  40. package/components/FileDetails/components/Extensions.js +59 -0
  41. package/components/FileDetails/components/Extensions.js.map +1 -0
  42. package/components/FileDetails/components/Flex.d.ts +7 -0
  43. package/components/FileDetails/components/Flex.js +27 -0
  44. package/components/FileDetails/components/Flex.js.map +1 -0
  45. package/components/FileDetails/components/Footer.d.ts +2 -0
  46. package/components/FileDetails/components/Footer.js +28 -0
  47. package/components/FileDetails/components/Footer.js.map +1 -0
  48. package/components/FileDetails/components/Header.d.ts +2 -0
  49. package/components/FileDetails/components/Header.js +28 -0
  50. package/components/FileDetails/components/Header.js.map +1 -0
  51. package/components/FileDetails/components/Name.d.ts +2 -0
  52. package/components/FileDetails/components/Name.js +30 -0
  53. package/components/FileDetails/components/Name.js.map +1 -0
  54. package/components/FileDetails/components/Preview.d.ts +2 -0
  55. package/components/FileDetails/components/Preview.js +18 -0
  56. package/components/FileDetails/components/Preview.js.map +1 -0
  57. package/components/FileDetails/components/PreviewMeta.d.ts +2 -0
  58. package/components/FileDetails/components/PreviewMeta.js +19 -0
  59. package/components/FileDetails/components/PreviewMeta.js.map +1 -0
  60. package/components/FileDetails/components/Tags.d.ts +2 -0
  61. package/components/FileDetails/components/Tags.js +37 -0
  62. package/components/FileDetails/components/Tags.js.map +1 -0
  63. package/components/FileDetails/components/Thumbnail.d.ts +5 -0
  64. package/components/FileDetails/components/Thumbnail.js +26 -0
  65. package/components/FileDetails/components/Thumbnail.js.map +1 -0
  66. package/components/FileDetails/components/TypeAndSize.d.ts +2 -0
  67. package/components/FileDetails/components/TypeAndSize.js +45 -0
  68. package/components/FileDetails/components/TypeAndSize.js.map +1 -0
  69. package/components/FileDetails/components/actions/CopyUrl.d.ts +2 -0
  70. package/components/FileDetails/components/actions/CopyUrl.js +33 -0
  71. package/components/FileDetails/components/actions/CopyUrl.js.map +1 -0
  72. package/components/FileDetails/components/actions/DeleteImage.d.ts +6 -0
  73. package/components/FileDetails/{DeleteImageAction.js → components/actions/DeleteImage.js} +8 -7
  74. package/components/FileDetails/components/actions/DeleteImage.js.map +1 -0
  75. package/components/FileDetails/components/actions/Download.d.ts +2 -0
  76. package/components/FileDetails/components/actions/Download.js +31 -0
  77. package/components/FileDetails/components/actions/Download.js.map +1 -0
  78. package/components/FileDetails/components/actions/MoveTo.d.ts +2 -0
  79. package/components/FileDetails/components/actions/MoveTo.js +29 -0
  80. package/components/FileDetails/components/actions/MoveTo.js.map +1 -0
  81. package/components/FileDetails/index.js.map +1 -1
  82. package/components/Grid/File.d.ts +3 -3
  83. package/components/Grid/File.js +52 -30
  84. package/components/Grid/File.js.map +1 -1
  85. package/components/Grid/Grid.d.ts +1 -1
  86. package/components/Grid/Grid.js +27 -54
  87. package/components/Grid/Grid.js.map +1 -1
  88. package/components/Grid/index.js.map +1 -1
  89. package/components/Grid/styled.d.ts +9 -6
  90. package/components/Grid/styled.js +20 -18
  91. package/components/Grid/styled.js.map +1 -1
  92. package/components/NoPermission/NoPermission.js.map +1 -1
  93. package/components/NoPermission/index.js.map +1 -1
  94. package/components/NoPermission/styled.js.map +1 -1
  95. package/components/NoResults/NoResults.js.map +1 -1
  96. package/components/NoResults/index.js.map +1 -1
  97. package/components/NoResults/styled.js.map +1 -1
  98. package/components/Table/FolderActionDelete.js.map +1 -1
  99. package/components/Table/FolderActionEdit.js.map +1 -1
  100. package/components/Table/Name.js.map +1 -1
  101. package/components/Table/RecordActionCopy.d.ts +1 -1
  102. package/components/Table/RecordActionCopy.js.map +1 -1
  103. package/components/Table/RecordActionDelete.d.ts +1 -1
  104. package/components/Table/RecordActionDelete.js +2 -6
  105. package/components/Table/RecordActionDelete.js.map +1 -1
  106. package/components/Table/RecordActionEdit.js.map +1 -1
  107. package/components/Table/RecordActionMove.d.ts +2 -6
  108. package/components/Table/RecordActionMove.js +6 -3
  109. package/components/Table/RecordActionMove.js.map +1 -1
  110. package/components/Table/Table.d.ts +25 -12
  111. package/components/Table/Table.js +111 -145
  112. package/components/Table/Table.js.map +1 -1
  113. package/components/Table/index.js.map +1 -1
  114. package/components/Table/styled.js.map +1 -1
  115. package/components/Title/Title.js.map +1 -1
  116. package/components/Title/index.js.map +1 -1
  117. package/components/Title/styled.js.map +1 -1
  118. package/components/UploadStatus/UploadStatus.js.map +1 -1
  119. package/components/UploadStatus/index.js.map +1 -1
  120. package/components/UploadStatus/styled.js.map +1 -1
  121. package/constants.d.ts +3 -2
  122. package/constants.js +13 -6
  123. package/constants.js.map +1 -1
  124. package/contexts/FileProvider.js.map +1 -0
  125. package/getFileTypePlugin.d.ts +1 -2
  126. package/getFileTypePlugin.js.map +1 -1
  127. package/hooks/useCopyFile.js +3 -3
  128. package/hooks/useCopyFile.js.map +1 -1
  129. package/hooks/useDeleteFile.js +7 -3
  130. package/hooks/useDeleteFile.js.map +1 -1
  131. package/hooks/useFile.d.ts +2 -0
  132. package/hooks/useFile.js +17 -0
  133. package/hooks/useFile.js.map +1 -0
  134. package/hooks/useFileDetails.d.ts +2 -0
  135. package/hooks/useFileDetails.js +17 -0
  136. package/hooks/useFileDetails.js.map +1 -0
  137. package/hooks/useFileModel.d.ts +1 -0
  138. package/hooks/useFileModel.js +16 -0
  139. package/hooks/useFileModel.js.map +1 -0
  140. package/hooks/useMoveFileToFolder.d.ts +2 -0
  141. package/hooks/useMoveFileToFolder.js +48 -0
  142. package/hooks/useMoveFileToFolder.js.map +1 -0
  143. package/index.d.ts +5 -2
  144. package/index.js +60 -13
  145. package/index.js.map +1 -1
  146. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +3 -1
  147. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +128 -76
  148. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
  149. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.d.ts +6 -0
  150. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js +36 -0
  151. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js.map +1 -0
  152. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -1
  153. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -1
  154. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js.map +1 -1
  155. package/modules/FileManagerApiProvider/graphql.d.ts +46 -28
  156. package/modules/FileManagerApiProvider/graphql.js +18 -9
  157. package/modules/FileManagerApiProvider/graphql.js.map +1 -1
  158. package/modules/FileManagerApiProvider/index.js +2 -1
  159. package/modules/FileManagerApiProvider/index.js.map +1 -1
  160. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.d.ts +5 -0
  161. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +389 -0
  162. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -0
  163. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +32 -0
  164. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +37 -0
  165. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -0
  166. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.d.ts +8 -0
  167. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js +32 -0
  168. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -0
  169. package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.d.ts +4 -0
  170. package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js +36 -0
  171. package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js.map +1 -0
  172. package/modules/FileManagerRenderer/FileManagerView/components/Filters.d.ts +2 -0
  173. package/modules/FileManagerRenderer/FileManagerView/components/Filters.js +33 -0
  174. package/modules/FileManagerRenderer/FileManagerView/components/Filters.js.map +1 -0
  175. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.d.ts +2 -0
  176. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js +65 -0
  177. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js.map +1 -0
  178. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.d.ts +6 -0
  179. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js +18 -0
  180. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js.map +1 -0
  181. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.d.ts +9 -0
  182. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js +28 -0
  183. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -0
  184. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.d.ts +11 -0
  185. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js +73 -0
  186. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -0
  187. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.d.ts +1 -0
  188. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js +16 -0
  189. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js.map +1 -0
  190. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.d.ts +23 -0
  191. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js +38 -0
  192. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js.map +1 -0
  193. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.d.ts +17 -0
  194. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js +52 -0
  195. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js.map +1 -0
  196. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.d.ts +7 -0
  197. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js +21 -0
  198. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js.map +1 -0
  199. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +17 -0
  200. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +13 -0
  201. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -0
  202. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.d.ts +8 -0
  203. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js +32 -0
  204. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js.map +1 -0
  205. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.d.ts +5 -0
  206. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js +21 -0
  207. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js.map +1 -0
  208. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +12 -0
  209. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +15 -0
  210. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -0
  211. package/modules/FileManagerRenderer/FileManagerView/index.d.ts +2 -0
  212. package/modules/FileManagerRenderer/{DefaultRenderer → FileManagerView}/index.js +11 -9
  213. package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -0
  214. package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js.map +1 -0
  215. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +59 -33
  216. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +405 -237
  217. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  218. package/modules/FileManagerRenderer/FileManagerViewProvider/index.js.map +1 -1
  219. package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +29 -0
  220. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +39 -0
  221. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -0
  222. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.d.ts +2 -2
  223. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js.map +1 -1
  224. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +25 -0
  225. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +174 -0
  226. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -0
  227. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.d.ts +11 -0
  228. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +100 -0
  229. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js.map +1 -0
  230. package/modules/FileManagerRenderer/filters/FilterByType.d.ts +2 -0
  231. package/modules/FileManagerRenderer/filters/FilterByType.js +38 -0
  232. package/modules/FileManagerRenderer/filters/FilterByType.js.map +1 -0
  233. package/modules/FileManagerRenderer/index.js +8 -2
  234. package/modules/FileManagerRenderer/index.js.map +1 -1
  235. package/modules/FileTypes/fileDefault.js.map +1 -1
  236. package/modules/FileTypes/fileImage/EditAction.js +2 -2
  237. package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
  238. package/modules/FileTypes/fileImage/index.js +10 -9
  239. package/modules/FileTypes/fileImage/index.js.map +1 -1
  240. package/modules/FileTypes/index.js.map +1 -1
  241. package/modules/Settings/graphql.js.map +1 -1
  242. package/modules/Settings/index.js.map +1 -1
  243. package/modules/Settings/plugins/installation.js +1 -1
  244. package/modules/Settings/plugins/installation.js.map +1 -1
  245. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +16 -2
  246. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
  247. package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -1
  248. package/modules/Settings/views/FileManagerSettings.js.map +1 -1
  249. package/package.json +24 -22
  250. package/tagsHelpers.js.map +1 -1
  251. package/types.d.ts +4 -0
  252. package/types.js.map +1 -1
  253. package/components/FileDetails/Aliases.js +0 -232
  254. package/components/FileDetails/Aliases.js.map +0 -1
  255. package/components/FileDetails/DeleteImageAction.d.ts +0 -6
  256. package/components/FileDetails/DeleteImageAction.js.map +0 -1
  257. package/components/FileDetails/FileProvider.js.map +0 -1
  258. package/components/FileDetails/Name.d.ts +0 -3
  259. package/components/FileDetails/Name.js +0 -81
  260. package/components/FileDetails/Name.js.map +0 -1
  261. package/components/FileDetails/Tags.d.ts +0 -7
  262. package/components/FileDetails/Tags.js +0 -191
  263. package/components/FileDetails/Tags.js.map +0 -1
  264. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.d.ts +0 -18
  265. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js +0 -623
  266. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js.map +0 -1
  267. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.d.ts +0 -12
  268. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js +0 -75
  269. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js.map +0 -1
  270. package/modules/FileManagerRenderer/AcoRenderer/index.d.ts +0 -2
  271. package/modules/FileManagerRenderer/AcoRenderer/index.js +0 -70
  272. package/modules/FileManagerRenderer/AcoRenderer/index.js.map +0 -1
  273. package/modules/FileManagerRenderer/AcoRenderer/outputFileSelectionError.js.map +0 -1
  274. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
  275. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js +0 -46
  276. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js.map +0 -1
  277. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.d.ts +0 -7
  278. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js +0 -63
  279. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js.map +0 -1
  280. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/check.svg +0 -3
  281. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/loading.svg +0 -17
  282. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.d.ts +0 -6
  283. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js +0 -29
  284. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js.map +0 -1
  285. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.d.ts +0 -11
  286. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js +0 -68
  287. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js.map +0 -1
  288. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.d.ts +0 -7
  289. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js +0 -32
  290. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js.map +0 -1
  291. package/modules/FileManagerRenderer/DefaultRenderer/File.d.ts +0 -16
  292. package/modules/FileManagerRenderer/DefaultRenderer/File.js +0 -131
  293. package/modules/FileManagerRenderer/DefaultRenderer/File.js.map +0 -1
  294. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.d.ts +0 -18
  295. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js +0 -414
  296. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js.map +0 -1
  297. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.d.ts +0 -6
  298. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js +0 -96
  299. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js.map +0 -1
  300. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.d.ts +0 -3
  301. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js +0 -74
  302. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js.map +0 -1
  303. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.d.ts +0 -3
  304. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js +0 -22
  305. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js.map +0 -1
  306. package/modules/FileManagerRenderer/DefaultRenderer/index.d.ts +0 -2
  307. package/modules/FileManagerRenderer/DefaultRenderer/index.js.map +0 -1
  308. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.d.ts +0 -2
  309. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js +0 -40
  310. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js.map +0 -1
  311. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.d.ts +0 -54
  312. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js +0 -430
  313. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js.map +0 -1
  314. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.d.ts +0 -2
  315. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js +0 -27
  316. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js.map +0 -1
  317. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.d.ts +0 -74
  318. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js +0 -118
  319. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js.map +0 -1
  320. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.d.ts +0 -3
  321. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js +0 -15
  322. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js.map +0 -1
  323. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.d.ts +0 -60
  324. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js +0 -95
  325. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js.map +0 -1
  326. package/{components/FileDetails → contexts}/FileProvider.d.ts +1 -1
  327. /package/{components/FileDetails → contexts}/FileProvider.js +0 -0
  328. /package/modules/FileManagerRenderer/{AcoRenderer → FileManagerView}/outputFileSelectionError.d.ts +0 -0
  329. /package/modules/FileManagerRenderer/{AcoRenderer → FileManagerView}/outputFileSelectionError.js +0 -0
@@ -9,72 +9,111 @@ exports.FileManagerApiProvider = exports.FileManagerApiContext = void 0;
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
13
  var _react = _interopRequireWildcard(require("react"));
13
14
  var _reactHooks = require("@apollo/react-hooks");
15
+ var _error = _interopRequireDefault(require("@webiny/error"));
14
16
  var _appSecurity = require("@webiny/app-security");
15
17
  var _graphql = require("../graphql");
16
18
  var _getFileUploader = require("./getFileUploader");
19
+ var _createFieldsList = require("@webiny/app-headless-cms/admin/graphql/createFieldsList");
20
+ var _useFileModel = require("../../../hooks/useFileModel");
21
+ var _omit = _interopRequireDefault(require("lodash/omit"));
17
22
  var FileManagerApiContext = /*#__PURE__*/_react.default.createContext(undefined);
18
23
  exports.FileManagerApiContext = FileManagerApiContext;
24
+ var getModelFields = function getModelFields(model) {
25
+ var fields = (0, _createFieldsList.createFieldsList)({
26
+ model: model,
27
+ fields: model.fields
28
+ });
29
+ return (/* GraphQL */"{\n __typename\n id\n createdOn\n savedOn\n createdBy {\n id\n displayName\n }\n src\n ".concat(fields, "\n }")
30
+ );
31
+ };
32
+ var FM_FULL_ACCESS_PERMISSION_NAME = "fm.*";
19
33
  var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
20
34
  var children = _ref.children;
21
35
  var _useSecurity = (0, _appSecurity.useSecurity)(),
22
36
  identity = _useSecurity.identity,
37
+ getIdentityId = _useSecurity.getIdentityId,
38
+ getPermissions = _useSecurity.getPermissions,
23
39
  getPermission = _useSecurity.getPermission;
24
40
  var client = (0, _reactHooks.useApolloClient)();
25
- var fmFilePermission = (0, _react.useMemo)(function () {
26
- return getPermission("fm.file");
41
+ var fileModel = (0, _useFileModel.useFileModel)();
42
+ var _useState = (0, _react.useState)(getModelFields(fileModel)),
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
44
+ modelFields = _useState2[0];
45
+
46
+ // Note for below permissions checks:
47
+ // `own: true` defines full RWD access to files created by the user.
48
+
49
+ var fmFilePermissions = (0, _react.useMemo)(function () {
50
+ return getPermissions("fm.file");
27
51
  }, [identity]);
52
+ var hasFullAccess = (0, _react.useMemo)(function () {
53
+ return !!getPermission(FM_FULL_ACCESS_PERMISSION_NAME);
54
+ }, [identity]);
55
+ var hasNoAccess = (0, _react.useMemo)(function () {
56
+ return fmFilePermissions.length === 0;
57
+ }, [fmFilePermissions]);
28
58
  var canDelete = (0, _react.useCallback)(function (item) {
29
- // Bail out early if no access
30
- if (!fmFilePermission) {
59
+ // Bail out early if no access or has full access.
60
+ if (hasNoAccess) {
31
61
  return false;
32
62
  }
33
- if (fmFilePermission.own) {
34
- var identityId = identity ? identity.id || identity.login : null;
35
- if (!identityId) {
36
- return false;
63
+ return hasFullAccess || fmFilePermissions.some(function (_ref2) {
64
+ var rwd = _ref2.rwd,
65
+ own = _ref2.own;
66
+ if (own) {
67
+ var _item$createdBy;
68
+ var identityId = getIdentityId();
69
+ var createdById = (_item$createdBy = item.createdBy) === null || _item$createdBy === void 0 ? void 0 : _item$createdBy.id;
70
+ return identityId && identityId === createdById;
37
71
  }
38
- return item.createdBy.id === identityId;
39
- }
40
- if (typeof fmFilePermission.rwd === "string") {
41
- return fmFilePermission.rwd.includes("d");
42
- }
43
- return true;
44
- }, [fmFilePermission]);
72
+ if (rwd && rwd.includes("d")) {
73
+ return true;
74
+ }
75
+ return false;
76
+ });
77
+ }, [fmFilePermissions]);
45
78
  var canRead = (0, _react.useMemo)(function () {
46
- return Boolean(fmFilePermission);
47
- }, [fmFilePermission]);
48
- var canCreate = (0, _react.useMemo)(function () {
49
- // Bail out early if no access
50
- if (!fmFilePermission) {
79
+ // Bail out early if no access or has full access.
80
+ if (hasNoAccess) {
51
81
  return false;
52
82
  }
53
- if (fmFilePermission.own) {
54
- return true;
55
- }
56
- if (typeof fmFilePermission.rwd === "string") {
57
- return fmFilePermission.rwd.includes("w");
83
+ return hasFullAccess || fmFilePermissions.length > 0;
84
+ }, [fmFilePermissions]);
85
+ var canCreate = (0, _react.useMemo)(function () {
86
+ // Bail out early if no access or has full access.
87
+ if (hasNoAccess) {
88
+ return false;
58
89
  }
59
- return true;
60
- }, [fmFilePermission]);
90
+ return hasFullAccess || fmFilePermissions.some(function (_ref3) {
91
+ var rwd = _ref3.rwd;
92
+ return rwd && rwd.includes("w");
93
+ });
94
+ }, [fmFilePermissions]);
61
95
  var canEdit = (0, _react.useCallback)(function (item) {
62
- // Bail out early if no access
63
- if (!fmFilePermission) {
96
+ // Bail out early if no access or has full access.
97
+ if (hasNoAccess) {
64
98
  return false;
65
99
  }
66
- var creatorId = item.createdBy.id;
67
- if (fmFilePermission.own && creatorId) {
68
- var identityId = identity ? identity.id || identity.login : null;
69
- return creatorId === identityId;
70
- }
71
- if (typeof fmFilePermission.rwd === "string") {
72
- return fmFilePermission.rwd.includes("w");
73
- }
74
- return true;
75
- }, [fmFilePermission]);
100
+ return hasFullAccess || fmFilePermissions.some(function (_ref4) {
101
+ var rwd = _ref4.rwd,
102
+ own = _ref4.own;
103
+ if (own) {
104
+ var _item$createdBy2;
105
+ var identityId = getIdentityId();
106
+ var createdById = (_item$createdBy2 = item.createdBy) === null || _item$createdBy2 === void 0 ? void 0 : _item$createdBy2.id;
107
+ return identityId && identityId === createdById;
108
+ }
109
+ if (rwd && rwd.includes("w")) {
110
+ return true;
111
+ }
112
+ return false;
113
+ });
114
+ }, [fmFilePermissions]);
76
115
  var createFile = /*#__PURE__*/function () {
77
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data, meta) {
116
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
78
117
  var _response$data;
79
118
  var response;
80
119
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
@@ -82,10 +121,9 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
82
121
  case 0:
83
122
  _context.next = 2;
84
123
  return client.mutate({
85
- mutation: _graphql.CREATE_FILE,
124
+ mutation: (0, _graphql.CREATE_FILE)(modelFields),
86
125
  variables: {
87
- data: data,
88
- meta: meta
126
+ data: data
89
127
  }
90
128
  });
91
129
  case 2:
@@ -97,21 +135,21 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
97
135
  }
98
136
  }, _callee);
99
137
  }));
100
- return function createFile(_x, _x2) {
101
- return _ref2.apply(this, arguments);
138
+ return function createFile(_x) {
139
+ return _ref5.apply(this, arguments);
102
140
  };
103
141
  }();
104
142
  var updateFile = /*#__PURE__*/function () {
105
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(id, data) {
143
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(id, data) {
106
144
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
107
145
  while (1) switch (_context2.prev = _context2.next) {
108
146
  case 0:
109
147
  _context2.next = 2;
110
148
  return client.mutate({
111
- mutation: _graphql.UPDATE_FILE,
149
+ mutation: (0, _graphql.UPDATE_FILE)(modelFields),
112
150
  variables: {
113
151
  id: id,
114
- data: data
152
+ data: (0, _omit.default)(data, ["createdOn", "savedOn", "createdBy"])
115
153
  }
116
154
  });
117
155
  case 2:
@@ -120,12 +158,12 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
120
158
  }
121
159
  }, _callee2);
122
160
  }));
123
- return function updateFile(_x3, _x4) {
124
- return _ref3.apply(this, arguments);
161
+ return function updateFile(_x2, _x3) {
162
+ return _ref6.apply(this, arguments);
125
163
  };
126
164
  }();
127
165
  var deleteFile = /*#__PURE__*/function () {
128
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(id) {
166
+ var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(id) {
129
167
  return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
130
168
  while (1) switch (_context3.prev = _context3.next) {
131
169
  case 0:
@@ -142,45 +180,53 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
142
180
  }
143
181
  }, _callee3);
144
182
  }));
145
- return function deleteFile(_x5) {
146
- return _ref4.apply(this, arguments);
183
+ return function deleteFile(_x4) {
184
+ return _ref7.apply(this, arguments);
147
185
  };
148
186
  }();
149
187
  var getFile = /*#__PURE__*/function () {
150
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(id) {
188
+ var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(id) {
151
189
  var _response$data2;
152
- var response;
190
+ var response, _response$data$fileMa, data, error;
153
191
  return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
154
192
  while (1) switch (_context4.prev = _context4.next) {
155
193
  case 0:
156
194
  _context4.next = 2;
157
195
  return client.query({
158
- query: _graphql.GET_FILE,
196
+ query: (0, _graphql.GET_FILE)(modelFields),
159
197
  variables: {
160
198
  id: id
161
199
  }
162
200
  });
163
201
  case 2:
164
202
  response = _context4.sent;
165
- return _context4.abrupt("return", (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.fileManager.getFile.data);
166
- case 4:
203
+ _response$data$fileMa = (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.fileManager.getFile, data = _response$data$fileMa.data, error = _response$data$fileMa.error;
204
+ if (!error) {
205
+ _context4.next = 6;
206
+ break;
207
+ }
208
+ throw new _error.default(error);
209
+ case 6:
210
+ return _context4.abrupt("return", data);
211
+ case 7:
167
212
  case "end":
168
213
  return _context4.stop();
169
214
  }
170
215
  }, _callee4);
171
216
  }));
172
- return function getFile(_x6) {
173
- return _ref5.apply(this, arguments);
217
+ return function getFile(_x5) {
218
+ return _ref8.apply(this, arguments);
174
219
  };
175
220
  }();
176
221
  var listFiles = /*#__PURE__*/function () {
177
- var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
222
+ var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
178
223
  var params,
179
224
  _yield$client$query,
180
225
  data,
181
226
  _data$fileManager$lis,
182
227
  files,
183
228
  meta,
229
+ error,
184
230
  _args5 = arguments;
185
231
  return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
186
232
  while (1) switch (_context5.prev = _context5.next) {
@@ -188,17 +234,18 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
188
234
  params = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
189
235
  _context5.next = 3;
190
236
  return client.query({
191
- query: _graphql.LIST_FILES,
237
+ query: (0, _graphql.LIST_FILES)(modelFields),
192
238
  variables: params,
193
239
  fetchPolicy: "no-cache"
194
240
  });
195
241
  case 3:
196
242
  _yield$client$query = _context5.sent;
197
243
  data = _yield$client$query.data;
198
- _data$fileManager$lis = data.fileManager.listFiles, files = _data$fileManager$lis.data, meta = _data$fileManager$lis.meta;
244
+ _data$fileManager$lis = data.fileManager.listFiles, files = _data$fileManager$lis.data, meta = _data$fileManager$lis.meta, error = _data$fileManager$lis.error;
199
245
  return _context5.abrupt("return", {
200
246
  files: files,
201
- meta: meta
247
+ meta: meta,
248
+ error: error
202
249
  });
203
250
  case 7:
204
251
  case "end":
@@ -207,23 +254,28 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
207
254
  }, _callee5);
208
255
  }));
209
256
  return function listFiles() {
210
- return _ref6.apply(this, arguments);
257
+ return _ref9.apply(this, arguments);
211
258
  };
212
259
  }();
213
260
  var listTags = /*#__PURE__*/function () {
214
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
215
- var params,
261
+ var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
262
+ var _ref11,
263
+ where,
264
+ refetch,
216
265
  _yield$client$query2,
217
266
  data,
218
267
  _args6 = arguments;
219
268
  return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
220
269
  while (1) switch (_context6.prev = _context6.next) {
221
270
  case 0:
222
- params = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
271
+ _ref11 = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {}, where = _ref11.where, refetch = _ref11.refetch;
223
272
  _context6.next = 3;
224
273
  return client.query({
225
274
  query: _graphql.LIST_TAGS,
226
- variables: params
275
+ variables: {
276
+ where: where
277
+ },
278
+ fetchPolicy: refetch ? "network-only" : "cache-first"
227
279
  });
228
280
  case 3:
229
281
  _yield$client$query2 = _context6.sent;
@@ -236,7 +288,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
236
288
  }, _callee6);
237
289
  }));
238
290
  return function listTags() {
239
- return _ref7.apply(this, arguments);
291
+ return _ref10.apply(this, arguments);
240
292
  };
241
293
  }();
242
294
 
@@ -246,7 +298,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
246
298
  * @param File file
247
299
  */
248
300
  var uploadFile = /*#__PURE__*/function () {
249
- var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7(file, meta) {
301
+ var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7(file, meta) {
250
302
  var options,
251
303
  response,
252
304
  tags,
@@ -266,7 +318,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
266
318
  _context7.next = 7;
267
319
  return createFile((0, _objectSpread2.default)((0, _objectSpread2.default)({}, response), {}, {
268
320
  tags: tags
269
- }), meta);
321
+ }, meta));
270
322
  case 7:
271
323
  return _context7.abrupt("return", _context7.sent);
272
324
  case 8:
@@ -275,12 +327,12 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
275
327
  }
276
328
  }, _callee7);
277
329
  }));
278
- return function uploadFile(_x7, _x8) {
279
- return _ref8.apply(this, arguments);
330
+ return function uploadFile(_x6, _x7) {
331
+ return _ref12.apply(this, arguments);
280
332
  };
281
333
  }();
282
334
  var getSettings = /*#__PURE__*/function () {
283
- var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee8() {
335
+ var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee8() {
284
336
  var settingsQuery;
285
337
  return (0, _regeneratorRuntime2.default)().wrap(function _callee8$(_context8) {
286
338
  while (1) switch (_context8.prev = _context8.next) {
@@ -299,7 +351,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
299
351
  }, _callee8);
300
352
  }));
301
353
  return function getSettings() {
302
- return _ref9.apply(this, arguments);
354
+ return _ref13.apply(this, arguments);
303
355
  };
304
356
  }();
305
357
  var value = {
@@ -1 +1 @@
1
- {"version":3,"names":["FileManagerApiContext","React","createContext","undefined","FileManagerApiProvider","children","useSecurity","identity","getPermission","client","useApolloClient","fmFilePermission","useMemo","canDelete","useCallback","item","own","identityId","id","login","createdBy","rwd","includes","canRead","Boolean","canCreate","canEdit","creatorId","createFile","data","meta","mutate","mutation","CREATE_FILE","variables","response","fileManager","updateFile","UPDATE_FILE","deleteFile","DELETE_FILE","getFile","query","GET_FILE","listFiles","params","LIST_FILES","fetchPolicy","files","listTags","LIST_TAGS","uploadFile","file","options","getFileUploader","upload","apolloClient","onProgress","tags","getSettings","GET_FILE_SETTINGS","settingsQuery","value"],"sources":["FileManagerApiContext.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n CREATE_FILE,\n CreateFileMutationResponse,\n CreateFileMutationVariables,\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n FileInput,\n GET_FILE,\n GET_FILE_SETTINGS,\n GetFileManagerSettingsQueryResponse,\n LIST_FILES,\n LIST_TAGS,\n ListFileTagsQueryResponse,\n ListFileTagsQueryVariables,\n ListFilesListFilesResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables,\n UPDATE_FILE,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables\n} from \"../graphql\";\nimport { FileItem, FileManagerSecurityPermission } from \"@webiny/app-admin/types\";\nimport { getFileUploader } from \"./getFileUploader\";\nimport { Settings } from \"~/types\";\n\nexport interface ListTagsResponseItem {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerApiContextData<TFileItem extends FileItem = FileItem> {\n canRead: boolean;\n canCreate: boolean;\n canEdit: (file: TFileItem) => boolean;\n canDelete: (file: TFileItem) => boolean;\n createFile: (data: TFileItem, meta: Record<string, any>) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n uploadFile: (\n file: File,\n meta: Record<string, any>,\n options?: UploadFileOptions\n ) => Promise<TFileItem | undefined>;\n listFiles: (\n params?: ListFilesQueryVariables\n ) => Promise<{ files: TFileItem[]; meta: ListFilesListFilesResponse[\"meta\"] }>;\n listTags: (params?: ListTagsOptions) => Promise<ListTagsResponseItem[]>;\n getSettings(): Promise<Settings>;\n}\n\nexport const FileManagerApiContext = React.createContext<FileManagerApiContextData | undefined>(\n undefined\n);\n\nexport interface FileManagerApiProviderProps {\n children: React.ReactNode;\n}\n\ninterface UploadFileOptions {\n tags?: string[];\n onProgress?: (params: { sent: number; total: number; percentage: number }) => void;\n}\n\ninterface ListTagsOptions {\n where?: ListFileTagsQueryVariables[\"where\"];\n}\n\nconst FileManagerApiProvider = ({ children }: FileManagerApiProviderProps) => {\n const { identity, getPermission } = useSecurity();\n const client = useApolloClient();\n\n const fmFilePermission = useMemo<FileManagerSecurityPermission | null>(() => {\n return getPermission<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n\n const canDelete = useCallback(\n (item: FileItem) => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n const identityId = identity ? identity.id || identity.login : null;\n if (!identityId) {\n return false;\n }\n return item.createdBy.id === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"d\");\n }\n return true;\n },\n [fmFilePermission]\n );\n\n const canRead = useMemo(() => {\n return Boolean(fmFilePermission);\n }, [fmFilePermission]);\n\n const canCreate = useMemo(() => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n return true;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n }, [fmFilePermission]);\n\n const canEdit = useCallback(\n (item: FileItem) => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n const creatorId = item.createdBy.id;\n\n if (fmFilePermission.own && creatorId) {\n const identityId = identity ? identity.id || identity.login : null;\n return creatorId === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n },\n [fmFilePermission]\n );\n\n const createFile = async (data: FileInput, meta: Record<string, any>) => {\n const response = await client.mutate<\n CreateFileMutationResponse,\n CreateFileMutationVariables\n >({\n mutation: CREATE_FILE,\n variables: {\n data,\n meta\n }\n });\n\n return response.data?.fileManager.createFile.data;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE,\n variables: {\n id,\n data\n }\n });\n };\n\n const deleteFile = async (id: string) => {\n await client.mutate<DeleteFileMutationResponse, DeleteFileMutationVariables>({\n mutation: DELETE_FILE,\n variables: {\n id\n }\n });\n };\n\n const getFile = async (id: string) => {\n const response = await client.query({\n query: GET_FILE,\n variables: {\n id\n }\n });\n\n return response.data?.fileManager.getFile.data;\n };\n\n const listFiles: FileManagerApiContextData[\"listFiles\"] = async (params = {}) => {\n const { data } = await client.query<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: params,\n fetchPolicy: \"no-cache\"\n });\n const { data: files, meta } = data.fileManager.listFiles;\n return { files, meta };\n };\n\n const listTags = async (params = {}) => {\n const { data } = await client.query<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: params\n });\n\n return data.fileManager.listTags.data;\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param File file\n */\n const uploadFile = async (\n file: File,\n meta: Record<string, any>,\n options: UploadFileOptions = {}\n ) => {\n const response = await getFileUploader().upload(file, {\n apolloClient: client,\n onProgress: options.onProgress\n });\n\n const tags = options?.tags || [];\n\n return await createFile({ ...response, tags }, meta);\n };\n\n const getSettings = async () => {\n const settingsQuery = await client.query<GetFileManagerSettingsQueryResponse>({\n query: GET_FILE_SETTINGS\n });\n return settingsQuery.data.fileManager.getSettings.data || {};\n };\n\n const value: FileManagerApiContextData = {\n canRead,\n canCreate,\n canEdit,\n canDelete,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n getFile,\n listFiles,\n listTags,\n getSettings\n };\n\n return (\n <FileManagerApiContext.Provider value={value}>{children}</FileManagerApiContext.Provider>\n );\n};\n\nexport { FileManagerApiProvider };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_error","_interopRequireDefault","_appSecurity","_graphql","_getFileUploader","_createFieldsList","_useFileModel","_omit","FileManagerApiContext","React","createContext","undefined","exports","getModelFields","model","fields","createFieldsList","concat","FM_FULL_ACCESS_PERMISSION_NAME","FileManagerApiProvider","_ref","children","_useSecurity","useSecurity","identity","getIdentityId","getPermissions","getPermission","client","useApolloClient","fileModel","useFileModel","_useState","useState","_useState2","_slicedToArray2","default","modelFields","fmFilePermissions","useMemo","hasFullAccess","hasNoAccess","length","canDelete","useCallback","item","some","_ref2","rwd","own","_item$createdBy","identityId","createdById","createdBy","id","includes","canRead","canCreate","_ref3","canEdit","_ref4","_item$createdBy2","createFile","_ref5","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","data","_response$data","response","wrap","_callee$","_context","prev","next","mutate","mutation","CREATE_FILE","variables","sent","abrupt","fileManager","stop","_x","apply","arguments","updateFile","_ref6","_callee2","_callee2$","_context2","UPDATE_FILE","omit","_x2","_x3","deleteFile","_ref7","_callee3","_callee3$","_context3","DELETE_FILE","_x4","getFile","_ref8","_callee4","_response$data2","_response$data$fileMa","error","_callee4$","_context4","query","GET_FILE","WebinyError","_x5","listFiles","_ref9","_callee5","params","_yield$client$query","_data$fileManager$lis","files","meta","_args5","_callee5$","_context5","LIST_FILES","fetchPolicy","listTags","_ref10","_callee6","_ref11","where","refetch","_yield$client$query2","_args6","_callee6$","_context6","LIST_TAGS","uploadFile","_ref12","_callee7","file","options","tags","_args7","_callee7$","_context7","getFileUploader","upload","apolloClient","onProgress","_objectSpread2","_x6","_x7","getSettings","_ref13","_callee8","settingsQuery","_callee8$","_context8","GET_FILE_SETTINGS","value","createElement","Provider"],"sources":["FileManagerApiContext.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport WebinyError from \"@webiny/error\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n CREATE_FILE,\n CreateFileMutationResponse,\n CreateFileMutationVariables,\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n FileInput,\n GET_FILE,\n GET_FILE_SETTINGS,\n GetFileManagerSettingsQueryResponse,\n LIST_FILES,\n LIST_TAGS,\n ListFileTagsQueryResponse,\n ListFileTagsQueryVariables,\n ListFilesListFilesResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables,\n UPDATE_FILE,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables,\n FmError\n} from \"../graphql\";\nimport { FileItem, FileManagerSecurityPermission } from \"@webiny/app-admin/types\";\nimport { getFileUploader } from \"./getFileUploader\";\nimport { Settings } from \"~/types\";\nimport { createFieldsList } from \"@webiny/app-headless-cms/admin/graphql/createFieldsList\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport omit from \"lodash/omit\";\n\nexport interface ListTagsResponseItem {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerApiContextData<TFileItem extends FileItem = FileItem> {\n canRead: boolean;\n canCreate: boolean;\n canEdit: (file: TFileItem) => boolean;\n canDelete: (file: TFileItem) => boolean;\n createFile: (data: TFileItem, meta: Record<string, any>) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n uploadFile: (\n file: File,\n meta: Record<string, any>,\n options?: UploadFileOptions\n ) => Promise<TFileItem | undefined>;\n listFiles: (params?: ListFilesQueryVariables) => Promise<{\n files: TFileItem[];\n meta: ListFilesListFilesResponse[\"meta\"];\n error: FmError | null;\n }>;\n listTags: (params?: ListTagsOptions) => Promise<ListTagsResponseItem[]>;\n getSettings(): Promise<Settings>;\n}\n\nexport const FileManagerApiContext = React.createContext<FileManagerApiContextData | undefined>(\n undefined\n);\n\nexport interface FileManagerApiProviderProps {\n children: React.ReactNode;\n}\n\ninterface UploadFileOptions {\n tags?: string[];\n onProgress?: (params: { sent: number; total: number; percentage: number }) => void;\n}\n\ninterface ListTagsOptions {\n where?: ListFileTagsQueryVariables[\"where\"];\n refetch?: boolean;\n}\n\nconst getModelFields = (model: ReturnType<typeof useFileModel>) => {\n const fields = createFieldsList({ model, fields: model.fields });\n return /* GraphQL */ `{\n __typename\n id\n createdOn\n savedOn\n createdBy {\n id\n displayName\n }\n src\n ${fields}\n }`;\n};\n\nconst FM_FULL_ACCESS_PERMISSION_NAME = \"fm.*\";\n\nconst FileManagerApiProvider = ({ children }: FileManagerApiProviderProps) => {\n const { identity, getIdentityId, getPermissions, getPermission } = useSecurity();\n const client = useApolloClient();\n const fileModel = useFileModel();\n const [modelFields] = useState(getModelFields(fileModel));\n\n // Note for below permissions checks:\n // `own: true` defines full RWD access to files created by the user.\n\n const fmFilePermissions = useMemo<FileManagerSecurityPermission[]>(() => {\n return getPermissions<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n\n const hasFullAccess = useMemo(\n () => !!getPermission(FM_FULL_ACCESS_PERMISSION_NAME),\n [identity]\n );\n\n const hasNoAccess = useMemo(() => fmFilePermissions.length === 0, [fmFilePermissions]);\n\n const canDelete = useCallback(\n (item: FileItem) => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return (\n hasFullAccess ||\n fmFilePermissions.some(({ rwd, own }) => {\n if (own) {\n const identityId = getIdentityId();\n const createdById = item.createdBy?.id;\n return identityId && identityId === createdById;\n }\n\n if (rwd && rwd.includes(\"d\")) {\n return true;\n }\n\n return false;\n })\n );\n },\n [fmFilePermissions]\n );\n\n const canRead = useMemo(() => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return hasFullAccess || fmFilePermissions.length > 0;\n }, [fmFilePermissions]);\n\n const canCreate = useMemo(() => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return hasFullAccess || fmFilePermissions.some(({ rwd }) => rwd && rwd.includes(\"w\"));\n }, [fmFilePermissions]);\n\n const canEdit = useCallback(\n (item: FileItem) => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return (\n hasFullAccess ||\n fmFilePermissions.some(({ rwd, own }) => {\n if (own) {\n const identityId = getIdentityId();\n const createdById = item.createdBy?.id;\n return identityId && identityId === createdById;\n }\n\n if (rwd && rwd.includes(\"w\")) {\n return true;\n }\n\n return false;\n })\n );\n },\n [fmFilePermissions]\n );\n\n const createFile = async (data: FileInput) => {\n const response = await client.mutate<\n CreateFileMutationResponse,\n CreateFileMutationVariables\n >({\n mutation: CREATE_FILE(modelFields),\n variables: {\n data\n }\n });\n\n return response.data?.fileManager.createFile.data;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE(modelFields),\n variables: {\n id,\n data: omit(data, [\"createdOn\", \"savedOn\", \"createdBy\"])\n }\n });\n };\n\n const deleteFile = async (id: string) => {\n await client.mutate<DeleteFileMutationResponse, DeleteFileMutationVariables>({\n mutation: DELETE_FILE,\n variables: {\n id\n }\n });\n };\n\n const getFile = async (id: string) => {\n const response = await client.query({\n query: GET_FILE(modelFields),\n variables: {\n id\n }\n });\n\n const { data, error } = response.data?.fileManager.getFile;\n\n if (error) {\n throw new WebinyError(error);\n }\n\n return data;\n };\n\n const listFiles: FileManagerApiContextData[\"listFiles\"] = async (params = {}) => {\n const { data } = await client.query<ListFilesQueryResponse>({\n query: LIST_FILES(modelFields),\n variables: params,\n fetchPolicy: \"no-cache\"\n });\n const { data: files, meta, error } = data.fileManager.listFiles;\n return { files, meta, error };\n };\n\n const listTags: FileManagerApiContextData[\"listTags\"] = async ({ where, refetch } = {}) => {\n const { data } = await client.query<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where },\n fetchPolicy: refetch ? \"network-only\" : \"cache-first\"\n });\n\n return data.fileManager.listTags.data;\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param File file\n */\n const uploadFile = async (\n file: File,\n meta: Partial<FileInput>,\n options: UploadFileOptions = {}\n ) => {\n const response = await getFileUploader().upload(file, {\n apolloClient: client,\n onProgress: options.onProgress\n });\n\n const tags = options?.tags || [];\n\n return await createFile({ ...response, tags, ...meta });\n };\n\n const getSettings = async () => {\n const settingsQuery = await client.query<GetFileManagerSettingsQueryResponse>({\n query: GET_FILE_SETTINGS\n });\n return settingsQuery.data.fileManager.getSettings.data || {};\n };\n\n const value: FileManagerApiContextData = {\n canRead,\n canCreate,\n canEdit,\n canDelete,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n getFile,\n listFiles,\n listTags,\n getSettings\n };\n\n return (\n <FileManagerApiContext.Provider value={value}>{children}</FileManagerApiContext.Provider>\n );\n};\n\nexport { FileManagerApiProvider };\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { CmsModel } from "@webiny/app-headless-cms/types";
3
+ export declare const FileModelContext: React.Context<CmsModel | undefined>;
4
+ export declare const FileModelProvider: ({ children }: {
5
+ children: React.ReactNode;
6
+ }) => JSX.Element;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FileModelProvider = exports.FileModelContext = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactHooks = require("@apollo/react-hooks");
12
+ var _graphql = require("../graphql");
13
+ var _Progress = require("@webiny/ui/Progress");
14
+ var FileModelContext = /*#__PURE__*/_react.default.createContext(undefined);
15
+ exports.FileModelContext = FileModelContext;
16
+ var FileModelProvider = function FileModelProvider(_ref) {
17
+ var children = _ref.children;
18
+ var _useState = (0, _react.useState)(undefined),
19
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
20
+ model = _useState2[0],
21
+ setModel = _useState2[1];
22
+ (0, _reactHooks.useQuery)(_graphql.GET_FILE_MODEL, {
23
+ onCompleted: function onCompleted(data) {
24
+ setModel(data.fileManager.getFileModel.data);
25
+ }
26
+ });
27
+ if (!model) {
28
+ return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
29
+ label: "Preparing File Manager..."
30
+ });
31
+ }
32
+ return /*#__PURE__*/_react.default.createElement(FileModelContext.Provider, {
33
+ value: model
34
+ }, children);
35
+ };
36
+ exports.FileModelProvider = FileModelProvider;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_graphql","_Progress","FileModelContext","React","createContext","undefined","exports","FileModelProvider","_ref","children","_useState","useState","_useState2","_slicedToArray2","default","model","setModel","useQuery","GET_FILE_MODEL","onCompleted","data","fileManager","getFileModel","createElement","CircularProgress","label","Provider","value"],"sources":["FileModelContext.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CmsModel } from \"@webiny/app-headless-cms/types\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { GET_FILE_MODEL } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nexport const FileModelContext = React.createContext<CmsModel | undefined>(undefined);\n\nexport const FileModelProvider = ({ children }: { children: React.ReactNode }) => {\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useQuery(GET_FILE_MODEL, {\n onCompleted: data => {\n setModel(data.fileManager.getFileModel.data);\n }\n });\n\n if (!model) {\n return <CircularProgress label={\"Preparing File Manager...\"} />;\n }\n\n return <FileModelContext.Provider value={model}>{children}</FileModelContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,IAAMI,gBAAgB,gBAAGC,cAAK,CAACC,aAAa,CAAuBC,SAAS,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA;AAE9E,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACxC,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAuBN,SAAS,CAAC;IAAAO,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA5DK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EAEtB,IAAAK,oBAAQ,EAACC,uBAAc,EAAE;IACrBC,WAAW,EAAE,SAAAA,YAAAC,IAAI,EAAI;MACjBJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACC,YAAY,CAACF,IAAI,CAAC;IAChD;EACJ,CAAC,CAAC;EAEF,IAAI,CAACL,KAAK,EAAE;IACR,oBAAOnB,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACtB,SAAA,CAAAuB,gBAAgB;MAACC,KAAK,EAAE;IAA4B,CAAE,CAAC;EACnE;EAEA,oBAAO7B,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACrB,gBAAgB,CAACwB,QAAQ;IAACC,KAAK,EAAEZ;EAAM,GAAEN,QAAoC,CAAC;AAC1F,CAAC;AAACH,OAAA,CAAAC,iBAAA,GAAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["getFileUploader","fileStoragePlugin","plugins","byName","Error"],"sources":["getFileUploader.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileUploaderPlugin } from \"@webiny/app/types\";\n\nexport const getFileUploader = (): FileUploaderPlugin => {\n const fileStoragePlugin = plugins.byName<FileUploaderPlugin>(\"file-uploader\");\n\n if (!fileStoragePlugin) {\n throw Error('Missing plugin: \"file-uploader\".');\n }\n\n return fileStoragePlugin;\n};\n"],"mappings":";;;;;;AAAA;AAGO,IAAMA,eAAe,GAAG,SAAlBA,eAAe,GAA6B;EACrD,IAAMC,iBAAiB,GAAGC,gBAAO,CAACC,MAAM,CAAqB,eAAe,CAAC;EAE7E,IAAI,CAACF,iBAAiB,EAAE;IACpB,MAAMG,KAAK,CAAC,kCAAkC,CAAC;EACnD;EAEA,OAAOH,iBAAiB;AAC5B,CAAC;AAAC"}
1
+ {"version":3,"names":["_plugins","require","getFileUploader","fileStoragePlugin","plugins","byName","Error","exports"],"sources":["getFileUploader.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileUploaderPlugin } from \"@webiny/app/types\";\n\nexport const getFileUploader = (): FileUploaderPlugin => {\n const fileStoragePlugin = plugins.byName<FileUploaderPlugin>(\"file-uploader\");\n\n if (!fileStoragePlugin) {\n throw Error('Missing plugin: \"file-uploader\".');\n }\n\n return fileStoragePlugin;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAA6B;EACrD,IAAMC,iBAAiB,GAAGC,gBAAO,CAACC,MAAM,CAAqB,eAAe,CAAC;EAE7E,IAAI,CAACF,iBAAiB,EAAE;IACpB,MAAMG,KAAK,CAAC,kCAAkC,CAAC;EACnD;EAEA,OAAOH,iBAAiB;AAC5B,CAAC;AAACI,OAAA,CAAAL,eAAA,GAAAA,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { FileManagerApiProvider } from \"./FileManagerApiContext\";\nexport { useFileManagerApi } from \"./useFileManagerApi\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
1
+ {"version":3,"names":["_FileManagerApiContext","require","_useFileManagerApi"],"sources":["index.ts"],"sourcesContent":["export { FileManagerApiProvider } from \"./FileManagerApiContext\";\nexport { useFileManagerApi } from \"./useFileManagerApi\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["useFileManagerApi","context","React","useContext","FileManagerApiContext","Error"],"sources":["useFileManagerApi.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport React from \"react\";\nimport { FileManagerApiContext, FileManagerApiContextData } from \"./FileManagerApiContext\";\n\nexport function useFileManagerApi<TFileItem extends FileItem = FileItem>() {\n const context = React.useContext<FileManagerApiContextData<TFileItem>>(\n FileManagerApiContext as unknown as React.Context<FileManagerApiContextData<TFileItem>>\n );\n\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;;AACA;AACA;AAEO,SAASA,iBAAiB,GAA0C;EACvE,IAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAC5BC,4CAAqB,CACxB;EAED,IAAI,CAACH,OAAO,EAAE;IACV,MAAM,IAAII,KAAK,CAAC,0DAA0D,CAAC;EAC/E;EAEA,OAAOJ,OAAO;AAClB"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_FileManagerApiContext","useFileManagerApi","context","React","useContext","FileManagerApiContext","Error"],"sources":["useFileManagerApi.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport React from \"react\";\nimport { FileManagerApiContext, FileManagerApiContextData } from \"./FileManagerApiContext\";\n\nexport function useFileManagerApi<TFileItem extends FileItem = FileItem>() {\n const context = React.useContext<FileManagerApiContextData<TFileItem>>(\n FileManagerApiContext as unknown as React.Context<FileManagerApiContextData<TFileItem>>\n );\n\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEO,SAASE,iBAAiBA,CAAA,EAA0C;EACvE,IAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAC5BC,4CACJ,CAAC;EAED,IAAI,CAACH,OAAO,EAAE;IACV,MAAM,IAAII,KAAK,CAAC,0DAA0D,CAAC;EAC/E;EAEA,OAAOJ,OAAO;AAClB"}