@webiny/app-admin 5.23.1 → 5.25.0-beta.0
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.
- package/base/Admin.d.ts +3 -10
- package/base/Admin.js +4 -0
- package/base/Admin.js.map +1 -0
- package/base/Base.d.ts +1 -1
- package/base/Base.js.map +1 -0
- package/base/plugins/AddGraphQLQuerySelection.d.ts +2 -2
- package/base/plugins/AddGraphQLQuerySelection.js +3 -2
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
- package/base/providers/ApolloProvider.d.ts +9 -3
- package/base/providers/ApolloProvider.js +2 -1
- package/base/providers/ApolloProvider.js.map +1 -0
- package/base/providers/TelemetryProvider.d.ts +2 -4
- package/base/providers/TelemetryProvider.js +5 -0
- package/base/providers/TelemetryProvider.js.map +1 -0
- package/base/providers/UiStateProvider.d.ts +1 -3
- package/base/providers/UiStateProvider.js.map +1 -0
- package/base/providers/ViewCompositionProvider.d.ts +4 -5
- package/base/providers/ViewCompositionProvider.js +8 -1
- package/base/providers/ViewCompositionProvider.js.map +1 -0
- package/base/ui/Brand.d.ts +2 -9
- package/base/ui/Brand.js.map +1 -0
- package/base/ui/CenteredView.d.ts +1 -5
- package/base/ui/CenteredView.js.map +1 -0
- package/base/ui/Dashboard.d.ts +2 -9
- package/base/ui/Dashboard.js.map +1 -0
- package/base/ui/Layout.d.ts +2 -8
- package/base/ui/Layout.js.map +1 -0
- package/base/ui/LocaleSelector.d.ts +2 -9
- package/base/ui/LocaleSelector.js.map +1 -0
- package/base/ui/LoginScreen.d.ts +2 -5
- package/base/ui/LoginScreen.js.map +1 -0
- package/base/ui/Logo.d.ts +3 -9
- package/base/ui/Logo.js.map +1 -0
- package/base/ui/Menu.d.ts +8 -12
- package/base/ui/Menu.js +96 -30
- package/base/ui/Menu.js.map +1 -0
- package/base/ui/Navigation.d.ts +9 -20
- package/base/ui/Navigation.js +29 -29
- package/base/ui/Navigation.js.map +1 -0
- package/base/ui/NotFound.d.ts +2 -9
- package/base/ui/NotFound.js.map +1 -0
- package/base/ui/Search.d.ts +4 -13
- package/base/ui/Search.js +6 -1
- package/base/ui/Search.js.map +1 -0
- package/base/ui/Tags.d.ts +4 -2
- package/base/ui/Tags.js.map +1 -0
- package/base/ui/UserMenu.d.ts +9 -33
- package/base/ui/UserMenu.js +15 -2
- package/base/ui/UserMenu.js.map +1 -0
- package/components/AdminLayout.d.ts +1 -2
- package/components/AdminLayout.js.map +1 -0
- package/components/AppInstaller/AppInstaller.d.ts +2 -4
- package/components/AppInstaller/AppInstaller.js.map +1 -0
- package/components/AppInstaller/Sidebar.d.ts +8 -6
- package/components/AppInstaller/Sidebar.js +11 -10
- package/components/AppInstaller/Sidebar.js.map +1 -0
- package/components/AppInstaller/index.js.map +1 -0
- package/components/AppInstaller/styled.d.ts +4 -4
- package/components/AppInstaller/styled.js.map +1 -0
- package/components/AppInstaller/useInstaller.d.ts +28 -9
- package/components/AppInstaller/useInstaller.js +44 -36
- package/components/AppInstaller/useInstaller.js.map +1 -0
- package/components/EmptyView.d.ts +5 -5
- package/components/EmptyView.js.map +1 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +7 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
- package/components/FileManager/BottomInfoBar.d.ts +4 -2
- package/components/FileManager/BottomInfoBar.js.map +1 -0
- package/components/FileManager/DropFilesHere.d.ts +4 -3
- package/components/FileManager/DropFilesHere.js +5 -2
- package/components/FileManager/DropFilesHere.js.map +1 -0
- package/components/FileManager/File.d.ts +7 -8
- package/components/FileManager/File.js +11 -5
- package/components/FileManager/File.js.map +1 -0
- package/components/FileManager/FileDetails/Name.d.ts +7 -5
- package/components/FileManager/FileDetails/Name.js +10 -7
- package/components/FileManager/FileDetails/Name.js.map +1 -0
- package/components/FileManager/FileDetails/Tags.d.ts +7 -5
- package/components/FileManager/FileDetails/Tags.js +22 -9
- package/components/FileManager/FileDetails/Tags.js.map +1 -0
- package/components/FileManager/FileDetails.d.ts +9 -8
- package/components/FileManager/FileDetails.js +80 -41
- package/components/FileManager/FileDetails.js.map +1 -0
- package/components/FileManager/FileManagerContext.d.ts +12 -9
- package/components/FileManager/FileManagerContext.js +14 -7
- package/components/FileManager/FileManagerContext.js.map +1 -0
- package/components/FileManager/FileManagerView.d.ts +3 -11
- package/components/FileManager/FileManagerView.js +79 -51
- package/components/FileManager/FileManagerView.js.map +1 -0
- package/components/FileManager/LeftSidebar.d.ts +6 -5
- package/components/FileManager/LeftSidebar.js +6 -5
- package/components/FileManager/LeftSidebar.js.map +1 -0
- package/components/FileManager/NoPermissionView.d.ts +2 -2
- package/components/FileManager/NoPermissionView.js.map +1 -0
- package/components/FileManager/NoResults.d.ts +3 -2
- package/components/FileManager/NoResults.js +5 -2
- package/components/FileManager/NoResults.js.map +1 -0
- package/components/FileManager/getFileTypePlugin.d.ts +4 -1
- package/components/FileManager/getFileTypePlugin.js +9 -0
- package/components/FileManager/getFileTypePlugin.js.map +1 -0
- package/components/FileManager/getFileUploader.d.ts +2 -1
- package/components/FileManager/getFileUploader.js.map +1 -0
- package/components/FileManager/graphql.d.ts +90 -0
- package/components/FileManager/graphql.js +25 -0
- package/components/FileManager/graphql.js.map +1 -0
- package/components/FileManager/outputFileSelectionError.d.ts +6 -1
- package/components/FileManager/outputFileSelectionError.js +3 -2
- package/components/FileManager/outputFileSelectionError.js.map +1 -0
- package/components/FileManager/types.d.ts +19 -0
- package/components/FileManager/types.js +1 -0
- package/components/FileManager/types.js.map +1 -0
- package/components/FileManager.d.ts +15 -10
- package/components/FileManager.js +27 -16
- package/components/FileManager.js.map +1 -0
- package/components/FloatingActionButton.d.ts +2 -2
- package/components/FloatingActionButton.js.map +1 -0
- package/components/MultiImageUpload.d.ts +13 -4
- package/components/MultiImageUpload.js +15 -4
- package/components/MultiImageUpload.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +10 -13
- package/components/OverlayLayout/OverlayLayout.js.map +1 -0
- package/components/OverlayLayout/index.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +4 -4
- package/components/Permissions/Permissions.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +6 -4
- package/components/Permissions/StyledComponents.js.map +1 -0
- package/components/Permissions/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/components/RichTextEditor/index.js.map +1 -0
- package/components/RichTextEditor/tools/header/index.d.ts +33 -34
- package/components/RichTextEditor/tools/header/index.js +5 -6
- package/components/RichTextEditor/tools/header/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/index.d.ts +38 -13
- package/components/RichTextEditor/tools/image/index.js +4 -2
- package/components/RichTextEditor/tools/image/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
- package/components/RichTextEditor/tools/image/tunes.d.ts +12 -15
- package/components/RichTextEditor/tools/image/tunes.js +9 -4
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
- package/components/RichTextEditor/tools/image/types.d.ts +29 -0
- package/components/RichTextEditor/tools/image/types.js +1 -0
- package/components/RichTextEditor/tools/image/types.js.map +1 -0
- package/components/RichTextEditor/tools/image/ui.d.ts +36 -27
- package/components/RichTextEditor/tools/image/ui.js +25 -12
- package/components/RichTextEditor/tools/image/ui.js.map +1 -0
- package/components/RichTextEditor/tools/paragraph/index.d.ts +32 -36
- package/components/RichTextEditor/tools/paragraph/index.js +17 -25
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
- package/components/RichTextEditor/tools/textColor/index.d.ts +30 -22
- package/components/RichTextEditor/tools/textColor/index.js +46 -10
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
- package/components/RichTextEditor/tools/utils.js.map +1 -0
- package/components/Routes.d.ts +2 -2
- package/components/Routes.js.map +1 -0
- package/components/SearchUI.d.ts +4 -4
- package/components/SearchUI.js.map +1 -0
- package/components/SimpleForm/SimpleForm.d.ts +10 -11
- package/components/SimpleForm/SimpleForm.js.map +1 -0
- package/components/SimpleForm/index.js.map +1 -0
- package/components/SimpleUI/InputField.d.ts +4 -3
- package/components/SimpleUI/InputField.js +22 -20
- package/components/SimpleUI/InputField.js.map +1 -0
- package/components/SingleImageUpload.d.ts +3 -9
- package/components/SingleImageUpload.js +9 -11
- package/components/SingleImageUpload.js.map +1 -0
- package/components/SplitView/SplitView.d.ts +5 -5
- package/components/SplitView/SplitView.js.map +1 -0
- package/components/SplitView/index.js.map +1 -0
- package/components/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +6 -5
- package/hooks/useConfirmationDialog.js +1 -2
- package/hooks/useConfirmationDialog.js.map +1 -0
- package/hooks/useDialog.d.ts +8 -3
- package/hooks/useDialog.js +1 -1
- package/hooks/useDialog.js.map +1 -0
- package/hooks/useSnackbar.d.ts +6 -3
- package/hooks/useSnackbar.js.map +1 -0
- package/index.js.map +1 -0
- package/package.json +24 -20
- package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
- package/plugins/FileManagerFileTypePlugin.js +4 -0
- package/plugins/FileManagerFileTypePlugin.js.map +1 -0
- package/plugins/MenuPlugin.d.ts +6 -6
- package/plugins/MenuPlugin.js +4 -0
- package/plugins/MenuPlugin.js.map +1 -0
- package/plugins/PermissionRendererPlugin.d.ts +4 -4
- package/plugins/PermissionRendererPlugin.js +4 -0
- package/plugins/PermissionRendererPlugin.js.map +1 -0
- package/plugins/fileManager/fileDefault.js.map +1 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
- package/plugins/fileManager/fileImage/EditAction.js +24 -11
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
- package/plugins/fileManager/fileImage/index.js.map +1 -0
- package/plugins/fileManager/index.js.map +1 -0
- package/plugins/globalSearch/SearchBar.d.ts +14 -5
- package/plugins/globalSearch/SearchBar.js +9 -0
- package/plugins/globalSearch/SearchBar.js.map +1 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
- package/plugins/globalSearch/index.d.ts +2 -1
- package/plugins/globalSearch/index.js.map +1 -0
- package/plugins/globalSearch/styled.d.ts +3 -3
- package/plugins/globalSearch/styled.js.map +1 -0
- package/plugins/index.d.ts +2 -1
- package/plugins/index.js.map +1 -0
- package/plugins/uiLayoutRenderer/index.js.map +1 -0
- package/types.d.ts +10 -8
- package/types.js.map +1 -0
- package/ui/UIElement.d.ts +1 -1
- package/ui/UIElement.js.map +1 -0
- package/ui/UILayout.js.map +1 -0
- package/ui/UIRenderer.js.map +1 -0
- package/ui/UIView.d.ts +1 -1
- package/ui/UIView.js.map +1 -0
- package/ui/elements/AccordionElement.d.ts +5 -5
- package/ui/elements/AccordionElement.js +4 -0
- package/ui/elements/AccordionElement.js.map +1 -0
- package/ui/elements/ButtonElement.d.ts +3 -3
- package/ui/elements/ButtonElement.js +7 -0
- package/ui/elements/ButtonElement.js.map +1 -0
- package/ui/elements/ButtonGroupElement.d.ts +2 -2
- package/ui/elements/ButtonGroupElement.js.map +1 -0
- package/ui/elements/GenericElement.js.map +1 -0
- package/ui/elements/LabelElement.js.map +1 -0
- package/ui/elements/NavigationMenuElement.d.ts +2 -1
- package/ui/elements/NavigationMenuElement.js +3 -2
- package/ui/elements/NavigationMenuElement.js.map +1 -0
- package/ui/elements/PanelElement.js.map +1 -0
- package/ui/elements/PlaceholderElement.d.ts +2 -1
- package/ui/elements/PlaceholderElement.js.map +1 -0
- package/ui/elements/SmallButtonElement.d.ts +1 -1
- package/ui/elements/SmallButtonElement.js.map +1 -0
- package/ui/elements/TypographyElement.d.ts +1 -1
- package/ui/elements/TypographyElement.js.map +1 -0
- package/ui/elements/ViewElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +10 -10
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
- package/ui/elements/form/DynamicFieldsetElement.js +13 -0
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/styled.d.ts +17 -13
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
- package/ui/elements/form/FileManagerElement.d.ts +6 -6
- package/ui/elements/form/FileManagerElement.js.map +1 -0
- package/ui/elements/form/FormElement.d.ts +5 -5
- package/ui/elements/form/FormElement.js.map +1 -0
- package/ui/elements/form/FormFieldElement.d.ts +9 -8
- package/ui/elements/form/FormFieldElement.js +15 -7
- package/ui/elements/form/FormFieldElement.js.map +1 -0
- package/ui/elements/form/HiddenElement.js.map +1 -0
- package/ui/elements/form/InputElement.d.ts +1 -0
- package/ui/elements/form/InputElement.js.map +1 -0
- package/ui/elements/form/PasswordElement.js.map +1 -0
- package/ui/elements/form/SelectElement.d.ts +1 -1
- package/ui/elements/form/SelectElement.js +1 -1
- package/ui/elements/form/SelectElement.js.map +1 -0
- package/ui/elements/form/TextareaElement.js.map +1 -0
- package/ui/views/AdminView/ContentElement.js.map +1 -0
- package/ui/views/AdminView/HeaderElement.js +14 -2
- package/ui/views/AdminView/HeaderElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
- package/ui/views/AdminView/components/Dialog.js.map +1 -0
- package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
- package/ui/views/AdminView/components/Hamburger.js.map +1 -0
- package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
- package/ui/views/AdminView/components/Snackbar.js.map +1 -0
- package/ui/views/FormView/FormContainerElement.d.ts +2 -2
- package/ui/views/FormView/FormContainerElement.js.map +1 -0
- package/ui/views/FormView/FormContentElement.js.map +1 -0
- package/ui/views/FormView/FormFooterElement.d.ts +3 -3
- package/ui/views/FormView/FormFooterElement.js.map +1 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
- package/ui/views/FormView/FormHeaderElement.js.map +1 -0
- package/ui/views/FormView.d.ts +1 -1
- package/ui/views/FormView.js +25 -3
- package/ui/views/FormView.js.map +1 -0
- package/ui/views/OverlayView/ContentElement.d.ts +2 -2
- package/ui/views/OverlayView/ContentElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
- package/ui/views/OverlayView/HeaderElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
- package/ui/views/OverlayView/useOverlayView.js +2 -2
- package/ui/views/OverlayView/useOverlayView.js.map +1 -0
- package/ui/views/OverlayView.d.ts +4 -6
- package/ui/views/OverlayView.js.map +1 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
- package/ui/views/SplitView.d.ts +3 -3
- package/ui/views/SplitView.js.map +1 -0
package/base/ui/Navigation.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
3
|
import React, { Fragment, useEffect, createContext, useCallback, useMemo, useState, useContext } from "react";
|
|
5
4
|
import { nanoid } from "nanoid";
|
|
6
5
|
import { makeComposable, Plugins } from "@webiny/app-admin-core";
|
|
7
|
-
import { AddMenu as Menu, Tags } from "../..";
|
|
6
|
+
import { AddMenu as Menu, Tags, createEmptyMenu } from "../..";
|
|
8
7
|
import { plugins } from "@webiny/plugins";
|
|
9
|
-
var NavigationContext = /*#__PURE__*/createContext(
|
|
8
|
+
var NavigationContext = /*#__PURE__*/createContext({
|
|
9
|
+
menuItems: [],
|
|
10
|
+
setMenu: function setMenu() {
|
|
11
|
+
return void 0;
|
|
12
|
+
},
|
|
13
|
+
removeMenu: function removeMenu() {
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
10
17
|
NavigationContext.displayName = "NavigationContext";
|
|
11
18
|
export function useNavigation() {
|
|
12
19
|
return useContext(NavigationContext);
|
|
@@ -36,6 +43,7 @@ var LegacyMenuPlugins = function LegacyMenuPlugins() {
|
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
var menuElements = menuPlugins.map(function (plugin) {
|
|
46
|
+
// TODO @ts-refactor figure out correct types or write a comment to leave as React.FC
|
|
39
47
|
return /*#__PURE__*/React.createElement(Plugins, {
|
|
40
48
|
key: plugin.name
|
|
41
49
|
}, plugin.render({
|
|
@@ -43,7 +51,8 @@ var LegacyMenuPlugins = function LegacyMenuPlugins() {
|
|
|
43
51
|
Item: LegacyMenu,
|
|
44
52
|
Section: LegacyMenu
|
|
45
53
|
}));
|
|
46
|
-
});
|
|
54
|
+
}); // TODO @ts-refactor
|
|
55
|
+
|
|
47
56
|
setMenus(menuElements);
|
|
48
57
|
}, []);
|
|
49
58
|
return menus;
|
|
@@ -58,34 +67,22 @@ export var NavigationProvider = function NavigationProvider(Component) {
|
|
|
58
67
|
menuItems = _useState4[0],
|
|
59
68
|
setState = _useState4[1];
|
|
60
69
|
|
|
61
|
-
var
|
|
62
|
-
var _item2$label, _item2$icon;
|
|
63
|
-
|
|
64
|
-
return _objectSpread(_objectSpread({}, item1), {}, {
|
|
65
|
-
label: (_item2$label = item2.label) !== null && _item2$label !== void 0 ? _item2$label : item1.label,
|
|
66
|
-
icon: (_item2$icon = item2.icon) !== null && _item2$icon !== void 0 ? _item2$icon : item1.icon,
|
|
67
|
-
children: item2.children.reduce(function (acc, menu) {
|
|
68
|
-
var index = acc.findIndex(function (i) {
|
|
69
|
-
return i.name === menu.name;
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
if (index > -1) {
|
|
73
|
-
acc[index] = mergeMenuItems(acc[index], menu);
|
|
74
|
-
} else {
|
|
75
|
-
acc.push(menu);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return acc;
|
|
79
|
-
}, _toConsumableArray(item1.children))
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
var setMenu = function setMenu(id, menuItem) {
|
|
70
|
+
var setMenu = function setMenu(id, updater) {
|
|
84
71
|
setState(function (state) {
|
|
85
72
|
var index = state.findIndex(function (m) {
|
|
86
73
|
return m.name === id;
|
|
87
74
|
});
|
|
88
|
-
|
|
75
|
+
var newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));
|
|
76
|
+
|
|
77
|
+
if (!newMenu) {
|
|
78
|
+
return _toConsumableArray(state);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (!newMenu.children) {
|
|
82
|
+
newMenu.children = [];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return index > -1 ? [].concat(_toConsumableArray(state.slice(0, index)), [newMenu], _toConsumableArray(state.slice(index + 1))) : [].concat(_toConsumableArray(state), [newMenu]);
|
|
89
86
|
});
|
|
90
87
|
};
|
|
91
88
|
|
|
@@ -122,7 +119,10 @@ export var Navigation = function Navigation() {
|
|
|
122
119
|
}, /*#__PURE__*/React.createElement(NavigationRenderer, null));
|
|
123
120
|
};
|
|
124
121
|
export var NavigationRenderer = makeComposable("NavigationRenderer");
|
|
125
|
-
var MenuItemContext = /*#__PURE__*/React.createContext(
|
|
122
|
+
var MenuItemContext = /*#__PURE__*/React.createContext({
|
|
123
|
+
menuItem: undefined,
|
|
124
|
+
depth: -1
|
|
125
|
+
});
|
|
126
126
|
MenuItemContext.displayName = "MenuItemContext";
|
|
127
127
|
export function useMenuItem() {
|
|
128
128
|
return React.useContext(MenuItemContext);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Navigation.tsx"],"names":["React","Fragment","useEffect","createContext","useCallback","useMemo","useState","useContext","nanoid","makeComposable","Plugins","AddMenu","Menu","Tags","createEmptyMenu","plugins","NavigationContext","menuItems","setMenu","removeMenu","displayName","useNavigation","LegacyMenu","props","name","label","children","LegacyMenuPlugins","menus","setMenus","menuPlugins","byType","menuElements","map","plugin","render","Item","Section","NavigationProvider","Component","setState","id","updater","state","index","findIndex","m","newMenu","slice","context","Navigation","location","NavigationRenderer","MenuItemContext","menuItem","undefined","depth","useMenuItem","MenuItems","MenuItem","MenuItemRenderer"],"mappings":"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","sourcesContent":["import React, {\n Fragment,\n useEffect,\n createContext,\n useCallback,\n useMemo,\n useState,\n useContext\n} from \"react\";\nimport { nanoid } from \"nanoid\";\nimport { makeComposable, Plugins } from \"@webiny/app-admin-core\";\nimport { MenuData, MenuProps, AddMenu as Menu, Tags, MenuUpdater, createEmptyMenu } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { ItemProps, SectionProps } from \"~/plugins/MenuPlugin\";\n\nexport interface NavigationContext {\n menuItems: MenuData[];\n setMenu(id: string, update: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst NavigationContext = createContext<NavigationContext>({\n menuItems: [],\n setMenu: () => {\n return void 0;\n },\n removeMenu: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!\n// It is not a public component, and is not even exported from this file. We need it to take care of\n// scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).\nconst LegacyMenu: React.FC<MenuProps | SectionProps | ItemProps> = props => {\n return (\n <Menu {...props} name={(props as MenuProps).name || nanoid()} label={props.label as string}>\n {props.children}\n </Menu>\n );\n};\n\nconst LegacyMenuPlugins: React.FC = () => {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const [menus, setMenus] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const menuElements = menuPlugins.map(plugin => {\n // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC\n return (\n <Plugins key={plugin.name}>\n {plugin.render({\n Menu: LegacyMenu as React.FC,\n Item: LegacyMenu as React.FC,\n Section: LegacyMenu as React.FC\n })}\n </Plugins>\n );\n });\n // TODO @ts-refactor\n setMenus(menuElements as any);\n }, []);\n\n return menus;\n};\n\nexport const NavigationProvider = (Component: React.ComponentType<unknown>): React.FC => {\n return function NavigationProvider({ children }) {\n const [menuItems, setState] = useState<MenuData[]>([]);\n\n const setMenu = (id: string, updater: MenuUpdater): void => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n const newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));\n if (!newMenu) {\n return [...state];\n }\n if (!newMenu.children) {\n newMenu.children = [];\n }\n\n return index > -1\n ? [...state.slice(0, index), newMenu, ...state.slice(index + 1)]\n : [...state, newMenu];\n });\n };\n const removeMenu = useCallback(\n id => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n if (index < 0) {\n return state;\n }\n\n return [...state.slice(0, index), ...state.slice(index + 1)];\n });\n },\n [setState]\n );\n\n const context = useMemo<NavigationContext>(\n () => ({\n menuItems,\n setMenu,\n removeMenu\n }),\n [menuItems, setMenu, removeMenu]\n );\n\n return (\n <NavigationContext.Provider value={context}>\n <LegacyMenuPlugins />\n <Component>{children}</Component>\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n};\n\nexport const NavigationRenderer = makeComposable(\"NavigationRenderer\");\n\ninterface MenuItemContext {\n menuItem?: MenuData;\n depth: number;\n}\n\nconst MenuItemContext = React.createContext<MenuItemContext>({\n menuItem: undefined,\n depth: -1\n});\nMenuItemContext.displayName = \"MenuItemContext\";\n\nexport function useMenuItem() {\n return React.useContext(MenuItemContext);\n}\n\nexport interface MenuItemsProps {\n menuItems: MenuData[];\n}\n\nexport const MenuItems = makeComposable<MenuItemsProps>(\"MenuItems\", ({ menuItems }) => {\n const menuItem = useMenuItem();\n\n const depth = menuItem ? menuItem.depth : -1;\n\n return (\n <Fragment>\n {menuItems.map(menuItem => (\n <MenuItemContext.Provider\n key={menuItem.name}\n value={{ menuItem, depth: depth + 1 }}\n >\n <MenuItem />\n </MenuItemContext.Provider>\n ))}\n </Fragment>\n );\n});\n\nexport const MenuItem: React.FC = () => {\n return <MenuItemRenderer />;\n};\n\nexport const MenuItemRenderer = makeComposable(\"MenuItemRenderer\");\n"]}
|
package/base/ui/NotFound.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
original: React.ComponentType<unknown>;
|
|
4
|
-
originalName: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const NotFoundRenderer: React.FC<unknown> & {
|
|
7
|
-
original: React.ComponentType<unknown>;
|
|
8
|
-
originalName: string;
|
|
9
|
-
};
|
|
1
|
+
export declare const NotFound: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
2
|
+
export declare const NotFoundRenderer: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NotFound.tsx"],"names":["React","makeComposable","NotFound","NotFoundRenderer"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,cAAT,QAA+B,wBAA/B;AAEA,OAAO,IAAMC,QAAQ,GAAGD,cAAc,CAAC,UAAD,EAAa,YAAM;AACrD,sBAAO,oBAAC,gBAAD,OAAP;AACH,CAFqC,CAA/B;AAIP,OAAO,IAAME,gBAAgB,GAAGF,cAAc,CAAC,kBAAD,CAAvC","sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\n\nexport const NotFound = makeComposable(\"NotFound\", () => {\n return <NotFoundRenderer />;\n});\n\nexport const NotFoundRenderer = makeComposable(\"NotFoundRenderer\");\n"]}
|
package/base/ui/Search.d.ts
CHANGED
|
@@ -12,17 +12,8 @@ export interface SearchContext {
|
|
|
12
12
|
addOption(option: SearchOptionData): void;
|
|
13
13
|
}
|
|
14
14
|
export declare function useSearch(): SearchContext;
|
|
15
|
-
export declare const SearchProvider: (Component:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}) => JSX.Element;
|
|
19
|
-
export declare const Search: React.FC<unknown> & {
|
|
20
|
-
original: React.ComponentType<unknown>;
|
|
21
|
-
originalName: string;
|
|
22
|
-
};
|
|
23
|
-
export declare const SearchRenderer: React.FC<unknown> & {
|
|
24
|
-
original: React.ComponentType<unknown>;
|
|
25
|
-
originalName: string;
|
|
26
|
-
};
|
|
15
|
+
export declare const SearchProvider: (Component: React.FC) => React.FC;
|
|
16
|
+
export declare const Search: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
17
|
+
export declare const SearchRenderer: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
27
18
|
export declare type SearchOptionProps = SearchOptionData;
|
|
28
|
-
export declare const SearchOption:
|
|
19
|
+
export declare const SearchOption: React.FC<SearchOptionProps>;
|
package/base/ui/Search.js
CHANGED
|
@@ -4,7 +4,12 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
var _excluded = ["children"];
|
|
5
5
|
import React, { useCallback, useEffect, useState } from "react";
|
|
6
6
|
import { makeComposable } from "@webiny/app-admin-core";
|
|
7
|
-
var SearchContext = /*#__PURE__*/React.createContext(
|
|
7
|
+
var SearchContext = /*#__PURE__*/React.createContext({
|
|
8
|
+
options: [],
|
|
9
|
+
addOption: function addOption() {
|
|
10
|
+
return void 0;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
8
13
|
SearchContext.displayName = "SearchContext";
|
|
9
14
|
export function useSearch() {
|
|
10
15
|
return React.useContext(SearchContext);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Search.tsx"],"names":["React","useCallback","useEffect","useState","makeComposable","SearchContext","createContext","options","addOption","displayName","useSearch","useContext","SearchProvider","Component","children","props","setOptions","option","context","Search","SearchRenderer","SearchOption"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,EAAwCC,QAAxC,QAAwD,OAAxD;AACA,SAASC,cAAT,QAA+B,wBAA/B;AAgBA,IAAMC,aAAa,gBAAGL,KAAK,CAACM,aAAN,CAAmC;AACrDC,EAAAA,OAAO,EAAE,EAD4C;AAErDC,EAAAA,SAAS,EAAE,qBAAM;AACb,WAAO,KAAK,CAAZ;AACH;AAJoD,CAAnC,CAAtB;AAMAH,aAAa,CAACI,WAAd,GAA4B,eAA5B;AAEA,OAAO,SAASC,SAAT,GAAqB;AACxB,SAAOV,KAAK,CAACW,UAAN,CAAiBN,aAAjB,CAAP;AACH;AAED,OAAO,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAmC;AAC7D,SAAO,SAASD,cAAT,OAAgD;AAAA,QAAtBE,QAAsB,QAAtBA,QAAsB;AAAA,QAATC,KAAS;;AACnD,oBAA8BZ,QAAQ,CAAqB,EAArB,CAAtC;AAAA;AAAA,QAAOI,OAAP;AAAA,QAAgBS,UAAhB;;AAEA,QAAMR,SAAS,GAAGP,WAAW,CACzB,UAAAgB,MAAM;AAAA,aAAID,UAAU,CAAC,UAAAT,OAAO;AAAA,4CAAQA,OAAR,IAAiBU,MAAjB;AAAA,OAAR,CAAd;AAAA,KADmB,EAEzB,CAACD,UAAD,CAFyB,CAA7B;AAKA,QAAME,OAAO,GAAG;AACZX,MAAAA,OAAO,EAAPA,OADY;AAEZC,MAAAA,SAAS,EAATA;AAFY,KAAhB;AAKA,wBACI,oBAAC,aAAD,CAAe,QAAf;AAAwB,MAAA,KAAK,EAAEU;AAA/B,oBACI,oBAAC,SAAD,EAAeH,KAAf,EAAuBD,QAAvB,CADJ,CADJ;AAKH,GAlBD;AAmBH,CApBM;AAsBP,OAAO,IAAMK,MAAM,GAAGf,cAAc,CAAC,QAAD,EAAW,YAAM;AACjD,sBAAO,oBAAC,cAAD,OAAP;AACH,CAFmC,CAA7B;AAIP,OAAO,IAAMgB,cAAc,GAAGhB,cAAc,CAAC,gBAAD,CAArC;AAIP,OAAO,IAAMiB,YAAyC,GAAG,SAA5CA,YAA4C,CAAAN,KAAK,EAAI;AAC9D,mBAAsBL,SAAS,EAA/B;AAAA,MAAQF,SAAR,cAAQA,SAAR;;AAEAN,EAAAA,SAAS,CAAC,YAAM;AACZM,IAAAA,SAAS,CAACO,KAAD,CAAT;AACH,GAFQ,EAEN,EAFM,CAAT;AAIA,SAAO,IAAP;AACH,CARM","sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\n\nexport interface SearchOptionData {\n route: string;\n label: string;\n search?: {\n operator?: \"and\" | \"or\";\n fields?: Array<string>;\n };\n}\n\nexport interface SearchContext {\n options: SearchOptionData[];\n addOption(option: SearchOptionData): void;\n}\n\nconst SearchContext = React.createContext<SearchContext>({\n options: [],\n addOption: () => {\n return void 0;\n }\n});\nSearchContext.displayName = \"SearchContext\";\n\nexport function useSearch() {\n return React.useContext(SearchContext);\n}\n\nexport const SearchProvider = (Component: React.FC): React.FC => {\n return function SearchProvider({ children, ...props }) {\n const [options, setOptions] = useState<SearchOptionData[]>([]);\n\n const addOption = useCallback<SearchContext[\"addOption\"]>(\n option => setOptions(options => [...options, option]),\n [setOptions]\n );\n\n const context = {\n options,\n addOption\n };\n\n return (\n <SearchContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </SearchContext.Provider>\n );\n };\n};\n\nexport const Search = makeComposable(\"Search\", () => {\n return <SearchRenderer />;\n});\n\nexport const SearchRenderer = makeComposable(\"SearchRenderer\");\n\nexport type SearchOptionProps = SearchOptionData;\n\nexport const SearchOption: React.FC<SearchOptionProps> = props => {\n const { addOption } = useSearch();\n\n useEffect(() => {\n addOption(props);\n }, []);\n\n return null;\n};\n"]}
|
package/base/ui/Tags.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
declare type TagsContext = Record<string, string | boolean>;
|
|
3
|
+
declare const TagsContext: React.Context<TagsContext>;
|
|
2
4
|
interface TagsProps {
|
|
3
5
|
tags: Record<string, string | boolean>;
|
|
4
6
|
children: React.ReactNode;
|
|
5
7
|
}
|
|
6
|
-
export declare const Tags:
|
|
7
|
-
export declare const useTags: () =>
|
|
8
|
+
export declare const Tags: React.FC<TagsProps>;
|
|
9
|
+
export declare const useTags: () => TagsContext;
|
|
8
10
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Tags.tsx"],"names":["React","createContext","useContext","TagsContext","displayName","Tags","tags","children","useTags"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,EAA+BC,UAA/B,QAAiD,OAAjD;AAIA,IAAMC,WAAW,gBAAGF,aAAa,CAAc,EAAd,CAAjC;AACAE,WAAW,CAACC,WAAZ,GAA0B,aAA1B;AAOA,OAAO,IAAMC,IAAyB,GAAG,SAA5BA,IAA4B,OAAwB;AAAA,MAArBC,IAAqB,QAArBA,IAAqB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AAC7D,sBAAO,oBAAC,WAAD,CAAa,QAAb;AAAsB,IAAA,KAAK,EAAED;AAA7B,KAAoCC,QAApC,CAAP;AACH,CAFM;AAIP,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;AACzB,SAAON,UAAU,CAACC,WAAD,CAAjB;AACH,CAFM","sourcesContent":["import React, { createContext, useContext } from \"react\";\n\ntype TagsContext = Record<string, string | boolean>;\n\nconst TagsContext = createContext<TagsContext>({});\nTagsContext.displayName = \"TagsContext\";\n\ninterface TagsProps {\n tags: Record<string, string | boolean>;\n children: React.ReactNode;\n}\n\nexport const Tags: React.FC<TagsProps> = ({ tags, children }) => {\n return <TagsContext.Provider value={tags}>{children}</TagsContext.Provider>;\n};\n\nexport const useTags = () => {\n return useContext(TagsContext);\n};\n"]}
|
package/base/ui/UserMenu.d.ts
CHANGED
|
@@ -11,44 +11,20 @@ export interface UserMenuContext {
|
|
|
11
11
|
addMenuItem(item: UserMenuItemData): void;
|
|
12
12
|
}
|
|
13
13
|
export declare function useUserMenu(): UserMenuContext;
|
|
14
|
-
export declare const UserMenuProvider: (Component:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export declare const
|
|
19
|
-
original: React.ComponentType<unknown>;
|
|
20
|
-
originalName: string;
|
|
21
|
-
};
|
|
22
|
-
export declare const UserMenuRenderer: React.FC<unknown> & {
|
|
23
|
-
original: React.ComponentType<unknown>;
|
|
24
|
-
originalName: string;
|
|
25
|
-
};
|
|
26
|
-
export declare const UserMenuHandle: React.FC<unknown> & {
|
|
27
|
-
original: React.ComponentType<unknown>;
|
|
28
|
-
originalName: string;
|
|
29
|
-
};
|
|
30
|
-
export declare const UserMenuHandleRenderer: React.FC<unknown> & {
|
|
31
|
-
original: React.ComponentType<unknown>;
|
|
32
|
-
originalName: string;
|
|
33
|
-
};
|
|
14
|
+
export declare const UserMenuProvider: (Component: React.FC) => React.FC;
|
|
15
|
+
export declare const UserMenu: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
16
|
+
export declare const UserMenuRenderer: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
17
|
+
export declare const UserMenuHandle: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
18
|
+
export declare const UserMenuHandleRenderer: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
34
19
|
export interface UserMenuItemProps {
|
|
35
20
|
menuItem: UserMenuItemData;
|
|
36
21
|
}
|
|
37
|
-
export declare const UserMenuItem:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
export declare const UserMenuItemRenderer: React.FC<unknown> & {
|
|
42
|
-
original: React.ComponentType<unknown>;
|
|
43
|
-
originalName: string;
|
|
44
|
-
};
|
|
45
|
-
export declare const AddUserMenuItem: (props: UserMenuItemProps["menuItem"]) => any;
|
|
22
|
+
export declare const UserMenuItem: import("@webiny/app-admin-core").ComposableFC<UserMenuItemProps>;
|
|
23
|
+
export declare const UserMenuItemRenderer: import("@webiny/app-admin-core").ComposableFC<unknown>;
|
|
24
|
+
export declare const AddUserMenuItem: React.FC<UserMenuItemProps["menuItem"]>;
|
|
46
25
|
export declare type UserMenuItemContext = UserMenuItemData;
|
|
47
26
|
export declare function useUserMenuItem(): UserMenuItemData;
|
|
48
27
|
export interface UserMenuItemsProps {
|
|
49
28
|
menuItems: UserMenuItemData[];
|
|
50
29
|
}
|
|
51
|
-
export declare const UserMenuItems:
|
|
52
|
-
original: React.ComponentType<UserMenuItemsProps>;
|
|
53
|
-
originalName: string;
|
|
54
|
-
};
|
|
30
|
+
export declare const UserMenuItems: import("@webiny/app-admin-core").ComposableFC<UserMenuItemsProps>;
|
package/base/ui/UserMenu.js
CHANGED
|
@@ -4,7 +4,12 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
var _excluded = ["children"];
|
|
5
5
|
import React, { Fragment, useCallback, useEffect, useState } from "react";
|
|
6
6
|
import { makeComposable } from "@webiny/app-admin-core";
|
|
7
|
-
var UserMenuContext = /*#__PURE__*/React.createContext(
|
|
7
|
+
var UserMenuContext = /*#__PURE__*/React.createContext({
|
|
8
|
+
addMenuItem: function addMenuItem() {
|
|
9
|
+
return void 0;
|
|
10
|
+
},
|
|
11
|
+
menuItems: []
|
|
12
|
+
});
|
|
8
13
|
UserMenuContext.displayName = "UserMenuContext";
|
|
9
14
|
export function useUserMenu() {
|
|
10
15
|
return React.useContext(UserMenuContext);
|
|
@@ -70,7 +75,15 @@ export var AddUserMenuItem = function AddUserMenuItem(props) {
|
|
|
70
75
|
}, []);
|
|
71
76
|
return null;
|
|
72
77
|
};
|
|
73
|
-
var UserMenuItemContext = /*#__PURE__*/React.createContext(
|
|
78
|
+
var UserMenuItemContext = /*#__PURE__*/React.createContext({
|
|
79
|
+
element: undefined,
|
|
80
|
+
icon: undefined,
|
|
81
|
+
label: undefined,
|
|
82
|
+
onClick: function onClick() {
|
|
83
|
+
return void 0;
|
|
84
|
+
},
|
|
85
|
+
path: undefined
|
|
86
|
+
});
|
|
74
87
|
UserMenuItemContext.displayName = "UserMenuItemContext";
|
|
75
88
|
export function useUserMenuItem() {
|
|
76
89
|
return React.useContext(UserMenuItemContext);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["UserMenu.tsx"],"names":["React","Fragment","useCallback","useEffect","useState","makeComposable","UserMenuContext","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","setItems","item","items","index","findIndex","i","slice","context","UserMenu","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"mappings":"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","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"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface AdminLayoutProps {
|
|
3
3
|
title?: string;
|
|
4
|
-
children: React.ReactNode;
|
|
5
4
|
}
|
|
6
|
-
export declare const AdminLayout:
|
|
5
|
+
export declare const AdminLayout: React.FC<AdminLayoutProps>;
|
|
7
6
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["AdminLayout.tsx"],"names":["React","Layout","AdminLayout","title","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,MAAT;AAMA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAAyB;AAAA,MAAtBC,KAAsB,QAAtBA,KAAsB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AAC5E,sBAAO,oBAAC,MAAD;AAAQ,IAAA,KAAK,EAAED;AAAf,KAAuBC,QAAvB,CAAP;AACH,CAFM","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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["AppInstaller.tsx"],"names":["React","useEffect","useState","default","localStorage","LoginScreen","useSecurity","CircularProgress","ButtonPrimary","SplitView","LeftPanel","RightPanel","Grid","Cell","Typography","Elevation","useInstaller","Sidebar","Wrapper","alertClass","InnerContent","InstallContent","installerSplitView","SuccessDialog","config","appConfig","AppInstaller","children","tenantId","get","lsKey","wbyVersion","getKey","process","env","REACT_APP_WEBINY_VERSION","markInstallerAsCompleted","set","isInstallerCompleted","finished","setFinished","identity","isInstalled","loading","installers","installer","showNextInstaller","showLogin","onUser","skippingVersions","renderLayout","content","secure","renderBody","length","render","onInstalled","latest","current","availableUpgrades","filter","v","map"],"mappings":"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","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\";\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\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\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 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'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't upgrade your system by skipping versions in between.\n <br />\n <br />\n Here'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 <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n Open Admin Area\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Installer } from "./useInstaller";
|
|
3
|
+
interface SidebarProps {
|
|
4
|
+
allInstallers: Installer[];
|
|
5
|
+
installer: Installer;
|
|
6
|
+
showLogin: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const Sidebar: React.FC<SidebarProps>;
|
|
7
9
|
export default Sidebar;
|
|
@@ -75,18 +75,19 @@ var Note = /*#__PURE__*/styled("div", {
|
|
|
75
75
|
padding: 15
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
-
var Installations = function Installations(
|
|
79
|
-
var title =
|
|
80
|
-
allInstallers =
|
|
81
|
-
installer =
|
|
82
|
-
showLogin =
|
|
78
|
+
var Installations = function Installations(props) {
|
|
79
|
+
var title = props.title,
|
|
80
|
+
allInstallers = props.allInstallers,
|
|
81
|
+
installer = props.installer,
|
|
82
|
+
showLogin = props.showLogin;
|
|
83
83
|
|
|
84
84
|
var renderList = function renderList() {
|
|
85
85
|
var loginItem = /*#__PURE__*/React.createElement("li", {
|
|
86
86
|
key: "login",
|
|
87
87
|
className: "sign-in"
|
|
88
88
|
}, /*#__PURE__*/React.createElement("img", {
|
|
89
|
-
src: signInDivider
|
|
89
|
+
src: signInDivider,
|
|
90
|
+
alt: ""
|
|
90
91
|
}), /*#__PURE__*/React.createElement(Typography, {
|
|
91
92
|
use: "overline",
|
|
92
93
|
className: "note"
|
|
@@ -130,10 +131,10 @@ var Installations = function Installations(_ref) {
|
|
|
130
131
|
}, title)), /*#__PURE__*/React.createElement(List, null, renderList()));
|
|
131
132
|
};
|
|
132
133
|
|
|
133
|
-
var Sidebar = function Sidebar(
|
|
134
|
-
var allInstallers =
|
|
135
|
-
installer =
|
|
136
|
-
showLogin =
|
|
134
|
+
var Sidebar = function Sidebar(_ref) {
|
|
135
|
+
var allInstallers = _ref.allInstallers,
|
|
136
|
+
installer = _ref.installer,
|
|
137
|
+
showLogin = _ref.showLogin;
|
|
137
138
|
var upgrades = allInstallers.filter(function (installer) {
|
|
138
139
|
return installer.type === "upgrade";
|
|
139
140
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Sidebar.tsx"],"names":["React","Fragment","styled","Typography","classSet","webinyLogo","signInDivider","config","appConfig","SidebarWrapper","Logo","padding","borderBottom","img","width","height","List","li","display","alignItems","borderRadius","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","items","i","length","name","secure","installed","prev","push","active","pending","Sidebar","upgrades","filter","type","installations","wbyVersion","getKey","process","env","REACT_APP_WEBINY_VERSION"],"mappings":"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","sourcesContent":["import React, { Fragment } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport classSet from \"classnames\";\n\nimport webinyLogo from \"../../assets/images/webiny-orange-logo.svg\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { Installer } from \"./useInstaller\";\n\nconst SidebarWrapper = styled(\"div\")({});\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n img: {\n width: \"100px\",\n height: \"auto\"\n }\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}\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\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <SidebarWrapper>\n <Logo>\n <img src={webinyLogo} alt=\"Webiny CMS\" />\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 </SidebarWrapper>\n );\n};\nexport default Sidebar;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["Provider","React","AppInstaller","Installer","AppInstallerHOC","Component","AppInstallerProvider","children"],"mappings":"AAAA,SAASA,QAAT;AACA,OAAOC,KAAP,MAAkB,OAAlB;AAEA,SAASC,YAAY,IAAIC,SAAzB;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,SAAD,EAAiD;AACrE,SAAO,SAASC,oBAAT,OAA4C;AAAA,QAAZC,QAAY,QAAZA,QAAY;AAC/C,wBACI,oBAAC,SAAD,qBACI,oBAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ;AAKH,GAND;AAOH,CARD;;AAUA,OAAO,IAAML,YAAY,GAAG,SAAfA,YAAe,GAAM;AAC9B,sBAAO,oBAAC,QAAD;AAAU,IAAA,GAAG,EAAEE;AAAf,IAAP;AACH,CAFM","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"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, Pick<import("react").
|
|
3
|
-
export declare const InstallContent: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, Pick<import("react").ClassAttributes<HTMLElement> & import("react").HTMLAttributes<HTMLElement>, keyof import("react").HTMLAttributes<HTMLElement>>, object>;
|
|
3
|
+
export declare const InstallContent: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
4
4
|
export declare const installerSplitView: string;
|
|
5
|
-
export declare const SuccessDialog: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").
|
|
6
|
-
export declare const InnerContent: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").
|
|
5
|
+
export declare const SuccessDialog: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
6
|
+
export declare const InnerContent: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
7
7
|
export declare const alertClass: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["styled.tsx"],"names":["styled","css","Wrapper","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","height","SuccessDialog","padding","textAlign","p","paddingBottom","InnerContent","position","alertClass","borderLeft"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,SAASC,GAAT,QAAoB,SAApB;AAEA,OAAO,IAAMC,OAAO,gBAAGF,MAAH,CAAU,SAAV;AAAA;AAAA;AAAA,GAAqB;AACrCG,EAAAA,OAAO,EAAE,MAD4B;AAErCC,EAAAA,aAAa,EAAE,QAFsB;AAGrCC,EAAAA,cAAc,EAAE,QAHqB;AAIrCC,EAAAA,SAAS,EAAE,OAJ0B;AAKrCC,EAAAA,KAAK,EAAE,6BAL8B;AAMrC,6BAA2B;AACvBC,IAAAA,UAAU,EAAE;AADW,GANU;AASrCC,EAAAA,EAAE,EAAE;AACAC,IAAAA,SAAS,EAAE,MADX;AAEAC,IAAAA,WAAW,EAAE,6CAFb;AAGAC,IAAAA,EAAE,EAAE;AACAL,MAAAA,KAAK,EAAE,+EADP;AAEAM,MAAAA,mBAAmB,EAAE,WAFrB;AAGAC,MAAAA,mBAAmB,EAAE,aAHrB;AAIAC,MAAAA,QAAQ,EAAE,MAJV;AAKAC,MAAAA,UAAU,EAAE,QALZ;AAMAC,MAAAA,UAAU,EAAE,GANZ;AAOAC,MAAAA,aAAa,EAAE,WAPf;AAQAC,MAAAA,cAAc,EAAE,SARhB;AASAC,MAAAA,aAAa,EAAE,SATf;AAUAC,MAAAA,SAAS,EAAE,MAVX;AAWAC,MAAAA,YAAY,EAAE;AAXd;AAHJ;AATiC,CAArB,CAAb;AA4BP,OAAO,IAAMC,cAAc,gBAAGvB,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACxCwB,EAAAA,QAAQ,EAAE,GAD8B;AAExCC,EAAAA,MAAM,EAAE,kBAFgC;AAGxC,wBAAsB;AAClBC,IAAAA,YAAY,EAAE,CADI;AAElBC,IAAAA,SAAS,EAAE;AAFO;AAHkB,CAAjB,CAApB;AASP,OAAO,IAAMC,kBAAkB,gBAAG3B,GAAG,CAAC;AAClC,+BAA6B;AACzB4B,IAAAA,MAAM,EAAE,OADiB;AAEzB,+CAA2C;AACvCA,MAAAA,MAAM,EAAE;AAD+B;AAFlB;AADK,CAAD,8BAA9B;AASP,OAAO,IAAMC,aAAa,gBAAG9B,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACvC+B,EAAAA,OAAO,EAAE,EAD8B;AAEvCC,EAAAA,SAAS,EAAE,QAF4B;AAGvCC,EAAAA,CAAC,EAAE;AACCC,IAAAA,aAAa,EAAE;AADhB;AAHoC,CAAjB,CAAnB;AAQP,OAAO,IAAMC,YAAY,gBAAGnC,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACtC+B,EAAAA,OAAO,EAAE,EAD6B;AAEtCK,EAAAA,QAAQ,EAAE;AAF4B,CAAjB,CAAlB;AAKP,OAAO,IAAMC,UAAU,gBAAGpC,GAAG,CAAC;AAC1BqC,EAAAA,UAAU,EAAE,eADc;AAE1Bb,EAAAA,MAAM,EAAE,cAFkB;AAG1BM,EAAAA,OAAO,EAAE;AAHiB,CAAD,sBAAtB","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 \".webiny-split-view__inner\": {\n height: \"100vh\",\n \".webiny-split-view__right-panel-wrapper\": {\n height: \"100vh\"\n }\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"]}
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { AdminInstallationPlugin } from "../../types";
|
|
2
|
+
interface UseInstallerParams {
|
|
3
|
+
isInstalled: boolean;
|
|
4
|
+
}
|
|
5
|
+
interface SkippingVersionState {
|
|
6
|
+
current: string;
|
|
7
|
+
latest: string;
|
|
8
|
+
availableUpgrades: string[];
|
|
9
|
+
}
|
|
10
|
+
interface BaseInstaller {
|
|
11
|
+
installed: string | null;
|
|
12
|
+
plugin: AdminInstallationPlugin;
|
|
13
|
+
}
|
|
14
|
+
export interface Installer extends BaseInstaller {
|
|
15
|
+
type: "install" | "upgrade";
|
|
16
|
+
name: string;
|
|
17
|
+
title: string;
|
|
18
|
+
render: AdminInstallationPlugin["render"];
|
|
19
|
+
secure?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const useInstaller: (params: UseInstallerParams) => {
|
|
22
|
+
loading: boolean;
|
|
23
|
+
installers: Installer[];
|
|
24
|
+
installer: Installer;
|
|
25
|
+
showNextInstaller: () => any;
|
|
26
|
+
showLogin: boolean;
|
|
9
27
|
onUser: () => void;
|
|
10
|
-
skippingVersions:
|
|
28
|
+
skippingVersions: SkippingVersionState | null;
|
|
11
29
|
};
|
|
30
|
+
export {};
|