@webiny/app-admin 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd

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 (371) hide show
  1. package/assets/icons/file_download.svg +1 -0
  2. package/assets/icons/file_upload.svg +1 -0
  3. package/base/Admin.d.ts +1 -1
  4. package/base/Admin.js +3 -1
  5. package/base/Admin.js.map +1 -1
  6. package/base/Base.d.ts +1 -1
  7. package/base/Base.js +3 -1
  8. package/base/Base.js.map +1 -1
  9. package/base/plugins/AddGraphQLQuerySelection.d.ts +1 -2
  10. package/base/plugins/AddGraphQLQuerySelection.js +5 -3
  11. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  12. package/base/providers/ApolloProvider.d.ts +4 -1
  13. package/base/providers/ApolloProvider.js +3 -1
  14. package/base/providers/ApolloProvider.js.map +1 -1
  15. package/base/providers/TelemetryProvider.d.ts +5 -1
  16. package/base/providers/TelemetryProvider.js +3 -6
  17. package/base/providers/TelemetryProvider.js.map +1 -1
  18. package/base/providers/UiStateProvider.d.ts +5 -1
  19. package/base/providers/UiStateProvider.js +3 -1
  20. package/base/providers/UiStateProvider.js.map +1 -1
  21. package/base/providers/ViewCompositionProvider.d.ts +4 -1
  22. package/base/providers/ViewCompositionProvider.js +3 -1
  23. package/base/providers/ViewCompositionProvider.js.map +1 -1
  24. package/base/ui/Brand.d.ts +9 -2
  25. package/base/ui/Brand.js +3 -1
  26. package/base/ui/Brand.js.map +1 -1
  27. package/base/ui/CenteredView.d.ts +5 -1
  28. package/base/ui/CenteredView.js +3 -1
  29. package/base/ui/CenteredView.js.map +1 -1
  30. package/base/ui/Dashboard.d.ts +9 -2
  31. package/base/ui/Dashboard.js +3 -1
  32. package/base/ui/Dashboard.js.map +1 -1
  33. package/base/ui/FileManager.d.ts +7 -4
  34. package/base/ui/FileManager.js +19 -4
  35. package/base/ui/FileManager.js.map +1 -1
  36. package/base/ui/Layout.d.ts +8 -2
  37. package/base/ui/Layout.js +3 -1
  38. package/base/ui/Layout.js.map +1 -1
  39. package/base/ui/LocaleSelector.d.ts +9 -2
  40. package/base/ui/LocaleSelector.js +3 -1
  41. package/base/ui/LocaleSelector.js.map +1 -1
  42. package/base/ui/LoginScreen.d.ts +5 -2
  43. package/base/ui/LoginScreen.js +3 -1
  44. package/base/ui/LoginScreen.js.map +1 -1
  45. package/base/ui/Logo.d.ts +9 -3
  46. package/base/ui/Logo.js +3 -1
  47. package/base/ui/Logo.js.map +1 -1
  48. package/base/ui/Menu.d.ts +6 -1
  49. package/base/ui/Menu.js +4 -3
  50. package/base/ui/Menu.js.map +1 -1
  51. package/base/ui/Navigation.d.ts +18 -6
  52. package/base/ui/Navigation.js +9 -5
  53. package/base/ui/Navigation.js.map +1 -1
  54. package/base/ui/NotFound.d.ts +9 -2
  55. package/base/ui/NotFound.js +3 -1
  56. package/base/ui/NotFound.js.map +1 -1
  57. package/base/ui/Search.d.ts +15 -4
  58. package/base/ui/Search.js +3 -1
  59. package/base/ui/Search.js.map +1 -1
  60. package/base/ui/Tags.d.ts +1 -1
  61. package/base/ui/Tags.js +7 -2
  62. package/base/ui/Tags.js.map +1 -1
  63. package/base/ui/UserMenu.d.ts +35 -9
  64. package/base/ui/UserMenu.js +3 -1
  65. package/base/ui/UserMenu.js.map +1 -1
  66. package/components/AdminLayout.d.ts +2 -1
  67. package/components/AdminLayout.js +3 -1
  68. package/components/AdminLayout.js.map +1 -1
  69. package/components/AppInstaller/AppInstaller.d.ts +5 -1
  70. package/components/AppInstaller/AppInstaller.js +9 -3
  71. package/components/AppInstaller/AppInstaller.js.map +1 -1
  72. package/components/AppInstaller/Sidebar.d.ts +2 -2
  73. package/components/AppInstaller/Sidebar.js +3 -1
  74. package/components/AppInstaller/Sidebar.js.map +1 -1
  75. package/components/AppInstaller/index.js +3 -1
  76. package/components/AppInstaller/index.js.map +1 -1
  77. package/components/AppInstaller/styled.d.ts +0 -2
  78. package/components/AppInstaller/styled.js +3 -1
  79. package/components/AppInstaller/styled.js.map +1 -1
  80. package/components/AppInstaller/useInstaller.js +28 -58
  81. package/components/AppInstaller/useInstaller.js.map +1 -1
  82. package/components/BulkActions/Worker.d.ts +81 -0
  83. package/components/BulkActions/Worker.js +172 -0
  84. package/components/BulkActions/Worker.js.map +1 -0
  85. package/components/BulkActions/index.d.ts +2 -0
  86. package/components/BulkActions/index.js +29 -0
  87. package/components/BulkActions/index.js.map +1 -0
  88. package/components/BulkActions/useDialogWithReport/DialogMessage.d.ts +5 -0
  89. package/components/BulkActions/useDialogWithReport/DialogMessage.js +31 -0
  90. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -0
  91. package/components/BulkActions/useDialogWithReport/index.d.ts +1 -0
  92. package/components/BulkActions/useDialogWithReport/index.js +18 -0
  93. package/components/BulkActions/useDialogWithReport/index.js.map +1 -0
  94. package/components/BulkActions/useDialogWithReport/useDialogWithReport.d.ts +17 -0
  95. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +79 -0
  96. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -0
  97. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.d.ts +20 -0
  98. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.js +28 -0
  99. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.js.map +1 -0
  100. package/components/Buttons/Buttons.d.ts +23 -0
  101. package/components/Buttons/Buttons.js +78 -0
  102. package/components/Buttons/Buttons.js.map +1 -0
  103. package/components/Buttons/Buttons.styles.d.ts +5 -0
  104. package/components/Buttons/Buttons.styles.js +15 -0
  105. package/components/Buttons/Buttons.styles.js.map +1 -0
  106. package/components/Buttons/index.d.ts +2 -0
  107. package/components/Buttons/index.js +27 -0
  108. package/components/Buttons/index.js.map +1 -0
  109. package/components/Buttons/useButtons.d.ts +14 -0
  110. package/components/Buttons/useButtons.js +32 -0
  111. package/components/Buttons/useButtons.js.map +1 -0
  112. package/components/EmptyView.d.ts +2 -2
  113. package/components/EmptyView.js +3 -1
  114. package/components/EmptyView.js.map +1 -1
  115. package/components/Filters/Filters.d.ts +16 -0
  116. package/components/Filters/Filters.js +30 -0
  117. package/components/Filters/Filters.js.map +1 -0
  118. package/components/Filters/Filters.styled.d.ts +13 -0
  119. package/components/Filters/Filters.styled.js +25 -0
  120. package/components/Filters/Filters.styled.js.map +1 -0
  121. package/components/Filters/index.d.ts +1 -0
  122. package/components/Filters/index.js +18 -0
  123. package/components/Filters/index.js.map +1 -0
  124. package/components/FloatingActionButton.d.ts +4 -1
  125. package/components/FloatingActionButton.js +3 -1
  126. package/components/FloatingActionButton.js.map +1 -1
  127. package/components/LexicalEditor/LexicalEditor.js +4 -2
  128. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  129. package/components/LexicalEditor/index.js +3 -1
  130. package/components/LexicalEditor/index.js.map +1 -1
  131. package/components/MultiImageUpload.d.ts +2 -2
  132. package/components/MultiImageUpload.js +9 -3
  133. package/components/MultiImageUpload.js.map +1 -1
  134. package/components/OptionsMenu/OptionsMenu.d.ts +9 -0
  135. package/components/OptionsMenu/OptionsMenu.js +30 -0
  136. package/components/OptionsMenu/OptionsMenu.js.map +1 -0
  137. package/components/OptionsMenu/OptionsMenu.styled.d.ts +34 -0
  138. package/components/OptionsMenu/OptionsMenu.styled.js +16 -0
  139. package/components/OptionsMenu/OptionsMenu.styled.js.map +1 -0
  140. package/components/OptionsMenu/OptionsMenuItem.d.ts +9 -0
  141. package/components/OptionsMenu/OptionsMenuItem.js +23 -0
  142. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -0
  143. package/components/OptionsMenu/OptionsMenuLink.d.ts +10 -0
  144. package/components/OptionsMenu/OptionsMenuLink.js +41 -0
  145. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -0
  146. package/components/OptionsMenu/index.d.ts +4 -0
  147. package/components/OptionsMenu/index.js +53 -0
  148. package/components/OptionsMenu/index.js.map +1 -0
  149. package/components/OptionsMenu/useOptionsMenuItem.d.ts +13 -0
  150. package/components/OptionsMenu/useOptionsMenuItem.js +31 -0
  151. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -0
  152. package/components/OverlayLayout/OverlayLayout.d.ts +0 -1
  153. package/components/OverlayLayout/OverlayLayout.js +3 -1
  154. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  155. package/components/OverlayLayout/index.js +3 -1
  156. package/components/OverlayLayout/index.js.map +1 -1
  157. package/components/Permissions/CannotUseAaclAlert.d.ts +2 -2
  158. package/components/Permissions/CannotUseAaclAlert.js +3 -1
  159. package/components/Permissions/CannotUseAaclAlert.js.map +1 -1
  160. package/components/Permissions/Permissions.d.ts +2 -2
  161. package/components/Permissions/Permissions.js +3 -1
  162. package/components/Permissions/Permissions.js.map +1 -1
  163. package/components/Permissions/StyledComponents.d.ts +2 -2
  164. package/components/Permissions/StyledComponents.js +3 -1
  165. package/components/Permissions/StyledComponents.js.map +1 -1
  166. package/components/Permissions/index.js +3 -1
  167. package/components/Permissions/index.js.map +1 -1
  168. package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  169. package/components/RichTextEditor/RichTextEditor.js +3 -1
  170. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  171. package/components/RichTextEditor/index.js +3 -1
  172. package/components/RichTextEditor/index.js.map +1 -1
  173. package/components/RichTextEditor/tools/header/index.d.ts +0 -2
  174. package/components/RichTextEditor/tools/header/index.js +3 -11
  175. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  176. package/components/RichTextEditor/tools/image/index.d.ts +0 -2
  177. package/components/RichTextEditor/tools/image/index.js +3 -8
  178. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  179. package/components/RichTextEditor/tools/image/svgs.js +3 -1
  180. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  181. package/components/RichTextEditor/tools/image/tunes.d.ts +0 -2
  182. package/components/RichTextEditor/tools/image/tunes.js +3 -6
  183. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  184. package/components/RichTextEditor/tools/image/types.js +3 -1
  185. package/components/RichTextEditor/tools/image/ui.d.ts +0 -2
  186. package/components/RichTextEditor/tools/image/ui.js +15 -14
  187. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  188. package/components/RichTextEditor/tools/paragraph/index.d.ts +0 -2
  189. package/components/RichTextEditor/tools/paragraph/index.js +13 -12
  190. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  191. package/components/RichTextEditor/tools/textColor/index.d.ts +0 -3
  192. package/components/RichTextEditor/tools/textColor/index.js +3 -11
  193. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  194. package/components/RichTextEditor/tools/utils.js +7 -5
  195. package/components/RichTextEditor/tools/utils.js.map +1 -1
  196. package/components/Routes.d.ts +2 -2
  197. package/components/Routes.js +3 -1
  198. package/components/Routes.js.map +1 -1
  199. package/components/SearchUI.d.ts +2 -2
  200. package/components/SearchUI.js +3 -1
  201. package/components/SearchUI.js.map +1 -1
  202. package/components/SimpleForm/SimpleForm.d.ts +9 -5
  203. package/components/SimpleForm/SimpleForm.js +5 -2
  204. package/components/SimpleForm/SimpleForm.js.map +1 -1
  205. package/components/SimpleForm/index.js +3 -1
  206. package/components/SimpleForm/index.js.map +1 -1
  207. package/components/SimpleUI/InputField.d.ts +1 -2
  208. package/components/SimpleUI/InputField.js +3 -1
  209. package/components/SimpleUI/InputField.js.map +1 -1
  210. package/components/SingleImageUpload.d.ts +1 -1
  211. package/components/SingleImageUpload.js +3 -1
  212. package/components/SingleImageUpload.js.map +1 -1
  213. package/components/SplitView/SplitView.d.ts +3 -3
  214. package/components/SplitView/SplitView.js +7 -5
  215. package/components/SplitView/SplitView.js.map +1 -1
  216. package/components/SplitView/index.js +3 -1
  217. package/components/SplitView/index.js.map +1 -1
  218. package/components/Wcp.d.ts +9 -0
  219. package/components/Wcp.js +20 -0
  220. package/components/Wcp.js.map +1 -0
  221. package/components/index.js +3 -1
  222. package/components/index.js.map +1 -1
  223. package/hooks/index.d.ts +7 -0
  224. package/hooks/index.js +84 -0
  225. package/hooks/index.js.map +1 -0
  226. package/hooks/useConfirmationDialog.js +3 -1
  227. package/hooks/useConfirmationDialog.js.map +1 -1
  228. package/hooks/useDialog.js +5 -1
  229. package/hooks/useDialog.js.map +1 -1
  230. package/hooks/useIsMounted.d.ts +3 -0
  231. package/hooks/useIsMounted.js +24 -0
  232. package/hooks/useIsMounted.js.map +1 -0
  233. package/hooks/useKeyHandler.d.ts +8 -0
  234. package/hooks/useKeyHandler.js +82 -0
  235. package/hooks/useKeyHandler.js.map +1 -0
  236. package/hooks/useModKey.d.ts +1 -0
  237. package/hooks/useModKey.js +41 -0
  238. package/hooks/useModKey.js.map +1 -0
  239. package/hooks/useShiftKey.d.ts +1 -0
  240. package/hooks/useShiftKey.js +46 -0
  241. package/hooks/useShiftKey.js.map +1 -0
  242. package/hooks/useSnackbar.js +3 -1
  243. package/hooks/useSnackbar.js.map +1 -1
  244. package/index.d.ts +6 -3
  245. package/index.js +51 -17
  246. package/index.js.map +1 -1
  247. package/package.json +27 -25
  248. package/plugins/MenuPlugin.js +3 -3
  249. package/plugins/MenuPlugin.js.map +1 -1
  250. package/plugins/PermissionRendererPlugin.js +3 -3
  251. package/plugins/PermissionRendererPlugin.js.map +1 -1
  252. package/plugins/globalSearch/SearchBar.d.ts +5 -1
  253. package/plugins/globalSearch/SearchBar.js +16 -12
  254. package/plugins/globalSearch/SearchBar.js.map +1 -1
  255. package/plugins/globalSearch/SearchBarDropdown.js +3 -1
  256. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  257. package/plugins/globalSearch/index.d.ts +0 -1
  258. package/plugins/globalSearch/index.js +3 -1
  259. package/plugins/globalSearch/index.js.map +1 -1
  260. package/plugins/globalSearch/styled.d.ts +0 -2
  261. package/plugins/globalSearch/styled.js +3 -4
  262. package/plugins/globalSearch/styled.js.map +1 -1
  263. package/plugins/uiLayoutRenderer/index.js +3 -1
  264. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  265. package/styles/material-theme-assignments.scss +1 -1
  266. package/types.d.ts +14 -2
  267. package/types.js +3 -1
  268. package/types.js.map +1 -1
  269. package/ui/UIElement.js +3 -1
  270. package/ui/UIElement.js.map +1 -1
  271. package/ui/UILayout.js +3 -1
  272. package/ui/UILayout.js.map +1 -1
  273. package/ui/UIRenderer.js +3 -1
  274. package/ui/UIRenderer.js.map +1 -1
  275. package/ui/UIView.js +3 -1
  276. package/ui/UIView.js.map +1 -1
  277. package/ui/elements/AccordionElement.js +4 -2
  278. package/ui/elements/AccordionElement.js.map +1 -1
  279. package/ui/elements/ButtonElement.js +6 -4
  280. package/ui/elements/ButtonElement.js.map +1 -1
  281. package/ui/elements/ButtonGroupElement.js +3 -1
  282. package/ui/elements/ButtonGroupElement.js.map +1 -1
  283. package/ui/elements/GenericElement.js +3 -1
  284. package/ui/elements/GenericElement.js.map +1 -1
  285. package/ui/elements/LabelElement.js +3 -1
  286. package/ui/elements/LabelElement.js.map +1 -1
  287. package/ui/elements/NavigationMenuElement.d.ts +1 -1
  288. package/ui/elements/NavigationMenuElement.js +7 -5
  289. package/ui/elements/NavigationMenuElement.js.map +1 -1
  290. package/ui/elements/PanelElement.js +3 -1
  291. package/ui/elements/PanelElement.js.map +1 -1
  292. package/ui/elements/PlaceholderElement.js +3 -1
  293. package/ui/elements/PlaceholderElement.js.map +1 -1
  294. package/ui/elements/SmallButtonElement.js +3 -1
  295. package/ui/elements/SmallButtonElement.js.map +1 -1
  296. package/ui/elements/TypographyElement.js +3 -1
  297. package/ui/elements/TypographyElement.js.map +1 -1
  298. package/ui/elements/ViewElement.js +3 -1
  299. package/ui/elements/ViewElement.js.map +1 -1
  300. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +3 -1
  301. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  302. package/ui/elements/form/DynamicFieldsetElement.js +3 -1
  303. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  304. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +3 -1
  305. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  306. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +3 -1
  307. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  308. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +3 -1
  309. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  310. package/ui/elements/form/FileManagerElement/styled.d.ts +0 -2
  311. package/ui/elements/form/FileManagerElement/styled.js +3 -1
  312. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  313. package/ui/elements/form/FileManagerElement.js +3 -4
  314. package/ui/elements/form/FileManagerElement.js.map +1 -1
  315. package/ui/elements/form/FormElement.js +3 -1
  316. package/ui/elements/form/FormElement.js.map +1 -1
  317. package/ui/elements/form/FormFieldElement.js +4 -2
  318. package/ui/elements/form/FormFieldElement.js.map +1 -1
  319. package/ui/elements/form/HiddenElement.js +3 -1
  320. package/ui/elements/form/HiddenElement.js.map +1 -1
  321. package/ui/elements/form/InputElement.js +3 -1
  322. package/ui/elements/form/InputElement.js.map +1 -1
  323. package/ui/elements/form/PasswordElement.js +3 -1
  324. package/ui/elements/form/PasswordElement.js.map +1 -1
  325. package/ui/elements/form/SelectElement.js +3 -1
  326. package/ui/elements/form/SelectElement.js.map +1 -1
  327. package/ui/elements/form/TextareaElement.js +3 -1
  328. package/ui/elements/form/TextareaElement.js.map +1 -1
  329. package/ui/views/AdminView/ContentElement.js +3 -1
  330. package/ui/views/AdminView/ContentElement.js.map +1 -1
  331. package/ui/views/AdminView/HeaderElement.js +6 -4
  332. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  333. package/ui/views/AdminView/HeaderSectionCenterElement.js +3 -1
  334. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  335. package/ui/views/AdminView/HeaderSectionLeftElement.js +3 -1
  336. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  337. package/ui/views/AdminView/HeaderSectionRightElement.js +3 -1
  338. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  339. package/ui/views/AdminView/components/Dialog.d.ts +2 -2
  340. package/ui/views/AdminView/components/Dialog.js +12 -10
  341. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  342. package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
  343. package/ui/views/AdminView/components/Hamburger.js +3 -1
  344. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  345. package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
  346. package/ui/views/AdminView/components/Snackbar.js +6 -4
  347. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  348. package/ui/views/FormView/FormContainerElement.js +3 -1
  349. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  350. package/ui/views/FormView/FormContentElement.js +3 -1
  351. package/ui/views/FormView/FormContentElement.js.map +1 -1
  352. package/ui/views/FormView/FormFooterElement.js +3 -1
  353. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  354. package/ui/views/FormView/FormHeaderElement.js +3 -1
  355. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  356. package/ui/views/FormView.js +3 -1
  357. package/ui/views/FormView.js.map +1 -1
  358. package/ui/views/OverlayView/ContentElement.js +3 -1
  359. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  360. package/ui/views/OverlayView/HeaderElement.js +3 -2
  361. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  362. package/ui/views/OverlayView/HeaderTitleElement.js +3 -1
  363. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  364. package/ui/views/OverlayView/useOverlayView.js +3 -1
  365. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  366. package/ui/views/OverlayView.js +7 -7
  367. package/ui/views/OverlayView.js.map +1 -1
  368. package/ui/views/SplitView/SplitViewPanelElement.js +3 -1
  369. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  370. package/ui/views/SplitView.js +3 -3
  371. package/ui/views/SplitView.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["AppInstaller","children","tenantId","localStorage","get","lsKey","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","isRootTenant","isCypressTest","window","Cypress","markInstallerAsCompleted","set","isInstallerCompleted","useState","finished","setFinished","useSecurity","identity","useInstaller","isInstalled","loading","installers","installer","isFirstInstall","showNextInstaller","showLogin","onUser","useEffect","renderLayout","content","secure","installerSplitView","renderBody","length","render","onInstalled","opacity"],"sources":["AppInstaller.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { LoginScreen } from \"~/index\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { SplitView, LeftPanel, RightPanel } from \"../SplitView\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useInstaller } from \"./useInstaller\";\nimport Sidebar from \"./Sidebar\";\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nimport { Wrapper, InnerContent, InstallContent, installerSplitView, SuccessDialog } from \"./styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nexport const AppInstaller: React.FC = ({ children }) => {\n const tenantId = localStorage.get(\"webiny_tenant\") || \"root\";\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n const isRootTenant = tenantId === \"root\";\n /*\n * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress\n * (Cypress doesn't work with cross domains because of security-related implications).\n * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content\n */\n const isCypressTest = window && window.Cypress;\n\n const markInstallerAsCompleted = () => {\n localStorage.set(lsKey, wbyVersion);\n };\n\n const isInstallerCompleted = () => {\n return localStorage.get(lsKey) === wbyVersion;\n };\n\n const [finished, setFinished] = useState(false);\n const { identity } = useSecurity();\n const { loading, installers, installer, isFirstInstall, showNextInstaller, showLogin, onUser } =\n useInstaller({ isInstalled: isInstallerCompleted() });\n\n useEffect(() => {\n if (identity) {\n onUser();\n }\n }, [identity]);\n\n if (isInstallerCompleted()) {\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n const renderLayout = (content: React.ReactNode, secure = false): React.ReactElement => {\n return (\n <SplitView className={installerSplitView}>\n <LeftPanel span={2}>\n <Sidebar\n allInstallers={installers}\n installer={installer}\n showLogin={showLogin}\n />\n </LeftPanel>\n <RightPanel span={10}>\n {!showLogin && !secure && content}\n {(showLogin || secure) && <LoginScreen>{content}</LoginScreen>}\n </RightPanel>\n </SplitView>\n );\n };\n\n const renderBody = (content: React.ReactNode): React.ReactElement => {\n return (\n <Wrapper>\n <InstallContent>\n <InnerContent>{content}</InnerContent>\n </InstallContent>\n </Wrapper>\n );\n };\n\n // Loading installers data\n if (loading) {\n return <CircularProgress label={\"Checking apps...\"} />;\n }\n\n // This means there are no installers to run or installation was finished\n if (!loading && (installers.length === 0 || finished)) {\n markInstallerAsCompleted();\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n if (installer) {\n return renderLayout(\n renderBody(installer.render({ onInstalled: showNextInstaller })),\n installer.secure\n );\n }\n\n return renderLayout(\n renderBody(\n <Elevation z={1}>\n <SuccessDialog>\n <p>You have successfully installed all new applications!</p>\n {!isCypressTest && isRootTenant && isFirstInstall ? (\n <iframe\n height=\"0\"\n width=\"0\"\n frameBorder=\"0\"\n style={{ opacity: \"0\" }}\n src=\"https://www.webiny.com/thank-you/new-install\"\n ></iframe>\n ) : null}\n <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n Finish install\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_store","_interopRequireDefault","_","_appSecurity","_Progress","_Button","_SplitView","_Elevation","_useInstaller2","_Sidebar","_styled","_config","AppInstaller","_ref","children","tenantId","localStorage","get","lsKey","concat","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","isRootTenant","isCypressTest","window","Cypress","markInstallerAsCompleted","set","isInstallerCompleted","_useState","useState","_useState2","_slicedToArray2","default","finished","setFinished","_useSecurity","useSecurity","identity","_useInstaller","useInstaller","isInstalled","loading","installers","installer","isFirstInstall","showNextInstaller","showLogin","onUser","useEffect","createElement","LoginScreen","renderLayout","content","secure","arguments","length","undefined","Tags","tags","SplitView","className","installerSplitView","LeftPanel","span","allInstallers","RightPanel","renderBody","Wrapper","InstallContent","InnerContent","CircularProgress","label","render","onInstalled","Elevation","z","SuccessDialog","height","width","frameBorder","style","opacity","src","ButtonPrimary","onClick","exports"],"sources":["AppInstaller.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { LoginScreen, Tags } from \"~/index\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { SplitView, LeftPanel, RightPanel } from \"../SplitView\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useInstaller } from \"./useInstaller\";\nimport Sidebar from \"./Sidebar\";\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nimport { Wrapper, InnerContent, InstallContent, installerSplitView, SuccessDialog } from \"./styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface AppInstallerProps {\n children: React.ReactNode;\n}\n\nexport const AppInstaller = ({ children }: AppInstallerProps) => {\n const tenantId = localStorage.get(\"webiny_tenant\") || \"root\";\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n const isRootTenant = tenantId === \"root\";\n /*\n * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress\n * (Cypress doesn't work with cross domains because of security-related implications).\n * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content\n */\n const isCypressTest = window && window.Cypress;\n\n const markInstallerAsCompleted = () => {\n localStorage.set(lsKey, wbyVersion);\n };\n\n const isInstallerCompleted = () => {\n return localStorage.get(lsKey) === wbyVersion;\n };\n\n const [finished, setFinished] = useState(false);\n const { identity } = useSecurity();\n const { loading, installers, installer, isFirstInstall, showNextInstaller, showLogin, onUser } =\n useInstaller({ isInstalled: isInstallerCompleted() });\n\n useEffect(() => {\n if (identity) {\n onUser();\n }\n }, [identity]);\n\n if (isInstallerCompleted()) {\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n const renderLayout = (content: React.ReactNode, secure = false): React.ReactElement => {\n return (\n <Tags tags={{ installer: true }}>\n <SplitView className={installerSplitView}>\n <LeftPanel span={2}>\n <Sidebar\n allInstallers={installers}\n installer={installer}\n showLogin={showLogin}\n />\n </LeftPanel>\n <RightPanel span={10}>\n {!showLogin && !secure && content}\n {(showLogin || secure) && <LoginScreen>{content}</LoginScreen>}\n </RightPanel>\n </SplitView>\n </Tags>\n );\n };\n\n const renderBody = (content: React.ReactNode): React.ReactElement => {\n return (\n <Wrapper>\n <InstallContent>\n <InnerContent>{content}</InnerContent>\n </InstallContent>\n </Wrapper>\n );\n };\n\n // Loading installers data\n if (loading) {\n return <CircularProgress label={\"Checking apps...\"} />;\n }\n\n // This means there are no installers to run or installation was finished\n if (!loading && (installers.length === 0 || finished)) {\n markInstallerAsCompleted();\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n if (installer) {\n return renderLayout(\n renderBody(installer.render({ onInstalled: showNextInstaller })),\n installer.secure\n );\n }\n\n return renderLayout(\n renderBody(\n <Elevation z={1}>\n <SuccessDialog>\n <p>You have successfully installed all new applications!</p>\n {!isCypressTest && isRootTenant && isFirstInstall ? (\n <iframe\n height=\"0\"\n width=\"0\"\n frameBorder=\"0\"\n style={{ opacity: \"0\" }}\n src=\"https://www.webiny.com/thank-you/new-install\"\n ></iframe>\n ) : null}\n <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n Finish install\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import React from "react";
1
+ /// <reference types="react" />
2
2
  import { Installer } from "./useInstaller";
3
3
  interface SidebarProps {
4
4
  allInstallers: Installer[];
5
5
  installer: Installer;
6
6
  showLogin: boolean;
7
7
  }
8
- declare const Sidebar: React.FC<SidebarProps>;
8
+ declare const Sidebar: ({ allInstallers, installer, showLogin }: SidebarProps) => JSX.Element;
9
9
  export default Sidebar;
@@ -142,4 +142,6 @@ var Sidebar = function Sidebar(_ref) {
142
142
  }));
143
143
  };
144
144
  var _default = Sidebar;
145
- exports.default = _default;
145
+ exports.default = _default;
146
+
147
+ //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logo","styled","padding","borderBottom","List","li","display","alignItems","borderRadius","height","width","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","img","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","signInDivider","items","i","length","name","secure","installed","prev","push","active","classSet","pending","Sidebar","installations","filter","type","location"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport classSet from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { Installer } from \"./useInstaller\";\nimport { Brand } from \"~/base/ui/Brand\";\nimport { Tags } from \"~/base/ui/Tags\";\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\"\n});\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations: React.FC<InstallationsProps> = props => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\n\nconst Sidebar: React.FC<SidebarProps> = ({ allInstallers, installer, showLogin }) => {\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo>\n <Brand />\n </Logo>\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styled","_Typography","_signInDivider","_Brand","_Tags","Logo","styled","target","label","padding","borderBottom","List","li","display","alignItems","borderRadius","height","width","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","img","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","default","createElement","key","className","src","signInDivider","alt","Typography","use","items","i","length","_allInstallers$i","name","secure","installed","prev","push","active","classSet","pending","Fragment","Sidebar","_ref","installations","filter","type","Tags","tags","location","Brand","_default","exports"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport classSet from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { Installer } from \"./useInstaller\";\nimport { Brand } from \"~/base/ui/Brand\";\nimport { Tags } from \"~/base/ui/Tags\";\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\"\n});\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations = (props: InstallationsProps) => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\n\nconst Sidebar = ({ allInstallers, installer, showLogin }: SidebarProps) => {\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo>\n <Brand />\n </Logo>\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":"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"}
@@ -19,4 +19,6 @@ var AppInstaller = function AppInstaller() {
19
19
  hoc: AppInstallerHOC
20
20
  });
21
21
  };
22
- exports.AppInstaller = AppInstaller;
22
+ exports.AppInstaller = AppInstaller;
23
+
24
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AppInstallerHOC","Component","AppInstallerProvider","children","AppInstaller"],"sources":["index.tsx"],"sourcesContent":["import { Provider } from \"~/index\";\nimport React from \"react\";\nimport { ComponentType } from \"react\";\nimport { AppInstaller as Installer } from \"./AppInstaller\";\n\nconst AppInstallerHOC = (Component: ComponentType<unknown>): React.FC => {\n return function AppInstallerProvider({ children }) {\n return (\n <Installer>\n <Component>{children}</Component>\n </Installer>\n );\n };\n};\n\nexport const AppInstaller = () => {\n return <Provider hoc={AppInstallerHOC} />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,SAAiC,EAAe;EACrE,OAAO,SAASC,oBAAoB,OAAe;IAAA,IAAZC,QAAQ,QAARA,QAAQ;IAC3C,oBACI,6BAAC,0BAAS,qBACN,6BAAC,SAAS,QAAEA,QAAQ,CAAa,CACzB;EAEpB,CAAC;AACL,CAAC;AAEM,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAS;EAC9B,oBAAO,6BAAC,UAAQ;IAAC,GAAG,EAAEJ;EAAgB,EAAG;AAC7C,CAAC;AAAC"}
1
+ {"version":3,"names":["_","require","_react","_interopRequireDefault","_AppInstaller","AppInstallerHOC","Component","AppInstallerProvider","_ref","children","default","createElement","AppInstaller","Provider","hoc","exports"],"sources":["index.tsx"],"sourcesContent":["import { Provider } from \"~/index\";\nimport React from \"react\";\nimport { ComponentType } from \"react\";\nimport { AppInstaller as Installer } from \"./AppInstaller\";\n\ninterface AppInstallerProviderProps {\n children: React.ReactNode;\n}\n\nconst AppInstallerHOC = (Component: ComponentType<unknown>) => {\n return function AppInstallerProvider({ children }: AppInstallerProviderProps) {\n return (\n <Installer>\n <Component>{children}</Component>\n </Installer>\n );\n };\n};\n\nexport const AppInstaller = () => {\n return <Provider hoc={AppInstallerHOC} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAMA,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,SAAiC,EAAK;EAC3D,OAAO,SAASC,oBAAoBA,CAAAC,IAAA,EAA0C;IAAA,IAAvCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC3C,oBACIP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACP,aAAA,CAAAQ,YAAS,qBACNV,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,SAAS,QAAEG,QAAoB,CACzB,CAAC;EAEpB,CAAC;AACL,CAAC;AAEM,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAC9B,oBAAOV,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACX,CAAA,CAAAa,QAAQ;IAACC,GAAG,EAAET;EAAgB,CAAE,CAAC;AAC7C,CAAC;AAACU,OAAA,CAAAH,YAAA,GAAAA,YAAA"}
@@ -1,6 +1,4 @@
1
1
  /// <reference types="react" />
2
- /// <reference types="react" />
3
- /// <reference types="web" />
4
2
  export declare const Wrapper: import("@emotion/styled").StyledComponent<{
5
3
  theme?: import("@emotion/react").Theme | undefined;
6
4
  as?: import("react").ElementType<any> | undefined;
@@ -84,4 +84,6 @@ var alertClass = /*#__PURE__*/(0, _emotion.css)({
84
84
  margin: "5px 0 15px 0",
85
85
  padding: "2px 0 2px 10px"
86
86
  }, "label:alertClass;");
87
- exports.alertClass = alertClass;
87
+ exports.alertClass = alertClass;
88
+
89
+ //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Wrapper","styled","display","flexDirection","justifyContent","minHeight","color","whiteSpace","ul","listStyle","paddingLeft","li","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","marginTop","marginBottom","InstallContent","maxWidth","margin","borderRadius","boxShadow","installerSplitView","css","height","SuccessDialog","padding","textAlign","p","paddingBottom","InnerContent","position","alertClass","borderLeft"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\n\nexport const Wrapper = styled(\"section\")({\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n minHeight: \"100vh\",\n color: \"var(--mdc-theme-on-surface)\",\n \".spinner__inner-wrapper\": {\n whiteSpace: \"nowrap\"\n },\n ul: {\n listStyle: \"disc\",\n paddingLeft: \"var(--mdc-layout-grid-margin-desktop, 24px)\",\n li: {\n color: \"var(--desktop-color, var(--webiny-theme-color-text-primary, rgb(10, 10, 10)))\",\n MozOsxFontSmoothing: \"grayscale\",\n WebkitFontSmoothing: \"antialiased\",\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: 400,\n letterSpacing: \"0.03125em\",\n textDecoration: \"inherit\",\n textTransform: \"inherit\",\n marginTop: \"20px\",\n marginBottom: \"20px\"\n }\n }\n});\n\nexport const InstallContent = styled(\"div\")({\n maxWidth: 800,\n margin: \"0 auto 25px auto\",\n \".mdc-elevation--z2\": {\n borderRadius: 4,\n boxShadow: \"0 1px 3px 0 rgba(0,0,0,0.15)\"\n }\n});\n\nexport const installerSplitView = css({\n // height: \"100vh\",\n \".webiny-split-view__inner\": {\n height: \"100vh\"\n },\n \".webiny-split-view__right-panel-wrapper\": {\n height: \"100vh\"\n }\n});\n\nexport const SuccessDialog = styled(\"div\")({\n padding: 40,\n textAlign: \"center\",\n p: {\n paddingBottom: 40\n }\n});\n\nexport const InnerContent = styled(\"div\")({\n padding: 25,\n position: \"relative\"\n});\n\nexport const alertClass = css({\n borderLeft: \"3px solid red\",\n margin: \"5px 0 15px 0\",\n padding: \"2px 0 2px 10px\"\n});\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,OAAO,oBAAGC,eAAM,EAAC,SAAS;EAAA;EAAA;AAAA,GAAE;EACrCC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE,OAAO;EAClBC,KAAK,EAAE,6BAA6B;EACpC,yBAAyB,EAAE;IACvBC,UAAU,EAAE;EAChB,CAAC;EACDC,EAAE,EAAE;IACAC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE,6CAA6C;IAC1DC,EAAE,EAAE;MACAL,KAAK,EAAE,+EAA+E;MACtFM,mBAAmB,EAAE,WAAW;MAChCC,mBAAmB,EAAE,aAAa;MAClCC,QAAQ,EAAE,MAAM;MAChBC,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE,GAAG;MACfC,aAAa,EAAE,WAAW;MAC1BC,cAAc,EAAE,SAAS;MACzBC,aAAa,EAAE,SAAS;MACxBC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE;IAClB;EACJ;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,cAAc,oBAAGrB,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACxCsB,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,kBAAkB;EAC1B,oBAAoB,EAAE;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACf;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,kBAAkB,gBAAG,IAAAC,YAAG,EAAC;EAClC;EACA,2BAA2B,EAAE;IACzBC,MAAM,EAAE;EACZ,CAAC;EACD,yCAAyC,EAAE;IACvCA,MAAM,EAAE;EACZ;AACJ,CAAC,8BAAC;AAAC;AAEI,IAAMC,aAAa,oBAAG7B,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACvC8B,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,QAAQ;EACnBC,CAAC,EAAE;IACCC,aAAa,EAAE;EACnB;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,YAAY,oBAAGlC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACtC8B,OAAO,EAAE,EAAE;EACXK,QAAQ,EAAE;AACd,CAAC,CAAC;AAAC;AAEI,IAAMC,UAAU,gBAAG,IAAAT,YAAG,EAAC;EAC1BU,UAAU,EAAE,eAAe;EAC3Bd,MAAM,EAAE,cAAc;EACtBO,OAAO,EAAE;AACb,CAAC,sBAAC;AAAC"}
1
+ {"version":3,"names":["_styled","_interopRequireDefault","require","_emotion","Wrapper","styled","target","label","display","flexDirection","justifyContent","minHeight","color","whiteSpace","ul","listStyle","paddingLeft","li","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","marginTop","marginBottom","exports","InstallContent","maxWidth","margin","borderRadius","boxShadow","installerSplitView","css","height","SuccessDialog","padding","textAlign","p","paddingBottom","InnerContent","position","alertClass","borderLeft"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\n\nexport const Wrapper = styled(\"section\")({\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n minHeight: \"100vh\",\n color: \"var(--mdc-theme-on-surface)\",\n \".spinner__inner-wrapper\": {\n whiteSpace: \"nowrap\"\n },\n ul: {\n listStyle: \"disc\",\n paddingLeft: \"var(--mdc-layout-grid-margin-desktop, 24px)\",\n li: {\n color: \"var(--desktop-color, var(--webiny-theme-color-text-primary, rgb(10, 10, 10)))\",\n MozOsxFontSmoothing: \"grayscale\",\n WebkitFontSmoothing: \"antialiased\",\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: 400,\n letterSpacing: \"0.03125em\",\n textDecoration: \"inherit\",\n textTransform: \"inherit\",\n marginTop: \"20px\",\n marginBottom: \"20px\"\n }\n }\n});\n\nexport const InstallContent = styled(\"div\")({\n maxWidth: 800,\n margin: \"0 auto 25px auto\",\n \".mdc-elevation--z2\": {\n borderRadius: 4,\n boxShadow: \"0 1px 3px 0 rgba(0,0,0,0.15)\"\n }\n});\n\nexport const installerSplitView = css({\n // height: \"100vh\",\n \".webiny-split-view__inner\": {\n height: \"100vh\"\n },\n \".webiny-split-view__right-panel-wrapper\": {\n height: \"100vh\"\n }\n});\n\nexport const SuccessDialog = styled(\"div\")({\n padding: 40,\n textAlign: \"center\",\n p: {\n paddingBottom: 40\n }\n});\n\nexport const InnerContent = styled(\"div\")({\n padding: 25,\n position: \"relative\"\n});\n\nexport const alertClass = css({\n borderLeft: \"3px solid red\",\n margin: \"5px 0 15px 0\",\n padding: \"2px 0 2px 10px\"\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,IAAME,OAAO,oBAAGC,eAAM,EAAC,SAAS;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACrCC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE,OAAO;EAClBC,KAAK,EAAE,6BAA6B;EACpC,yBAAyB,EAAE;IACvBC,UAAU,EAAE;EAChB,CAAC;EACDC,EAAE,EAAE;IACAC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE,6CAA6C;IAC1DC,EAAE,EAAE;MACAL,KAAK,EAAE,+EAA+E;MACtFM,mBAAmB,EAAE,WAAW;MAChCC,mBAAmB,EAAE,aAAa;MAClCC,QAAQ,EAAE,MAAM;MAChBC,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE,GAAG;MACfC,aAAa,EAAE,WAAW;MAC1BC,cAAc,EAAE,SAAS;MACzBC,aAAa,EAAE,SAAS;MACxBC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE;IAClB;EACJ;AACJ,CAAC,CAAC;AAACC,OAAA,CAAAxB,OAAA,GAAAA,OAAA;AAEI,IAAMyB,cAAc,oBAAGxB,eAAM,EAAC,KAAK;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACxCuB,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,kBAAkB;EAC1B,oBAAoB,EAAE;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACf;AACJ,CAAC,CAAC;AAACL,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEI,IAAMK,kBAAkB,gBAAG,IAAAC,YAAG,EAAC;EAClC;EACA,2BAA2B,EAAE;IACzBC,MAAM,EAAE;EACZ,CAAC;EACD,yCAAyC,EAAE;IACvCA,MAAM,EAAE;EACZ;AACJ,CAAC,8BAAC;AAACR,OAAA,CAAAM,kBAAA,GAAAA,kBAAA;AAEI,IAAMG,aAAa,oBAAGhC,eAAM,EAAC,KAAK;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACvC+B,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,QAAQ;EACnBC,CAAC,EAAE;IACCC,aAAa,EAAE;EACnB;AACJ,CAAC,CAAC;AAACb,OAAA,CAAAS,aAAA,GAAAA,aAAA;AAEI,IAAMK,YAAY,oBAAGrC,eAAM,EAAC,KAAK;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACtC+B,OAAO,EAAE,EAAE;EACXK,QAAQ,EAAE;AACd,CAAC,CAAC;AAACf,OAAA,CAAAc,YAAA,GAAAA,YAAA;AAEI,IAAME,UAAU,gBAAG,IAAAT,YAAG,EAAC;EAC1BU,UAAU,EAAE,eAAe;EAC3Bd,MAAM,EAAE,cAAc;EACtBO,OAAO,EAAE;AACb,CAAC,sBAAC;AAACV,OAAA,CAAAgB,UAAA,GAAAA,UAAA"}
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.useInstaller = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
11
  var _react = require("react");
@@ -138,61 +136,31 @@ var useInstaller = function useInstaller(params) {
138
136
  });
139
137
  };
140
138
  (0, _react.useEffect)(function () {
141
- (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
142
- var allInstallers, graph, _getInstallers, toInstall, installers;
143
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
144
- while (1) switch (_context2.prev = _context2.next) {
145
- case 0:
146
- if (!isInstalled) {
147
- _context2.next = 2;
148
- break;
149
- }
150
- return _context2.abrupt("return");
151
- case 2:
152
- allInstallers = [];
153
- _context2.next = 5;
154
- return Promise.all(_plugins.plugins.byType("admin-installation").map( /*#__PURE__*/function () {
155
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(pl) {
156
- var installed;
157
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
158
- while (1) switch (_context.prev = _context.next) {
159
- case 0:
160
- _context.next = 2;
161
- return pl.getInstalledVersion({
162
- client: client
163
- });
164
- case 2:
165
- installed = _context.sent;
166
- allInstallers.push({
167
- plugin: pl,
168
- installed: installed
169
- });
170
- case 4:
171
- case "end":
172
- return _context.stop();
173
- }
174
- }, _callee);
175
- }));
176
- return function (_x) {
177
- return _ref4.apply(this, arguments);
178
- };
179
- }()));
180
- case 5:
181
- graph = createGraph(allInstallers);
182
- _getInstallers = getInstallers(allInstallers, graph), toInstall = _getInstallers.toInstall;
183
- installers = (0, _toConsumableArray2.default)(toInstall);
184
- setState({
185
- installers: installers,
186
- installerIndex: 0,
187
- loading: false,
188
- showLogin: toInstall.length > 0 && toInstall[0].secure
189
- });
190
- case 9:
191
- case "end":
192
- return _context2.stop();
193
- }
194
- }, _callee2);
195
- }))();
139
+ (async function () {
140
+ if (isInstalled) {
141
+ return;
142
+ }
143
+ var allInstallers = [];
144
+ await Promise.all(_plugins.plugins.byType("admin-installation").map(async function (pl) {
145
+ var installed = await pl.getInstalledVersion({
146
+ client: client
147
+ });
148
+ allInstallers.push({
149
+ plugin: pl,
150
+ installed: installed
151
+ });
152
+ }));
153
+ var graph = createGraph(allInstallers);
154
+ var _getInstallers = getInstallers(allInstallers, graph),
155
+ toInstall = _getInstallers.toInstall;
156
+ var installers = (0, _toConsumableArray2.default)(toInstall);
157
+ setState({
158
+ installers: installers,
159
+ installerIndex: 0,
160
+ loading: false,
161
+ showLogin: toInstall.length > 0 && toInstall[0].secure
162
+ });
163
+ })();
196
164
  }, []);
197
165
  var isFirstInstall = installers.some(function (installer) {
198
166
  return installer.installed;
@@ -207,4 +175,6 @@ var useInstaller = function useInstaller(params) {
207
175
  onUser: onUser
208
176
  };
209
177
  };
210
- exports.useInstaller = useInstaller;
178
+ exports.useInstaller = useInstaller;
179
+
180
+ //# sourceMappingURL=useInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useInstaller","params","isInstalled","useReducer","prev","next","loading","installers","installerIndex","showLogin","state","setState","client","useApolloClient","validateGraph","graph","isAcyclic","alg","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","Graph","plugin","setNode","name","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","useCallback","toInstall","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","sort","a","b","onUser","showNextInstaller","prevInstaller","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","undefined","nextIndex","nextInstaller","prevSecure","nextSecure","useEffect","allInstallers","Promise","all","plugins","byType","map","getInstalledVersion","isFirstInstall","some"],"sources":["useInstaller.tsx"],"sourcesContent":["import { useCallback, useReducer, useEffect } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminInstallationPlugin } from \"~/types\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false\n });\n const { loading, installers, installerIndex, showLogin } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n }\n\n return getInstallers(installers, graph, toInstall);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall } = getInstallers(allInstallers, graph);\n const installers = [...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toInstall.length > 0 && toInstall[0].secure\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_graphlib","_reactHooks","_plugins","_config","useInstaller","params","isInstalled","_useReducer","useReducer","prev","next","_objectSpread2","default","loading","installers","installerIndex","showLogin","_useReducer2","_slicedToArray2","state","setState","client","useApolloClient","validateGraph","graph","isAcyclic","alg","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","concat","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","Graph","_ref","plugin","setNode","name","_ref2","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","useCallback","toInstall","arguments","undefined","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","sort","a","b","onUser","showNextInstaller","prevInstaller","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","nextIndex","nextInstaller","prevSecure","nextSecure","useEffect","allInstallers","Promise","all","plugins","byType","map","getInstalledVersion","_getInstallers","_toConsumableArray2","isFirstInstall","some","exports"],"sources":["useInstaller.tsx"],"sourcesContent":["import { useCallback, useReducer, useEffect } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminInstallationPlugin } from \"~/types\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false\n });\n const { loading, installers, installerIndex, showLogin } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n }\n\n return getInstallers(installers, graph, toInstall);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall } = getInstallers(allInstallers, graph);\n const installers = [...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toInstall.length > 0 && toInstall[0].secure\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export interface CallbackParams<T> {
2
+ item: T;
3
+ allItems: T[];
4
+ report: Report;
5
+ }
6
+ export interface Result {
7
+ title: string;
8
+ status: "success" | "failure";
9
+ message?: string;
10
+ }
11
+ /**
12
+ * Class for collecting processing results
13
+ */
14
+ export declare class Report {
15
+ private _results;
16
+ /**
17
+ * Record a successful result in the report
18
+ * @param {Omit<Result, "status">} result - The successful result to be recorded
19
+ */
20
+ success(result: Omit<Result, "status">): void;
21
+ /**
22
+ * Record an error result in the report.
23
+ * @param {Omit<Result, "status">} result - The error result to be recorded.
24
+ */
25
+ error(result: Omit<Result, "status">): void;
26
+ /**
27
+ * Get the array of recorded results.
28
+ * @returns {Result[]} - An array of recorded results.
29
+ */
30
+ get results(): Result[];
31
+ /**
32
+ * Internal method to add a result to the report.
33
+ * @private
34
+ * @param {Result} result - The result to be added to the report.
35
+ */
36
+ private addResult;
37
+ }
38
+ /**
39
+ * A generic worker class for processing items.
40
+ * @template T - The type of items being processed.
41
+ */
42
+ export declare class Worker<T> {
43
+ private _items;
44
+ private _report;
45
+ constructor();
46
+ /**
47
+ * Process the items using the provided callback function.
48
+ * @param callback - The callback function to process the items.
49
+ */
50
+ process(callback: (items: T[]) => void): void;
51
+ /**
52
+ * Process the items in series with the given chunk size.
53
+ * @param callback - The callback function to process each item.
54
+ * @param {number} [chunkSize=10] - The size of each chunk for processing in series.
55
+ * @returns {Promise<void>}
56
+ */
57
+ processInSeries(callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>, chunkSize?: number): Promise<void>;
58
+ /**
59
+ * Get the array of results collected by the worker.
60
+ * @returns {Result[]} - An array of collected results.
61
+ */
62
+ get results(): Result[];
63
+ /**
64
+ * Get the current items in the worker.
65
+ * @returns {T[]} - An array of items in the worker.
66
+ */
67
+ get items(): T[];
68
+ /**
69
+ * Set the items in the worker.
70
+ * @param {T[]} items - The items to be set in the worker.
71
+ */
72
+ set items(items: T[]);
73
+ /**
74
+ * Internal method to process a chunk of items using the provided callback.
75
+ * @private
76
+ * @param callback - The callback function to process each item.
77
+ * @param {T[]} chunk - The chunk of items to be processed.
78
+ * @returns {Promise<void>}
79
+ */
80
+ private processChunk;
81
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Worker = exports.Report = void 0;
8
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _chunk = _interopRequireDefault(require("lodash/chunk"));
14
+ var _mobx = require("mobx");
15
+ /**
16
+ * Class for collecting processing results
17
+ */
18
+ var Report = /*#__PURE__*/function () {
19
+ function Report() {
20
+ (0, _classCallCheck2.default)(this, Report);
21
+ (0, _defineProperty2.default)(this, "_results", []);
22
+ }
23
+ (0, _createClass2.default)(Report, [{
24
+ key: "success",
25
+ value:
26
+ /**
27
+ * Record a successful result in the report
28
+ * @param {Omit<Result, "status">} result - The successful result to be recorded
29
+ */
30
+ function success(result) {
31
+ this.addResult((0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
32
+ status: "success"
33
+ }));
34
+ }
35
+
36
+ /**
37
+ * Record an error result in the report.
38
+ * @param {Omit<Result, "status">} result - The error result to be recorded.
39
+ */
40
+ }, {
41
+ key: "error",
42
+ value: function error(result) {
43
+ this.addResult((0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
44
+ status: "failure"
45
+ }));
46
+ }
47
+
48
+ /**
49
+ * Get the array of recorded results.
50
+ * @returns {Result[]} - An array of recorded results.
51
+ */
52
+ }, {
53
+ key: "results",
54
+ get: function get() {
55
+ return this._results;
56
+ }
57
+
58
+ /**
59
+ * Internal method to add a result to the report.
60
+ * @private
61
+ * @param {Result} result - The result to be added to the report.
62
+ */
63
+ }, {
64
+ key: "addResult",
65
+ value: function addResult(result) {
66
+ this._results.push(result);
67
+ }
68
+ }]);
69
+ return Report;
70
+ }();
71
+ /**
72
+ * A generic worker class for processing items.
73
+ * @template T - The type of items being processed.
74
+ */
75
+ exports.Report = Report;
76
+ var Worker = /*#__PURE__*/function () {
77
+ function Worker() {
78
+ (0, _classCallCheck2.default)(this, Worker);
79
+ this._items = [];
80
+ this._report = new Report();
81
+ (0, _mobx.makeAutoObservable)(this);
82
+ }
83
+
84
+ /**
85
+ * Process the items using the provided callback function.
86
+ * @param callback - The callback function to process the items.
87
+ */
88
+ (0, _createClass2.default)(Worker, [{
89
+ key: "process",
90
+ value: function process(callback) {
91
+ callback(this._items);
92
+ }
93
+
94
+ /**
95
+ * Process the items in series with the given chunk size.
96
+ * @param callback - The callback function to process each item.
97
+ * @param {number} [chunkSize=10] - The size of each chunk for processing in series.
98
+ * @returns {Promise<void>}
99
+ */
100
+ }, {
101
+ key: "processInSeries",
102
+ value: async function processInSeries(callback) {
103
+ var _this = this;
104
+ var chunkSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
105
+ var chunks = (0, _chunk.default)(this._items, chunkSize);
106
+ var promises = chunks.map(function (chunk) {
107
+ return _this.processChunk(callback, chunk);
108
+ });
109
+ await Promise.all(promises);
110
+ }
111
+
112
+ /**
113
+ * Get the array of results collected by the worker.
114
+ * @returns {Result[]} - An array of collected results.
115
+ */
116
+ }, {
117
+ key: "results",
118
+ get: function get() {
119
+ return this._report.results;
120
+ }
121
+
122
+ /**
123
+ * Get the current items in the worker.
124
+ * @returns {T[]} - An array of items in the worker.
125
+ */
126
+ }, {
127
+ key: "items",
128
+ get: function get() {
129
+ return this._items;
130
+ }
131
+
132
+ /**
133
+ * Set the items in the worker.
134
+ * @param {T[]} items - The items to be set in the worker.
135
+ */,
136
+ set: function set(items) {
137
+ this._items = items;
138
+ }
139
+
140
+ /**
141
+ * Internal method to process a chunk of items using the provided callback.
142
+ * @private
143
+ * @param callback - The callback function to process each item.
144
+ * @param {T[]} chunk - The chunk of items to be processed.
145
+ * @returns {Promise<void>}
146
+ */
147
+ }, {
148
+ key: "processChunk",
149
+ value: async function processChunk(callback, chunk) {
150
+ var _iterator = (0, _createForOfIteratorHelper2.default)(chunk),
151
+ _step;
152
+ try {
153
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
154
+ var item = _step.value;
155
+ await callback({
156
+ item: item,
157
+ allItems: this._items,
158
+ report: this._report
159
+ });
160
+ }
161
+ } catch (err) {
162
+ _iterator.e(err);
163
+ } finally {
164
+ _iterator.f();
165
+ }
166
+ }
167
+ }]);
168
+ return Worker;
169
+ }();
170
+ exports.Worker = Worker;
171
+
172
+ //# sourceMappingURL=Worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chunk","_interopRequireDefault","require","_mobx","Report","_classCallCheck2","default","_defineProperty2","_createClass2","key","value","success","result","addResult","_objectSpread2","status","error","get","_results","push","exports","Worker","_items","_report","makeAutoObservable","process","callback","processInSeries","_this","chunkSize","arguments","length","undefined","chunks","chunk","promises","map","processChunk","Promise","all","results","set","items","_iterator","_createForOfIteratorHelper2","_step","s","n","done","item","allItems","report","err","e","f"],"sources":["Worker.ts"],"sourcesContent":["import chunk from \"lodash/chunk\";\nimport { makeAutoObservable } from \"mobx\";\n\nexport interface CallbackParams<T> {\n item: T;\n allItems: T[];\n report: Report;\n}\n\nexport interface Result {\n title: string;\n status: \"success\" | \"failure\";\n message?: string;\n}\n\n/**\n * Class for collecting processing results\n */\nexport class Report {\n private _results: Result[] = [];\n\n /**\n * Record a successful result in the report\n * @param {Omit<Result, \"status\">} result - The successful result to be recorded\n */\n public success(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"success\"\n });\n }\n\n /**\n * Record an error result in the report.\n * @param {Omit<Result, \"status\">} result - The error result to be recorded.\n */\n public error(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"failure\"\n });\n }\n\n /**\n * Get the array of recorded results.\n * @returns {Result[]} - An array of recorded results.\n */\n get results(): Result[] {\n return this._results;\n }\n\n /**\n * Internal method to add a result to the report.\n * @private\n * @param {Result} result - The result to be added to the report.\n */\n private addResult(result: Result): void {\n this._results.push(result);\n }\n}\n\n/**\n * A generic worker class for processing items.\n * @template T - The type of items being processed.\n */\nexport class Worker<T> {\n private _items: T[];\n private _report: Report;\n\n constructor() {\n this._items = [];\n this._report = new Report();\n makeAutoObservable(this);\n }\n\n /**\n * Process the items using the provided callback function.\n * @param callback - The callback function to process the items.\n */\n public process(callback: (items: T[]) => void): void {\n callback(this._items);\n }\n\n /**\n * Process the items in series with the given chunk size.\n * @param callback - The callback function to process each item.\n * @param {number} [chunkSize=10] - The size of each chunk for processing in series.\n * @returns {Promise<void>}\n */\n public async processInSeries(\n callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>,\n chunkSize = 10\n ): Promise<void> {\n const chunks = chunk(this._items, chunkSize);\n const promises = chunks.map(chunk => this.processChunk(callback, chunk));\n await Promise.all(promises);\n }\n\n /**\n * Get the array of results collected by the worker.\n * @returns {Result[]} - An array of collected results.\n */\n get results(): Result[] {\n return this._report.results;\n }\n\n /**\n * Get the current items in the worker.\n * @returns {T[]} - An array of items in the worker.\n */\n get items(): T[] {\n return this._items;\n }\n\n /**\n * Set the items in the worker.\n * @param {T[]} items - The items to be set in the worker.\n */\n set items(items: T[]) {\n this._items = items;\n }\n\n /**\n * Internal method to process a chunk of items using the provided callback.\n * @private\n * @param callback - The callback function to process each item.\n * @param {T[]} chunk - The chunk of items to be processed.\n * @returns {Promise<void>}\n */\n private async processChunk(\n callback: ({ item, allItems, report }: CallbackParams<T>) => void | Promise<void>,\n chunk: T[]\n ): Promise<void> {\n for (const item of chunk) {\n await callback({ item, allItems: this._items, report: this._report });\n }\n }\n}\n"],"mappings":"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"}