@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.20 → 0.146.0-node18-tooltips.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +25 -63
  2. package/lib/components/ContentGroup/ContentGroup.js +41 -10
  3. package/lib/components/ContentGroup/ContentGroup.js.map +1 -1
  4. package/lib/components/ContentGroup/ContentGroupAccordion.js +175 -0
  5. package/lib/components/ContentGroup/ContentGroupAccordion.js.map +1 -0
  6. package/lib/components/ContentGroup/constants.js +13 -1
  7. package/lib/components/ContentGroup/constants.js.map +1 -1
  8. package/lib/components/ContentGroup/helpers/get-structured-data-properties.js +40 -0
  9. package/lib/components/ContentGroup/helpers/get-structured-data-properties.js.map +1 -0
  10. package/lib/components/Menu/Menu.js +1 -4
  11. package/lib/components/Menu/Menu.js.map +1 -1
  12. package/lib/components/Menu/MenuContext.js +1 -2
  13. package/lib/components/Menu/MenuContext.js.map +1 -1
  14. package/lib/components/MenuItem/MenuItemRender.js +12 -27
  15. package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
  16. package/lib/components/MenuItem/helpers/index.js +0 -14
  17. package/lib/components/MenuItem/helpers/index.js.map +1 -1
  18. package/lib/components/SearchContent/SearchContent.js +4 -3
  19. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  20. package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +0 -1
  21. package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -1
  22. package/lib-es/components/ContentGroup/ContentGroup.js +25 -10
  23. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -1
  24. package/lib-es/components/ContentGroup/ContentGroupAccordion.js +138 -0
  25. package/lib-es/components/ContentGroup/ContentGroupAccordion.js.map +1 -0
  26. package/lib-es/components/ContentGroup/constants.js +12 -1
  27. package/lib-es/components/ContentGroup/constants.js.map +1 -1
  28. package/lib-es/components/ContentGroup/helpers/get-structured-data-properties.js +33 -0
  29. package/lib-es/components/ContentGroup/helpers/get-structured-data-properties.js.map +1 -0
  30. package/lib-es/components/Menu/Menu.js +1 -4
  31. package/lib-es/components/Menu/Menu.js.map +1 -1
  32. package/lib-es/components/Menu/MenuContext.js +1 -2
  33. package/lib-es/components/Menu/MenuContext.js.map +1 -1
  34. package/lib-es/components/MenuItem/MenuItemRender.js +11 -25
  35. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
  36. package/lib-es/components/MenuItem/helpers/index.js +1 -3
  37. package/lib-es/components/MenuItem/helpers/index.js.map +1 -1
  38. package/lib-es/components/SearchContent/SearchContent.js +4 -3
  39. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  40. package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +0 -1
  41. package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -1
  42. package/package.json +10 -10
  43. package/src/components/ContentGroup/ContentGroup.js +37 -13
  44. package/src/components/ContentGroup/ContentGroupAccordion.js +163 -0
  45. package/src/components/ContentGroup/constants.js +14 -1
  46. package/src/components/ContentGroup/helpers/get-structured-data-properties.js +36 -0
  47. package/src/components/Menu/Menu.js +1 -3
  48. package/src/components/Menu/MenuContext.js +1 -1
  49. package/src/components/MenuItem/MenuItemRender.js +12 -40
  50. package/src/components/MenuItem/helpers/index.js +1 -3
  51. package/src/components/SearchContent/SearchContent.js +6 -5
  52. package/src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +3 -1
  53. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +32 -2
  54. package/tests/unit/src/components/ContentGroup/ContentGroupAccordion.test.js +283 -0
  55. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +2 -2
  56. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupAccordion.test.js.snap +243 -0
  57. package/tests/unit/src/components/ContentGroup/helpers/get-structured-data-properties.test.js +105 -0
  58. package/tests/unit/src/components/MenuItem/MenuItem.test.js +0 -5
  59. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +3 -11
  60. package/lib/components/MenuItem/helpers/has-active-child.js +0 -19
  61. package/lib/components/MenuItem/helpers/has-active-child.js.map +0 -1
  62. package/lib/components/MenuItem/helpers/isUrlPathMatch.js +0 -18
  63. package/lib/components/MenuItem/helpers/isUrlPathMatch.js.map +0 -1
  64. package/lib-es/components/MenuItem/helpers/has-active-child.js +0 -5
  65. package/lib-es/components/MenuItem/helpers/has-active-child.js.map +0 -1
  66. package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js +0 -8
  67. package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js.map +0 -1
  68. package/src/components/MenuItem/helpers/has-active-child.js +0 -10
  69. package/src/components/MenuItem/helpers/isUrlPathMatch.js +0 -10
  70. package/tests/unit/src/components/MenuItem/helpers/constants.js +0 -73
  71. package/tests/unit/src/components/MenuItem/helpers/has-active-child.test.js +0 -35
  72. package/tests/unit/src/components/MenuItem/helpers/is-url-path-match.test.js +0 -53
@@ -30,7 +30,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
30
30
  var Menu = function Menu(_ref) {
31
31
  var children = _ref.children,
32
32
  collapse = _ref.collapse,
33
- openActiveSubmenus = _ref.openActiveSubmenus,
34
33
  modifier = _ref.modifier,
35
34
  mobileMenuModifier = _ref.mobileMenuModifier,
36
35
  mobileMenuChildrenModifier = _ref.mobileMenuChildrenModifier,
@@ -67,8 +66,7 @@ var Menu = function Menu(_ref) {
67
66
  });
68
67
  return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
69
68
  value: {
70
- showMobileMenu: showMobileMenu,
71
- openActiveSubmenus: openActiveSubmenus
69
+ showMobileMenu: showMobileMenu
72
70
  }
73
71
  }, /*#__PURE__*/_react["default"].createElement("div", {
74
72
  className: menuWrapperClasses
@@ -108,7 +106,6 @@ var Menu = function Menu(_ref) {
108
106
  };
109
107
  Menu.propTypes = {
110
108
  collapse: _propTypes["default"].bool.isRequired,
111
- openActiveSubmenus: _propTypes["default"].bool.isRequired,
112
109
  logoOnMobile: _propTypes["default"].bool.isRequired,
113
110
  logoOnDesktop: _propTypes["default"].bool,
114
111
  logoOnMobileUrl: _propTypes["default"].string,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_BlazeLink","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","openActiveSubmenus","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","label","MdClose","MdMenu","Link","href","name","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"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 openActiveSubmenus,\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, openActiveSubmenus }}>\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 openActiveSubmenus: 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
+ {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_BlazeLink","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","label","MdClose","MdMenu","Link","href","name","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"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":[]}
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var MenuContext = /*#__PURE__*/_react["default"].createContext({
11
- showMobileMenu: false,
12
- openActiveSubmenus: false
11
+ showMobileMenu: false
13
12
  });
14
13
  var _default = exports["default"] = MenuContext;
15
14
  //# sourceMappingURL=MenuContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuContext.js","names":["_react","_interopRequireDefault","require","MenuContext","React","createContext","showMobileMenu","openActiveSubmenus","_default","exports"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false, openActiveSubmenus: false });\n\nexport default MenuContext;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,WAAW,gBAAGC,iBAAK,CAACC,aAAa,CAAC;EAAEC,cAAc,EAAE,KAAK;EAAEC,kBAAkB,EAAE;AAAM,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAE/EN,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"MenuContext.js","names":["_react","_interopRequireDefault","require","MenuContext","React","createContext","showMobileMenu","_default","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,WAAW,gBAAGC,iBAAK,CAACC,aAAa,CAAC;EAAEC,cAAc,EAAE;AAAM,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEpDL,WAAW","ignoreList":[]}
@@ -17,7 +17,6 @@ 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"));
21
20
  var _router = require("next/router");
22
21
  var _utilsHandlebars = require("@blaze-cms/utils-handlebars");
23
22
  var _constants = require("../../constants");
@@ -27,8 +26,6 @@ var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
27
26
  var _helpers2 = require("./helpers");
28
27
  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); }
29
28
  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
-
32
29
  var MenuItemRender = function MenuItemRender(_ref) {
33
30
  var children = _ref.children,
34
31
  eventType = _ref.eventType,
@@ -36,12 +33,12 @@ var MenuItemRender = function MenuItemRender(_ref) {
36
33
  modifier = _ref.modifier,
37
34
  url = _ref.url,
38
35
  parent = _ref.parent;
39
- var router = (0, _router.useRouter)();
36
+ var _useState = (0, _react.useState)(false),
37
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
38
+ displayChildren = _useState2[0],
39
+ setDisplayChildren = _useState2[1];
40
40
  var _useContext = (0, _react.useContext)(_MenuContext["default"]),
41
- showMobileMenu = _useContext.showMobileMenu,
42
- openActiveSubmenus = _useContext.openActiveSubmenus;
43
- var isHoverEvent = eventType === _constants.HOVER;
44
- var isClickEvent = eventType === _constants.CLICK;
41
+ showMobileMenu = _useContext.showMobileMenu;
45
42
  var _useStringTemplate = (0, _utilsHandlebars.useStringTemplate)(parent, [text]),
46
43
  loadingText = _useStringTemplate.loading,
47
44
  _useStringTemplate$da = (0, _slicedToArray2["default"])(_useStringTemplate.data, 1),
@@ -50,24 +47,19 @@ var MenuItemRender = function MenuItemRender(_ref) {
50
47
  loadingUrl = _useStringTemplate2.loading,
51
48
  _useStringTemplate2$d = (0, _slicedToArray2["default"])(_useStringTemplate2.data, 1),
52
49
  urlToUse = _useStringTemplate2$d[0];
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;
50
+ var router = (0, _router.useRouter)();
51
+ var isHoverEvent = eventType === _constants.HOVER;
52
+ var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
56
53
  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];
61
54
  (0, _react.useEffect)(function () {
62
- if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);
63
- }, [children, isClickEvent, loadingUrl, openActiveSubmenus, router, shouldPreOpen, showMobileMenu]);
55
+ if (!showMobileMenu) setDisplayChildren(false);
56
+ }, [showMobileMenu]);
64
57
  (0, _react.useEffect)(function () {
65
58
  if (isHoverEvent) {
66
59
  setDisplayChildren(false);
67
60
  }
68
61
  }, [router.asPath, isHoverEvent]);
69
62
  if (loadingUrl || loadingText) return '';
70
- var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
71
63
  var handleItemEvent = function handleItemEvent(_ref2) {
72
64
  var type = _ref2.type;
73
65
  if (isHoverEvent) {
@@ -84,25 +76,18 @@ var MenuItemRender = function MenuItemRender(_ref) {
84
76
  setDisplayChildren(!displayChildren);
85
77
  }
86
78
  };
87
- var menuItemLinkClassname = (0, _classnames["default"])('menu--item--link', {
88
- 'menu--item--link--active': isActive,
89
- 'menu--item--link--active-parent': isActiveParent
90
- });
91
79
  return /*#__PURE__*/_react["default"].createElement("li", {
92
80
  className: modifier,
93
81
  onMouseEnter: handleItemEvent,
94
82
  onMouseLeave: handleItemEvent
95
83
  }, /*#__PURE__*/_react["default"].createElement("div", {
96
- className: menuItemLinkClassname,
84
+ className: "menu--item--link",
97
85
  onClick: handleMobileClick,
98
86
  role: !urlToUse && hasValidChildren ? 'button' : undefined,
99
87
  tabIndex: !urlToUse && hasValidChildren ? 0 : undefined
100
88
  }, urlToUse ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
101
89
  href: urlToUse
102
- }, textToUse) : /*#__PURE__*/_react["default"].createElement("span", {
103
- role: "button",
104
- onClick: handleItemEvent
105
- }, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
90
+ }, textToUse) : /*#__PURE__*/_react["default"].createElement("span", null, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
106
91
  role: "button",
107
92
  className: "menu--item--link--icon",
108
93
  onClick: function onClick(e) {
@@ -1 +1 @@
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":[]}
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":[]}
@@ -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","_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":[]}
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":[]}
@@ -77,9 +77,10 @@ var SearchContent = function SearchContent(props) {
77
77
  var handleClickOutside = function handleClickOutside(event) {
78
78
  if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {
79
79
  setShowResults(false);
80
- if (collapsedSearch) {
81
- setCollapsed(true);
82
- setSearchTerm('');
80
+ setSearchTerm('');
81
+ if (collapsedSearch) setCollapsed(true);
82
+ if (document.activeElement && document.activeElement instanceof HTMLElement) {
83
+ document.activeElement.blur();
83
84
  }
84
85
  }
85
86
  };
@@ -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","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","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 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\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 if (collapsedSearch) {\n setCollapsed(true);\n setSearchTerm('');\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\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 router.push(`${searchUrl || '/search'}?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","HTMLElement","blur","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","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 (collapsedSearch) setCollapsed(true);\n\n if (document.activeElement && document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\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 router.push(`${searchUrl || '/search'}?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":[]}
@@ -99,7 +99,6 @@ var addEditorModeEventListeners = function addEditorModeEventListeners(_ref) {
99
99
  return;
100
100
  }
101
101
  }
102
- childNode.classList.remove(_constants.EDITOR_MODE_HIGHLIGHT_CLASS);
103
102
  setLogoProps(null);
104
103
  };
105
104
  childNode.addEventListener('click', click); // todo: remove listener and trigger on icon click
@@ -1 +1 @@
1
- {"version":3,"file":"add-editor-mode-event-listeners.js","names":["_helpers","require","_constants","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","addEditorModeEventListeners","_ref","ref","adminHref","type","setLogoProps","current","parentNode","listeners","siblings","children","foundChildren","foundStart","_iterator","_step","child","getAttribute","push","err","cleanUpFunctions","Object","values","map","childNode","componentId","getComponentId","clickItemId","concat","click","stopPropagation","preventDefault","window","open","mouseenter","document","querySelectorAll","EDITOR_MODE_HIGHLIGHT_CLASS","forEach","node","classList","remove","add","id","onClick","mouseleave","toElement","icon","closest","EDITOR_MODE_ICON_CLASS","addEventListener","nodeCleanup","_ref2","_ref3","_slicedToArray2","events","entries","_ref4","_ref5","event","handler","removeEventListener","unmount","fn","_default","exports"],"sources":["../../../../src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js"],"sourcesContent":["import { getComponentId } from '../../../helpers';\nimport { EDITOR_MODE_HIGHLIGHT_CLASS, EDITOR_MODE_ICON_CLASS } from '../constants';\n\nconst addEditorModeEventListeners = ({ ref, name, adminHref, type, setLogoProps }) => {\n // ignore start tags and if parent not found\n if (type !== 'end' || !ref.current || !ref.current.parentNode) return;\n\n const listeners = [];\n\n const siblings = ref.current.parentNode.children;\n\n const foundChildren = [];\n let foundStart = false;\n // eslint-disable-next-line no-restricted-syntax, no-unused-vars\n for (const child of siblings) {\n if (!foundStart) {\n // find start tag\n if (child.getAttribute('pb-component-name') === name) {\n foundStart = true;\n }\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (child === ref.current) {\n // end tag found\n break;\n }\n\n foundChildren.push(child); // all nodes between start and end tags - PB component nodes\n }\n\n const cleanUpFunctions = Object.values(siblings).map(childNode => {\n const componentId = getComponentId(name);\n const clickItemId = `click-${componentId}`;\n const click = e => {\n e.stopPropagation();\n e.preventDefault();\n window.open(`${adminHref}#${componentId}`, adminHref);\n };\n const mouseenter = e => {\n e.stopPropagation();\n document.querySelectorAll(`.${EDITOR_MODE_HIGHLIGHT_CLASS}`).forEach(node => {\n node.classList.remove(EDITOR_MODE_HIGHLIGHT_CLASS);\n });\n childNode.classList.add(EDITOR_MODE_HIGHLIGHT_CLASS);\n\n setLogoProps({\n id: clickItemId,\n 'aria-label': `Edit ${name}`,\n childNode,\n onClick: click\n });\n };\n const mouseleave = e => {\n e.stopPropagation();\n if (e.toElement) {\n const icon = e.toElement.closest(`.${EDITOR_MODE_ICON_CLASS}`);\n if (icon && icon.id === clickItemId) {\n e.stopPropagation();\n return;\n }\n }\n childNode.classList.remove(EDITOR_MODE_HIGHLIGHT_CLASS);\n setLogoProps(null);\n };\n\n childNode.addEventListener('click', click); // todo: remove listener and trigger on icon click\n childNode.addEventListener('mouseenter', mouseenter);\n childNode.addEventListener('mouseleave', mouseleave);\n\n listeners.push([childNode, { click, mouseenter, mouseleave }]);\n\n const nodeCleanup = () => {\n listeners.forEach(([, events]) => {\n Object.entries(events).forEach(([event, handler]) => {\n childNode.removeEventListener(event, handler);\n });\n });\n };\n\n return nodeCleanup;\n });\n\n const unmount = () => {\n cleanUpFunctions.forEach(fn => fn());\n };\n\n return unmount;\n};\n\nexport default addEditorModeEventListeners;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"add-editor-mode-event-listeners.js","names":["_helpers","require","_constants","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","addEditorModeEventListeners","_ref","ref","adminHref","type","setLogoProps","current","parentNode","listeners","siblings","children","foundChildren","foundStart","_iterator","_step","child","getAttribute","push","err","cleanUpFunctions","Object","values","map","childNode","componentId","getComponentId","clickItemId","concat","click","stopPropagation","preventDefault","window","open","mouseenter","document","querySelectorAll","EDITOR_MODE_HIGHLIGHT_CLASS","forEach","node","classList","remove","add","id","onClick","mouseleave","toElement","icon","closest","EDITOR_MODE_ICON_CLASS","addEventListener","nodeCleanup","_ref2","_ref3","_slicedToArray2","events","entries","_ref4","_ref5","event","handler","removeEventListener","unmount","fn","_default","exports"],"sources":["../../../../src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js"],"sourcesContent":["import { getComponentId } from '../../../helpers';\nimport { EDITOR_MODE_HIGHLIGHT_CLASS, EDITOR_MODE_ICON_CLASS } from '../constants';\n\nconst addEditorModeEventListeners = ({ ref, name, adminHref, type, setLogoProps }) => {\n // ignore start tags and if parent not found\n if (type !== 'end' || !ref.current || !ref.current.parentNode) return;\n\n const listeners = [];\n\n const siblings = ref.current.parentNode.children;\n\n const foundChildren = [];\n let foundStart = false;\n // eslint-disable-next-line no-restricted-syntax, no-unused-vars\n for (const child of siblings) {\n if (!foundStart) {\n // find start tag\n if (child.getAttribute('pb-component-name') === name) {\n foundStart = true;\n }\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (child === ref.current) {\n // end tag found\n break;\n }\n\n foundChildren.push(child); // all nodes between start and end tags - PB component nodes\n }\n\n const cleanUpFunctions = Object.values(siblings).map(childNode => {\n const componentId = getComponentId(name);\n const clickItemId = `click-${componentId}`;\n const click = e => {\n e.stopPropagation();\n e.preventDefault();\n window.open(`${adminHref}#${componentId}`, adminHref);\n };\n\n const mouseenter = e => {\n e.stopPropagation();\n\n document.querySelectorAll(`.${EDITOR_MODE_HIGHLIGHT_CLASS}`).forEach(node => {\n node.classList.remove(EDITOR_MODE_HIGHLIGHT_CLASS);\n });\n childNode.classList.add(EDITOR_MODE_HIGHLIGHT_CLASS);\n\n setLogoProps({\n id: clickItemId,\n 'aria-label': `Edit ${name}`,\n childNode,\n onClick: click\n });\n };\n\n const mouseleave = e => {\n e.stopPropagation();\n if (e.toElement) {\n const icon = e.toElement.closest(`.${EDITOR_MODE_ICON_CLASS}`);\n if (icon && icon.id === clickItemId) {\n e.stopPropagation();\n return;\n }\n }\n setLogoProps(null);\n };\n\n childNode.addEventListener('click', click); // todo: remove listener and trigger on icon click\n childNode.addEventListener('mouseenter', mouseenter);\n childNode.addEventListener('mouseleave', mouseleave);\n\n listeners.push([childNode, { click, mouseenter, mouseleave }]);\n\n const nodeCleanup = () => {\n listeners.forEach(([, events]) => {\n Object.entries(events).forEach(([event, handler]) => {\n childNode.removeEventListener(event, handler);\n });\n });\n };\n\n return nodeCleanup;\n });\n\n const unmount = () => {\n cleanUpFunctions.forEach(fn => fn());\n };\n\n return unmount;\n};\n\nexport default addEditorModeEventListeners;\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,46 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["contentType", "children"];
4
- import React from 'react';
3
+ const _excluded = ["contentType", "isFaqContent", "children"],
4
+ _excluded2 = ["topWrapperProps"];
5
+ import React, { Fragment, useMemo } from 'react';
5
6
  import PropTypes from 'prop-types';
7
+ import { CONTENT_GROUP_TYPES } from './constants';
6
8
  import ContentGroupTabs from './ContentGroupTabs';
9
+ import ContentGroupAccordion from './ContentGroupAccordion';
7
10
  import { getSectionsData } from './helpers';
11
+ import getStructuredDataProperties from './helpers/get-structured-data-properties';
12
+ const VALID_TYPES = Object.values(CONTENT_GROUP_TYPES);
8
13
  const ContentGroup = _ref => {
9
- var _children$props;
14
+ var _children$props, _children$props$child;
10
15
  let {
11
16
  contentType,
17
+ isFaqContent,
12
18
  children
13
19
  } = _ref,
14
20
  props = _objectWithoutProperties(_ref, _excluded);
15
- const groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
16
- if (!groupSections || !groupSections.length) return '';
17
- if (contentType !== 'tab' && contentType !== 'sidepanel') return '';
21
+ const groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : (_children$props$child = _children$props.children) === null || _children$props$child === void 0 ? void 0 : _children$props$child[1];
22
+ const GroupComponent = useMemo(() => contentType === CONTENT_GROUP_TYPES.ACCORDION ? ContentGroupAccordion : ContentGroupTabs, [contentType]);
23
+ const WrapperComponent = useMemo(() => !isFaqContent ? Fragment : 'div', [isFaqContent]);
24
+ const _useMemo = useMemo(() => getStructuredDataProperties(isFaqContent), [isFaqContent]),
25
+ {
26
+ topWrapperProps
27
+ } = _useMemo,
28
+ schemaProperties = _objectWithoutProperties(_useMemo, _excluded2);
29
+ if (!groupSections || !groupSections.length || !VALID_TYPES.includes(contentType)) return '';
18
30
  const sectionsData = getSectionsData(groupSections);
19
- return /*#__PURE__*/React.createElement(ContentGroupTabs, _extends({
31
+ return /*#__PURE__*/React.createElement(WrapperComponent, topWrapperProps, /*#__PURE__*/React.createElement(GroupComponent, _extends({
20
32
  contentType: contentType,
21
33
  groupSections: groupSections,
22
34
  sectionsData: sectionsData
23
- }, props));
35
+ }, props, schemaProperties)));
24
36
  };
25
37
  ContentGroup.propTypes = {
26
38
  children: PropTypes.object.isRequired,
27
- contentType: PropTypes.string.isRequired
39
+ contentType: PropTypes.oneOf(VALID_TYPES).isRequired,
40
+ isFaqContent: PropTypes.bool
41
+ };
42
+ ContentGroup.defaultProps = {
43
+ isFaqContent: false
28
44
  };
29
- ContentGroup.defaultProps = {};
30
45
  export default ContentGroup;
31
46
  //# sourceMappingURL=ContentGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentGroup.js","names":["React","PropTypes","ContentGroupTabs","getSectionsData","ContentGroup","_ref","_children$props","contentType","children","props","_objectWithoutProperties","_excluded","groupSections","length","sectionsData","createElement","_extends","propTypes","object","isRequired","string","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\nimport { getSectionsData } from './helpers';\n\nconst ContentGroup = ({ contentType, children, ...props }) => {\n const groupSections = children?.props?.children[1];\n if (!groupSections || !groupSections.length) return '';\n if (contentType !== 'tab' && contentType !== 'sidepanel') return '';\n const sectionsData = getSectionsData(groupSections);\n\n return (\n <ContentGroupTabs\n contentType={contentType}\n groupSections={groupSections}\n sectionsData={sectionsData}\n {...props}\n />\n );\n};\n\nContentGroup.propTypes = {\n children: PropTypes.object.isRequired,\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,eAAe,QAAQ,WAAW;AAE3C,MAAMC,YAAY,GAAGC,IAAA,IAAyC;EAAA,IAAAC,eAAA;EAAA,IAAxC;MAAEC,WAAW;MAAEC;IAAmB,CAAC,GAAAH,IAAA;IAAPI,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACrD,MAAMC,aAAa,GAAGJ,QAAQ,aAARA,QAAQ,wBAAAF,eAAA,GAARE,QAAQ,CAAEC,KAAK,cAAAH,eAAA,uBAAfA,eAAA,CAAiBE,QAAQ,CAAC,CAAC,CAAC;EAClD,IAAI,CAACI,aAAa,IAAI,CAACA,aAAa,CAACC,MAAM,EAAE,OAAO,EAAE;EACtD,IAAIN,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EAAE,OAAO,EAAE;EACnE,MAAMO,YAAY,GAAGX,eAAe,CAACS,aAAa,CAAC;EAEnD,oBACEZ,KAAA,CAAAe,aAAA,CAACb,gBAAgB,EAAAc,QAAA;IACfT,WAAW,EAAEA,WAAY;IACzBK,aAAa,EAAEA,aAAc;IAC7BE,YAAY,EAAEA;EAAa,GACvBL,KAAK,CACV,CAAC;AAEN,CAAC;AAEDL,YAAY,CAACa,SAAS,GAAG;EACvBT,QAAQ,EAAEP,SAAS,CAACiB,MAAM,CAACC,UAAU;EACrCZ,WAAW,EAAEN,SAAS,CAACmB,MAAM,CAACD;AAChC,CAAC;AAEDf,YAAY,CAACiB,YAAY,GAAG,CAAC,CAAC;AAE9B,eAAejB,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"ContentGroup.js","names":["React","Fragment","useMemo","PropTypes","CONTENT_GROUP_TYPES","ContentGroupTabs","ContentGroupAccordion","getSectionsData","getStructuredDataProperties","VALID_TYPES","Object","values","ContentGroup","_ref","_children$props","_children$props$child","contentType","isFaqContent","children","props","_objectWithoutProperties","_excluded","groupSections","GroupComponent","ACCORDION","WrapperComponent","_useMemo","topWrapperProps","schemaProperties","_excluded2","length","includes","sectionsData","createElement","_extends","propTypes","object","isRequired","oneOf","bool","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React, { Fragment, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { CONTENT_GROUP_TYPES } from './constants';\nimport ContentGroupTabs from './ContentGroupTabs';\nimport ContentGroupAccordion from './ContentGroupAccordion';\nimport { getSectionsData } from './helpers';\nimport getStructuredDataProperties from './helpers/get-structured-data-properties';\n\nconst VALID_TYPES = Object.values(CONTENT_GROUP_TYPES);\n\nconst ContentGroup = ({ contentType, isFaqContent, children, ...props }) => {\n const groupSections = children?.props?.children?.[1];\n\n const GroupComponent = useMemo(\n () =>\n contentType === CONTENT_GROUP_TYPES.ACCORDION ? ContentGroupAccordion : ContentGroupTabs,\n [contentType]\n );\n const WrapperComponent = useMemo(() => (!isFaqContent ? Fragment : 'div'), [isFaqContent]);\n\n const { topWrapperProps, ...schemaProperties } = useMemo(\n () => getStructuredDataProperties(isFaqContent),\n [isFaqContent]\n );\n\n if (!groupSections || !groupSections.length || !VALID_TYPES.includes(contentType)) return '';\n\n const sectionsData = getSectionsData(groupSections);\n\n return (\n <WrapperComponent {...topWrapperProps}>\n <GroupComponent\n contentType={contentType}\n groupSections={groupSections}\n sectionsData={sectionsData}\n {...props}\n {...schemaProperties}\n />\n </WrapperComponent>\n );\n};\n\nContentGroup.propTypes = {\n children: PropTypes.object.isRequired,\n contentType: PropTypes.oneOf(VALID_TYPES).isRequired,\n isFaqContent: PropTypes.bool\n};\n\nContentGroup.defaultProps = {\n isFaqContent: false\n};\n\nexport default ContentGroup;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,mBAAmB,QAAQ,aAAa;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,eAAe,QAAQ,WAAW;AAC3C,OAAOC,2BAA2B,MAAM,0CAA0C;AAElF,MAAMC,WAAW,GAAGC,MAAM,CAACC,MAAM,CAACP,mBAAmB,CAAC;AAEtD,MAAMQ,YAAY,GAAGC,IAAA,IAAuD;EAAA,IAAAC,eAAA,EAAAC,qBAAA;EAAA,IAAtD;MAAEC,WAAW;MAAEC,YAAY;MAAEC;IAAmB,CAAC,GAAAL,IAAA;IAAPM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EACnE,MAAMC,aAAa,GAAGJ,QAAQ,aAARA,QAAQ,wBAAAJ,eAAA,GAARI,QAAQ,CAAEC,KAAK,cAAAL,eAAA,wBAAAC,qBAAA,GAAfD,eAAA,CAAiBI,QAAQ,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA4B,CAAC,CAAC;EAEpD,MAAMQ,cAAc,GAAGrB,OAAO,CAC5B,MACEc,WAAW,KAAKZ,mBAAmB,CAACoB,SAAS,GAAGlB,qBAAqB,GAAGD,gBAAgB,EAC1F,CAACW,WAAW,CACd,CAAC;EACD,MAAMS,gBAAgB,GAAGvB,OAAO,CAAC,MAAO,CAACe,YAAY,GAAGhB,QAAQ,GAAG,KAAM,EAAE,CAACgB,YAAY,CAAC,CAAC;EAE1F,MAAAS,QAAA,GAAiDxB,OAAO,CACtD,MAAMM,2BAA2B,CAACS,YAAY,CAAC,EAC/C,CAACA,YAAY,CACf,CAAC;IAHK;MAAEU;IAAqC,CAAC,GAAAD,QAAA;IAAlBE,gBAAgB,GAAAR,wBAAA,CAAAM,QAAA,EAAAG,UAAA;EAK5C,IAAI,CAACP,aAAa,IAAI,CAACA,aAAa,CAACQ,MAAM,IAAI,CAACrB,WAAW,CAACsB,QAAQ,CAACf,WAAW,CAAC,EAAE,OAAO,EAAE;EAE5F,MAAMgB,YAAY,GAAGzB,eAAe,CAACe,aAAa,CAAC;EAEnD,oBACEtB,KAAA,CAAAiC,aAAA,CAACR,gBAAgB,EAAKE,eAAe,eACnC3B,KAAA,CAAAiC,aAAA,CAACV,cAAc,EAAAW,QAAA;IACblB,WAAW,EAAEA,WAAY;IACzBM,aAAa,EAAEA,aAAc;IAC7BU,YAAY,EAAEA;EAAa,GACvBb,KAAK,EACLS,gBAAgB,CACrB,CACe,CAAC;AAEvB,CAAC;AAEDhB,YAAY,CAACuB,SAAS,GAAG;EACvBjB,QAAQ,EAAEf,SAAS,CAACiC,MAAM,CAACC,UAAU;EACrCrB,WAAW,EAAEb,SAAS,CAACmC,KAAK,CAAC7B,WAAW,CAAC,CAAC4B,UAAU;EACpDpB,YAAY,EAAEd,SAAS,CAACoC;AAC1B,CAAC;AAED3B,YAAY,CAAC4B,YAAY,GAAG;EAC1BvB,YAAY,EAAE;AAChB,CAAC;AAED,eAAeL,YAAY","ignoreList":[]}