@webiny/app-admin 5.20.0 → 5.22.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/assets/icons/slack-logo.svg +1 -1
  2. package/base/Admin.d.ts +14 -0
  3. package/base/Admin.js +29 -0
  4. package/base/Base.d.ts +2 -0
  5. package/base/Base.js +65 -0
  6. package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
  7. package/base/plugins/AddGraphQLQuerySelection.js +15 -0
  8. package/base/providers/ApolloProvider.d.ts +4 -0
  9. package/base/providers/ApolloProvider.js +14 -0
  10. package/base/providers/TelemetryProvider.d.ts +4 -0
  11. package/base/providers/TelemetryProvider.js +19 -0
  12. package/base/providers/UiStateProvider.d.ts +4 -0
  13. package/base/providers/UiStateProvider.js +10 -0
  14. package/base/providers/ViewCompositionProvider.d.ts +18 -0
  15. package/base/providers/ViewCompositionProvider.js +44 -0
  16. package/base/ui/Brand.d.ts +9 -0
  17. package/base/ui/Brand.js +6 -0
  18. package/base/ui/CenteredView.d.ts +8 -0
  19. package/base/ui/CenteredView.js +27 -0
  20. package/base/ui/Dashboard.d.ts +9 -0
  21. package/base/ui/Dashboard.js +6 -0
  22. package/base/ui/Layout.d.ts +13 -0
  23. package/base/ui/Layout.js +11 -0
  24. package/base/ui/LocaleSelector.d.ts +9 -0
  25. package/base/ui/LocaleSelector.js +6 -0
  26. package/base/ui/LoginScreen.d.ts +9 -0
  27. package/base/ui/LoginScreen.js +12 -0
  28. package/base/ui/Logo.d.ts +14 -0
  29. package/base/ui/Logo.js +20 -0
  30. package/base/ui/Menu.d.ts +35 -0
  31. package/base/ui/Menu.js +80 -0
  32. package/base/ui/Navigation.d.ts +35 -0
  33. package/base/ui/Navigation.js +147 -0
  34. package/base/ui/NotFound.d.ts +9 -0
  35. package/base/ui/NotFound.js +6 -0
  36. package/base/ui/Search.d.ts +28 -0
  37. package/base/ui/Search.js +48 -0
  38. package/base/ui/Tags.d.ts +8 -0
  39. package/base/ui/Tags.js +13 -0
  40. package/base/ui/UserMenu.d.ts +54 -0
  41. package/base/ui/UserMenu.js +86 -0
  42. package/components/AdminLayout.js +5 -31
  43. package/components/AppInstaller/AppInstaller.d.ts +4 -0
  44. package/components/AppInstaller/AppInstaller.js +136 -0
  45. package/components/AppInstaller/index.d.ts +1 -4
  46. package/components/AppInstaller/index.js +13 -133
  47. package/components/AppInstaller/styled.d.ts +4 -4
  48. package/components/EmptyView.js +1 -1
  49. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +2 -2
  50. package/components/FileManager/DropFilesHere.js +1 -1
  51. package/components/FileManager/File.js +2 -2
  52. package/components/FileManager/FileDetails/Tags.js +2 -2
  53. package/components/FileManager/FileDetails.js +6 -6
  54. package/components/FileManager/FileManagerView.js +2 -2
  55. package/components/FileManager/LeftSidebar.js +1 -1
  56. package/components/FileManager/NoPermissionView.js +1 -1
  57. package/components/FloatingActionButton.js +1 -1
  58. package/components/OverlayLayout/OverlayLayout.js +1 -1
  59. package/components/Routes.d.ts +6 -0
  60. package/components/Routes.js +34 -0
  61. package/components/SearchUI.js +1 -1
  62. package/index.d.ts +28 -0
  63. package/index.js +26 -0
  64. package/package.json +28 -32
  65. package/plugins/MenuPlugin.d.ts +18 -1
  66. package/plugins/fileManager/fileDefault.js +1 -1
  67. package/plugins/fileManager/fileImage/DeleteAction.js +1 -1
  68. package/plugins/fileManager/fileImage/EditAction.js +1 -1
  69. package/plugins/globalSearch/SearchBar.d.ts +6 -3
  70. package/plugins/globalSearch/SearchBar.js +3 -2
  71. package/plugins/globalSearch/SearchBarDropdown.js +1 -1
  72. package/plugins/globalSearch/index.d.ts +0 -3
  73. package/plugins/globalSearch/index.js +0 -18
  74. package/plugins/globalSearch/styled.d.ts +3 -3
  75. package/plugins/index.d.ts +1 -1
  76. package/plugins/index.js +2 -4
  77. package/styles/material-theme-assignments.scss +1 -0
  78. package/types.d.ts +1 -10
  79. package/ui/elements/PanelElement.js +2 -1
  80. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +2 -1
  81. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +2 -2
  82. package/ui/elements/form/FileManagerElement/styled.d.ts +9 -9
  83. package/ui/elements/form/FileManagerElement.d.ts +3 -2
  84. package/ui/views/AdminView/ContentElement.js +1 -1
  85. package/ui/views/AdminView/components/Hamburger.js +1 -1
  86. package/ui/views/FormView/FormContentElement.js +2 -1
  87. package/ui/views/OverlayView/HeaderElement.js +1 -1
  88. package/ui/views/OverlayView/HeaderTitleElement.js +1 -1
  89. package/plugins/logo/Logo.d.ts +0 -22
  90. package/plugins/logo/Logo.js +0 -108
  91. package/plugins/logo/index.d.ts +0 -5
  92. package/plugins/logo/index.js +0 -32
  93. package/plugins/menu/documentation.d.ts +0 -4
  94. package/plugins/menu/documentation.js +0 -16
  95. package/plugins/menu/fileManager.d.ts +0 -4
  96. package/plugins/menu/fileManager.js +0 -64
  97. package/plugins/menu/index.d.ts +0 -6
  98. package/plugins/menu/index.js +0 -24
  99. package/plugins/menu/renderers/MenuGroupRenderer.d.ts +0 -7
  100. package/plugins/menu/renderers/MenuGroupRenderer.js +0 -126
  101. package/plugins/menu/renderers/MenuLinkRenderer.d.ts +0 -7
  102. package/plugins/menu/renderers/MenuLinkRenderer.js +0 -52
  103. package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +0 -7
  104. package/plugins/menu/renderers/MenuSectionItemRenderer.js +0 -77
  105. package/plugins/menu/renderers/MenuSectionRenderer.d.ts +0 -7
  106. package/plugins/menu/renderers/MenuSectionRenderer.js +0 -51
  107. package/plugins/menu/slack.d.ts +0 -4
  108. package/plugins/menu/slack.js +0 -16
  109. package/plugins/menu/source.d.ts +0 -4
  110. package/plugins/menu/source.js +0 -16
  111. package/plugins/userMenu/UserMenuElement.d.ts +0 -7
  112. package/plugins/userMenu/UserMenuElement.js +0 -43
  113. package/plugins/userMenu/UserMenuRenderer.d.ts +0 -6
  114. package/plugins/userMenu/UserMenuRenderer.js +0 -47
  115. package/plugins/userMenu/index.d.ts +0 -4
  116. package/plugins/userMenu/index.js +0 -16
  117. package/ui/views/AdminView.d.ts +0 -12
  118. package/ui/views/AdminView.js +0 -90
  119. package/ui/views/NavigationView/ContentElement.d.ts +0 -10
  120. package/ui/views/NavigationView/ContentElement.js +0 -86
  121. package/ui/views/NavigationView/FooterElement.d.ts +0 -13
  122. package/ui/views/NavigationView/FooterElement.js +0 -59
  123. package/ui/views/NavigationView/HeaderElement.d.ts +0 -16
  124. package/ui/views/NavigationView/HeaderElement.js +0 -66
  125. package/ui/views/NavigationView/NavigationViewRenderer.d.ts +0 -6
  126. package/ui/views/NavigationView/NavigationViewRenderer.js +0 -38
  127. package/ui/views/NavigationView/Styled.d.ts +0 -7
  128. package/ui/views/NavigationView/Styled.js +0 -47
  129. package/ui/views/NavigationView/legacyMenu.d.ts +0 -22
  130. package/ui/views/NavigationView/legacyMenu.js +0 -1
  131. package/ui/views/NavigationView/useNavigation.d.ts +0 -6
  132. package/ui/views/NavigationView/useNavigation.js +0 -22
  133. package/ui/views/NavigationView.d.ts +0 -26
  134. package/ui/views/NavigationView.js +0 -204
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import Logo from "./Logo";
3
- import { plugins } from "@webiny/plugins";
4
- import { logoStyle } from "../../ui/views/NavigationView/Styled";
5
- import { UIViewPlugin } from "../../ui/UIView";
6
- import { AdminView } from "../../ui/views/AdminView";
7
- import { NavigationView } from "../../ui/views/NavigationView";
8
- export default (function () {
9
- return [
10
- /* Set logo in the layout header. */
11
- new UIViewPlugin(AdminView, function (view) {
12
- view.getHeaderElement().setLogo( /*#__PURE__*/React.createElement(Logo, {
13
- white: true
14
- }));
15
- }),
16
- /* Set logo in the navigation drawer. */
17
- new UIViewPlugin(NavigationView, function (view) {
18
- view.getHeaderElement().setLogo( /*#__PURE__*/React.createElement(Logo, {
19
- onClick: function onClick() {
20
- return view.getNavigationHook().hideMenu();
21
- }
22
- })); // IMPORTANT: Fetch logo plugin for backwards compatibility.
23
-
24
- var logoPlugin = plugins.byName("admin-menu-logo");
25
-
26
- if (logoPlugin) {
27
- view.getHeaderElement().setLogo( /*#__PURE__*/React.cloneElement(logoPlugin.render(), {
28
- className: logoStyle
29
- }));
30
- }
31
- })];
32
- });
@@ -1,4 +0,0 @@
1
- import { UIViewPlugin } from "../../ui/UIView";
2
- import { NavigationView } from "../../ui/views/NavigationView";
3
- declare const _default: () => UIViewPlugin<NavigationView>;
4
- export default _default;
@@ -1,16 +0,0 @@
1
- import React from "react";
2
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
3
- import { ReactComponent as DocsIcon } from "@svgr/webpack!../../assets/icons/icon-documentation.svg";
4
- import { UIViewPlugin } from "../../ui/UIView";
5
- import { NavigationView } from "../../ui/views/NavigationView";
6
- export default (function () {
7
- return new UIViewPlugin(NavigationView, function (view) {
8
- view.getFooterElement().addMenuElement(new NavigationMenuElement("documentation", {
9
- label: "Documentation",
10
- icon: /*#__PURE__*/React.createElement(DocsIcon, null),
11
- path: "https://docs.webiny.com/",
12
- rel: "noopener noreferrer",
13
- target: "_blank"
14
- }));
15
- });
16
- });
@@ -1,4 +0,0 @@
1
- import { UIViewPlugin } from "../../ui/UIView";
2
- import { NavigationView } from "../../ui/views/NavigationView";
3
- declare const _default: () => UIViewPlugin<NavigationView>[];
4
- export default _default;
@@ -1,64 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import React from "react";
6
- import { css } from "emotion";
7
- import { ListItem, ListItemGraphic } from "@webiny/ui/List";
8
- import { Icon } from "@webiny/ui/Icon";
9
- import { ReactComponent as FileIcon } from "@svgr/webpack!../../assets/icons/insert_drive_file-24px.svg";
10
- import { FileManager } from "../../components";
11
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
12
- import { UIRenderer } from "../../ui/UIRenderer";
13
- import { UIViewPlugin } from "../../ui/UIView";
14
- import { NavigationView } from "../../ui/views/NavigationView";
15
- var listItemStyle = /*#__PURE__*/css({
16
- ".mdc-list &.mdc-list-item:hover": {
17
- cursor: "pointer",
18
- backgroundColor: "var(--mdc-theme-background)"
19
- }
20
- }, "label:listItemStyle;");
21
-
22
- var FileManagerMenuItemRenderer = /*#__PURE__*/function (_UIRenderer) {
23
- _inherits(FileManagerMenuItemRenderer, _UIRenderer);
24
-
25
- var _super = _createSuper(FileManagerMenuItemRenderer);
26
-
27
- function FileManagerMenuItemRenderer() {
28
- _classCallCheck(this, FileManagerMenuItemRenderer);
29
-
30
- return _super.apply(this, arguments);
31
- }
32
-
33
- _createClass(FileManagerMenuItemRenderer, [{
34
- key: "render",
35
- value: function render(_ref) {
36
- var element = _ref.element;
37
- return /*#__PURE__*/React.createElement(FileManager, null, function (_ref2) {
38
- var showFileManager = _ref2.showFileManager;
39
- return /*#__PURE__*/React.createElement(ListItem, {
40
- ripple: false,
41
- onClick: showFileManager,
42
- className: listItemStyle,
43
- "data-testid": element.config.testId
44
- }, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
45
- icon: element.config.icon
46
- })), element.config.label);
47
- });
48
- }
49
- }]);
50
-
51
- return FileManagerMenuItemRenderer;
52
- }(UIRenderer);
53
-
54
- export default (function () {
55
- return [new UIViewPlugin(NavigationView, function (view) {
56
- var element = new NavigationMenuElement("fileManager", {
57
- label: "File Manager",
58
- icon: /*#__PURE__*/React.createElement(FileIcon, null),
59
- testId: "admin-drawer-footer-menu-file-manager"
60
- });
61
- element.addRenderer(new FileManagerMenuItemRenderer());
62
- view.getFooterElement().addMenuElement(element);
63
- })];
64
- });
@@ -1,6 +0,0 @@
1
- import { UIElementPlugin } from "../../ui/UIElement";
2
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
3
- import { UIViewPlugin } from "../../ui/UIView";
4
- import { NavigationView } from "../../ui/views/NavigationView";
5
- declare const _default: (UIViewPlugin<NavigationView> | UIElementPlugin<NavigationMenuElement<import("../../ui/elements/NavigationMenuElement").NavigationMenuElementConfig>>)[];
6
- export default _default;
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import { IconButton } from "@webiny/ui/Button";
3
- import { ReactComponent as MenuIcon } from "@svgr/webpack!../../assets/icons/baseline-menu-24px.svg";
4
- import { MenuGroupRenderer } from "./renderers/MenuGroupRenderer";
5
- import { MenuSectionRenderer } from "./renderers/MenuSectionRenderer";
6
- import { MenuSectionItemRenderer } from "./renderers/MenuSectionItemRenderer";
7
- import { MenuLinkRenderer } from "./renderers/MenuLinkRenderer";
8
- import { UIElementPlugin } from "../../ui/UIElement";
9
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
10
- import { UIViewPlugin } from "../../ui/UIView";
11
- import { NavigationView } from "../../ui/views/NavigationView";
12
- export default [new UIViewPlugin(NavigationView, function (view) {
13
- view.getHeaderElement().setMenuButton( /*#__PURE__*/React.createElement(IconButton, {
14
- icon: /*#__PURE__*/React.createElement(MenuIcon, null),
15
- onClick: function onClick() {
16
- return view.getNavigationHook().hideMenu();
17
- }
18
- }));
19
- }), new UIElementPlugin(NavigationMenuElement, function (element) {
20
- element.addRenderer(new MenuGroupRenderer());
21
- element.addRenderer(new MenuSectionRenderer());
22
- element.addRenderer(new MenuSectionItemRenderer());
23
- element.addRenderer(new MenuLinkRenderer());
24
- })];
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { UIRenderer, UIRenderParams } from "../../../ui/UIRenderer";
3
- import { NavigationMenuElement } from "../../../ui/elements/NavigationMenuElement";
4
- export declare class MenuGroupRenderer extends UIRenderer<NavigationMenuElement> {
5
- canRender(element: NavigationMenuElement): boolean;
6
- render({ element, props, next }: UIRenderParams<NavigationMenuElement>): React.ReactNode;
7
- }
@@ -1,126 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _createSuper from "@babel/runtime/helpers/createSuper";
7
- import React, { Fragment } from "react";
8
- import { css } from "emotion";
9
- import { Transition } from "react-transition-group";
10
- import classNames from "classnames";
11
- import { UIRenderer } from "../../../ui/UIRenderer";
12
- import { List, ListItem, ListItemGraphic, ListItemMeta } from "@webiny/ui/List";
13
- import { IconButton } from "@webiny/ui/Button";
14
- import { ReactComponent as UpIcon } from "@svgr/webpack!../../../assets/icons/round-keyboard_arrow_up-24px.svg";
15
- import { ReactComponent as DownIcon } from "@svgr/webpack!../../../assets/icons/round-keyboard_arrow_down-24px.svg";
16
- import { ContentElement } from "../../../ui/views/NavigationView/ContentElement";
17
- import { Link } from "@webiny/react-router";
18
- var defaultStyle = {
19
- transform: "translateY(-20px)",
20
- opacity: 0,
21
- transitionProperty: "transform, opacity",
22
- transitionTimingFunction: "cubic-bezier(0, 0, .2, 1)",
23
- transitionDuration: "100ms",
24
- willChange: "opacity, transform"
25
- };
26
- var transitionStyles = {
27
- entering: {
28
- transform: "translateY(-20px)",
29
- opacity: 0
30
- },
31
- entered: {
32
- transform: "translateY(0px)",
33
- opacity: 1
34
- }
35
- };
36
- var menuTitle = /*#__PURE__*/css({
37
- ".mdc-drawer &.mdc-list": {
38
- borderBottom: "1px solid var(--mdc-theme-on-background)",
39
- padding: 0,
40
- ".mdc-list-item": {
41
- margin: 0,
42
- padding: "0 15px",
43
- height: "48px",
44
- width: "100%",
45
- fontWeight: 600,
46
- boxSizing: "border-box"
47
- }
48
- }
49
- }, "label:menuTitle;");
50
- var menuTitleActive = /*#__PURE__*/css({
51
- backgroundColor: "var(--mdc-theme-background)"
52
- }, "label:menuTitleActive;");
53
- export var MenuGroupRenderer = /*#__PURE__*/function (_UIRenderer) {
54
- _inherits(MenuGroupRenderer, _UIRenderer);
55
-
56
- var _super = _createSuper(MenuGroupRenderer);
57
-
58
- function MenuGroupRenderer() {
59
- _classCallCheck(this, MenuGroupRenderer);
60
-
61
- return _super.apply(this, arguments);
62
- }
63
-
64
- _createClass(MenuGroupRenderer, [{
65
- key: "canRender",
66
- value: function canRender(element) {
67
- var isInContent = Boolean(element.getParentByType(ContentElement));
68
- return element.depth === 1 && isInContent && !element.config.path;
69
- }
70
- }, {
71
- key: "render",
72
- value: function render(_ref) {
73
- var element = _ref.element,
74
- props = _ref.props,
75
- next = _ref.next;
76
- var hasChildren = element.getChildren().length > 0;
77
-
78
- if (!hasChildren) {
79
- return null;
80
- }
81
-
82
- var withLink = function withLink(content) {
83
- var defaultOnClick = element.getView().getNavigationHook().hideMenu;
84
- var onClick = element.config.onClick || defaultOnClick;
85
- return /*#__PURE__*/React.createElement(Link, {
86
- to: element.config.path,
87
- "data-testid": element.config.testId,
88
- onClick: onClick ? function () {
89
- return onClick(props);
90
- } : null
91
- }, content);
92
- };
93
-
94
- var menuItem = /*#__PURE__*/React.createElement(List, {
95
- className: classNames(menuTitle, _defineProperty({}, menuTitleActive, element.isExpanded))
96
- }, /*#__PURE__*/React.createElement(ListItem, {
97
- "data-testid": element.config.testId,
98
- onClick: function onClick() {
99
- if (typeof element.config.onClick === "function") {
100
- element.config.onClick(function () {
101
- return element.toggleElement();
102
- });
103
- } else {
104
- element.toggleElement();
105
- }
106
- }
107
- }, element.config.icon && /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(IconButton, {
108
- icon: element.config.icon
109
- })), element.config.label, hasChildren ? /*#__PURE__*/React.createElement(ListItemMeta, null, /*#__PURE__*/React.createElement(IconButton, {
110
- icon: element.isExpanded ? /*#__PURE__*/React.createElement(UpIcon, null) : /*#__PURE__*/React.createElement(DownIcon, null)
111
- })) : null));
112
- return /*#__PURE__*/React.createElement(Fragment, null, element.config.path ? withLink(menuItem) : menuItem, hasChildren ? /*#__PURE__*/React.createElement(Transition, {
113
- in: element.isExpanded,
114
- timeout: 100,
115
- appear: true,
116
- unmountOnExit: true
117
- }, function (state) {
118
- return /*#__PURE__*/React.createElement("div", {
119
- style: _objectSpread(_objectSpread({}, defaultStyle), transitionStyles[state])
120
- }, next());
121
- }) : null);
122
- }
123
- }]);
124
-
125
- return MenuGroupRenderer;
126
- }(UIRenderer);
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { UIRenderer, UIRenderParams } from "../../../ui/UIRenderer";
3
- import { NavigationMenuElement } from "../../../ui/elements/NavigationMenuElement";
4
- export declare class MenuLinkRenderer extends UIRenderer<NavigationMenuElement> {
5
- canRender(element: NavigationMenuElement): boolean;
6
- render({ element, props }: UIRenderParams<NavigationMenuElement>): React.ReactNode;
7
- }
@@ -1,52 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import React from "react";
6
- import { Link } from "@webiny/react-router";
7
- import { ListItem, ListItemGraphic } from "@webiny/ui/List";
8
- import { UIRenderer } from "../../../ui/UIRenderer";
9
- import { Icon } from "@webiny/ui/Icon";
10
- import { FooterElement } from "../../../ui/views/NavigationView/FooterElement";
11
- export var MenuLinkRenderer = /*#__PURE__*/function (_UIRenderer) {
12
- _inherits(MenuLinkRenderer, _UIRenderer);
13
-
14
- var _super = _createSuper(MenuLinkRenderer);
15
-
16
- function MenuLinkRenderer() {
17
- _classCallCheck(this, MenuLinkRenderer);
18
-
19
- return _super.apply(this, arguments);
20
- }
21
-
22
- _createClass(MenuLinkRenderer, [{
23
- key: "canRender",
24
- value: function canRender(element) {
25
- var isInFooter = Boolean(element.getParentByType(FooterElement));
26
- return element.depth === 1 && isInFooter;
27
- }
28
- }, {
29
- key: "render",
30
- value: function render(_ref) {
31
- var element = _ref.element,
32
- props = _ref.props;
33
- var defaultOnClick = element.getView().getNavigationHook().hideMenu;
34
- var onClick = element.config.onClick || defaultOnClick;
35
- return /*#__PURE__*/React.createElement(Link, {
36
- to: element.config.path,
37
- "data-testid": element.config.testId,
38
- onClick: onClick ? function () {
39
- return onClick(props);
40
- } : null,
41
- rel: element.config.rel,
42
- target: element.config.target
43
- }, /*#__PURE__*/React.createElement(ListItem, {
44
- ripple: false
45
- }, element.config.icon ? /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
46
- icon: element.config.icon
47
- })) : null, element.config.label));
48
- }
49
- }]);
50
-
51
- return MenuLinkRenderer;
52
- }(UIRenderer);
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { UIRenderer, UIRenderParams } from "../../../ui/UIRenderer";
3
- import { NavigationMenuElement } from "../../../ui/elements/NavigationMenuElement";
4
- export declare class MenuSectionItemRenderer extends UIRenderer<NavigationMenuElement> {
5
- canRender(element: NavigationMenuElement): boolean;
6
- render({ element, props }: UIRenderParams<NavigationMenuElement>): React.ReactNode;
7
- }
@@ -1,77 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import React from "react";
6
- import { css } from "emotion";
7
- import { Link } from "@webiny/react-router";
8
- import { List, ListItem } from "@webiny/ui/List";
9
- import { UIRenderer } from "../../../ui/UIRenderer";
10
- var linkStyle = /*#__PURE__*/css({
11
- color: "var(--mdc-theme-text-primary-on-background)",
12
- textDecoration: "none",
13
- display: "flex",
14
- alignItems: "center",
15
- width: "100%",
16
- height: "100%",
17
- outline: "none",
18
- paddingLeft: 65,
19
- "&:hover": {
20
- textDecoration: "none"
21
- }
22
- }, "label:linkStyle;");
23
- var submenuItems = /*#__PURE__*/css({
24
- ".mdc-drawer &.mdc-list-item": {
25
- paddingLeft: 0
26
- }
27
- }, "label:submenuItems;");
28
- var submenuList = /*#__PURE__*/css({
29
- "&.mdc-list": {
30
- padding: 0
31
- }
32
- }, "label:submenuList;");
33
- export var MenuSectionItemRenderer = /*#__PURE__*/function (_UIRenderer) {
34
- _inherits(MenuSectionItemRenderer, _UIRenderer);
35
-
36
- var _super = _createSuper(MenuSectionItemRenderer);
37
-
38
- function MenuSectionItemRenderer() {
39
- _classCallCheck(this, MenuSectionItemRenderer);
40
-
41
- return _super.apply(this, arguments);
42
- }
43
-
44
- _createClass(MenuSectionItemRenderer, [{
45
- key: "canRender",
46
- value: function canRender(element) {
47
- return [2, 3].includes(element.depth) && Boolean(element.config.path);
48
- }
49
- }, {
50
- key: "render",
51
- value: function render(_ref) {
52
- var element = _ref.element,
53
- props = _ref.props;
54
- var defaultOnClick = element.getView().getNavigationHook().hideMenu;
55
- var onClick = element.config.onClick || defaultOnClick;
56
- return /*#__PURE__*/React.createElement(List, {
57
- className: submenuList
58
- }, /*#__PURE__*/React.createElement(ListItem, {
59
- className: submenuItems,
60
- "data-testid": element.config.testId
61
- }, element.config.path ? /*#__PURE__*/React.createElement(Link, {
62
- className: linkStyle,
63
- to: element.config.path,
64
- onClick: onClick ? function () {
65
- return onClick(props);
66
- } : null
67
- }, element.config.label) : /*#__PURE__*/React.createElement("span", {
68
- onClick: onClick ? function () {
69
- return onClick(props);
70
- } : null,
71
- className: linkStyle
72
- }, element.config.label)));
73
- }
74
- }]);
75
-
76
- return MenuSectionItemRenderer;
77
- }(UIRenderer);
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { UIRenderer, UIRenderParams } from "../../../ui/UIRenderer";
3
- import { NavigationMenuElement } from "../../../ui/elements/NavigationMenuElement";
4
- export declare class MenuSectionRenderer extends UIRenderer<NavigationMenuElement> {
5
- canRender(element: NavigationMenuElement): boolean;
6
- render({ element, next }: UIRenderParams<NavigationMenuElement>): React.ReactNode;
7
- }
@@ -1,51 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import React, { Fragment } from "react";
6
- import { css } from "emotion";
7
- import { Typography } from "@webiny/ui/Typography";
8
- import { UIRenderer } from "../../../ui/UIRenderer";
9
- var menuSectionTitle = /*#__PURE__*/css({
10
- marginLeft: 20,
11
- display: "flex",
12
- alignItems: "center",
13
- color: "var(--mdc-theme-on-surface)"
14
- }, "label:menuSectionTitle;");
15
- var iconWrapper = /*#__PURE__*/css({
16
- marginRight: 5,
17
- color: "var(--mdc-theme-on-surface)"
18
- }, "label:iconWrapper;");
19
- export var MenuSectionRenderer = /*#__PURE__*/function (_UIRenderer) {
20
- _inherits(MenuSectionRenderer, _UIRenderer);
21
-
22
- var _super = _createSuper(MenuSectionRenderer);
23
-
24
- function MenuSectionRenderer() {
25
- _classCallCheck(this, MenuSectionRenderer);
26
-
27
- return _super.apply(this, arguments);
28
- }
29
-
30
- _createClass(MenuSectionRenderer, [{
31
- key: "canRender",
32
- value: function canRender(element) {
33
- return element.depth === 2;
34
- }
35
- }, {
36
- key: "render",
37
- value: function render(_ref) {
38
- var element = _ref.element,
39
- next = _ref.next;
40
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
41
- className: menuSectionTitle
42
- }, /*#__PURE__*/React.createElement("div", {
43
- className: iconWrapper
44
- }, element.config.icon), /*#__PURE__*/React.createElement(Typography, {
45
- use: "overline"
46
- }, element.config.label)), next());
47
- }
48
- }]);
49
-
50
- return MenuSectionRenderer;
51
- }(UIRenderer);
@@ -1,4 +0,0 @@
1
- import { UIViewPlugin } from "../../ui/UIView";
2
- import { NavigationView } from "../../ui/views/NavigationView";
3
- declare const _default: () => UIViewPlugin<NavigationView>;
4
- export default _default;
@@ -1,16 +0,0 @@
1
- import React from "react";
2
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
3
- import { ReactComponent as SlackIcon } from "@svgr/webpack!../../assets/icons/slack-logo.svg";
4
- import { UIViewPlugin } from "../../ui/UIView";
5
- import { NavigationView } from "../../ui/views/NavigationView";
6
- export default (function () {
7
- return new UIViewPlugin(NavigationView, function (view) {
8
- view.getFooterElement().addMenuElement(new NavigationMenuElement("slack", {
9
- label: "Slack",
10
- icon: /*#__PURE__*/React.createElement(SlackIcon, null),
11
- path: "https://www.webiny.com/slack/",
12
- rel: "noopener noreferrer",
13
- target: "_blank"
14
- }));
15
- });
16
- });
@@ -1,4 +0,0 @@
1
- import { UIViewPlugin } from "../../ui/UIView";
2
- import { NavigationView } from "../../ui/views/NavigationView";
3
- declare const _default: () => UIViewPlugin<NavigationView>;
4
- export default _default;
@@ -1,16 +0,0 @@
1
- import React from "react";
2
- import { NavigationMenuElement } from "../../ui/elements/NavigationMenuElement";
3
- import { ReactComponent as GithubIcon } from "@svgr/webpack!../../assets/icons/github-brands.svg";
4
- import { UIViewPlugin } from "../../ui/UIView";
5
- import { NavigationView } from "../../ui/views/NavigationView";
6
- export default (function () {
7
- return new UIViewPlugin(NavigationView, function (view) {
8
- view.getFooterElement().addMenuElement(new NavigationMenuElement("github", {
9
- label: "Source",
10
- icon: /*#__PURE__*/React.createElement(GithubIcon, null),
11
- path: "https://github.com/webiny/webiny-js",
12
- rel: "noopener noreferrer",
13
- target: "_blank"
14
- }));
15
- });
16
- });
@@ -1,7 +0,0 @@
1
- import { UIElement } from "@webiny/ui-composer/UIElement";
2
- export declare class UserMenuElement extends UIElement {
3
- private _menuHandleElement;
4
- constructor();
5
- setMenuHandleElement(element: UIElement): void;
6
- getMenuHandleElement(): UIElement<import("@webiny/ui-composer/UIElement").UIElementConfig<any>>;
7
- }
@@ -1,43 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _createSuper from "@babel/runtime/helpers/createSuper";
6
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import { UIElement } from "@webiny/ui-composer/UIElement";
8
- import { UserMenuRenderer } from "./UserMenuRenderer";
9
- export var UserMenuElement = /*#__PURE__*/function (_UIElement) {
10
- _inherits(UserMenuElement, _UIElement);
11
-
12
- var _super = _createSuper(UserMenuElement);
13
-
14
- function UserMenuElement() {
15
- var _this;
16
-
17
- _classCallCheck(this, UserMenuElement);
18
-
19
- _this = _super.call(this, "userMenu");
20
-
21
- _defineProperty(_assertThisInitialized(_this), "_menuHandleElement", void 0);
22
-
23
- _this.useGrid(false);
24
-
25
- _this.addRenderer(new UserMenuRenderer());
26
-
27
- return _this;
28
- }
29
-
30
- _createClass(UserMenuElement, [{
31
- key: "setMenuHandleElement",
32
- value: function setMenuHandleElement(element) {
33
- this._menuHandleElement = element;
34
- }
35
- }, {
36
- key: "getMenuHandleElement",
37
- value: function getMenuHandleElement() {
38
- return this._menuHandleElement;
39
- }
40
- }]);
41
-
42
- return UserMenuElement;
43
- }(UIElement);
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { UIRenderer, UIRenderParams } from "../../ui/UIRenderer";
3
- import { UserMenuElement } from "./UserMenuElement";
4
- export declare class UserMenuRenderer extends UIRenderer<UserMenuElement> {
5
- render({ element, props, next }: UIRenderParams<UserMenuElement>): React.ReactNode;
6
- }
@@ -1,47 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import React from "react";
6
- import { UIRenderer } from "../../ui/UIRenderer";
7
- import { css } from "emotion";
8
- import { Menu } from "@webiny/ui/Menu";
9
- import { TopAppBarActionItem } from "@webiny/ui/TopAppBar";
10
- import { List } from "@webiny/ui/List";
11
- var menuDialog = /*#__PURE__*/css({
12
- "&.mdc-menu": {
13
- minWidth: 300
14
- }
15
- }, "label:menuDialog;");
16
- export var UserMenuRenderer = /*#__PURE__*/function (_UIRenderer) {
17
- _inherits(UserMenuRenderer, _UIRenderer);
18
-
19
- var _super = _createSuper(UserMenuRenderer);
20
-
21
- function UserMenuRenderer() {
22
- _classCallCheck(this, UserMenuRenderer);
23
-
24
- return _super.apply(this, arguments);
25
- }
26
-
27
- _createClass(UserMenuRenderer, [{
28
- key: "render",
29
- value: function render(_ref) {
30
- var element = _ref.element,
31
- props = _ref.props,
32
- next = _ref.next;
33
- var handle = element.getMenuHandleElement();
34
- return /*#__PURE__*/React.createElement(Menu, {
35
- className: menuDialog,
36
- anchor: "topEnd",
37
- handle: /*#__PURE__*/React.createElement(TopAppBarActionItem, {
38
- icon: /*#__PURE__*/React.createElement("div", null, handle ? handle.render(props) : null)
39
- })
40
- }, /*#__PURE__*/React.createElement(List, {
41
- "data-testid": "logged-in-user-menu-list"
42
- }, next()));
43
- }
44
- }]);
45
-
46
- return UserMenuRenderer;
47
- }(UIRenderer);