@blaze-cms/react-page-builder 0.146.0-node18-tooltips.32 → 0.146.0-node18-core-styles-tooltips.41
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 +110 -32
- package/lib/components/Carousel/Carousel.js +44 -7
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselImage/CarouselImage.js +2 -1
- package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
- package/lib/components/Menu/Menu.js +4 -1
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/MenuContext.js +2 -1
- package/lib/components/Menu/MenuContext.js.map +1 -1
- package/lib/components/MenuItem/MenuItemRender.js +27 -12
- package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib/components/MenuItem/helpers/has-active-child.js +19 -0
- package/lib/components/MenuItem/helpers/has-active-child.js.map +1 -0
- package/lib/components/MenuItem/helpers/index.js +14 -0
- package/lib/components/MenuItem/helpers/index.js.map +1 -1
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js +18 -0
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js.map +1 -0
- package/lib/components/SearchContent/SearchContent.js +4 -2
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchContent/SearchContentResults.js +2 -1
- package/lib/components/SearchContent/SearchContentResults.js.map +1 -1
- package/lib/hooks/use-get-image-id-from-relation.js +4 -3
- package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib-es/components/Carousel/Carousel.js +39 -9
- package/lib-es/components/Carousel/Carousel.js.map +1 -1
- package/lib-es/components/Carousel/CarouselImage/CarouselImage.js +2 -1
- package/lib-es/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
- package/lib-es/components/Menu/Menu.js +4 -1
- package/lib-es/components/Menu/Menu.js.map +1 -1
- package/lib-es/components/Menu/MenuContext.js +2 -1
- package/lib-es/components/Menu/MenuContext.js.map +1 -1
- package/lib-es/components/MenuItem/MenuItemRender.js +25 -11
- package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib-es/components/MenuItem/helpers/has-active-child.js +5 -0
- package/lib-es/components/MenuItem/helpers/has-active-child.js.map +1 -0
- package/lib-es/components/MenuItem/helpers/index.js +3 -1
- package/lib-es/components/MenuItem/helpers/index.js.map +1 -1
- package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js +8 -0
- package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContent.js +8 -2
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContentResults.js +2 -1
- package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -1
- package/lib-es/hooks/use-get-image-id-from-relation.js +2 -2
- package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/package.json +10 -10
- package/src/components/Carousel/Carousel.js +46 -9
- package/src/components/Carousel/CarouselImage/CarouselImage.js +3 -1
- package/src/components/Menu/Menu.js +3 -1
- package/src/components/Menu/MenuContext.js +1 -1
- package/src/components/MenuItem/MenuItemRender.js +40 -12
- package/src/components/MenuItem/helpers/has-active-child.js +10 -0
- package/src/components/MenuItem/helpers/index.js +3 -1
- package/src/components/MenuItem/helpers/isUrlPathMatch.js +10 -0
- package/src/components/SearchContent/SearchContent.js +8 -2
- package/src/components/SearchContent/SearchContentResults.js +1 -1
- package/src/hooks/use-get-image-id-from-relation.js +2 -1
- package/tests/unit/src/components/Carousel/Carousel.test.js +45 -35
- package/tests/unit/src/components/Carousel/__snapshots__/Carousel.test.js.snap +49 -8
- package/tests/unit/src/components/MenuItem/MenuItem.test.js +5 -0
- package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +11 -3
- package/tests/unit/src/components/MenuItem/helpers/constants.js +73 -0
- package/tests/unit/src/components/MenuItem/helpers/has-active-child.test.js +35 -0
- package/tests/unit/src/components/MenuItem/helpers/is-url-path-match.test.js +53 -0
- package/tests/unit/src/components/SearchContent/SearchContent.test.js +32 -1
|
@@ -17,6 +17,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
17
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
19
|
var _fa = require("react-icons/fa");
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
21
|
var _router = require("next/router");
|
|
21
22
|
var _utilsHandlebars = require("@blaze-cms/utils-handlebars");
|
|
22
23
|
var _constants = require("../../constants");
|
|
@@ -26,6 +27,8 @@ var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
|
|
|
26
27
|
var _helpers2 = require("./helpers");
|
|
27
28
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
28
29
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
30
|
+
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
31
|
+
|
|
29
32
|
var MenuItemRender = function MenuItemRender(_ref) {
|
|
30
33
|
var children = _ref.children,
|
|
31
34
|
eventType = _ref.eventType,
|
|
@@ -33,12 +36,12 @@ var MenuItemRender = function MenuItemRender(_ref) {
|
|
|
33
36
|
modifier = _ref.modifier,
|
|
34
37
|
url = _ref.url,
|
|
35
38
|
parent = _ref.parent;
|
|
36
|
-
var
|
|
37
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
38
|
-
displayChildren = _useState2[0],
|
|
39
|
-
setDisplayChildren = _useState2[1];
|
|
39
|
+
var router = (0, _router.useRouter)();
|
|
40
40
|
var _useContext = (0, _react.useContext)(_MenuContext["default"]),
|
|
41
|
-
showMobileMenu = _useContext.showMobileMenu
|
|
41
|
+
showMobileMenu = _useContext.showMobileMenu,
|
|
42
|
+
openActiveSubmenus = _useContext.openActiveSubmenus;
|
|
43
|
+
var isHoverEvent = eventType === _constants.HOVER;
|
|
44
|
+
var isClickEvent = eventType === _constants.CLICK;
|
|
42
45
|
var _useStringTemplate = (0, _utilsHandlebars.useStringTemplate)(parent, [text]),
|
|
43
46
|
loadingText = _useStringTemplate.loading,
|
|
44
47
|
_useStringTemplate$da = (0, _slicedToArray2["default"])(_useStringTemplate.data, 1),
|
|
@@ -47,19 +50,24 @@ var MenuItemRender = function MenuItemRender(_ref) {
|
|
|
47
50
|
loadingUrl = _useStringTemplate2.loading,
|
|
48
51
|
_useStringTemplate2$d = (0, _slicedToArray2["default"])(_useStringTemplate2.data, 1),
|
|
49
52
|
urlToUse = _useStringTemplate2$d[0];
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
+
var isActive = router ? (0, _helpers2.isUrlPathMatch)(router.asPath, urlToUse) : false;
|
|
54
|
+
var isActiveParent = router ? (0, _helpers2.hasActiveChild)(router.asPath, children) : false;
|
|
55
|
+
var shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;
|
|
53
56
|
var hasValidChildren = (0, _helpers.hasChildren)(children);
|
|
57
|
+
var _useState = (0, _react.useState)(shouldPreOpen),
|
|
58
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
59
|
+
displayChildren = _useState2[0],
|
|
60
|
+
setDisplayChildren = _useState2[1];
|
|
54
61
|
(0, _react.useEffect)(function () {
|
|
55
|
-
if (!showMobileMenu) setDisplayChildren(false);
|
|
56
|
-
}, [showMobileMenu]);
|
|
62
|
+
if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);
|
|
63
|
+
}, [children, isClickEvent, loadingUrl, openActiveSubmenus, router, shouldPreOpen, showMobileMenu]);
|
|
57
64
|
(0, _react.useEffect)(function () {
|
|
58
65
|
if (isHoverEvent) {
|
|
59
66
|
setDisplayChildren(false);
|
|
60
67
|
}
|
|
61
68
|
}, [router.asPath, isHoverEvent]);
|
|
62
69
|
if (loadingUrl || loadingText) return '';
|
|
70
|
+
var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
|
|
63
71
|
var handleItemEvent = function handleItemEvent(_ref2) {
|
|
64
72
|
var type = _ref2.type;
|
|
65
73
|
if (isHoverEvent) {
|
|
@@ -76,18 +84,25 @@ var MenuItemRender = function MenuItemRender(_ref) {
|
|
|
76
84
|
setDisplayChildren(!displayChildren);
|
|
77
85
|
}
|
|
78
86
|
};
|
|
87
|
+
var menuItemLinkClassname = (0, _classnames["default"])('menu--item--link', {
|
|
88
|
+
'menu--item--link--active': isActive,
|
|
89
|
+
'menu--item--link--active-parent': isActiveParent
|
|
90
|
+
});
|
|
79
91
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
80
92
|
className: modifier,
|
|
81
93
|
onMouseEnter: handleItemEvent,
|
|
82
94
|
onMouseLeave: handleItemEvent
|
|
83
95
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
84
|
-
className:
|
|
96
|
+
className: menuItemLinkClassname,
|
|
85
97
|
onClick: handleMobileClick,
|
|
86
98
|
role: !urlToUse && hasValidChildren ? 'button' : undefined,
|
|
87
99
|
tabIndex: !urlToUse && hasValidChildren ? 0 : undefined
|
|
88
100
|
}, urlToUse ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
|
|
89
101
|
href: urlToUse
|
|
90
|
-
}, textToUse) : /*#__PURE__*/_react["default"].createElement("span",
|
|
102
|
+
}, textToUse) : /*#__PURE__*/_react["default"].createElement("span", {
|
|
103
|
+
role: "button",
|
|
104
|
+
onClick: handleItemEvent
|
|
105
|
+
}, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
|
|
91
106
|
role: "button",
|
|
92
107
|
className: "menu--item--link--icon",
|
|
93
108
|
onClick: function onClick(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_router","_utilsHandlebars","_constants","_helpers","_BlazeLink","_MenuContext","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MenuItemRender","_ref","children","eventType","text","modifier","url","parent","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","_useStringTemplate","useStringTemplate","loadingText","loading","_useStringTemplate$da","data","textToUse","_useStringTemplate2","injectHelperIntoTemplate","loadingUrl","_useStringTemplate2$d","urlToUse","router","useRouter","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","hasValidChildren","hasChildren","useEffect","asPath","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","handleMobileClick","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","stopPropagation","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps","_default","exports"],"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
|
+
{"version":3,"file":"MenuItemRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_classnames","_router","_utilsHandlebars","_constants","_helpers","_BlazeLink","_MenuContext","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MenuItemRender","_ref","children","eventType","text","modifier","url","parent","router","useRouter","_useContext","useContext","MenuContext","showMobileMenu","openActiveSubmenus","isHoverEvent","HOVER","isClickEvent","CLICK","_useStringTemplate","useStringTemplate","loadingText","loading","_useStringTemplate$da","_slicedToArray2","data","textToUse","_useStringTemplate2","injectHelperIntoTemplate","loadingUrl","_useStringTemplate2$d","urlToUse","isActive","isUrlPathMatch","asPath","isActiveParent","hasActiveChild","shouldPreOpen","hasValidChildren","hasChildren","_useState","useState","_useState2","displayChildren","setDisplayChildren","useEffect","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","handleMobileClick","menuItemLinkClassname","classnames","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","stopPropagation","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN, CLICK } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const router = useRouter();\n const { showMobileMenu, openActiveSubmenus } = useContext(MenuContext);\n\n const isHoverEvent = eventType === HOVER;\n const isClickEvent = eventType === CLICK;\n\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 isActive = router ? isUrlPathMatch(router.asPath, urlToUse) : false;\n const isActiveParent = router ? hasActiveChild(router.asPath, children) : false;\n const shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;\n const hasValidChildren = hasChildren(children);\n\n const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);\n\n useEffect(() => {\n if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);\n }, [\n children,\n isClickEvent,\n loadingUrl,\n openActiveSubmenus,\n router,\n shouldPreOpen,\n showMobileMenu\n ]);\n\n useEffect(() => {\n if (isHoverEvent) {\n setDisplayChildren(false);\n }\n }, [router.asPath, isHoverEvent]);\n\n if (loadingUrl || loadingText) return '';\n\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\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 const menuItemLinkClassname = classnames('menu--item--link', {\n 'menu--item--link--active': isActive,\n 'menu--item--link--active-parent': isActiveParent\n });\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div\n className={menuItemLinkClassname}\n onClick={handleMobileClick}\n role={!urlToUse && hasValidChildren ? 'button' : undefined}\n tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </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":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
require("core-js/modules/es.array.find.js");
|
|
10
|
+
require("core-js/modules/es.object.to-string.js");
|
|
11
|
+
var _isUrlPathMatch = _interopRequireDefault(require("./isUrlPathMatch"));
|
|
12
|
+
var _helpers = require("../../../helpers");
|
|
13
|
+
var hasActiveChild = function hasActiveChild(path, children) {
|
|
14
|
+
return (0, _helpers.hasChildren)(children) && children.props.children[1][0].props.component.items.find(function (menuItem) {
|
|
15
|
+
return (0, _isUrlPathMatch["default"])(path, menuItem.settings.url);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var _default = exports["default"] = hasActiveChild;
|
|
19
|
+
//# sourceMappingURL=has-active-child.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-active-child.js","names":["_isUrlPathMatch","_interopRequireDefault","require","_helpers","hasActiveChild","path","children","hasChildren","props","component","items","find","menuItem","isUrlPathMatch","settings","url","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/has-active-child.js"],"sourcesContent":["import isUrlPathMatch from './isUrlPathMatch';\nimport { hasChildren } from '../../../helpers';\n\nconst hasActiveChild = (path, children) =>\n hasChildren(children) &&\n children.props.children[1][0].props.component.items.find(menuItem =>\n isUrlPathMatch(path, menuItem.settings.url)\n );\n\nexport default hasActiveChild;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAI,EAAEC,QAAQ;EAAA,OACpC,IAAAC,oBAAW,EAACD,QAAQ,CAAC,IACrBA,QAAQ,CAACE,KAAK,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAC,UAAAC,QAAQ;IAAA,OAC/D,IAAAC,0BAAc,EAACR,IAAI,EAAEO,QAAQ,CAACE,QAAQ,CAACC,GAAG,CAAC;EAAA,CAC7C,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEWb,cAAc","ignoreList":[]}
|
|
@@ -5,11 +5,25 @@ 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
|
+
});
|
|
8
14
|
Object.defineProperty(exports, "injectHelperIntoTemplate", {
|
|
9
15
|
enumerable: true,
|
|
10
16
|
get: function get() {
|
|
11
17
|
return _injectHelperIntoTemplate["default"];
|
|
12
18
|
}
|
|
13
19
|
});
|
|
20
|
+
Object.defineProperty(exports, "isUrlPathMatch", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _isUrlPathMatch["default"];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
14
26
|
var _injectHelperIntoTemplate = _interopRequireDefault(require("./inject-helper-into-template"));
|
|
27
|
+
var _isUrlPathMatch = _interopRequireDefault(require("./isUrlPathMatch"));
|
|
28
|
+
var _hasActiveChild = _interopRequireDefault(require("./has-active-child"));
|
|
15
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_injectHelperIntoTemplate","_interopRequireDefault","require","_isUrlPathMatch","_hasActiveChild"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\nimport isUrlPathMatch from './isUrlPathMatch';\nimport hasActiveChild from './has-active-child';\n\nexport { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
require("core-js/modules/es.regexp.constructor.js");
|
|
9
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
10
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
11
|
+
var isUrlPathMatch = function isUrlPathMatch(path, itemUrl) {
|
|
12
|
+
if (!itemUrl || !path) return false;
|
|
13
|
+
var reg = new RegExp(/^[^#?]+/);
|
|
14
|
+
var _path = reg.exec(path)[0];
|
|
15
|
+
return _path === itemUrl || _path === "/".concat(itemUrl);
|
|
16
|
+
};
|
|
17
|
+
var _default = exports["default"] = isUrlPathMatch;
|
|
18
|
+
//# sourceMappingURL=isUrlPathMatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isUrlPathMatch.js","names":["isUrlPathMatch","path","itemUrl","reg","RegExp","_path","exec","concat","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/isUrlPathMatch.js"],"sourcesContent":["const isUrlPathMatch = (path, itemUrl) => {\n if (!itemUrl || !path) return false;\n\n const reg = new RegExp(/^[^#?]+/);\n const _path = reg.exec(path)[0];\n\n return _path === itemUrl || _path === `/${itemUrl}`;\n};\n\nexport default isUrlPathMatch;\n"],"mappings":";;;;;;;;;;AAAA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAI,EAAEC,OAAO,EAAK;EACxC,IAAI,CAACA,OAAO,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EAEnC,IAAME,GAAG,GAAG,IAAIC,MAAM,CAAC,SAAS,CAAC;EACjC,IAAMC,KAAK,GAAGF,GAAG,CAACG,IAAI,CAACL,IAAI,CAAC,CAAC,CAAC,CAAC;EAE/B,OAAOI,KAAK,KAAKH,OAAO,IAAIG,KAAK,SAAAE,MAAA,CAASL,OAAO,CAAE;AACrD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEaT,cAAc","ignoreList":[]}
|
|
@@ -135,11 +135,13 @@ var SearchContent = function SearchContent(props) {
|
|
|
135
135
|
placeholder: placeholder,
|
|
136
136
|
value: searchTerm,
|
|
137
137
|
onChange: function onChange(e) {
|
|
138
|
-
|
|
138
|
+
setSearchTerm(e.target.value);
|
|
139
|
+
setShowResults(true);
|
|
139
140
|
},
|
|
140
141
|
onKeyDown: handleKeyDown,
|
|
141
142
|
onFocus: function onFocus() {
|
|
142
|
-
|
|
143
|
+
setShowResults(true);
|
|
144
|
+
if (collapsedSearch) setCollapsed(false);
|
|
143
145
|
},
|
|
144
146
|
"data-testid": "search-content-input"
|
|
145
147
|
}))), showResults && /*#__PURE__*/_react["default"].createElement(_SearchContentResults["default"], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useAppSyncEventHook","useAppSyncEventHook","eventName","returnFunction","runHook","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","queryHook","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","searchUrlWithoutHash","split","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];\n router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchContent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useAppSyncEventHook","useAppSyncEventHook","eventName","returnFunction","runHook","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","queryHook","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","searchUrlWithoutHash","split","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];\n router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => {\n setSearchTerm(e.target.value);\n setShowResults(true);\n }}\n onKeyDown={handleKeyDown}\n onFocus={() => {\n setShowResults(true);\n if (collapsedSearch) setCollapsed(false);\n }}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,wBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAkD,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElD,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;EAC7B,IACEC,QAAQ,GASND,KAAK,CATPC,QAAQ;IACRC,wBAAwB,GAQtBF,KAAK,CARPE,wBAAwB;IACxBC,yBAAyB,GAOvBH,KAAK,CAPPG,yBAAyB;IACzBC,QAAQ,GAMNJ,KAAK,CANPI,QAAQ;IACRC,WAAW,GAKTL,KAAK,CALPK,WAAW;IACXC,QAAQ,GAINN,KAAK,CAJPM,QAAQ;IACRC,eAAe,GAGbP,KAAK,CAHPO,eAAe;IACfC,SAAS,GAEPR,KAAK,CAFPQ,SAAS;IACTC,4BAA4B,GAC1BT,KAAK,CADPS,4BAA4B;EAG9B,IAAMC,gBAAgB,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACrC,IAAAC,SAAA,GAAkC,IAAAC,eAAQ,EAACN,eAAe,CAAC;IAAAO,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAApDI,SAAS,GAAAF,UAAA;IAAEG,YAAY,GAAAH,UAAA;EAC9B,IAAAI,UAAA,GAAsC,IAAAL,eAAQ,EAAC,KAAK,CAAC;IAAAM,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAA9CE,WAAW,GAAAD,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAClC,IAAMG,MAAM,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAE1B,IAAAC,oBAAA,GAAoB,IAAAC,0BAAmB,EAAC;MACtCC,SAAS,EAAE,+BAA+B;MAC1C1B,KAAK,EAALA,KAAK;MACL2B,cAAc,EAAE;IAClB,CAAC,CAAC;IAJMC,OAAO,GAAAJ,oBAAA,CAAPI,OAAO;EAMf,IAAAC,kBAAA,GAAoE,IAAAC,iCAAiB,EAAC;MACpF7B,QAAQ,EAARA,QAAQ;MACR8B,iBAAiB,EAAE,EAAE;MACrBC,UAAU,EAAE,8BAA8B;MAC1CC,SAAS,EAAEL;IACb,CAAC,CAAC;IALMM,OAAO,GAAAL,kBAAA,CAAPK,OAAO;IAAEC,UAAU,GAAAN,kBAAA,CAAVM,UAAU;IAAEC,aAAa,GAAAP,kBAAA,CAAbO,aAAa;IAAEC,mBAAmB,GAAAR,kBAAA,CAAnBQ,mBAAmB;EAO/D,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA,EAAS;MAC9BH,aAAa,CAAC,EAAE,CAAC;MACjBf,cAAc,CAAC,KAAK,CAAC;MACrB,IAAId,eAAe,EAAEU,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IACDK,MAAM,CAACkB,MAAM,CAACC,EAAE,CAAC,kBAAkB,EAAEF,iBAAiB,CAAC;IACvD,OAAO,YAAM;MACXjB,MAAM,CAACkB,MAAM,CAACE,GAAG,CAAC,kBAAkB,EAAEH,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,CAAChC,eAAe,EAAEe,MAAM,CAACkB,MAAM,EAAEJ,aAAa,CAAC,CAAC;EAEnD,IAAAE,gBAAS,EAAC,YAAM;IACd,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;MAClC,IAAIlC,gBAAgB,CAACmC,OAAO,IAAI,CAACnC,gBAAgB,CAACmC,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChF1B,cAAc,CAAC,KAAK,CAAC;QACrBe,aAAa,CAAC,EAAE,CAAC;QACjB,IACE7B,eAAe,IACfyC,QAAQ,CAACC,aAAa,KAAKvC,gBAAgB,CAACmC,OAAO,CAACK,aAAa,CAAC,OAAO,CAAC,EAC1E;UACAjC,YAAY,CAAC,IAAI,CAAC;QACpB;MACF;IACF,CAAC;IAED+B,QAAQ,CAACG,gBAAgB,CAAC,OAAO,EAAER,kBAAkB,CAAC;IACtD,OAAO,YAAM;MACXK,QAAQ,CAACI,mBAAmB,CAAC,OAAO,EAAET,kBAAkB,CAAC;IAC3D,CAAC;EACH,CAAC,EAAE,CAACpC,eAAe,EAAE6B,aAAa,CAAC,CAAC;EAEpC,IAAMiB,iBAAiB,GAAGjD,QAAQ,GAAGF,wBAAwB,GAAGC,yBAAyB;EAEzF,IAAMmD,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI1E,CAAC,EAAE2E,GAAG,EAAK;IACnC3E,CAAC,CAAC4E,cAAc,CAAC,CAAC;IAClBlC,MAAM,CAACmC,IAAI,CAACF,GAAG,CAAC;EAClB,CAAC;EAED,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAG9E,CAAC,EAAI;IACzB,IAAIA,CAAC,CAAC+E,GAAG,KAAK,OAAO,IAAI/E,CAAC,CAACmE,MAAM,CAACa,KAAK,KAAK,EAAE,EAAE;MAC9C,IAAInD,4BAA4B,IAAIyB,OAAO,IAAIA,OAAO,CAAC2B,MAAM,KAAK,CAAC,IAAI3B,OAAO,CAAC,CAAC,CAAC,CAACqB,GAAG,EAAE;QACrFjC,MAAM,CAACmC,IAAI,CAACvB,OAAO,CAAC,CAAC,CAAC,CAACqB,GAAG,CAAC;MAC7B,CAAC,MAAM;QACL,IAAMO,oBAAoB,GAAG,CAACtD,SAAS,IAAI,SAAS,EAAEuD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnEzC,MAAM,CAACmC,IAAI,IAAAO,MAAA,CAAIF,oBAAoB,mBAAAE,MAAA,CAAgBpF,CAAC,CAACmE,MAAM,CAACa,KAAK,CAAE,CAAC;MACtE;IACF;EACF,CAAC;EAED,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;IAC5B,IAAMC,WAAW,GAAG3D,eAAe,GAAG,CAACS,SAAS,GAAGqB,mBAAmB;IAEtE,IAAI9B,eAAe,EAAEU,YAAY,CAAC,CAACD,SAAS,CAAC;IAE7C,IAAIkD,WAAW,EAAE;MACf9B,aAAa,CAAC,EAAE,CAAC;MACjBf,cAAc,CAAC,KAAK,CAAC;IACvB,CAAC,MAAM;MACLA,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,IAAM8C,SAAS,GAAG,CAAC,gBAAgB,EAAE7D,QAAQ,EAAE+C,iBAAiB,CAAC,CAACe,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC3F,IAAMC,cAAc,GAAGvD,SAAS,GAAG,0BAA0B,GAAG,0BAA0B;EAE1F,oBACE/C,MAAA,YAAAuG,aAAA;IAAKL,SAAS,EAAEA,SAAU;IAACM,GAAG,EAAE/D;EAAiB,gBAC/CzC,MAAA,YAAAuG,aAAA;IAAKL,SAAS,KAAAH,MAAA,CAAKO,cAAc;EAAY,gBAC3CtG,MAAA,YAAAuG,aAAA;IAAOL,SAAS,KAAAH,MAAA,CAAKO,cAAc;EAAU,gBAC3CtG,MAAA,YAAAuG,aAAA;IAAML,SAAS,KAAAH,MAAA,CAAKO,cAAc;EAAiB,gBACjDtG,MAAA,YAAAuG,aAAA,CAAC/F,wBAAA,WAAuB;IACtB0D,UAAU,EAAEE,mBAAoB;IAChCqC,OAAO,EAAET,eAAgB;IACzBU,YAAY,EAAEpE,eAAe,GAAG,CAACS,SAAS,GAAGqB;EAAoB,CAClE,CACG,CAAC,EACN,CAACrB,SAAS,iBACT/C,MAAA,YAAAuG,aAAA;IACEL,SAAS,KAAAH,MAAA,CAAKO,cAAc,YAAU;IACtCK,IAAI,EAAC,MAAM;IACXC,IAAI,EAAC,QAAQ;IACbxE,WAAW,EAAEA,WAAY;IACzBuD,KAAK,EAAEzB,UAAW;IAClB2C,QAAQ,EAAE,SAAVA,QAAQA,CAAElG,CAAC,EAAI;MACbwD,aAAa,CAACxD,CAAC,CAACmE,MAAM,CAACa,KAAK,CAAC;MAC7BvC,cAAc,CAAC,IAAI,CAAC;IACtB,CAAE;IACF0D,SAAS,EAAErB,aAAc;IACzBsB,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;MACb3D,cAAc,CAAC,IAAI,CAAC;MACpB,IAAId,eAAe,EAAEU,YAAY,CAAC,KAAK,CAAC;IAC1C,CAAE;IACF,eAAY;EAAsB,CACnC,CAEE,CACJ,CAAC,EACLG,WAAW,iBACVnD,MAAA,YAAAuG,aAAA,CAAChG,qBAAA,WAAoB;IACnB0D,OAAO,EAAEA,OAAQ;IACjBG,mBAAmB,EAAEA,mBAAoB;IACzC4C,WAAW,EAAE3B;EAAiB,CAC/B,CAEA,CAAC;AAEV,CAAC;AAEDvD,aAAa,CAACmF,SAAS,GAAG;EACxBhF,wBAAwB,EAAEiF,qBAAS,CAACC,MAAM;EAC1CjF,yBAAyB,EAAEgF,qBAAS,CAACC,MAAM;EAC3C/E,WAAW,EAAE8E,qBAAS,CAACC,MAAM;EAC7BhF,QAAQ,EAAE+E,qBAAS,CAACE,IAAI;EACxBpF,QAAQ,EAAEkF,qBAAS,CAACG,KAAK,CAACC,UAAU;EACpCjF,QAAQ,EAAE6E,qBAAS,CAACC,MAAM;EAC1B7E,eAAe,EAAE4E,qBAAS,CAACE,IAAI;EAC/B7E,SAAS,EAAE2E,qBAAS,CAACC,MAAM;EAC3B3E,4BAA4B,EAAE0E,qBAAS,CAACE;AAC1C,CAAC;AAEDtF,aAAa,CAACyF,YAAY,GAAG;EAC3BtF,wBAAwB,EAAE,EAAE;EAC5BC,yBAAyB,EAAE,EAAE;EAC7BE,WAAW,EAAE,EAAE;EACfD,QAAQ,EAAE,KAAK;EACfE,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAE,EAAE;EACbC,4BAA4B,EAAE;AAChC,CAAC;AAAC,IAAAgF,QAAA,GAAAC,OAAA,cAEa3F,aAAa","ignoreList":[]}
|
|
@@ -16,7 +16,8 @@ var SearchContentResults = function SearchContentResults(_ref) {
|
|
|
16
16
|
if (!debouncedSearchTerm) return null;
|
|
17
17
|
var hasResults = results.length > 0;
|
|
18
18
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
19
|
-
className: "search-content--results__wrapper"
|
|
19
|
+
className: "search-content--results__wrapper",
|
|
20
|
+
"data-testid": "search-content-results"
|
|
20
21
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
22
|
className: "search-content--results__wrapper--message"
|
|
22
23
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContentResults.js","names":["_react","_interopRequireDefault","require","_BlazeLink","_SearchContentItems","SearchContentResults","_ref","results","debouncedSearchTerm","onClick","hasResults","length","createElement","className","href","concat","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContentResults.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport SearchContentItems from './SearchContentItems';\n\nconst SearchContentResults = ({ results, debouncedSearchTerm, onClick }) => {\n if (!debouncedSearchTerm) return null;\n const hasResults = results.length > 0;\n return (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"search-content--results__content\">\n {hasResults ? (\n <SearchContentItems results={results} onClick={onClick} />\n ) : (\n <div className=\"search-content--results__message\">\n <BlazeLink href={`/search?search_term=${debouncedSearchTerm}`}>\n {`Search all results for: ${debouncedSearchTerm}`}\n </BlazeLink>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchContentResults;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,mBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkD;EAAA,IAA5CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,mBAAmB,GAAAF,IAAA,CAAnBE,mBAAmB;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACnE,IAAI,CAACD,mBAAmB,EAAE,OAAO,IAAI;EACrC,IAAME,UAAU,GAAGH,OAAO,CAACI,MAAM,GAAG,CAAC;EACrC,oBACEX,MAAA,YAAAY,aAAA;IAAKC,SAAS,EAAC;
|
|
1
|
+
{"version":3,"file":"SearchContentResults.js","names":["_react","_interopRequireDefault","require","_BlazeLink","_SearchContentItems","SearchContentResults","_ref","results","debouncedSearchTerm","onClick","hasResults","length","createElement","className","href","concat","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContentResults.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport SearchContentItems from './SearchContentItems';\n\nconst SearchContentResults = ({ results, debouncedSearchTerm, onClick }) => {\n if (!debouncedSearchTerm) return null;\n const hasResults = results.length > 0;\n return (\n <div className=\"search-content--results__wrapper\" data-testid=\"search-content-results\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"search-content--results__content\">\n {hasResults ? (\n <SearchContentItems results={results} onClick={onClick} />\n ) : (\n <div className=\"search-content--results__message\">\n <BlazeLink href={`/search?search_term=${debouncedSearchTerm}`}>\n {`Search all results for: ${debouncedSearchTerm}`}\n </BlazeLink>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchContentResults;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,mBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkD;EAAA,IAA5CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,mBAAmB,GAAAF,IAAA,CAAnBE,mBAAmB;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACnE,IAAI,CAACD,mBAAmB,EAAE,OAAO,IAAI;EACrC,IAAME,UAAU,GAAGH,OAAO,CAACI,MAAM,GAAG,CAAC;EACrC,oBACEX,MAAA,YAAAY,aAAA;IAAKC,SAAS,EAAC,kCAAkC;IAAC,eAAY;EAAwB,gBACpFb,MAAA,YAAAY,aAAA;IAAKC,SAAS,EAAC;EAA2C,gBACxDb,MAAA,YAAAY,aAAA;IAAKC,SAAS,EAAC;EAAkC,GAC9CH,UAAU,gBACTV,MAAA,YAAAY,aAAA,CAACR,mBAAA,WAAkB;IAACG,OAAO,EAAEA,OAAQ;IAACE,OAAO,EAAEA;EAAQ,CAAE,CAAC,gBAE1DT,MAAA,YAAAY,aAAA;IAAKC,SAAS,EAAC;EAAkC,gBAC/Cb,MAAA,YAAAY,aAAA,CAACT,UAAA,WAAS;IAACW,IAAI,yBAAAC,MAAA,CAAyBP,mBAAmB;EAAG,8BAAAO,MAAA,CAChCP,mBAAmB,CACtC,CACR,CAEJ,CACF,CACF,CAAC;AAEV,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEaZ,oBAAoB","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ require("core-js/modules/es.object.keys.js");
|
|
|
12
12
|
var _client = require("@apollo/client");
|
|
13
13
|
var _query = require("../application/query");
|
|
14
14
|
function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationImage, isPreview, hasImgSrc) {
|
|
15
|
-
var skip = !id || hasImgSrc || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;
|
|
15
|
+
var skip = !actions || !id || hasImgSrc || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;
|
|
16
16
|
var _imageRelation = (0, _slicedToArray2["default"])(imageRelation, 1),
|
|
17
17
|
_imageRelation$ = _imageRelation[0],
|
|
18
18
|
imageRelationData = _imageRelation$ === void 0 ? '' : _imageRelation$;
|
|
@@ -22,8 +22,9 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
|
|
|
22
22
|
relationName = _imageRelationData$sp3 === void 0 ? '' : _imageRelationData$sp3,
|
|
23
23
|
_imageRelationData$sp4 = _imageRelationData$sp2[1],
|
|
24
24
|
relationProp = _imageRelationData$sp4 === void 0 ? '' : _imageRelationData$sp4;
|
|
25
|
-
var
|
|
26
|
-
|
|
25
|
+
var _ref = actions || {},
|
|
26
|
+
getPublished = _ref.getPublished,
|
|
27
|
+
get = _ref.get;
|
|
27
28
|
var getAction = isPreview ? get : getPublished || get;
|
|
28
29
|
var props = imageRelationData ? "".concat(relationName, " { ").concat(relationProp, " }") : 'id';
|
|
29
30
|
var _useQuery = (0, _client.useQuery)((0, _query.generateSingleItemQuery)(getAction, props), {
|
|
@@ -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","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 !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 const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\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,
|
|
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 const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\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,IAAME,KAAK,GAAGZ,iBAAiB,MAAAa,MAAA,CAAMR,YAAY,SAAAQ,MAAA,CAAMN,YAAY,UAAO,IAAI;EAC9E,IAAAO,SAAA,GAII,IAAAC,gBAAQ,EAAC,IAAAC,8BAAuB,EAACL,SAAS,EAAEC,KAAK,CAAC,EAAE;MACtDK,SAAS,EAAE;QAAE9B,EAAE,EAAFA;MAAG,CAAC;MACjBM,IAAI,EAAJA;IACF,CAAC,CAAC;IAAAyB,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":[]}
|
|
@@ -1,31 +1,56 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["caption", "imageIds", "isCaptionDisplayed", "VariantComponent"];
|
|
4
|
-
import React from 'react';
|
|
3
|
+
const _excluded = ["caption", "imageIds", "isCaptionDisplayed", "VariantComponent", "imagesProperty", "entity", "parent"];
|
|
4
|
+
import React, { useContext } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
7
|
+
import { useGetImageIdFromRelation, useGetSingleEntitySchema } from '../../hooks';
|
|
6
8
|
import CarouselImage from './CarouselImage';
|
|
7
9
|
import CarouselRender from './CarouselRender';
|
|
8
10
|
import { useCarouselNavigation } from './hooks/useCarouselNavigation';
|
|
9
|
-
import { getDisplayCountData } from '../../helpers';
|
|
11
|
+
import { getDisplayCountData, getImageIds } from '../../helpers';
|
|
10
12
|
const Carousel = props => {
|
|
11
13
|
const {
|
|
12
14
|
caption,
|
|
13
15
|
imageIds,
|
|
14
16
|
isCaptionDisplayed,
|
|
15
|
-
VariantComponent
|
|
17
|
+
VariantComponent,
|
|
18
|
+
imagesProperty,
|
|
19
|
+
entity: entitySetting,
|
|
20
|
+
parent: {
|
|
21
|
+
itemId,
|
|
22
|
+
itemEntity
|
|
23
|
+
}
|
|
16
24
|
} = props,
|
|
17
25
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
26
|
+
const {
|
|
27
|
+
isPreview
|
|
28
|
+
} = useContext(MainContext);
|
|
18
29
|
const navigationProps = useCarouselNavigation(props);
|
|
19
|
-
|
|
30
|
+
const entity = imagesProperty ? entitySetting || itemEntity : null;
|
|
31
|
+
const skipSingleEntitySchema = !entity;
|
|
32
|
+
const {
|
|
33
|
+
data: {
|
|
34
|
+
getEntitySchema: {
|
|
35
|
+
actions
|
|
36
|
+
} = {}
|
|
37
|
+
} = {}
|
|
38
|
+
} = useGetSingleEntitySchema(entity, skipSingleEntitySchema);
|
|
39
|
+
const {
|
|
40
|
+
data: recordData,
|
|
41
|
+
loading: recordDataLoading
|
|
42
|
+
} = useGetImageIdFromRelation(itemId, imagesProperty, actions, true, isPreview, false);
|
|
43
|
+
const updatedImageIds = recordDataLoading ? [] : [...getImageIds(imagesProperty, recordData, null), ...imageIds];
|
|
44
|
+
if (!updatedImageIds || !updatedImageIds.length) return null;
|
|
20
45
|
const shouldDisplayCaption = isCaptionDisplayed && caption;
|
|
21
46
|
const {
|
|
22
47
|
shouldDisplayCount,
|
|
23
48
|
countMessage
|
|
24
|
-
} = getDisplayCountData(navigationProps.showCount,
|
|
49
|
+
} = getDisplayCountData(navigationProps.showCount, updatedImageIds);
|
|
25
50
|
const ComponentToRender = VariantComponent || CarouselRender;
|
|
26
51
|
return /*#__PURE__*/React.createElement(ComponentToRender, _extends({
|
|
27
52
|
caption: caption,
|
|
28
|
-
imageIds:
|
|
53
|
+
imageIds: updatedImageIds,
|
|
29
54
|
CarouselImage: CarouselImage,
|
|
30
55
|
shouldDisplayCaption: shouldDisplayCaption,
|
|
31
56
|
shouldDisplayCount: shouldDisplayCount,
|
|
@@ -34,15 +59,20 @@ const Carousel = props => {
|
|
|
34
59
|
};
|
|
35
60
|
Carousel.propTypes = {
|
|
36
61
|
caption: PropTypes.string,
|
|
62
|
+
entity: PropTypes.string,
|
|
37
63
|
imageIds: PropTypes.array,
|
|
64
|
+
imagesProperty: PropTypes.array,
|
|
38
65
|
isCaptionDisplayed: PropTypes.bool,
|
|
39
|
-
VariantComponent: PropTypes.func
|
|
66
|
+
VariantComponent: PropTypes.func,
|
|
67
|
+
parent: PropTypes.object.isRequired
|
|
40
68
|
};
|
|
41
69
|
Carousel.defaultProps = {
|
|
42
70
|
VariantComponent: null,
|
|
43
71
|
caption: '',
|
|
44
72
|
imageIds: [],
|
|
45
|
-
|
|
73
|
+
imagesProperty: [],
|
|
74
|
+
isCaptionDisplayed: false,
|
|
75
|
+
entity: null
|
|
46
76
|
};
|
|
47
77
|
export default Carousel;
|
|
48
78
|
//# sourceMappingURL=Carousel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["React","PropTypes","CarouselImage","CarouselRender","useCarouselNavigation","getDisplayCountData","Carousel","props","caption","imageIds","isCaptionDisplayed","VariantComponent","otherProps","_objectWithoutProperties","_excluded","navigationProps","length","shouldDisplayCaption","shouldDisplayCount","countMessage","showCount","ComponentToRender","createElement","_extends","propTypes","string","array","bool","func","defaultProps"],"sources":["../../../src/components/Carousel/Carousel.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CarouselImage from './CarouselImage';\nimport CarouselRender from './CarouselRender';\nimport { useCarouselNavigation } from './hooks/useCarouselNavigation';\nimport { getDisplayCountData } from '../../helpers';\n\nconst Carousel = props => {\n const {
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["React","useContext","PropTypes","MainContext","useGetImageIdFromRelation","useGetSingleEntitySchema","CarouselImage","CarouselRender","useCarouselNavigation","getDisplayCountData","getImageIds","Carousel","props","caption","imageIds","isCaptionDisplayed","VariantComponent","imagesProperty","entity","entitySetting","parent","itemId","itemEntity","otherProps","_objectWithoutProperties","_excluded","isPreview","navigationProps","skipSingleEntitySchema","data","getEntitySchema","actions","recordData","loading","recordDataLoading","updatedImageIds","length","shouldDisplayCaption","shouldDisplayCount","countMessage","showCount","ComponentToRender","createElement","_extends","propTypes","string","array","bool","func","object","isRequired","defaultProps"],"sources":["../../../src/components/Carousel/Carousel.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useGetImageIdFromRelation, useGetSingleEntitySchema } from '../../hooks';\nimport CarouselImage from './CarouselImage';\nimport CarouselRender from './CarouselRender';\nimport { useCarouselNavigation } from './hooks/useCarouselNavigation';\nimport { getDisplayCountData, getImageIds } from '../../helpers';\n\nconst Carousel = props => {\n const {\n caption,\n imageIds,\n isCaptionDisplayed,\n VariantComponent,\n imagesProperty,\n entity: entitySetting,\n parent: { itemId, itemEntity },\n ...otherProps\n } = props;\n const { isPreview } = useContext(MainContext);\n const navigationProps = useCarouselNavigation(props);\n\n const entity = imagesProperty ? entitySetting || itemEntity : null;\n const skipSingleEntitySchema = !entity;\n\n const { data: { getEntitySchema: { actions } = {} } = {} } = useGetSingleEntitySchema(\n entity,\n skipSingleEntitySchema\n );\n\n const { data: recordData, loading: recordDataLoading } = useGetImageIdFromRelation(\n itemId,\n imagesProperty,\n actions,\n true,\n isPreview,\n false\n );\n\n const updatedImageIds = recordDataLoading\n ? []\n : [...getImageIds(imagesProperty, recordData, null), ...imageIds];\n\n if (!updatedImageIds || !updatedImageIds.length) return null;\n const shouldDisplayCaption = isCaptionDisplayed && caption;\n\n const { shouldDisplayCount, countMessage } = getDisplayCountData(\n navigationProps.showCount,\n updatedImageIds\n );\n\n const ComponentToRender = VariantComponent || CarouselRender;\n\n return (\n <ComponentToRender\n caption={caption}\n imageIds={updatedImageIds}\n CarouselImage={CarouselImage}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCount={shouldDisplayCount}\n countMessage={countMessage}\n {...navigationProps}\n {...otherProps}\n />\n );\n};\n\nCarousel.propTypes = {\n caption: PropTypes.string,\n entity: PropTypes.string,\n imageIds: PropTypes.array,\n imagesProperty: PropTypes.array,\n isCaptionDisplayed: PropTypes.bool,\n VariantComponent: PropTypes.func,\n parent: PropTypes.object.isRequired\n};\n\nCarousel.defaultProps = {\n VariantComponent: null,\n caption: '',\n imageIds: [],\n imagesProperty: [],\n isCaptionDisplayed: false,\n entity: null\n};\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,9 +35,10 @@ const CarouselImage = ({
|
|
|
35
35
|
toggleModal();
|
|
36
36
|
handleSelectedImage(imageId);
|
|
37
37
|
};
|
|
38
|
+
if (!loading && !imageUrl) return null;
|
|
38
39
|
return /*#__PURE__*/React.createElement("div", {
|
|
39
40
|
className: "carousel__slide"
|
|
40
|
-
}, loading ? /*#__PURE__*/React.createElement("
|
|
41
|
+
}, loading ? /*#__PURE__*/React.createElement("span", null) : /*#__PURE__*/React.createElement(LazyImage, {
|
|
41
42
|
src: imageUrl,
|
|
42
43
|
alt: alt,
|
|
43
44
|
sizeKey: "carousel",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselImage.js","names":["React","PropTypes","useGetImages","getImageData","LazyImage","CAROUSEL_DEFAULT_ALT","CarouselImage","imageId","enableLightbox","toggleModal","handleSelectedImage","priority","data","loading","error","message","url","imageUrl","imageData","getFile","altText","alt","handleEnableLightbox","createElement","className","src","sizeKey","onClick","role","propTypes","string","isRequired","bool","func"],"sources":["../../../../src/components/Carousel/CarouselImage/CarouselImage.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetImages } from '../../../hooks';\nimport { getImageData } from '../../../utils';\nimport LazyImage from '../../LazyImage';\nimport { CAROUSEL_DEFAULT_ALT } from './constants';\n\nconst CarouselImage = ({ imageId, enableLightbox, toggleModal, handleSelectedImage, priority }) => {\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) return error.message;\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const { altText } = getImageData({}, imageData);\n const alt = altText || CAROUSEL_DEFAULT_ALT;\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n return (\n <div className=\"carousel__slide\">\n {loading ? (\n <
|
|
1
|
+
{"version":3,"file":"CarouselImage.js","names":["React","PropTypes","useGetImages","getImageData","LazyImage","CAROUSEL_DEFAULT_ALT","CarouselImage","imageId","enableLightbox","toggleModal","handleSelectedImage","priority","data","loading","error","message","url","imageUrl","imageData","getFile","altText","alt","handleEnableLightbox","createElement","className","src","sizeKey","onClick","role","propTypes","string","isRequired","bool","func"],"sources":["../../../../src/components/Carousel/CarouselImage/CarouselImage.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetImages } from '../../../hooks';\nimport { getImageData } from '../../../utils';\nimport LazyImage from '../../LazyImage';\nimport { CAROUSEL_DEFAULT_ALT } from './constants';\n\nconst CarouselImage = ({ imageId, enableLightbox, toggleModal, handleSelectedImage, priority }) => {\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) return error.message;\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const { altText } = getImageData({}, imageData);\n const alt = altText || CAROUSEL_DEFAULT_ALT;\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n if (!loading && !imageUrl) return null;\n\n return (\n <div className=\"carousel__slide\">\n {loading ? (\n <span />\n ) : (\n <LazyImage\n src={imageUrl}\n alt={alt}\n sizeKey=\"carousel\"\n onClick={handleEnableLightbox}\n role=\"button\"\n aria-label=\"View Image\"\n priority={priority}\n />\n )}\n </div>\n );\n};\n\nCarouselImage.propTypes = {\n imageId: PropTypes.string.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n handleSelectedImage: PropTypes.func.isRequired,\n priority: PropTypes.bool.isRequired\n};\n\nexport default CarouselImage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,OAAOC,SAAS,MAAM,iBAAiB;AACvC,SAASC,oBAAoB,QAAQ,aAAa;AAElD,MAAMC,aAAa,GAAGA,CAAC;EAAEC,OAAO;EAAEC,cAAc;EAAEC,WAAW;EAAEC,mBAAmB;EAAEC;AAAS,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGZ,YAAY,CAACK,OAAO,CAAC;EAEtD,IAAIO,KAAK,EAAE,OAAOA,KAAK,CAACC,OAAO;EAE/B,MAAM;IAAEC,GAAG,EAAEC,QAAQ,GAAG,EAAE;IAAEL,IAAI,EAAEM,SAAS,GAAG,CAAC;EAAE,CAAC,GAAGN,IAAI,CAACO,OAAO,IAAI;IACnEA,OAAO,EAAE;MAAEH,GAAG,EAAE,EAAE;MAAEJ,IAAI,EAAE,CAAC;IAAE;EAC/B,CAAC;EAED,MAAM;IAAEQ;EAAQ,CAAC,GAAGjB,YAAY,CAAC,CAAC,CAAC,EAAEe,SAAS,CAAC;EAC/C,MAAMG,GAAG,GAAGD,OAAO,IAAIf,oBAAoB;EAE3C,MAAMiB,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAI,CAACd,cAAc,EAAE;IACrBC,WAAW,CAAC,CAAC;IACbC,mBAAmB,CAACH,OAAO,CAAC;EAC9B,CAAC;EAED,IAAI,CAACM,OAAO,IAAI,CAACI,QAAQ,EAAE,OAAO,IAAI;EAEtC,oBACEjB,KAAA,CAAAuB,aAAA;IAAKC,SAAS,EAAC;EAAiB,GAC7BX,OAAO,gBACNb,KAAA,CAAAuB,aAAA,aAAO,CAAC,gBAERvB,KAAA,CAAAuB,aAAA,CAACnB,SAAS;IACRqB,GAAG,EAAER,QAAS;IACdI,GAAG,EAAEA,GAAI;IACTK,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAEL,oBAAqB;IAC9BM,IAAI,EAAC,QAAQ;IACb,cAAW,YAAY;IACvBjB,QAAQ,EAAEA;EAAS,CACpB,CAEA,CAAC;AAEV,CAAC;AAEDL,aAAa,CAACuB,SAAS,GAAG;EACxBtB,OAAO,EAAEN,SAAS,CAAC6B,MAAM,CAACC,UAAU;EACpCvB,cAAc,EAAEP,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACzCtB,WAAW,EAAER,SAAS,CAACgC,IAAI,CAACF,UAAU;EACtCrB,mBAAmB,EAAET,SAAS,CAACgC,IAAI,CAACF,UAAU;EAC9CpB,QAAQ,EAAEV,SAAS,CAAC+B,IAAI,CAACD;AAC3B,CAAC;AAED,eAAezB,aAAa","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ import BlazeLink from '../BlazeLink';
|
|
|
10
10
|
const Menu = ({
|
|
11
11
|
children,
|
|
12
12
|
collapse,
|
|
13
|
+
openActiveSubmenus,
|
|
13
14
|
modifier,
|
|
14
15
|
mobileMenuModifier,
|
|
15
16
|
mobileMenuChildrenModifier,
|
|
@@ -45,7 +46,8 @@ const Menu = ({
|
|
|
45
46
|
});
|
|
46
47
|
return /*#__PURE__*/React.createElement(MenuContext.Provider, {
|
|
47
48
|
value: {
|
|
48
|
-
showMobileMenu
|
|
49
|
+
showMobileMenu,
|
|
50
|
+
openActiveSubmenus
|
|
49
51
|
}
|
|
50
52
|
}, /*#__PURE__*/React.createElement("div", {
|
|
51
53
|
className: menuWrapperClasses
|
|
@@ -83,6 +85,7 @@ const Menu = ({
|
|
|
83
85
|
};
|
|
84
86
|
Menu.propTypes = {
|
|
85
87
|
collapse: PropTypes.bool.isRequired,
|
|
88
|
+
openActiveSubmenus: PropTypes.bool.isRequired,
|
|
86
89
|
logoOnMobile: PropTypes.bool.isRequired,
|
|
87
90
|
logoOnDesktop: PropTypes.bool,
|
|
88
91
|
logoOnMobileUrl: PropTypes.string,
|