@webiny/app-admin-rmwc 0.0.0-unstable.40876133bb → 0.0.0-unstable.496cf268ac

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 (40) hide show
  1. package/index.js +11 -13
  2. package/index.js.map +1 -1
  3. package/modules/Brand/index.js +3 -18
  4. package/modules/Brand/index.js.map +1 -1
  5. package/modules/Dashboard/Welcome.js +3 -26
  6. package/modules/Dashboard/Welcome.js.map +1 -1
  7. package/modules/Dashboard/index.js +0 -8
  8. package/modules/Dashboard/index.js.map +1 -1
  9. package/modules/Layout.js +1 -10
  10. package/modules/Layout.js.map +1 -1
  11. package/modules/Navigation/Hamburger.js +3 -14
  12. package/modules/Navigation/Hamburger.js.map +1 -1
  13. package/modules/Navigation/Styled.d.ts +9 -3
  14. package/modules/Navigation/Styled.js +0 -4
  15. package/modules/Navigation/Styled.js.map +1 -1
  16. package/modules/Navigation/index.js +6 -42
  17. package/modules/Navigation/index.js.map +1 -1
  18. package/modules/Navigation/renderers/MenuElementRenderer.js +1 -8
  19. package/modules/Navigation/renderers/MenuElementRenderer.js.map +1 -1
  20. package/modules/Navigation/renderers/MenuGroupRenderer.js +6 -43
  21. package/modules/Navigation/renderers/MenuGroupRenderer.js.map +1 -1
  22. package/modules/Navigation/renderers/MenuLinkRenderer.js +3 -20
  23. package/modules/Navigation/renderers/MenuLinkRenderer.js.map +1 -1
  24. package/modules/Navigation/renderers/MenuSectionItemRenderer.js +3 -18
  25. package/modules/Navigation/renderers/MenuSectionItemRenderer.js.map +1 -1
  26. package/modules/Navigation/renderers/MenuSectionRenderer.js +2 -14
  27. package/modules/Navigation/renderers/MenuSectionRenderer.js.map +1 -1
  28. package/modules/NotFound/index.js +0 -13
  29. package/modules/NotFound/index.js.map +1 -1
  30. package/modules/Overlays/Dialog.js +16 -23
  31. package/modules/Overlays/Dialog.js.map +1 -1
  32. package/modules/Overlays/Snackbar.js +0 -9
  33. package/modules/Overlays/Snackbar.js.map +1 -1
  34. package/modules/Overlays/index.js +0 -9
  35. package/modules/Overlays/index.js.map +1 -1
  36. package/modules/Search/index.js +1 -7
  37. package/modules/Search/index.js.map +1 -1
  38. package/modules/UserMenu/index.js +11 -38
  39. package/modules/UserMenu/index.js.map +1 -1
  40. package/package.json +14 -13
@@ -1,71 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.NavigationImpl = exports.Navigation = void 0;
11
9
  exports.useNavigation = useNavigation;
12
-
13
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
-
15
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
-
17
12
  var _react = _interopRequireWildcard(require("react"));
18
-
19
13
  var _Drawer = require("@webiny/ui/Drawer");
20
-
21
14
  var _appAdmin = require("@webiny/app-admin");
22
-
23
15
  var _Hamburger = _interopRequireDefault(require("./Hamburger"));
24
-
25
16
  var _MenuGroupRenderer = require("./renderers/MenuGroupRenderer");
26
-
27
17
  var _MenuSectionItemRenderer = require("./renderers/MenuSectionItemRenderer");
28
-
29
18
  var _MenuSectionRenderer = require("./renderers/MenuSectionRenderer");
30
-
31
19
  var _MenuLinkRenderer = require("./renderers/MenuLinkRenderer");
32
-
33
20
  var _MenuElementRenderer = require("./renderers/MenuElementRenderer");
34
-
35
21
  var _List = require("@webiny/ui/List");
36
-
37
22
  var _Styled = require("./Styled");
38
-
39
23
  var _config = require("@webiny/app/config");
40
-
41
24
  var _Typography = require("@webiny/ui/Typography");
42
-
43
25
  var NavigationContext = /*#__PURE__*/_react.default.createContext({
44
26
  visible: false,
45
27
  setVisible: function setVisible() {
46
28
  return void 0;
47
29
  }
48
30
  });
49
-
50
31
  NavigationContext.displayName = "NavigationContext";
51
-
52
32
  function useNavigation() {
53
33
  return (0, _react.useContext)(NavigationContext);
54
34
  }
55
-
56
35
  var BrandImpl = function BrandImpl(Brand) {
57
36
  return function BrandWithHamburger() {
58
37
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Hamburger.default, null), /*#__PURE__*/_react.default.createElement(Brand, null));
59
38
  };
60
39
  };
61
-
62
40
  var NavigationProvider = function NavigationProvider(Component) {
63
41
  return function NavigationProvider(props) {
64
42
  var _useState = (0, _react.useState)(false),
65
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
66
- visible = _useState2[0],
67
- setVisible = _useState2[1];
68
-
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
+ visible = _useState2[0],
45
+ setVisible = _useState2[1];
69
46
  var context = (0, _react.useMemo)(function () {
70
47
  return {
71
48
  visible: visible,
@@ -77,16 +54,13 @@ var NavigationProvider = function NavigationProvider(Component) {
77
54
  }, /*#__PURE__*/_react.default.createElement(Component, props));
78
55
  };
79
56
  };
80
-
81
57
  var NavigationImpl = function NavigationImpl() {
82
58
  return function Navigation() {
83
59
  var _useAdminNavigation = (0, _appAdmin.useNavigation)(),
84
- menuItems = _useAdminNavigation.menuItems;
85
-
60
+ menuItems = _useAdminNavigation.menuItems;
86
61
  var _useNavigation = useNavigation(),
87
- visible = _useNavigation.visible,
88
- setVisible = _useNavigation.setVisible;
89
-
62
+ visible = _useNavigation.visible,
63
+ setVisible = _useNavigation.setVisible;
90
64
  var hideDrawer = (0, _react.useCallback)(function () {
91
65
  setVisible(false);
92
66
  }, []);
@@ -100,9 +74,7 @@ var NavigationImpl = function NavigationImpl() {
100
74
  return (m.tags || []).includes("footer");
101
75
  });
102
76
  }, [menuItems]);
103
-
104
77
  var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
105
-
106
78
  return /*#__PURE__*/_react.default.createElement(_Drawer.Drawer, {
107
79
  modal: true,
108
80
  open: visible,
@@ -125,25 +97,19 @@ var NavigationImpl = function NavigationImpl() {
125
97
  }, "Webiny v", wbyVersion)))));
126
98
  };
127
99
  };
128
-
129
100
  exports.NavigationImpl = NavigationImpl;
130
-
131
101
  var menuSorter = function menuSorter(a, b) {
132
102
  if (a.pin === b.pin) {
133
103
  return (a.label || "").localeCompare(b.label || "");
134
104
  }
135
-
136
105
  if (a.pin) {
137
106
  return a.pin === "first" ? -1 : 1;
138
107
  }
139
-
140
108
  if (b.pin) {
141
109
  return b.pin === "first" ? 1 : -1;
142
110
  }
143
-
144
111
  return (a.label || "").localeCompare(b.label || "");
145
112
  };
146
-
147
113
  var SortedMenuItems = function SortedMenuItems(MenuItems) {
148
114
  return function SortedMenuItems(_ref) {
149
115
  var menuItems = _ref.menuItems;
@@ -152,7 +118,6 @@ var SortedMenuItems = function SortedMenuItems(MenuItems) {
152
118
  });
153
119
  };
154
120
  };
155
-
156
121
  var Navigation = function Navigation() {
157
122
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_appAdmin.Provider, {
158
123
  hoc: NavigationProvider
@@ -170,5 +135,4 @@ var Navigation = function Navigation() {
170
135
  with: [_MenuGroupRenderer.MenuGroupRenderer, _MenuSectionItemRenderer.MenuSectionItemRenderer, _MenuSectionRenderer.MenuSectionRenderer, _MenuLinkRenderer.MenuLinkRenderer, _MenuElementRenderer.MenuElementRenderer]
171
136
  }));
172
137
  };
173
-
174
138
  exports.Navigation = Navigation;
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","React","createContext","visible","setVisible","displayName","useNavigation","useContext","BrandImpl","Brand","BrandWithHamburger","NavigationProvider","Component","props","useState","context","useMemo","NavigationImpl","Navigation","useAdminNavigation","menuItems","hideDrawer","useCallback","mainMenu","filter","m","tags","includes","footerMenu","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","navHeader","navContent","subFooter","menuSorter","a","b","pin","label","localeCompare","SortedMenuItems","MenuItems","sort","NavigationSpec","BrandSpec","MenuItemRenderer","MenuGroupRenderer","MenuSectionItemRenderer","MenuSectionRenderer","MenuLinkRenderer","MenuElementRenderer"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useContext, useMemo, useState } from \"react\";\nimport { Drawer, DrawerContent, DrawerHeader } from \"@webiny/ui/Drawer\";\nimport {\n Compose,\n Provider,\n NavigationRenderer as NavigationSpec,\n MenuItems,\n MenuItemRenderer,\n Brand as BrandSpec,\n useNavigation as useAdminNavigation,\n MenuData,\n MenuItemsProps,\n HigherOrderComponent\n} from \"@webiny/app-admin\";\nimport Hamburger from \"./Hamburger\";\nimport { MenuGroupRenderer } from \"./renderers/MenuGroupRenderer\";\nimport { MenuSectionItemRenderer } from \"./renderers/MenuSectionItemRenderer\";\nimport { MenuSectionRenderer } from \"./renderers/MenuSectionRenderer\";\nimport { MenuLinkRenderer } from \"./renderers/MenuLinkRenderer\";\nimport { MenuElementRenderer } from \"./renderers/MenuElementRenderer\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { MenuFooter, subFooter, MenuHeader, navHeader, navContent } from \"./Styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\ninterface NavigationContext {\n visible: boolean;\n setVisible(visible: boolean): void;\n}\n\nconst NavigationContext = React.createContext<NavigationContext>({\n visible: false,\n setVisible: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation(): NavigationContext {\n return useContext(NavigationContext);\n}\n\nconst BrandImpl: HigherOrderComponent = Brand => {\n return function BrandWithHamburger() {\n return (\n <Fragment>\n <Hamburger />\n <Brand />\n </Fragment>\n );\n };\n};\n\nconst NavigationProvider = (Component: React.FC): React.FC => {\n return function NavigationProvider(props) {\n const [visible, setVisible] = useState(false);\n\n const context = useMemo(() => ({ visible, setVisible }), [visible]);\n\n return (\n <NavigationContext.Provider value={context}>\n <Component {...props} />\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const NavigationImpl = (): React.FC => {\n return function Navigation() {\n const { menuItems } = useAdminNavigation();\n const { visible, setVisible } = useNavigation();\n\n const hideDrawer = useCallback(() => {\n setVisible(false);\n }, []);\n\n const mainMenu = useMemo(\n () => menuItems.filter(m => !(m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const footerMenu = useMemo(\n () => menuItems.filter(m => (m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <Drawer modal open={visible} onClose={hideDrawer}>\n <DrawerHeader className={navHeader}>\n <MenuHeader>\n <BrandSpec />\n </MenuHeader>\n </DrawerHeader>\n <DrawerContent className={navContent}>\n <MenuItems menuItems={mainMenu} />\n </DrawerContent>\n <MenuFooter>\n <List nonInteractive>\n <MenuItems menuItems={footerMenu} />\n <ListItem ripple={false} className={subFooter}>\n <Typography use={\"body2\"}>Webiny v{wbyVersion}</Typography>\n </ListItem>\n </List>\n </MenuFooter>\n </Drawer>\n );\n };\n};\n\nconst menuSorter = (a: MenuData, b: MenuData): number => {\n if (a.pin === b.pin) {\n return (a.label || \"\").localeCompare(b.label || \"\");\n }\n\n if (a.pin) {\n return a.pin === \"first\" ? -1 : 1;\n }\n\n if (b.pin) {\n return b.pin === \"first\" ? 1 : -1;\n }\n\n return (a.label || \"\").localeCompare(b.label || \"\");\n};\n\nconst SortedMenuItems: HigherOrderComponent<MenuItemsProps> = MenuItems => {\n return function SortedMenuItems({ menuItems }) {\n return <MenuItems menuItems={[...menuItems].sort(menuSorter)} />;\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Fragment>\n <Provider hoc={NavigationProvider} />\n <Compose component={NavigationSpec} with={NavigationImpl} />\n <Compose component={MenuItems} with={SortedMenuItems} />\n <Compose component={BrandSpec} with={BrandImpl} />\n <Compose\n component={MenuItemRenderer}\n with={[\n MenuGroupRenderer,\n MenuSectionItemRenderer,\n MenuSectionRenderer,\n MenuLinkRenderer,\n MenuElementRenderer\n ]}\n />\n </Fragment>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["NavigationContext","React","createContext","visible","setVisible","displayName","useNavigation","useContext","BrandImpl","Brand","BrandWithHamburger","NavigationProvider","Component","props","useState","context","useMemo","NavigationImpl","Navigation","useAdminNavigation","menuItems","hideDrawer","useCallback","mainMenu","filter","m","tags","includes","footerMenu","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","navHeader","navContent","subFooter","menuSorter","a","b","pin","label","localeCompare","SortedMenuItems","MenuItems","sort","NavigationSpec","BrandSpec","MenuItemRenderer","MenuGroupRenderer","MenuSectionItemRenderer","MenuSectionRenderer","MenuLinkRenderer","MenuElementRenderer"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useContext, useMemo, useState } from \"react\";\nimport { Drawer, DrawerContent, DrawerHeader } from \"@webiny/ui/Drawer\";\nimport {\n Compose,\n Provider,\n NavigationRenderer as NavigationSpec,\n MenuItems,\n MenuItemRenderer,\n Brand as BrandSpec,\n useNavigation as useAdminNavigation,\n MenuData,\n MenuItemsProps,\n HigherOrderComponent\n} from \"@webiny/app-admin\";\nimport Hamburger from \"./Hamburger\";\nimport { MenuGroupRenderer } from \"./renderers/MenuGroupRenderer\";\nimport { MenuSectionItemRenderer } from \"./renderers/MenuSectionItemRenderer\";\nimport { MenuSectionRenderer } from \"./renderers/MenuSectionRenderer\";\nimport { MenuLinkRenderer } from \"./renderers/MenuLinkRenderer\";\nimport { MenuElementRenderer } from \"./renderers/MenuElementRenderer\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { MenuFooter, subFooter, MenuHeader, navHeader, navContent } from \"./Styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\ninterface NavigationContext {\n visible: boolean;\n setVisible(visible: boolean): void;\n}\n\nconst NavigationContext = React.createContext<NavigationContext>({\n visible: false,\n setVisible: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation(): NavigationContext {\n return useContext(NavigationContext);\n}\n\nconst BrandImpl: HigherOrderComponent = Brand => {\n return function BrandWithHamburger() {\n return (\n <Fragment>\n <Hamburger />\n <Brand />\n </Fragment>\n );\n };\n};\n\nconst NavigationProvider = (Component: React.FC): React.FC => {\n return function NavigationProvider(props) {\n const [visible, setVisible] = useState(false);\n\n const context = useMemo(() => ({ visible, setVisible }), [visible]);\n\n return (\n <NavigationContext.Provider value={context}>\n <Component {...props} />\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const NavigationImpl = (): React.FC => {\n return function Navigation() {\n const { menuItems } = useAdminNavigation();\n const { visible, setVisible } = useNavigation();\n\n const hideDrawer = useCallback(() => {\n setVisible(false);\n }, []);\n\n const mainMenu = useMemo(\n () => menuItems.filter(m => !(m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const footerMenu = useMemo(\n () => menuItems.filter(m => (m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <Drawer modal open={visible} onClose={hideDrawer}>\n <DrawerHeader className={navHeader}>\n <MenuHeader>\n <BrandSpec />\n </MenuHeader>\n </DrawerHeader>\n <DrawerContent className={navContent}>\n <MenuItems menuItems={mainMenu} />\n </DrawerContent>\n <MenuFooter>\n <List nonInteractive>\n <MenuItems menuItems={footerMenu} />\n <ListItem ripple={false} className={subFooter}>\n <Typography use={\"body2\"}>Webiny v{wbyVersion}</Typography>\n </ListItem>\n </List>\n </MenuFooter>\n </Drawer>\n );\n };\n};\n\nconst menuSorter = (a: MenuData, b: MenuData): number => {\n if (a.pin === b.pin) {\n return (a.label || \"\").localeCompare(b.label || \"\");\n }\n\n if (a.pin) {\n return a.pin === \"first\" ? -1 : 1;\n }\n\n if (b.pin) {\n return b.pin === \"first\" ? 1 : -1;\n }\n\n return (a.label || \"\").localeCompare(b.label || \"\");\n};\n\nconst SortedMenuItems: HigherOrderComponent<MenuItemsProps> = MenuItems => {\n return function SortedMenuItems({ menuItems }) {\n return <MenuItems menuItems={[...menuItems].sort(menuSorter)} />;\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Fragment>\n <Provider hoc={NavigationProvider} />\n <Compose component={NavigationSpec} with={NavigationImpl} />\n <Compose component={MenuItems} with={SortedMenuItems} />\n <Compose component={BrandSpec} with={BrandImpl} />\n <Compose\n component={MenuItemRenderer}\n with={[\n MenuGroupRenderer,\n MenuSectionItemRenderer,\n MenuSectionRenderer,\n MenuLinkRenderer,\n MenuElementRenderer\n ]}\n />\n </Fragment>\n );\n};\n"],"mappings":"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"}
@@ -1,27 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.MenuElementRenderer = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _appAdmin = require("@webiny/app-admin");
13
-
14
10
  var MenuElementRenderer = function MenuElementRenderer(PrevMenuItem) {
15
11
  return function MenuComponent() {
16
12
  var _useMenuItem = (0, _appAdmin.useMenuItem)(),
17
- menuItem = _useMenuItem.menuItem;
18
-
13
+ menuItem = _useMenuItem.menuItem;
19
14
  if (!menuItem || !menuItem.element) {
20
15
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
21
16
  }
22
-
23
17
  return menuItem.element;
24
18
  };
25
19
  };
26
-
27
20
  exports.MenuElementRenderer = MenuElementRenderer;
@@ -1 +1 @@
1
- {"version":3,"names":["MenuElementRenderer","PrevMenuItem","MenuComponent","useMenuItem","menuItem","element"],"sources":["MenuElementRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { useMenuItem } from \"@webiny/app-admin\";\n\nexport const MenuElementRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuComponent() {\n const { menuItem } = useMenuItem();\n if (!menuItem || !menuItem.element) {\n return <PrevMenuItem />;\n }\n\n return menuItem.element;\n };\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,YAAD,EAAsC;EACrE,OAAO,SAASC,aAAT,GAAyB;IAC5B,mBAAqB,IAAAC,qBAAA,GAArB;IAAA,IAAQC,QAAR,gBAAQA,QAAR;;IACA,IAAI,CAACA,QAAD,IAAa,CAACA,QAAQ,CAACC,OAA3B,EAAoC;MAChC,oBAAO,6BAAC,YAAD,OAAP;IACH;;IAED,OAAOD,QAAQ,CAACC,OAAhB;EACH,CAPD;AAQH,CATM"}
1
+ {"version":3,"names":["MenuElementRenderer","PrevMenuItem","MenuComponent","useMenuItem","menuItem","element"],"sources":["MenuElementRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { useMenuItem } from \"@webiny/app-admin\";\n\nexport const MenuElementRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuComponent() {\n const { menuItem } = useMenuItem();\n if (!menuItem || !menuItem.element) {\n return <PrevMenuItem />;\n }\n\n return menuItem.element;\n };\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,YAAsB,EAAe;EACrE,OAAO,SAASC,aAAa,GAAG;IAC5B,mBAAqB,IAAAC,qBAAW,GAAE;MAA1BC,QAAQ,gBAARA,QAAQ;IAChB,IAAI,CAACA,QAAQ,IAAI,CAACA,QAAQ,CAACC,OAAO,EAAE;MAChC,oBAAO,6BAAC,YAAY,OAAG;IAC3B;IAEA,OAAOD,QAAQ,CAACC,OAAO;EAC3B,CAAC;AACL,CAAC;AAAC"}
@@ -1,44 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.MenuGroupRenderer = void 0;
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _store = _interopRequireDefault(require("store"));
21
-
22
14
  var _emotion = require("emotion");
23
-
24
15
  var _reactTransitionGroup = require("react-transition-group");
25
-
26
16
  var _classnames = _interopRequireDefault(require("classnames"));
27
-
28
17
  var _reactRouter = require("@webiny/react-router");
29
-
30
18
  var _appAdmin = require("@webiny/app-admin");
31
-
32
19
  var _List = require("@webiny/ui/List");
33
-
34
20
  var _Button = require("@webiny/ui/Button");
35
-
36
21
  var _index = require("../index");
37
-
38
22
  var _roundKeyboard_arrow_up24px = require("../icons/round-keyboard_arrow_up-24px.svg");
39
-
40
23
  var _roundKeyboard_arrow_down24px = require("../icons/round-keyboard_arrow_down-24px.svg");
41
-
42
24
  var defaultStyle = {
43
25
  transform: "translateY(-20px)",
44
26
  opacity: 0,
@@ -75,40 +57,31 @@ var menuTitleActive = /*#__PURE__*/(0, _emotion.css)({
75
57
  backgroundColor: "var(--mdc-theme-background)"
76
58
  }, "label:menuTitleActive;");
77
59
  var LOCAL_STORAGE_KEY = "webiny_navigation_groups";
78
-
79
60
  function loadState() {
80
61
  return (_store.default.get(LOCAL_STORAGE_KEY) || "").split(",").filter(Boolean);
81
62
  }
82
-
83
63
  function storeState(state) {
84
64
  _store.default.set(LOCAL_STORAGE_KEY, state.join(","));
85
65
  }
86
-
87
66
  function getState(id) {
88
67
  if (!id) {
89
68
  return false;
90
69
  }
91
-
92
70
  var state = loadState();
93
71
  return state.includes(id);
94
72
  }
95
-
96
73
  var MenuGroupRenderer = function MenuGroupRenderer(PrevMenuItem) {
97
74
  return function MenuGroup() {
98
75
  var _useNavigation = (0, _index.useNavigation)(),
99
- setVisible = _useNavigation.setVisible;
100
-
76
+ setVisible = _useNavigation.setVisible;
101
77
  var _useMenuItem = (0, _appAdmin.useMenuItem)(),
102
- menuItem = _useMenuItem.menuItem,
103
- depth = _useMenuItem.depth;
104
-
78
+ menuItem = _useMenuItem.menuItem,
79
+ depth = _useMenuItem.depth;
105
80
  var shouldRender = depth === 0 && menuItem && menuItem.children;
106
-
107
81
  var _useState = (0, _react.useState)(getState(menuItem ? menuItem.name : null)),
108
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
109
- isExpanded = _useState2[0],
110
- setExpanded = _useState2[1];
111
-
82
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
83
+ isExpanded = _useState2[0],
84
+ setExpanded = _useState2[1];
112
85
  var hideMenu = (0, _react.useCallback)(function () {
113
86
  return setVisible(false);
114
87
  }, []);
@@ -116,29 +89,22 @@ var MenuGroupRenderer = function MenuGroupRenderer(PrevMenuItem) {
116
89
  if (!menuItem) {
117
90
  return;
118
91
  }
119
-
120
92
  var state = loadState();
121
-
122
93
  if (isExpanded && state.includes(menuItem.name)) {
123
94
  state.splice(state.indexOf(menuItem.name), 1);
124
95
  }
125
-
126
96
  if (!isExpanded && !state.includes(menuItem.name)) {
127
97
  state.push(menuItem.name);
128
98
  }
129
-
130
99
  setExpanded(!isExpanded);
131
100
  storeState(state);
132
101
  }, [isExpanded, setExpanded]);
133
-
134
102
  if (!shouldRender) {
135
103
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
136
104
  }
137
-
138
105
  if (!menuItem || !menuItem.children.length) {
139
106
  return null;
140
107
  }
141
-
142
108
  var withLink = function withLink(content) {
143
109
  return /*#__PURE__*/_react.default.createElement(_reactRouter.Link, {
144
110
  to: menuItem.path || "",
@@ -146,7 +112,6 @@ var MenuGroupRenderer = function MenuGroupRenderer(PrevMenuItem) {
146
112
  onClick: menuItem.onClick || hideMenu
147
113
  }, content);
148
114
  };
149
-
150
115
  var item = /*#__PURE__*/_react.default.createElement(_List.List, {
151
116
  className: (0, _classnames.default)(menuTitle, (0, _defineProperty2.default)({}, menuTitleActive, isExpanded))
152
117
  }, /*#__PURE__*/_react.default.createElement(_List.ListItem, {
@@ -157,7 +122,6 @@ var MenuGroupRenderer = function MenuGroupRenderer(PrevMenuItem) {
157
122
  })), menuItem.label, menuItem.children.length ? /*#__PURE__*/_react.default.createElement(_List.ListItemMeta, null, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
158
123
  icon: isExpanded ? /*#__PURE__*/_react.default.createElement(_roundKeyboard_arrow_up24px.ReactComponent, null) : /*#__PURE__*/_react.default.createElement(_roundKeyboard_arrow_down24px.ReactComponent, null)
159
124
  })) : null));
160
-
161
125
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menuItem.path ? withLink(item) : item, menuItem.children ? /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, {
162
126
  in: isExpanded,
163
127
  timeout: 100,
@@ -172,5 +136,4 @@ var MenuGroupRenderer = function MenuGroupRenderer(PrevMenuItem) {
172
136
  }) : null);
173
137
  };
174
138
  };
175
-
176
139
  exports.MenuGroupRenderer = MenuGroupRenderer;
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyle","transform","opacity","transitionProperty","transitionTimingFunction","transitionDuration","willChange","transitionStyles","entering","entered","menuTitle","css","borderBottom","padding","margin","height","width","fontWeight","boxSizing","menuTitleActive","backgroundColor","LOCAL_STORAGE_KEY","loadState","localStorage","get","split","filter","Boolean","storeState","state","set","join","getState","id","includes","MenuGroupRenderer","PrevMenuItem","MenuGroup","useNavigation","setVisible","useMenuItem","menuItem","depth","shouldRender","children","useState","name","isExpanded","setExpanded","hideMenu","useCallback","toggleElement","splice","indexOf","push","length","withLink","content","path","testId","onClick","item","classNames","icon","label"],"sources":["MenuGroupRenderer.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { css } from \"emotion\";\nimport { Transition } from \"react-transition-group\";\nimport classNames from \"classnames\";\nimport { Link } from \"@webiny/react-router\";\nimport { useMenuItem, MenuItems } from \"@webiny/app-admin\";\nimport { List, ListItem, ListItemGraphic, ListItemMeta } from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useNavigation } from \"../index\";\nimport { ReactComponent as UpIcon } from \"../icons/round-keyboard_arrow_up-24px.svg\";\nimport { ReactComponent as DownIcon } from \"../icons/round-keyboard_arrow_down-24px.svg\";\n\nconst defaultStyle = {\n transform: \"translateY(-20px)\",\n opacity: 0,\n transitionProperty: \"transform, opacity\",\n transitionTimingFunction: \"cubic-bezier(0, 0, .2, 1)\",\n transitionDuration: \"100ms\",\n willChange: \"opacity, transform\"\n};\n\nconst transitionStyles: Record<string, any> = {\n entering: {\n transform: \"translateY(-20px)\",\n opacity: 0\n },\n entered: {\n transform: \"translateY(0px)\",\n opacity: 1\n }\n};\n\nconst menuTitle = css({\n \".mdc-drawer &.mdc-list\": {\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n padding: 0,\n \".mdc-list-item\": {\n margin: 0,\n padding: \"0 15px\",\n height: \"48px\",\n width: \"100%\",\n fontWeight: 600,\n boxSizing: \"border-box\"\n }\n }\n});\n\nconst menuTitleActive = css({\n backgroundColor: \"var(--mdc-theme-background)\"\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_navigation_groups\";\n\nfunction loadState(): string[] {\n return (localStorage.get(LOCAL_STORAGE_KEY) || \"\").split(\",\").filter(Boolean);\n}\n\nfunction storeState(state: string[]) {\n localStorage.set(LOCAL_STORAGE_KEY, state.join(\",\"));\n}\n\nfunction getState(id: string | null): boolean {\n if (!id) {\n return false;\n }\n const state = loadState();\n return state.includes(id);\n}\n\nexport const MenuGroupRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuGroup() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n const shouldRender = depth === 0 && menuItem && menuItem.children;\n const [isExpanded, setExpanded] = useState<boolean>(\n getState(menuItem ? menuItem.name : null)\n );\n\n const hideMenu = useCallback(() => setVisible(false), []);\n\n const toggleElement = useCallback(() => {\n if (!menuItem) {\n return;\n }\n const state = loadState();\n if (isExpanded && state.includes(menuItem.name)) {\n state.splice(state.indexOf(menuItem.name), 1);\n }\n\n if (!isExpanded && !state.includes(menuItem.name)) {\n state.push(menuItem.name);\n }\n\n setExpanded(!isExpanded);\n storeState(state);\n }, [isExpanded, setExpanded]);\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n }\n\n if (!menuItem || !menuItem.children.length) {\n return null;\n }\n\n const withLink = (content: React.ReactNode): React.ReactElement => {\n return (\n <Link\n to={menuItem.path || \"\"}\n data-testid={menuItem.testId}\n onClick={menuItem.onClick || hideMenu}\n >\n {content}\n </Link>\n );\n };\n\n const item = (\n <List className={classNames(menuTitle, { [menuTitleActive]: isExpanded })}>\n <ListItem data-testid={menuItem.testId} onClick={toggleElement}>\n {menuItem.icon && (\n <ListItemGraphic>\n <IconButton icon={menuItem.icon} />\n </ListItemGraphic>\n )}\n\n {menuItem.label}\n\n {menuItem.children.length ? (\n <ListItemMeta>\n <IconButton icon={isExpanded ? <UpIcon /> : <DownIcon />} />\n </ListItemMeta>\n ) : null}\n </ListItem>\n </List>\n );\n\n return (\n <Fragment>\n {menuItem.path ? withLink(item) : item}\n {menuItem.children ? (\n <Transition in={isExpanded} timeout={100} appear unmountOnExit>\n {state => (\n <div style={{ ...defaultStyle, ...transitionStyles[state] }}>\n <MenuItems menuItems={menuItem.children} />\n </div>\n )}\n </Transition>\n ) : null}\n </Fragment>\n );\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyle","transform","opacity","transitionProperty","transitionTimingFunction","transitionDuration","willChange","transitionStyles","entering","entered","menuTitle","css","borderBottom","padding","margin","height","width","fontWeight","boxSizing","menuTitleActive","backgroundColor","LOCAL_STORAGE_KEY","loadState","localStorage","get","split","filter","Boolean","storeState","state","set","join","getState","id","includes","MenuGroupRenderer","PrevMenuItem","MenuGroup","useNavigation","setVisible","useMenuItem","menuItem","depth","shouldRender","children","useState","name","isExpanded","setExpanded","hideMenu","useCallback","toggleElement","splice","indexOf","push","length","withLink","content","path","testId","onClick","item","classNames","icon","label"],"sources":["MenuGroupRenderer.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { css } from \"emotion\";\nimport { Transition } from \"react-transition-group\";\nimport classNames from \"classnames\";\nimport { Link } from \"@webiny/react-router\";\nimport { useMenuItem, MenuItems } from \"@webiny/app-admin\";\nimport { List, ListItem, ListItemGraphic, ListItemMeta } from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useNavigation } from \"../index\";\nimport { ReactComponent as UpIcon } from \"../icons/round-keyboard_arrow_up-24px.svg\";\nimport { ReactComponent as DownIcon } from \"../icons/round-keyboard_arrow_down-24px.svg\";\n\nconst defaultStyle = {\n transform: \"translateY(-20px)\",\n opacity: 0,\n transitionProperty: \"transform, opacity\",\n transitionTimingFunction: \"cubic-bezier(0, 0, .2, 1)\",\n transitionDuration: \"100ms\",\n willChange: \"opacity, transform\"\n};\n\nconst transitionStyles: Record<string, any> = {\n entering: {\n transform: \"translateY(-20px)\",\n opacity: 0\n },\n entered: {\n transform: \"translateY(0px)\",\n opacity: 1\n }\n};\n\nconst menuTitle = css({\n \".mdc-drawer &.mdc-list\": {\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n padding: 0,\n \".mdc-list-item\": {\n margin: 0,\n padding: \"0 15px\",\n height: \"48px\",\n width: \"100%\",\n fontWeight: 600,\n boxSizing: \"border-box\"\n }\n }\n});\n\nconst menuTitleActive = css({\n backgroundColor: \"var(--mdc-theme-background)\"\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_navigation_groups\";\n\nfunction loadState(): string[] {\n return (localStorage.get(LOCAL_STORAGE_KEY) || \"\").split(\",\").filter(Boolean);\n}\n\nfunction storeState(state: string[]) {\n localStorage.set(LOCAL_STORAGE_KEY, state.join(\",\"));\n}\n\nfunction getState(id: string | null): boolean {\n if (!id) {\n return false;\n }\n const state = loadState();\n return state.includes(id);\n}\n\nexport const MenuGroupRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuGroup() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n const shouldRender = depth === 0 && menuItem && menuItem.children;\n const [isExpanded, setExpanded] = useState<boolean>(\n getState(menuItem ? menuItem.name : null)\n );\n\n const hideMenu = useCallback(() => setVisible(false), []);\n\n const toggleElement = useCallback(() => {\n if (!menuItem) {\n return;\n }\n const state = loadState();\n if (isExpanded && state.includes(menuItem.name)) {\n state.splice(state.indexOf(menuItem.name), 1);\n }\n\n if (!isExpanded && !state.includes(menuItem.name)) {\n state.push(menuItem.name);\n }\n\n setExpanded(!isExpanded);\n storeState(state);\n }, [isExpanded, setExpanded]);\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n }\n\n if (!menuItem || !menuItem.children.length) {\n return null;\n }\n\n const withLink = (content: React.ReactNode): React.ReactElement => {\n return (\n <Link\n to={menuItem.path || \"\"}\n data-testid={menuItem.testId}\n onClick={menuItem.onClick || hideMenu}\n >\n {content}\n </Link>\n );\n };\n\n const item = (\n <List className={classNames(menuTitle, { [menuTitleActive]: isExpanded })}>\n <ListItem data-testid={menuItem.testId} onClick={toggleElement}>\n {menuItem.icon && (\n <ListItemGraphic>\n <IconButton icon={menuItem.icon} />\n </ListItemGraphic>\n )}\n\n {menuItem.label}\n\n {menuItem.children.length ? (\n <ListItemMeta>\n <IconButton icon={isExpanded ? <UpIcon /> : <DownIcon />} />\n </ListItemMeta>\n ) : null}\n </ListItem>\n </List>\n );\n\n return (\n <Fragment>\n {menuItem.path ? withLink(item) : item}\n {menuItem.children ? (\n <Transition in={isExpanded} timeout={100} appear unmountOnExit>\n {state => (\n <div style={{ ...defaultStyle, ...transitionStyles[state] }}>\n <MenuItems menuItems={menuItem.children} />\n </div>\n )}\n </Transition>\n ) : null}\n </Fragment>\n );\n };\n};\n"],"mappings":"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"}
@@ -1,42 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.MenuLinkRenderer = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _emotion = require("emotion");
13
-
14
10
  var _reactRouter = require("@webiny/react-router");
15
-
16
11
  var _List = require("@webiny/ui/List");
17
-
18
12
  var _appAdmin = require("@webiny/app-admin");
19
-
20
13
  var _Icon = require("@webiny/ui/Icon");
21
-
22
14
  var _index = require("../index");
23
-
24
15
  var listItemStyle = /*#__PURE__*/(0, _emotion.css)("font-weight:400 !important;.mdc-list &.mdc-list-item:hover{cursor:pointer;background-color:var(--mdc-theme-background);}label:listItemStyle;");
25
-
26
16
  var MenuLinkRenderer = function MenuLinkRenderer(PrevMenuItem) {
27
17
  return function MenuLink() {
28
18
  var _useNavigation = (0, _index.useNavigation)(),
29
- setVisible = _useNavigation.setVisible;
30
-
19
+ setVisible = _useNavigation.setVisible;
31
20
  var _useMenuItem = (0, _appAdmin.useMenuItem)(),
32
- menuItem = _useMenuItem.menuItem,
33
- depth = _useMenuItem.depth;
34
-
21
+ menuItem = _useMenuItem.menuItem,
22
+ depth = _useMenuItem.depth;
35
23
  var hideMenu = (0, _react.useCallback)(function () {
36
24
  return setVisible(false);
37
25
  }, []);
38
26
  var shouldRender = depth === 0 && (menuItem ? menuItem.tags || [] : []).includes("footer");
39
-
40
27
  if (!shouldRender) {
41
28
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
42
29
  } else if (!menuItem) {
@@ -44,7 +31,6 @@ var MenuLinkRenderer = function MenuLinkRenderer(PrevMenuItem) {
44
31
  console.log("MenuLinkRenderer returning PrevMenuItem because missing menuItem variable.");
45
32
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
46
33
  }
47
-
48
34
  var withLink = function withLink(content) {
49
35
  return /*#__PURE__*/_react.default.createElement(_reactRouter.Link, {
50
36
  to: menuItem.path || "",
@@ -53,7 +39,6 @@ var MenuLinkRenderer = function MenuLinkRenderer(PrevMenuItem) {
53
39
  onClick: menuItem.onClick || hideMenu
54
40
  }, content);
55
41
  };
56
-
57
42
  var item = /*#__PURE__*/_react.default.createElement(_List.ListItem, {
58
43
  "data-testid": menuItem.testId,
59
44
  ripple: false,
@@ -62,9 +47,7 @@ var MenuLinkRenderer = function MenuLinkRenderer(PrevMenuItem) {
62
47
  }, menuItem.icon ? /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
63
48
  icon: menuItem.icon
64
49
  })) : null, menuItem.label);
65
-
66
50
  return menuItem.path ? withLink(item) : item;
67
51
  };
68
52
  };
69
-
70
53
  exports.MenuLinkRenderer = MenuLinkRenderer;
@@ -1 +1 @@
1
- {"version":3,"names":["listItemStyle","css","MenuLinkRenderer","PrevMenuItem","MenuLink","useNavigation","setVisible","useMenuItem","menuItem","depth","hideMenu","useCallback","shouldRender","tags","includes","console","log","withLink","content","path","target","testId","onClick","item","icon","label"],"sources":["MenuLinkRenderer.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport { Link } from \"@webiny/react-router\";\nimport { ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useMenuItem } from \"@webiny/app-admin\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { useNavigation } from \"../index\";\n\nconst listItemStyle = css`\n font-weight: 400 !important;\n\n .mdc-list &.mdc-list-item:hover {\n cursor: pointer;\n background-color: var(--mdc-theme-background);\n }\n`;\n\nexport const MenuLinkRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuLink() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n\n const hideMenu = useCallback(() => setVisible(false), []);\n const shouldRender =\n depth === 0 && (menuItem ? menuItem.tags || [] : []).includes(\"footer\");\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n } else if (!menuItem) {\n // TODO @ts-refactor check if to return component or null @pavel\n console.log(\n \"MenuLinkRenderer returning PrevMenuItem because missing menuItem variable.\"\n );\n return <PrevMenuItem />;\n }\n\n const withLink = (content: React.ReactNode): React.ReactElement => {\n return (\n <Link\n to={menuItem.path || \"\"}\n target={menuItem.target}\n data-testid={menuItem.testId}\n onClick={menuItem.onClick || hideMenu}\n >\n {content}\n </Link>\n );\n };\n\n const item = (\n <ListItem\n data-testid={menuItem.testId}\n ripple={false}\n className={listItemStyle}\n onClick={menuItem.onClick || hideMenu}\n >\n {menuItem.icon ? (\n <ListItemGraphic>\n <Icon icon={menuItem.icon} />\n </ListItemGraphic>\n ) : null}\n {menuItem.label}\n </ListItem>\n );\n\n return menuItem.path ? withLink(item) : item;\n };\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,aAAa,oBAAGC,YAAH,iJAAnB;;AASO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,YAAD,EAAsC;EAClE,OAAO,SAASC,QAAT,GAAoB;IACvB,qBAAuB,IAAAC,oBAAA,GAAvB;IAAA,IAAQC,UAAR,kBAAQA,UAAR;;IACA,mBAA4B,IAAAC,qBAAA,GAA5B;IAAA,IAAQC,QAAR,gBAAQA,QAAR;IAAA,IAAkBC,KAAlB,gBAAkBA,KAAlB;;IAEA,IAAMC,QAAQ,GAAG,IAAAC,kBAAA,EAAY;MAAA,OAAML,UAAU,CAAC,KAAD,CAAhB;IAAA,CAAZ,EAAqC,EAArC,CAAjB;IACA,IAAMM,YAAY,GACdH,KAAK,KAAK,CAAV,IAAe,CAACD,QAAQ,GAAGA,QAAQ,CAACK,IAAT,IAAiB,EAApB,GAAyB,EAAlC,EAAsCC,QAAtC,CAA+C,QAA/C,CADnB;;IAGA,IAAI,CAACF,YAAL,EAAmB;MACf,oBAAO,6BAAC,YAAD,OAAP;IACH,CAFD,MAEO,IAAI,CAACJ,QAAL,EAAe;MAClB;MACAO,OAAO,CAACC,GAAR,CACI,4EADJ;MAGA,oBAAO,6BAAC,YAAD,OAAP;IACH;;IAED,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,OAAD,EAAkD;MAC/D,oBACI,6BAAC,iBAAD;QACI,EAAE,EAAEV,QAAQ,CAACW,IAAT,IAAiB,EADzB;QAEI,MAAM,EAAEX,QAAQ,CAACY,MAFrB;QAGI,eAAaZ,QAAQ,CAACa,MAH1B;QAII,OAAO,EAAEb,QAAQ,CAACc,OAAT,IAAoBZ;MAJjC,GAMKQ,OANL,CADJ;IAUH,CAXD;;IAaA,IAAMK,IAAI,gBACN,6BAAC,cAAD;MACI,eAAaf,QAAQ,CAACa,MAD1B;MAEI,MAAM,EAAE,KAFZ;MAGI,SAAS,EAAErB,aAHf;MAII,OAAO,EAAEQ,QAAQ,CAACc,OAAT,IAAoBZ;IAJjC,GAMKF,QAAQ,CAACgB,IAAT,gBACG,6BAAC,qBAAD,qBACI,6BAAC,UAAD;MAAM,IAAI,EAAEhB,QAAQ,CAACgB;IAArB,EADJ,CADH,GAIG,IAVR,EAWKhB,QAAQ,CAACiB,KAXd,CADJ;;IAgBA,OAAOjB,QAAQ,CAACW,IAAT,GAAgBF,QAAQ,CAACM,IAAD,CAAxB,GAAiCA,IAAxC;EACH,CAhDD;AAiDH,CAlDM"}
1
+ {"version":3,"names":["listItemStyle","css","MenuLinkRenderer","PrevMenuItem","MenuLink","useNavigation","setVisible","useMenuItem","menuItem","depth","hideMenu","useCallback","shouldRender","tags","includes","console","log","withLink","content","path","target","testId","onClick","item","icon","label"],"sources":["MenuLinkRenderer.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport { Link } from \"@webiny/react-router\";\nimport { ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useMenuItem } from \"@webiny/app-admin\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { useNavigation } from \"../index\";\n\nconst listItemStyle = css`\n font-weight: 400 !important;\n\n .mdc-list &.mdc-list-item:hover {\n cursor: pointer;\n background-color: var(--mdc-theme-background);\n }\n`;\n\nexport const MenuLinkRenderer = (PrevMenuItem: React.FC): React.FC => {\n return function MenuLink() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n\n const hideMenu = useCallback(() => setVisible(false), []);\n const shouldRender =\n depth === 0 && (menuItem ? menuItem.tags || [] : []).includes(\"footer\");\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n } else if (!menuItem) {\n // TODO @ts-refactor check if to return component or null @pavel\n console.log(\n \"MenuLinkRenderer returning PrevMenuItem because missing menuItem variable.\"\n );\n return <PrevMenuItem />;\n }\n\n const withLink = (content: React.ReactNode): React.ReactElement => {\n return (\n <Link\n to={menuItem.path || \"\"}\n target={menuItem.target}\n data-testid={menuItem.testId}\n onClick={menuItem.onClick || hideMenu}\n >\n {content}\n </Link>\n );\n };\n\n const item = (\n <ListItem\n data-testid={menuItem.testId}\n ripple={false}\n className={listItemStyle}\n onClick={menuItem.onClick || hideMenu}\n >\n {menuItem.icon ? (\n <ListItemGraphic>\n <Icon icon={menuItem.icon} />\n </ListItemGraphic>\n ) : null}\n {menuItem.label}\n </ListItem>\n );\n\n return menuItem.path ? withLink(item) : item;\n };\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,aAAa,oBAAGC,YAAG,iJAOxB;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,YAAsB,EAAe;EAClE,OAAO,SAASC,QAAQ,GAAG;IACvB,qBAAuB,IAAAC,oBAAa,GAAE;MAA9BC,UAAU,kBAAVA,UAAU;IAClB,mBAA4B,IAAAC,qBAAW,GAAE;MAAjCC,QAAQ,gBAARA,QAAQ;MAAEC,KAAK,gBAALA,KAAK;IAEvB,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC;MAAA,OAAML,UAAU,CAAC,KAAK,CAAC;IAAA,GAAE,EAAE,CAAC;IACzD,IAAMM,YAAY,GACdH,KAAK,KAAK,CAAC,IAAI,CAACD,QAAQ,GAAGA,QAAQ,CAACK,IAAI,IAAI,EAAE,GAAG,EAAE,EAAEC,QAAQ,CAAC,QAAQ,CAAC;IAE3E,IAAI,CAACF,YAAY,EAAE;MACf,oBAAO,6BAAC,YAAY,OAAG;IAC3B,CAAC,MAAM,IAAI,CAACJ,QAAQ,EAAE;MAClB;MACAO,OAAO,CAACC,GAAG,CACP,4EAA4E,CAC/E;MACD,oBAAO,6BAAC,YAAY,OAAG;IAC3B;IAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,OAAwB,EAAyB;MAC/D,oBACI,6BAAC,iBAAI;QACD,EAAE,EAAEV,QAAQ,CAACW,IAAI,IAAI,EAAG;QACxB,MAAM,EAAEX,QAAQ,CAACY,MAAO;QACxB,eAAaZ,QAAQ,CAACa,MAAO;QAC7B,OAAO,EAAEb,QAAQ,CAACc,OAAO,IAAIZ;MAAS,GAErCQ,OAAO,CACL;IAEf,CAAC;IAED,IAAMK,IAAI,gBACN,6BAAC,cAAQ;MACL,eAAaf,QAAQ,CAACa,MAAO;MAC7B,MAAM,EAAE,KAAM;MACd,SAAS,EAAErB,aAAc;MACzB,OAAO,EAAEQ,QAAQ,CAACc,OAAO,IAAIZ;IAAS,GAErCF,QAAQ,CAACgB,IAAI,gBACV,6BAAC,qBAAe,qBACZ,6BAAC,UAAI;MAAC,IAAI,EAAEhB,QAAQ,CAACgB;IAAK,EAAG,CACf,GAClB,IAAI,EACPhB,QAAQ,CAACiB,KAAK,CAEtB;IAED,OAAOjB,QAAQ,CAACW,IAAI,GAAGF,QAAQ,CAACM,IAAI,CAAC,GAAGA,IAAI;EAChD,CAAC;AACL,CAAC;AAAC"}
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.MenuSectionItemRenderer = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _emotion = require("emotion");
13
-
14
10
  var _reactRouter = require("@webiny/react-router");
15
-
16
11
  var _List = require("@webiny/ui/List");
17
-
18
12
  var _index = require("../index");
19
-
20
13
  var _appAdmin = require("@webiny/app-admin");
21
-
22
14
  var linkStyle = /*#__PURE__*/(0, _emotion.css)({
23
15
  color: "var(--mdc-theme-text-primary-on-background)",
24
16
  textDecoration: "none",
@@ -45,21 +37,17 @@ var submenuList = /*#__PURE__*/(0, _emotion.css)({
45
37
  padding: 0
46
38
  }
47
39
  }, "label:submenuList;");
48
-
49
40
  var MenuSectionItemRenderer = function MenuSectionItemRenderer(PrevMenuItem) {
50
41
  return function MenuSectionItem() {
51
42
  var _useNavigation = (0, _index.useNavigation)(),
52
- setVisible = _useNavigation.setVisible;
53
-
43
+ setVisible = _useNavigation.setVisible;
54
44
  var _useMenuItem = (0, _appAdmin.useMenuItem)(),
55
- menuItem = _useMenuItem.menuItem,
56
- depth = _useMenuItem.depth;
57
-
45
+ menuItem = _useMenuItem.menuItem,
46
+ depth = _useMenuItem.depth;
58
47
  var hideMenu = (0, _react.useCallback)(function () {
59
48
  return setVisible(false);
60
49
  }, []);
61
50
  var shouldRender = depth > 0 && Boolean(menuItem ? menuItem.path : false);
62
-
63
51
  if (!shouldRender) {
64
52
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
65
53
  } else if (!menuItem) {
@@ -67,7 +55,6 @@ var MenuSectionItemRenderer = function MenuSectionItemRenderer(PrevMenuItem) {
67
55
  console.log("MenuSectionItemRenderer returning PrevMenuItem because no menuItem variable.");
68
56
  return /*#__PURE__*/_react.default.createElement(PrevMenuItem, null);
69
57
  }
70
-
71
58
  return /*#__PURE__*/_react.default.createElement(_List.List, {
72
59
  className: submenuList
73
60
  }, /*#__PURE__*/_react.default.createElement(_List.ListItem, {
@@ -82,12 +69,10 @@ var MenuSectionItemRenderer = function MenuSectionItemRenderer(PrevMenuItem) {
82
69
  if (!menuItem.onClick) {
83
70
  return;
84
71
  }
85
-
86
72
  menuItem.onClick();
87
73
  },
88
74
  className: linkStyle
89
75
  }, menuItem.label)));
90
76
  };
91
77
  };
92
-
93
78
  exports.MenuSectionItemRenderer = MenuSectionItemRenderer;