@webiny/app-file-manager 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9

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 (738) hide show
  1. package/README.md +7 -28
  2. package/app.d.ts +2 -0
  3. package/app.js +57 -0
  4. package/app.js.map +1 -0
  5. package/domain/constants.d.ts +4 -0
  6. package/domain/constants.js +7 -0
  7. package/domain/constants.js.map +1 -0
  8. package/domain/permissionsSchema.d.ts +18 -0
  9. package/domain/permissionsSchema.js +32 -0
  10. package/domain/permissionsSchema.js.map +1 -0
  11. package/domain/tagsHelpers.d.ts +16 -0
  12. package/domain/tagsHelpers.js +25 -0
  13. package/domain/tagsHelpers.js.map +1 -0
  14. package/domain/types.d.ts +34 -0
  15. package/domain/types.js +0 -0
  16. package/exports/admin/ui/file-manager.d.ts +2 -0
  17. package/exports/admin/ui/file-manager.js +1 -0
  18. package/features/deleteFile/DeleteFile.test.d.ts +1 -0
  19. package/features/deleteFile/DeleteFile.test.js +150 -0
  20. package/features/deleteFile/DeleteFile.test.js.map +1 -0
  21. package/features/deleteFile/DeleteFileGateway.d.ts +11 -0
  22. package/features/deleteFile/DeleteFileGateway.js +23 -0
  23. package/features/deleteFile/DeleteFileGateway.js.map +1 -0
  24. package/features/deleteFile/DeleteFileRepository.d.ts +12 -0
  25. package/features/deleteFile/DeleteFileRepository.js +26 -0
  26. package/features/deleteFile/DeleteFileRepository.js.map +1 -0
  27. package/features/deleteFile/DeleteFileUseCase.d.ts +10 -0
  28. package/features/deleteFile/DeleteFileUseCase.js +34 -0
  29. package/features/deleteFile/DeleteFileUseCase.js.map +1 -0
  30. package/features/deleteFile/abstractions.d.ts +36 -0
  31. package/features/deleteFile/abstractions.js +7 -0
  32. package/features/deleteFile/abstractions.js.map +1 -0
  33. package/features/deleteFile/feature.d.ts +3 -0
  34. package/features/deleteFile/feature.js +21 -0
  35. package/features/deleteFile/feature.js.map +1 -0
  36. package/features/deleteFile/index.d.ts +3 -0
  37. package/features/deleteFile/index.js +2 -0
  38. package/features/fileModel/FileModelProvider.d.ts +12 -0
  39. package/features/fileModel/FileModelProvider.js +21 -0
  40. package/features/fileModel/FileModelProvider.js.map +1 -0
  41. package/features/fileModel/GetFileModelGqlGateway.d.ts +12 -0
  42. package/features/fileModel/GetFileModelGqlGateway.js +38 -0
  43. package/features/fileModel/GetFileModelGqlGateway.js.map +1 -0
  44. package/features/fileModel/GetFileModelRepository.d.ts +14 -0
  45. package/features/fileModel/GetFileModelRepository.js +32 -0
  46. package/features/fileModel/GetFileModelRepository.js.map +1 -0
  47. package/features/fileModel/abstractions.d.ts +24 -0
  48. package/features/fileModel/abstractions.js +7 -0
  49. package/features/fileModel/abstractions.js.map +1 -0
  50. package/features/fileModel/feature.d.ts +1 -0
  51. package/features/fileModel/feature.js +15 -0
  52. package/features/fileModel/feature.js.map +1 -0
  53. package/features/fileModel/index.d.ts +2 -0
  54. package/features/fileModel/index.js +2 -0
  55. package/features/fileUploader/FileUploader.d.ts +23 -0
  56. package/features/fileUploader/FileUploader.js +243 -0
  57. package/features/fileUploader/FileUploader.js.map +1 -0
  58. package/features/fileUploader/FileUploader.test.d.ts +1 -0
  59. package/features/fileUploader/FileUploader.test.js +427 -0
  60. package/features/fileUploader/FileUploader.test.js.map +1 -0
  61. package/features/fileUploader/abstractions.d.ts +51 -0
  62. package/features/fileUploader/abstractions.js +5 -0
  63. package/features/fileUploader/abstractions.js.map +1 -0
  64. package/features/fileUploader/feature.d.ts +3 -0
  65. package/features/fileUploader/feature.js +17 -0
  66. package/features/fileUploader/feature.js.map +1 -0
  67. package/features/fileUploader/index.d.ts +3 -0
  68. package/features/fileUploader/index.js +2 -0
  69. package/features/fileUrlFormatter/FileUrlFormatter.d.ts +8 -0
  70. package/features/fileUrlFormatter/FileUrlFormatter.js +13 -0
  71. package/features/fileUrlFormatter/FileUrlFormatter.js.map +1 -0
  72. package/features/fileUrlFormatter/abstractions.d.ts +1 -0
  73. package/features/fileUrlFormatter/abstractions.js +1 -0
  74. package/features/fileUrlFormatter/feature.d.ts +1 -0
  75. package/features/fileUrlFormatter/feature.js +11 -0
  76. package/features/fileUrlFormatter/feature.js.map +1 -0
  77. package/features/getFile/GetFileGateway.d.ts +14 -0
  78. package/features/getFile/GetFileGateway.js +28 -0
  79. package/features/getFile/GetFileGateway.js.map +1 -0
  80. package/features/getFile/GetFileRepository.d.ts +11 -0
  81. package/features/getFile/GetFileRepository.js +18 -0
  82. package/features/getFile/GetFileRepository.js.map +1 -0
  83. package/features/getFile/GetFileUseCase.d.ts +10 -0
  84. package/features/getFile/GetFileUseCase.js +35 -0
  85. package/features/getFile/GetFileUseCase.js.map +1 -0
  86. package/features/getFile/abstractions.d.ts +38 -0
  87. package/features/getFile/abstractions.js +7 -0
  88. package/features/getFile/abstractions.js.map +1 -0
  89. package/features/getFile/feature.d.ts +3 -0
  90. package/features/getFile/feature.js +21 -0
  91. package/features/getFile/feature.js.map +1 -0
  92. package/features/getFile/index.d.ts +3 -0
  93. package/features/getFile/index.js +2 -0
  94. package/features/listFiles/ListFiles.test.d.ts +1 -0
  95. package/features/listFiles/ListFiles.test.js +192 -0
  96. package/features/listFiles/ListFiles.test.js.map +1 -0
  97. package/features/listFiles/ListFilesGateway.d.ts +13 -0
  98. package/features/listFiles/ListFilesGateway.js +35 -0
  99. package/features/listFiles/ListFilesGateway.js.map +1 -0
  100. package/features/listFiles/ListFilesRepository.d.ts +12 -0
  101. package/features/listFiles/ListFilesRepository.js +26 -0
  102. package/features/listFiles/ListFilesRepository.js.map +1 -0
  103. package/features/listFiles/ListFilesUseCase.d.ts +10 -0
  104. package/features/listFiles/ListFilesUseCase.js +28 -0
  105. package/features/listFiles/ListFilesUseCase.js.map +1 -0
  106. package/features/listFiles/abstractions.d.ts +45 -0
  107. package/features/listFiles/abstractions.js +7 -0
  108. package/features/listFiles/abstractions.js.map +1 -0
  109. package/features/listFiles/feature.d.ts +3 -0
  110. package/features/listFiles/feature.js +21 -0
  111. package/features/listFiles/feature.js.map +1 -0
  112. package/features/listFiles/index.d.ts +3 -0
  113. package/features/listFiles/index.js +2 -0
  114. package/features/permissions/abstractions.d.ts +17 -0
  115. package/features/permissions/abstractions.js +6 -0
  116. package/features/permissions/abstractions.js.map +1 -0
  117. package/features/permissions/feature.d.ts +14 -0
  118. package/features/permissions/feature.js +7 -0
  119. package/features/permissions/feature.js.map +1 -0
  120. package/features/resolveImageTool/ResolveImageTool.d.ts +40 -0
  121. package/features/resolveImageTool/ResolveImageTool.js +49 -0
  122. package/features/resolveImageTool/ResolveImageTool.js.map +1 -0
  123. package/features/resolveImageTool/feature.d.ts +1 -0
  124. package/features/resolveImageTool/feature.js +11 -0
  125. package/features/resolveImageTool/feature.js.map +1 -0
  126. package/features/settings/GetSettings.test.d.ts +1 -0
  127. package/features/settings/GetSettings.test.js +92 -0
  128. package/features/settings/GetSettings.test.js.map +1 -0
  129. package/features/settings/GetSettingsGateway.d.ts +12 -0
  130. package/features/settings/GetSettingsGateway.js +43 -0
  131. package/features/settings/GetSettingsGateway.js.map +1 -0
  132. package/features/settings/GetSettingsRepository.d.ts +14 -0
  133. package/features/settings/GetSettingsRepository.js +34 -0
  134. package/features/settings/GetSettingsRepository.js.map +1 -0
  135. package/features/settings/GetSettingsUseCase.d.ts +11 -0
  136. package/features/settings/GetSettingsUseCase.js +18 -0
  137. package/features/settings/GetSettingsUseCase.js.map +1 -0
  138. package/features/settings/SaveSettingsGateway.d.ts +12 -0
  139. package/features/settings/SaveSettingsGateway.js +50 -0
  140. package/features/settings/SaveSettingsGateway.js.map +1 -0
  141. package/features/settings/abstractions.d.ts +31 -0
  142. package/features/settings/abstractions.js +8 -0
  143. package/features/settings/abstractions.js.map +1 -0
  144. package/features/settings/feature.d.ts +3 -0
  145. package/features/settings/feature.js +23 -0
  146. package/features/settings/feature.js.map +1 -0
  147. package/features/settings/index.d.ts +3 -0
  148. package/features/settings/index.js +2 -0
  149. package/features/shared/FILE_FIELDS.d.ts +1 -0
  150. package/features/shared/FILE_FIELDS.js +32 -0
  151. package/features/shared/FILE_FIELDS.js.map +1 -0
  152. package/features/shared/FileFieldsProvider.d.ts +8 -0
  153. package/features/shared/FileFieldsProvider.js +14 -0
  154. package/features/shared/FileFieldsProvider.js.map +1 -0
  155. package/features/shared/FileFieldsProviderWithWcp.d.ts +12 -0
  156. package/features/shared/FileFieldsProviderWithWcp.js +25 -0
  157. package/features/shared/FileFieldsProviderWithWcp.js.map +1 -0
  158. package/features/shared/FilesListCache.d.ts +1 -0
  159. package/features/shared/FilesListCache.js +1 -0
  160. package/features/shared/abstractions.d.ts +13 -0
  161. package/features/shared/abstractions.js +6 -0
  162. package/features/shared/abstractions.js.map +1 -0
  163. package/features/shared/feature.d.ts +5 -0
  164. package/features/shared/feature.js +22 -0
  165. package/features/shared/feature.js.map +1 -0
  166. package/features/shared/index.d.ts +4 -0
  167. package/features/shared/index.js +3 -0
  168. package/features/shared/types.d.ts +16 -0
  169. package/features/shared/types.js +0 -0
  170. package/features/tags/ListTags.test.d.ts +1 -0
  171. package/features/tags/ListTags.test.js +126 -0
  172. package/features/tags/ListTags.test.js.map +1 -0
  173. package/features/tags/ListTagsGateway.d.ts +11 -0
  174. package/features/tags/ListTagsGateway.js +23 -0
  175. package/features/tags/ListTagsGateway.js.map +1 -0
  176. package/features/tags/ListTagsRepository.d.ts +12 -0
  177. package/features/tags/ListTagsRepository.js +25 -0
  178. package/features/tags/ListTagsRepository.js.map +1 -0
  179. package/features/tags/ListTagsUseCase.d.ts +10 -0
  180. package/features/tags/ListTagsUseCase.js +20 -0
  181. package/features/tags/ListTagsUseCase.js.map +1 -0
  182. package/features/tags/abstractions.d.ts +32 -0
  183. package/features/tags/abstractions.js +7 -0
  184. package/features/tags/abstractions.js.map +1 -0
  185. package/features/tags/feature.d.ts +3 -0
  186. package/features/tags/feature.js +21 -0
  187. package/features/tags/feature.js.map +1 -0
  188. package/features/tags/index.d.ts +3 -0
  189. package/features/tags/index.js +2 -0
  190. package/features/updateFile/UpdateFile.test.d.ts +1 -0
  191. package/features/updateFile/UpdateFile.test.js +260 -0
  192. package/features/updateFile/UpdateFile.test.js.map +1 -0
  193. package/features/updateFile/UpdateFileGateway.d.ts +12 -0
  194. package/features/updateFile/UpdateFileGateway.js +25 -0
  195. package/features/updateFile/UpdateFileGateway.js.map +1 -0
  196. package/features/updateFile/UpdateFileRepository.d.ts +14 -0
  197. package/features/updateFile/UpdateFileRepository.js +32 -0
  198. package/features/updateFile/UpdateFileRepository.js.map +1 -0
  199. package/features/updateFile/UpdateFileUseCase.d.ts +12 -0
  200. package/features/updateFile/UpdateFileUseCase.js +41 -0
  201. package/features/updateFile/UpdateFileUseCase.js.map +1 -0
  202. package/features/updateFile/abstractions.d.ts +53 -0
  203. package/features/updateFile/abstractions.js +7 -0
  204. package/features/updateFile/abstractions.js.map +1 -0
  205. package/features/updateFile/feature.d.ts +3 -0
  206. package/features/updateFile/feature.js +21 -0
  207. package/features/updateFile/feature.js.map +1 -0
  208. package/features/updateFile/index.d.ts +3 -0
  209. package/features/updateFile/index.js +2 -0
  210. package/index.d.ts +3 -2
  211. package/index.js +3 -37
  212. package/modules/Enterprise/HandleWebsocketMessages.d.ts +1 -0
  213. package/modules/Enterprise/HandleWebsocketMessages.js +53 -0
  214. package/modules/Enterprise/HandleWebsocketMessages.js.map +1 -0
  215. package/modules/Enterprise/components/ThreatScanInProgressFileBody.d.ts +2 -0
  216. package/modules/Enterprise/components/ThreatScanInProgressFileBody.js +22 -0
  217. package/modules/Enterprise/components/ThreatScanInProgressFileBody.js.map +1 -0
  218. package/modules/Enterprise/components/ThreatScanInProgressTableCell.d.ts +6 -0
  219. package/modules/Enterprise/components/ThreatScanInProgressTableCell.js +20 -0
  220. package/modules/Enterprise/components/ThreatScanInProgressTableCell.js.map +1 -0
  221. package/modules/Enterprise/constants.d.ts +3 -0
  222. package/modules/Enterprise/constants.js +6 -0
  223. package/modules/Enterprise/constants.js.map +1 -0
  224. package/modules/Enterprise/index.d.ts +2 -0
  225. package/modules/Enterprise/index.js +30 -0
  226. package/modules/Enterprise/index.js.map +1 -0
  227. package/modules/FileManagerRoutes.d.ts +2 -0
  228. package/modules/FileManagerRoutes.js +31 -0
  229. package/modules/FileManagerRoutes.js.map +1 -0
  230. package/modules/FileModelModule.d.ts +2 -0
  231. package/modules/FileModelModule.js +18 -0
  232. package/modules/FileModelModule.js.map +1 -0
  233. package/modules/FileUrlFormatter.d.ts +2 -0
  234. package/modules/FileUrlFormatter.js +9 -0
  235. package/modules/FileUrlFormatter.js.map +1 -0
  236. package/modules/HeadlessCms/fileField.d.ts +2 -0
  237. package/modules/HeadlessCms/fileField.js +44 -0
  238. package/modules/HeadlessCms/fileField.js.map +1 -0
  239. package/modules/HeadlessCms/fileRenderer/fileField.d.ts +2 -0
  240. package/modules/HeadlessCms/fileRenderer/fileField.js +53 -0
  241. package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -0
  242. package/modules/HeadlessCms/fileRenderer/fileFields.d.ts +2 -0
  243. package/modules/HeadlessCms/fileRenderer/fileFields.js +73 -0
  244. package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -0
  245. package/modules/HeadlessCms/fileRenderer/utils.d.ts +2 -0
  246. package/modules/HeadlessCms/fileRenderer/utils.js +15 -0
  247. package/modules/HeadlessCms/fileRenderer/utils.js.map +1 -0
  248. package/modules/HeadlessCms/index.d.ts +1 -0
  249. package/modules/HeadlessCms/index.js +14 -0
  250. package/modules/HeadlessCms/index.js.map +1 -0
  251. package/modules/SecurityPermissions.d.ts +2 -0
  252. package/modules/SecurityPermissions.js +15 -0
  253. package/modules/SecurityPermissions.js.map +1 -0
  254. package/modules/Settings/assets/icons/folder-open.js +19 -0
  255. package/modules/Settings/assets/icons/folder-open.js.map +1 -0
  256. package/{admin → modules/Settings}/graphql.d.ts +7 -0
  257. package/modules/Settings/graphql.js +36 -0
  258. package/modules/Settings/graphql.js.map +1 -0
  259. package/modules/Settings/index.d.ts +2 -0
  260. package/modules/Settings/index.js +27 -0
  261. package/modules/Settings/index.js.map +1 -0
  262. package/modules/Settings/views/FileManagerSettings.d.ts +2 -0
  263. package/modules/Settings/views/FileManagerSettings.js +134 -0
  264. package/modules/Settings/views/FileManagerSettings.js.map +1 -0
  265. package/package.json +46 -37
  266. package/presentation/FileActions/FileDetails/CopyUrl.d.ts +2 -0
  267. package/presentation/FileActions/FileDetails/CopyUrl.js +19 -0
  268. package/presentation/FileActions/FileDetails/CopyUrl.js.map +1 -0
  269. package/presentation/FileActions/FileDetails/DeleteImage.d.ts +2 -0
  270. package/presentation/FileActions/FileDetails/DeleteImage.js +24 -0
  271. package/presentation/FileActions/FileDetails/DeleteImage.js.map +1 -0
  272. package/presentation/FileActions/FileDetails/Download.d.ts +2 -0
  273. package/presentation/FileActions/FileDetails/Download.js +19 -0
  274. package/presentation/FileActions/FileDetails/Download.js.map +1 -0
  275. package/presentation/FileActions/FileDetails/MoveToFolder.d.ts +2 -0
  276. package/presentation/FileActions/FileDetails/MoveToFolder.js +16 -0
  277. package/presentation/FileActions/FileDetails/MoveToFolder.js.map +1 -0
  278. package/presentation/FileActions/Grid/Delete.d.ts +2 -0
  279. package/presentation/FileActions/Grid/Delete.js +23 -0
  280. package/presentation/FileActions/Grid/Delete.js.map +1 -0
  281. package/presentation/FileActions/Grid/Download.d.ts +2 -0
  282. package/presentation/FileActions/Grid/Download.js +19 -0
  283. package/presentation/FileActions/Grid/Download.js.map +1 -0
  284. package/presentation/FileActions/Grid/MoveToFolder.d.ts +2 -0
  285. package/presentation/FileActions/Grid/MoveToFolder.js +16 -0
  286. package/presentation/FileActions/Grid/MoveToFolder.js.map +1 -0
  287. package/presentation/FileActions/Grid/Settings.d.ts +2 -0
  288. package/presentation/FileActions/Grid/Settings.js +23 -0
  289. package/presentation/FileActions/Grid/Settings.js.map +1 -0
  290. package/presentation/FileActions/index.d.ts +2 -0
  291. package/presentation/FileActions/index.js +39 -0
  292. package/presentation/FileActions/index.js.map +1 -0
  293. package/presentation/FileDetails/FileDetailsPresenter.d.ts +28 -0
  294. package/presentation/FileDetails/FileDetailsPresenter.js +138 -0
  295. package/presentation/FileDetails/FileDetailsPresenter.js.map +1 -0
  296. package/presentation/FileDetails/FileDetailsPresenter.test.d.ts +1 -0
  297. package/presentation/FileDetails/FileDetailsPresenter.test.js +280 -0
  298. package/presentation/FileDetails/FileDetailsPresenter.test.js.map +1 -0
  299. package/presentation/FileDetails/abstractions.d.ts +22 -0
  300. package/presentation/FileDetails/abstractions.js +5 -0
  301. package/presentation/FileDetails/abstractions.js.map +1 -0
  302. package/presentation/FileDetails/components/ActionButton.d.ts +10 -0
  303. package/presentation/FileDetails/components/ActionButton.js +15 -0
  304. package/presentation/FileDetails/components/ActionButton.js.map +1 -0
  305. package/presentation/FileDetails/components/Actions.d.ts +2 -0
  306. package/presentation/FileDetails/components/Actions.js +13 -0
  307. package/presentation/FileDetails/components/Actions.js.map +1 -0
  308. package/presentation/FileDetails/components/Content.d.ts +14 -0
  309. package/presentation/FileDetails/components/Content.js +20 -0
  310. package/presentation/FileDetails/components/Content.js.map +1 -0
  311. package/presentation/FileDetails/components/CreatedOn.d.ts +2 -0
  312. package/presentation/FileDetails/components/CreatedOn.js +21 -0
  313. package/presentation/FileDetails/components/CreatedOn.js.map +1 -0
  314. package/presentation/FileDetails/components/Description.d.ts +2 -0
  315. package/presentation/FileDetails/components/Description.js +16 -0
  316. package/presentation/FileDetails/components/Description.js.map +1 -0
  317. package/presentation/FileDetails/components/FileDetailsDrawer.d.ts +4 -0
  318. package/presentation/FileDetails/components/FileDetailsDrawer.js +73 -0
  319. package/presentation/FileDetails/components/FileDetailsDrawer.js.map +1 -0
  320. package/presentation/FileDetails/components/Preview.d.ts +2 -0
  321. package/presentation/FileDetails/components/Preview.js +15 -0
  322. package/presentation/FileDetails/components/Preview.js.map +1 -0
  323. package/presentation/FileDetails/components/Thumbnail.d.ts +2 -0
  324. package/presentation/FileDetails/components/Thumbnail.js +12 -0
  325. package/presentation/FileDetails/components/Thumbnail.js.map +1 -0
  326. package/presentation/FileDetails/feature.d.ts +3 -0
  327. package/presentation/FileDetails/feature.js +17 -0
  328. package/presentation/FileDetails/feature.js.map +1 -0
  329. package/presentation/FileDetails/index.d.ts +3 -0
  330. package/presentation/FileDetails/index.js +2 -0
  331. package/presentation/FileList/FileListDataSource.d.ts +20 -0
  332. package/presentation/FileList/FileListDataSource.js +122 -0
  333. package/presentation/FileList/FileListDataSource.js.map +1 -0
  334. package/presentation/FileList/FileListPresenter.test.d.ts +1 -0
  335. package/presentation/FileList/FileListPresenter.test.js +424 -0
  336. package/presentation/FileList/FileListPresenter.test.js.map +1 -0
  337. package/presentation/FileList/FileManagerPresenter.d.ts +43 -0
  338. package/presentation/FileList/FileManagerPresenter.js +213 -0
  339. package/presentation/FileList/FileManagerPresenter.js.map +1 -0
  340. package/presentation/FileList/FileManagerPresenterProvider.d.ts +9 -0
  341. package/presentation/FileList/FileManagerPresenterProvider.js +13 -0
  342. package/presentation/FileList/FileManagerPresenterProvider.js.map +1 -0
  343. package/presentation/FileList/abstractions.d.ts +76 -0
  344. package/presentation/FileList/abstractions.js +5 -0
  345. package/presentation/FileList/abstractions.js.map +1 -0
  346. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.d.ts +6 -0
  347. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.js +12 -0
  348. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
  349. package/presentation/FileList/components/BottomInfoBar/ListStatus.d.ts +6 -0
  350. package/presentation/FileList/components/BottomInfoBar/ListStatus.js +20 -0
  351. package/presentation/FileList/components/BottomInfoBar/ListStatus.js.map +1 -0
  352. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.d.ts +8 -0
  353. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.js +56 -0
  354. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  355. package/presentation/FileList/components/BottomInfoBar/index.d.ts +1 -0
  356. package/presentation/FileList/components/BottomInfoBar/index.js +1 -0
  357. package/presentation/FileList/components/BulkActions/ActionEdit.types.d.ts +2 -0
  358. package/presentation/FileList/components/BulkActions/ActionEdit.types.js +0 -0
  359. package/presentation/FileList/components/BulkActions/ActionEditPresenter.d.ts +35 -0
  360. package/presentation/FileList/components/BulkActions/ActionEditPresenter.js +55 -0
  361. package/presentation/FileList/components/BulkActions/ActionEditPresenter.js.map +1 -0
  362. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.d.ts +1 -0
  363. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.js +170 -0
  364. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.js.map +1 -0
  365. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.d.ts +7 -0
  366. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.js +15 -0
  367. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.js.map +1 -0
  368. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.d.ts +15 -0
  369. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.js +44 -0
  370. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.js.map +1 -0
  371. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.d.ts +15 -0
  372. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.js +52 -0
  373. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.js.map +1 -0
  374. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.d.ts +61 -0
  375. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.js +111 -0
  376. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -0
  377. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.d.ts +1 -0
  378. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.js +372 -0
  379. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -0
  380. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.d.ts +8 -0
  381. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.js +31 -0
  382. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.js.map +1 -0
  383. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.d.ts +11 -0
  384. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.js +33 -0
  385. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.js.map +1 -0
  386. package/presentation/FileList/components/BulkActions/BatchEditorDialog/index.d.ts +1 -0
  387. package/presentation/FileList/components/BulkActions/BatchEditorDialog/index.js +1 -0
  388. package/presentation/FileList/components/BulkActions/BulkActionBar.d.ts +5 -0
  389. package/presentation/FileList/components/BulkActions/BulkActionBar.js +42 -0
  390. package/presentation/FileList/components/BulkActions/BulkActionBar.js.map +1 -0
  391. package/presentation/FileList/components/BulkActions/BulkActionDelete.d.ts +4 -0
  392. package/presentation/FileList/components/BulkActions/BulkActionDelete.js +65 -0
  393. package/presentation/FileList/components/BulkActions/BulkActionDelete.js.map +1 -0
  394. package/presentation/FileList/components/BulkActions/BulkActionEdit.d.ts +4 -0
  395. package/presentation/FileList/components/BulkActions/BulkActionEdit.js +105 -0
  396. package/presentation/FileList/components/BulkActions/BulkActionEdit.js.map +1 -0
  397. package/presentation/FileList/components/BulkActions/BulkActionMove.d.ts +4 -0
  398. package/presentation/FileList/components/BulkActions/BulkActionMove.js +87 -0
  399. package/presentation/FileList/components/BulkActions/BulkActionMove.js.map +1 -0
  400. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.d.ts +23 -0
  401. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.js +40 -0
  402. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.js.map +1 -0
  403. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.d.ts +1 -0
  404. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.js +319 -0
  405. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.js.map +1 -0
  406. package/presentation/FileList/components/BulkActions/domain/Batch.d.ts +32 -0
  407. package/presentation/FileList/components/BulkActions/domain/Batch.js +32 -0
  408. package/presentation/FileList/components/BulkActions/domain/Batch.js.map +1 -0
  409. package/presentation/FileList/components/BulkActions/domain/BatchMapper.d.ts +4 -0
  410. package/presentation/FileList/components/BulkActions/domain/BatchMapper.js +14 -0
  411. package/presentation/FileList/components/BulkActions/domain/BatchMapper.js.map +1 -0
  412. package/presentation/FileList/components/BulkActions/domain/Field.d.ts +32 -0
  413. package/presentation/FileList/components/BulkActions/domain/Field.js +49 -0
  414. package/presentation/FileList/components/BulkActions/domain/Field.js.map +1 -0
  415. package/presentation/FileList/components/BulkActions/domain/FieldMapper.d.ts +7 -0
  416. package/presentation/FileList/components/BulkActions/domain/FieldMapper.js +21 -0
  417. package/presentation/FileList/components/BulkActions/domain/FieldMapper.js.map +1 -0
  418. package/presentation/FileList/components/BulkActions/domain/index.d.ts +4 -0
  419. package/presentation/FileList/components/BulkActions/domain/index.js +4 -0
  420. package/presentation/FileList/components/BulkActions/index.d.ts +5 -0
  421. package/presentation/FileList/components/BulkActions/index.js +5 -0
  422. package/presentation/FileList/components/BulkActions/useBulkActionWorker.d.ts +16 -0
  423. package/presentation/FileList/components/BulkActions/useBulkActionWorker.js +43 -0
  424. package/presentation/FileList/components/BulkActions/useBulkActionWorker.js.map +1 -0
  425. package/presentation/FileList/components/Empty/Empty.d.ts +8 -0
  426. package/presentation/FileList/components/Empty/Empty.js +20 -0
  427. package/presentation/FileList/components/Empty/Empty.js.map +1 -0
  428. package/presentation/FileList/components/Empty/index.d.ts +1 -0
  429. package/presentation/FileList/components/Empty/index.js +1 -0
  430. package/presentation/FileList/components/FileDropArea/FileDropArea.d.ts +9 -0
  431. package/presentation/FileList/components/FileDropArea/FileDropArea.js +62 -0
  432. package/presentation/FileList/components/FileDropArea/FileDropArea.js.map +1 -0
  433. package/presentation/FileList/components/FileDropArea/index.d.ts +1 -0
  434. package/presentation/FileList/components/FileDropArea/index.js +1 -0
  435. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.d.ts +2 -0
  436. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.js +11 -0
  437. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.js.map +1 -0
  438. package/presentation/FileList/components/FileDropPlaceholder/index.d.ts +1 -0
  439. package/presentation/FileList/components/FileDropPlaceholder/index.js +1 -0
  440. package/presentation/FileList/components/FilePicker/FilePicker.d.ts +11 -0
  441. package/presentation/FileList/components/FilePicker/FilePicker.js +28 -0
  442. package/presentation/FileList/components/FilePicker/FilePicker.js.map +1 -0
  443. package/presentation/FileList/components/Filters/FilterByType.d.ts +2 -0
  444. package/presentation/FileList/components/Filters/FilterByType.js +39 -0
  445. package/presentation/FileList/components/Filters/FilterByType.js.map +1 -0
  446. package/presentation/FileList/components/Filters/SubFoldersToggle.d.ts +9 -0
  447. package/presentation/FileList/components/Filters/SubFoldersToggle.js +25 -0
  448. package/presentation/FileList/components/Filters/SubFoldersToggle.js.map +1 -0
  449. package/presentation/FileList/components/Filters/TagsFilter.d.ts +9 -0
  450. package/presentation/FileList/components/Filters/TagsFilter.js +86 -0
  451. package/presentation/FileList/components/Filters/TagsFilter.js.map +1 -0
  452. package/presentation/FileList/components/Filters/TypeFilter.d.ts +8 -0
  453. package/presentation/FileList/components/Filters/TypeFilter.js +46 -0
  454. package/presentation/FileList/components/Filters/TypeFilter.js.map +1 -0
  455. package/presentation/FileList/components/Filters/index.d.ts +3 -0
  456. package/presentation/FileList/components/Filters/index.js +3 -0
  457. package/presentation/FileList/components/Grid/ActionButton.d.ts +9 -0
  458. package/presentation/FileList/components/Grid/ActionButton.js +24 -0
  459. package/presentation/FileList/components/Grid/ActionButton.js.map +1 -0
  460. package/presentation/FileList/components/Grid/File.d.ts +32 -0
  461. package/presentation/FileList/components/Grid/File.js +84 -0
  462. package/presentation/FileList/components/Grid/File.js.map +1 -0
  463. package/presentation/FileList/components/Grid/FileGrid.d.ts +9 -0
  464. package/presentation/FileList/components/Grid/FileGrid.js +162 -0
  465. package/presentation/FileList/components/Grid/FileGrid.js.map +1 -0
  466. package/presentation/FileList/components/Grid/FileGrid.test.d.ts +1 -0
  467. package/presentation/FileList/components/Grid/FileGrid.test.js +387 -0
  468. package/presentation/FileList/components/Grid/FileGrid.test.js.map +1 -0
  469. package/presentation/FileList/components/Grid/index.d.ts +1 -0
  470. package/presentation/FileList/components/Grid/index.js +1 -0
  471. package/presentation/FileList/components/Header/FileManagerHeader.d.ts +7 -0
  472. package/presentation/FileList/components/Header/FileManagerHeader.js +114 -0
  473. package/presentation/FileList/components/Header/FileManagerHeader.js.map +1 -0
  474. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.d.ts +2 -0
  475. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.js +24 -0
  476. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  477. package/presentation/FileList/components/LayoutSwitch/index.d.ts +1 -0
  478. package/presentation/FileList/components/LayoutSwitch/index.js +1 -0
  479. package/presentation/FileList/components/NoPermissions/NoPermissions.d.ts +2 -0
  480. package/presentation/FileList/components/NoPermissions/NoPermissions.js +27 -0
  481. package/presentation/FileList/components/NoPermissions/NoPermissions.js.map +1 -0
  482. package/presentation/FileList/components/NoPermissions/index.d.ts +1 -0
  483. package/presentation/FileList/components/NoPermissions/index.js +1 -0
  484. package/presentation/FileList/components/NoResults/NoResults.d.ts +2 -0
  485. package/presentation/FileList/components/NoResults/NoResults.js +21 -0
  486. package/presentation/FileList/components/NoResults/NoResults.js.map +1 -0
  487. package/presentation/FileList/components/NoResults/index.d.ts +1 -0
  488. package/presentation/FileList/components/NoResults/index.js +1 -0
  489. package/presentation/FileList/components/Search/SearchBar.d.ts +9 -0
  490. package/presentation/FileList/components/Search/SearchBar.js +33 -0
  491. package/presentation/FileList/components/Search/SearchBar.js.map +1 -0
  492. package/presentation/FileList/components/Search/index.d.ts +1 -0
  493. package/presentation/FileList/components/Search/index.js +1 -0
  494. package/presentation/FileList/components/Table/Actions/CopyFile.d.ts +2 -0
  495. package/presentation/FileList/components/Table/Actions/CopyFile.js +21 -0
  496. package/presentation/FileList/components/Table/Actions/CopyFile.js.map +1 -0
  497. package/presentation/FileList/components/Table/Actions/DeleteFile.d.ts +2 -0
  498. package/presentation/FileList/components/Table/Actions/DeleteFile.js +24 -0
  499. package/presentation/FileList/components/Table/Actions/DeleteFile.js.map +1 -0
  500. package/presentation/FileList/components/Table/Actions/EditFile.d.ts +2 -0
  501. package/presentation/FileList/components/Table/Actions/EditFile.js +19 -0
  502. package/presentation/FileList/components/Table/Actions/EditFile.js.map +1 -0
  503. package/presentation/FileList/components/Table/Actions/MoveFile.d.ts +2 -0
  504. package/presentation/FileList/components/Table/Actions/MoveFile.js +19 -0
  505. package/presentation/FileList/components/Table/Actions/MoveFile.js.map +1 -0
  506. package/presentation/FileList/components/Table/Actions/index.d.ts +4 -0
  507. package/presentation/FileList/components/Table/Actions/index.js +4 -0
  508. package/presentation/FileList/components/Table/Cells/CellActions.d.ts +2 -0
  509. package/presentation/FileList/components/Table/Cells/CellActions.js +28 -0
  510. package/presentation/FileList/components/Table/Cells/CellActions.js.map +1 -0
  511. package/presentation/FileList/components/Table/Cells/CellAuthor.d.ts +2 -0
  512. package/presentation/FileList/components/Table/Cells/CellAuthor.js +10 -0
  513. package/presentation/FileList/components/Table/Cells/CellAuthor.js.map +1 -0
  514. package/presentation/FileList/components/Table/Cells/CellCreated.d.ts +2 -0
  515. package/presentation/FileList/components/Table/Cells/CellCreated.js +13 -0
  516. package/presentation/FileList/components/Table/Cells/CellCreated.js.map +1 -0
  517. package/presentation/FileList/components/Table/Cells/CellModified.d.ts +2 -0
  518. package/presentation/FileList/components/Table/Cells/CellModified.js +13 -0
  519. package/presentation/FileList/components/Table/Cells/CellModified.js.map +1 -0
  520. package/presentation/FileList/components/Table/Cells/CellName.d.ts +16 -0
  521. package/presentation/FileList/components/Table/Cells/CellName.js +59 -0
  522. package/presentation/FileList/components/Table/Cells/CellName.js.map +1 -0
  523. package/presentation/FileList/components/Table/Cells/CellSize.d.ts +2 -0
  524. package/presentation/FileList/components/Table/Cells/CellSize.js +14 -0
  525. package/presentation/FileList/components/Table/Cells/CellSize.js.map +1 -0
  526. package/presentation/FileList/components/Table/Cells/CellThumbnail.d.ts +2 -0
  527. package/presentation/FileList/components/Table/Cells/CellThumbnail.js +12 -0
  528. package/presentation/FileList/components/Table/Cells/CellThumbnail.js.map +1 -0
  529. package/presentation/FileList/components/Table/Cells/CellType.d.ts +2 -0
  530. package/presentation/FileList/components/Table/Cells/CellType.js +11 -0
  531. package/presentation/FileList/components/Table/Cells/CellType.js.map +1 -0
  532. package/presentation/FileList/components/Table/Cells/index.d.ts +7 -0
  533. package/presentation/FileList/components/Table/Cells/index.js +7 -0
  534. package/presentation/FileList/components/Table/FileTable.d.ts +12 -0
  535. package/presentation/FileList/components/Table/FileTable.js +79 -0
  536. package/presentation/FileList/components/Table/FileTable.js.map +1 -0
  537. package/presentation/FileList/components/Table/FileTable.test.d.ts +1 -0
  538. package/presentation/FileList/components/Table/FileTable.test.js +365 -0
  539. package/presentation/FileList/components/Table/FileTable.test.js.map +1 -0
  540. package/presentation/FileList/components/Table/index.d.ts +4 -0
  541. package/presentation/FileList/components/Table/index.js +3 -0
  542. package/presentation/FileList/components/TagsList/Empty.d.ts +6 -0
  543. package/presentation/FileList/components/TagsList/Empty.js +8 -0
  544. package/presentation/FileList/components/TagsList/Empty.js.map +1 -0
  545. package/presentation/FileList/components/TagsList/FilterSelect.d.ts +2 -0
  546. package/presentation/FileList/components/TagsList/FilterSelect.js +38 -0
  547. package/presentation/FileList/components/TagsList/FilterSelect.js.map +1 -0
  548. package/presentation/FileList/components/TagsList/FilterStatus.d.ts +7 -0
  549. package/presentation/FileList/components/TagsList/FilterStatus.js +25 -0
  550. package/presentation/FileList/components/TagsList/FilterStatus.js.map +1 -0
  551. package/presentation/FileList/components/TagsList/Tag.d.ts +9 -0
  552. package/presentation/FileList/components/TagsList/Tag.js +11 -0
  553. package/presentation/FileList/components/TagsList/Tag.js.map +1 -0
  554. package/presentation/FileList/components/TagsList/Tags.d.ts +8 -0
  555. package/presentation/FileList/components/TagsList/Tags.js +30 -0
  556. package/presentation/FileList/components/TagsList/Tags.js.map +1 -0
  557. package/presentation/FileList/components/TagsList/TagsList.d.ts +11 -0
  558. package/presentation/FileList/components/TagsList/TagsList.js +24 -0
  559. package/presentation/FileList/components/TagsList/TagsList.js.map +1 -0
  560. package/presentation/FileList/components/TagsList/index.d.ts +1 -0
  561. package/presentation/FileList/components/TagsList/index.js +1 -0
  562. package/presentation/FileList/components/Thumbnail/Thumbnail.d.ts +2 -0
  563. package/presentation/FileList/components/Thumbnail/Thumbnail.js +12 -0
  564. package/presentation/FileList/components/Thumbnail/Thumbnail.js.map +1 -0
  565. package/presentation/FileList/components/Thumbnail/index.d.ts +1 -0
  566. package/presentation/FileList/components/Thumbnail/index.js +1 -0
  567. package/presentation/FileList/components/Upload/UploadProgress.d.ts +9 -0
  568. package/presentation/FileList/components/Upload/UploadProgress.js +45 -0
  569. package/presentation/FileList/components/Upload/UploadProgress.js.map +1 -0
  570. package/presentation/FileList/components/Upload/index.d.ts +1 -0
  571. package/presentation/FileList/components/Upload/index.js +1 -0
  572. package/presentation/FileList/feature.d.ts +3 -0
  573. package/presentation/FileList/feature.js +17 -0
  574. package/presentation/FileList/feature.js.map +1 -0
  575. package/presentation/FileList/index.d.ts +5 -0
  576. package/presentation/FileList/index.js +3 -0
  577. package/presentation/FileManager/FileManagerRenderer.d.ts +2 -0
  578. package/presentation/FileManager/FileManagerRenderer.js +33 -0
  579. package/presentation/FileManager/FileManagerRenderer.js.map +1 -0
  580. package/presentation/FileManager/FileManagerView.d.ts +12 -0
  581. package/presentation/FileManager/FileManagerView.js +246 -0
  582. package/presentation/FileManager/FileManagerView.js.map +1 -0
  583. package/presentation/FileManager/OverlayContext.d.ts +14 -0
  584. package/presentation/FileManager/OverlayContext.js +11 -0
  585. package/presentation/FileManager/OverlayContext.js.map +1 -0
  586. package/presentation/FileManager/outputFileSelectionError.d.ts +2 -0
  587. package/presentation/FileManager/outputFileSelectionError.js +27 -0
  588. package/presentation/FileManager/outputFileSelectionError.js.map +1 -0
  589. package/presentation/Settings/SettingsPresenter.d.ts +14 -0
  590. package/presentation/Settings/SettingsPresenter.js +78 -0
  591. package/presentation/Settings/SettingsPresenter.js.map +1 -0
  592. package/presentation/Settings/components/SettingsView.d.ts +4 -0
  593. package/presentation/Settings/components/SettingsView.js +45 -0
  594. package/presentation/Settings/components/SettingsView.js.map +1 -0
  595. package/presentation/config/DefaultFileManagerConfig.d.ts +2 -0
  596. package/presentation/config/DefaultFileManagerConfig.js +118 -0
  597. package/presentation/config/DefaultFileManagerConfig.js.map +1 -0
  598. package/presentation/config/FileManagerViewConfig.d.ts +248 -0
  599. package/presentation/config/FileManagerViewConfig.js +74 -0
  600. package/presentation/config/FileManagerViewConfig.js.map +1 -0
  601. package/presentation/config/configComponents/Browser/BulkAction.d.ts +26 -0
  602. package/presentation/config/configComponents/Browser/BulkAction.js +57 -0
  603. package/presentation/config/configComponents/Browser/BulkAction.js.map +1 -0
  604. package/presentation/config/configComponents/Browser/BulkEditField.d.ts +10 -0
  605. package/presentation/config/configComponents/Browser/BulkEditField.js +24 -0
  606. package/presentation/config/configComponents/Browser/BulkEditField.js.map +1 -0
  607. package/presentation/config/configComponents/Browser/FileAction.d.ts +8 -0
  608. package/presentation/config/configComponents/Browser/FileAction.js +11 -0
  609. package/presentation/config/configComponents/Browser/FileAction.js.map +1 -0
  610. package/presentation/config/configComponents/Browser/Filter.d.ts +39 -0
  611. package/presentation/config/configComponents/Browser/Filter.js +37 -0
  612. package/presentation/config/configComponents/Browser/Filter.js.map +1 -0
  613. package/presentation/config/configComponents/Browser/FilterByTags.d.ts +5 -0
  614. package/presentation/config/configComponents/Browser/FilterByTags.js +14 -0
  615. package/presentation/config/configComponents/Browser/FilterByTags.js.map +1 -0
  616. package/presentation/config/configComponents/Browser/FiltersToWhere.d.ts +7 -0
  617. package/presentation/config/configComponents/Browser/FiltersToWhere.js +13 -0
  618. package/presentation/config/configComponents/Browser/FiltersToWhere.js.map +1 -0
  619. package/presentation/config/configComponents/Browser/FolderAction.d.ts +7 -0
  620. package/presentation/config/configComponents/Browser/FolderAction.js +10 -0
  621. package/presentation/config/configComponents/Browser/FolderAction.js.map +1 -0
  622. package/presentation/config/configComponents/Browser/FolderDropConfirmation.d.ts +5 -0
  623. package/presentation/config/configComponents/Browser/FolderDropConfirmation.js +7 -0
  624. package/presentation/config/configComponents/Browser/FolderDropConfirmation.js.map +1 -0
  625. package/presentation/config/configComponents/Browser/FolderFieldDecorator.d.ts +7 -0
  626. package/presentation/config/configComponents/Browser/FolderFieldDecorator.js +11 -0
  627. package/presentation/config/configComponents/Browser/FolderFieldDecorator.js.map +1 -0
  628. package/presentation/config/configComponents/Browser/Grid/Action.d.ts +31 -0
  629. package/presentation/config/configComponents/Browser/Grid/Action.js +33 -0
  630. package/presentation/config/configComponents/Browser/Grid/Action.js.map +1 -0
  631. package/presentation/config/configComponents/Browser/Grid/Thumbnail.d.ts +28 -0
  632. package/presentation/config/configComponents/Browser/Grid/Thumbnail.js +28 -0
  633. package/presentation/config/configComponents/Browser/Grid/Thumbnail.js.map +1 -0
  634. package/presentation/config/configComponents/Browser/Grid/index.d.ts +6 -0
  635. package/presentation/config/configComponents/Browser/Grid/index.js +0 -0
  636. package/presentation/config/configComponents/Browser/Table/Column.d.ts +32 -0
  637. package/presentation/config/configComponents/Browser/Table/Column.js +13 -0
  638. package/presentation/config/configComponents/Browser/Table/Column.js.map +1 -0
  639. package/presentation/config/configComponents/Browser/Table/Thumbnail.d.ts +28 -0
  640. package/presentation/config/configComponents/Browser/Table/Thumbnail.js +28 -0
  641. package/presentation/config/configComponents/Browser/Table/Thumbnail.js.map +1 -0
  642. package/presentation/config/configComponents/Browser/Table/index.d.ts +56 -0
  643. package/presentation/config/configComponents/Browser/Table/index.js +11 -0
  644. package/presentation/config/configComponents/Browser/Table/index.js.map +1 -0
  645. package/presentation/config/configComponents/Browser/index.d.ts +189 -0
  646. package/presentation/config/configComponents/Browser/index.js +47 -0
  647. package/presentation/config/configComponents/Browser/index.js.map +1 -0
  648. package/presentation/config/configComponents/FileDetails/Action.d.ts +31 -0
  649. package/presentation/config/configComponents/FileDetails/Action.js +30 -0
  650. package/presentation/config/configComponents/FileDetails/Action.js.map +1 -0
  651. package/presentation/config/configComponents/FileDetails/Thumbnail.d.ts +28 -0
  652. package/presentation/config/configComponents/FileDetails/Thumbnail.js +25 -0
  653. package/presentation/config/configComponents/FileDetails/Thumbnail.js.map +1 -0
  654. package/presentation/config/configComponents/FileDetails/Width.d.ts +5 -0
  655. package/presentation/config/configComponents/FileDetails/Width.js +13 -0
  656. package/presentation/config/configComponents/FileDetails/Width.js.map +1 -0
  657. package/presentation/config/configComponents/FileDetails/index.d.ts +52 -0
  658. package/presentation/config/configComponents/FileDetails/index.js +16 -0
  659. package/presentation/config/configComponents/FileDetails/index.js.map +1 -0
  660. package/presentation/config/fields/AccessControl.d.ts +7 -0
  661. package/presentation/config/fields/AccessControl.js +38 -0
  662. package/presentation/config/fields/AccessControl.js.map +1 -0
  663. package/presentation/config/fields/Tags.d.ts +2 -0
  664. package/presentation/config/fields/Tags.js +32 -0
  665. package/presentation/config/fields/Tags.js.map +1 -0
  666. package/presentation/config/fields/index.d.ts +2 -0
  667. package/presentation/config/fields/index.js +2 -0
  668. package/presentation/config/fields/useAccessControlField.d.ts +6 -0
  669. package/presentation/config/fields/useAccessControlField.js +21 -0
  670. package/presentation/config/fields/useAccessControlField.js.map +1 -0
  671. package/presentation/config/fields/useFileOrUndefined.d.ts +3 -0
  672. package/presentation/config/fields/useFileOrUndefined.js +13 -0
  673. package/presentation/config/fields/useFileOrUndefined.js.map +1 -0
  674. package/presentation/config/getThumbnailRenderer.d.ts +4 -0
  675. package/presentation/config/getThumbnailRenderer.js +16 -0
  676. package/presentation/config/getThumbnailRenderer.js.map +1 -0
  677. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.d.ts +2 -0
  678. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.js +11 -0
  679. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.js.map +1 -0
  680. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.d.ts +2 -0
  681. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.js +18 -0
  682. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.js.map +1 -0
  683. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.d.ts +2 -0
  684. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.js +11 -0
  685. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.js.map +1 -0
  686. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.d.ts +2 -0
  687. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.js +18 -0
  688. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.js.map +1 -0
  689. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.d.ts +2 -0
  690. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.js +18 -0
  691. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.js.map +1 -0
  692. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.d.ts +2 -0
  693. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.js +18 -0
  694. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.js.map +1 -0
  695. package/presentation/contexts/FileProvider.d.ts +12 -0
  696. package/presentation/contexts/FileProvider.js +13 -0
  697. package/presentation/contexts/FileProvider.js.map +1 -0
  698. package/presentation/hooks/useCopyFile.d.ts +11 -0
  699. package/presentation/hooks/useCopyFile.js +24 -0
  700. package/presentation/hooks/useCopyFile.js.map +1 -0
  701. package/presentation/hooks/useDeleteFile.d.ts +9 -0
  702. package/presentation/hooks/useDeleteFile.js +35 -0
  703. package/presentation/hooks/useDeleteFile.js.map +1 -0
  704. package/presentation/hooks/useFile.d.ts +2 -0
  705. package/presentation/hooks/useFile.js +10 -0
  706. package/presentation/hooks/useFile.js.map +1 -0
  707. package/presentation/hooks/useMoveFileToFolder.d.ts +2 -0
  708. package/presentation/hooks/useMoveFileToFolder.js +36 -0
  709. package/presentation/hooks/useMoveFileToFolder.js.map +1 -0
  710. package/routes.d.ts +7 -0
  711. package/routes.js +17 -0
  712. package/routes.js.map +1 -0
  713. package/static/svg/folder-open.ae8d0fac.svg +1 -0
  714. package/admin/graphql.js +0 -24
  715. package/admin/graphql.js.map +0 -1
  716. package/admin/index.d.ts +0 -2
  717. package/admin/index.js +0 -16
  718. package/admin/index.js.map +0 -1
  719. package/admin/plugins/index.d.ts +0 -2
  720. package/admin/plugins/index.js +0 -18
  721. package/admin/plugins/index.js.map +0 -1
  722. package/admin/plugins/installation.d.ts +0 -3
  723. package/admin/plugins/installation.js +0 -134
  724. package/admin/plugins/installation.js.map +0 -1
  725. package/admin/plugins/permissionRenderer/FileManagerPermissions.d.ts +0 -14
  726. package/admin/plugins/permissionRenderer/FileManagerPermissions.js +0 -249
  727. package/admin/plugins/permissionRenderer/FileManagerPermissions.js.map +0 -1
  728. package/admin/plugins/permissionRenderer/index.d.ts +0 -3
  729. package/admin/plugins/permissionRenderer/index.js +0 -38
  730. package/admin/plugins/permissionRenderer/index.js.map +0 -1
  731. package/admin/views/FileManagerSettings.d.ts +0 -3
  732. package/admin/views/FileManagerSettings.js +0 -162
  733. package/admin/views/FileManagerSettings.js.map +0 -1
  734. package/index.js.map +0 -1
  735. package/types.d.ts +0 -26
  736. package/types.js +0 -5
  737. package/types.js.map +0 -1
  738. /package/{admin → modules/Settings}/assets/icons/folder-open.svg +0 -0
@@ -0,0 +1,79 @@
1
+ import react, { useCallback, useMemo } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { useShiftKey } from "@webiny/app-admin";
4
+ import { useOverlay } from "../../../FileManager/OverlayContext.js";
5
+ import { Table, createRecordsData } from "@webiny/app-aco";
6
+ import { useFileManagerPresenter } from "../../FileManagerPresenterProvider.js";
7
+ import { useFileManagerConfig } from "../../../config/FileManagerViewConfig.js";
8
+ const toFolderTableRows = (folders)=>folders.map((folder)=>({
9
+ id: folder.id,
10
+ $type: "FOLDER",
11
+ $selectable: false,
12
+ data: folder
13
+ }));
14
+ const toDataTableSorting = (sort)=>{
15
+ if (!sort) return [];
16
+ return [
17
+ {
18
+ id: sort.field,
19
+ desc: "DESC" === sort.direction
20
+ }
21
+ ];
22
+ };
23
+ const FileTable_FileTable = observer(function() {
24
+ const presenter = useFileManagerPresenter();
25
+ const { browser } = useFileManagerConfig();
26
+ const { vm, actions } = presenter;
27
+ const { isPressed: isShiftPressed } = useShiftKey();
28
+ const overlay = useOverlay();
29
+ const fileRows = createRecordsData(vm.list.rows);
30
+ const data = vm.showFolders ? [
31
+ ...toFolderTableRows(vm.folders.childFolders),
32
+ ...fileRows
33
+ ] : fileRows;
34
+ const selected = createRecordsData(vm.list.rows.filter((file)=>vm.list.selection.selectedIds.has(file.id)));
35
+ const sorting = useMemo(()=>toDataTableSorting(vm.list.sort), [
36
+ vm.list.sort
37
+ ]);
38
+ const onSortingChange = useCallback((updater)=>{
39
+ const newSorting = "function" == typeof updater ? updater(sorting) : updater;
40
+ if (newSorting.length > 0) {
41
+ const { id, desc } = newSorting[0];
42
+ actions.sort.set(id, desc ? "DESC" : "ASC");
43
+ }
44
+ }, [
45
+ sorting,
46
+ actions.sort
47
+ ]);
48
+ const onToggleRow = (row)=>{
49
+ if ("RECORD" !== row.$type) return;
50
+ if (isShiftPressed()) return void actions.selection.selectRangeTo(row.id);
51
+ if (overlay) {
52
+ const file = vm.list.rows.find((f)=>f.id === row.id);
53
+ if (file) overlay.onFileClick(file);
54
+ return;
55
+ }
56
+ actions.selection.toggle(row.id);
57
+ };
58
+ const onSelectRow = useCallback((rows)=>{
59
+ if (0 === rows.length) return void actions.selection.deselectAll();
60
+ const ids = rows.filter((row)=>"RECORD" === row.$type).map((row)=>row.id);
61
+ actions.selection.selectRows(ids);
62
+ }, [
63
+ actions.selection
64
+ ]);
65
+ return /*#__PURE__*/ react.createElement(Table, {
66
+ columns: browser.table.columns,
67
+ data: data,
68
+ loading: vm.list.pagination.loading,
69
+ onSelectRow: onSelectRow,
70
+ onToggleRow: onToggleRow,
71
+ sorting: sorting,
72
+ onSortingChange: onSortingChange,
73
+ selected: selected,
74
+ namespace: "fm/file/list"
75
+ });
76
+ });
77
+ export { FileTable_FileTable as FileTable };
78
+
79
+ //# sourceMappingURL=FileTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/FileList/components/Table/FileTable.js","sources":["../../../../../src/presentation/FileList/components/Table/FileTable.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport type { DataTableSorting, OnDataTableSortingChange } from \"@webiny/admin-ui\";\nimport { useShiftKey } from \"@webiny/app-admin\";\nimport { useOverlay } from \"~/presentation/FileManager/OverlayContext.js\";\nimport { createRecordsData, Table as AcoTable } from \"@webiny/app-aco\";\nimport type { FolderTableRow, RecordTableRow } from \"@webiny/app-aco\";\nimport { useFileManagerPresenter } from \"../../FileManagerPresenterProvider.js\";\nimport { useFileManagerConfig } from \"~/presentation/config/FileManagerViewConfig.js\";\nimport type { FmFile } from \"~/features/shared/types.js\";\nimport type { FolderDto } from \"@webiny/app-aco\";\n\nexport type FileTableItem = FolderTableRow | RecordTableRow<FmFile>;\n\nconst toFolderTableRows = (folders: FolderDto[]): FolderTableRow[] => {\n return folders.map(folder => ({\n id: folder.id,\n $type: \"FOLDER\" as const,\n $selectable: false,\n data: folder\n }));\n};\n\n/**\n * Convert presenter sort state to DataTable sorting format.\n */\nconst toDataTableSorting = (\n sort: { field: string; direction: \"ASC\" | \"DESC\" } | null\n): DataTableSorting => {\n if (!sort) {\n return [];\n }\n return [{ id: sort.field, desc: sort.direction === \"DESC\" }];\n};\n\n/**\n * Table View component driven by FileListPresenter vm.\n * Bridges the presenter's state to the ACO Table component,\n * wiring sort and selection actions back to the presenter.\n */\nexport const FileTable = observer(function FileTable() {\n const presenter = useFileManagerPresenter();\n const { browser } = useFileManagerConfig();\n const { vm, actions } = presenter;\n\n const { isPressed: isShiftPressed } = useShiftKey();\n const overlay = useOverlay();\n\n // No useMemo — MobX observer needs to track these observable accesses during render.\n const fileRows = createRecordsData(vm.list.rows);\n const data: FileTableItem[] = vm.showFolders\n ? [...toFolderTableRows(vm.folders.childFolders), ...fileRows]\n : fileRows;\n\n const selected: FileTableItem[] = createRecordsData(\n vm.list.rows.filter(file => vm.list.selection.selectedIds.has(file.id))\n );\n\n // Convert presenter sort state to DataTable format.\n const sorting = useMemo(() => toDataTableSorting(vm.list.sort), [vm.list.sort]);\n\n // Handle sorting changes from the DataTable.\n const onSortingChange: OnDataTableSortingChange = useCallback(\n updater => {\n const newSorting = typeof updater === \"function\" ? updater(sorting) : updater;\n if (newSorting.length > 0) {\n const { id, desc } = newSorting[0];\n actions.sort.set(id, desc ? \"DESC\" : \"ASC\");\n }\n },\n [sorting, actions.sort]\n );\n\n const onToggleRow = (row: FileTableItem) => {\n if (row.$type !== \"RECORD\") {\n return;\n }\n\n if (isShiftPressed()) {\n actions.selection.selectRangeTo(row.id);\n return;\n }\n\n if (overlay) {\n const file = vm.list.rows.find(f => f.id === row.id);\n if (file) {\n overlay.onFileClick(file);\n }\n return;\n }\n\n actions.selection.toggle(row.id);\n };\n\n // Handle select all / bulk selection.\n const onSelectRow = useCallback(\n (rows: FileTableItem[] | []) => {\n if (rows.length === 0) {\n actions.selection.deselectAll();\n return;\n }\n const ids = rows\n .filter((row): row is RecordTableRow<FmFile> => row.$type === \"RECORD\")\n .map(row => row.id);\n actions.selection.selectRows(ids);\n },\n [actions.selection]\n );\n\n return (\n <AcoTable<FileTableItem>\n columns={browser.table.columns}\n data={data}\n loading={vm.list.pagination.loading}\n onSelectRow={onSelectRow}\n onToggleRow={onToggleRow}\n sorting={sorting}\n onSortingChange={onSortingChange}\n selected={selected}\n namespace={\"fm/file/list\"}\n />\n );\n});\n"],"names":["toFolderTableRows","folders","folder","toDataTableSorting","sort","FileTable","observer","presenter","useFileManagerPresenter","browser","useFileManagerConfig","vm","actions","isShiftPressed","useShiftKey","overlay","useOverlay","fileRows","createRecordsData","data","selected","file","sorting","useMemo","onSortingChange","useCallback","updater","newSorting","id","desc","onToggleRow","row","f","onSelectRow","rows","ids","AcoTable"],"mappings":";;;;;;;AAcA,MAAMA,oBAAoB,CAACC,UAChBA,QAAQ,GAAG,CAACC,CAAAA,SAAW;YAC1B,IAAIA,OAAO,EAAE;YACb,OAAO;YACP,aAAa;YACb,MAAMA;QACV;AAMJ,MAAMC,qBAAqB,CACvBC;IAEA,IAAI,CAACA,MACD,OAAO,EAAE;IAEb,OAAO;QAAC;YAAE,IAAIA,KAAK,KAAK;YAAE,MAAMA,AAAmB,WAAnBA,KAAK,SAAS;QAAY;KAAE;AAChE;AAOO,MAAMC,sBAAYC,SAAS;IAC9B,MAAMC,YAAYC;IAClB,MAAM,EAAEC,OAAO,EAAE,GAAGC;IACpB,MAAM,EAAEC,EAAE,EAAEC,OAAO,EAAE,GAAGL;IAExB,MAAM,EAAE,WAAWM,cAAc,EAAE,GAAGC;IACtC,MAAMC,UAAUC;IAGhB,MAAMC,WAAWC,kBAAkBP,GAAG,IAAI,CAAC,IAAI;IAC/C,MAAMQ,OAAwBR,GAAG,WAAW,GACtC;WAAIX,kBAAkBW,GAAG,OAAO,CAAC,YAAY;WAAMM;KAAS,GAC5DA;IAEN,MAAMG,WAA4BF,kBAC9BP,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAACU,CAAAA,OAAQV,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAACU,KAAK,EAAE;IAIzE,MAAMC,UAAUC,QAAQ,IAAMpB,mBAAmBQ,GAAG,IAAI,CAAC,IAAI,GAAG;QAACA,GAAG,IAAI,CAAC,IAAI;KAAC;IAG9E,MAAMa,kBAA4CC,YAC9CC,CAAAA;QACI,MAAMC,aAAa,AAAmB,cAAnB,OAAOD,UAAyBA,QAAQJ,WAAWI;QACtE,IAAIC,WAAW,MAAM,GAAG,GAAG;YACvB,MAAM,EAAEC,EAAE,EAAEC,IAAI,EAAE,GAAGF,UAAU,CAAC,EAAE;YAClCf,QAAQ,IAAI,CAAC,GAAG,CAACgB,IAAIC,OAAO,SAAS;QACzC;IACJ,GACA;QAACP;QAASV,QAAQ,IAAI;KAAC;IAG3B,MAAMkB,cAAc,CAACC;QACjB,IAAIA,AAAc,aAAdA,IAAI,KAAK,EACT;QAGJ,IAAIlB,kBAAkB,YAClBD,QAAQ,SAAS,CAAC,aAAa,CAACmB,IAAI,EAAE;QAI1C,IAAIhB,SAAS;YACT,MAAMM,OAAOV,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAACqB,CAAAA,IAAKA,EAAE,EAAE,KAAKD,IAAI,EAAE;YACnD,IAAIV,MACAN,QAAQ,WAAW,CAACM;YAExB;QACJ;QAEAT,QAAQ,SAAS,CAAC,MAAM,CAACmB,IAAI,EAAE;IACnC;IAGA,MAAME,cAAcR,YAChB,CAACS;QACG,IAAIA,AAAgB,MAAhBA,KAAK,MAAM,EAAQ,YACnBtB,QAAQ,SAAS,CAAC,WAAW;QAGjC,MAAMuB,MAAMD,KACP,MAAM,CAAC,CAACH,MAAuCA,AAAc,aAAdA,IAAI,KAAK,EACxD,GAAG,CAACA,CAAAA,MAAOA,IAAI,EAAE;QACtBnB,QAAQ,SAAS,CAAC,UAAU,CAACuB;IACjC,GACA;QAACvB,QAAQ,SAAS;KAAC;IAGvB,OAAO,WAAP,GACI,oBAACwB,OAAQA;QACL,SAAS3B,QAAQ,KAAK,CAAC,OAAO;QAC9B,MAAMU;QACN,SAASR,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;QACnC,aAAasB;QACb,aAAaH;QACb,SAASR;QACT,iBAAiBE;QACjB,UAAUJ;QACV,WAAW;;AAGvB"}
@@ -0,0 +1,365 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { observable } from "mobx";
3
+ function toDataTableSorting(sort) {
4
+ if (!sort) return [];
5
+ return [
6
+ {
7
+ id: sort.field,
8
+ desc: "DESC" === sort.direction
9
+ }
10
+ ];
11
+ }
12
+ function toFolderTableRows(nodes) {
13
+ return nodes.map((node)=>({
14
+ id: node.id,
15
+ $type: "FOLDER",
16
+ $selectable: false,
17
+ data: {
18
+ id: node.id,
19
+ title: node.name,
20
+ slug: node.slug,
21
+ type: "",
22
+ parentId: node.parentId,
23
+ path: "",
24
+ permissions: [],
25
+ hasNonInheritedPermissions: false,
26
+ canManagePermissions: false,
27
+ canManageStructure: false,
28
+ canManageContent: false,
29
+ createdBy: {
30
+ id: "",
31
+ displayName: ""
32
+ },
33
+ createdOn: "",
34
+ savedBy: {
35
+ id: "",
36
+ displayName: ""
37
+ },
38
+ savedOn: "",
39
+ modifiedBy: null,
40
+ modifiedOn: null,
41
+ extensions: {}
42
+ }
43
+ }));
44
+ }
45
+ function createMockFile(overrides = {}) {
46
+ return {
47
+ id: "file-1",
48
+ name: "photo.jpg",
49
+ key: "files/photo.jpg",
50
+ src: "https://cdn.example.com/files/photo.jpg",
51
+ type: "image/jpeg",
52
+ size: 1024,
53
+ metadata: {},
54
+ tags: [],
55
+ createdOn: "2025-01-01T00:00:00Z",
56
+ savedOn: "2025-01-02T00:00:00Z",
57
+ createdBy: {
58
+ id: "user-1",
59
+ displayName: "Alice",
60
+ type: "admin"
61
+ },
62
+ savedBy: {
63
+ id: "user-1",
64
+ displayName: "Alice",
65
+ type: "admin"
66
+ },
67
+ location: {
68
+ folderId: "root"
69
+ },
70
+ ...overrides
71
+ };
72
+ }
73
+ function createMockFolderNode(overrides = {}) {
74
+ return {
75
+ id: "folder-1",
76
+ name: "Documents",
77
+ slug: "documents",
78
+ parentId: null,
79
+ children: [],
80
+ hasNonInheritedPermissions: false,
81
+ canManagePermissions: false,
82
+ canManageStructure: true,
83
+ ...overrides
84
+ };
85
+ }
86
+ function createMockPresenter(vmOverrides = {}) {
87
+ const defaultVm = observable({
88
+ fileModel: null,
89
+ list: {
90
+ rows: [],
91
+ sort: null,
92
+ filters: {},
93
+ search: "",
94
+ appliedQuery: null,
95
+ pagination: {
96
+ hasMore: false,
97
+ loading: false,
98
+ loadingMore: false,
99
+ totalCount: 0,
100
+ currentCount: 0
101
+ },
102
+ selection: {
103
+ selectedIds: new Set(),
104
+ selectedCount: 0,
105
+ allSelected: false
106
+ },
107
+ empty: true,
108
+ emptyWithFilters: false,
109
+ error: null
110
+ },
111
+ folders: {
112
+ folders: [],
113
+ tree: [],
114
+ currentFolderId: null,
115
+ currentFolder: null,
116
+ loading: false,
117
+ operation: {
118
+ active: false,
119
+ mode: null
120
+ },
121
+ isRootFolder: true,
122
+ currentFolderTitle: "All Files",
123
+ childFolders: [],
124
+ loadingNodeIds: []
125
+ },
126
+ permissions: {
127
+ canRead: true,
128
+ canCreate: true,
129
+ canEdit: true,
130
+ canDelete: true,
131
+ canEditFile: ()=>true,
132
+ canDeleteFile: ()=>true
133
+ },
134
+ upload: {
135
+ jobs: [],
136
+ overallProgress: {
137
+ percentage: 0,
138
+ bytesSent: 0,
139
+ totalBytes: 0
140
+ },
141
+ isUploading: false
142
+ },
143
+ tags: [],
144
+ showFolders: true,
145
+ viewMode: "table",
146
+ dragging: false,
147
+ showingFilters: false,
148
+ isOverlay: false,
149
+ accept: [],
150
+ multiple: false,
151
+ scope: void 0,
152
+ fileDetails: null,
153
+ ...vmOverrides
154
+ });
155
+ return {
156
+ vm: defaultVm,
157
+ actions: {
158
+ search: {
159
+ set: vi.fn(),
160
+ clear: vi.fn()
161
+ },
162
+ sort: {
163
+ set: vi.fn(),
164
+ toggle: vi.fn()
165
+ },
166
+ filter: {
167
+ set: vi.fn(),
168
+ clear: vi.fn(),
169
+ clearAll: vi.fn()
170
+ },
171
+ selection: {
172
+ toggle: vi.fn(),
173
+ selectRangeTo: vi.fn(),
174
+ selectAll: vi.fn(),
175
+ deselectAll: vi.fn(),
176
+ selectRows: vi.fn(),
177
+ isSelected: vi.fn().mockReturnValue(false)
178
+ },
179
+ loadMore: vi.fn().mockResolvedValue(void 0),
180
+ refresh: vi.fn().mockResolvedValue(void 0),
181
+ upload: vi.fn().mockResolvedValue(void 0),
182
+ setViewMode: vi.fn(),
183
+ showFileDetails: vi.fn(),
184
+ hideFileDetails: vi.fn(),
185
+ setDragging: vi.fn(),
186
+ showFilters: vi.fn(),
187
+ hideFilters: vi.fn(),
188
+ folders: {
189
+ selectFolder: vi.fn(),
190
+ createFolder: vi.fn(),
191
+ editFolder: vi.fn(),
192
+ deleteFolder: vi.fn().mockResolvedValue(void 0),
193
+ moveFolder: vi.fn().mockResolvedValue(void 0),
194
+ loadChildFolders: vi.fn().mockResolvedValue(void 0),
195
+ canManageStructure: vi.fn().mockReturnValue(true),
196
+ getAncestorIds: vi.fn().mockReturnValue([]),
197
+ submitOperation: vi.fn().mockResolvedValue(true),
198
+ cancelOperation: vi.fn()
199
+ }
200
+ },
201
+ init: vi.fn(),
202
+ dispose: vi.fn()
203
+ };
204
+ }
205
+ describe("FileTable — sorting conversion", ()=>{
206
+ it("should convert null sort to empty DataTable sorting", ()=>{
207
+ expect(toDataTableSorting(null)).toEqual([]);
208
+ });
209
+ it("should convert ASC sort to DataTable format", ()=>{
210
+ const result = toDataTableSorting({
211
+ field: "name",
212
+ direction: "ASC"
213
+ });
214
+ expect(result).toEqual([
215
+ {
216
+ id: "name",
217
+ desc: false
218
+ }
219
+ ]);
220
+ });
221
+ it("should convert DESC sort to DataTable format", ()=>{
222
+ const result = toDataTableSorting({
223
+ field: "createdOn",
224
+ direction: "DESC"
225
+ });
226
+ expect(result).toEqual([
227
+ {
228
+ id: "createdOn",
229
+ desc: true
230
+ }
231
+ ]);
232
+ });
233
+ });
234
+ describe("FileTable — folder data mapping", ()=>{
235
+ it("should map IFolderTreeNode to FolderTableRow with $type FOLDER", ()=>{
236
+ const node = createMockFolderNode({
237
+ id: "f1",
238
+ name: "Images",
239
+ slug: "images"
240
+ });
241
+ const rows = toFolderTableRows([
242
+ node
243
+ ]);
244
+ expect(rows).toHaveLength(1);
245
+ expect(rows[0].id).toBe("f1");
246
+ expect(rows[0].$type).toBe("FOLDER");
247
+ expect(rows[0].$selectable).toBe(false);
248
+ expect(rows[0].data.title).toBe("Images");
249
+ expect(rows[0].data.slug).toBe("images");
250
+ });
251
+ it("should map multiple folder nodes", ()=>{
252
+ const nodes = [
253
+ createMockFolderNode({
254
+ id: "f1",
255
+ name: "Docs"
256
+ }),
257
+ createMockFolderNode({
258
+ id: "f2",
259
+ name: "Photos"
260
+ })
261
+ ];
262
+ const rows = toFolderTableRows(nodes);
263
+ expect(rows).toHaveLength(2);
264
+ expect(rows[0].id).toBe("f1");
265
+ expect(rows[1].id).toBe("f2");
266
+ });
267
+ it("should return empty array for empty folder list", ()=>{
268
+ expect(toFolderTableRows([])).toEqual([]);
269
+ });
270
+ });
271
+ describe("FileTable — sort action wiring", ()=>{
272
+ it("should call actions.sort.set when sorting changes to DESC", ()=>{
273
+ const presenter = createMockPresenter();
274
+ const newSorting = [
275
+ {
276
+ id: "size",
277
+ desc: true
278
+ }
279
+ ];
280
+ if (newSorting.length > 0) {
281
+ const { id, desc } = newSorting[0];
282
+ presenter.actions.sort.set(id, desc ? "DESC" : "ASC");
283
+ }
284
+ expect(presenter.actions.sort.set).toHaveBeenCalledWith("size", "DESC");
285
+ });
286
+ it("should call actions.sort.set when sorting changes to ASC", ()=>{
287
+ const presenter = createMockPresenter();
288
+ const newSorting = [
289
+ {
290
+ id: "name",
291
+ desc: false
292
+ }
293
+ ];
294
+ if (newSorting.length > 0) {
295
+ const { id, desc } = newSorting[0];
296
+ presenter.actions.sort.set(id, desc ? "DESC" : "ASC");
297
+ }
298
+ expect(presenter.actions.sort.set).toHaveBeenCalledWith("name", "ASC");
299
+ });
300
+ });
301
+ describe("FileTable — selection action wiring", ()=>{
302
+ it("should call actions.selection.toggle for RECORD row toggle", ()=>{
303
+ const presenter = createMockPresenter();
304
+ const row = {
305
+ id: "file-1",
306
+ $type: "RECORD",
307
+ $selectable: true,
308
+ data: createMockFile()
309
+ };
310
+ if ("RECORD" === row.$type) presenter.actions.selection.toggle(row.id);
311
+ expect(presenter.actions.selection.toggle).toHaveBeenCalledWith("file-1");
312
+ });
313
+ it("should not call actions.selection.toggle for FOLDER row toggle", ()=>{
314
+ const presenter = createMockPresenter();
315
+ const row = {
316
+ id: "folder-1",
317
+ $type: "FOLDER",
318
+ $selectable: false,
319
+ data: {}
320
+ };
321
+ if ("RECORD" === row.$type) presenter.actions.selection.toggle(row.id);
322
+ expect(presenter.actions.selection.toggle).not.toHaveBeenCalled();
323
+ });
324
+ it("should call actions.selection.deselectAll when empty selection", ()=>{
325
+ const presenter = createMockPresenter();
326
+ const rows = [];
327
+ if (0 === rows.length) presenter.actions.selection.deselectAll();
328
+ expect(presenter.actions.selection.deselectAll).toHaveBeenCalled();
329
+ });
330
+ it("should call actions.selection.selectRows with file IDs only", ()=>{
331
+ const presenter = createMockPresenter();
332
+ const rows = [
333
+ {
334
+ id: "file-1",
335
+ $type: "RECORD",
336
+ $selectable: true,
337
+ data: createMockFile({
338
+ id: "file-1"
339
+ })
340
+ },
341
+ {
342
+ id: "folder-1",
343
+ $type: "FOLDER",
344
+ $selectable: false,
345
+ data: {}
346
+ },
347
+ {
348
+ id: "file-2",
349
+ $type: "RECORD",
350
+ $selectable: true,
351
+ data: createMockFile({
352
+ id: "file-2"
353
+ })
354
+ }
355
+ ];
356
+ const ids = rows.filter((row)=>"RECORD" === row.$type).map((row)=>row.id);
357
+ presenter.actions.selection.selectRows(ids);
358
+ expect(presenter.actions.selection.selectRows).toHaveBeenCalledWith([
359
+ "file-1",
360
+ "file-2"
361
+ ]);
362
+ });
363
+ });
364
+
365
+ //# sourceMappingURL=FileTable.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/FileList/components/Table/FileTable.test.js","sources":["../../../../../src/presentation/FileList/components/Table/FileTable.test.ts"],"sourcesContent":["// @vitest-environment jsdom\nimport { describe, it, expect, vi } from \"vitest\";\nimport { observable } from \"mobx\";\nimport type { IFileManagerPresenter, IFileManagerViewModel } from \"../../abstractions.js\";\nimport type { IFolderTreeNode } from \"@webiny/app-aco/presentation/folderTree/abstractions.js\";\nimport type { FmFile } from \"~/features/shared/types.js\";\n\n// ---------------------------------------------------------------------------\n// Helpers — extracted from FileTable.tsx for unit testing.\n// ---------------------------------------------------------------------------\n\n/**\n * Convert presenter sort state to DataTable sorting format.\n */\nfunction toDataTableSorting(\n sort: { field: string; direction: \"ASC\" | \"DESC\" } | null\n): Array<{ id: string; desc: boolean }> {\n if (!sort) {\n return [];\n }\n return [{ id: sort.field, desc: sort.direction === \"DESC\" }];\n}\n\n/**\n * Map IFolderTreeNode to FolderTableRow-compatible shape.\n */\nfunction toFolderTableRows(nodes: IFolderTreeNode[]) {\n return nodes.map(node => ({\n id: node.id,\n $type: \"FOLDER\" as const,\n $selectable: false,\n data: {\n id: node.id,\n title: node.name,\n slug: node.slug,\n type: \"\",\n parentId: node.parentId,\n path: \"\",\n permissions: [],\n hasNonInheritedPermissions: false,\n canManagePermissions: false,\n canManageStructure: false,\n canManageContent: false,\n createdBy: { id: \"\", displayName: \"\" },\n createdOn: \"\",\n savedBy: { id: \"\", displayName: \"\" },\n savedOn: \"\",\n modifiedBy: null,\n modifiedOn: null,\n extensions: {}\n }\n }));\n}\n\n// ---------------------------------------------------------------------------\n// Mock file factory.\n// ---------------------------------------------------------------------------\n\nfunction createMockFile(overrides: Partial<FmFile> = {}): FmFile {\n return {\n id: \"file-1\",\n name: \"photo.jpg\",\n key: \"files/photo.jpg\",\n src: \"https://cdn.example.com/files/photo.jpg\",\n type: \"image/jpeg\",\n size: 1024,\n metadata: {},\n tags: [],\n createdOn: \"2025-01-01T00:00:00Z\",\n savedOn: \"2025-01-02T00:00:00Z\",\n createdBy: { id: \"user-1\", displayName: \"Alice\", type: \"admin\" },\n savedBy: { id: \"user-1\", displayName: \"Alice\", type: \"admin\" },\n location: { folderId: \"root\" },\n ...overrides\n };\n}\n\nfunction createMockFolderNode(overrides: Partial<IFolderTreeNode> = {}): IFolderTreeNode {\n return {\n id: \"folder-1\",\n name: \"Documents\",\n slug: \"documents\",\n parentId: null,\n children: [],\n hasNonInheritedPermissions: false,\n canManagePermissions: false,\n canManageStructure: true,\n ...overrides\n };\n}\n\nfunction createMockPresenter(\n vmOverrides: Partial<IFileManagerViewModel> = {}\n): IFileManagerPresenter {\n const defaultVm: IFileManagerViewModel = observable({\n fileModel: null,\n list: {\n rows: [],\n sort: null,\n filters: {},\n search: \"\",\n appliedQuery: null,\n pagination: {\n hasMore: false,\n loading: false,\n loadingMore: false,\n totalCount: 0,\n currentCount: 0\n },\n selection: {\n selectedIds: new Set<string>(),\n selectedCount: 0,\n allSelected: false\n },\n empty: true,\n emptyWithFilters: false,\n error: null\n },\n folders: {\n folders: [],\n tree: [],\n currentFolderId: null,\n currentFolder: null,\n loading: false,\n operation: { active: false, mode: null },\n isRootFolder: true,\n currentFolderTitle: \"All Files\",\n childFolders: [],\n loadingNodeIds: []\n },\n permissions: {\n canRead: true,\n canCreate: true,\n canEdit: true,\n canDelete: true,\n canEditFile: () => true,\n canDeleteFile: () => true\n },\n upload: {\n jobs: [],\n overallProgress: { percentage: 0, bytesSent: 0, totalBytes: 0 },\n isUploading: false\n },\n tags: [],\n showFolders: true,\n viewMode: \"table\" as const,\n dragging: false,\n showingFilters: false,\n isOverlay: false,\n accept: [],\n multiple: false,\n scope: undefined,\n fileDetails: null,\n ...vmOverrides\n });\n\n return {\n vm: defaultVm,\n actions: {\n search: { set: vi.fn(), clear: vi.fn() },\n sort: { set: vi.fn(), toggle: vi.fn() },\n filter: { set: vi.fn(), clear: vi.fn(), clearAll: vi.fn() },\n selection: {\n toggle: vi.fn(),\n selectRangeTo: vi.fn(),\n selectAll: vi.fn(),\n deselectAll: vi.fn(),\n selectRows: vi.fn(),\n isSelected: vi.fn().mockReturnValue(false)\n },\n loadMore: vi.fn().mockResolvedValue(undefined),\n refresh: vi.fn().mockResolvedValue(undefined),\n upload: vi.fn().mockResolvedValue(undefined),\n setViewMode: vi.fn(),\n showFileDetails: vi.fn(),\n hideFileDetails: vi.fn(),\n setDragging: vi.fn(),\n showFilters: vi.fn(),\n hideFilters: vi.fn(),\n folders: {\n selectFolder: vi.fn(),\n createFolder: vi.fn(),\n editFolder: vi.fn(),\n deleteFolder: vi.fn().mockResolvedValue(undefined),\n moveFolder: vi.fn().mockResolvedValue(undefined),\n loadChildFolders: vi.fn().mockResolvedValue(undefined),\n canManageStructure: vi.fn().mockReturnValue(true),\n getAncestorIds: vi.fn().mockReturnValue([]),\n submitOperation: vi.fn().mockResolvedValue(true),\n cancelOperation: vi.fn()\n }\n },\n init: vi.fn(),\n dispose: vi.fn()\n };\n}\n\n// ---------------------------------------------------------------------------\n// Tests\n// ---------------------------------------------------------------------------\n\ndescribe(\"FileTable — sorting conversion\", () => {\n it(\"should convert null sort to empty DataTable sorting\", () => {\n expect(toDataTableSorting(null)).toEqual([]);\n });\n\n it(\"should convert ASC sort to DataTable format\", () => {\n const result = toDataTableSorting({ field: \"name\", direction: \"ASC\" });\n expect(result).toEqual([{ id: \"name\", desc: false }]);\n });\n\n it(\"should convert DESC sort to DataTable format\", () => {\n const result = toDataTableSorting({ field: \"createdOn\", direction: \"DESC\" });\n expect(result).toEqual([{ id: \"createdOn\", desc: true }]);\n });\n});\n\ndescribe(\"FileTable — folder data mapping\", () => {\n it(\"should map IFolderTreeNode to FolderTableRow with $type FOLDER\", () => {\n const node = createMockFolderNode({ id: \"f1\", name: \"Images\", slug: \"images\" });\n const rows = toFolderTableRows([node]);\n\n expect(rows).toHaveLength(1);\n expect(rows[0].id).toBe(\"f1\");\n expect(rows[0].$type).toBe(\"FOLDER\");\n expect(rows[0].$selectable).toBe(false);\n expect(rows[0].data.title).toBe(\"Images\");\n expect(rows[0].data.slug).toBe(\"images\");\n });\n\n it(\"should map multiple folder nodes\", () => {\n const nodes = [\n createMockFolderNode({ id: \"f1\", name: \"Docs\" }),\n createMockFolderNode({ id: \"f2\", name: \"Photos\" })\n ];\n const rows = toFolderTableRows(nodes);\n\n expect(rows).toHaveLength(2);\n expect(rows[0].id).toBe(\"f1\");\n expect(rows[1].id).toBe(\"f2\");\n });\n\n it(\"should return empty array for empty folder list\", () => {\n expect(toFolderTableRows([])).toEqual([]);\n });\n});\n\ndescribe(\"FileTable — sort action wiring\", () => {\n it(\"should call actions.sort.set when sorting changes to DESC\", () => {\n const presenter = createMockPresenter();\n\n // Simulate what the component does when onSortingChange fires.\n const newSorting = [{ id: \"size\", desc: true }];\n if (newSorting.length > 0) {\n const { id, desc } = newSorting[0];\n presenter.actions.sort.set(id, desc ? \"DESC\" : \"ASC\");\n }\n\n expect(presenter.actions.sort.set).toHaveBeenCalledWith(\"size\", \"DESC\");\n });\n\n it(\"should call actions.sort.set when sorting changes to ASC\", () => {\n const presenter = createMockPresenter();\n\n const newSorting = [{ id: \"name\", desc: false }];\n if (newSorting.length > 0) {\n const { id, desc } = newSorting[0];\n presenter.actions.sort.set(id, desc ? \"DESC\" : \"ASC\");\n }\n\n expect(presenter.actions.sort.set).toHaveBeenCalledWith(\"name\", \"ASC\");\n });\n});\n\ndescribe(\"FileTable — selection action wiring\", () => {\n it(\"should call actions.selection.toggle for RECORD row toggle\", () => {\n const presenter = createMockPresenter();\n\n // Simulate onToggleRow for a file row.\n const row = {\n id: \"file-1\",\n $type: \"RECORD\" as const,\n $selectable: true,\n data: createMockFile()\n };\n if (row.$type === \"RECORD\") {\n presenter.actions.selection.toggle(row.id);\n }\n\n expect(presenter.actions.selection.toggle).toHaveBeenCalledWith(\"file-1\");\n });\n\n it(\"should not call actions.selection.toggle for FOLDER row toggle\", () => {\n const presenter = createMockPresenter();\n\n // Simulate onToggleRow for a folder row — folders are not selectable.\n const row = { id: \"folder-1\", $type: \"FOLDER\" as const, $selectable: false, data: {} };\n if ((row.$type as string) === \"RECORD\") {\n presenter.actions.selection.toggle(row.id);\n }\n\n expect(presenter.actions.selection.toggle).not.toHaveBeenCalled();\n });\n\n it(\"should call actions.selection.deselectAll when empty selection\", () => {\n const presenter = createMockPresenter();\n\n // Simulate onSelectRow with empty array.\n const rows: Array<{ id: string; $type: string }> = [];\n if (rows.length === 0) {\n presenter.actions.selection.deselectAll();\n }\n\n expect(presenter.actions.selection.deselectAll).toHaveBeenCalled();\n });\n\n it(\"should call actions.selection.selectRows with file IDs only\", () => {\n const presenter = createMockPresenter();\n\n // Simulate onSelectRow with mixed rows.\n const rows = [\n {\n id: \"file-1\",\n $type: \"RECORD\" as const,\n $selectable: true,\n data: createMockFile({ id: \"file-1\" })\n },\n { id: \"folder-1\", $type: \"FOLDER\" as const, $selectable: false, data: {} },\n {\n id: \"file-2\",\n $type: \"RECORD\" as const,\n $selectable: true,\n data: createMockFile({ id: \"file-2\" })\n }\n ];\n\n const ids = rows.filter(row => row.$type === \"RECORD\").map(row => row.id);\n presenter.actions.selection.selectRows(ids);\n\n expect(presenter.actions.selection.selectRows).toHaveBeenCalledWith([\"file-1\", \"file-2\"]);\n });\n});\n"],"names":["toDataTableSorting","sort","toFolderTableRows","nodes","node","createMockFile","overrides","createMockFolderNode","createMockPresenter","vmOverrides","defaultVm","observable","Set","undefined","vi","describe","it","expect","result","rows","presenter","newSorting","id","desc","row","ids"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { FileTable } from "./FileTable.js";
2
+ export type { FileTableItem } from "./FileTable.js";
3
+ export * from "./Actions/index.js";
4
+ export * from "./Cells/index.js";
@@ -0,0 +1,3 @@
1
+ export * from "./Actions/index.js";
2
+ export * from "./Cells/index.js";
3
+ export { FileTable } from "./FileTable.js";
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ type EmptyProps = {
3
+ disclaimer?: string;
4
+ };
5
+ export declare const Empty: ({ disclaimer }: EmptyProps) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import react from "react";
2
+ import { Text } from "@webiny/admin-ui";
3
+ const Empty = ({ disclaimer = "No tags found..." })=>/*#__PURE__*/ react.createElement(Text, {
4
+ className: "text-neutral-muted"
5
+ }, disclaimer);
6
+ export { Empty };
7
+
8
+ //# sourceMappingURL=Empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/FileList/components/TagsList/Empty.js","sources":["../../../../../src/presentation/FileList/components/TagsList/Empty.tsx"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@webiny/admin-ui\";\n\ntype EmptyProps = {\n disclaimer?: string;\n};\n\nexport const Empty = ({ disclaimer = `No tags found...` }: EmptyProps) => {\n return <Text className={\"text-neutral-muted\"}>{disclaimer}</Text>;\n};\n"],"names":["Empty","disclaimer","Text"],"mappings":";;AAOO,MAAMA,QAAQ,CAAC,EAAEC,aAAa,kBAAkB,EAAc,GAC1D,WAAP,GAAO,oBAACC,MAAIA;QAAC,WAAW;OAAuBD"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const FilterSelect: () => React.JSX.Element;
@@ -0,0 +1,38 @@
1
+ import react, { useState } from "react";
2
+ import { Select, Text } from "@webiny/admin-ui";
3
+ import { useFileManagerPresenter } from "../../FileManagerPresenterProvider.js";
4
+ const options = [
5
+ {
6
+ value: "OR",
7
+ label: "match any"
8
+ },
9
+ {
10
+ value: "AND",
11
+ label: "match all"
12
+ }
13
+ ];
14
+ const FilterSelect = ()=>{
15
+ const { vm, actions } = useFileManagerPresenter();
16
+ const activeTags = vm.list.filters["tags"] ?? [];
17
+ const [filterMode, setFilterMode] = useState("OR");
18
+ return /*#__PURE__*/ react.createElement("div", {
19
+ className: "flex flex-col gap-sm mb-md"
20
+ }, /*#__PURE__*/ react.createElement(Text, {
21
+ className: "font-semibold"
22
+ }, "Filter by tag"), /*#__PURE__*/ react.createElement(Select, {
23
+ disabled: activeTags.length < 2,
24
+ size: "md",
25
+ variant: "secondary",
26
+ value: filterMode,
27
+ onChange: (mode)=>{
28
+ const typedMode = mode;
29
+ setFilterMode(typedMode);
30
+ if (activeTags.length > 0) actions.filter.set("tags_rule", typedMode);
31
+ },
32
+ options: options,
33
+ displayResetAction: false
34
+ }));
35
+ };
36
+ export { FilterSelect };
37
+
38
+ //# sourceMappingURL=FilterSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/FileList/components/TagsList/FilterSelect.js","sources":["../../../../../src/presentation/FileList/components/TagsList/FilterSelect.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Select, Text } from \"@webiny/admin-ui\";\nimport { useFileManagerPresenter } from \"~/presentation/FileList/FileManagerPresenterProvider.js\";\n\nconst options = [\n {\n value: \"OR\",\n label: \"match any\"\n },\n {\n value: \"AND\",\n label: \"match all\"\n }\n];\n\nexport const FilterSelect = () => {\n const { vm, actions } = useFileManagerPresenter();\n const activeTags = (vm.list.filters[\"tags\"] as string[] | undefined) ?? [];\n const [filterMode, setFilterMode] = useState<\"AND\" | \"OR\">(\"OR\");\n\n return (\n <div className={\"flex flex-col gap-sm mb-md\"}>\n <Text className={\"font-semibold\"}>Filter by tag</Text>\n <Select\n disabled={activeTags.length < 2}\n size={\"md\"}\n variant={\"secondary\"}\n value={filterMode}\n onChange={mode => {\n const typedMode = mode as \"AND\" | \"OR\";\n setFilterMode(typedMode);\n if (activeTags.length > 0) {\n actions.filter.set(\"tags_rule\", typedMode);\n }\n }}\n options={options}\n displayResetAction={false}\n />\n </div>\n );\n};\n"],"names":["options","FilterSelect","vm","actions","useFileManagerPresenter","activeTags","filterMode","setFilterMode","useState","Text","Select","mode","typedMode"],"mappings":";;;AAIA,MAAMA,UAAU;IACZ;QACI,OAAO;QACP,OAAO;IACX;IACA;QACI,OAAO;QACP,OAAO;IACX;CACH;AAEM,MAAMC,eAAe;IACxB,MAAM,EAAEC,EAAE,EAAEC,OAAO,EAAE,GAAGC;IACxB,MAAMC,aAAcH,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAA6B,EAAE;IAC1E,MAAM,CAACI,YAAYC,cAAc,GAAGC,SAAuB;IAE3D,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACC,MAAIA;QAAC,WAAW;OAAiB,gCAClC,oBAACC,QAAMA;QACH,UAAUL,WAAW,MAAM,GAAG;QAC9B,MAAM;QACN,SAAS;QACT,OAAOC;QACP,UAAUK,CAAAA;YACN,MAAMC,YAAYD;YAClBJ,cAAcK;YACd,IAAIP,WAAW,MAAM,GAAG,GACpBF,QAAQ,MAAM,CAAC,GAAG,CAAC,aAAaS;QAExC;QACA,SAASZ;QACT,oBAAoB;;AAIpC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface FilterStatusProps {
3
+ activeTags: string[];
4
+ onActivatedTagsChange: (tags: string[]) => void;
5
+ }
6
+ export declare const FilterStatus: ({ activeTags, onActivatedTagsChange }: FilterStatusProps) => React.JSX.Element;
7
+ export {};
@@ -0,0 +1,25 @@
1
+ import react, { useCallback } from "react";
2
+ import { Button, Text } from "@webiny/admin-ui";
3
+ import { useFileManagerPresenter } from "../../FileManagerPresenterProvider.js";
4
+ const FilterStatus = ({ activeTags, onActivatedTagsChange })=>{
5
+ const { actions } = useFileManagerPresenter();
6
+ const resetTags = useCallback(()=>{
7
+ onActivatedTagsChange([]);
8
+ actions.filter.clear("tags_rule");
9
+ }, []);
10
+ return /*#__PURE__*/ react.createElement("div", {
11
+ className: "mb-md flex items-center justify-between gap-sm"
12
+ }, /*#__PURE__*/ react.createElement(Text, {
13
+ size: "sm",
14
+ className: "text-neutral-muted"
15
+ }, activeTags.length, " selected"), /*#__PURE__*/ react.createElement(Button, {
16
+ onClick: resetTags,
17
+ size: "sm",
18
+ variant: "ghost",
19
+ text: "Reset",
20
+ disabled: 0 === activeTags.length
21
+ }));
22
+ };
23
+ export { FilterStatus };
24
+
25
+ //# sourceMappingURL=FilterStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/FileList/components/TagsList/FilterStatus.js","sources":["../../../../../src/presentation/FileList/components/TagsList/FilterStatus.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Button, Text } from \"@webiny/admin-ui\";\nimport { useFileManagerPresenter } from \"~/presentation/FileList/FileManagerPresenterProvider.js\";\n\ninterface FilterStatusProps {\n activeTags: string[];\n onActivatedTagsChange: (tags: string[]) => void;\n}\n\nexport const FilterStatus = ({ activeTags, onActivatedTagsChange }: FilterStatusProps) => {\n const { actions } = useFileManagerPresenter();\n\n const resetTags = useCallback(() => {\n onActivatedTagsChange([]);\n actions.filter.clear(\"tags_rule\");\n }, []);\n\n return (\n <div className={\"mb-md flex items-center justify-between gap-sm\"}>\n <Text size={\"sm\"} className={\"text-neutral-muted\"}>\n {activeTags.length} selected\n </Text>\n <Button\n onClick={resetTags}\n size={\"sm\"}\n variant={\"ghost\"}\n text={\"Reset\"}\n disabled={activeTags.length === 0}\n />\n </div>\n );\n};\n"],"names":["FilterStatus","activeTags","onActivatedTagsChange","actions","useFileManagerPresenter","resetTags","useCallback","Text","Button"],"mappings":";;;AASO,MAAMA,eAAe,CAAC,EAAEC,UAAU,EAAEC,qBAAqB,EAAqB;IACjF,MAAM,EAAEC,OAAO,EAAE,GAAGC;IAEpB,MAAMC,YAAYC,YAAY;QAC1BJ,sBAAsB,EAAE;QACxBC,QAAQ,MAAM,CAAC,KAAK,CAAC;IACzB,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACI,MAAIA;QAAC,MAAM;QAAM,WAAW;OACxBN,WAAW,MAAM,EAAC,4BAEvB,oBAACO,QAAMA;QACH,SAASH;QACT,MAAM;QACN,SAAS;QACT,MAAM;QACN,UAAUJ,AAAsB,MAAtBA,WAAW,MAAM;;AAI3C"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { TagItem } from "@webiny/app-aco/types.js";
3
+ type TagProps = {
4
+ tagItem: TagItem;
5
+ active: boolean;
6
+ onTagClick: (tagItem: TagItem) => void;
7
+ };
8
+ export declare const Tag: ({ tagItem, active, onTagClick }: TagProps) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import react from "react";
2
+ import { Tag } from "@webiny/admin-ui";
3
+ const Tag_Tag = ({ tagItem, active, onTagClick })=>/*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Tag, {
4
+ variant: active ? "accent" : "neutral-muted",
5
+ content: tagItem.tag,
6
+ onClick: ()=>onTagClick(tagItem),
7
+ onDismiss: active ? ()=>onTagClick(tagItem) : void 0
8
+ }));
9
+ export { Tag_Tag as Tag };
10
+
11
+ //# sourceMappingURL=Tag.js.map