@webiny/app-admin 0.0.0-mt-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/assets/icons/add-18px.svg +3 -0
  4. package/assets/icons/arrow_drop_down-24px.svg +4 -0
  5. package/assets/icons/attach_file_black_24dp.svg +1 -0
  6. package/assets/icons/baseline-menu-24px.svg +4 -0
  7. package/assets/icons/baseline-notification_important-24px.svg +4 -0
  8. package/assets/icons/baseline-security-24px.svg +4 -0
  9. package/assets/icons/filter-24px.svg +8 -0
  10. package/assets/icons/github-brands.svg +1 -0
  11. package/assets/icons/highlight-24px.svg +1 -0
  12. package/assets/icons/icon-community.svg +16 -0
  13. package/assets/icons/icon-documentation.svg +16 -0
  14. package/assets/icons/info.svg +1 -0
  15. package/assets/icons/insert_drive_file-24px.svg +1 -0
  16. package/assets/icons/insert_photo-24px.svg +1 -0
  17. package/assets/icons/label-24px.svg +1 -0
  18. package/assets/icons/round-account_circle-24px.svg +1 -0
  19. package/assets/icons/round-add-24px.svg +16 -0
  20. package/assets/icons/round-arrow_drop_down-24px.svg +1 -0
  21. package/assets/icons/round-chevron_right-24px.svg +12 -0
  22. package/assets/icons/round-feedback-24px.svg +54 -0
  23. package/assets/icons/round-help-24px.svg +1 -0
  24. package/assets/icons/round-invert_colors-24px.svg +52 -0
  25. package/assets/icons/round-keyboard_arrow_down-24px.svg +16 -0
  26. package/assets/icons/round-keyboard_arrow_up-24px.svg +16 -0
  27. package/assets/icons/round-lock_open-24px.svg +60 -0
  28. package/assets/icons/round-more_vert-24px.svg +12 -0
  29. package/assets/icons/round-open_in_new-24px.svg +44 -0
  30. package/assets/icons/round-settings-24px.svg +4 -0
  31. package/assets/icons/search-24px.svg +20 -0
  32. package/assets/icons/slack-logo.svg +1 -0
  33. package/assets/icons/today-24px.svg +1 -0
  34. package/assets/icons/touch_app.svg +1 -0
  35. package/assets/images/arr.png +0 -0
  36. package/assets/images/arr_2.png +0 -0
  37. package/assets/images/header_bg.jpg +0 -0
  38. package/assets/images/icons.png +0 -0
  39. package/assets/images/icons_retina.png +0 -0
  40. package/assets/images/logo.png +0 -0
  41. package/assets/images/logo_orange.png +0 -0
  42. package/assets/images/public/bg-login.png +0 -0
  43. package/assets/images/public/favicon.ico +0 -0
  44. package/assets/images/public/logo_orange.png +0 -0
  45. package/assets/images/public/preloader_2.png +0 -0
  46. package/assets/images/swich.png +0 -0
  47. package/assets/images/table_img.jpg +0 -0
  48. package/assets/images/webiny-logo.svg +20 -0
  49. package/assets/images/webiny-orange-logo.svg +20 -0
  50. package/components/AdminLayout.d.ts +7 -0
  51. package/components/AdminLayout.js +35 -0
  52. package/components/AppInstaller/Sidebar.d.ts +7 -0
  53. package/components/AppInstaller/Sidebar.js +158 -0
  54. package/components/AppInstaller/assets/sign-in-divider.svg +19 -0
  55. package/components/AppInstaller/index.d.ts +5 -0
  56. package/components/AppInstaller/index.js +134 -0
  57. package/components/AppInstaller/styled.d.ts +7 -0
  58. package/components/AppInstaller/styled.js +73 -0
  59. package/components/AppInstaller/useInstaller.d.ts +11 -0
  60. package/components/AppInstaller/useInstaller.js +279 -0
  61. package/components/EmptyView.d.ts +8 -0
  62. package/components/EmptyView.js +56 -0
  63. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -0
  64. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +35 -0
  65. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -0
  66. package/components/FileManager/BottomInfoBar/UploadStatus.js +47 -0
  67. package/components/FileManager/BottomInfoBar.d.ts +3 -0
  68. package/components/FileManager/BottomInfoBar.js +42 -0
  69. package/components/FileManager/DropFilesHere.d.ts +8 -0
  70. package/components/FileManager/DropFilesHere.js +58 -0
  71. package/components/FileManager/File.d.ts +18 -0
  72. package/components/FileManager/File.js +129 -0
  73. package/components/FileManager/FileDetails/Name.d.ts +6 -0
  74. package/components/FileManager/FileDetails/Name.js +113 -0
  75. package/components/FileManager/FileDetails/Tags.d.ts +6 -0
  76. package/components/FileManager/FileDetails/Tags.js +241 -0
  77. package/components/FileManager/FileDetails.d.ts +23 -0
  78. package/components/FileManager/FileDetails.js +392 -0
  79. package/components/FileManager/FileManagerContext.d.ts +23 -0
  80. package/components/FileManager/FileManagerContext.js +174 -0
  81. package/components/FileManager/FileManagerView.d.ts +23 -0
  82. package/components/FileManager/FileManagerView.js +632 -0
  83. package/components/FileManager/LeftSidebar.d.ts +8 -0
  84. package/components/FileManager/LeftSidebar.js +95 -0
  85. package/components/FileManager/NoPermissionView.d.ts +3 -0
  86. package/components/FileManager/NoPermissionView.js +70 -0
  87. package/components/FileManager/NoResults.d.ts +2 -0
  88. package/components/FileManager/NoResults.js +13 -0
  89. package/components/FileManager/getFileTypePlugin.d.ts +1 -0
  90. package/components/FileManager/getFileTypePlugin.js +27 -0
  91. package/components/FileManager/getFileUploader.d.ts +2 -0
  92. package/components/FileManager/getFileUploader.js +10 -0
  93. package/components/FileManager/graphql.d.ts +6 -0
  94. package/components/FileManager/graphql.js +17 -0
  95. package/components/FileManager/icons/content_copy-black-24px.svg +1 -0
  96. package/components/FileManager/icons/delete.svg +12 -0
  97. package/components/FileManager/icons/privacy_tip-24px.svg +10 -0
  98. package/components/FileManager/icons/round-check_box-24px.svg +4 -0
  99. package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +4 -0
  100. package/components/FileManager/icons/round-cloud_download-24px.svg +4 -0
  101. package/components/FileManager/icons/round-cloud_upload-24px.svg +4 -0
  102. package/components/FileManager/icons/round-description-24px.svg +4 -0
  103. package/components/FileManager/icons/round-edit-24px.svg +4 -0
  104. package/components/FileManager/icons/round-info-24px.svg +4 -0
  105. package/components/FileManager/icons/round-label-24px.svg +4 -0
  106. package/components/FileManager/icons/round-more_vert-24px.svg +4 -0
  107. package/components/FileManager/icons/round-search-24px.svg +20 -0
  108. package/components/FileManager/outputFileSelectionError.d.ts +2 -0
  109. package/components/FileManager/outputFileSelectionError.js +39 -0
  110. package/components/FileManager.d.ts +18 -0
  111. package/components/FileManager.js +133 -0
  112. package/components/FloatingActionButton.d.ts +3 -0
  113. package/components/FloatingActionButton.js +17 -0
  114. package/components/MultiImageUpload.d.ts +4 -0
  115. package/components/MultiImageUpload.js +20 -0
  116. package/components/OverlayLayout/OverlayLayout.d.ts +25 -0
  117. package/components/OverlayLayout/OverlayLayout.js +159 -0
  118. package/components/OverlayLayout/icons/close.svg +13 -0
  119. package/components/OverlayLayout/icons/navigate_before.svg +16 -0
  120. package/components/OverlayLayout/index.d.ts +1 -0
  121. package/components/OverlayLayout/index.js +1 -0
  122. package/components/Permissions/Permissions.d.ts +7 -0
  123. package/components/Permissions/Permissions.js +37 -0
  124. package/components/Permissions/StyledComponents.d.ts +6 -0
  125. package/components/Permissions/StyledComponents.js +19 -0
  126. package/components/Permissions/index.d.ts +2 -0
  127. package/components/Permissions/index.js +2 -0
  128. package/components/RichTextEditor/RichTextEditor.d.ts +3 -0
  129. package/components/RichTextEditor/RichTextEditor.js +15 -0
  130. package/components/RichTextEditor/index.d.ts +2 -0
  131. package/components/RichTextEditor/index.js +2 -0
  132. package/components/RichTextEditor/styles.scss +64 -0
  133. package/components/RichTextEditor/tools/header/index.d.ts +228 -0
  134. package/components/RichTextEditor/tools/header/index.js +731 -0
  135. package/components/RichTextEditor/tools/header/styles.scss +48 -0
  136. package/components/RichTextEditor/tools/image/index.d.ts +97 -0
  137. package/components/RichTextEditor/tools/image/index.js +257 -0
  138. package/components/RichTextEditor/tools/image/styles.scss +90 -0
  139. package/components/RichTextEditor/tools/image/svgs.d.ts +6 -0
  140. package/components/RichTextEditor/tools/image/svgs.js +5 -0
  141. package/components/RichTextEditor/tools/image/tunes.d.ts +58 -0
  142. package/components/RichTextEditor/tools/image/tunes.js +134 -0
  143. package/components/RichTextEditor/tools/image/ui.d.ts +111 -0
  144. package/components/RichTextEditor/tools/image/ui.js +281 -0
  145. package/components/RichTextEditor/tools/paragraph/index.d.ts +211 -0
  146. package/components/RichTextEditor/tools/paragraph/index.js +520 -0
  147. package/components/RichTextEditor/tools/paragraph/styles.scss +29 -0
  148. package/components/RichTextEditor/tools/textColor/index.d.ts +58 -0
  149. package/components/RichTextEditor/tools/textColor/index.js +232 -0
  150. package/components/RichTextEditor/tools/textColor/styles.scss +21 -0
  151. package/components/RichTextEditor/tools/utils.d.ts +19 -0
  152. package/components/RichTextEditor/tools/utils.js +24 -0
  153. package/components/SearchUI.d.ts +8 -0
  154. package/components/SearchUI.js +59 -0
  155. package/components/SimpleForm/SimpleForm.d.ts +21 -0
  156. package/components/SimpleForm/SimpleForm.js +75 -0
  157. package/components/SimpleForm/index.d.ts +1 -0
  158. package/components/SimpleForm/index.js +1 -0
  159. package/components/SimpleUI/InputField.d.ts +9 -0
  160. package/components/SimpleUI/InputField.js +97 -0
  161. package/components/SingleImageUpload.d.ts +25 -0
  162. package/components/SingleImageUpload.js +102 -0
  163. package/components/SplitView/SplitView.d.ts +10 -0
  164. package/components/SplitView/SplitView.js +76 -0
  165. package/components/SplitView/index.d.ts +1 -0
  166. package/components/SplitView/index.js +1 -0
  167. package/components/index.d.ts +1 -0
  168. package/components/index.js +1 -0
  169. package/hooks/useConfirmationDialog.d.ts +10 -0
  170. package/hooks/useConfirmationDialog.js +47 -0
  171. package/hooks/useDialog.d.ts +5 -0
  172. package/hooks/useDialog.js +27 -0
  173. package/hooks/useSnackbar.d.ts +4 -0
  174. package/hooks/useSnackbar.js +25 -0
  175. package/package.json +101 -0
  176. package/plugins/FileManagerFileTypePlugin.d.ts +33 -0
  177. package/plugins/FileManagerFileTypePlugin.js +46 -0
  178. package/plugins/MenuPlugin.d.ts +20 -0
  179. package/plugins/MenuPlugin.js +41 -0
  180. package/plugins/PermissionRendererPlugin.d.ts +22 -0
  181. package/plugins/PermissionRendererPlugin.js +41 -0
  182. package/plugins/fileManager/fileDefault.d.ts +3 -0
  183. package/plugins/fileManager/fileDefault.js +20 -0
  184. package/plugins/fileManager/fileImage/DeleteAction.d.ts +3 -0
  185. package/plugins/fileManager/fileImage/DeleteAction.js +62 -0
  186. package/plugins/fileManager/fileImage/EditAction.d.ts +9 -0
  187. package/plugins/fileManager/fileImage/EditAction.js +143 -0
  188. package/plugins/fileManager/fileImage/index.d.ts +3 -0
  189. package/plugins/fileManager/fileImage/index.js +29 -0
  190. package/plugins/fileManager/icons/edit.svg +17 -0
  191. package/plugins/fileManager/icons/round-description-24px.svg +1 -0
  192. package/plugins/fileManager/index.d.ts +2 -0
  193. package/plugins/fileManager/index.js +3 -0
  194. package/plugins/globalSearch/SearchBar.d.ts +3 -0
  195. package/plugins/globalSearch/SearchBar.js +241 -0
  196. package/plugins/globalSearch/SearchBarDropdown.d.ts +5 -0
  197. package/plugins/globalSearch/SearchBarDropdown.js +82 -0
  198. package/plugins/globalSearch/icons/round-search-24px.svg +20 -0
  199. package/plugins/globalSearch/index.d.ts +8 -0
  200. package/plugins/globalSearch/index.js +30 -0
  201. package/plugins/globalSearch/styled.d.ts +9 -0
  202. package/plugins/globalSearch/styled.js +115 -0
  203. package/plugins/index.d.ts +6 -0
  204. package/plugins/index.js +8 -0
  205. package/plugins/logo/Logo.d.ts +22 -0
  206. package/plugins/logo/Logo.js +108 -0
  207. package/plugins/logo/index.d.ts +5 -0
  208. package/plugins/logo/index.js +32 -0
  209. package/plugins/menu/documentation.d.ts +4 -0
  210. package/plugins/menu/documentation.js +16 -0
  211. package/plugins/menu/fileManager.d.ts +4 -0
  212. package/plugins/menu/fileManager.js +64 -0
  213. package/plugins/menu/index.d.ts +6 -0
  214. package/plugins/menu/index.js +24 -0
  215. package/plugins/menu/renderers/MenuGroupRenderer.d.ts +7 -0
  216. package/plugins/menu/renderers/MenuGroupRenderer.js +126 -0
  217. package/plugins/menu/renderers/MenuLinkRenderer.d.ts +7 -0
  218. package/plugins/menu/renderers/MenuLinkRenderer.js +52 -0
  219. package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +7 -0
  220. package/plugins/menu/renderers/MenuSectionItemRenderer.js +77 -0
  221. package/plugins/menu/renderers/MenuSectionRenderer.d.ts +7 -0
  222. package/plugins/menu/renderers/MenuSectionRenderer.js +51 -0
  223. package/plugins/menu/slack.d.ts +4 -0
  224. package/plugins/menu/slack.js +16 -0
  225. package/plugins/menu/source.d.ts +4 -0
  226. package/plugins/menu/source.js +16 -0
  227. package/plugins/uiLayoutRenderer/index.d.ts +3 -0
  228. package/plugins/uiLayoutRenderer/index.js +63 -0
  229. package/plugins/userMenu/UserMenuElement.d.ts +7 -0
  230. package/plugins/userMenu/UserMenuElement.js +43 -0
  231. package/plugins/userMenu/UserMenuRenderer.d.ts +6 -0
  232. package/plugins/userMenu/UserMenuRenderer.js +47 -0
  233. package/plugins/userMenu/index.d.ts +4 -0
  234. package/plugins/userMenu/index.js +16 -0
  235. package/styles/material-theme-assignments.scss +333 -0
  236. package/styles/material.scss +74 -0
  237. package/styles/theme.scss +43 -0
  238. package/styles.scss +2 -0
  239. package/types.d.ts +100 -0
  240. package/types.js +1 -0
  241. package/ui/UIElement.d.ts +2 -0
  242. package/ui/UIElement.js +1 -0
  243. package/ui/UILayout.d.ts +1 -0
  244. package/ui/UILayout.js +1 -0
  245. package/ui/UIRenderer.d.ts +2 -0
  246. package/ui/UIRenderer.js +1 -0
  247. package/ui/UIView.d.ts +2 -0
  248. package/ui/UIView.js +1 -0
  249. package/ui/elements/AccordionElement.d.ts +27 -0
  250. package/ui/elements/AccordionElement.js +86 -0
  251. package/ui/elements/ButtonElement.d.ts +24 -0
  252. package/ui/elements/ButtonElement.js +78 -0
  253. package/ui/elements/ButtonGroupElement.d.ts +6 -0
  254. package/ui/elements/ButtonGroupElement.js +48 -0
  255. package/ui/elements/GenericElement.d.ts +1 -0
  256. package/ui/elements/GenericElement.js +1 -0
  257. package/ui/elements/LabelElement.d.ts +16 -0
  258. package/ui/elements/LabelElement.js +47 -0
  259. package/ui/elements/NavigationMenuElement.d.ts +32 -0
  260. package/ui/elements/NavigationMenuElement.js +158 -0
  261. package/ui/elements/PanelElement.d.ts +3 -0
  262. package/ui/elements/PanelElement.js +17 -0
  263. package/ui/elements/PlaceholderElement.d.ts +5 -0
  264. package/ui/elements/PlaceholderElement.js +30 -0
  265. package/ui/elements/SmallButtonElement.d.ts +6 -0
  266. package/ui/elements/SmallButtonElement.js +47 -0
  267. package/ui/elements/TypographyElement.d.ts +13 -0
  268. package/ui/elements/TypographyElement.js +49 -0
  269. package/ui/elements/ViewElement.d.ts +1 -0
  270. package/ui/elements/ViewElement.js +1 -0
  271. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +6 -0
  272. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +44 -0
  273. package/ui/elements/form/DynamicFieldsetElement.d.ts +42 -0
  274. package/ui/elements/form/DynamicFieldsetElement.js +127 -0
  275. package/ui/elements/form/FileManagerElement/EmptyStateElement.d.ts +4 -0
  276. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +24 -0
  277. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +7 -0
  278. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +72 -0
  279. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +13 -0
  280. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +95 -0
  281. package/ui/elements/form/FileManagerElement/styled.d.ts +14 -0
  282. package/ui/elements/form/FileManagerElement/styled.js +106 -0
  283. package/ui/elements/form/FileManagerElement.d.ts +24 -0
  284. package/ui/elements/form/FileManagerElement.js +91 -0
  285. package/ui/elements/form/FormElement.d.ts +21 -0
  286. package/ui/elements/form/FormElement.js +45 -0
  287. package/ui/elements/form/FormFieldElement.d.ts +55 -0
  288. package/ui/elements/form/FormFieldElement.js +183 -0
  289. package/ui/elements/form/HiddenElement.d.ts +6 -0
  290. package/ui/elements/form/HiddenElement.js +49 -0
  291. package/ui/elements/form/InputElement.d.ts +6 -0
  292. package/ui/elements/form/InputElement.js +55 -0
  293. package/ui/elements/form/PasswordElement.d.ts +6 -0
  294. package/ui/elements/form/PasswordElement.js +50 -0
  295. package/ui/elements/form/README.md +2 -0
  296. package/ui/elements/form/SelectElement.d.ts +15 -0
  297. package/ui/elements/form/SelectElement.js +71 -0
  298. package/ui/elements/form/TextareaElement.d.ts +15 -0
  299. package/ui/elements/form/TextareaElement.js +56 -0
  300. package/ui/views/AdminView/ContentElement.d.ts +4 -0
  301. package/ui/views/AdminView/ContentElement.js +62 -0
  302. package/ui/views/AdminView/HeaderElement.d.ts +13 -0
  303. package/ui/views/AdminView/HeaderElement.js +111 -0
  304. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +6 -0
  305. package/ui/views/AdminView/HeaderSectionCenterElement.js +42 -0
  306. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +6 -0
  307. package/ui/views/AdminView/HeaderSectionLeftElement.js +42 -0
  308. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +6 -0
  309. package/ui/views/AdminView/HeaderSectionRightElement.js +42 -0
  310. package/ui/views/AdminView/components/Dialog.d.ts +2 -0
  311. package/ui/views/AdminView/components/Dialog.js +40 -0
  312. package/ui/views/AdminView/components/Hamburger.d.ts +3 -0
  313. package/ui/views/AdminView/components/Hamburger.js +25 -0
  314. package/ui/views/AdminView/components/Snackbar.d.ts +3 -0
  315. package/ui/views/AdminView/components/Snackbar.js +28 -0
  316. package/ui/views/AdminView.d.ts +12 -0
  317. package/ui/views/AdminView.js +90 -0
  318. package/ui/views/FormView/FormContainerElement.d.ts +12 -0
  319. package/ui/views/FormView/FormContainerElement.js +51 -0
  320. package/ui/views/FormView/FormContentElement.d.ts +3 -0
  321. package/ui/views/FormView/FormContentElement.js +17 -0
  322. package/ui/views/FormView/FormFooterElement.d.ts +6 -0
  323. package/ui/views/FormView/FormFooterElement.js +49 -0
  324. package/ui/views/FormView/FormHeaderElement.d.ts +14 -0
  325. package/ui/views/FormView/FormHeaderElement.js +81 -0
  326. package/ui/views/FormView.d.ts +40 -0
  327. package/ui/views/FormView.js +160 -0
  328. package/ui/views/NavigationView/ContentElement.d.ts +10 -0
  329. package/ui/views/NavigationView/ContentElement.js +86 -0
  330. package/ui/views/NavigationView/FooterElement.d.ts +13 -0
  331. package/ui/views/NavigationView/FooterElement.js +57 -0
  332. package/ui/views/NavigationView/HeaderElement.d.ts +16 -0
  333. package/ui/views/NavigationView/HeaderElement.js +66 -0
  334. package/ui/views/NavigationView/NavigationViewRenderer.d.ts +6 -0
  335. package/ui/views/NavigationView/NavigationViewRenderer.js +38 -0
  336. package/ui/views/NavigationView/Styled.d.ts +7 -0
  337. package/ui/views/NavigationView/Styled.js +47 -0
  338. package/ui/views/NavigationView/legacyMenu.d.ts +22 -0
  339. package/ui/views/NavigationView/legacyMenu.js +1 -0
  340. package/ui/views/NavigationView/useNavigation.d.ts +6 -0
  341. package/ui/views/NavigationView/useNavigation.js +22 -0
  342. package/ui/views/NavigationView.d.ts +26 -0
  343. package/ui/views/NavigationView.js +204 -0
  344. package/ui/views/OverlayView/ContentElement.d.ts +6 -0
  345. package/ui/views/OverlayView/ContentElement.js +42 -0
  346. package/ui/views/OverlayView/HeaderElement.d.ts +24 -0
  347. package/ui/views/OverlayView/HeaderElement.js +115 -0
  348. package/ui/views/OverlayView/HeaderTitleElement.d.ts +13 -0
  349. package/ui/views/OverlayView/HeaderTitleElement.js +54 -0
  350. package/ui/views/OverlayView/useOverlayView.d.ts +6 -0
  351. package/ui/views/OverlayView/useOverlayView.js +38 -0
  352. package/ui/views/OverlayView.d.ts +31 -0
  353. package/ui/views/OverlayView.js +176 -0
  354. package/ui/views/SplitView/SplitViewPanelElement.d.ts +11 -0
  355. package/ui/views/SplitView/SplitViewPanelElement.js +72 -0
  356. package/ui/views/SplitView.d.ts +21 -0
  357. package/ui/views/SplitView.js +142 -0
@@ -0,0 +1,392 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
6
+
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({
41
+ "&.mdc-drawer": {
42
+ width: 360
43
+ }
44
+ }, "label:fileDetailsSidebar;");
45
+ var style = {
46
+ wrapper: /*#__PURE__*/css({
47
+ height: "100vh",
48
+ overflowY: "auto"
49
+ }, "label:wrapper;"),
50
+ header: /*#__PURE__*/css({
51
+ textAlign: "center",
52
+ marginBottom: 24,
53
+ paddingTop: 16,
54
+ "& span": {
55
+ textTransform: "capitalize",
56
+ color: "var(--mdc-theme-on-surface)",
57
+ fontWeight: 600
58
+ }
59
+ }, "label:header;"),
60
+ preview: /*#__PURE__*/css({
61
+ boxSizing: "border-box",
62
+ display: "flex",
63
+ justifyContent: "center",
64
+ alignItems: "center",
65
+ position: "relative",
66
+ width: "100%",
67
+ height: 300,
68
+ margin: "0 auto 24px",
69
+ img: {
70
+ objectFit: "contain",
71
+ maxHeight: 300,
72
+ maxWidth: 300,
73
+ width: "100%",
74
+ position: "static",
75
+ transform: "none"
76
+ },
77
+ "&.dark": {
78
+ backgroundColor: "var(--mdc-theme-background)"
79
+ }
80
+ }, "label:preview;"),
81
+ download: /*#__PURE__*/css({
82
+ textAlign: "center",
83
+ margin: "0 auto",
84
+ width: "100%",
85
+ "& .icon--active": {
86
+ "&.mdc-icon-button": {
87
+ color: "var(--mdc-theme-text-on-primary)"
88
+ }
89
+ }
90
+ }, "label:download;"),
91
+ list: /*#__PURE__*/css({
92
+ textAlign: "left",
93
+ color: "var(--mdc-theme-on-surface)",
94
+ li: {
95
+ padding: "12px 16px",
96
+ lineHeight: "22px",
97
+ "li-title": {
98
+ display: "flex",
99
+ alignItems: "center",
100
+ justifyContent: "flex-start",
101
+ minHeight: 48,
102
+ "& .list-item__title": {
103
+ fontWeight: 600
104
+ },
105
+ "& .list-item__icon": {
106
+ marginRight: 24
107
+ },
108
+ "& .list-item__content": {
109
+ flex: "1 0 200px"
110
+ }
111
+ },
112
+ "li-content": {
113
+ width: "100%",
114
+ display: "block",
115
+ "& .list-item__truncate": {
116
+ display: "block",
117
+ width: "100%",
118
+ whiteSpace: "nowrap",
119
+ overflow: "hidden",
120
+ textOverflow: "ellipsis"
121
+ }
122
+ }
123
+ }
124
+ }, "label:list;"),
125
+ drawerContent: /*#__PURE__*/css({
126
+ "&.mdc-drawer__content": {
127
+ height: "auto",
128
+ overflowY: "inherit"
129
+ }
130
+ }, "label:drawerContent;")
131
+ };
132
+
133
+ var isImage = function isImage(file) {
134
+ var fileType = mime.getType(file && file.name);
135
+
136
+ if (fileType && typeof fileType === "string") {
137
+ return fileType.includes("image");
138
+ }
139
+
140
+ return false;
141
+ };
142
+
143
+ export default function FileDetails(props) {
144
+ var file = props.file,
145
+ uploadFile = props.uploadFile,
146
+ validateFiles = props.validateFiles;
147
+ var filePlugin = getFileTypePlugin(file);
148
+ var actions = get(filePlugin, "fileDetails.actions") || get(filePlugin, "actions") || [];
149
+
150
+ var _useFileManager = useFileManager(),
151
+ hideFileDetails = _useFileManager.hideFileDetails,
152
+ queryParams = _useFileManager.queryParams;
153
+
154
+ var _useState = useState(false),
155
+ _useState2 = _slicedToArray(_useState, 2),
156
+ darkImageBackground = _useState2[0],
157
+ setDarkImageBackground = _useState2[1];
158
+
159
+ var _useSecurity = useSecurity(),
160
+ identity = _useSecurity.identity;
161
+
162
+ var fmFilePermission = useMemo(function () {
163
+ return identity.getPermission("fm.file");
164
+ }, []);
165
+ var canDelete = useCallback(function (item) {
166
+ // Bail out early if no access
167
+ if (!fmFilePermission) {
168
+ return false;
169
+ }
170
+
171
+ if (fmFilePermission.own) {
172
+ var identityId = identity.id || identity.login;
173
+ return get(item, "createdBy.id") === identityId;
174
+ }
175
+
176
+ if (typeof fmFilePermission.rwd === "string") {
177
+ return fmFilePermission.rwd.includes("d");
178
+ }
179
+
180
+ return true;
181
+ }, [fmFilePermission]);
182
+ useHotkeys({
183
+ zIndex: 55,
184
+ disabled: !file,
185
+ keys: {
186
+ esc: hideFileDetails
187
+ }
188
+ });
189
+
190
+ var _useMutation = useMutation(DELETE_FILE, {
191
+ update: function update(cache) {
192
+ // 1. Update files list cache
193
+ var data = cloneDeep(cache.readQuery({
194
+ query: LIST_FILES,
195
+ variables: queryParams
196
+ }));
197
+ var filteredList = data.fileManager.listFiles.data.filter(function (item) {
198
+ return item.id !== file.id;
199
+ });
200
+ var selectedFile = data.fileManager.listFiles.data.find(function (item) {
201
+ return item.id === file.id;
202
+ });
203
+ cache.writeQuery({
204
+ query: LIST_FILES,
205
+ variables: queryParams,
206
+ data: set(data, "fileManager.listFiles.data", filteredList)
207
+ }); // 2. Update "ListTags" cache
208
+
209
+ // 2. Update "ListTags" cache
210
+ if (Array.isArray(selectedFile.tags)) {
211
+ var tagCountMap = {}; // Prepare "tag" count map
212
+
213
+ // Prepare "tag" count map
214
+ data.fileManager.listFiles.data.forEach(function (file) {
215
+ if (!Array.isArray(file.tags)) {
216
+ return;
217
+ }
218
+
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;
237
+ }
238
+
239
+ return tagCountMap[tag] > 1;
240
+ }); // Write it to cache
241
+
242
+ // Write it to cache
243
+ cache.writeQuery({
244
+ query: LIST_TAGS,
245
+ data: set(data, "fileManager.listTags", filteredTags)
246
+ });
247
+ }
248
+ }
249
+ }),
250
+ _useMutation2 = _slicedToArray(_useMutation, 1),
251
+ deleteFile = _useMutation2[0];
252
+
253
+ var _useSnackbar = useSnackbar(),
254
+ showSnackbar = _useSnackbar.showSnackbar;
255
+
256
+ var renderDeleteImageAction = useCallback(function (file) {
257
+ if (!canDelete(file)) {
258
+ return null;
259
+ }
260
+
261
+ 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?"])))({
264
+ name: file.name
265
+ }))
266
+ };
267
+ return /*#__PURE__*/React.createElement(ConfirmationDialog, Object.assign({}, fileDeleteConfirmationProps, {
268
+ "data-testid": "fm-delete-file-confirmation-dialog",
269
+ style: {
270
+ zIndex: 100
271
+ }
272
+ }), function (_ref) {
273
+ 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"])))),
276
+ placement: "bottom"
277
+ }, /*#__PURE__*/React.createElement(IconButton, {
278
+ "data-testid": "fm-delete-file-button",
279
+ icon: /*#__PURE__*/React.createElement(DeleteIcon, {
280
+ style: {
281
+ margin: "0 8px 0 0"
282
+ }
283
+ }),
284
+ onClick: function onClick() {
285
+ return showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
286
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
287
+ while (1) {
288
+ switch (_context.prev = _context.next) {
289
+ case 0:
290
+ _context.next = 2;
291
+ return deleteFile({
292
+ variables: {
293
+ id: file.id
294
+ }
295
+ });
296
+
297
+ case 2:
298
+ showSnackbar(t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["File deleted successfully."]))));
299
+
300
+ case 3:
301
+ case "end":
302
+ return _context.stop();
303
+ }
304
+ }
305
+ }, _callee);
306
+ })));
307
+ }
308
+ }));
309
+ });
310
+ }, []);
311
+ var fileTypeIcon = useMemo(function () {
312
+ if (file && typeof file.type === "string") {
313
+ return file.type.includes("image") ? /*#__PURE__*/React.createElement(ImageIcon, null) : /*#__PURE__*/React.createElement(FileIcon, null);
314
+ }
315
+
316
+ return /*#__PURE__*/React.createElement(ImageIcon, null);
317
+ }, [file]);
318
+ return /*#__PURE__*/React.createElement(Drawer, {
319
+ className: fileDetailsSidebar,
320
+ dir: "rtl",
321
+ modal: true,
322
+ open: Boolean(file),
323
+ onClose: hideFileDetails,
324
+ "data-testid": "fm.file-details.drawer"
325
+ }, file && /*#__PURE__*/React.createElement("div", {
326
+ className: style.wrapper,
327
+ dir: "ltr"
328
+ }, /*#__PURE__*/React.createElement("div", {
329
+ className: style.header
330
+ }, /*#__PURE__*/React.createElement(Typography, {
331
+ use: "headline5"
332
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["File details"]))))), /*#__PURE__*/React.createElement("div", {
333
+ className: classNames(style.preview, {
334
+ dark: darkImageBackground
335
+ })
336
+ }, filePlugin.render({
337
+ file: file,
338
+ uploadFile: uploadFile,
339
+ validateFiles: validateFiles
340
+ })), /*#__PURE__*/React.createElement("div", {
341
+ 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"])))),
344
+ placement: "bottom"
345
+ }, /*#__PURE__*/React.createElement(IconButton, {
346
+ onClick: function onClick() {
347
+ navigator.clipboard.writeText(file.src);
348
+ showSnackbar(t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["URL copied successfully."]))));
349
+ },
350
+ icon: /*#__PURE__*/React.createElement(CopyContentIcon, {
351
+ style: {
352
+ margin: "0 8px 0 0"
353
+ }
354
+ })
355
+ })), actions.map(function (Component, index) {
356
+ return /*#__PURE__*/React.createElement(Component, Object.assign({
357
+ key: index
358
+ }, props));
359
+ }), renderDeleteImageAction(file), /*#__PURE__*/React.createElement(Tooltip, {
360
+ content: t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Toggle background"]))),
361
+ placement: "bottom"
362
+ }, /*#__PURE__*/React.createElement(IconButton, {
363
+ icon: /*#__PURE__*/React.createElement(HighlightIcon, null),
364
+ onClick: function onClick() {
365
+ return setDarkImageBackground(!darkImageBackground);
366
+ },
367
+ className: classNames({
368
+ "icon--active": darkImageBackground
369
+ })
370
+ })))), /*#__PURE__*/React.createElement(DrawerContent, {
371
+ dir: "ltr",
372
+ className: style.drawerContent
373
+ }, /*#__PURE__*/React.createElement("ul", {
374
+ 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, {
376
+ className: "list-item__icon",
377
+ icon: fileTypeIcon
378
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
379
+ use: "subtitle1"
380
+ }, file.type), " ", " - ", /*#__PURE__*/React.createElement(Typography, {
381
+ use: "subtitle1"
382
+ }, bytes.format(file.size, {
383
+ unitSeparator: " "
384
+ }))))), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("li-title", null, /*#__PURE__*/React.createElement(Icon, {
385
+ className: "list-item__icon",
386
+ icon: /*#__PURE__*/React.createElement(CalendarIcon, null)
387
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
388
+ use: "subtitle1"
389
+ }, dayjs(file.createdOn).format("DD MMM YYYY [at] HH:mm"))))), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Tags, Object.assign({
390
+ key: props.file.id
391
+ }, props)))))));
392
+ }
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ declare function FileManagerProvider({ children, ...props }: {
3
+ [x: string]: any;
4
+ children: any;
5
+ }): JSX.Element;
6
+ declare function useFileManager(): {
7
+ selected: any;
8
+ toggleSelected(file: any): void;
9
+ hasPreviouslyUploadedFiles: any;
10
+ setHasPreviouslyUploadedFiles(hasPreviouslyUploadedFiles: any): void;
11
+ queryParams: any;
12
+ setQueryParams(queryParams: any): void;
13
+ setDragging(state?: boolean): void;
14
+ dragging: any;
15
+ setUploading(state?: boolean): void;
16
+ uploading: any;
17
+ showFileDetails(src: any): void;
18
+ hideFileDetails(): void;
19
+ showingFileDetails: any;
20
+ state: any;
21
+ dispatch: any;
22
+ };
23
+ export { FileManagerProvider, useFileManager };
@@ -0,0 +1,174 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
4
+ var _excluded = ["children"];
5
+ import React from "react";
6
+ var ListFilesSort;
7
+
8
+ (function (ListFilesSort) {
9
+ ListFilesSort[ListFilesSort["CREATED_ON_ASC"] = 0] = "CREATED_ON_ASC";
10
+ ListFilesSort[ListFilesSort["CREATED_ON_DESC"] = 1] = "CREATED_ON_DESC";
11
+ ListFilesSort[ListFilesSort["SIZE_ASC"] = 2] = "SIZE_ASC";
12
+ ListFilesSort[ListFilesSort["SIZE_DESC"] = 3] = "SIZE_DESC";
13
+ })(ListFilesSort || (ListFilesSort = {}));
14
+
15
+ function init(_ref) {
16
+ var accept = _ref.accept;
17
+ return {
18
+ showingFileDetails: null,
19
+ selected: [],
20
+ hasPreviouslyUploadedFiles: null,
21
+ queryParams: {
22
+ types: accept,
23
+ limit: 50,
24
+ sort: ListFilesSort.CREATED_ON_DESC
25
+ }
26
+ };
27
+ }
28
+
29
+ function fileManagerReducer(state, action) {
30
+ var next = _objectSpread({}, state);
31
+
32
+ switch (action.type) {
33
+ case "toggleSelected":
34
+ {
35
+ var existingIndex = state.selected.findIndex(function (item) {
36
+ return item.src === action.file.src;
37
+ });
38
+
39
+ if (existingIndex < 0) {
40
+ next.selected.push(action.file);
41
+ } else {
42
+ next.selected.splice(existingIndex, 1);
43
+ }
44
+
45
+ break;
46
+ }
47
+
48
+ case "queryParams":
49
+ {
50
+ next.selected = [];
51
+ next.queryParams = _objectSpread(_objectSpread(_objectSpread({}, state.queryParams), action.queryParams), {}, {
52
+ types: state.queryParams.types,
53
+ limit: 40,
54
+ sort: ListFilesSort.CREATED_ON_DESC
55
+ });
56
+ break;
57
+ }
58
+
59
+ case "showFileDetails":
60
+ {
61
+ next.showingFileDetails = action.src;
62
+ break;
63
+ }
64
+
65
+ case "dragging":
66
+ {
67
+ next.dragging = action.state;
68
+ break;
69
+ }
70
+
71
+ case "hasPreviouslyUploadedFiles":
72
+ {
73
+ next.hasPreviouslyUploadedFiles = action.hasPreviouslyUploadedFiles;
74
+ break;
75
+ }
76
+
77
+ case "uploading":
78
+ {
79
+ next.uploading = action.state;
80
+ break;
81
+ }
82
+ }
83
+
84
+ return next;
85
+ }
86
+
87
+ var FileManagerContext = /*#__PURE__*/React.createContext({});
88
+
89
+ function FileManagerProvider(_ref2) {
90
+ var children = _ref2.children,
91
+ props = _objectWithoutProperties(_ref2, _excluded);
92
+
93
+ var _React$useReducer = React.useReducer(fileManagerReducer, props, init),
94
+ _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
95
+ state = _React$useReducer2[0],
96
+ dispatch = _React$useReducer2[1];
97
+
98
+ var value = React.useMemo(function () {
99
+ return {
100
+ state: state,
101
+ dispatch: dispatch
102
+ };
103
+ }, [state]);
104
+ return /*#__PURE__*/React.createElement(FileManagerContext.Provider, Object.assign({
105
+ value: value
106
+ }, props), children);
107
+ }
108
+
109
+ function useFileManager() {
110
+ var context = React.useContext(FileManagerContext);
111
+
112
+ if (!context) {
113
+ throw new Error("useFileManager must be used within a FileManagerProvider");
114
+ }
115
+
116
+ var state = context.state,
117
+ dispatch = context.dispatch;
118
+ return {
119
+ selected: state.selected,
120
+ toggleSelected: function toggleSelected(file) {
121
+ dispatch({
122
+ type: "toggleSelected",
123
+ file: file
124
+ });
125
+ },
126
+ hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,
127
+ setHasPreviouslyUploadedFiles: function setHasPreviouslyUploadedFiles(hasPreviouslyUploadedFiles) {
128
+ dispatch({
129
+ type: "hasPreviouslyUploadedFiles",
130
+ hasPreviouslyUploadedFiles: hasPreviouslyUploadedFiles
131
+ });
132
+ },
133
+ queryParams: state.queryParams,
134
+ setQueryParams: function setQueryParams(queryParams) {
135
+ dispatch({
136
+ type: "queryParams",
137
+ queryParams: queryParams
138
+ });
139
+ },
140
+ setDragging: function setDragging() {
141
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
142
+ dispatch({
143
+ type: "dragging",
144
+ state: state
145
+ });
146
+ },
147
+ dragging: state.dragging,
148
+ setUploading: function setUploading() {
149
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
150
+ dispatch({
151
+ type: "uploading",
152
+ state: state
153
+ });
154
+ },
155
+ uploading: state.uploading,
156
+ showFileDetails: function showFileDetails(src) {
157
+ dispatch({
158
+ type: "showFileDetails",
159
+ src: src
160
+ });
161
+ },
162
+ hideFileDetails: function hideFileDetails() {
163
+ dispatch({
164
+ type: "showFileDetails",
165
+ src: null
166
+ });
167
+ },
168
+ showingFileDetails: state.showingFileDetails,
169
+ state: state,
170
+ dispatch: dispatch
171
+ };
172
+ }
173
+
174
+ export { FileManagerProvider, useFileManager };
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { FilesRules } from "react-butterfiles";
3
+ declare type FileManagerViewProps = {
4
+ onChange: Function;
5
+ onClose: Function;
6
+ files?: FilesRules;
7
+ multiple: boolean;
8
+ accept: Array<string>;
9
+ maxSize: number | string;
10
+ multipleMaxCount: number;
11
+ multipleMaxSize: number | string;
12
+ onUploadCompletion?: Function;
13
+ };
14
+ declare function FileManagerView(props: FileManagerViewProps): JSX.Element;
15
+ declare namespace FileManagerView {
16
+ var defaultProps: {
17
+ multiple: boolean;
18
+ maxSize: string;
19
+ multipleMaxSize: string;
20
+ multipleMaxCount: number;
21
+ };
22
+ }
23
+ export default FileManagerView;