@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.41 → 0.146.0-node18-tooltips.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -97
- package/lib/components/Menu/Menu.js +1 -4
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/MenuContext.js +1 -2
- package/lib/components/Menu/MenuContext.js.map +1 -1
- package/lib/components/MenuItem/MenuItemRender.js +12 -27
- package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib/components/MenuItem/helpers/index.js +0 -14
- package/lib/components/MenuItem/helpers/index.js.map +1 -1
- package/lib/helpers/get-image-ids.js +3 -0
- package/lib/helpers/get-image-ids.js.map +1 -1
- package/lib/hooks/use-get-image-id-from-relation.js +9 -2
- package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib-es/components/Menu/Menu.js +1 -4
- package/lib-es/components/Menu/Menu.js.map +1 -1
- package/lib-es/components/Menu/MenuContext.js +1 -2
- package/lib-es/components/Menu/MenuContext.js.map +1 -1
- package/lib-es/components/MenuItem/MenuItemRender.js +11 -25
- package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib-es/components/MenuItem/helpers/index.js +1 -3
- package/lib-es/components/MenuItem/helpers/index.js.map +1 -1
- package/lib-es/helpers/get-image-ids.js +2 -0
- package/lib-es/helpers/get-image-ids.js.map +1 -1
- package/lib-es/hooks/use-get-image-id-from-relation.js +9 -2
- package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/package.json +10 -10
- package/src/components/Menu/Menu.js +1 -3
- package/src/components/Menu/MenuContext.js +1 -1
- package/src/components/MenuItem/MenuItemRender.js +12 -40
- package/src/components/MenuItem/helpers/index.js +1 -3
- package/src/helpers/get-image-ids.js +3 -0
- package/src/hooks/use-get-image-id-from-relation.js +9 -2
- package/tests/unit/src/components/MenuItem/MenuItem.test.js +0 -5
- package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +3 -11
- package/tests/unit/src/helpers/get-image-ids.test.js +22 -10
- package/tests/unit/src/hooks/use-get-image-id-from-relation.test.js +73 -4
- package/lib/components/MenuItem/helpers/has-active-child.js +0 -19
- package/lib/components/MenuItem/helpers/has-active-child.js.map +0 -1
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js +0 -18
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js.map +0 -1
- package/lib-es/components/MenuItem/helpers/has-active-child.js +0 -5
- package/lib-es/components/MenuItem/helpers/has-active-child.js.map +0 -1
- package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js +0 -8
- package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js.map +0 -1
- package/src/components/MenuItem/helpers/has-active-child.js +0 -10
- package/src/components/MenuItem/helpers/isUrlPathMatch.js +0 -10
- package/tests/unit/src/components/MenuItem/helpers/constants.js +0 -73
- package/tests/unit/src/components/MenuItem/helpers/has-active-child.test.js +0 -35
- package/tests/unit/src/components/MenuItem/helpers/is-url-path-match.test.js +0 -53
|
@@ -5,25 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
Object.defineProperty(exports, "hasActiveChild", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _hasActiveChild["default"];
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
8
|
Object.defineProperty(exports, "injectHelperIntoTemplate", {
|
|
15
9
|
enumerable: true,
|
|
16
10
|
get: function get() {
|
|
17
11
|
return _injectHelperIntoTemplate["default"];
|
|
18
12
|
}
|
|
19
13
|
});
|
|
20
|
-
Object.defineProperty(exports, "isUrlPathMatch", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function get() {
|
|
23
|
-
return _isUrlPathMatch["default"];
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
14
|
var _injectHelperIntoTemplate = _interopRequireDefault(require("./inject-helper-into-template"));
|
|
27
|
-
var _isUrlPathMatch = _interopRequireDefault(require("./isUrlPathMatch"));
|
|
28
|
-
var _hasActiveChild = _interopRequireDefault(require("./has-active-child"));
|
|
29
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_injectHelperIntoTemplate","_interopRequireDefault","require"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_injectHelperIntoTemplate","_interopRequireDefault","require"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\n\nexport { injectHelperIntoTemplate };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
11
|
require("core-js/modules/es.array.filter.js");
|
|
11
12
|
require("core-js/modules/es.array.is-array.js");
|
|
12
13
|
require("core-js/modules/es.array.map.js");
|
|
@@ -16,6 +17,7 @@ var _lodash = _interopRequireDefault(require("lodash.isplainobject"));
|
|
|
16
17
|
var getIdsFromArray = function getIdsFromArray(relationImageData, relationProp, imageId) {
|
|
17
18
|
if (!relationImageData.length) return [imageId];
|
|
18
19
|
return relationImageData.map(function (image) {
|
|
20
|
+
if ((0, _typeof2["default"])(image) !== 'object') return image;
|
|
19
21
|
if (!Object.keys(image).length) return '';
|
|
20
22
|
return image[relationProp];
|
|
21
23
|
}).filter(Boolean);
|
|
@@ -35,6 +37,7 @@ var getImageIds = function getImageIds(imageRelation, relationData, imageId) {
|
|
|
35
37
|
if ((0, _lodash["default"])(relationImageData) && Object.keys(relationImageData).length) {
|
|
36
38
|
return Array.isArray(relationImageData[relationProp]) ? relationImageData[relationProp] : [relationImageData[relationProp]];
|
|
37
39
|
}
|
|
40
|
+
if (relationImageData) return [relationImageData];
|
|
38
41
|
}
|
|
39
42
|
return imageIdArray;
|
|
40
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-image-ids.js","names":["_lodash","_interopRequireDefault","require","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","_imageRelation","_slicedToArray2","imageData","_imageData$split","split","_imageData$split2","relationName","Array","isArray","isPlainObject","_default","exports"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-image-ids.js","names":["_lodash","_interopRequireDefault","require","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","_typeof2","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","_imageRelation","_slicedToArray2","imageData","_imageData$split","split","_imageData$split2","relationName","Array","isArray","isPlainObject","_default","exports"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (typeof image !== 'object') return image;\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n\n if (relationImageData) return [relationImageData];\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,EAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAAC,UAAAC,KAAK,EAAI;IACZ,IAAI,IAAAC,QAAA,aAAOD,KAAK,MAAK,QAAQ,EAAE,OAAOA,KAAK;IAC3C,IAAI,CAACE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDQ,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,aAAa,EAAEC,YAAY,EAAEX,OAAO,EAAK;EAC5D,IAAMY,YAAY,GAAGZ,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIW,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,IAAAC,cAAA,OAAAC,eAAA,aAAoBL,aAAa;MAA1BM,SAAS,GAAAF,cAAA;IAChB,IAAAG,gBAAA,GAAqCD,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;MAAAC,iBAAA,OAAAJ,eAAA,aAAAE,gBAAA;MAAlDG,YAAY,GAAAD,iBAAA;MAAEpB,YAAY,GAAAoB,iBAAA;IACjC,IAAMrB,iBAAiB,GAAGa,YAAY,CAACE,UAAU,CAACO,YAAY,CAAC;IAE/D,IAAI,CAACtB,iBAAiB,EAAE,OAAOc,YAAY;IAE3C,IAAIS,KAAK,CAACC,OAAO,CAACxB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAI,IAAAuB,kBAAa,EAACzB,iBAAiB,CAAC,IAAIO,MAAM,CAACC,IAAI,CAACR,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOoB,KAAK,CAACC,OAAO,CAACxB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;IAEA,IAAID,iBAAiB,EAAE,OAAO,CAACA,iBAAiB,CAAC;EACnD;EAEA,OAAOc,YAAY;AACrB,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,cAEahB,WAAW","ignoreList":[]}
|
|
@@ -26,12 +26,19 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
|
|
|
26
26
|
getPublished = _ref.getPublished,
|
|
27
27
|
get = _ref.get;
|
|
28
28
|
var getAction = isPreview ? get : getPublished || get;
|
|
29
|
-
var props
|
|
29
|
+
var props;
|
|
30
|
+
if (imageRelationData) {
|
|
31
|
+
if (relationProp) {
|
|
32
|
+
props = imageRelationData ? "".concat(relationName, " { ").concat(relationProp, " }") : 'id';
|
|
33
|
+
} else {
|
|
34
|
+
props = relationName;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
30
37
|
var _useQuery = (0, _client.useQuery)((0, _query.generateSingleItemQuery)(getAction, props), {
|
|
31
38
|
variables: {
|
|
32
39
|
id: id
|
|
33
40
|
},
|
|
34
|
-
skip: skip
|
|
41
|
+
skip: skip || !imageRelationData
|
|
35
42
|
}),
|
|
36
43
|
_useQuery$data = _useQuery.data,
|
|
37
44
|
data = _useQuery$data === void 0 ? {} : _useQuery$data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-image-id-from-relation.js","names":["_client","require","_query","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","_imageRelation","_slicedToArray2","_imageRelation$","imageRelationData","_imageRelationData$sp","split","_imageRelationData$sp2","_imageRelationData$sp3","relationName","_imageRelationData$sp4","relationProp","_ref","getPublished","get","getAction","props","concat","_useQuery","useQuery","generateSingleItemQuery","variables","_useQuery$data","data","loading","error","_default","exports"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n
|
|
1
|
+
{"version":3,"file":"use-get-image-id-from-relation.js","names":["_client","require","_query","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","_imageRelation","_slicedToArray2","_imageRelation$","imageRelationData","_imageRelationData$sp","split","_imageRelationData$sp2","_imageRelationData$sp3","relationName","_imageRelationData$sp4","relationProp","_ref","getPublished","get","getAction","props","concat","_useQuery","useQuery","generateSingleItemQuery","variables","_useQuery$data","data","loading","error","_default","exports"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n let props;\n if (imageRelationData) {\n if (relationProp) {\n props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n } else {\n props = relationName;\n }\n }\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip: skip || !imageRelationData\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,SAASE,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,IAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,IAAAC,cAAA,OAAAC,eAAA,aAAiCV,aAAa;IAAAW,eAAA,GAAAF,cAAA;IAAvCG,iBAAiB,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAC7B,IAAAE,qBAAA,GAA+CD,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC;IAAAC,sBAAA,OAAAL,eAAA,aAAAG,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA;IAApEE,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA;IAAEI,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAC3C,IAAAE,IAAA,GAA8BnB,OAAO,IAAI,CAAC,CAAC;IAAnCoB,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;EACzB,IAAMC,SAAS,GAAGpB,SAAS,GAAGmB,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,IAAIE,KAAK;EACT,IAAIZ,iBAAiB,EAAE;IACrB,IAAIO,YAAY,EAAE;MAChBK,KAAK,GAAGZ,iBAAiB,MAAAa,MAAA,CAAMR,YAAY,SAAAQ,MAAA,CAAMN,YAAY,UAAO,IAAI;IAC1E,CAAC,MAAM;MACLK,KAAK,GAAGP,YAAY;IACtB;EACF;EACA,IAAAS,SAAA,GAII,IAAAC,gBAAQ,EAAC,IAAAC,8BAAuB,EAACL,SAAS,EAAEC,KAAK,CAAC,EAAE;MACtDK,SAAS,EAAE;QAAE9B,EAAE,EAAFA;MAAG,CAAC;MACjBM,IAAI,EAAEA,IAAI,IAAI,CAACO;IACjB,CAAC,CAAC;IAAAkB,cAAA,GAAAJ,SAAA,CANAK,IAAI;IAAJA,IAAI,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IACTE,OAAO,GAAAN,SAAA,CAAPM,OAAO;IACPC,KAAK,GAAAP,SAAA,CAALO,KAAK;EAKP,OAAO;IAAEF,IAAI,EAAJA,IAAI;IAAEC,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAM,CAAC;AACjC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEcrC,yBAAyB","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ import BlazeLink from '../BlazeLink';
|
|
|
10
10
|
const Menu = ({
|
|
11
11
|
children,
|
|
12
12
|
collapse,
|
|
13
|
-
openActiveSubmenus,
|
|
14
13
|
modifier,
|
|
15
14
|
mobileMenuModifier,
|
|
16
15
|
mobileMenuChildrenModifier,
|
|
@@ -46,8 +45,7 @@ const Menu = ({
|
|
|
46
45
|
});
|
|
47
46
|
return /*#__PURE__*/React.createElement(MenuContext.Provider, {
|
|
48
47
|
value: {
|
|
49
|
-
showMobileMenu
|
|
50
|
-
openActiveSubmenus
|
|
48
|
+
showMobileMenu
|
|
51
49
|
}
|
|
52
50
|
}, /*#__PURE__*/React.createElement("div", {
|
|
53
51
|
className: menuWrapperClasses
|
|
@@ -85,7 +83,6 @@ const Menu = ({
|
|
|
85
83
|
};
|
|
86
84
|
Menu.propTypes = {
|
|
87
85
|
collapse: PropTypes.bool.isRequired,
|
|
88
|
-
openActiveSubmenus: PropTypes.bool.isRequired,
|
|
89
86
|
logoOnMobile: PropTypes.bool.isRequired,
|
|
90
87
|
logoOnDesktop: PropTypes.bool,
|
|
91
88
|
logoOnMobileUrl: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","BlazeLink","Menu","children","collapse","
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","BlazeLink","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","label","href","name","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(() => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [router.events]);\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile && !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuContext.js","names":["React","MenuContext","createContext","showMobileMenu"
|
|
1
|
+
{"version":3,"file":"MenuContext.js","names":["React","MenuContext","createContext","showMobileMenu"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false });\n\nexport default MenuContext;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,WAAW,GAAGD,KAAK,CAACE,aAAa,CAAC;EAAEC,cAAc,EAAE;AAAM,CAAC,CAAC;AAElE,eAAeF,WAAW","ignoreList":[]}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
2
1
|
import React, { useState, useContext, useEffect } from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
|
|
5
|
-
import classnames from 'classnames';
|
|
6
4
|
import { useRouter } from 'next/router';
|
|
7
5
|
import { useStringTemplate } from '@blaze-cms/utils-handlebars';
|
|
8
|
-
import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN
|
|
6
|
+
import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
|
|
9
7
|
import { hasChildren } from '../../helpers';
|
|
10
8
|
import BlazeLink from '../BlazeLink';
|
|
11
9
|
import MenuContext from '../Menu/MenuContext';
|
|
12
|
-
import { injectHelperIntoTemplate
|
|
10
|
+
import { injectHelperIntoTemplate } from './helpers';
|
|
13
11
|
const MenuItemRender = ({
|
|
14
12
|
children,
|
|
15
13
|
eventType,
|
|
@@ -18,13 +16,10 @@ const MenuItemRender = ({
|
|
|
18
16
|
url,
|
|
19
17
|
parent
|
|
20
18
|
}) => {
|
|
21
|
-
const
|
|
19
|
+
const [displayChildren, setDisplayChildren] = useState(false);
|
|
22
20
|
const {
|
|
23
|
-
showMobileMenu
|
|
24
|
-
openActiveSubmenus
|
|
21
|
+
showMobileMenu
|
|
25
22
|
} = useContext(MenuContext);
|
|
26
|
-
const isHoverEvent = eventType === HOVER;
|
|
27
|
-
const isClickEvent = eventType === CLICK;
|
|
28
23
|
const {
|
|
29
24
|
loading: loadingText,
|
|
30
25
|
data: [textToUse]
|
|
@@ -33,21 +28,19 @@ const MenuItemRender = ({
|
|
|
33
28
|
loading: loadingUrl,
|
|
34
29
|
data: [urlToUse]
|
|
35
30
|
} = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
31
|
+
const router = useRouter();
|
|
32
|
+
const isHoverEvent = eventType === HOVER;
|
|
33
|
+
const childrenDisplayClass = displayChildren ? '' : HIDDEN;
|
|
39
34
|
const hasValidChildren = hasChildren(children);
|
|
40
|
-
const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);
|
|
41
35
|
useEffect(() => {
|
|
42
|
-
if (!showMobileMenu
|
|
43
|
-
}, [
|
|
36
|
+
if (!showMobileMenu) setDisplayChildren(false);
|
|
37
|
+
}, [showMobileMenu]);
|
|
44
38
|
useEffect(() => {
|
|
45
39
|
if (isHoverEvent) {
|
|
46
40
|
setDisplayChildren(false);
|
|
47
41
|
}
|
|
48
42
|
}, [router.asPath, isHoverEvent]);
|
|
49
43
|
if (loadingUrl || loadingText) return '';
|
|
50
|
-
const childrenDisplayClass = displayChildren ? '' : HIDDEN;
|
|
51
44
|
const handleItemEvent = ({
|
|
52
45
|
type
|
|
53
46
|
}) => {
|
|
@@ -65,25 +58,18 @@ const MenuItemRender = ({
|
|
|
65
58
|
setDisplayChildren(!displayChildren);
|
|
66
59
|
}
|
|
67
60
|
};
|
|
68
|
-
const menuItemLinkClassname = classnames('menu--item--link', {
|
|
69
|
-
'menu--item--link--active': isActive,
|
|
70
|
-
'menu--item--link--active-parent': isActiveParent
|
|
71
|
-
});
|
|
72
61
|
return /*#__PURE__*/React.createElement("li", {
|
|
73
62
|
className: modifier,
|
|
74
63
|
onMouseEnter: handleItemEvent,
|
|
75
64
|
onMouseLeave: handleItemEvent
|
|
76
65
|
}, /*#__PURE__*/React.createElement("div", {
|
|
77
|
-
className:
|
|
66
|
+
className: "menu--item--link",
|
|
78
67
|
onClick: handleMobileClick,
|
|
79
68
|
role: !urlToUse && hasValidChildren ? 'button' : undefined,
|
|
80
69
|
tabIndex: !urlToUse && hasValidChildren ? 0 : undefined
|
|
81
70
|
}, urlToUse ? /*#__PURE__*/React.createElement(BlazeLink, {
|
|
82
71
|
href: urlToUse
|
|
83
|
-
}, textToUse) : /*#__PURE__*/React.createElement("span", {
|
|
84
|
-
role: "button",
|
|
85
|
-
onClick: handleItemEvent
|
|
86
|
-
}, textToUse), hasValidChildren && /*#__PURE__*/React.createElement("i", {
|
|
72
|
+
}, textToUse) : /*#__PURE__*/React.createElement("span", null, textToUse), hasValidChildren && /*#__PURE__*/React.createElement("i", {
|
|
87
73
|
role: "button",
|
|
88
74
|
className: "menu--item--link--icon",
|
|
89
75
|
onClick: e => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","
|
|
1
|
+
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","useRouter","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","MenuItemRender","children","eventType","text","modifier","url","parent","displayChildren","setDisplayChildren","showMobileMenu","loading","loadingText","data","textToUse","loadingUrl","urlToUse","router","isHoverEvent","childrenDisplayClass","hasValidChildren","asPath","handleItemEvent","type","handleMobileClick","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","e","stopPropagation","propTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useRouter } from 'next/router';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n const router = useRouter();\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n const hasValidChildren = hasChildren(children);\n\n useEffect(() => {\n if (!showMobileMenu) setDisplayChildren(false);\n }, [showMobileMenu]);\n\n useEffect(() => {\n if (isHoverEvent) {\n setDisplayChildren(false);\n }\n }, [router.asPath, isHoverEvent]);\n\n if (loadingUrl || loadingText) return '';\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n\n const handleMobileClick = () => {\n if (!urlToUse && hasValidChildren) {\n setDisplayChildren(!displayChildren);\n }\n };\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div\n className=\"menu--item--link\"\n onClick={handleMobileClick}\n role={!urlToUse && hasValidChildren ? 'button' : undefined}\n tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>\n {urlToUse ? <BlazeLink href={urlToUse}>{textToUse}</BlazeLink> : <span>{textToUse}</span>}\n\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={e => {\n e.stopPropagation();\n setDisplayChildren(!displayChildren);\n }}\n tabIndex={0}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import injectHelperIntoTemplate from './inject-helper-into-template';
|
|
2
|
-
|
|
3
|
-
import hasActiveChild from './has-active-child';
|
|
4
|
-
export { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild };
|
|
2
|
+
export { injectHelperIntoTemplate };
|
|
5
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["injectHelperIntoTemplate"
|
|
1
|
+
{"version":3,"file":"index.js","names":["injectHelperIntoTemplate"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\n\nexport { injectHelperIntoTemplate };\n"],"mappings":"AAAA,OAAOA,wBAAwB,MAAM,+BAA+B;AAEpE,SAASA,wBAAwB","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import isPlainObject from 'lodash.isplainobject';
|
|
|
2
2
|
const getIdsFromArray = (relationImageData, relationProp, imageId) => {
|
|
3
3
|
if (!relationImageData.length) return [imageId];
|
|
4
4
|
return relationImageData.map(image => {
|
|
5
|
+
if (typeof image !== 'object') return image;
|
|
5
6
|
if (!Object.keys(image).length) return '';
|
|
6
7
|
return image[relationProp];
|
|
7
8
|
}).filter(Boolean);
|
|
@@ -17,6 +18,7 @@ const getImageIds = (imageRelation, relationData, imageId) => {
|
|
|
17
18
|
if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {
|
|
18
19
|
return Array.isArray(relationImageData[relationProp]) ? relationImageData[relationProp] : [relationImageData[relationProp]];
|
|
19
20
|
}
|
|
21
|
+
if (relationImageData) return [relationImageData];
|
|
20
22
|
}
|
|
21
23
|
return imageIdArray;
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-image-ids.js","names":["isPlainObject","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","imageData","relationName","split","Array","isArray"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,sBAAsB;AAEhD,MAAMC,eAAe,GAAGA,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,KAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAACC,KAAK,IAAI;IACZ,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,MAAMC,WAAW,GAAGA,CAACC,aAAa,EAAEC,YAAY,EAAEV,OAAO,KAAK;EAC5D,MAAMW,YAAY,GAAGX,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIU,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,MAAM,CAACC,SAAS,CAAC,GAAGJ,aAAa;IACjC,MAAM,CAACK,YAAY,EAAEf,YAAY,CAAC,GAAGc,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;IACzD,MAAMjB,iBAAiB,GAAGY,YAAY,CAACE,UAAU,CAACE,YAAY,CAAC;IAE/D,IAAI,CAAChB,iBAAiB,EAAE,OAAOa,YAAY;IAE3C,IAAIK,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAIJ,aAAa,CAACE,iBAAiB,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOe,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;
|
|
1
|
+
{"version":3,"file":"get-image-ids.js","names":["isPlainObject","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","imageData","relationName","split","Array","isArray"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (typeof image !== 'object') return image;\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n\n if (relationImageData) return [relationImageData];\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,sBAAsB;AAEhD,MAAMC,eAAe,GAAGA,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,KAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAACC,KAAK,IAAI;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;IAC3C,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,MAAMC,WAAW,GAAGA,CAACC,aAAa,EAAEC,YAAY,EAAEV,OAAO,KAAK;EAC5D,MAAMW,YAAY,GAAGX,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIU,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,MAAM,CAACC,SAAS,CAAC,GAAGJ,aAAa;IACjC,MAAM,CAACK,YAAY,EAAEf,YAAY,CAAC,GAAGc,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;IACzD,MAAMjB,iBAAiB,GAAGY,YAAY,CAACE,UAAU,CAACE,YAAY,CAAC;IAE/D,IAAI,CAAChB,iBAAiB,EAAE,OAAOa,YAAY;IAE3C,IAAIK,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAIJ,aAAa,CAACE,iBAAiB,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOe,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;IAEA,IAAID,iBAAiB,EAAE,OAAO,CAACA,iBAAiB,CAAC;EACnD;EAEA,OAAOa,YAAY;AACrB,CAAC;AAED,eAAeH,WAAW","ignoreList":[]}
|
|
@@ -9,7 +9,14 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
|
|
|
9
9
|
get
|
|
10
10
|
} = actions || {};
|
|
11
11
|
const getAction = isPreview ? get : getPublished || get;
|
|
12
|
-
|
|
12
|
+
let props;
|
|
13
|
+
if (imageRelationData) {
|
|
14
|
+
if (relationProp) {
|
|
15
|
+
props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';
|
|
16
|
+
} else {
|
|
17
|
+
props = relationName;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
13
20
|
const {
|
|
14
21
|
data = {},
|
|
15
22
|
loading,
|
|
@@ -18,7 +25,7 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
|
|
|
18
25
|
variables: {
|
|
19
26
|
id
|
|
20
27
|
},
|
|
21
|
-
skip
|
|
28
|
+
skip: skip || !imageRelationData
|
|
22
29
|
});
|
|
23
30
|
return {
|
|
24
31
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-image-id-from-relation.js","names":["useQuery","generateSingleItemQuery","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","imageRelationData","relationName","relationProp","split","getPublished","get","getAction","props","data","loading","error","variables"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n
|
|
1
|
+
{"version":3,"file":"use-get-image-id-from-relation.js","names":["useQuery","generateSingleItemQuery","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","imageRelationData","relationName","relationProp","split","getPublished","get","getAction","props","data","loading","error","variables"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n let props;\n if (imageRelationData) {\n if (relationProp) {\n props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n } else {\n props = relationName;\n }\n }\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip: skip || !imageRelationData\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,uBAAuB,QAAQ,sBAAsB;AAE9D,SAASC,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,MAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,MAAM,CAACC,iBAAiB,GAAG,EAAE,CAAC,GAAGT,aAAa;EAC9C,MAAM,CAACU,YAAY,GAAG,EAAE,EAAEC,YAAY,GAAG,EAAE,CAAC,GAAGF,iBAAiB,CAACG,KAAK,CAAC,GAAG,CAAC;EAC3E,MAAM;IAAEC,YAAY;IAAEC;EAAI,CAAC,GAAGb,OAAO,IAAI,CAAC,CAAC;EAC3C,MAAMc,SAAS,GAAGZ,SAAS,GAAGW,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,IAAIE,KAAK;EACT,IAAIP,iBAAiB,EAAE;IACrB,IAAIE,YAAY,EAAE;MAChBK,KAAK,GAAGP,iBAAiB,GAAG,GAAGC,YAAY,MAAMC,YAAY,IAAI,GAAG,IAAI;IAC1E,CAAC,MAAM;MACLK,KAAK,GAAGN,YAAY;IACtB;EACF;EACA,MAAM;IACJO,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC;EACF,CAAC,GAAGvB,QAAQ,CAACC,uBAAuB,CAACkB,SAAS,EAAEC,KAAK,CAAC,EAAE;IACtDI,SAAS,EAAE;MAAErB;IAAG,CAAC;IACjBM,IAAI,EAAEA,IAAI,IAAI,CAACI;EACjB,CAAC,CAAC;EACF,OAAO;IAAEQ,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AACjC;AAEA,eAAerB,yBAAyB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.146.0-node18-
|
|
3
|
+
"version": "0.146.0-node18-tooltips.34",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/core-auth-ui": "0.146.0-node18-
|
|
31
|
-
"@blaze-cms/core-errors": "0.146.0-node18-
|
|
32
|
-
"@blaze-cms/core-errors-ui": "0.146.0-node18-
|
|
30
|
+
"@blaze-cms/core-auth-ui": "0.146.0-node18-tooltips.32",
|
|
31
|
+
"@blaze-cms/core-errors": "0.146.0-node18-tooltips.0",
|
|
32
|
+
"@blaze-cms/core-errors-ui": "0.146.0-node18-tooltips.0",
|
|
33
33
|
"@blaze-cms/image-cdn-react": "0.3.0-alpha.7",
|
|
34
|
-
"@blaze-cms/nextjs-components": "0.146.0-node18-
|
|
35
|
-
"@blaze-cms/plugin-search-ui": "0.146.0-node18-
|
|
36
|
-
"@blaze-cms/setup-ui": "0.146.0-node18-
|
|
37
|
-
"@blaze-cms/utils": "0.146.0-node18-
|
|
38
|
-
"@blaze-cms/utils-handlebars": "0.146.0-node18-
|
|
34
|
+
"@blaze-cms/nextjs-components": "0.146.0-node18-tooltips.32",
|
|
35
|
+
"@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.34",
|
|
36
|
+
"@blaze-cms/setup-ui": "0.146.0-node18-tooltips.0",
|
|
37
|
+
"@blaze-cms/utils": "0.146.0-node18-tooltips.32",
|
|
38
|
+
"@blaze-cms/utils-handlebars": "0.146.0-node18-tooltips.32",
|
|
39
39
|
"@blaze-react/badge": "^0.7.0",
|
|
40
40
|
"@blaze-react/breadcrumb": "0.8.0-alpha.60",
|
|
41
41
|
"@blaze-react/button": "0.8.0-alpha.82",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"lib/*",
|
|
93
93
|
"lib-es/*"
|
|
94
94
|
],
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "df92551425c4ca0c3e68ae30e83c97c94572280c"
|
|
96
96
|
}
|
|
@@ -11,7 +11,6 @@ import BlazeLink from '../BlazeLink';
|
|
|
11
11
|
const Menu = ({
|
|
12
12
|
children,
|
|
13
13
|
collapse,
|
|
14
|
-
openActiveSubmenus,
|
|
15
14
|
modifier,
|
|
16
15
|
mobileMenuModifier,
|
|
17
16
|
mobileMenuChildrenModifier,
|
|
@@ -52,7 +51,7 @@ const Menu = ({
|
|
|
52
51
|
});
|
|
53
52
|
|
|
54
53
|
return (
|
|
55
|
-
<MenuContext.Provider value={{ showMobileMenu
|
|
54
|
+
<MenuContext.Provider value={{ showMobileMenu }}>
|
|
56
55
|
<div className={menuWrapperClasses}>
|
|
57
56
|
{collapse && (
|
|
58
57
|
<div className="menu--mobile-wrapper">
|
|
@@ -100,7 +99,6 @@ const Menu = ({
|
|
|
100
99
|
|
|
101
100
|
Menu.propTypes = {
|
|
102
101
|
collapse: PropTypes.bool.isRequired,
|
|
103
|
-
openActiveSubmenus: PropTypes.bool.isRequired,
|
|
104
102
|
logoOnMobile: PropTypes.bool.isRequired,
|
|
105
103
|
logoOnDesktop: PropTypes.bool,
|
|
106
104
|
logoOnMobileUrl: PropTypes.string,
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
2
1
|
import React, { useState, useContext, useEffect } from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
|
|
5
|
-
import classnames from 'classnames';
|
|
6
4
|
import { useRouter } from 'next/router';
|
|
7
5
|
import { useStringTemplate } from '@blaze-cms/utils-handlebars';
|
|
8
|
-
import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN
|
|
6
|
+
import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
|
|
9
7
|
import { hasChildren } from '../../helpers';
|
|
10
8
|
import BlazeLink from '../BlazeLink';
|
|
11
9
|
import MenuContext from '../Menu/MenuContext';
|
|
12
|
-
import { injectHelperIntoTemplate
|
|
10
|
+
import { injectHelperIntoTemplate } from './helpers';
|
|
13
11
|
|
|
14
12
|
const MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {
|
|
15
|
-
const
|
|
16
|
-
const { showMobileMenu
|
|
17
|
-
|
|
18
|
-
const isHoverEvent = eventType === HOVER;
|
|
19
|
-
const isClickEvent = eventType === CLICK;
|
|
20
|
-
|
|
13
|
+
const [displayChildren, setDisplayChildren] = useState(false);
|
|
14
|
+
const { showMobileMenu } = useContext(MenuContext);
|
|
21
15
|
const {
|
|
22
16
|
loading: loadingText,
|
|
23
17
|
data: [textToUse]
|
|
@@ -27,24 +21,14 @@ const MenuItemRender = ({ children, eventType, text, modifier, url, parent }) =>
|
|
|
27
21
|
data: [urlToUse]
|
|
28
22
|
} = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);
|
|
29
23
|
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
24
|
+
const router = useRouter();
|
|
25
|
+
const isHoverEvent = eventType === HOVER;
|
|
26
|
+
const childrenDisplayClass = displayChildren ? '' : HIDDEN;
|
|
33
27
|
const hasValidChildren = hasChildren(children);
|
|
34
28
|
|
|
35
|
-
const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);
|
|
36
|
-
|
|
37
29
|
useEffect(() => {
|
|
38
|
-
if (!showMobileMenu
|
|
39
|
-
}, [
|
|
40
|
-
children,
|
|
41
|
-
isClickEvent,
|
|
42
|
-
loadingUrl,
|
|
43
|
-
openActiveSubmenus,
|
|
44
|
-
router,
|
|
45
|
-
shouldPreOpen,
|
|
46
|
-
showMobileMenu
|
|
47
|
-
]);
|
|
30
|
+
if (!showMobileMenu) setDisplayChildren(false);
|
|
31
|
+
}, [showMobileMenu]);
|
|
48
32
|
|
|
49
33
|
useEffect(() => {
|
|
50
34
|
if (isHoverEvent) {
|
|
@@ -54,8 +38,6 @@ const MenuItemRender = ({ children, eventType, text, modifier, url, parent }) =>
|
|
|
54
38
|
|
|
55
39
|
if (loadingUrl || loadingText) return '';
|
|
56
40
|
|
|
57
|
-
const childrenDisplayClass = displayChildren ? '' : HIDDEN;
|
|
58
|
-
|
|
59
41
|
const handleItemEvent = ({ type }) => {
|
|
60
42
|
if (isHoverEvent) {
|
|
61
43
|
if (type === MOUSE_ENTER) {
|
|
@@ -73,25 +55,15 @@ const MenuItemRender = ({ children, eventType, text, modifier, url, parent }) =>
|
|
|
73
55
|
}
|
|
74
56
|
};
|
|
75
57
|
|
|
76
|
-
const menuItemLinkClassname = classnames('menu--item--link', {
|
|
77
|
-
'menu--item--link--active': isActive,
|
|
78
|
-
'menu--item--link--active-parent': isActiveParent
|
|
79
|
-
});
|
|
80
|
-
|
|
81
58
|
return (
|
|
82
59
|
<li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>
|
|
83
60
|
<div
|
|
84
|
-
className=
|
|
61
|
+
className="menu--item--link"
|
|
85
62
|
onClick={handleMobileClick}
|
|
86
63
|
role={!urlToUse && hasValidChildren ? 'button' : undefined}
|
|
87
64
|
tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>
|
|
88
|
-
{urlToUse ?
|
|
89
|
-
|
|
90
|
-
) : (
|
|
91
|
-
<span role="button" onClick={handleItemEvent}>
|
|
92
|
-
{textToUse}
|
|
93
|
-
</span>
|
|
94
|
-
)}
|
|
65
|
+
{urlToUse ? <BlazeLink href={urlToUse}>{textToUse}</BlazeLink> : <span>{textToUse}</span>}
|
|
66
|
+
|
|
95
67
|
{hasValidChildren && (
|
|
96
68
|
<i
|
|
97
69
|
role="button"
|