@webiny/app-admin 0.0.0-mt-3 → 0.0.0-unstable.5e7233243f

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 (450) hide show
  1. package/assets/icons/slack-logo.svg +1 -1
  2. package/base/Admin.d.ts +7 -0
  3. package/base/Admin.js +55 -0
  4. package/base/Admin.js.map +1 -0
  5. package/base/Base.d.ts +2 -0
  6. package/base/Base.js +110 -0
  7. package/base/Base.js.map +1 -0
  8. package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
  9. package/base/plugins/AddGraphQLQuerySelection.js +31 -0
  10. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
  11. package/base/providers/ApolloProvider.d.ts +10 -0
  12. package/base/providers/ApolloProvider.js +26 -0
  13. package/base/providers/ApolloProvider.js.map +1 -0
  14. package/base/providers/TelemetryProvider.d.ts +2 -0
  15. package/base/providers/TelemetryProvider.js +37 -0
  16. package/base/providers/TelemetryProvider.js.map +1 -0
  17. package/base/providers/UiStateProvider.d.ts +2 -0
  18. package/base/providers/UiStateProvider.js +23 -0
  19. package/base/providers/UiStateProvider.js.map +1 -0
  20. package/base/providers/ViewCompositionProvider.d.ts +17 -0
  21. package/base/providers/ViewCompositionProvider.js +70 -0
  22. package/base/providers/ViewCompositionProvider.js.map +1 -0
  23. package/base/ui/Brand.d.ts +2 -0
  24. package/base/ui/Brand.js +19 -0
  25. package/base/ui/Brand.js.map +1 -0
  26. package/base/ui/CenteredView.d.ts +4 -0
  27. package/base/ui/CenteredView.js +40 -0
  28. package/base/ui/CenteredView.js.map +1 -0
  29. package/base/ui/Dashboard.d.ts +2 -0
  30. package/base/ui/Dashboard.js +19 -0
  31. package/base/ui/Dashboard.js.map +1 -0
  32. package/base/ui/Layout.d.ts +7 -0
  33. package/base/ui/Layout.js +24 -0
  34. package/base/ui/Layout.js.map +1 -0
  35. package/base/ui/LocaleSelector.d.ts +2 -0
  36. package/base/ui/LocaleSelector.js +19 -0
  37. package/base/ui/LocaleSelector.js.map +1 -0
  38. package/base/ui/LoginScreen.d.ts +6 -0
  39. package/base/ui/LoginScreen.js +27 -0
  40. package/base/ui/LoginScreen.js.map +1 -0
  41. package/base/ui/Logo.d.ts +8 -0
  42. package/base/ui/Logo.js +36 -0
  43. package/base/ui/Logo.js.map +1 -0
  44. package/base/ui/Menu.d.ts +31 -0
  45. package/base/ui/Menu.js +166 -0
  46. package/base/ui/Menu.js.map +1 -0
  47. package/base/ui/Navigation.d.ts +24 -0
  48. package/base/ui/Navigation.js +184 -0
  49. package/base/ui/Navigation.js.map +1 -0
  50. package/base/ui/NotFound.d.ts +2 -0
  51. package/base/ui/NotFound.js +19 -0
  52. package/base/ui/NotFound.js.map +1 -0
  53. package/base/ui/Search.d.ts +19 -0
  54. package/base/ui/Search.js +81 -0
  55. package/base/ui/Search.js.map +1 -0
  56. package/base/ui/Tags.d.ts +10 -0
  57. package/base/ui/Tags.js +29 -0
  58. package/base/ui/Tags.js.map +1 -0
  59. package/base/ui/UserMenu.d.ts +30 -0
  60. package/base/ui/UserMenu.js +137 -0
  61. package/base/ui/UserMenu.js.map +1 -0
  62. package/components/AdminLayout.d.ts +1 -2
  63. package/components/AdminLayout.js +16 -29
  64. package/components/AdminLayout.js.map +1 -0
  65. package/components/AppInstaller/AppInstaller.d.ts +7 -0
  66. package/components/AppInstaller/AppInstaller.js +183 -0
  67. package/components/AppInstaller/AppInstaller.js.map +1 -0
  68. package/components/AppInstaller/Sidebar.d.ts +8 -6
  69. package/components/AppInstaller/Sidebar.js +66 -46
  70. package/components/AppInstaller/Sidebar.js.map +1 -0
  71. package/components/AppInstaller/index.d.ts +1 -4
  72. package/components/AppInstaller/index.js +20 -125
  73. package/components/AppInstaller/index.js.map +1 -0
  74. package/components/AppInstaller/styled.d.ts +6 -4
  75. package/components/AppInstaller/styled.js +31 -13
  76. package/components/AppInstaller/styled.js.map +1 -0
  77. package/components/AppInstaller/useInstaller.d.ts +29 -9
  78. package/components/AppInstaller/useInstaller.js +112 -70
  79. package/components/AppInstaller/useInstaller.js.map +1 -0
  80. package/components/EmptyView.d.ts +5 -5
  81. package/components/EmptyView.js +25 -11
  82. package/components/EmptyView.js.map +1 -0
  83. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
  84. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +30 -10
  85. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  86. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
  87. package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
  88. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
  89. package/components/FileManager/BottomInfoBar.d.ts +4 -2
  90. package/components/FileManager/BottomInfoBar.js +29 -11
  91. package/components/FileManager/BottomInfoBar.js.map +1 -0
  92. package/components/FileManager/DropFilesHere.d.ts +5 -3
  93. package/components/FileManager/DropFilesHere.js +31 -13
  94. package/components/FileManager/DropFilesHere.js.map +1 -0
  95. package/components/FileManager/File.d.ts +8 -9
  96. package/components/FileManager/File.js +53 -27
  97. package/components/FileManager/File.js.map +1 -0
  98. package/components/FileManager/FileDetails/Name.d.ts +7 -5
  99. package/components/FileManager/FileDetails/Name.js +63 -38
  100. package/components/FileManager/FileDetails/Name.js.map +1 -0
  101. package/components/FileManager/FileDetails/Tags.d.ts +9 -5
  102. package/components/FileManager/FileDetails/Tags.js +183 -85
  103. package/components/FileManager/FileDetails/Tags.js.map +1 -0
  104. package/components/FileManager/FileDetails.d.ts +9 -8
  105. package/components/FileManager/FileDetails.js +226 -144
  106. package/components/FileManager/FileDetails.js.map +1 -0
  107. package/components/FileManager/FileManagerContext.d.ts +28 -9
  108. package/components/FileManager/FileManagerContext.js +76 -26
  109. package/components/FileManager/FileManagerContext.js.map +1 -0
  110. package/components/FileManager/FileManagerView.d.ts +12 -17
  111. package/components/FileManager/FileManagerView.js +291 -195
  112. package/components/FileManager/FileManagerView.js.map +1 -0
  113. package/components/FileManager/LeftSidebar.d.ts +7 -5
  114. package/components/FileManager/LeftSidebar.js +63 -31
  115. package/components/FileManager/LeftSidebar.js.map +1 -0
  116. package/components/FileManager/NoPermissionView.d.ts +2 -2
  117. package/components/FileManager/NoPermissionView.js +35 -18
  118. package/components/FileManager/NoPermissionView.js.map +1 -0
  119. package/components/FileManager/NoResults.d.ts +3 -2
  120. package/components/FileManager/NoResults.js +22 -7
  121. package/components/FileManager/NoResults.js.map +1 -0
  122. package/components/FileManager/getFileTypePlugin.d.ts +4 -1
  123. package/components/FileManager/getFileTypePlugin.js +48 -18
  124. package/components/FileManager/getFileTypePlugin.js.map +1 -0
  125. package/components/FileManager/getFileUploader.d.ts +2 -1
  126. package/components/FileManager/getFileUploader.js +14 -4
  127. package/components/FileManager/getFileUploader.js.map +1 -0
  128. package/components/FileManager/graphql.d.ts +90 -0
  129. package/components/FileManager/graphql.js +49 -8
  130. package/components/FileManager/graphql.js.map +1 -0
  131. package/components/FileManager/outputFileSelectionError.d.ts +7 -2
  132. package/components/FileManager/outputFileSelectionError.js +19 -4
  133. package/components/FileManager/outputFileSelectionError.js.map +1 -0
  134. package/components/FileManager/types.d.ts +21 -0
  135. package/components/FileManager/types.js +5 -0
  136. package/components/FileManager/types.js.map +1 -0
  137. package/components/FileManager.d.ts +63 -14
  138. package/components/FileManager.js +119 -108
  139. package/components/FileManager.js.map +1 -0
  140. package/components/FloatingActionButton.d.ts +2 -2
  141. package/components/FloatingActionButton.js +18 -6
  142. package/components/FloatingActionButton.js.map +1 -0
  143. package/components/MultiImageUpload.d.ts +13 -4
  144. package/components/MultiImageUpload.js +33 -10
  145. package/components/MultiImageUpload.js.map +1 -0
  146. package/components/OverlayLayout/OverlayLayout.d.ts +11 -13
  147. package/components/OverlayLayout/OverlayLayout.js +68 -43
  148. package/components/OverlayLayout/OverlayLayout.js.map +1 -0
  149. package/components/OverlayLayout/index.d.ts +1 -1
  150. package/components/OverlayLayout/index.js +18 -1
  151. package/components/OverlayLayout/index.js.map +1 -0
  152. package/components/Permissions/Permissions.d.ts +4 -4
  153. package/components/Permissions/Permissions.js +28 -11
  154. package/components/Permissions/Permissions.js.map +1 -0
  155. package/components/Permissions/StyledComponents.d.ts +6 -4
  156. package/components/Permissions/StyledComponents.js +26 -9
  157. package/components/Permissions/StyledComponents.js.map +1 -0
  158. package/components/Permissions/index.js +30 -2
  159. package/components/Permissions/index.js.map +1 -0
  160. package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  161. package/components/RichTextEditor/RichTextEditor.js +24 -9
  162. package/components/RichTextEditor/RichTextEditor.js.map +1 -0
  163. package/components/RichTextEditor/index.js +21 -2
  164. package/components/RichTextEditor/index.js.map +1 -0
  165. package/components/RichTextEditor/styles.scss +39 -7
  166. package/components/RichTextEditor/tools/header/index.d.ts +35 -34
  167. package/components/RichTextEditor/tools/header/index.js +39 -39
  168. package/components/RichTextEditor/tools/header/index.js.map +1 -0
  169. package/components/RichTextEditor/tools/image/index.d.ts +40 -13
  170. package/components/RichTextEditor/tools/image/index.js +38 -30
  171. package/components/RichTextEditor/tools/image/index.js.map +1 -0
  172. package/components/RichTextEditor/tools/image/svgs.js +9 -2
  173. package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
  174. package/components/RichTextEditor/tools/image/tunes.d.ts +14 -15
  175. package/components/RichTextEditor/tools/image/tunes.js +38 -26
  176. package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
  177. package/components/RichTextEditor/tools/image/types.d.ts +29 -0
  178. package/components/RichTextEditor/tools/image/types.js +5 -0
  179. package/components/RichTextEditor/tools/image/types.js.map +1 -0
  180. package/components/RichTextEditor/tools/image/ui.d.ts +38 -27
  181. package/components/RichTextEditor/tools/image/ui.js +55 -35
  182. package/components/RichTextEditor/tools/image/ui.js.map +1 -0
  183. package/components/RichTextEditor/tools/paragraph/index.d.ts +34 -36
  184. package/components/RichTextEditor/tools/paragraph/index.js +57 -63
  185. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
  186. package/components/RichTextEditor/tools/textColor/index.d.ts +33 -27
  187. package/components/RichTextEditor/tools/textColor/index.js +75 -36
  188. package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
  189. package/components/RichTextEditor/tools/utils.js +14 -5
  190. package/components/RichTextEditor/tools/utils.js.map +1 -0
  191. package/components/Routes.d.ts +6 -0
  192. package/components/Routes.js +49 -0
  193. package/components/Routes.js.map +1 -0
  194. package/components/SearchUI.d.ts +4 -4
  195. package/components/SearchUI.js +23 -9
  196. package/components/SearchUI.js.map +1 -0
  197. package/components/SimpleForm/SimpleForm.d.ts +11 -11
  198. package/components/SimpleForm/SimpleForm.js +60 -29
  199. package/components/SimpleForm/SimpleForm.js.map +1 -0
  200. package/components/SimpleForm/index.js +31 -1
  201. package/components/SimpleForm/index.js.map +1 -0
  202. package/components/SimpleUI/InputField.d.ts +4 -3
  203. package/components/SimpleUI/InputField.js +56 -37
  204. package/components/SimpleUI/InputField.js.map +1 -0
  205. package/components/SingleImageUpload.d.ts +43 -13
  206. package/components/SingleImageUpload.js +88 -76
  207. package/components/SingleImageUpload.js.map +1 -0
  208. package/components/SplitView/SplitView.d.ts +6 -5
  209. package/components/SplitView/SplitView.js +45 -26
  210. package/components/SplitView/SplitView.js.map +1 -0
  211. package/components/SplitView/index.js +25 -1
  212. package/components/SplitView/index.js.map +1 -0
  213. package/components/index.js +13 -1
  214. package/components/index.js.map +1 -0
  215. package/hooks/useConfirmationDialog.d.ts +6 -5
  216. package/hooks/useConfirmationDialog.js +30 -18
  217. package/hooks/useConfirmationDialog.js.map +1 -0
  218. package/hooks/useDialog.d.ts +8 -3
  219. package/hooks/useDialog.js +16 -6
  220. package/hooks/useDialog.js.map +1 -0
  221. package/hooks/useSnackbar.d.ts +6 -3
  222. package/hooks/useSnackbar.js +20 -7
  223. package/hooks/useSnackbar.js.map +1 -0
  224. package/index.d.ts +35 -0
  225. package/index.js +373 -0
  226. package/index.js.map +1 -0
  227. package/package.json +47 -45
  228. package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
  229. package/plugins/FileManagerFileTypePlugin.js +37 -20
  230. package/plugins/FileManagerFileTypePlugin.js.map +1 -0
  231. package/plugins/MenuPlugin.d.ts +22 -5
  232. package/plugins/MenuPlugin.js +37 -20
  233. package/plugins/MenuPlugin.js.map +1 -0
  234. package/plugins/PermissionRendererPlugin.d.ts +4 -4
  235. package/plugins/PermissionRendererPlugin.js +37 -20
  236. package/plugins/PermissionRendererPlugin.js.map +1 -0
  237. package/plugins/fileManager/fileDefault.d.ts +1 -2
  238. package/plugins/fileManager/fileDefault.js +22 -8
  239. package/plugins/fileManager/fileDefault.js.map +1 -0
  240. package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
  241. package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
  242. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
  243. package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
  244. package/plugins/fileManager/fileImage/EditAction.js +73 -37
  245. package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
  246. package/plugins/fileManager/fileImage/index.d.ts +1 -2
  247. package/plugins/fileManager/fileImage/index.js +27 -10
  248. package/plugins/fileManager/fileImage/index.js.map +1 -0
  249. package/plugins/fileManager/index.d.ts +2 -2
  250. package/plugins/fileManager/index.js +21 -3
  251. package/plugins/fileManager/index.js.map +1 -0
  252. package/plugins/globalSearch/SearchBar.d.ts +15 -3
  253. package/plugins/globalSearch/SearchBar.js +90 -58
  254. package/plugins/globalSearch/SearchBar.js.map +1 -0
  255. package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
  256. package/plugins/globalSearch/SearchBarDropdown.js +46 -27
  257. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
  258. package/plugins/globalSearch/index.d.ts +3 -4
  259. package/plugins/globalSearch/index.js +8 -22
  260. package/plugins/globalSearch/index.js.map +1 -0
  261. package/plugins/globalSearch/styled.d.ts +5 -3
  262. package/plugins/globalSearch/styled.js +33 -13
  263. package/plugins/globalSearch/styled.js.map +1 -0
  264. package/plugins/uiLayoutRenderer/index.d.ts +1 -2
  265. package/plugins/uiLayoutRenderer/index.js +25 -13
  266. package/plugins/uiLayoutRenderer/index.js.map +1 -0
  267. package/styles/material-theme-assignments.scss +79 -66
  268. package/styles/material.scss +2 -35
  269. package/types.d.ts +12 -19
  270. package/types.js +5 -1
  271. package/types.js.map +1 -0
  272. package/ui/UIElement.d.ts +1 -1
  273. package/ui/UIElement.js +19 -1
  274. package/ui/UIElement.js.map +1 -0
  275. package/ui/UILayout.js +19 -1
  276. package/ui/UILayout.js.map +1 -0
  277. package/ui/UIRenderer.js +13 -1
  278. package/ui/UIRenderer.js.map +1 -0
  279. package/ui/UIView.d.ts +1 -1
  280. package/ui/UIView.js +25 -1
  281. package/ui/UIView.js.map +1 -0
  282. package/ui/elements/AccordionElement.d.ts +5 -5
  283. package/ui/elements/AccordionElement.js +56 -32
  284. package/ui/elements/AccordionElement.js.map +1 -0
  285. package/ui/elements/ButtonElement.d.ts +3 -3
  286. package/ui/elements/ButtonElement.js +47 -20
  287. package/ui/elements/ButtonElement.js.map +1 -0
  288. package/ui/elements/ButtonGroupElement.d.ts +2 -2
  289. package/ui/elements/ButtonGroupElement.js +38 -19
  290. package/ui/elements/ButtonGroupElement.js.map +1 -0
  291. package/ui/elements/GenericElement.js +18 -1
  292. package/ui/elements/GenericElement.js.map +1 -0
  293. package/ui/elements/LabelElement.js +26 -13
  294. package/ui/elements/LabelElement.js.map +1 -0
  295. package/ui/elements/NavigationMenuElement.d.ts +2 -1
  296. package/ui/elements/NavigationMenuElement.js +51 -32
  297. package/ui/elements/NavigationMenuElement.js.map +1 -0
  298. package/ui/elements/PanelElement.js +27 -11
  299. package/ui/elements/PanelElement.js.map +1 -0
  300. package/ui/elements/PlaceholderElement.d.ts +2 -1
  301. package/ui/elements/PlaceholderElement.js +27 -13
  302. package/ui/elements/PlaceholderElement.js.map +1 -0
  303. package/ui/elements/SmallButtonElement.d.ts +1 -1
  304. package/ui/elements/SmallButtonElement.js +36 -19
  305. package/ui/elements/SmallButtonElement.js.map +1 -0
  306. package/ui/elements/TypographyElement.d.ts +1 -1
  307. package/ui/elements/TypographyElement.js +38 -20
  308. package/ui/elements/TypographyElement.js.map +1 -0
  309. package/ui/elements/ViewElement.js +18 -1
  310. package/ui/elements/ViewElement.js.map +1 -0
  311. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
  312. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +42 -26
  313. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
  314. package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
  315. package/ui/elements/form/DynamicFieldsetElement.js +54 -23
  316. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
  317. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -13
  318. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
  319. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
  320. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
  321. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +53 -35
  322. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
  323. package/ui/elements/form/FileManagerElement/styled.d.ts +19 -13
  324. package/ui/elements/form/FileManagerElement/styled.js +26 -12
  325. package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
  326. package/ui/elements/form/FileManagerElement.d.ts +6 -6
  327. package/ui/elements/form/FileManagerElement.js +39 -22
  328. package/ui/elements/form/FileManagerElement.js.map +1 -0
  329. package/ui/elements/form/FormElement.d.ts +5 -5
  330. package/ui/elements/form/FormElement.js +42 -21
  331. package/ui/elements/form/FormElement.js.map +1 -0
  332. package/ui/elements/form/FormFieldElement.d.ts +9 -8
  333. package/ui/elements/form/FormFieldElement.js +53 -30
  334. package/ui/elements/form/FormFieldElement.js.map +1 -0
  335. package/ui/elements/form/HiddenElement.js +30 -15
  336. package/ui/elements/form/HiddenElement.js.map +1 -0
  337. package/ui/elements/form/InputElement.d.ts +1 -0
  338. package/ui/elements/form/InputElement.js +35 -18
  339. package/ui/elements/form/InputElement.js.map +1 -0
  340. package/ui/elements/form/PasswordElement.js +34 -18
  341. package/ui/elements/form/PasswordElement.js.map +1 -0
  342. package/ui/elements/form/SelectElement.d.ts +1 -1
  343. package/ui/elements/form/SelectElement.js +36 -20
  344. package/ui/elements/form/SelectElement.js.map +1 -0
  345. package/ui/elements/form/TextareaElement.js +34 -18
  346. package/ui/elements/form/TextareaElement.js.map +1 -0
  347. package/ui/views/AdminView/ContentElement.js +40 -24
  348. package/ui/views/AdminView/ContentElement.js.map +1 -0
  349. package/ui/views/AdminView/HeaderElement.js +72 -39
  350. package/ui/views/AdminView/HeaderElement.js.map +1 -0
  351. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
  352. package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
  353. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
  354. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
  355. package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
  356. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
  357. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
  358. package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
  359. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
  360. package/ui/views/AdminView/components/Dialog.js +32 -15
  361. package/ui/views/AdminView/components/Dialog.js.map +1 -0
  362. package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
  363. package/ui/views/AdminView/components/Hamburger.js +25 -11
  364. package/ui/views/AdminView/components/Hamburger.js.map +1 -0
  365. package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
  366. package/ui/views/AdminView/components/Snackbar.js +26 -13
  367. package/ui/views/AdminView/components/Snackbar.js.map +1 -0
  368. package/ui/views/FormView/FormContainerElement.d.ts +2 -2
  369. package/ui/views/FormView/FormContainerElement.js +45 -25
  370. package/ui/views/FormView/FormContainerElement.js.map +1 -0
  371. package/ui/views/FormView/FormContentElement.js +27 -11
  372. package/ui/views/FormView/FormContentElement.js.map +1 -0
  373. package/ui/views/FormView/FormFooterElement.d.ts +3 -3
  374. package/ui/views/FormView/FormFooterElement.js +38 -19
  375. package/ui/views/FormView/FormFooterElement.js.map +1 -0
  376. package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
  377. package/ui/views/FormView/FormHeaderElement.js +52 -30
  378. package/ui/views/FormView/FormHeaderElement.js.map +1 -0
  379. package/ui/views/FormView.d.ts +1 -1
  380. package/ui/views/FormView.js +85 -37
  381. package/ui/views/FormView.js.map +1 -0
  382. package/ui/views/OverlayView/ContentElement.d.ts +2 -2
  383. package/ui/views/OverlayView/ContentElement.js +38 -19
  384. package/ui/views/OverlayView/ContentElement.js.map +1 -0
  385. package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
  386. package/ui/views/OverlayView/HeaderElement.js +56 -37
  387. package/ui/views/OverlayView/HeaderElement.js.map +1 -0
  388. package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
  389. package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
  390. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
  391. package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
  392. package/ui/views/OverlayView/useOverlayView.js +32 -16
  393. package/ui/views/OverlayView/useOverlayView.js.map +1 -0
  394. package/ui/views/OverlayView.d.ts +4 -6
  395. package/ui/views/OverlayView.js +65 -42
  396. package/ui/views/OverlayView.js.map +1 -0
  397. package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
  398. package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
  399. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
  400. package/ui/views/SplitView.d.ts +3 -3
  401. package/ui/views/SplitView.js +57 -37
  402. package/ui/views/SplitView.js.map +1 -0
  403. package/plugins/index.d.ts +0 -6
  404. package/plugins/index.js +0 -8
  405. package/plugins/logo/Logo.d.ts +0 -22
  406. package/plugins/logo/Logo.js +0 -108
  407. package/plugins/logo/index.d.ts +0 -5
  408. package/plugins/logo/index.js +0 -32
  409. package/plugins/menu/documentation.d.ts +0 -4
  410. package/plugins/menu/documentation.js +0 -16
  411. package/plugins/menu/fileManager.d.ts +0 -4
  412. package/plugins/menu/fileManager.js +0 -64
  413. package/plugins/menu/index.d.ts +0 -6
  414. package/plugins/menu/index.js +0 -24
  415. package/plugins/menu/renderers/MenuGroupRenderer.d.ts +0 -7
  416. package/plugins/menu/renderers/MenuGroupRenderer.js +0 -126
  417. package/plugins/menu/renderers/MenuLinkRenderer.d.ts +0 -7
  418. package/plugins/menu/renderers/MenuLinkRenderer.js +0 -52
  419. package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +0 -7
  420. package/plugins/menu/renderers/MenuSectionItemRenderer.js +0 -77
  421. package/plugins/menu/renderers/MenuSectionRenderer.d.ts +0 -7
  422. package/plugins/menu/renderers/MenuSectionRenderer.js +0 -51
  423. package/plugins/menu/slack.d.ts +0 -4
  424. package/plugins/menu/slack.js +0 -16
  425. package/plugins/menu/source.d.ts +0 -4
  426. package/plugins/menu/source.js +0 -16
  427. package/plugins/userMenu/UserMenuElement.d.ts +0 -7
  428. package/plugins/userMenu/UserMenuElement.js +0 -43
  429. package/plugins/userMenu/UserMenuRenderer.d.ts +0 -6
  430. package/plugins/userMenu/UserMenuRenderer.js +0 -47
  431. package/plugins/userMenu/index.d.ts +0 -4
  432. package/plugins/userMenu/index.js +0 -16
  433. package/ui/views/AdminView.d.ts +0 -12
  434. package/ui/views/AdminView.js +0 -90
  435. package/ui/views/NavigationView/ContentElement.d.ts +0 -10
  436. package/ui/views/NavigationView/ContentElement.js +0 -86
  437. package/ui/views/NavigationView/FooterElement.d.ts +0 -13
  438. package/ui/views/NavigationView/FooterElement.js +0 -57
  439. package/ui/views/NavigationView/HeaderElement.d.ts +0 -16
  440. package/ui/views/NavigationView/HeaderElement.js +0 -66
  441. package/ui/views/NavigationView/NavigationViewRenderer.d.ts +0 -6
  442. package/ui/views/NavigationView/NavigationViewRenderer.js +0 -38
  443. package/ui/views/NavigationView/Styled.d.ts +0 -7
  444. package/ui/views/NavigationView/Styled.js +0 -47
  445. package/ui/views/NavigationView/legacyMenu.d.ts +0 -22
  446. package/ui/views/NavigationView/legacyMenu.js +0 -1
  447. package/ui/views/NavigationView/useNavigation.d.ts +0 -6
  448. package/ui/views/NavigationView/useNavigation.js +0 -22
  449. package/ui/views/NavigationView.d.ts +0 -26
  450. package/ui/views/NavigationView.js +0 -204
@@ -1,53 +1,99 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _bytes = _interopRequireDefault(require("bytes"));
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _emotion = require("emotion");
27
+
28
+ var _Drawer = require("@webiny/ui/Drawer");
29
+
30
+ var _Button = require("@webiny/ui/Button");
31
+
32
+ var _getFileTypePlugin = _interopRequireDefault(require("./getFileTypePlugin"));
33
+
34
+ var _dayjs = _interopRequireDefault(require("dayjs"));
35
+
36
+ var _get = _interopRequireDefault(require("lodash/get"));
37
+
38
+ var _set = _interopRequireDefault(require("lodash/set"));
39
+
40
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
41
+
42
+ var _Tags = _interopRequireDefault(require("./FileDetails/Tags"));
43
+
44
+ var _Name = _interopRequireDefault(require("./FileDetails/Name"));
45
+
46
+ var _Tooltip = require("@webiny/ui/Tooltip");
47
+
48
+ var _Icon = require("@webiny/ui/Icon");
49
+
50
+ var _Typography = require("@webiny/ui/Typography");
51
+
52
+ var _reactHotkeyz = require("react-hotkeyz");
53
+
54
+ var _content_copyBlack24px = require("./icons/content_copy-black-24px.svg");
55
+
56
+ var _delete = require("./icons/delete.svg");
57
+
58
+ var _insert_photo24px = require("../../assets/icons/insert_photo-24px.svg");
59
+
60
+ var _insert_drive_file24px = require("../../assets/icons/insert_drive_file-24px.svg");
61
+
62
+ var _today24px = require("../../assets/icons/today-24px.svg");
63
+
64
+ var _highlight24px = require("../../assets/icons/highlight-24px.svg");
65
+
66
+ var _FileManagerContext = require("./FileManagerContext");
67
+
68
+ var _reactHooks = require("@apollo/react-hooks");
69
+
70
+ var _useSnackbar2 = require("../../hooks/useSnackbar");
71
+
72
+ var _appSecurity = require("@webiny/app-security");
73
+
74
+ var _ConfirmationDialog = require("@webiny/ui/ConfirmationDialog");
75
+
76
+ var _graphql = require("./graphql");
77
+
78
+ var _i18n = require("@webiny/app/i18n");
79
+
80
+ var _mime = _interopRequireDefault(require("mime"));
4
81
 
5
82
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
6
83
 
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
8
- import React, { useCallback, useMemo, useState } from "react";
9
- import bytes from "bytes";
10
- import classNames from "classnames";
11
- import { css } from "emotion";
12
- import { Drawer, DrawerContent } from "@webiny/ui/Drawer";
13
- import { IconButton } from "@webiny/ui/Button";
14
- import getFileTypePlugin from "./getFileTypePlugin";
15
- import dayjs from "dayjs";
16
- import get from "lodash/get";
17
- import set from "lodash/set";
18
- import cloneDeep from "lodash/cloneDeep";
19
- import Tags from "./FileDetails/Tags";
20
- import Name from "./FileDetails/Name";
21
- import { Tooltip } from "@webiny/ui/Tooltip";
22
- import { Icon } from "@webiny/ui/Icon";
23
- import { Typography } from "@webiny/ui/Typography";
24
- import { useHotkeys } from "react-hotkeyz";
25
- import { ReactComponent as CopyContentIcon } from "@svgr/webpack!./icons/content_copy-black-24px.svg";
26
- import { ReactComponent as DeleteIcon } from "@svgr/webpack!./icons/delete.svg";
27
- import { ReactComponent as ImageIcon } from "@svgr/webpack!../../assets/icons/insert_photo-24px.svg";
28
- import { ReactComponent as FileIcon } from "@svgr/webpack!../../assets/icons/insert_drive_file-24px.svg";
29
- import { ReactComponent as CalendarIcon } from "@svgr/webpack!../../assets/icons/today-24px.svg";
30
- import { ReactComponent as HighlightIcon } from "@svgr/webpack!../../assets/icons/highlight-24px.svg";
31
- import { useFileManager } from "./FileManagerContext";
32
- import { useMutation } from "@apollo/react-hooks";
33
- import { useSnackbar } from "../../hooks/useSnackbar";
34
- import { useSecurity } from "@webiny/app-security";
35
- import { ConfirmationDialog } from "@webiny/ui/ConfirmationDialog";
36
- import { DELETE_FILE, LIST_FILES, LIST_TAGS } from "./graphql";
37
- import { i18n } from "@webiny/app/i18n";
38
- import mime from "mime";
39
- var t = i18n.ns("app-admin/file-manager/file-details");
40
- var fileDetailsSidebar = /*#__PURE__*/css({
84
+ var t = _i18n.i18n.ns("app-admin/file-manager/file-details");
85
+
86
+ var fileDetailsSidebar = /*#__PURE__*/(0, _emotion.css)({
41
87
  "&.mdc-drawer": {
42
88
  width: 360
43
89
  }
44
90
  }, "label:fileDetailsSidebar;");
45
91
  var style = {
46
- wrapper: /*#__PURE__*/css({
92
+ wrapper: /*#__PURE__*/(0, _emotion.css)({
47
93
  height: "100vh",
48
94
  overflowY: "auto"
49
95
  }, "label:wrapper;"),
50
- header: /*#__PURE__*/css({
96
+ header: /*#__PURE__*/(0, _emotion.css)({
51
97
  textAlign: "center",
52
98
  marginBottom: 24,
53
99
  paddingTop: 16,
@@ -57,7 +103,7 @@ var style = {
57
103
  fontWeight: 600
58
104
  }
59
105
  }, "label:header;"),
60
- preview: /*#__PURE__*/css({
106
+ preview: /*#__PURE__*/(0, _emotion.css)({
61
107
  boxSizing: "border-box",
62
108
  display: "flex",
63
109
  justifyContent: "center",
@@ -78,7 +124,7 @@ var style = {
78
124
  backgroundColor: "var(--mdc-theme-background)"
79
125
  }
80
126
  }, "label:preview;"),
81
- download: /*#__PURE__*/css({
127
+ download: /*#__PURE__*/(0, _emotion.css)({
82
128
  textAlign: "center",
83
129
  margin: "0 auto",
84
130
  width: "100%",
@@ -88,7 +134,7 @@ var style = {
88
134
  }
89
135
  }
90
136
  }, "label:download;"),
91
- list: /*#__PURE__*/css({
137
+ list: /*#__PURE__*/(0, _emotion.css)({
92
138
  textAlign: "left",
93
139
  color: "var(--mdc-theme-on-surface)",
94
140
  li: {
@@ -122,7 +168,7 @@ var style = {
122
168
  }
123
169
  }
124
170
  }, "label:list;"),
125
- drawerContent: /*#__PURE__*/css({
171
+ drawerContent: /*#__PURE__*/(0, _emotion.css)({
126
172
  "&.mdc-drawer__content": {
127
173
  height: "auto",
128
174
  overflowY: "inherit"
@@ -131,7 +177,7 @@ var style = {
131
177
  };
132
178
 
133
179
  var isImage = function isImage(file) {
134
- var fileType = mime.getType(file && file.name);
180
+ var fileType = _mime.default.getType(file && file.name);
135
181
 
136
182
  if (fileType && typeof fileType === "string") {
137
183
  return fileType.includes("image");
@@ -140,37 +186,43 @@ var isImage = function isImage(file) {
140
186
  return false;
141
187
  };
142
188
 
143
- export default function FileDetails(props) {
189
+ var FileDetails = function FileDetails(props) {
144
190
  var file = props.file,
145
191
  uploadFile = props.uploadFile,
146
192
  validateFiles = props.validateFiles;
147
- var filePlugin = getFileTypePlugin(file);
148
- var actions = get(filePlugin, "fileDetails.actions") || get(filePlugin, "actions") || [];
193
+ var filePlugin = (0, _getFileTypePlugin.default)(file);
194
+ var actions = (0, _get.default)(filePlugin, "fileDetails.actions") || (0, _get.default)(filePlugin, "actions") || [];
149
195
 
150
- var _useFileManager = useFileManager(),
196
+ var _useFileManager = (0, _FileManagerContext.useFileManager)(),
151
197
  hideFileDetails = _useFileManager.hideFileDetails,
152
198
  queryParams = _useFileManager.queryParams;
153
199
 
154
- var _useState = useState(false),
155
- _useState2 = _slicedToArray(_useState, 2),
200
+ var _useState = (0, _react.useState)(false),
201
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
156
202
  darkImageBackground = _useState2[0],
157
203
  setDarkImageBackground = _useState2[1];
158
204
 
159
- var _useSecurity = useSecurity(),
160
- identity = _useSecurity.identity;
205
+ var _useSecurity = (0, _appSecurity.useSecurity)(),
206
+ identity = _useSecurity.identity,
207
+ getPermission = _useSecurity.getPermission;
161
208
 
162
- var fmFilePermission = useMemo(function () {
163
- return identity.getPermission("fm.file");
164
- }, []);
165
- var canDelete = useCallback(function (item) {
209
+ var fmFilePermission = (0, _react.useMemo)(function () {
210
+ return getPermission("fm.file");
211
+ }, [identity]);
212
+ var canDelete = (0, _react.useCallback)(function (item) {
166
213
  // Bail out early if no access
167
214
  if (!fmFilePermission) {
168
215
  return false;
169
216
  }
170
217
 
171
218
  if (fmFilePermission.own) {
172
- var identityId = identity.id || identity.login;
173
- return get(item, "createdBy.id") === identityId;
219
+ var identityId = identity ? identity.id || identity.login : null;
220
+
221
+ if (!identityId) {
222
+ return false;
223
+ }
224
+
225
+ return (0, _get.default)(item, "createdBy.id") === identityId;
174
226
  }
175
227
 
176
228
  if (typeof fmFilePermission.rwd === "string") {
@@ -179,7 +231,7 @@ export default function FileDetails(props) {
179
231
 
180
232
  return true;
181
233
  }, [fmFilePermission]);
182
- useHotkeys({
234
+ (0, _reactHotkeyz.useHotkeys)({
183
235
  zIndex: 55,
184
236
  disabled: !file,
185
237
  keys: {
@@ -187,13 +239,32 @@ export default function FileDetails(props) {
187
239
  }
188
240
  });
189
241
 
190
- var _useMutation = useMutation(DELETE_FILE, {
242
+ var _useMutation = (0, _reactHooks.useMutation)(_graphql.DELETE_FILE, {
191
243
  update: function update(cache) {
244
+ var _listTagsData$fileMan;
245
+
192
246
  // 1. Update files list cache
193
- var data = cloneDeep(cache.readQuery({
194
- query: LIST_FILES,
247
+ var data = (0, _cloneDeep.default)(cache.readQuery({
248
+ query: _graphql.LIST_FILES,
195
249
  variables: queryParams
196
250
  }));
251
+
252
+ if (!data) {
253
+ data = {
254
+ fileManager: {
255
+ listFiles: {
256
+ data: [],
257
+ error: null,
258
+ meta: {
259
+ hasMoreItems: false,
260
+ cursor: null,
261
+ totalItem: 0
262
+ }
263
+ }
264
+ }
265
+ };
266
+ }
267
+
197
268
  var filteredList = data.fileManager.listFiles.data.filter(function (item) {
198
269
  return item.id !== file.id;
199
270
  });
@@ -201,89 +272,92 @@ export default function FileDetails(props) {
201
272
  return item.id === file.id;
202
273
  });
203
274
  cache.writeQuery({
204
- query: LIST_FILES,
275
+ query: _graphql.LIST_FILES,
205
276
  variables: queryParams,
206
- data: set(data, "fileManager.listFiles.data", filteredList)
277
+ data: (0, _set.default)(data, "fileManager.listFiles.data", filteredList)
207
278
  }); // 2. Update "ListTags" cache
208
279
 
209
- // 2. Update "ListTags" cache
210
- if (Array.isArray(selectedFile.tags)) {
211
- var tagCountMap = {}; // Prepare "tag" count map
280
+ if (!selectedFile || Array.isArray(selectedFile.tags) === false) {
281
+ return;
282
+ }
212
283
 
213
- // Prepare "tag" count map
214
- data.fileManager.listFiles.data.forEach(function (file) {
215
- if (!Array.isArray(file.tags)) {
216
- return;
217
- }
284
+ var tagCountMap = {}; // Prepare "tag" count map
218
285
 
219
- file.tags.forEach(function (tag) {
220
- if (tagCountMap[tag]) {
221
- tagCountMap[tag] += 1;
222
- } else {
223
- tagCountMap[tag] = 1;
224
- }
225
- });
226
- }); // Get tags from cache
227
-
228
- // Get tags from cache
229
- var listTagsData = cloneDeep(cache.readQuery({
230
- query: LIST_TAGS
231
- })); // Remove selected file tags from list.
232
-
233
- // Remove selected file tags from list.
234
- var filteredTags = listTagsData.fileManager.listTags.filter(function (tag) {
235
- if (!selectedFile.tags.includes(tag)) {
236
- return true;
286
+ data.fileManager.listFiles.data.forEach(function (file) {
287
+ if (!Array.isArray(file.tags)) {
288
+ return;
289
+ }
290
+
291
+ file.tags.forEach(function (tag) {
292
+ if (tagCountMap[tag]) {
293
+ tagCountMap[tag] += 1;
294
+ } else {
295
+ tagCountMap[tag] = 1;
237
296
  }
297
+ });
298
+ }); // Get tags from cache
238
299
 
239
- return tagCountMap[tag] > 1;
240
- }); // Write it to cache
300
+ var listTagsData = (0, _cloneDeep.default)(cache.readQuery({
301
+ query: _graphql.LIST_TAGS,
302
+ variables: {
303
+ where: (0, _FileManagerContext.getWhere)(queryParams.scope)
304
+ }
305
+ })); // Remove selected file tags from list.
241
306
 
242
- // Write it to cache
243
- cache.writeQuery({
244
- query: LIST_TAGS,
245
- data: set(data, "fileManager.listTags", filteredTags)
246
- });
247
- }
307
+ var filteredTags = ((listTagsData === null || listTagsData === void 0 ? void 0 : (_listTagsData$fileMan = listTagsData.fileManager) === null || _listTagsData$fileMan === void 0 ? void 0 : _listTagsData$fileMan.listTags) || []).filter(function (tag) {
308
+ if (!selectedFile.tags.includes(tag)) {
309
+ return true;
310
+ }
311
+
312
+ return tagCountMap[tag] > 1;
313
+ }); // Write it to cache
314
+
315
+ cache.writeQuery({
316
+ query: _graphql.LIST_TAGS,
317
+ variables: {
318
+ where: (0, _FileManagerContext.getWhere)(queryParams.scope)
319
+ },
320
+ data: (0, _set.default)(data, "fileManager.listTags", filteredTags)
321
+ });
248
322
  }
249
323
  }),
250
- _useMutation2 = _slicedToArray(_useMutation, 1),
324
+ _useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
251
325
  deleteFile = _useMutation2[0];
252
326
 
253
- var _useSnackbar = useSnackbar(),
327
+ var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
254
328
  showSnackbar = _useSnackbar.showSnackbar;
255
329
 
256
- var renderDeleteImageAction = useCallback(function (file) {
330
+ var renderDeleteImageAction = (0, _react.useCallback)(function (file) {
257
331
  if (!canDelete(file)) {
258
332
  return null;
259
333
  }
260
334
 
261
335
  var fileDeleteConfirmationProps = {
262
- title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Delete file"]))),
263
- message: file && /*#__PURE__*/React.createElement("span", null, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["You're about to delete file {name}. Are you sure you want to continue?"])))({
336
+ title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Delete file"]))),
337
+ message: file && /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You're about to delete file {name}. Are you sure you want to continue?"])))({
264
338
  name: file.name
265
339
  }))
266
340
  };
267
- return /*#__PURE__*/React.createElement(ConfirmationDialog, Object.assign({}, fileDeleteConfirmationProps, {
341
+ return /*#__PURE__*/_react.default.createElement(_ConfirmationDialog.ConfirmationDialog, Object.assign({}, fileDeleteConfirmationProps, {
268
342
  "data-testid": "fm-delete-file-confirmation-dialog",
269
343
  style: {
270
344
  zIndex: 100
271
345
  }
272
346
  }), function (_ref) {
273
347
  var showConfirmation = _ref.showConfirmation;
274
- return /*#__PURE__*/React.createElement(Tooltip, {
275
- content: isImage ? /*#__PURE__*/React.createElement("span", null, t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Delete image"])))) : /*#__PURE__*/React.createElement("span", null, t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Delete file"])))),
348
+ return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
349
+ content: isImage(file) ? /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Delete image"])))) : /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Delete file"])))),
276
350
  placement: "bottom"
277
- }, /*#__PURE__*/React.createElement(IconButton, {
351
+ }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
278
352
  "data-testid": "fm-delete-file-button",
279
- icon: /*#__PURE__*/React.createElement(DeleteIcon, {
353
+ icon: /*#__PURE__*/_react.default.createElement(_delete.ReactComponent, {
280
354
  style: {
281
355
  margin: "0 8px 0 0"
282
356
  }
283
357
  }),
284
358
  onClick: function onClick() {
285
- return showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
286
- return _regeneratorRuntime.wrap(function _callee$(_context) {
359
+ return showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
360
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
287
361
  while (1) {
288
362
  switch (_context.prev = _context.next) {
289
363
  case 0:
@@ -295,7 +369,7 @@ export default function FileDetails(props) {
295
369
  });
296
370
 
297
371
  case 2:
298
- showSnackbar(t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["File deleted successfully."]))));
372
+ showSnackbar(t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["File deleted successfully."]))));
299
373
 
300
374
  case 3:
301
375
  case "end":
@@ -308,85 +382,93 @@ export default function FileDetails(props) {
308
382
  }));
309
383
  });
310
384
  }, []);
311
- var fileTypeIcon = useMemo(function () {
385
+ var fileTypeIcon = (0, _react.useMemo)(function () {
312
386
  if (file && typeof file.type === "string") {
313
- return file.type.includes("image") ? /*#__PURE__*/React.createElement(ImageIcon, null) : /*#__PURE__*/React.createElement(FileIcon, null);
387
+ return file.type.includes("image") ? /*#__PURE__*/_react.default.createElement(_insert_photo24px.ReactComponent, null) : /*#__PURE__*/_react.default.createElement(_insert_drive_file24px.ReactComponent, null);
314
388
  }
315
389
 
316
- return /*#__PURE__*/React.createElement(ImageIcon, null);
390
+ return /*#__PURE__*/_react.default.createElement(_insert_photo24px.ReactComponent, null);
317
391
  }, [file]);
318
- return /*#__PURE__*/React.createElement(Drawer, {
392
+ return /*#__PURE__*/_react.default.createElement(_Drawer.Drawer, {
319
393
  className: fileDetailsSidebar,
320
394
  dir: "rtl",
321
395
  modal: true,
322
396
  open: Boolean(file),
323
397
  onClose: hideFileDetails,
324
398
  "data-testid": "fm.file-details.drawer"
325
- }, file && /*#__PURE__*/React.createElement("div", {
399
+ }, file && /*#__PURE__*/_react.default.createElement("div", {
326
400
  className: style.wrapper,
327
401
  dir: "ltr"
328
- }, /*#__PURE__*/React.createElement("div", {
402
+ }, /*#__PURE__*/_react.default.createElement("div", {
329
403
  className: style.header
330
- }, /*#__PURE__*/React.createElement(Typography, {
404
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
331
405
  use: "headline5"
332
- }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["File details"]))))), /*#__PURE__*/React.createElement("div", {
333
- className: classNames(style.preview, {
406
+ }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["File details"]))))), /*#__PURE__*/_react.default.createElement("div", {
407
+ className: (0, _classnames.default)(style.preview, {
334
408
  dark: darkImageBackground
335
409
  })
336
- }, filePlugin.render({
410
+ }, filePlugin && filePlugin.render({
411
+ /**
412
+ * TODO: @ts-refactor
413
+ * Figure out which type is the file
414
+ */
415
+ // @ts-ignore
337
416
  file: file,
338
417
  uploadFile: uploadFile,
339
418
  validateFiles: validateFiles
340
- })), /*#__PURE__*/React.createElement("div", {
419
+ })), /*#__PURE__*/_react.default.createElement("div", {
341
420
  className: style.download
342
- }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
343
- content: /*#__PURE__*/React.createElement("span", null, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Copy URL"])))),
421
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
422
+ content: /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Copy URL"])))),
344
423
  placement: "bottom"
345
- }, /*#__PURE__*/React.createElement(IconButton, {
424
+ }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
346
425
  onClick: function onClick() {
347
426
  navigator.clipboard.writeText(file.src);
348
- showSnackbar(t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["URL copied successfully."]))));
427
+ showSnackbar(t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["URL copied successfully."]))));
349
428
  },
350
- icon: /*#__PURE__*/React.createElement(CopyContentIcon, {
429
+ icon: /*#__PURE__*/_react.default.createElement(_content_copyBlack24px.ReactComponent, {
351
430
  style: {
352
431
  margin: "0 8px 0 0"
353
432
  }
354
433
  })
355
434
  })), actions.map(function (Component, index) {
356
- return /*#__PURE__*/React.createElement(Component, Object.assign({
435
+ return /*#__PURE__*/_react.default.createElement(Component, Object.assign({
357
436
  key: index
358
437
  }, props));
359
- }), renderDeleteImageAction(file), /*#__PURE__*/React.createElement(Tooltip, {
360
- content: t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Toggle background"]))),
438
+ }), renderDeleteImageAction(file), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
439
+ content: t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Toggle background"]))),
361
440
  placement: "bottom"
362
- }, /*#__PURE__*/React.createElement(IconButton, {
363
- icon: /*#__PURE__*/React.createElement(HighlightIcon, null),
441
+ }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
442
+ icon: /*#__PURE__*/_react.default.createElement(_highlight24px.ReactComponent, null),
364
443
  onClick: function onClick() {
365
444
  return setDarkImageBackground(!darkImageBackground);
366
445
  },
367
- className: classNames({
446
+ className: (0, _classnames.default)({
368
447
  "icon--active": darkImageBackground
369
448
  })
370
- })))), /*#__PURE__*/React.createElement(DrawerContent, {
449
+ })))), /*#__PURE__*/_react.default.createElement(_Drawer.DrawerContent, {
371
450
  dir: "ltr",
372
451
  className: style.drawerContent
373
- }, /*#__PURE__*/React.createElement("ul", {
452
+ }, /*#__PURE__*/_react.default.createElement("ul", {
374
453
  className: style.list
375
- }, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Name, props)), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("li-title", null, /*#__PURE__*/React.createElement(Icon, {
454
+ }, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Name.default, props)), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
376
455
  className: "list-item__icon",
377
456
  icon: fileTypeIcon
378
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
457
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
379
458
  use: "subtitle1"
380
- }, file.type), " ", " - ", /*#__PURE__*/React.createElement(Typography, {
459
+ }, file.type), " ", " - ", /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
381
460
  use: "subtitle1"
382
- }, bytes.format(file.size, {
461
+ }, _bytes.default.format(file.size, {
383
462
  unitSeparator: " "
384
- }))))), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("li-title", null, /*#__PURE__*/React.createElement(Icon, {
463
+ }))))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
385
464
  className: "list-item__icon",
386
- icon: /*#__PURE__*/React.createElement(CalendarIcon, null)
387
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
465
+ icon: /*#__PURE__*/_react.default.createElement(_today24px.ReactComponent, null)
466
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
388
467
  use: "subtitle1"
389
- }, dayjs(file.createdOn).format("DD MMM YYYY [at] HH:mm"))))), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Tags, Object.assign({
468
+ }, (0, _dayjs.default)(file.createdOn).format("DD MMM YYYY [at] HH:mm"))))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Tags.default, Object.assign({
390
469
  key: props.file.id
391
470
  }, props)))))));
392
- }
471
+ };
472
+
473
+ var _default = FileDetails;
474
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["t","i18n","ns","fileDetailsSidebar","css","width","style","wrapper","height","overflowY","header","textAlign","marginBottom","paddingTop","textTransform","color","fontWeight","preview","boxSizing","display","justifyContent","alignItems","position","margin","img","objectFit","maxHeight","maxWidth","transform","backgroundColor","download","list","li","padding","lineHeight","minHeight","marginRight","flex","whiteSpace","overflow","textOverflow","drawerContent","isImage","file","fileType","mime","getType","name","includes","FileDetails","props","uploadFile","validateFiles","filePlugin","getFileTypePlugin","actions","get","useFileManager","hideFileDetails","queryParams","useState","darkImageBackground","setDarkImageBackground","useSecurity","identity","getPermission","fmFilePermission","useMemo","canDelete","useCallback","item","own","identityId","id","login","rwd","useHotkeys","zIndex","disabled","keys","esc","useMutation","DELETE_FILE","update","cache","data","cloneDeep","readQuery","query","LIST_FILES","variables","fileManager","listFiles","error","meta","hasMoreItems","cursor","totalItem","filteredList","filter","selectedFile","find","writeQuery","set","Array","isArray","tags","tagCountMap","forEach","tag","listTagsData","LIST_TAGS","where","getWhere","scope","filteredTags","listTags","deleteFile","useSnackbar","showSnackbar","renderDeleteImageAction","fileDeleteConfirmationProps","title","message","showConfirmation","fileTypeIcon","type","Boolean","classNames","dark","render","navigator","clipboard","writeText","src","map","Component","index","bytes","format","size","unitSeparator","dayjs","createdOn"],"sources":["FileDetails.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport bytes from \"bytes\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Drawer, DrawerContent } from \"@webiny/ui/Drawer\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport getFileTypePlugin from \"./getFileTypePlugin\";\nimport dayjs from \"dayjs\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport Tags from \"./FileDetails/Tags\";\nimport Name from \"./FileDetails/Name\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Typography } from \"@webiny/ui/Typography\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { ReactComponent as CopyContentIcon } from \"./icons/content_copy-black-24px.svg\";\nimport { ReactComponent as DeleteIcon } from \"./icons/delete.svg\";\nimport { ReactComponent as ImageIcon } from \"../../assets/icons/insert_photo-24px.svg\";\nimport { ReactComponent as FileIcon } from \"../../assets/icons/insert_drive_file-24px.svg\";\nimport { ReactComponent as CalendarIcon } from \"../../assets/icons/today-24px.svg\";\nimport { ReactComponent as HighlightIcon } from \"../../assets/icons/highlight-24px.svg\";\nimport { getWhere, useFileManager } from \"./FileManagerContext\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport {\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n LIST_FILES,\n LIST_TAGS,\n ListFilesQueryResponse,\n ListFileTagsQueryResponse\n} from \"./graphql\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime\";\nimport { FileItem, FileManagerSecurityPermission } from \"./types\";\nimport { FilesRenderChildren } from \"react-butterfiles\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-details\");\n\nconst fileDetailsSidebar = css({\n \"&.mdc-drawer\": {\n width: 360\n }\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"li-title\": {\n children?: React.ReactNode;\n };\n\n \"li-content\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nconst style: any = {\n wrapper: css({\n height: \"100vh\",\n overflowY: \"auto\"\n }),\n header: css({\n textAlign: \"center\",\n marginBottom: 24,\n paddingTop: 16,\n \"& span\": {\n textTransform: \"capitalize\",\n color: \"var(--mdc-theme-on-surface)\",\n fontWeight: 600\n }\n }),\n preview: css({\n boxSizing: \"border-box\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: 300,\n margin: \"0 auto 24px\",\n img: {\n objectFit: \"contain\",\n maxHeight: 300,\n maxWidth: 300,\n width: \"100%\",\n position: \"static\",\n transform: \"none\"\n },\n \"&.dark\": {\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n }),\n download: css({\n textAlign: \"center\",\n margin: \"0 auto\",\n width: \"100%\",\n \"& .icon--active\": {\n \"&.mdc-icon-button\": {\n color: \"var(--mdc-theme-text-on-primary)\"\n }\n }\n }),\n list: css({\n textAlign: \"left\",\n color: \"var(--mdc-theme-on-surface)\",\n li: {\n padding: \"12px 16px\",\n lineHeight: \"22px\",\n \"li-title\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n minHeight: 48,\n \"& .list-item__title\": {\n fontWeight: 600\n },\n \"& .list-item__icon\": {\n marginRight: 24\n },\n \"& .list-item__content\": {\n flex: \"1 0 200px\"\n }\n },\n \"li-content\": {\n width: \"100%\",\n display: \"block\",\n \"& .list-item__truncate\": {\n display: \"block\",\n width: \"100%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n }),\n drawerContent: css({\n \"&.mdc-drawer__content\": {\n height: \"auto\",\n overflowY: \"inherit\"\n }\n })\n};\ninterface FileDetailsProps {\n canEdit: (item: any) => boolean;\n file: FileItem;\n uploadFile: (files: FileItem[] | FileItem) => Promise<number | null>;\n validateFiles: FilesRenderChildren[\"validateFiles\"];\n [key: string]: any;\n}\n\nconst isImage = (file: FileItem) => {\n const fileType = mime.getType(file && file.name);\n\n if (fileType && typeof fileType === \"string\") {\n return fileType.includes(\"image\");\n }\n\n return false;\n};\n\nconst FileDetails: React.FC<FileDetailsProps> = props => {\n const { file, uploadFile, validateFiles } = props;\n\n const filePlugin = getFileTypePlugin(file);\n const actions: React.FC[] =\n get(filePlugin, \"fileDetails.actions\") || get(filePlugin, \"actions\") || [];\n\n const { hideFileDetails, queryParams } = useFileManager();\n const [darkImageBackground, setDarkImageBackground] = useState(false);\n\n const { identity, getPermission } = useSecurity();\n const fmFilePermission = useMemo((): FileManagerSecurityPermission | null => {\n return getPermission(\"fm.file\");\n }, [identity]);\n const canDelete = useCallback(\n item => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n if (fmFilePermission.own) {\n const identityId = identity ? identity.id || identity.login : null;\n if (!identityId) {\n return false;\n }\n return get(item, \"createdBy.id\") === identityId;\n }\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"d\");\n }\n return true;\n },\n [fmFilePermission]\n );\n\n useHotkeys({\n zIndex: 55,\n disabled: !file,\n keys: {\n esc: hideFileDetails\n }\n });\n\n const [deleteFile] = useMutation<DeleteFileMutationResponse, DeleteFileMutationVariables>(\n DELETE_FILE,\n {\n update: cache => {\n // 1. Update files list cache\n let data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n if (!data) {\n data = {\n fileManager: {\n listFiles: {\n data: [],\n error: null,\n meta: {\n hasMoreItems: false,\n cursor: null,\n totalItem: 0\n }\n }\n }\n };\n }\n const filteredList = data.fileManager.listFiles.data.filter(\n (item: FileItem) => item.id !== file.id\n );\n const selectedFile = data.fileManager.listFiles.data.find(\n (item: FileItem) => item.id === file.id\n );\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: set(data, \"fileManager.listFiles.data\", filteredList)\n });\n // 2. Update \"ListTags\" cache\n if (!selectedFile || Array.isArray(selectedFile.tags) === false) {\n return;\n }\n const tagCountMap: Record<string, number> = {};\n // Prepare \"tag\" count map\n data.fileManager.listFiles.data.forEach((file: FileItem) => {\n if (!Array.isArray(file.tags)) {\n return;\n }\n file.tags.forEach(tag => {\n if (tagCountMap[tag]) {\n tagCountMap[tag] += 1;\n } else {\n tagCountMap[tag] = 1;\n }\n });\n });\n\n // Get tags from cache\n const listTagsData = cloneDeep(\n cache.readQuery<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) }\n })\n );\n // Remove selected file tags from list.\n const filteredTags = (listTagsData?.fileManager?.listTags || []).filter(\n (tag: string) => {\n if (!selectedFile.tags.includes(tag)) {\n return true;\n }\n return tagCountMap[tag] > 1;\n }\n );\n\n // Write it to cache\n cache.writeQuery({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) },\n data: set(data, \"fileManager.listTags\", filteredTags)\n });\n }\n }\n );\n const { showSnackbar } = useSnackbar();\n\n const renderDeleteImageAction = useCallback(file => {\n if (!canDelete(file)) {\n return null;\n }\n const fileDeleteConfirmationProps = {\n title: t`Delete file`,\n message: file && (\n <span>\n {t`You're about to delete file {name}. Are you sure you want to continue?`({\n name: file.name\n })}\n </span>\n )\n };\n return (\n <ConfirmationDialog\n {...fileDeleteConfirmationProps}\n data-testid={\"fm-delete-file-confirmation-dialog\"}\n style={{ zIndex: 100 }}\n >\n {({ showConfirmation }) => {\n return (\n <Tooltip\n content={\n isImage(file) ? (\n <span>{t`Delete image`}</span>\n ) : (\n <span>{t`Delete file`}</span>\n )\n }\n placement={\"bottom\"}\n >\n <IconButton\n data-testid={\"fm-delete-file-button\"}\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={() =>\n showConfirmation(async () => {\n await deleteFile({\n variables: {\n id: file.id\n }\n });\n showSnackbar(t`File deleted successfully.`);\n })\n }\n />\n </Tooltip>\n );\n }}\n </ConfirmationDialog>\n );\n }, []);\n\n const fileTypeIcon = useMemo(() => {\n if (file && typeof file.type === \"string\") {\n return file.type.includes(\"image\") ? <ImageIcon /> : <FileIcon />;\n }\n return <ImageIcon />;\n }, [file]);\n\n return (\n <Drawer\n className={fileDetailsSidebar}\n dir=\"rtl\"\n modal\n open={Boolean(file)}\n onClose={hideFileDetails}\n data-testid={\"fm.file-details.drawer\"}\n >\n {file && (\n <div className={style.wrapper} dir=\"ltr\">\n <div className={style.header}>\n <Typography use={\"headline5\"}>{t`File details`}</Typography>\n </div>\n <div\n className={classNames(style.preview, {\n dark: darkImageBackground\n })}\n >\n {filePlugin &&\n filePlugin.render({\n /**\n * TODO: @ts-refactor\n * Figure out which type is the file\n */\n // @ts-ignore\n file,\n uploadFile,\n validateFiles\n })}\n </div>\n <div className={style.download}>\n <>\n <Tooltip content={<span>{t`Copy URL`}</span>} placement={\"bottom\"}>\n <IconButton\n onClick={() => {\n navigator.clipboard.writeText(file.src);\n showSnackbar(t`URL copied successfully.`);\n }}\n icon={<CopyContentIcon style={{ margin: \"0 8px 0 0\" }} />}\n />\n </Tooltip>\n\n {actions.map((Component: React.FC, index: number) => (\n <Component key={index} {...props} />\n ))}\n {renderDeleteImageAction(file)}\n {/* Render background switcher */}\n <Tooltip content={t`Toggle background`} placement={\"bottom\"}>\n <IconButton\n icon={<HighlightIcon />}\n onClick={() => setDarkImageBackground(!darkImageBackground)}\n className={classNames({ \"icon--active\": darkImageBackground })}\n />\n </Tooltip>\n </>\n </div>\n <DrawerContent dir=\"ltr\" className={style.drawerContent}>\n <ul className={style.list}>\n <li>\n <Name {...props} />\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={fileTypeIcon} />\n <div>\n <Typography use={\"subtitle1\"}>{file.type}</Typography>{\" \"}\n {\" - \"}\n <Typography use={\"subtitle1\"}>\n {bytes.format(file.size, { unitSeparator: \" \" })}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={<CalendarIcon />} />\n <div>\n <Typography use={\"subtitle1\"}>\n {dayjs(file.createdOn).format(\"DD MMM YYYY [at] HH:mm\")}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <Tags key={props.file.id} {...props} />\n </li>\n </ul>\n </DrawerContent>\n </div>\n )}\n </Drawer>\n );\n};\n\nexport default FileDetails;\n"],"mappings":"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"}