@webiny/app-admin-rmwc 0.0.0-unstable.1e66d121db

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 (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/index.d.ts +2 -0
  4. package/index.js +32 -0
  5. package/index.js.map +1 -0
  6. package/modules/Brand/index.d.ts +2 -0
  7. package/modules/Brand/index.js +72 -0
  8. package/modules/Brand/index.js.map +1 -0
  9. package/modules/Brand/webiny-logo.svg +20 -0
  10. package/modules/Dashboard/Welcome.d.ts +3 -0
  11. package/modules/Dashboard/Welcome.js +271 -0
  12. package/modules/Dashboard/Welcome.js.map +1 -0
  13. package/modules/Dashboard/icons/github.svg +1 -0
  14. package/modules/Dashboard/icons/laptop.svg +1 -0
  15. package/modules/Dashboard/icons/slack.svg +1 -0
  16. package/modules/Dashboard/icons/textbook.svg +1 -0
  17. package/modules/Dashboard/icons/twitter.svg +1 -0
  18. package/modules/Dashboard/icons/youtube.svg +1 -0
  19. package/modules/Dashboard/index.d.ts +2 -0
  20. package/modules/Dashboard/index.js +33 -0
  21. package/modules/Dashboard/index.js.map +1 -0
  22. package/modules/Layout.d.ts +2 -0
  23. package/modules/Layout.js +65 -0
  24. package/modules/Layout.js.map +1 -0
  25. package/modules/Navigation/Hamburger.d.ts +3 -0
  26. package/modules/Navigation/Hamburger.js +46 -0
  27. package/modules/Navigation/Hamburger.js.map +1 -0
  28. package/modules/Navigation/Styled.d.ts +9 -0
  29. package/modules/Navigation/Styled.js +64 -0
  30. package/modules/Navigation/Styled.js.map +1 -0
  31. package/modules/Navigation/icons/hamburger.svg +4 -0
  32. package/modules/Navigation/icons/round-keyboard_arrow_down-24px.svg +16 -0
  33. package/modules/Navigation/icons/round-keyboard_arrow_up-24px.svg +16 -0
  34. package/modules/Navigation/icons/webiny-orange-logo.svg +20 -0
  35. package/modules/Navigation/index.d.ts +10 -0
  36. package/modules/Navigation/index.js +170 -0
  37. package/modules/Navigation/index.js.map +1 -0
  38. package/modules/Navigation/renderers/MenuElementRenderer.d.ts +2 -0
  39. package/modules/Navigation/renderers/MenuElementRenderer.js +27 -0
  40. package/modules/Navigation/renderers/MenuElementRenderer.js.map +1 -0
  41. package/modules/Navigation/renderers/MenuGroupRenderer.d.ts +2 -0
  42. package/modules/Navigation/renderers/MenuGroupRenderer.js +176 -0
  43. package/modules/Navigation/renderers/MenuGroupRenderer.js.map +1 -0
  44. package/modules/Navigation/renderers/MenuLinkRenderer.d.ts +2 -0
  45. package/modules/Navigation/renderers/MenuLinkRenderer.js +75 -0
  46. package/modules/Navigation/renderers/MenuLinkRenderer.js.map +1 -0
  47. package/modules/Navigation/renderers/MenuSectionItemRenderer.d.ts +2 -0
  48. package/modules/Navigation/renderers/MenuSectionItemRenderer.js +92 -0
  49. package/modules/Navigation/renderers/MenuSectionItemRenderer.js.map +1 -0
  50. package/modules/Navigation/renderers/MenuSectionRenderer.d.ts +2 -0
  51. package/modules/Navigation/renderers/MenuSectionRenderer.js +61 -0
  52. package/modules/Navigation/renderers/MenuSectionRenderer.js.map +1 -0
  53. package/modules/NotFound/SecureRouteError.svg +1 -0
  54. package/modules/NotFound/index.d.ts +2 -0
  55. package/modules/NotFound/index.js +78 -0
  56. package/modules/NotFound/index.js.map +1 -0
  57. package/modules/Overlays/Dialog.d.ts +2 -0
  58. package/modules/Overlays/Dialog.js +57 -0
  59. package/modules/Overlays/Dialog.js.map +1 -0
  60. package/modules/Overlays/Snackbar.d.ts +3 -0
  61. package/modules/Overlays/Snackbar.js +41 -0
  62. package/modules/Overlays/Snackbar.js.map +1 -0
  63. package/modules/Overlays/index.d.ts +2 -0
  64. package/modules/Overlays/index.js +47 -0
  65. package/modules/Overlays/index.js.map +1 -0
  66. package/modules/Search/index.d.ts +2 -0
  67. package/modules/Search/index.js +31 -0
  68. package/modules/Search/index.js.map +1 -0
  69. package/modules/UserMenu/account.svg +1 -0
  70. package/modules/UserMenu/index.d.ts +2 -0
  71. package/modules/UserMenu/index.js +137 -0
  72. package/modules/UserMenu/index.js.map +1 -0
  73. package/package.json +61 -0
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DialogContainer = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _get3 = _interopRequireDefault(require("lodash/get"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _useUi = require("@webiny/app/hooks/useUi");
19
+
20
+ var _Dialog = require("@webiny/ui/Dialog");
21
+
22
+ var DialogContainer = function DialogContainer() {
23
+ var ui = (0, _useUi.useUi)();
24
+ var message = (0, _get3.default)(ui, "dialog.message");
25
+
26
+ var _get2 = (0, _get3.default)(ui, "dialog.options", {}),
27
+ dataTestId = _get2.dataTestId,
28
+ title = _get2.title,
29
+ _get2$actions = _get2.actions,
30
+ actions = _get2$actions === void 0 ? {
31
+ cancel: null,
32
+ accept: {
33
+ label: "OK"
34
+ }
35
+ } : _get2$actions,
36
+ style = _get2.style;
37
+
38
+ var hideDialog = (0, _react.useCallback)(function () {
39
+ ui.setState(function (ui) {
40
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ui), {}, {
41
+ dialog: null
42
+ });
43
+ });
44
+ }, [ui]);
45
+ return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
46
+ open: !!message,
47
+ onClose: hideDialog,
48
+ "data-testid": dataTestId,
49
+ style: style
50
+ }, title && /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, title), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, message), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, actions.cancel && /*#__PURE__*/_react.default.createElement(_Dialog.DialogAccept, {
51
+ onClick: actions.cancel.onClick
52
+ }, actions.cancel.label), actions.accept && /*#__PURE__*/_react.default.createElement(_Dialog.DialogAccept, {
53
+ onClick: actions.accept.onClick
54
+ }, actions.accept.label)));
55
+ };
56
+
57
+ exports.DialogContainer = DialogContainer;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DialogContainer","ui","useUi","message","dataTestId","title","actions","cancel","accept","label","style","hideDialog","useCallback","setState","dialog","onClick"],"sources":["Dialog.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { get } from \"lodash\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { Dialog, DialogAccept, DialogTitle, DialogActions, DialogContent } from \"@webiny/ui/Dialog\";\n\nexport const DialogContainer: React.FC = () => {\n const ui = useUi();\n const message: React.ReactNode = get(ui, \"dialog.message\");\n const {\n dataTestId,\n title,\n actions = { cancel: null, accept: { label: \"OK\" } },\n style\n } = get(ui, \"dialog.options\", {});\n\n const hideDialog = useCallback(() => {\n ui.setState(ui => ({ ...ui, dialog: null }));\n }, [ui]);\n\n return (\n <Dialog open={!!message} onClose={hideDialog} data-testid={dataTestId} style={style}>\n {title && <DialogTitle>{title}</DialogTitle>}\n <DialogContent>{message}</DialogContent>\n <DialogActions>\n {actions.cancel && (\n <DialogAccept onClick={actions.cancel.onClick}>\n {actions.cancel.label}\n </DialogAccept>\n )}\n {actions.accept && (\n <DialogAccept onClick={actions.accept.onClick}>\n {actions.accept.label}\n </DialogAccept>\n )}\n </DialogActions>\n </Dialog>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEO,IAAMA,eAAyB,GAAG,SAA5BA,eAA4B,GAAM;EAC3C,IAAMC,EAAE,GAAG,IAAAC,YAAA,GAAX;EACA,IAAMC,OAAwB,GAAG,mBAAIF,EAAJ,EAAQ,gBAAR,CAAjC;;EACA,YAKI,mBAAIA,EAAJ,EAAQ,gBAAR,EAA0B,EAA1B,CALJ;EAAA,IACIG,UADJ,SACIA,UADJ;EAAA,IAEIC,KAFJ,SAEIA,KAFJ;EAAA,0BAGIC,OAHJ;EAAA,IAGIA,OAHJ,8BAGc;IAAEC,MAAM,EAAE,IAAV;IAAgBC,MAAM,EAAE;MAAEC,KAAK,EAAE;IAAT;EAAxB,CAHd;EAAA,IAIIC,KAJJ,SAIIA,KAJJ;;EAOA,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAY,YAAM;IACjCX,EAAE,CAACY,QAAH,CAAY,UAAAZ,EAAE;MAAA,mEAAUA,EAAV;QAAca,MAAM,EAAE;MAAtB;IAAA,CAAd;EACH,CAFkB,EAEhB,CAACb,EAAD,CAFgB,CAAnB;EAIA,oBACI,6BAAC,cAAD;IAAQ,IAAI,EAAE,CAAC,CAACE,OAAhB;IAAyB,OAAO,EAAEQ,UAAlC;IAA8C,eAAaP,UAA3D;IAAuE,KAAK,EAAEM;EAA9E,GACKL,KAAK,iBAAI,6BAAC,mBAAD,QAAcA,KAAd,CADd,eAEI,6BAAC,qBAAD,QAAgBF,OAAhB,CAFJ,eAGI,6BAAC,qBAAD,QACKG,OAAO,CAACC,MAAR,iBACG,6BAAC,oBAAD;IAAc,OAAO,EAAED,OAAO,CAACC,MAAR,CAAeQ;EAAtC,GACKT,OAAO,CAACC,MAAR,CAAeE,KADpB,CAFR,EAMKH,OAAO,CAACE,MAAR,iBACG,6BAAC,oBAAD;IAAc,OAAO,EAAEF,OAAO,CAACE,MAAR,CAAeO;EAAtC,GACKT,OAAO,CAACE,MAAR,CAAeC,KADpB,CAPR,CAHJ,CADJ;AAkBH,CAhCM"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const SnackbarMain: React.FC;
3
+ export default SnackbarMain;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _get2 = _interopRequireDefault(require("lodash/get"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _Snackbar = require("@webiny/ui/Snackbar");
19
+
20
+ var _useUi = require("@webiny/app/hooks/useUi");
21
+
22
+ var SnackbarMain = function SnackbarMain() {
23
+ var ui = (0, _useUi.useUi)();
24
+ var message = (0, _get2.default)(ui, "snackbar.message");
25
+ var options = (0, _get2.default)(ui, "snackbar.options", {});
26
+ var hideSnackbar = (0, _react.useCallback)(function () {
27
+ ui.setState(function (ui) {
28
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ui), {}, {
29
+ snackbar: null
30
+ });
31
+ });
32
+ }, [ui]);
33
+ return /*#__PURE__*/_react.default.createElement(_Snackbar.Snackbar, Object.assign({
34
+ open: !!message,
35
+ onClose: hideSnackbar,
36
+ message: message
37
+ }, options));
38
+ };
39
+
40
+ var _default = SnackbarMain;
41
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SnackbarMain","ui","useUi","message","options","hideSnackbar","useCallback","setState","snackbar"],"sources":["Snackbar.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Snackbar } from \"@webiny/ui/Snackbar\";\nimport { get } from \"lodash\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\n\nconst SnackbarMain: React.FC = () => {\n const ui = useUi();\n const message: React.ReactNode = get(ui, \"snackbar.message\");\n const options: Record<string, any> = get(ui, \"snackbar.options\", {});\n\n const hideSnackbar = useCallback((): void => {\n ui.setState(ui => ({ ...ui, snackbar: null }));\n }, [ui]);\n\n return <Snackbar open={!!message} onClose={hideSnackbar} message={message} {...options} />;\n};\n\nexport default SnackbarMain;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAEA,IAAMA,YAAsB,GAAG,SAAzBA,YAAyB,GAAM;EACjC,IAAMC,EAAE,GAAG,IAAAC,YAAA,GAAX;EACA,IAAMC,OAAwB,GAAG,mBAAIF,EAAJ,EAAQ,kBAAR,CAAjC;EACA,IAAMG,OAA4B,GAAG,mBAAIH,EAAJ,EAAQ,kBAAR,EAA4B,EAA5B,CAArC;EAEA,IAAMI,YAAY,GAAG,IAAAC,kBAAA,EAAY,YAAY;IACzCL,EAAE,CAACM,QAAH,CAAY,UAAAN,EAAE;MAAA,mEAAUA,EAAV;QAAcO,QAAQ,EAAE;MAAxB;IAAA,CAAd;EACH,CAFoB,EAElB,CAACP,EAAD,CAFkB,CAArB;EAIA,oBAAO,6BAAC,kBAAD;IAAU,IAAI,EAAE,CAAC,CAACE,OAAlB;IAA2B,OAAO,EAAEE,YAApC;IAAkD,OAAO,EAAEF;EAA3D,GAAwEC,OAAxE,EAAP;AACH,CAVD;;eAYeJ,Y"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Overlays: React.FC;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Overlays = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _appAdmin = require("@webiny/app-admin/");
13
+
14
+ var _Snackbar = _interopRequireDefault(require("./Snackbar"));
15
+
16
+ var _Dialog = require("./Dialog");
17
+
18
+ var _base = require("@rmwc/base");
19
+
20
+ /**
21
+ * Dialogs, Menus and Snackbars require a container to be rendered, and we want to place it outside of
22
+ * any other views that are constructed by developers. We need these 2 containers to always be
23
+ * present, even if there is no <Layout> mounted.
24
+ */
25
+ var OverlaysHOC = function OverlaysHOC(Component) {
26
+ return function Overlays(_ref) {
27
+ var children = _ref.children;
28
+ return /*#__PURE__*/_react.default.createElement(Component, null, children, /*#__PURE__*/_react.default.createElement("div", {
29
+ style: {
30
+ zIndex: 30,
31
+ position: "absolute"
32
+ }
33
+ }, /*#__PURE__*/_react.default.createElement(_Snackbar.default, null)), /*#__PURE__*/_react.default.createElement(_base.Portal, null), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContainer, null));
34
+ };
35
+ };
36
+
37
+ var Overlays = function Overlays() {
38
+ /**
39
+ * TODO @ts-refactor @pavel
40
+ */
41
+ // @ts-ignore
42
+ return /*#__PURE__*/_react.default.createElement(_appAdmin.Provider, {
43
+ hoc: OverlaysHOC
44
+ });
45
+ };
46
+
47
+ exports.Overlays = Overlays;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OverlaysHOC","Component","Overlays","children","zIndex","position"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app-admin/\";\nimport Snackbar from \"./Snackbar\";\nimport { DialogContainer } from \"./Dialog\";\nimport { Portal } from \"@rmwc/base\";\n\n/**\n * Dialogs, Menus and Snackbars require a container to be rendered, and we want to place it outside of\n * any other views that are constructed by developers. We need these 2 containers to always be\n * present, even if there is no <Layout> mounted.\n */\nconst OverlaysHOC = (Component: React.FC): React.FC => {\n return function Overlays({ children }) {\n return (\n <Component>\n {children}\n <div style={{ zIndex: 30, position: \"absolute\" }}>\n <Snackbar />\n </div>\n <Portal />\n <DialogContainer />\n </Component>\n );\n };\n};\n\nexport const Overlays: React.FC = () => {\n /**\n * TODO @ts-refactor @pavel\n */\n // @ts-ignore\n return <Provider hoc={OverlaysHOC} />;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,SAAD,EAAmC;EACnD,OAAO,SAASC,QAAT,OAAgC;IAAA,IAAZC,QAAY,QAAZA,QAAY;IACnC,oBACI,6BAAC,SAAD,QACKA,QADL,eAEI;MAAK,KAAK,EAAE;QAAEC,MAAM,EAAE,EAAV;QAAcC,QAAQ,EAAE;MAAxB;IAAZ,gBACI,6BAAC,iBAAD,OADJ,CAFJ,eAKI,6BAAC,YAAD,OALJ,eAMI,6BAAC,uBAAD,OANJ,CADJ;EAUH,CAXD;AAYH,CAbD;;AAeO,IAAMH,QAAkB,GAAG,SAArBA,QAAqB,GAAM;EACpC;AACJ;AACA;EACI;EACA,oBAAO,6BAAC,kBAAD;IAAU,GAAG,EAAEF;EAAf,EAAP;AACH,CANM"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Search: React.FC;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Search = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _appAdmin = require("@webiny/app-admin");
13
+
14
+ var _SearchBar = _interopRequireDefault(require("@webiny/app-admin/plugins/globalSearch/SearchBar"));
15
+
16
+ // For the time being, import the existing component.
17
+ // TODO: implement a new SearchBar component
18
+ var SearchRenderer = function SearchRenderer() {
19
+ return function Search() {
20
+ return /*#__PURE__*/_react.default.createElement(_SearchBar.default, null);
21
+ };
22
+ };
23
+
24
+ var Search = function Search() {
25
+ return /*#__PURE__*/_react.default.createElement(_appAdmin.Compose, {
26
+ component: _appAdmin.SearchRenderer,
27
+ with: SearchRenderer
28
+ });
29
+ };
30
+
31
+ exports.Search = Search;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SearchRenderer","Search","SearchSpec"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Compose, SearchRenderer as SearchSpec } from \"@webiny/app-admin\";\n\n// For the time being, import the existing component.\n// TODO: implement a new SearchBar component\nimport SearchBar from \"@webiny/app-admin/plugins/globalSearch/SearchBar\";\n\nconst SearchRenderer = (): React.FC => {\n return function Search() {\n return <SearchBar />;\n };\n};\n\nexport const Search: React.FC = () => {\n return <Compose component={SearchSpec} with={SearchRenderer} />;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAIA;;AAFA;AACA;AAGA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAAgB;EACnC,OAAO,SAASC,MAAT,GAAkB;IACrB,oBAAO,6BAAC,kBAAD,OAAP;EACH,CAFD;AAGH,CAJD;;AAMO,IAAMA,MAAgB,GAAG,SAAnBA,MAAmB,GAAM;EAClC,oBAAO,6BAAC,iBAAD;IAAS,SAAS,EAAEC,wBAApB;IAAgC,IAAI,EAAEF;EAAtC,EAAP;AACH,CAFM"}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/></svg>
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const UserMenu: React.FC;
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.UserMenu = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _emotion = require("emotion");
13
+
14
+ var _appAdmin = require("@webiny/app-admin");
15
+
16
+ var _Menu = require("@webiny/ui/Menu");
17
+
18
+ var _List = require("@webiny/ui/List");
19
+
20
+ var _Icon = require("@webiny/ui/Icon");
21
+
22
+ var _reactRouter = require("@webiny/react-router");
23
+
24
+ var _appSecurity = require("@webiny/app-security");
25
+
26
+ var _Avatar = require("@webiny/ui/Avatar");
27
+
28
+ var _components = require("@webiny/app/components");
29
+
30
+ var _TopAppBar = require("@webiny/ui/TopAppBar");
31
+
32
+ var UserMenuRendererImpl = function UserMenuRendererImpl() {
33
+ return function UserMenu() {
34
+ var security = (0, _appSecurity.useSecurity)();
35
+
36
+ var _useUserMenu = (0, _appAdmin.useUserMenu)(),
37
+ menuItems = _useUserMenu.menuItems;
38
+
39
+ if (!security || !security.identity) {
40
+ return null;
41
+ }
42
+
43
+ return /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
44
+ anchor: "topEnd",
45
+ handle: /*#__PURE__*/_react.default.createElement(_TopAppBar.TopAppBarActionItem, {
46
+ icon: /*#__PURE__*/_react.default.createElement(_appAdmin.UserMenuHandle, null)
47
+ })
48
+ }, /*#__PURE__*/_react.default.createElement(_List.List, {
49
+ "data-testid": "logged-in-user-menu-list"
50
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.UserMenuItems, {
51
+ menuItems: menuItems
52
+ })));
53
+ };
54
+ };
55
+
56
+ var UserMenuHandleRendererImpl = function UserMenuHandleRendererImpl() {
57
+ return function UserMenuHandle() {
58
+ var _useSecurity = (0, _appSecurity.useSecurity)(),
59
+ identity = _useSecurity.identity;
60
+
61
+ if (!identity) {
62
+ return null;
63
+ }
64
+
65
+ var _ref = identity.profile || {},
66
+ firstName = _ref.firstName,
67
+ lastName = _ref.lastName,
68
+ avatar = _ref.avatar,
69
+ gravatar = _ref.gravatar;
70
+
71
+ var fullName = "".concat(firstName, " ").concat(lastName);
72
+ return /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
73
+ "data-testid": "logged-in-user-menu-avatar",
74
+ src: avatar ? avatar.src : gravatar,
75
+ alt: fullName,
76
+ fallbackText: fullName,
77
+ renderImage: function renderImage(props) {
78
+ return /*#__PURE__*/_react.default.createElement(_components.Image, Object.assign({}, props, {
79
+ transform: {
80
+ width: 100
81
+ }
82
+ }));
83
+ }
84
+ });
85
+ };
86
+ };
87
+
88
+ var linkStyles = /*#__PURE__*/(0, _emotion.css)({
89
+ "&:hover": {
90
+ textDecoration: "none"
91
+ }
92
+ }, "label:linkStyles;");
93
+
94
+ var UserMenuItemRendererImpl = function UserMenuItemRendererImpl() {
95
+ return function UserMenuItemRenderer() {
96
+ var _useUserMenuItem = (0, _appAdmin.useUserMenuItem)(),
97
+ label = _useUserMenuItem.label,
98
+ path = _useUserMenuItem.path,
99
+ icon = _useUserMenuItem.icon,
100
+ onClick = _useUserMenuItem.onClick,
101
+ element = _useUserMenuItem.element;
102
+
103
+ if (element) {
104
+ return element;
105
+ }
106
+
107
+ if (path) {
108
+ return /*#__PURE__*/_react.default.createElement(_reactRouter.Link, {
109
+ to: path,
110
+ className: linkStyles
111
+ }, /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, icon ? /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
112
+ icon: icon
113
+ }) : null), label));
114
+ }
115
+
116
+ return /*#__PURE__*/_react.default.createElement(_List.ListItem, {
117
+ onClick: onClick
118
+ }, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, icon ? /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
119
+ icon: icon
120
+ }) : null), label);
121
+ };
122
+ };
123
+
124
+ var UserMenu = function UserMenu() {
125
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_appAdmin.Compose, {
126
+ component: _appAdmin.UserMenuHandleRenderer,
127
+ with: UserMenuHandleRendererImpl
128
+ }), /*#__PURE__*/_react.default.createElement(_appAdmin.Compose, {
129
+ component: _appAdmin.UserMenuRenderer,
130
+ with: UserMenuRendererImpl
131
+ }), /*#__PURE__*/_react.default.createElement(_appAdmin.Compose, {
132
+ component: _appAdmin.UserMenuItemRenderer,
133
+ with: UserMenuItemRendererImpl
134
+ }));
135
+ };
136
+
137
+ exports.UserMenu = UserMenu;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UserMenuRendererImpl","UserMenu","security","useSecurity","useUserMenu","menuItems","identity","UserMenuHandleRendererImpl","UserMenuHandle","profile","firstName","lastName","avatar","gravatar","fullName","src","props","width","linkStyles","css","textDecoration","UserMenuItemRendererImpl","UserMenuItemRenderer","useUserMenuItem","label","path","icon","onClick","element","UserMenuHandleRendererSpec","UserMenuRendererSpec","UserMenuItemRendererSpec"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { css } from \"emotion\";\nimport {\n Compose,\n UserMenuHandle,\n UserMenuHandleRenderer as UserMenuHandleRendererSpec,\n UserMenuRenderer as UserMenuRendererSpec,\n UserMenuItems,\n UserMenuItemRenderer as UserMenuItemRendererSpec,\n useUserMenuItem,\n useUserMenu\n} from \"@webiny/app-admin\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Link } from \"@webiny/react-router\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Avatar } from \"@webiny/ui/Avatar\";\nimport { Image } from \"@webiny/app/components\";\nimport { TopAppBarActionItem } from \"@webiny/ui/TopAppBar\";\n\nconst UserMenuRendererImpl = (): React.FC => {\n return function UserMenu() {\n const security = useSecurity();\n const { menuItems } = useUserMenu();\n\n if (!security || !security.identity) {\n return null;\n }\n\n return (\n <Menu anchor={\"topEnd\"} handle={<TopAppBarActionItem icon={<UserMenuHandle />} />}>\n <List data-testid=\"logged-in-user-menu-list\">\n <UserMenuItems menuItems={menuItems} />\n </List>\n </Menu>\n );\n };\n};\n\nconst UserMenuHandleRendererImpl = (): React.FC => {\n return function UserMenuHandle() {\n const { identity } = useSecurity();\n\n if (!identity) {\n return null;\n }\n\n const { firstName, lastName, avatar, gravatar } = identity.profile || {};\n const fullName = `${firstName} ${lastName}`;\n\n return (\n <Avatar\n data-testid=\"logged-in-user-menu-avatar\"\n src={avatar ? avatar.src : gravatar}\n alt={fullName}\n fallbackText={fullName}\n renderImage={props => <Image {...props} transform={{ width: 100 }} />}\n />\n );\n };\n};\n\nconst linkStyles = css({\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst UserMenuItemRendererImpl = (): React.FC => {\n return function UserMenuItemRenderer() {\n const { label, path, icon, onClick, element } = useUserMenuItem();\n\n if (element) {\n return element;\n }\n\n if (path) {\n return (\n <Link to={path} className={linkStyles}>\n <ListItem>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n </Link>\n );\n }\n\n return (\n <ListItem onClick={onClick}>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n );\n };\n};\n\nexport const UserMenu: React.FC = () => {\n return (\n <Fragment>\n <Compose component={UserMenuHandleRendererSpec} with={UserMenuHandleRendererImpl} />\n <Compose component={UserMenuRendererSpec} with={UserMenuRendererImpl} />\n <Compose component={UserMenuItemRendererSpec} with={UserMenuItemRendererImpl} />\n </Fragment>\n );\n};\n"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@webiny/app-admin-rmwc",
3
+ "version": "0.0.0-unstable.1e66d121db",
4
+ "main": "index.js",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/webiny/webiny-js.git"
8
+ },
9
+ "author": "Webiny Ltd.",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "@babel/runtime": "7.19.0",
13
+ "@emotion/styled": "10.3.0",
14
+ "@rmwc/base": "7.0.3",
15
+ "@types/react": "17.0.39",
16
+ "@webiny/app": "0.0.0-unstable.1e66d121db",
17
+ "@webiny/app-admin": "0.0.0-unstable.1e66d121db",
18
+ "@webiny/app-plugin-admin-welcome-screen": "0.0.0-unstable.1e66d121db",
19
+ "@webiny/app-security": "0.0.0-unstable.1e66d121db",
20
+ "@webiny/plugins": "0.0.0-unstable.1e66d121db",
21
+ "@webiny/react-router": "0.0.0-unstable.1e66d121db",
22
+ "@webiny/ui": "0.0.0-unstable.1e66d121db",
23
+ "classnames": "2.3.2",
24
+ "emotion": "10.0.27",
25
+ "lodash": "4.17.21",
26
+ "react": "17.0.2",
27
+ "react-dom": "17.0.2",
28
+ "react-helmet": "6.1.0",
29
+ "react-transition-group": "4.4.5",
30
+ "store": "2.0.12"
31
+ },
32
+ "devDependencies": {
33
+ "@babel/cli": "^7.19.3",
34
+ "@babel/core": "^7.19.3",
35
+ "@babel/preset-env": "^7.19.4",
36
+ "@babel/preset-react": "^7.0.0",
37
+ "@babel/preset-typescript": "^7.18.6",
38
+ "@types/react-helmet": "^6.1.5",
39
+ "@webiny/cli": "^0.0.0-unstable.1e66d121db",
40
+ "@webiny/project-utils": "^0.0.0-unstable.1e66d121db",
41
+ "babel-plugin-emotion": "^9.2.8",
42
+ "babel-plugin-named-asset-import": "^1.0.0-next.3e165448",
43
+ "rimraf": "^3.0.2",
44
+ "ttypescript": "^1.5.12",
45
+ "typescript": "4.7.4"
46
+ },
47
+ "publishConfig": {
48
+ "access": "public",
49
+ "directory": "dist"
50
+ },
51
+ "scripts": {
52
+ "build": "yarn webiny run build",
53
+ "watch": "yarn webiny run watch"
54
+ },
55
+ "svgo": {
56
+ "plugins": {
57
+ "removeViewBox": false
58
+ }
59
+ },
60
+ "gitHead": "b670bf27c5039de1a2b0be764a09ba4cb94ad5e2"
61
+ }