@webiny/app-admin 0.0.0-unstable.611c5af35e → 0.0.0-unstable.615a930a68

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 (273) hide show
  1. package/base/Admin.js +15 -1
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +23 -4
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +8 -0
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.js +5 -0
  8. package/base/providers/ApolloProvider.js.map +1 -1
  9. package/base/providers/TelemetryProvider.js +7 -1
  10. package/base/providers/TelemetryProvider.js.map +1 -1
  11. package/base/providers/UiStateProvider.js +5 -0
  12. package/base/providers/UiStateProvider.js.map +1 -1
  13. package/base/providers/ViewCompositionProvider.js +16 -3
  14. package/base/providers/ViewCompositionProvider.js.map +1 -1
  15. package/base/ui/Brand.js +4 -0
  16. package/base/ui/Brand.js.map +1 -1
  17. package/base/ui/CenteredView.js +7 -2
  18. package/base/ui/CenteredView.js.map +1 -1
  19. package/base/ui/Dashboard.js +4 -0
  20. package/base/ui/Dashboard.js.map +1 -1
  21. package/base/ui/Layout.js +6 -1
  22. package/base/ui/Layout.js.map +1 -1
  23. package/base/ui/LocaleSelector.js +4 -0
  24. package/base/ui/LocaleSelector.js.map +1 -1
  25. package/base/ui/LoginScreen.js +6 -0
  26. package/base/ui/LoginScreen.js.map +1 -1
  27. package/base/ui/Logo.js +6 -0
  28. package/base/ui/Logo.js.map +1 -1
  29. package/base/ui/Menu.js +31 -2
  30. package/base/ui/Menu.js.map +1 -1
  31. package/base/ui/Navigation.js +44 -11
  32. package/base/ui/Navigation.js.map +1 -1
  33. package/base/ui/NotFound.js +4 -0
  34. package/base/ui/NotFound.js.map +1 -1
  35. package/base/ui/Search.js +23 -5
  36. package/base/ui/Search.js.map +1 -1
  37. package/base/ui/Tags.js +8 -1
  38. package/base/ui/Tags.js.map +1 -1
  39. package/base/ui/UserMenu.js +29 -5
  40. package/base/ui/UserMenu.js.map +1 -1
  41. package/components/AdminLayout.js +6 -1
  42. package/components/AdminLayout.js.map +1 -1
  43. package/components/AppInstaller/AppInstaller.js +52 -18
  44. package/components/AppInstaller/AppInstaller.js.map +1 -1
  45. package/components/AppInstaller/Sidebar.js +32 -9
  46. package/components/AppInstaller/Sidebar.js.map +1 -1
  47. package/components/AppInstaller/index.js +7 -0
  48. package/components/AppInstaller/index.js.map +1 -1
  49. package/components/AppInstaller/styled.js +4 -0
  50. package/components/AppInstaller/styled.js.map +1 -1
  51. package/components/AppInstaller/useInstaller.js +69 -17
  52. package/components/AppInstaller/useInstaller.js.map +1 -1
  53. package/components/EmptyView.js +11 -3
  54. package/components/EmptyView.js.map +1 -1
  55. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +14 -0
  56. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  57. package/components/FileManager/BottomInfoBar/UploadStatus.js +9 -0
  58. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  59. package/components/FileManager/BottomInfoBar.js +12 -0
  60. package/components/FileManager/BottomInfoBar.js.map +1 -1
  61. package/components/FileManager/DropFilesHere.js +12 -3
  62. package/components/FileManager/DropFilesHere.js.map +1 -1
  63. package/components/FileManager/File.js +18 -5
  64. package/components/FileManager/File.js.map +1 -1
  65. package/components/FileManager/FileDetails/Name.js +32 -4
  66. package/components/FileManager/FileDetails/Name.js.map +1 -1
  67. package/components/FileManager/FileDetails/Tags.js +77 -26
  68. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  69. package/components/FileManager/FileDetails.js +146 -81
  70. package/components/FileManager/FileDetails.js.map +1 -1
  71. package/components/FileManager/FileManagerContext.js +45 -12
  72. package/components/FileManager/FileManagerContext.js.map +1 -1
  73. package/components/FileManager/FileManagerView.js +152 -45
  74. package/components/FileManager/FileManagerView.js.map +1 -1
  75. package/components/FileManager/LeftSidebar.js +29 -10
  76. package/components/FileManager/LeftSidebar.js.map +1 -1
  77. package/components/FileManager/NoPermissionView.js +13 -0
  78. package/components/FileManager/NoPermissionView.js.map +1 -1
  79. package/components/FileManager/NoResults.js +6 -0
  80. package/components/FileManager/NoResults.js.map +1 -1
  81. package/components/FileManager/getFileTypePlugin.js +15 -9
  82. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  83. package/components/FileManager/getFileUploader.js +5 -0
  84. package/components/FileManager/getFileUploader.js.map +1 -1
  85. package/components/FileManager/graphql.js +14 -3
  86. package/components/FileManager/graphql.js.map +1 -1
  87. package/components/FileManager/outputFileSelectionError.js +14 -0
  88. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  89. package/components/FileManager.js +43 -17
  90. package/components/FileManager.js.map +1 -1
  91. package/components/FloatingActionButton.js +6 -0
  92. package/components/FloatingActionButton.js.map +1 -1
  93. package/components/MultiImageUpload.js +10 -1
  94. package/components/MultiImageUpload.js.map +1 -1
  95. package/components/OverlayLayout/OverlayLayout.js +36 -7
  96. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  97. package/components/OverlayLayout/index.js +2 -0
  98. package/components/OverlayLayout/index.js.map +1 -1
  99. package/components/Permissions/Permissions.js +27 -16
  100. package/components/Permissions/Permissions.js.map +1 -1
  101. package/components/Permissions/StyledComponents.js +7 -0
  102. package/components/Permissions/StyledComponents.js.map +1 -1
  103. package/components/Permissions/index.js +3 -0
  104. package/components/Permissions/index.js.map +1 -1
  105. package/components/RichTextEditor/RichTextEditor.js +7 -0
  106. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  107. package/components/RichTextEditor/index.js +2 -0
  108. package/components/RichTextEditor/index.js.map +1 -1
  109. package/components/RichTextEditor/tools/header/index.js +102 -62
  110. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  111. package/components/RichTextEditor/tools/image/index.js +36 -15
  112. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  113. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  114. package/components/RichTextEditor/tools/image/tunes.js +22 -5
  115. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  116. package/components/RichTextEditor/tools/image/ui.js +39 -16
  117. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  118. package/components/RichTextEditor/tools/paragraph/index.js +81 -55
  119. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  120. package/components/RichTextEditor/tools/textColor/index.js +41 -15
  121. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  122. package/components/RichTextEditor/tools/utils.js +2 -0
  123. package/components/RichTextEditor/tools/utils.js.map +1 -1
  124. package/components/Routes.js +13 -6
  125. package/components/Routes.js.map +1 -1
  126. package/components/SearchUI.js +11 -3
  127. package/components/SearchUI.js.map +1 -1
  128. package/components/SimpleForm/SimpleForm.js +20 -0
  129. package/components/SimpleForm/SimpleForm.js.map +1 -1
  130. package/components/SimpleForm/index.js +1 -0
  131. package/components/SimpleForm/index.js.map +1 -1
  132. package/components/SimpleUI/InputField.js +29 -13
  133. package/components/SimpleUI/InputField.js.map +1 -1
  134. package/components/SingleImageUpload.js +28 -12
  135. package/components/SingleImageUpload.js.map +1 -1
  136. package/components/SplitView/SplitView.js +20 -0
  137. package/components/SplitView/SplitView.js.map +1 -1
  138. package/components/SplitView/index.js +1 -0
  139. package/components/SplitView/index.js.map +1 -1
  140. package/components/index.js +1 -0
  141. package/components/index.js.map +1 -1
  142. package/hooks/useConfirmationDialog.js +14 -2
  143. package/hooks/useConfirmationDialog.js.map +1 -1
  144. package/hooks/useDialog.js +5 -0
  145. package/hooks/useDialog.js.map +1 -1
  146. package/hooks/useSnackbar.js +5 -0
  147. package/hooks/useSnackbar.js.map +1 -1
  148. package/index.js +48 -0
  149. package/index.js.map +1 -1
  150. package/package.json +19 -19
  151. package/plugins/FileManagerFileTypePlugin.js +15 -0
  152. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  153. package/plugins/MenuPlugin.js +15 -0
  154. package/plugins/MenuPlugin.js.map +1 -1
  155. package/plugins/PermissionRendererPlugin.js +15 -0
  156. package/plugins/PermissionRendererPlugin.js.map +1 -1
  157. package/plugins/fileManager/fileDefault.js +6 -0
  158. package/plugins/fileManager/fileDefault.js.map +1 -1
  159. package/plugins/fileManager/fileImage/DeleteAction.js +29 -7
  160. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  161. package/plugins/fileManager/fileImage/EditAction.js +43 -9
  162. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  163. package/plugins/fileManager/fileImage/index.js +8 -0
  164. package/plugins/fileManager/fileImage/index.js.map +1 -1
  165. package/plugins/fileManager/index.js +2 -0
  166. package/plugins/fileManager/index.js.map +1 -1
  167. package/plugins/globalSearch/SearchBar.js +51 -3
  168. package/plugins/globalSearch/SearchBar.js.map +1 -1
  169. package/plugins/globalSearch/SearchBarDropdown.js +31 -13
  170. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  171. package/plugins/globalSearch/index.js.map +1 -1
  172. package/plugins/globalSearch/styled.js +5 -1
  173. package/plugins/globalSearch/styled.js.map +1 -1
  174. package/plugins/uiLayoutRenderer/index.js +16 -2
  175. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  176. package/ui/UIElement.js +1 -0
  177. package/ui/UIElement.js.map +1 -1
  178. package/ui/UILayout.js +1 -0
  179. package/ui/UILayout.js.map +1 -1
  180. package/ui/UIRenderer.js +1 -0
  181. package/ui/UIRenderer.js.map +1 -1
  182. package/ui/UIView.js +1 -0
  183. package/ui/UIView.js.map +1 -1
  184. package/ui/elements/AccordionElement.js +28 -2
  185. package/ui/elements/AccordionElement.js.map +1 -1
  186. package/ui/elements/ButtonElement.js +19 -0
  187. package/ui/elements/ButtonElement.js.map +1 -1
  188. package/ui/elements/ButtonGroupElement.js +19 -0
  189. package/ui/elements/ButtonGroupElement.js.map +1 -1
  190. package/ui/elements/GenericElement.js +2 -0
  191. package/ui/elements/GenericElement.js.map +1 -1
  192. package/ui/elements/LabelElement.js +14 -0
  193. package/ui/elements/LabelElement.js.map +1 -1
  194. package/ui/elements/NavigationMenuElement.js +36 -3
  195. package/ui/elements/NavigationMenuElement.js.map +1 -1
  196. package/ui/elements/PanelElement.js +11 -0
  197. package/ui/elements/PanelElement.js.map +1 -1
  198. package/ui/elements/PlaceholderElement.js +11 -0
  199. package/ui/elements/PlaceholderElement.js.map +1 -1
  200. package/ui/elements/SmallButtonElement.js +19 -0
  201. package/ui/elements/SmallButtonElement.js.map +1 -1
  202. package/ui/elements/TypographyElement.js +19 -0
  203. package/ui/elements/TypographyElement.js.map +1 -1
  204. package/ui/elements/ViewElement.js +2 -0
  205. package/ui/elements/ViewElement.js.map +1 -1
  206. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +16 -0
  207. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  208. package/ui/elements/form/DynamicFieldsetElement.js +34 -11
  209. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  210. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +15 -0
  211. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  212. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +22 -0
  213. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  214. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +36 -7
  215. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  216. package/ui/elements/form/FileManagerElement/styled.js +5 -0
  217. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  218. package/ui/elements/form/FileManagerElement.js +20 -0
  219. package/ui/elements/form/FileManagerElement.js.map +1 -1
  220. package/ui/elements/form/FormElement.js +21 -0
  221. package/ui/elements/form/FormElement.js.map +1 -1
  222. package/ui/elements/form/FormFieldElement.js +33 -0
  223. package/ui/elements/form/FormFieldElement.js.map +1 -1
  224. package/ui/elements/form/HiddenElement.js +17 -0
  225. package/ui/elements/form/HiddenElement.js.map +1 -1
  226. package/ui/elements/form/InputElement.js +18 -0
  227. package/ui/elements/form/InputElement.js.map +1 -1
  228. package/ui/elements/form/PasswordElement.js +15 -0
  229. package/ui/elements/form/PasswordElement.js.map +1 -1
  230. package/ui/elements/form/SelectElement.js +19 -1
  231. package/ui/elements/form/SelectElement.js.map +1 -1
  232. package/ui/elements/form/TextareaElement.js +17 -0
  233. package/ui/elements/form/TextareaElement.js.map +1 -1
  234. package/ui/views/AdminView/ContentElement.js +25 -1
  235. package/ui/views/AdminView/ContentElement.js.map +1 -1
  236. package/ui/views/AdminView/HeaderElement.js +40 -0
  237. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  238. package/ui/views/AdminView/HeaderSectionCenterElement.js +20 -0
  239. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  240. package/ui/views/AdminView/HeaderSectionLeftElement.js +20 -0
  241. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  242. package/ui/views/AdminView/HeaderSectionRightElement.js +20 -0
  243. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  244. package/ui/views/AdminView/components/Dialog.js +21 -10
  245. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  246. package/ui/views/AdminView/components/Hamburger.js +8 -0
  247. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  248. package/ui/views/AdminView/components/Snackbar.js +9 -0
  249. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  250. package/ui/views/FormView/FormContainerElement.js +21 -0
  251. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  252. package/ui/views/FormView/FormContentElement.js +11 -0
  253. package/ui/views/FormView/FormContentElement.js.map +1 -1
  254. package/ui/views/FormView/FormFooterElement.js +19 -0
  255. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  256. package/ui/views/FormView/FormHeaderElement.js +24 -2
  257. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  258. package/ui/views/FormView.js +41 -0
  259. package/ui/views/FormView.js.map +1 -1
  260. package/ui/views/OverlayView/ContentElement.js +19 -0
  261. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  262. package/ui/views/OverlayView/HeaderElement.js +25 -3
  263. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  264. package/ui/views/OverlayView/HeaderTitleElement.js +22 -0
  265. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  266. package/ui/views/OverlayView/useOverlayView.js +13 -3
  267. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  268. package/ui/views/OverlayView.js +37 -3
  269. package/ui/views/OverlayView.js.map +1 -1
  270. package/ui/views/SplitView/SplitViewPanelElement.js +22 -2
  271. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  272. package/ui/views/SplitView.js +40 -0
  273. package/ui/views/SplitView.js.map +1 -1
@@ -1,37 +1,51 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.UserMenuRenderer = exports.UserMenuProvider = exports.UserMenuItems = exports.UserMenuItemRenderer = exports.UserMenuItem = exports.UserMenuHandleRenderer = exports.UserMenuHandle = exports.UserMenu = exports.AddUserMenuItem = void 0;
9
11
  exports.useUserMenu = useUserMenu;
10
12
  exports.useUserMenuItem = useUserMenuItem;
13
+
11
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
12
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
13
18
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
14
20
  var _react = _interopRequireWildcard(require("react"));
21
+
15
22
  var _appAdminCore = require("@webiny/app-admin-core");
23
+
16
24
  var _excluded = ["children"];
25
+
17
26
  var UserMenuContext = /*#__PURE__*/_react.default.createContext({
18
27
  addMenuItem: function addMenuItem() {
19
28
  return void 0;
20
29
  },
21
30
  menuItems: []
22
31
  });
32
+
23
33
  UserMenuContext.displayName = "UserMenuContext";
34
+
24
35
  function useUserMenu() {
25
36
  return _react.default.useContext(UserMenuContext);
26
37
  }
38
+
27
39
  var UserMenuProvider = function UserMenuProvider(Component) {
28
40
  return function UserMenuProvider(_ref) {
29
41
  var children = _ref.children,
30
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
42
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
+
31
44
  var _useState = (0, _react.useState)([]),
32
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
- menuItems = _useState2[0],
34
- setItems = _useState2[1];
45
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
46
+ menuItems = _useState2[0],
47
+ setItems = _useState2[1];
48
+
35
49
  var addMenuItem = (0, _react.useCallback)(function (item) {
36
50
  setItems(function (items) {
37
51
  return [].concat((0, _toConsumableArray2.default)(items), [item]);
@@ -41,9 +55,11 @@ var UserMenuProvider = function UserMenuProvider(Component) {
41
55
  var index = items.findIndex(function (i) {
42
56
  return i === item;
43
57
  });
58
+
44
59
  if (index < 0) {
45
60
  return items;
46
61
  }
62
+
47
63
  return [].concat((0, _toConsumableArray2.default)(items.slice(0, index)), (0, _toConsumableArray2.default)(items.slice(index + 1)));
48
64
  });
49
65
  };
@@ -57,6 +73,7 @@ var UserMenuProvider = function UserMenuProvider(Component) {
57
73
  }, /*#__PURE__*/_react.default.createElement(Component, props, children));
58
74
  };
59
75
  };
76
+
60
77
  exports.UserMenuProvider = UserMenuProvider;
61
78
  var UserMenu = (0, _appAdminCore.makeComposable)("UserMenu", function () {
62
79
  return /*#__PURE__*/_react.default.createElement(UserMenuRenderer, null);
@@ -79,15 +96,19 @@ var UserMenuItem = (0, _appAdminCore.makeComposable)("UserMenuItem", function (_
79
96
  exports.UserMenuItem = UserMenuItem;
80
97
  var UserMenuItemRenderer = (0, _appAdminCore.makeComposable)("UserMenuItemRenderer");
81
98
  exports.UserMenuItemRenderer = UserMenuItemRenderer;
99
+
82
100
  var AddUserMenuItem = function AddUserMenuItem(props) {
83
101
  var _useUserMenu = useUserMenu(),
84
- addMenuItem = _useUserMenu.addMenuItem;
102
+ addMenuItem = _useUserMenu.addMenuItem;
103
+
85
104
  (0, _react.useEffect)(function () {
86
105
  return addMenuItem(props);
87
106
  }, []);
88
107
  return null;
89
108
  };
109
+
90
110
  exports.AddUserMenuItem = AddUserMenuItem;
111
+
91
112
  var UserMenuItemContext = /*#__PURE__*/_react.default.createContext({
92
113
  element: undefined,
93
114
  icon: undefined,
@@ -97,10 +118,13 @@ var UserMenuItemContext = /*#__PURE__*/_react.default.createContext({
97
118
  },
98
119
  path: undefined
99
120
  });
121
+
100
122
  UserMenuItemContext.displayName = "UserMenuItemContext";
123
+
101
124
  function useUserMenuItem() {
102
125
  return _react.default.useContext(UserMenuItemContext);
103
126
  }
127
+
104
128
  var UserMenuItems = (0, _appAdminCore.makeComposable)("UserMenuItems", function (_ref3) {
105
129
  var menuItems = _ref3.menuItems;
106
130
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menuItems.map(function (item, index) {
@@ -1 +1 @@
1
- {"version":3,"names":["UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","useState","setItems","useCallback","item","items","index","findIndex","i","slice","context","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","useEffect","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","useState","setItems","useCallback","item","items","index","findIndex","i","slice","context","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","useEffect","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":"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"}
@@ -1,17 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AdminLayout = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _ = require("./..");
13
+
10
14
  var AdminLayout = function AdminLayout(_ref) {
11
15
  var title = _ref.title,
12
- children = _ref.children;
16
+ children = _ref.children;
13
17
  return /*#__PURE__*/_react.default.createElement(_.Layout, {
14
18
  title: title
15
19
  }, children);
16
20
  };
21
+
17
22
  exports.AdminLayout = AdminLayout;
@@ -1 +1 @@
1
- {"version":3,"names":["AdminLayout","title","children"],"sources":["AdminLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { Layout } from \"~/index\";\n\ninterface AdminLayoutProps {\n title?: string;\n}\n\nexport const AdminLayout: React.FC<AdminLayoutProps> = ({ title, children }) => {\n return <Layout title={title}>{children}</Layout>;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAMO,IAAMA,WAAuC,GAAG,SAA1CA,WAAuC,OAA4B;EAAA,IAAtBC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;EACrE,oBAAO,6BAAC,QAAM;IAAC,KAAK,EAAED;EAAM,GAAEC,QAAQ,CAAU;AACpD,CAAC;AAAC"}
1
+ {"version":3,"names":["AdminLayout","title","children"],"sources":["AdminLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { Layout } from \"~/index\";\n\ninterface AdminLayoutProps {\n title?: string;\n}\n\nexport const AdminLayout: React.FC<AdminLayoutProps> = ({ title, children }) => {\n return <Layout title={title}>{children}</Layout>;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAMO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAAyB;EAAA,IAAtBC,KAAsB,QAAtBA,KAAsB;EAAA,IAAfC,QAAe,QAAfA,QAAe;EAC5E,oBAAO,6BAAC,QAAD;IAAQ,KAAK,EAAED;EAAf,GAAuBC,QAAvB,CAAP;AACH,CAFM"}
@@ -1,69 +1,98 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.AppInstaller = void 0;
11
+
9
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
10
14
  var _react = _interopRequireWildcard(require("react"));
15
+
11
16
  var _store = _interopRequireDefault(require("store"));
17
+
12
18
  var _ = require("../..");
19
+
13
20
  var _appSecurity = require("@webiny/app-security");
21
+
14
22
  var _Progress = require("@webiny/ui/Progress");
23
+
15
24
  var _Button = require("@webiny/ui/Button");
25
+
16
26
  var _SplitView = require("../SplitView");
27
+
17
28
  var _Grid = require("@webiny/ui/Grid");
29
+
18
30
  var _Typography = require("@webiny/ui/Typography");
31
+
19
32
  var _Elevation = require("@webiny/ui/Elevation");
33
+
20
34
  var _useInstaller2 = require("./useInstaller");
35
+
21
36
  var _Sidebar = _interopRequireDefault(require("./Sidebar"));
37
+
22
38
  var _styled = require("./styled");
39
+
23
40
  var _config = require("@webiny/app/config");
41
+
24
42
  var AppInstaller = function AppInstaller(_ref) {
25
43
  var children = _ref.children;
26
44
  var tenantId = _store.default.get("webiny_tenant") || "root";
27
45
  var lsKey = "webiny_installation_".concat(tenantId);
46
+
28
47
  var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
48
+
29
49
  var isRootTenant = tenantId === "root";
30
50
  /*
31
51
  * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress
32
52
  * (Cypress doesn't work with cross domains because of security-related implications).
33
53
  * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content
34
54
  */
55
+
35
56
  var isCypressTest = window && window.Cypress;
57
+
36
58
  var markInstallerAsCompleted = function markInstallerAsCompleted() {
37
59
  _store.default.set(lsKey, wbyVersion);
38
60
  };
61
+
39
62
  var isInstallerCompleted = function isInstallerCompleted() {
40
63
  return _store.default.get(lsKey) === wbyVersion;
41
64
  };
65
+
42
66
  var _useState = (0, _react.useState)(false),
43
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
- finished = _useState2[0],
45
- setFinished = _useState2[1];
67
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
68
+ finished = _useState2[0],
69
+ setFinished = _useState2[1];
70
+
46
71
  var _useSecurity = (0, _appSecurity.useSecurity)(),
47
- identity = _useSecurity.identity;
72
+ identity = _useSecurity.identity;
73
+
48
74
  var _useInstaller = (0, _useInstaller2.useInstaller)({
49
- isInstalled: isInstallerCompleted()
50
- }),
51
- loading = _useInstaller.loading,
52
- installers = _useInstaller.installers,
53
- installer = _useInstaller.installer,
54
- isFirstInstall = _useInstaller.isFirstInstall,
55
- showNextInstaller = _useInstaller.showNextInstaller,
56
- showLogin = _useInstaller.showLogin,
57
- onUser = _useInstaller.onUser,
58
- skippingVersions = _useInstaller.skippingVersions;
75
+ isInstalled: isInstallerCompleted()
76
+ }),
77
+ loading = _useInstaller.loading,
78
+ installers = _useInstaller.installers,
79
+ installer = _useInstaller.installer,
80
+ isFirstInstall = _useInstaller.isFirstInstall,
81
+ showNextInstaller = _useInstaller.showNextInstaller,
82
+ showLogin = _useInstaller.showLogin,
83
+ onUser = _useInstaller.onUser,
84
+ skippingVersions = _useInstaller.skippingVersions;
85
+
59
86
  (0, _react.useEffect)(function () {
60
87
  if (identity) {
61
88
  onUser();
62
89
  }
63
90
  }, [identity]);
91
+
64
92
  if (isInstallerCompleted()) {
65
93
  return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
66
94
  }
95
+
67
96
  var renderLayout = function renderLayout(content) {
68
97
  var secure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
69
98
  return /*#__PURE__*/_react.default.createElement(_SplitView.SplitView, {
@@ -78,27 +107,30 @@ var AppInstaller = function AppInstaller(_ref) {
78
107
  span: 10
79
108
  }, !showLogin && !secure && content, (showLogin || secure) && /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, content)));
80
109
  };
110
+
81
111
  var renderBody = function renderBody(content) {
82
112
  return /*#__PURE__*/_react.default.createElement(_styled.Wrapper, null, /*#__PURE__*/_react.default.createElement(_styled.InstallContent, null, /*#__PURE__*/_react.default.createElement(_styled.InnerContent, null, content)));
83
- };
113
+ }; // Loading installers data
114
+
84
115
 
85
- // Loading installers data
86
116
  if (loading) {
87
117
  return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
88
118
  label: "Checking apps..."
89
119
  });
90
- }
120
+ } // This means there are no installers to run or installation was finished
121
+
91
122
 
92
- // This means there are no installers to run or installation was finished
93
123
  if (!loading && (installers.length === 0 || finished)) {
94
124
  markInstallerAsCompleted();
95
125
  return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
96
126
  }
127
+
97
128
  if (installer) {
98
129
  return renderLayout(renderBody(installer.render({
99
130
  onInstalled: showNextInstaller
100
131
  })), installer.secure);
101
132
  }
133
+
102
134
  if (skippingVersions) {
103
135
  return renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
104
136
  z: 1,
@@ -128,6 +160,7 @@ var AppInstaller = function AppInstaller(_ref) {
128
160
  rel: "noreferrer noopener"
129
161
  }, "Slack community."))))));
130
162
  }
163
+
131
164
  return renderLayout(renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
132
165
  z: 1
133
166
  }, /*#__PURE__*/_react.default.createElement(_styled.SuccessDialog, null, /*#__PURE__*/_react.default.createElement("p", null, "You have successfully installed all new applications!"), !isCypressTest && isRootTenant && isFirstInstall ? /*#__PURE__*/_react.default.createElement("iframe", {
@@ -146,4 +179,5 @@ var AppInstaller = function AppInstaller(_ref) {
146
179
  }
147
180
  }, isFirstInstall ? "Finish install" : "Finish upgrade")))), true);
148
181
  };
182
+
149
183
  exports.AppInstaller = AppInstaller;
@@ -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","skippingVersions","useEffect","renderLayout","content","secure","installerSplitView","renderBody","length","render","onInstalled","alertClass","latest","current","availableUpgrades","filter","v","map","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 { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\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 {\n Wrapper,\n alertClass,\n InnerContent,\n InstallContent,\n installerSplitView,\n SuccessDialog\n} 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 {\n loading,\n installers,\n installer,\n isFirstInstall,\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\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 if (skippingVersions) {\n return renderBody(\n <Elevation z={1} className={alertClass}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline4\"}>Important!</Typography>\n </Cell>\n <Cell span={12}>\n <Typography use={\"body1\"} tag={\"div\"}>\n We&apos;ve detected that your current application is running Webiny{\" \"}\n <strong>v{skippingVersions.latest}</strong>. However, your API is\n running <strong>v{skippingVersions.current}</strong>. Unfortunately, we\n can&apos;t upgrade your system by skipping versions in between.\n <br />\n <br />\n Here&apos;s a list of versions you skipped, that contain upgrades you\n need to install:\n <ul>\n {skippingVersions.availableUpgrades\n .filter(v => v !== skippingVersions.latest)\n .map(v => (\n <li key={v}>v{v}</li>\n ))}\n </ul>\n For instructions on how to upgrade Webiny, please consult our{\" \"}\n <a\n href={\"https://docs.webiny.com/docs/how-to-guides/upgrade-webiny\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Upgrade Webiny\n </a>{\" \"}\n guide. Note that some versions may have a dedicated article with upgrade\n instructions, so look out for those in the upgrade guide.\n <br />\n <br />\n If you run into problems, find us on our{\" \"}\n <a\n href={\"https://www.webiny.com/slack\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Slack community.\n </a>\n </Typography>\n </Cell>\n </Grid>\n </Elevation>\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 {isFirstInstall ? \"Finish install\" : \"Finish upgrade\"}\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AAQA;AAEO,IAAMA,YAAsB,GAAG,SAAzBA,YAAsB,OAAqB;EAAA,IAAfC,QAAQ,QAARA,QAAQ;EAC7C,IAAMC,QAAQ,GAAGC,cAAY,CAACC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM;EAC5D,IAAMC,KAAK,iCAA0BH,QAAQ,CAAE;EAC/C,IAAMI,UAAU,GAAGC,cAAS,CAACC,MAAM,CAAC,gBAAgB,EAAEC,OAAO,CAACC,GAAG,CAACC,wBAAwB,CAAC;EAC3F,IAAMC,YAAY,GAAGV,QAAQ,KAAK,MAAM;EACxC;AACJ;AACA;AACA;AACA;EACI,IAAMW,aAAa,GAAGC,MAAM,IAAIA,MAAM,CAACC,OAAO;EAE9C,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwB,GAAS;IACnCb,cAAY,CAACc,GAAG,CAACZ,KAAK,EAAEC,UAAU,CAAC;EACvC,CAAC;EAED,IAAMY,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAS;IAC/B,OAAOf,cAAY,CAACC,GAAG,CAACC,KAAK,CAAC,KAAKC,UAAU;EACjD,CAAC;EAED,gBAAgC,IAAAa,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAxCC,QAAQ;IAAEC,WAAW;EAC5B,mBAAqB,IAAAC,wBAAW,GAAE;IAA1BC,QAAQ,gBAARA,QAAQ;EAChB,oBASI,IAAAC,2BAAY,EAAC;MAAEC,WAAW,EAAEP,oBAAoB;IAAG,CAAC,CAAC;IARrDQ,OAAO,iBAAPA,OAAO;IACPC,UAAU,iBAAVA,UAAU;IACVC,SAAS,iBAATA,SAAS;IACTC,cAAc,iBAAdA,cAAc;IACdC,iBAAiB,iBAAjBA,iBAAiB;IACjBC,SAAS,iBAATA,SAAS;IACTC,MAAM,iBAANA,MAAM;IACNC,gBAAgB,iBAAhBA,gBAAgB;EAGpB,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIX,QAAQ,EAAE;MACVS,MAAM,EAAE;IACZ;EACJ,CAAC,EAAE,CAACT,QAAQ,CAAC,CAAC;EAEd,IAAIL,oBAAoB,EAAE,EAAE;IACxB,oBAAO,6BAAC,aAAW,QAAEjB,QAAQ,CAAe;EAChD;EAEA,IAAMkC,YAAY,GAAG,SAAfA,YAAY,CAAIC,OAAwB,EAAyC;IAAA,IAAvCC,MAAM,uEAAG,KAAK;IAC1D,oBACI,6BAAC,oBAAS;MAAC,SAAS,EAAEC;IAAmB,gBACrC,6BAAC,oBAAS;MAAC,IAAI,EAAE;IAAE,gBACf,6BAAC,gBAAO;MACJ,aAAa,EAAEX,UAAW;MAC1B,SAAS,EAAEC,SAAU;MACrB,SAAS,EAAEG;IAAU,EACvB,CACM,eACZ,6BAAC,qBAAU;MAAC,IAAI,EAAE;IAAG,GAChB,CAACA,SAAS,IAAI,CAACM,MAAM,IAAID,OAAO,EAChC,CAACL,SAAS,IAAIM,MAAM,kBAAK,6BAAC,aAAW,QAAED,OAAO,CAAe,CACrD,CACL;EAEpB,CAAC;EAED,IAAMG,UAAU,GAAG,SAAbA,UAAU,CAAIH,OAAwB,EAAyB;IACjE,oBACI,6BAAC,eAAO,qBACJ,6BAAC,sBAAc,qBACX,6BAAC,oBAAY,QAAEA,OAAO,CAAgB,CACzB,CACX;EAElB,CAAC;;EAED;EACA,IAAIV,OAAO,EAAE;IACT,oBAAO,6BAAC,0BAAgB;MAAC,KAAK,EAAE;IAAmB,EAAG;EAC1D;;EAEA;EACA,IAAI,CAACA,OAAO,KAAKC,UAAU,CAACa,MAAM,KAAK,CAAC,IAAIpB,QAAQ,CAAC,EAAE;IACnDJ,wBAAwB,EAAE;IAC1B,oBAAO,6BAAC,aAAW,QAAEf,QAAQ,CAAe;EAChD;EAEA,IAAI2B,SAAS,EAAE;IACX,OAAOO,YAAY,CACfI,UAAU,CAACX,SAAS,CAACa,MAAM,CAAC;MAAEC,WAAW,EAAEZ;IAAkB,CAAC,CAAC,CAAC,EAChEF,SAAS,CAACS,MAAM,CACnB;EACL;EAEA,IAAIJ,gBAAgB,EAAE;IAClB,OAAOM,UAAU,eACb,6BAAC,oBAAS;MAAC,CAAC,EAAE,CAAE;MAAC,SAAS,EAAEI;IAAW,gBACnC,6BAAC,UAAI,qBACD,6BAAC,UAAI;MAAC,IAAI,EAAE;IAAG,gBACX,6BAAC,sBAAU;MAAC,GAAG,EAAE;IAAY,gBAAwB,CAClD,eACP,6BAAC,UAAI;MAAC,IAAI,EAAE;IAAG,gBACX,6BAAC,sBAAU;MAAC,GAAG,EAAE,OAAQ;MAAC,GAAG,EAAE;IAAM,qEACmC,GAAG,eACvE,kDAAUV,gBAAgB,CAACW,MAAM,CAAU,kDACnC,kDAAUX,gBAAgB,CAACY,OAAO,CAAU,iGAEpD,wCAAM,eACN,wCAAM,oGAGN,yCACKZ,gBAAgB,CAACa,iBAAiB,CAC9BC,MAAM,CAAC,UAAAC,CAAC;MAAA,OAAIA,CAAC,KAAKf,gBAAgB,CAACW,MAAM;IAAA,EAAC,CAC1CK,GAAG,CAAC,UAAAD,CAAC;MAAA,oBACF;QAAI,GAAG,EAAEA;MAAE,QAAGA,CAAC,CAAM;IAAA,CACxB,CAAC,CACL,mEACyD,GAAG,eACjE;MACI,IAAI,EAAE,2DAA4D;MAClE,MAAM,EAAE,QAAS;MACjB,GAAG,EAAE;IAAsB,oBAG3B,EAAC,GAAG,qJAGR,wCAAM,eACN,wCAAM,8CACmC,GAAG,eAC5C;MACI,IAAI,EAAE,8BAA+B;MACrC,MAAM,EAAE,QAAS;MACjB,GAAG,EAAE;IAAsB,sBAG3B,CACK,CACV,CACJ,CACC,CACf;EACL;EAEA,OAAOb,YAAY,CACfI,UAAU,eACN,6BAAC,oBAAS;IAAC,CAAC,EAAE;EAAE,gBACZ,6BAAC,qBAAa,qBACV,gGAA4D,EAC3D,CAAC1B,aAAa,IAAID,YAAY,IAAIiB,cAAc,gBAC7C;IACI,MAAM,EAAC,GAAG;IACV,KAAK,EAAC,GAAG;IACT,WAAW,EAAC,GAAG;IACf,KAAK,EAAE;MAAEqB,OAAO,EAAE;IAAI,CAAE;IACxB,GAAG,EAAC;EAA8C,EAC5C,GACV,IAAI,eACR,6BAAC,qBAAa;IACV,eAAa,8BAA+B;IAC5C,OAAO,EAAE,mBAAM;MACXlC,wBAAwB,EAAE;MAC1BK,WAAW,CAAC,IAAI,CAAC;IACrB;EAAE,GAEDQ,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CACzC,CACJ,CACR,CACf,EACD,IAAI,CACP;AACL,CAAC;AAAC"}
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","skippingVersions","useEffect","renderLayout","content","secure","installerSplitView","renderBody","length","render","onInstalled","alertClass","latest","current","availableUpgrades","filter","v","map","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 { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\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 {\n Wrapper,\n alertClass,\n InnerContent,\n InstallContent,\n installerSplitView,\n SuccessDialog\n} 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 {\n loading,\n installers,\n installer,\n isFirstInstall,\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\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 if (skippingVersions) {\n return renderBody(\n <Elevation z={1} className={alertClass}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline4\"}>Important!</Typography>\n </Cell>\n <Cell span={12}>\n <Typography use={\"body1\"} tag={\"div\"}>\n We&apos;ve detected that your current application is running Webiny{\" \"}\n <strong>v{skippingVersions.latest}</strong>. However, your API is\n running <strong>v{skippingVersions.current}</strong>. Unfortunately, we\n can&apos;t upgrade your system by skipping versions in between.\n <br />\n <br />\n Here&apos;s a list of versions you skipped, that contain upgrades you\n need to install:\n <ul>\n {skippingVersions.availableUpgrades\n .filter(v => v !== skippingVersions.latest)\n .map(v => (\n <li key={v}>v{v}</li>\n ))}\n </ul>\n For instructions on how to upgrade Webiny, please consult our{\" \"}\n <a\n href={\"https://docs.webiny.com/docs/how-to-guides/upgrade-webiny\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Upgrade Webiny\n </a>{\" \"}\n guide. Note that some versions may have a dedicated article with upgrade\n instructions, so look out for those in the upgrade guide.\n <br />\n <br />\n If you run into problems, find us on our{\" \"}\n <a\n href={\"https://www.webiny.com/slack\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Slack community.\n </a>\n </Typography>\n </Cell>\n </Grid>\n </Elevation>\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 {isFirstInstall ? \"Finish install\" : \"Finish upgrade\"}\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":"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"}
@@ -1,19 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
11
+
9
12
  var _react = _interopRequireWildcard(require("react"));
13
+
10
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
+
11
16
  var _styled = _interopRequireDefault(require("@emotion/styled"));
17
+
12
18
  var _Typography = require("@webiny/ui/Typography");
19
+
13
20
  var _config = require("@webiny/app/config");
21
+
14
22
  var _signInDivider = _interopRequireDefault(require("./assets/sign-in-divider.svg"));
23
+
15
24
  var _Brand = require("../../base/ui/Brand");
25
+
16
26
  var _Tags = require("../../base/ui/Tags");
27
+
17
28
  var Logo = /*#__PURE__*/(0, _styled.default)("div", {
18
29
  target: "eu74ttw0",
19
30
  label: "Logo"
@@ -75,11 +86,13 @@ var Note = /*#__PURE__*/(0, _styled.default)("div", {
75
86
  })({
76
87
  padding: 15
77
88
  });
89
+
78
90
  var Installations = function Installations(props) {
79
91
  var title = props.title,
80
- allInstallers = props.allInstallers,
81
- installer = props.installer,
82
- showLogin = props.showLogin;
92
+ allInstallers = props.allInstallers,
93
+ installer = props.installer,
94
+ showLogin = props.showLogin;
95
+
83
96
  var renderList = function renderList() {
84
97
  var loginItem = /*#__PURE__*/_react.default.createElement("li", {
85
98
  key: "login",
@@ -91,17 +104,21 @@ var Installations = function Installations(props) {
91
104
  use: "overline",
92
105
  className: "note"
93
106
  }, "TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU\u2019LL NEED TO SIGN IN"));
107
+
94
108
  var items = [];
109
+
95
110
  for (var i = 0; i < allInstallers.length; i++) {
96
111
  var _allInstallers$i = allInstallers[i],
97
- name = _allInstallers$i.name,
98
- _title = _allInstallers$i.title,
99
- secure = _allInstallers$i.secure,
100
- installed = _allInstallers$i.installed;
112
+ name = _allInstallers$i.name,
113
+ _title = _allInstallers$i.title,
114
+ secure = _allInstallers$i.secure,
115
+ installed = _allInstallers$i.installed;
101
116
  var prev = i === 0 ? null : allInstallers[i - 1];
117
+
102
118
  if ((!prev || !prev.secure) && secure && showLogin) {
103
119
  items.push(loginItem);
104
120
  }
121
+
105
122
  var active = installer && !showLogin && name === installer.name;
106
123
  items.push( /*#__PURE__*/_react.default.createElement("li", {
107
124
  key: name,
@@ -118,23 +135,28 @@ var Installations = function Installations(props) {
118
135
  className: "title"
119
136
  }, _title)));
120
137
  }
138
+
121
139
  return items;
122
140
  };
141
+
123
142
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Note, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
124
143
  use: "body1"
125
144
  }, title)), /*#__PURE__*/_react.default.createElement(List, null, renderList()));
126
145
  };
146
+
127
147
  var Sidebar = function Sidebar(_ref) {
128
148
  var allInstallers = _ref.allInstallers,
129
- installer = _ref.installer,
130
- showLogin = _ref.showLogin;
149
+ installer = _ref.installer,
150
+ showLogin = _ref.showLogin;
131
151
  var upgrades = allInstallers.filter(function (installer) {
132
152
  return installer.type === "upgrade";
133
153
  });
134
154
  var installations = allInstallers.filter(function (installer) {
135
155
  return installer.type === "install";
136
156
  });
157
+
137
158
  var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
159
+
138
160
  return /*#__PURE__*/_react.default.createElement(_Tags.Tags, {
139
161
  tags: {
140
162
  location: "installer"
@@ -151,5 +173,6 @@ var Sidebar = function Sidebar(_ref) {
151
173
  showLogin: upgrades.length > 0 ? false : showLogin
152
174
  }));
153
175
  };
176
+
154
177
  var _default = Sidebar;
155
178
  exports.default = _default;
@@ -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","upgrades","filter","type","installations","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","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 { config as appConfig } from \"@webiny/app/config\";\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 upgrades = allInstallers.filter(installer => installer.type === \"upgrade\");\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo>\n <Brand />\n </Logo>\n {upgrades.length > 0 ? (\n <Installations\n title={\n <span>\n The following apps will be upgraded to <strong>{wbyVersion}</strong>:\n </span>\n }\n allInstallers={upgrades}\n installer={installer}\n showLogin={showLogin}\n />\n ) : null}\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={upgrades.length > 0 ? false : showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":"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"}
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","upgrades","filter","type","installations","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","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 { config as appConfig } from \"@webiny/app/config\";\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 upgrades = allInstallers.filter(installer => installer.type === \"upgrade\");\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo>\n <Brand />\n </Logo>\n {upgrades.length > 0 ? (\n <Installations\n title={\n <span>\n The following apps will be upgraded to <strong>{wbyVersion}</strong>:\n </span>\n }\n allInstallers={upgrades}\n installer={installer}\n showLogin={showLogin}\n />\n ) : null}\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={upgrades.length > 0 ? false : showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,IAAI,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACvBC,OAAO,EAAE,EADc;EAEvBC,YAAY,EAAE;AAFS,CAAjB,CAAV;AAKA,IAAMC,IAAI,oBAAGH,eAAH,EAAU,IAAV;EAAA;EAAA;AAAA,GAAgB;EACtBI,EAAE,EAAE;IACAC,OAAO,EAAE,MADT;IAEAC,UAAU,EAAE,QAFZ;IAGAL,OAAO,EAAE,WAHT;IAIA,WAAW;MACPM,YAAY,EAAE,KADP;MAEPF,OAAO,EAAE,cAFF;MAGPG,MAAM,EAAE,EAHD;MAIPC,KAAK,EAAE,EAJA;MAKPC,WAAW,EAAE;IALN,CAJX;IAWA,aAAa;MACTL,OAAO,EAAE,OADA;MAETM,SAAS,EAAE,QAFF;MAGT,SAAS;QACLN,OAAO,EAAE,cADJ;QAELO,UAAU,EAAE,MAFP;QAGLC,QAAQ,EAAE,EAHL;QAILC,UAAU,EAAE,EAJP;QAKLC,KAAK,EAAE;MALF,CAHA;MAUTC,GAAG,EAAE;QACDP,KAAK,EAAE;MADN;IAVI,CAXb;IAyBA,YAAY;MACRQ,eAAe,EAAE,6BADT;MAERC,UAAU,EAAE,GAFJ;MAGR,WAAW;QACPD,eAAe,EAAE;MADV;IAHH,CAzBZ;IAgCA,aAAa;MACT,WAAW;QACPA,eAAe,EAAE;MADV;IADF,CAhCb;IAqCA,eAAe;MACX,WAAW;QACPA,eAAe,EAAE;MADV;IADA;EArCf;AADkB,CAAhB,CAAV;AA8CA,IAAME,IAAI,oBAAGnB,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACvBC,OAAO,EAAE;AADc,CAAjB,CAAV;;AASA,IAAMmB,aAA2C,GAAG,SAA9CA,aAA8C,CAAAC,KAAK,EAAI;EACzD,IAAQC,KAAR,GAAuDD,KAAvD,CAAQC,KAAR;EAAA,IAAeC,aAAf,GAAuDF,KAAvD,CAAeE,aAAf;EAAA,IAA8BC,SAA9B,GAAuDH,KAAvD,CAA8BG,SAA9B;EAAA,IAAyCC,SAAzC,GAAuDJ,KAAvD,CAAyCI,SAAzC;;EACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;IACrB,IAAMC,SAAS,gBACX;MAAI,GAAG,EAAE,OAAT;MAAkB,SAAS,EAAE;IAA7B,gBACI;MAAK,GAAG,EAAEC,sBAAV;MAAyB,GAAG,EAAE;IAA9B,EADJ,eAEI,6BAAC,sBAAD;MAAY,GAAG,EAAE,UAAjB;MAA6B,SAAS,EAAE;IAAxC,+EAFJ,CADJ;;IASA,IAAMC,KAAK,GAAG,EAAd;;IACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,aAAa,CAACQ,MAAlC,EAA0CD,CAAC,EAA3C,EAA+C;MAC3C,uBAA2CP,aAAa,CAACO,CAAD,CAAxD;MAAA,IAAQE,IAAR,oBAAQA,IAAR;MAAA,IAAcV,MAAd,oBAAcA,KAAd;MAAA,IAAqBW,MAArB,oBAAqBA,MAArB;MAAA,IAA6BC,SAA7B,oBAA6BA,SAA7B;MACA,IAAMC,IAAI,GAAGL,CAAC,KAAK,CAAN,GAAU,IAAV,GAAiBP,aAAa,CAACO,CAAC,GAAG,CAAL,CAA3C;;MACA,IAAI,CAAC,CAACK,IAAD,IAAS,CAACA,IAAI,CAACF,MAAhB,KAA2BA,MAA3B,IAAqCR,SAAzC,EAAoD;QAChDI,KAAK,CAACO,IAAN,CAAWT,SAAX;MACH;;MAED,IAAMU,MAAM,GAAGb,SAAS,IAAI,CAACC,SAAd,IAA2BO,IAAI,KAAKR,SAAS,CAACQ,IAA7D;MAEAH,KAAK,CAACO,IAAN,eACI;QACI,GAAG,EAAEJ,IADT;QAEI,SAAS,EAAE,IAAAM,mBAAA,EACP;UAAEJ,SAAS,EAAEA;QAAb,CADO,EAEP;UAAEG,MAAM,EAAEA;QAAV,CAFO,EAGP;UAAEE,OAAO,EAAE,CAACL,SAAD,IAAc,CAACG;QAA1B,CAHO;MAFf,gBAQI;QAAM,SAAS,EAAE;MAAjB,EARJ,eASI;QAAM,SAAS,EAAE;MAAjB,GAA2Bf,MAA3B,CATJ,CADJ;IAaH;;IACD,OAAOO,KAAP;EACH,CAnCD;;EAqCA,oBACI,6BAAC,eAAD,qBACI,6BAAC,IAAD,qBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA2BP,KAA3B,CADJ,CADJ,eAII,6BAAC,IAAD,QAAOI,UAAU,EAAjB,CAJJ,CADJ;AAQH,CA/CD;;AAuDA,IAAMc,OAA+B,GAAG,SAAlCA,OAAkC,OAA6C;EAAA,IAA1CjB,aAA0C,QAA1CA,aAA0C;EAAA,IAA3BC,SAA2B,QAA3BA,SAA2B;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EACjF,IAAMgB,QAAQ,GAAGlB,aAAa,CAACmB,MAAd,CAAqB,UAAAlB,SAAS;IAAA,OAAIA,SAAS,CAACmB,IAAV,KAAmB,SAAvB;EAAA,CAA9B,CAAjB;EACA,IAAMC,aAAa,GAAGrB,aAAa,CAACmB,MAAd,CAAqB,UAAAlB,SAAS;IAAA,OAAIA,SAAS,CAACmB,IAAV,KAAmB,SAAvB;EAAA,CAA9B,CAAtB;;EACA,IAAME,UAAU,GAAGC,cAAA,CAAUC,MAAV,CAAiB,gBAAjB,EAAmCC,OAAO,CAACC,GAAR,CAAYC,wBAA/C,CAAnB;;EAEA,oBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAZ;EAAZ,gBACI,6BAAC,IAAD,qBACI,6BAAC,YAAD,OADJ,CADJ,EAIKV,QAAQ,CAACV,MAAT,GAAkB,CAAlB,gBACG,6BAAC,aAAD;IACI,KAAK,eACD,mGAC2C,6CAASc,UAAT,CAD3C,MAFR;IAMI,aAAa,EAAEJ,QANnB;IAOI,SAAS,EAAEjB,SAPf;IAQI,SAAS,EAAEC;EARf,EADH,GAWG,IAfR,EAgBKmB,aAAa,CAACb,MAAd,GAAuB,CAAvB,iBACG,6BAAC,aAAD;IACI,KAAK,EAAE,sDADX;IAEI,aAAa,EAAEa,aAFnB;IAGI,SAAS,EAAEpB,SAHf;IAII,SAAS,EAAEiB,QAAQ,CAACV,MAAT,GAAkB,CAAlB,GAAsB,KAAtB,GAA8BN;EAJ7C,EAjBR,CADJ;AA2BH,CAhCD;;eAiCee,O"}
@@ -1,22 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AppInstaller = void 0;
9
+
8
10
  var _ = require("../..");
11
+
9
12
  var _react = _interopRequireDefault(require("react"));
13
+
10
14
  var _AppInstaller = require("./AppInstaller");
15
+
11
16
  var AppInstallerHOC = function AppInstallerHOC(Component) {
12
17
  return function AppInstallerProvider(_ref) {
13
18
  var children = _ref.children;
14
19
  return /*#__PURE__*/_react.default.createElement(_AppInstaller.AppInstaller, null, /*#__PURE__*/_react.default.createElement(Component, null, children));
15
20
  };
16
21
  };
22
+
17
23
  var AppInstaller = function AppInstaller() {
18
24
  return /*#__PURE__*/_react.default.createElement(_.Provider, {
19
25
  hoc: AppInstallerHOC
20
26
  });
21
27
  };
28
+
22
29
  exports.AppInstaller = AppInstaller;
@@ -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":["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,eAAkB,CAACC,SAAD,EAAiD;EACrE,OAAO,SAASC,oBAAT,OAA4C;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAC/C,oBACI,6BAAC,0BAAD,qBACI,6BAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ;EAKH,CAND;AAOH,CARD;;AAUO,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;EAC9B,oBAAO,6BAAC,UAAD;IAAU,GAAG,EAAEJ;EAAf,EAAP;AACH,CAFM"}