@webiny/app-admin 0.0.0-ee-vpcs.549378cf03

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