@blaze-cms/plugin-admin-core-ui 0.133.0 → 0.134.0-project-admin-customisations.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +97 -0
  3. package/lib/components/Header/Header.js +3 -3
  4. package/lib/components/Header/Header.js.map +1 -1
  5. package/lib/components/Layout/Background.js +26 -0
  6. package/lib/components/Layout/Background.js.map +1 -0
  7. package/lib/components/Layout/Layout.js +10 -6
  8. package/lib/components/Layout/Layout.js.map +1 -1
  9. package/lib/components/Layout/components/Grid/Grid.js +10 -86
  10. package/lib/components/Layout/components/Grid/Grid.js.map +1 -1
  11. package/lib/components/Menu/Icons/ChevronDown.js +27 -0
  12. package/lib/components/Menu/Icons/ChevronDown.js.map +1 -0
  13. package/lib/components/Menu/Icons/ChevronUp.js +27 -0
  14. package/lib/components/Menu/Icons/ChevronUp.js.map +1 -0
  15. package/lib/components/Menu/Items/MenuActionItem.js +37 -0
  16. package/lib/components/Menu/Items/MenuActionItem.js.map +1 -0
  17. package/lib/components/Menu/Items/MenuItem.js +73 -0
  18. package/lib/components/Menu/Items/MenuItem.js.map +1 -0
  19. package/lib/components/Menu/Items/MenuLinkItem.js +36 -0
  20. package/lib/components/Menu/Items/MenuLinkItem.js.map +1 -0
  21. package/lib/components/Menu/Menu.js +86 -0
  22. package/lib/components/Menu/Menu.js.map +1 -0
  23. package/lib/components/Menu/Section/MenuSection.js +28 -0
  24. package/lib/components/Menu/Section/MenuSection.js.map +1 -0
  25. package/lib/components/Menu/Section/MenuSectionCollapsible.js +91 -0
  26. package/lib/components/Menu/Section/MenuSectionCollapsible.js.map +1 -0
  27. package/lib/components/Menu/Section/MenuSectionItem.js +40 -0
  28. package/lib/components/Menu/Section/MenuSectionItem.js.map +1 -0
  29. package/lib/components/Menu/Section/MenuSectionItems.js +33 -0
  30. package/lib/components/Menu/Section/MenuSectionItems.js.map +1 -0
  31. package/lib/components/Menu/index.js +12 -0
  32. package/lib/components/Menu/index.js.map +1 -0
  33. package/lib/components/SideBar/SideBar.js +4 -19
  34. package/lib/components/SideBar/SideBar.js.map +1 -1
  35. package/lib/constants.js +1 -1
  36. package/lib/constants.js.map +1 -1
  37. package/lib/containers/Home/Home.js +1 -1
  38. package/lib/containers/Home/Home.js.map +1 -1
  39. package/lib/index.js +13 -9
  40. package/lib/index.js.map +1 -1
  41. package/lib/utils/menu-handler-singleton.js +114 -0
  42. package/lib/utils/menu-handler-singleton.js.map +1 -0
  43. package/lib-es/components/Header/Header.js +3 -3
  44. package/lib-es/components/Header/Header.js.map +1 -1
  45. package/lib-es/components/Layout/Background.js +16 -0
  46. package/lib-es/components/Layout/Background.js.map +1 -0
  47. package/lib-es/components/Layout/Layout.js +10 -6
  48. package/lib-es/components/Layout/Layout.js.map +1 -1
  49. package/lib-es/components/Layout/components/Grid/Grid.js +14 -52
  50. package/lib-es/components/Layout/components/Grid/Grid.js.map +1 -1
  51. package/lib-es/components/Menu/Icons/ChevronDown.js +16 -0
  52. package/lib-es/components/Menu/Icons/ChevronDown.js.map +1 -0
  53. package/lib-es/components/Menu/Icons/ChevronUp.js +16 -0
  54. package/lib-es/components/Menu/Icons/ChevronUp.js.map +1 -0
  55. package/lib-es/components/Menu/Items/MenuActionItem.js +31 -0
  56. package/lib-es/components/Menu/Items/MenuActionItem.js.map +1 -0
  57. package/lib-es/components/Menu/Items/MenuItem.js +64 -0
  58. package/lib-es/components/Menu/Items/MenuItem.js.map +1 -0
  59. package/lib-es/components/Menu/Items/MenuLinkItem.js +28 -0
  60. package/lib-es/components/Menu/Items/MenuLinkItem.js.map +1 -0
  61. package/lib-es/components/Menu/Menu.js +40 -0
  62. package/lib-es/components/Menu/Menu.js.map +1 -0
  63. package/lib-es/components/Menu/Section/MenuSection.js +18 -0
  64. package/lib-es/components/Menu/Section/MenuSection.js.map +1 -0
  65. package/lib-es/components/Menu/Section/MenuSectionCollapsible.js +67 -0
  66. package/lib-es/components/Menu/Section/MenuSectionCollapsible.js.map +1 -0
  67. package/lib-es/components/Menu/Section/MenuSectionItem.js +30 -0
  68. package/lib-es/components/Menu/Section/MenuSectionItem.js.map +1 -0
  69. package/lib-es/components/Menu/Section/MenuSectionItems.js +20 -0
  70. package/lib-es/components/Menu/Section/MenuSectionItems.js.map +1 -0
  71. package/lib-es/components/Menu/index.js +3 -0
  72. package/lib-es/components/Menu/index.js.map +1 -0
  73. package/lib-es/components/SideBar/SideBar.js +3 -12
  74. package/lib-es/components/SideBar/SideBar.js.map +1 -1
  75. package/lib-es/constants.js +1 -1
  76. package/lib-es/constants.js.map +1 -1
  77. package/lib-es/containers/Home/Home.js +1 -1
  78. package/lib-es/containers/Home/Home.js.map +1 -1
  79. package/lib-es/index.js +9 -9
  80. package/lib-es/index.js.map +1 -1
  81. package/lib-es/utils/menu-handler-singleton.js +55 -0
  82. package/lib-es/utils/menu-handler-singleton.js.map +1 -0
  83. package/package.json +9 -8
  84. package/src/components/Header/Header.js +9 -7
  85. package/src/components/Layout/Background.js +16 -0
  86. package/src/components/Layout/Layout.js +23 -8
  87. package/src/components/Layout/bg.svg +22 -0
  88. package/src/components/Layout/components/Grid/Grid.js +13 -52
  89. package/src/components/Menu/Icons/ChevronDown.js +16 -0
  90. package/src/components/Menu/Icons/ChevronUp.js +16 -0
  91. package/src/components/Menu/Items/MenuActionItem.js +30 -0
  92. package/src/components/Menu/Items/MenuItem.js +49 -0
  93. package/src/components/Menu/Items/MenuLinkItem.js +25 -0
  94. package/src/components/Menu/Menu.js +48 -0
  95. package/src/components/Menu/Section/MenuSection.js +16 -0
  96. package/src/components/Menu/Section/MenuSectionCollapsible.js +59 -0
  97. package/src/components/Menu/Section/MenuSectionItem.js +28 -0
  98. package/src/components/Menu/Section/MenuSectionItems.js +17 -0
  99. package/src/components/Menu/index.js +3 -0
  100. package/src/components/SideBar/SideBar.js +5 -9
  101. package/src/constants.js +3 -1
  102. package/src/containers/Home/Home.js +1 -1
  103. package/src/index.js +7 -6
  104. package/src/utils/menu-handler-singleton.js +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuLinkItem.js","names":["React","Link","MenuLinkItem","item","isActive","root","label","icon","MenuSectionIcon","uri","modifier","activeModifier","createElement","className","key","to"],"sources":["../../../../src/components/Menu/Items/MenuLinkItem.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\n\nconst MenuLinkItem = ({ item, isActive, root = true }) => {\n const { label, icon: MenuSectionIcon, uri } = item;\n\n const modifier = MenuSectionIcon ? '' : 'side-nav__list-link--noIcon';\n\n const activeModifier = isActive ? 'side-nav__list-link--active' : '';\n\n return (\n <li className=\"side-nav__list--item\" key={item.label}>\n <Link to={uri} className={`side-nav__list-link ${modifier} ${activeModifier}`}>\n {MenuSectionIcon && (\n <div className=\"side-nav__list-link--icon\">\n <MenuSectionIcon />\n </div>\n )}\n <div className=\"side-nav__list-link--label\">{label}</div>\n </Link>\n </li>\n );\n};\n\nexport default MenuLinkItem;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,IAAI,GAAG;AAAK,CAAC,KAAK;EACxD,MAAM;IAAEC,KAAK;IAAEC,IAAI,EAAEC,eAAe;IAAEC;EAAI,CAAC,GAAGN,IAAI;EAElD,MAAMO,QAAQ,GAAGF,eAAe,GAAG,EAAE,GAAG,6BAA6B;EAErE,MAAMG,cAAc,GAAGP,QAAQ,GAAG,6BAA6B,GAAG,EAAE;EAEpE,oBACEJ,KAAA,CAAAY,aAAA;IAAIC,SAAS,EAAC,sBAAsB;IAACC,GAAG,EAAEX,IAAI,CAACG;EAAM,gBACnDN,KAAA,CAAAY,aAAA,CAACX,IAAI;IAACc,EAAE,EAAEN,GAAI;IAACI,SAAS,EAAG,uBAAsBH,QAAS,IAAGC,cAAe;EAAE,GAC3EH,eAAe,iBACdR,KAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAA2B,gBACxCb,KAAA,CAAAY,aAAA,CAACJ,eAAe,MAAE,CACf,CACN,eACDR,KAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAA4B,GAAEP,KAAW,CACpD,CACJ,CAAC;AAET,CAAC;AAED,eAAeJ,YAAY"}
@@ -0,0 +1,40 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import menuHandler from '../../utils/menu-handler-singleton';
4
+ import MenuSection from './Section/MenuSection';
5
+ const Menu = ({
6
+ children
7
+ }) => {
8
+ const [config, setConfig] = useState();
9
+ useEffect(() => {
10
+ const loadConfig = async () => {
11
+ await menuHandler.loadConfig();
12
+ };
13
+ loadConfig().then(() => setConfig(menuHandler.getAll()));
14
+ }, []);
15
+ const MenuSections = () => {
16
+ if (!config) return null;
17
+ return config.map(sections => {
18
+ if (!sections || !Array.isArray(sections) || !sections.length) {
19
+ return null;
20
+ }
21
+ const menuSections = sections.filter(section => section.items);
22
+ return menuSections.map(menuSection => /*#__PURE__*/React.createElement(MenuSection, {
23
+ items: menuSection
24
+ }));
25
+ });
26
+ };
27
+ return /*#__PURE__*/React.createElement("div", {
28
+ className: "side-nav__block"
29
+ }, /*#__PURE__*/React.createElement("ul", {
30
+ className: "side-nav__list"
31
+ }, /*#__PURE__*/React.createElement(MenuSections, null)));
32
+ };
33
+ Menu.propTypes = {
34
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
35
+ };
36
+ Menu.defaultProps = {
37
+ children: null
38
+ };
39
+ export default Menu;
40
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","menuHandler","MenuSection","Menu","children","config","setConfig","loadConfig","then","getAll","MenuSections","map","sections","Array","isArray","length","menuSections","filter","section","items","menuSection","createElement","className","propTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport menuHandler from '../../utils/menu-handler-singleton';\nimport MenuSection from './Section/MenuSection';\n\nconst Menu = ({ children }) => {\n const [config, setConfig] = useState();\n\n useEffect(() => {\n const loadConfig = async () => {\n await menuHandler.loadConfig();\n };\n\n loadConfig().then(() => setConfig(menuHandler.getAll()));\n }, []);\n\n const MenuSections = () => {\n if (!config) return null;\n\n return config.map(sections => {\n if (!sections || !Array.isArray(sections) || !sections.length) {\n return null;\n }\n\n const menuSections = sections.filter(section => section.items);\n\n return menuSections.map(menuSection => <MenuSection items={menuSection} />);\n });\n };\n\n return (\n <div className=\"side-nav__block\">\n <ul className=\"side-nav__list\">\n <MenuSections />\n </ul>\n </div>\n );\n};\n\nMenu.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n children: null\n};\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,oCAAoC;AAC5D,OAAOC,WAAW,MAAM,uBAAuB;AAE/C,MAAMC,IAAI,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC7B,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGR,QAAQ,CAAC,CAAC;EAEtCC,SAAS,CAAC,MAAM;IACd,MAAMQ,UAAU,GAAG,MAAAA,CAAA,KAAY;MAC7B,MAAMN,WAAW,CAACM,UAAU,CAAC,CAAC;IAChC,CAAC;IAEDA,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,MAAMF,SAAS,CAACL,WAAW,CAACQ,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACL,MAAM,EAAE,OAAO,IAAI;IAExB,OAAOA,MAAM,CAACM,GAAG,CAACC,QAAQ,IAAI;MAC5B,IAAI,CAACA,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAACG,MAAM,EAAE;QAC7D,OAAO,IAAI;MACb;MAEA,MAAMC,YAAY,GAAGJ,QAAQ,CAACK,MAAM,CAACC,OAAO,IAAIA,OAAO,CAACC,KAAK,CAAC;MAE9D,OAAOH,YAAY,CAACL,GAAG,CAACS,WAAW,iBAAIvB,KAAA,CAAAwB,aAAA,CAACnB,WAAW;QAACiB,KAAK,EAAEC;MAAY,CAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;EACJ,CAAC;EAED,oBACEvB,KAAA,CAAAwB,aAAA;IAAKC,SAAS,EAAC;EAAiB,gBAC9BzB,KAAA,CAAAwB,aAAA;IAAIC,SAAS,EAAC;EAAgB,gBAC5BzB,KAAA,CAAAwB,aAAA,CAACX,YAAY,MAAE,CACb,CACD,CAAC;AAEV,CAAC;AAEDP,IAAI,CAACoB,SAAS,GAAG;EACfnB,QAAQ,EAAEJ,SAAS,CAACwB,SAAS,CAAC,CAACxB,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC0B,IAAI,CAAC,EAAE1B,SAAS,CAAC0B,IAAI,CAAC;AACnF,CAAC;AAEDvB,IAAI,CAACwB,YAAY,GAAG;EAClBvB,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeD,IAAI"}
@@ -0,0 +1,18 @@
1
+ import PropTypes from 'prop-types';
2
+ import React from 'react';
3
+ import MenuSectionItems from './MenuSectionItems';
4
+ const MenuSection = ({
5
+ items,
6
+ children
7
+ }) => /*#__PURE__*/React.createElement(MenuSectionItems, {
8
+ sectionItems: items
9
+ });
10
+ MenuSection.propTypes = {
11
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
12
+ items: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
13
+ };
14
+ MenuSection.defaultProps = {
15
+ children: null
16
+ };
17
+ export default MenuSection;
18
+ //# sourceMappingURL=MenuSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSection.js","names":["PropTypes","React","MenuSectionItems","MenuSection","items","children","createElement","sectionItems","propTypes","oneOfType","arrayOf","node","isRequired","defaultProps"],"sources":["../../../../src/components/Menu/Section/MenuSection.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport MenuSectionItems from './MenuSectionItems';\n\nconst MenuSection = ({ items, children }) => <MenuSectionItems sectionItems={items} />;\n\nMenuSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n items: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nMenuSection.defaultProps = {\n children: null\n};\n\nexport default MenuSection;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAS,CAAC,kBAAKJ,KAAA,CAAAK,aAAA,CAACJ,gBAAgB;EAACK,YAAY,EAAEH;AAAM,CAAE,CAAC;AAEtFD,WAAW,CAACK,SAAS,GAAG;EACtBH,QAAQ,EAAEL,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC;EAClFP,KAAK,EAAEJ,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC,CAACC;AAClF,CAAC;AAEDT,WAAW,CAACU,YAAY,GAAG;EACzBR,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,WAAW"}
@@ -0,0 +1,67 @@
1
+ import React, { useState } from 'react';
2
+ import ChevronDown from '../Icons/ChevronDown';
3
+ import ChevronUp from '../Icons/ChevronUp';
4
+ const capitalise = s => {
5
+ if (typeof s !== 'string') return '';
6
+ return s.charAt(0).toUpperCase() + s.slice(1);
7
+ };
8
+ const MenuSectionCollapsible = ({
9
+ name,
10
+ item,
11
+ children
12
+ }) => {
13
+ const {
14
+ label,
15
+ loadOpen,
16
+ icon: MenuSectionIcon,
17
+ items
18
+ } = item;
19
+ const [collapsed, setCollapsed] = useState(!loadOpen);
20
+ const CollapseIcon = () => collapsed ? /*#__PURE__*/React.createElement(ChevronDown, null) : /*#__PURE__*/React.createElement(ChevronUp, null);
21
+ const handleClick = () => {
22
+ setCollapsed(!collapsed);
23
+ };
24
+ const modifier = collapsed ? 'side-nav__list--item' : 'side-nav__list--item__selected';
25
+ const buttonModifier = collapsed ? 'side-nav__list-link' : 'side-nav__list-link--selected';
26
+ if (name) {
27
+ return /*#__PURE__*/React.createElement("li", {
28
+ className: modifier
29
+ }, /*#__PURE__*/React.createElement("button", {
30
+ type: "button",
31
+ className: buttonModifier,
32
+ onClick: handleClick
33
+ }, /*#__PURE__*/React.createElement("div", {
34
+ className: "side-nav__list-link--icon"
35
+ }, MenuSectionIcon && /*#__PURE__*/React.createElement(MenuSectionIcon, null)), /*#__PURE__*/React.createElement("div", {
36
+ className: "side-nav__list-link--wrapper"
37
+ }, /*#__PURE__*/React.createElement("div", {
38
+ className: "side-nav__list-link--label"
39
+ }, capitalise(name)), /*#__PURE__*/React.createElement("div", {
40
+ className: "side-nav__list-link--toggleCollapseIcon",
41
+ role: "button"
42
+ }, /*#__PURE__*/React.createElement(CollapseIcon, null)))), /*#__PURE__*/React.createElement("div", {
43
+ className: "side-nav__list-link--children"
44
+ }, collapsed ? null : children));
45
+ }
46
+ if (label && items && Object.keys(items).length > 0) {
47
+ return /*#__PURE__*/React.createElement("li", {
48
+ className: modifier
49
+ }, children);
50
+ }
51
+ if (label && items && Object.keys(items).length === 0) {
52
+ return /*#__PURE__*/React.createElement("li", {
53
+ className: modifier
54
+ }, /*#__PURE__*/React.createElement("button", {
55
+ type: "button",
56
+ className: "side-nav__list-link",
57
+ onClick: handleClick
58
+ }, /*#__PURE__*/React.createElement("div", {
59
+ className: "side-nav__list-link--icon"
60
+ }, MenuSectionIcon && /*#__PURE__*/React.createElement(MenuSectionIcon, null)), /*#__PURE__*/React.createElement("div", {
61
+ className: "side-nav__list-label"
62
+ }, label)));
63
+ }
64
+ return null;
65
+ };
66
+ export default MenuSectionCollapsible;
67
+ //# sourceMappingURL=MenuSectionCollapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSectionCollapsible.js","names":["React","useState","ChevronDown","ChevronUp","capitalise","s","charAt","toUpperCase","slice","MenuSectionCollapsible","name","item","children","label","loadOpen","icon","MenuSectionIcon","items","collapsed","setCollapsed","CollapseIcon","createElement","handleClick","modifier","buttonModifier","className","type","onClick","role","Object","keys","length"],"sources":["../../../../src/components/Menu/Section/MenuSectionCollapsible.js"],"sourcesContent":["import React, { useState } from 'react';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nconst capitalise = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n};\n\nconst MenuSectionCollapsible = ({ name, item, children }) => {\n const { label, loadOpen, icon: MenuSectionIcon, items } = item;\n const [collapsed, setCollapsed] = useState(!loadOpen);\n\n const CollapseIcon = () => (collapsed ? <ChevronDown /> : <ChevronUp />);\n\n const handleClick = () => {\n setCollapsed(!collapsed);\n };\n\n const modifier = collapsed ? 'side-nav__list--item' : 'side-nav__list--item__selected';\n\n const buttonModifier = collapsed ? 'side-nav__list-link' : 'side-nav__list-link--selected';\n\n if (name) {\n return (\n <li className={modifier}>\n <button type=\"button\" className={buttonModifier} onClick={handleClick}>\n <div className=\"side-nav__list-link--icon\">{MenuSectionIcon && <MenuSectionIcon />}</div>\n <div className=\"side-nav__list-link--wrapper\">\n <div className=\"side-nav__list-link--label\">{capitalise(name)}</div>\n <div className=\"side-nav__list-link--toggleCollapseIcon\" role=\"button\">\n <CollapseIcon />\n </div>\n </div>\n </button>\n <div className=\"side-nav__list-link--children\">{collapsed ? null : children}</div>\n </li>\n );\n }\n\n if (label && items && Object.keys(items).length > 0) {\n return <li className={modifier}>{children}</li>;\n }\n\n if (label && items && Object.keys(items).length === 0) {\n return (\n <li className={modifier}>\n <button type=\"button\" className=\"side-nav__list-link\" onClick={handleClick}>\n <div className=\"side-nav__list-link--icon\">{MenuSectionIcon && <MenuSectionIcon />}</div>\n <div className=\"side-nav__list-label\">{label}</div>\n </button>\n </li>\n );\n }\n\n return null;\n};\n\nexport default MenuSectionCollapsible;\n"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import MenuItem from '../Items/MenuItem';
4
+ import MenuSectionCollapsible from './MenuSectionCollapsible';
5
+ const MenuSectionItem = ({
6
+ name,
7
+ item
8
+ }) => {
9
+ if (!item) return null;
10
+ if (item.uri) {
11
+ return /*#__PURE__*/React.createElement(MenuItem, {
12
+ item: item,
13
+ RenderItems: MenuSectionCollapsible
14
+ });
15
+ }
16
+ if (Object.values(item.items).length === 0) return null;
17
+ return /*#__PURE__*/React.createElement(MenuSectionCollapsible, {
18
+ name: name,
19
+ item: item
20
+ }, /*#__PURE__*/React.createElement(MenuItem, {
21
+ item: item,
22
+ RenderItems: MenuSectionCollapsible
23
+ }));
24
+ };
25
+ export default MenuSectionItem;
26
+ MenuSectionItem.propTypes = {
27
+ name: PropTypes.string.isRequired,
28
+ item: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.object]).isRequired
29
+ };
30
+ //# sourceMappingURL=MenuSectionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSectionItem.js","names":["React","PropTypes","MenuItem","MenuSectionCollapsible","MenuSectionItem","name","item","uri","createElement","RenderItems","Object","values","items","length","propTypes","string","isRequired","oneOfType","arrayOf","node","object"],"sources":["../../../../src/components/Menu/Section/MenuSectionItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuItem from '../Items/MenuItem';\nimport MenuSectionCollapsible from './MenuSectionCollapsible';\n\nconst MenuSectionItem = ({ name, item }) => {\n if (!item) return null;\n\n if (item.uri) {\n return <MenuItem item={item} RenderItems={MenuSectionCollapsible} />;\n }\n\n if (Object.values(item.items).length === 0) return null;\n\n return (\n <MenuSectionCollapsible name={name} item={item}>\n <MenuItem item={item} RenderItems={MenuSectionCollapsible} />\n </MenuSectionCollapsible>\n );\n};\n\nexport default MenuSectionItem;\n\nMenuSectionItem.propTypes = {\n name: PropTypes.string.isRequired,\n item: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.object])\n .isRequired\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,OAAOC,sBAAsB,MAAM,0BAA0B;AAE7D,MAAMC,eAAe,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAK,CAAC,KAAK;EAC1C,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtB,IAAIA,IAAI,CAACC,GAAG,EAAE;IACZ,oBAAOP,KAAA,CAAAQ,aAAA,CAACN,QAAQ;MAACI,IAAI,EAAEA,IAAK;MAACG,WAAW,EAAEN;IAAuB,CAAE,CAAC;EACtE;EAEA,IAAIO,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,KAAK,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEvD,oBACEb,KAAA,CAAAQ,aAAA,CAACL,sBAAsB;IAACE,IAAI,EAAEA,IAAK;IAACC,IAAI,EAAEA;EAAK,gBAC7CN,KAAA,CAAAQ,aAAA,CAACN,QAAQ;IAACI,IAAI,EAAEA,IAAK;IAACG,WAAW,EAAEN;EAAuB,CAAE,CACtC,CAAC;AAE7B,CAAC;AAED,eAAeC,eAAe;AAE9BA,eAAe,CAACU,SAAS,GAAG;EAC1BT,IAAI,EAAEJ,SAAS,CAACc,MAAM,CAACC,UAAU;EACjCV,IAAI,EAAEL,SAAS,CAACgB,SAAS,CAAC,CAAChB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,IAAI,CAAC,EAAElB,SAAS,CAACkB,IAAI,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC,CAC7FJ;AACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import MenuSectionItem from './MenuSectionItem';
4
+ const MenuSectionItems = ({
5
+ sectionItems
6
+ }) => {
7
+ const {
8
+ items
9
+ } = sectionItems;
10
+ const menuSections = Object.entries(items).sort((a, b) => a[1].order - b[1].order);
11
+ return menuSections.map(menuItem => /*#__PURE__*/React.createElement(MenuSectionItem, {
12
+ name: menuItem[0],
13
+ item: menuItem[1]
14
+ }));
15
+ };
16
+ export default MenuSectionItems;
17
+ MenuSectionItems.propTypes = {
18
+ sectionItems: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
19
+ };
20
+ //# sourceMappingURL=MenuSectionItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSectionItems.js","names":["React","PropTypes","MenuSectionItem","MenuSectionItems","sectionItems","items","menuSections","Object","entries","sort","a","b","order","map","menuItem","createElement","name","item","propTypes","oneOfType","arrayOf","node","isRequired"],"sources":["../../../../src/components/Menu/Section/MenuSectionItems.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuSectionItem from './MenuSectionItem';\n\nconst MenuSectionItems = ({ sectionItems }) => {\n const { items } = sectionItems;\n\n const menuSections = Object.entries(items).sort((a, b) => a[1].order - b[1].order);\n\n return menuSections.map(menuItem => <MenuSectionItem name={menuItem[0]} item={menuItem[1]} />);\n};\n\nexport default MenuSectionItems;\n\nMenuSectionItems.propTypes = {\n sectionItems: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAa,CAAC,KAAK;EAC7C,MAAM;IAAEC;EAAM,CAAC,GAAGD,YAAY;EAE9B,MAAME,YAAY,GAAGC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC,CAAC,CAAC,CAACE,KAAK,GAAGD,CAAC,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC;EAElF,OAAON,YAAY,CAACO,GAAG,CAACC,QAAQ,iBAAId,KAAA,CAAAe,aAAA,CAACb,eAAe;IAACc,IAAI,EAAEF,QAAQ,CAAC,CAAC,CAAE;IAACG,IAAI,EAAEH,QAAQ,CAAC,CAAC;EAAE,CAAE,CAAC,CAAC;AAChG,CAAC;AAED,eAAeX,gBAAgB;AAE/BA,gBAAgB,CAACe,SAAS,GAAG;EAC3Bd,YAAY,EAAEH,SAAS,CAACkB,SAAS,CAAC,CAAClB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,IAAI,CAAC,EAAEpB,SAAS,CAACoB,IAAI,CAAC,CAAC,CAACC;AACzF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Menu from './Menu';
2
+ export default Menu;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Menu"],"sources":["../../../src/components/Menu/index.js"],"sourcesContent":["import Menu from './Menu';\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,QAAQ;AAEzB,eAAeA,IAAI"}
@@ -1,14 +1,11 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import React from 'react';
3
- import { Link } from 'react-router-dom';
4
2
  import classnames from 'classnames';
5
3
  import PropTypes from 'prop-types';
6
4
  import { useApolloClient } from '@apollo/client';
7
5
  import Avatar from '@blaze-react/avatar';
8
6
  import { handleLogout } from '@blaze-cms/core-auth-ui';
9
- import { SideBlock } from './components';
7
+ import Menu from '../Menu';
10
8
  const SideBar = ({
11
- menuItems,
12
9
  isOpenMenu,
13
10
  onMenuClick,
14
11
  userData
@@ -36,16 +33,11 @@ const SideBar = ({
36
33
  onClick: onMenuClick
37
34
  }, /*#__PURE__*/React.createElement("i", {
38
35
  className: "material-icons"
39
- }, "keyboard_arrow_left")), /*#__PURE__*/React.createElement(Link, {
40
- to: "/",
41
- className: "side-nav__block-home"
42
- }, "Dashboard"), /*#__PURE__*/React.createElement("div", {
36
+ }, "keyboard_arrow_left")), /*#__PURE__*/React.createElement("div", {
43
37
  className: sideNavWrapperClassname,
44
38
  "data-testid": "sidenav",
45
39
  id: "side-nav__wrapper"
46
- }, menuItems.length ? menuItems.map(([, data]) => /*#__PURE__*/React.createElement(SideBlock, _extends({
47
- key: data.header
48
- }, data))) : 'Not available content types'), /*#__PURE__*/React.createElement("div", {
40
+ }, /*#__PURE__*/React.createElement(Menu, null)), /*#__PURE__*/React.createElement("div", {
49
41
  className: "side-nav__user"
50
42
  }, /*#__PURE__*/React.createElement("div", {
51
43
  className: "side-nav__user--info"
@@ -68,7 +60,6 @@ const SideBar = ({
68
60
  }, "Log off")));
69
61
  };
70
62
  SideBar.propTypes = {
71
- menuItems: PropTypes.array.isRequired,
72
63
  isOpenMenu: PropTypes.bool.isRequired,
73
64
  onMenuClick: PropTypes.func.isRequired,
74
65
  userData: PropTypes.object.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"SideBar.js","names":["React","Link","classnames","PropTypes","useApolloClient","Avatar","handleLogout","SideBlock","SideBar","menuItems","isOpenMenu","onMenuClick","userData","client","firstname","lastname","username","sideNavClassname","sideNavWrapperClassname","createElement","className","role","id","onClick","to","length","map","data","_extends","key","header","window","location","href","propTypes","array","isRequired","bool","func","object"],"sources":["../../../src/components/SideBar/SideBar.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport Avatar from '@blaze-react/avatar';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { SideBlock } from './components';\n\nconst SideBar = ({ menuItems, isOpenMenu, onMenuClick, userData }) => {\n const client = useApolloClient();\n\n const { firstname, lastname } = userData;\n const username = `${firstname} ${lastname}`;\n\n const sideNavClassname = classnames('side-nav', {\n 'side-nav--open': isOpenMenu,\n 'side-nav--close': !isOpenMenu\n });\n\n const sideNavWrapperClassname = classnames('side-nav__wrapper', {\n 'side-nav__wrapper--close': !isOpenMenu\n });\n\n return (\n <div data-testid=\"sidebar\" className={sideNavClassname}>\n <div\n role=\"button\"\n className=\"side-nav__button open\"\n id=\"side-nav-button\"\n onClick={onMenuClick}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n <Link to=\"/\" className=\"side-nav__block-home\">\n Dashboard\n </Link>\n <div className={sideNavWrapperClassname} data-testid=\"sidenav\" id=\"side-nav__wrapper\">\n {menuItems.length\n ? menuItems.map(([, data]) => <SideBlock key={data.header} {...data} />)\n : 'Not available content types'}\n </div>\n <div className=\"side-nav__user\">\n <div className=\"side-nav__user--info\">\n <Avatar username={username} />\n <span className=\"user-name\">{username}</span>\n </div>\n <div className=\"side-nav__user--button\">\n <span\n id=\"logout-button\"\n role=\"button\"\n onClick={async () => {\n await handleLogout(client);\n window.location.href = '/';\n }}\n className=\"material-icons\">\n power_settings_new\n </span>\n </div>\n <span className=\"side-nav__user--toggle\">Log off</span>\n </div>\n </div>\n );\n};\n\nSideBar.propTypes = {\n menuItems: PropTypes.array.isRequired,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object.isRequired\n};\n\nexport default SideBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SideBar.js","names":["React","classnames","PropTypes","useApolloClient","Avatar","handleLogout","Menu","SideBar","isOpenMenu","onMenuClick","userData","client","firstname","lastname","username","sideNavClassname","sideNavWrapperClassname","createElement","className","role","id","onClick","window","location","href","propTypes","bool","isRequired","func","object"],"sources":["../../../src/components/SideBar/SideBar.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport Avatar from '@blaze-react/avatar';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport Menu from '../Menu';\n\nconst SideBar = ({ isOpenMenu, onMenuClick, userData }) => {\n const client = useApolloClient();\n\n const { firstname, lastname } = userData;\n const username = `${firstname} ${lastname}`;\n\n const sideNavClassname = classnames('side-nav', {\n 'side-nav--open': isOpenMenu,\n 'side-nav--close': !isOpenMenu\n });\n\n const sideNavWrapperClassname = classnames('side-nav__wrapper', {\n 'side-nav__wrapper--close': !isOpenMenu\n });\n\n return (\n <div data-testid=\"sidebar\" className={sideNavClassname}>\n <div\n role=\"button\"\n className=\"side-nav__button open\"\n id=\"side-nav-button\"\n onClick={onMenuClick}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n {/* <Link to=\"/\" className=\"side-nav__block-home\">\n Dashboard\n </Link> */}\n <div className={sideNavWrapperClassname} data-testid=\"sidenav\" id=\"side-nav__wrapper\">\n <Menu />\n </div>\n <div className=\"side-nav__user\">\n <div className=\"side-nav__user--info\">\n <Avatar username={username} />\n <span className=\"user-name\">{username}</span>\n </div>\n <div className=\"side-nav__user--button\">\n <span\n id=\"logout-button\"\n role=\"button\"\n onClick={async () => {\n await handleLogout(client);\n window.location.href = '/';\n }}\n className=\"material-icons\">\n power_settings_new\n </span>\n </div>\n <span className=\"side-nav__user--toggle\">Log off</span>\n </div>\n </div>\n );\n};\n\nSideBar.propTypes = {\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object.isRequired\n};\n\nexport default SideBar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,OAAOC,IAAI,MAAM,SAAS;AAE1B,MAAMC,OAAO,GAAGA,CAAC;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAS,CAAC,KAAK;EACzD,MAAMC,MAAM,GAAGR,eAAe,CAAC,CAAC;EAEhC,MAAM;IAAES,SAAS;IAAEC;EAAS,CAAC,GAAGH,QAAQ;EACxC,MAAMI,QAAQ,GAAI,GAAEF,SAAU,IAAGC,QAAS,EAAC;EAE3C,MAAME,gBAAgB,GAAGd,UAAU,CAAC,UAAU,EAAE;IAC9C,gBAAgB,EAAEO,UAAU;IAC5B,iBAAiB,EAAE,CAACA;EACtB,CAAC,CAAC;EAEF,MAAMQ,uBAAuB,GAAGf,UAAU,CAAC,mBAAmB,EAAE;IAC9D,0BAA0B,EAAE,CAACO;EAC/B,CAAC,CAAC;EAEF,oBACER,KAAA,CAAAiB,aAAA;IAAK,eAAY,SAAS;IAACC,SAAS,EAAEH;EAAiB,gBACrDf,KAAA,CAAAiB,aAAA;IACEE,IAAI,EAAC,QAAQ;IACbD,SAAS,EAAC,uBAAuB;IACjCE,EAAE,EAAC,iBAAiB;IACpBC,OAAO,EAAEZ;EAAY,gBACrBT,KAAA,CAAAiB,aAAA;IAAGC,SAAS,EAAC;EAAgB,GAAC,qBAAsB,CACjD,CAAC,eAINlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAEF,uBAAwB;IAAC,eAAY,SAAS;IAACI,EAAE,EAAC;EAAmB,gBACnFpB,KAAA,CAAAiB,aAAA,CAACX,IAAI,MAAE,CACJ,CAAC,eACNN,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAgB,gBAC7BlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAsB,gBACnClB,KAAA,CAAAiB,aAAA,CAACb,MAAM;IAACU,QAAQ,EAAEA;EAAS,CAAE,CAAC,eAC9Bd,KAAA,CAAAiB,aAAA;IAAMC,SAAS,EAAC;EAAW,GAAEJ,QAAe,CACzC,CAAC,eACNd,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACrClB,KAAA,CAAAiB,aAAA;IACEG,EAAE,EAAC,eAAe;IAClBD,IAAI,EAAC,QAAQ;IACbE,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMhB,YAAY,CAACM,MAAM,CAAC;MAC1BW,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAG,GAAG;IAC5B,CAAE;IACFN,SAAS,EAAC;EAAgB,GAAC,oBAEvB,CACH,CAAC,eACNlB,KAAA,CAAAiB,aAAA;IAAMC,SAAS,EAAC;EAAwB,GAAC,SAAa,CACnD,CACF,CAAC;AAEV,CAAC;AAEDX,OAAO,CAACkB,SAAS,GAAG;EAClBjB,UAAU,EAAEN,SAAS,CAACwB,IAAI,CAACC,UAAU;EACrClB,WAAW,EAAEP,SAAS,CAAC0B,IAAI,CAACD,UAAU;EACtCjB,QAAQ,EAAER,SAAS,CAAC2B,MAAM,CAACF;AAC7B,CAAC;AAED,eAAepB,OAAO"}
@@ -1,6 +1,6 @@
1
1
  const PLUGIN_NAME = 'admin-core-ui';
2
2
  const LOGO_PROPS = {
3
- src: 'https://images.thisisblaze.com/logo-85-30.png'
3
+ src: process.env.BLAZE_ADMIN_HEAD_LOGO_URL || 'https://images.thisisblaze.com/logo-98-148.png'
4
4
  };
5
5
  const DEFAULT_LABEL = {
6
6
  text: 'See more',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["PLUGIN_NAME","LOGO_PROPS","src","DEFAULT_LABEL","text","icon","ACTIVE_LABEL","DOWN_ICON"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'admin-core-ui';\nconst LOGO_PROPS = { src: 'https://images.thisisblaze.com/logo-85-30.png' };\n\nconst DEFAULT_LABEL = {\n text: 'See more',\n icon: 'down'\n};\n\nconst ACTIVE_LABEL = {\n text: 'See less',\n icon: 'up'\n};\n\nconst DOWN_ICON = 'down';\n\nexport { PLUGIN_NAME, LOGO_PROPS, ACTIVE_LABEL, DEFAULT_LABEL, DOWN_ICON };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,eAAe;AACnC,MAAMC,UAAU,GAAG;EAAEC,GAAG,EAAE;AAAgD,CAAC;AAE3E,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAME,SAAS,GAAG,MAAM;AAExB,SAASP,WAAW,EAAEC,UAAU,EAAEK,YAAY,EAAEH,aAAa,EAAEI,SAAS"}
1
+ {"version":3,"file":"constants.js","names":["PLUGIN_NAME","LOGO_PROPS","src","process","env","BLAZE_ADMIN_HEAD_LOGO_URL","DEFAULT_LABEL","text","icon","ACTIVE_LABEL","DOWN_ICON"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'admin-core-ui';\nconst LOGO_PROPS = {\n src: process.env.BLAZE_ADMIN_HEAD_LOGO_URL || 'https://images.thisisblaze.com/logo-98-148.png'\n};\n\nconst DEFAULT_LABEL = {\n text: 'See more',\n icon: 'down'\n};\n\nconst ACTIVE_LABEL = {\n text: 'See less',\n icon: 'up'\n};\n\nconst DOWN_ICON = 'down';\n\nexport { PLUGIN_NAME, LOGO_PROPS, ACTIVE_LABEL, DEFAULT_LABEL, DOWN_ICON };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,eAAe;AACnC,MAAMC,UAAU,GAAG;EACjBC,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,yBAAyB,IAAI;AAChD,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAME,SAAS,GAAG,MAAM;AAExB,SAASV,WAAW,EAAEC,UAAU,EAAEQ,YAAY,EAAEH,aAAa,EAAEI,SAAS"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- const Home = () => /*#__PURE__*/React.createElement("div", null, "Home");
2
+ const Home = () => /*#__PURE__*/React.createElement("div", null);
3
3
  Home.displayName = 'Home';
4
4
  export default Home;
5
5
  //# sourceMappingURL=Home.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Home.js","names":["React","Home","createElement","displayName"],"sources":["../../../src/containers/Home/Home.js"],"sourcesContent":["import React from 'react';\n\nconst Home = () => <div>Home</div>;\n\nHome.displayName = 'Home';\n\nexport default Home;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,IAAI,GAAGA,CAAA,kBAAMD,KAAA,CAAAE,aAAA,cAAK,MAAS,CAAC;AAElCD,IAAI,CAACE,WAAW,GAAG,MAAM;AAEzB,eAAeF,IAAI"}
1
+ {"version":3,"file":"Home.js","names":["React","Home","createElement","displayName"],"sources":["../../../src/containers/Home/Home.js"],"sourcesContent":["import React from 'react';\n\nconst Home = () => <div />;\n\nHome.displayName = 'Home';\n\nexport default Home;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,IAAI,GAAGA,CAAA,kBAAMD,KAAA,CAAAE,aAAA,YAAM,CAAC;AAE1BD,IAAI,CAACE,WAAW,GAAG,MAAM;AAEzB,eAAeF,IAAI"}
package/lib-es/index.js CHANGED
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { Layout } from './components';
3
3
  import pkg from '../package.json';
4
4
  import { PLUGIN_NAME } from './constants';
5
- import getMenuItemsResolver from './utils/get-menu-items-resolver';
5
+ import menuHandler from './utils/menu-handler-singleton';
6
6
  const Home = React.lazy(() => import( /* webpackChunkName: 'Home' */'./containers'));
7
- async function load(app) {
7
+ async function load(app, options = {}) {
8
8
  const home = {
9
9
  path: '/',
10
10
  exact: true,
@@ -12,14 +12,14 @@ async function load(app) {
12
12
  component: Home
13
13
  };
14
14
  app.addRoute(home);
15
- app.addQueryResolver('getMenuItems', getMenuItemsResolver(app));
15
+ menuHandler.setApp(app);
16
16
  app.setLayout(Layout);
17
- app.events.once('load:menu-section', addSection => {
18
- addSection('plugins', {
19
- header: 'plugins',
20
- order: 200
21
- });
22
- });
17
+ const {
18
+ menuConfig = {}
19
+ } = options;
20
+ app.events.once('admin:menu:config:load:after', ({
21
+ addConfig
22
+ }) => addConfig(menuConfig));
23
23
  return {
24
24
  name: PLUGIN_NAME,
25
25
  version: pkg.version
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Layout","pkg","PLUGIN_NAME","getMenuItemsResolver","Home","lazy","load","app","home","path","exact","key","component","addRoute","addQueryResolver","setLayout","events","once","addSection","header","order","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { Layout } from './components';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\nimport getMenuItemsResolver from './utils/get-menu-items-resolver';\n\nconst Home = React.lazy(() => import(/* webpackChunkName: 'Home' */ './containers'));\n\nasync function load(app) {\n const home = {\n path: '/',\n exact: true,\n key: 'home',\n component: Home\n };\n app.addRoute(home);\n\n app.addQueryResolver('getMenuItems', getMenuItemsResolver(app));\n\n app.setLayout(Layout);\n\n app.events.once('load:menu-section', addSection => {\n addSection('plugins', { header: 'plugins', order: 200 });\n });\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n\nexport default load;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AACrC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AACzC,OAAOC,oBAAoB,MAAM,iCAAiC;AAElE,MAAMC,IAAI,GAAGL,KAAK,CAACM,IAAI,CAAC,MAAM,MAAM,EAAC,8BAA+B,cAAc,CAAC,CAAC;AAEpF,eAAeC,IAAIA,CAACC,GAAG,EAAE;EACvB,MAAMC,IAAI,GAAG;IACXC,IAAI,EAAE,GAAG;IACTC,KAAK,EAAE,IAAI;IACXC,GAAG,EAAE,MAAM;IACXC,SAAS,EAAER;EACb,CAAC;EACDG,GAAG,CAACM,QAAQ,CAACL,IAAI,CAAC;EAElBD,GAAG,CAACO,gBAAgB,CAAC,cAAc,EAAEX,oBAAoB,CAACI,GAAG,CAAC,CAAC;EAE/DA,GAAG,CAACQ,SAAS,CAACf,MAAM,CAAC;EAErBO,GAAG,CAACS,MAAM,CAACC,IAAI,CAAC,mBAAmB,EAAEC,UAAU,IAAI;IACjDA,UAAU,CAAC,SAAS,EAAE;MAAEC,MAAM,EAAE,SAAS;MAAEC,KAAK,EAAE;IAAI,CAAC,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAO;IACLC,IAAI,EAAEnB,WAAW;IACjBoB,OAAO,EAAErB,GAAG,CAACqB;EACf,CAAC;AACH;AAEAhB,IAAI,CAACiB,UAAU,GAAGrB,WAAW;AAE7B,eAAeI,IAAI"}
1
+ {"version":3,"file":"index.js","names":["React","Layout","pkg","PLUGIN_NAME","menuHandler","Home","lazy","load","app","options","home","path","exact","key","component","addRoute","setApp","setLayout","menuConfig","events","once","addConfig","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { Layout } from './components';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\nimport menuHandler from './utils/menu-handler-singleton';\n\nconst Home = React.lazy(() => import(/* webpackChunkName: 'Home' */ './containers'));\n\nasync function load(app, options = {}) {\n const home = {\n path: '/',\n exact: true,\n key: 'home',\n component: Home\n };\n\n app.addRoute(home);\n\n menuHandler.setApp(app);\n\n app.setLayout(Layout);\n\n const { menuConfig = {} } = options;\n\n app.events.once('admin:menu:config:load:after', ({ addConfig }) => addConfig(menuConfig));\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n\nexport default load;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AACrC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AACzC,OAAOC,WAAW,MAAM,gCAAgC;AAExD,MAAMC,IAAI,GAAGL,KAAK,CAACM,IAAI,CAAC,MAAM,MAAM,EAAC,8BAA+B,cAAc,CAAC,CAAC;AAEpF,eAAeC,IAAIA,CAACC,GAAG,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrC,MAAMC,IAAI,GAAG;IACXC,IAAI,EAAE,GAAG;IACTC,KAAK,EAAE,IAAI;IACXC,GAAG,EAAE,MAAM;IACXC,SAAS,EAAET;EACb,CAAC;EAEDG,GAAG,CAACO,QAAQ,CAACL,IAAI,CAAC;EAElBN,WAAW,CAACY,MAAM,CAACR,GAAG,CAAC;EAEvBA,GAAG,CAACS,SAAS,CAAChB,MAAM,CAAC;EAErB,MAAM;IAAEiB,UAAU,GAAG,CAAC;EAAE,CAAC,GAAGT,OAAO;EAEnCD,GAAG,CAACW,MAAM,CAACC,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAAEC;EAAU,CAAC,KAAKA,SAAS,CAACH,UAAU,CAAC,CAAC;EAEzF,OAAO;IACLI,IAAI,EAAEnB,WAAW;IACjBoB,OAAO,EAAErB,GAAG,CAACqB;EACf,CAAC;AACH;AAEAhB,IAAI,CAACiB,UAAU,GAAGrB,WAAW;AAE7B,eAAeI,IAAI"}
@@ -0,0 +1,55 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import merge from 'lodash.merge';
3
+ let instance;
4
+ export class MenuHandler {
5
+ constructor(app) {
6
+ _defineProperty(this, "menuSections", new Map());
7
+ _defineProperty(this, "menuConfig", void 0);
8
+ _defineProperty(this, "app", void 0);
9
+ if (instance) {
10
+ throw new Error('You can only create one instance!');
11
+ }
12
+ instance = this;
13
+ this.menuConfig = {};
14
+ this.app = null;
15
+ }
16
+ setApp(app) {
17
+ this.app = app;
18
+ }
19
+ get app() {
20
+ return this.app;
21
+ }
22
+ get menuConfig() {
23
+ return this.menuConfig;
24
+ }
25
+ addConfig(newConfig) {
26
+ this.menuConfig = merge(this.menuConfig, newConfig);
27
+ }
28
+ async loadConfig() {
29
+ const addConfig = newConfig => {
30
+ this.addConfig(newConfig);
31
+ };
32
+ const {
33
+ menuConfig
34
+ } = this;
35
+ if (this.app && this.app.events) {
36
+ await this.app.events.emitAsync('admin:menu:config:load', {
37
+ addConfig
38
+ });
39
+ await this.app.events.emitAsync('admin:menu:config:load:after', {
40
+ addConfig,
41
+ menuConfig
42
+ });
43
+ }
44
+ }
45
+ getInstance() {
46
+ return this;
47
+ }
48
+ getAll() {
49
+ const sortedByOrder = Object.entries(this.menuConfig).sort((a, b) => a.order > b.order ? 1 : -1);
50
+ return sortedByOrder;
51
+ }
52
+ }
53
+ const menuHandler = new MenuHandler();
54
+ export default menuHandler;
55
+ //# sourceMappingURL=menu-handler-singleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-handler-singleton.js","names":["merge","instance","MenuHandler","constructor","app","_defineProperty","Map","Error","menuConfig","setApp","addConfig","newConfig","loadConfig","events","emitAsync","getInstance","getAll","sortedByOrder","Object","entries","sort","a","b","order","menuHandler"],"sources":["../../src/utils/menu-handler-singleton.js"],"sourcesContent":["import merge from 'lodash.merge';\n\nlet instance;\n\nexport class MenuHandler {\n menuSections = new Map();\n\n menuConfig;\n\n app;\n\n constructor(app) {\n if (instance) {\n throw new Error('You can only create one instance!');\n }\n instance = this;\n this.menuConfig = {};\n this.app = null;\n }\n\n setApp(app) {\n this.app = app;\n }\n\n get app() {\n return this.app;\n }\n\n get menuConfig() {\n return this.menuConfig;\n }\n\n addConfig(newConfig) {\n this.menuConfig = merge(this.menuConfig, newConfig);\n }\n\n async loadConfig() {\n const addConfig = newConfig => {\n this.addConfig(newConfig);\n };\n\n const { menuConfig } = this;\n\n if (this.app && this.app.events) {\n await this.app.events.emitAsync('admin:menu:config:load', { addConfig });\n await this.app.events.emitAsync('admin:menu:config:load:after', { addConfig, menuConfig });\n }\n }\n\n getInstance() {\n return this;\n }\n\n getAll() {\n const sortedByOrder = Object.entries(this.menuConfig).sort(\n (a, b) => (a.order > b.order ? 1 : -1)\n );\n\n return sortedByOrder;\n }\n}\n\nconst menuHandler = new MenuHandler();\nexport default menuHandler;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,cAAc;AAEhC,IAAIC,QAAQ;AAEZ,OAAO,MAAMC,WAAW,CAAC;EAOvBC,WAAWA,CAACC,GAAG,EAAE;IAAAC,eAAA,uBANF,IAAIC,GAAG,CAAC,CAAC;IAAAD,eAAA;IAAAA,eAAA;IAOtB,IAAIJ,QAAQ,EAAE;MACZ,MAAM,IAAIM,KAAK,CAAC,mCAAmC,CAAC;IACtD;IACAN,QAAQ,GAAG,IAAI;IACf,IAAI,CAACO,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACJ,GAAG,GAAG,IAAI;EACjB;EAEAK,MAAMA,CAACL,GAAG,EAAE;IACV,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEA,IAAIA,GAAGA,CAAA,EAAG;IACR,OAAO,IAAI,CAACA,GAAG;EACjB;EAEA,IAAII,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACA,UAAU;EACxB;EAEAE,SAASA,CAACC,SAAS,EAAE;IACnB,IAAI,CAACH,UAAU,GAAGR,KAAK,CAAC,IAAI,CAACQ,UAAU,EAAEG,SAAS,CAAC;EACrD;EAEA,MAAMC,UAAUA,CAAA,EAAG;IACjB,MAAMF,SAAS,GAAGC,SAAS,IAAI;MAC7B,IAAI,CAACD,SAAS,CAACC,SAAS,CAAC;IAC3B,CAAC;IAED,MAAM;MAAEH;IAAW,CAAC,GAAG,IAAI;IAE3B,IAAI,IAAI,CAACJ,GAAG,IAAI,IAAI,CAACA,GAAG,CAACS,MAAM,EAAE;MAC/B,MAAM,IAAI,CAACT,GAAG,CAACS,MAAM,CAACC,SAAS,CAAC,wBAAwB,EAAE;QAAEJ;MAAU,CAAC,CAAC;MACxE,MAAM,IAAI,CAACN,GAAG,CAACS,MAAM,CAACC,SAAS,CAAC,8BAA8B,EAAE;QAAEJ,SAAS;QAAEF;MAAW,CAAC,CAAC;IAC5F;EACF;EAEAO,WAAWA,CAAA,EAAG;IACZ,OAAO,IAAI;EACb;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAMC,aAAa,GAAGC,MAAM,CAACC,OAAO,CAAC,IAAI,CAACX,UAAU,CAAC,CAACY,IAAI,CACxD,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,GAAG,CAAC,GAAG,CAAC,CACtC,CAAC;IAED,OAAON,aAAa;EACtB;AACF;AAEA,MAAMO,WAAW,GAAG,IAAItB,WAAW,CAAC,CAAC;AACrC,eAAesB,WAAW"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-admin-core-ui",
3
- "version": "0.133.0",
3
+ "version": "0.134.0-project-admin-customisations.0",
4
4
  "description": "Blaze plugin admin core ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,11 +27,11 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-styles": "^0.131.0",
31
- "@blaze-cms/admin-ui-utils": "^0.132.0",
32
- "@blaze-cms/core-ui": "^0.131.0",
33
- "@blaze-cms/plugin-search-ui": "^0.133.0",
34
- "@blaze-cms/setup-ui": "^0.131.0",
30
+ "@blaze-cms/admin-ui-styles": "0.134.0-project-admin-customisations.0",
31
+ "@blaze-cms/admin-ui-utils": "0.134.0-project-admin-customisations.0",
32
+ "@blaze-cms/core-ui": "0.134.0-project-admin-customisations.0",
33
+ "@blaze-cms/plugin-search-ui": "0.134.0-project-admin-customisations.0",
34
+ "@blaze-cms/setup-ui": "0.134.0-project-admin-customisations.0",
35
35
  "@blaze-react/avatar": "0.5.19",
36
36
  "@blaze-react/button": "0.5.19",
37
37
  "@blaze-react/input": "0.5.30",
@@ -47,12 +47,13 @@
47
47
  "react-router-dom": "^5.0.1"
48
48
  },
49
49
  "devDependencies": {
50
- "@blaze-cms/plugin-auth-ui": "^0.132.0",
50
+ "@blaze-cms/plugin-auth-ui": "0.134.0-project-admin-customisations.0",
51
+ "lodash.merge": "^4.6.2",
51
52
  "waait": "1.0.5"
52
53
  },
53
54
  "eslintIgnore": [
54
55
  "lib/*",
55
56
  "lib-es/*"
56
57
  ],
57
- "gitHead": "d1265256eafcf99954599ab9b12d1cc165929cb9"
58
+ "gitHead": "ed7ba9d56aee2c4913b8204b0181fdc8c5975d94"
58
59
  }
@@ -5,15 +5,17 @@ import { Menu, Logo } from './components';
5
5
  import { LOGO_PROPS } from '../../constants';
6
6
 
7
7
  const Header = ({ isLoggedIn, isOpenMenu, onMenuClick }) => (
8
- <header className="header">
8
+ <>
9
9
  {isLoggedIn && (
10
- <div className="header__menu">
11
- <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id="menu-button" />
12
- </div>
10
+ <header className="header">
11
+ <div className="header__menu">
12
+ <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id="menu-button" />
13
+ </div>
14
+ <Logo {...LOGO_PROPS} />
15
+ <SearchAdmin />
16
+ </header>
13
17
  )}
14
- <Logo {...LOGO_PROPS} />
15
- {isLoggedIn && <SearchAdmin />}
16
- </header>
18
+ </>
17
19
  );
18
20
 
19
21
  Header.propTypes = {
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ // import Svg from './bg.svg';
4
+
5
+ const Background = ({ children }) => (
6
+ <div className="bg-blue-900 h-full w-full relative">
7
+ {/* <Svg /> */}
8
+ <div className="login-container">{children}</div>
9
+ </div>
10
+ );
11
+
12
+ Background.propTypes = {
13
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
14
+ };
15
+
16
+ export default Background;
@@ -3,29 +3,44 @@ import PropTypes from 'prop-types';
3
3
  import { Query } from '@apollo/client/react/components';
4
4
  import { getQuery } from '@blaze-cms/admin-ui-utils';
5
5
  import { Login } from '@blaze-cms/plugin-auth-ui';
6
- import Header from '../Header';
7
6
  import { Grid } from './components';
8
-
7
+ import Background from './Background';
9
8
  import '@blaze-cms/admin-ui-styles/main.scss';
9
+ import Header from '../Header';
10
10
 
11
11
  const Layout = ({ children }) => {
12
12
  const [isOpenMenu, setOpenMenu] = useState(true);
13
13
  const onMenuClick = () => setOpenMenu(!isOpenMenu);
14
+
15
+ const simpleLayout = window.location !== window.parent.location;
16
+
17
+ const wrapperClass = simpleLayout ? ' grid--site-container--simle-layout' : '';
18
+
14
19
  return (
15
- <div className="site-container grid grid--site-container">
20
+ <div className={`site-container grid--site-container${wrapperClass}`}>
16
21
  <Query query={getQuery('GET_USER_AUTH_DATA')} errorPolicy="all">
17
22
  {({ data = {} }) => {
18
23
  const { session: { isLoggedIn, userData = {} } = {} } = data;
19
24
 
20
25
  return (
21
26
  <>
22
- <Header isLoggedIn={isLoggedIn} onMenuClick={onMenuClick} isOpenMenu={isOpenMenu} />
27
+ {!simpleLayout && (
28
+ <Header isLoggedIn={isLoggedIn} onMenuClick={onMenuClick} isOpenMenu={isOpenMenu} />
29
+ )}
23
30
  {isLoggedIn ? (
24
- <Grid isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData}>
25
- {children}
26
- </Grid>
31
+ <>
32
+ <Grid
33
+ isOpenMenu={isOpenMenu}
34
+ onMenuClick={onMenuClick}
35
+ userData={userData}
36
+ simpleLayout={simpleLayout}>
37
+ {children}
38
+ </Grid>
39
+ </>
27
40
  ) : (
28
- <Login />
41
+ <Background>
42
+ <Login />
43
+ </Background>
29
44
  )}
30
45
  </>
31
46
  );