@blaze-cms/react-page-builder 0.124.0-alpha.30 → 0.124.0-alpha.31

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 (31) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/components/Menu/Menu.js +24 -12
  3. package/lib/components/Menu/Menu.js.map +1 -1
  4. package/lib/components/Menu/MenuContext.js +20 -0
  5. package/lib/components/Menu/MenuContext.js.map +1 -0
  6. package/lib/components/MenuItem/MenuItem.js +26 -7
  7. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  8. package/lib/constants/index.js +3 -1
  9. package/lib/constants/index.js.map +1 -1
  10. package/lib/hooks/helpers/append-gtm-classname.js +1 -0
  11. package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
  12. package/lib-es/components/Menu/Menu.js +21 -13
  13. package/lib-es/components/Menu/Menu.js.map +1 -1
  14. package/lib-es/components/Menu/MenuContext.js +6 -0
  15. package/lib-es/components/Menu/MenuContext.js.map +1 -0
  16. package/lib-es/components/MenuItem/MenuItem.js +24 -9
  17. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  18. package/lib-es/constants/index.js +2 -1
  19. package/lib-es/constants/index.js.map +1 -1
  20. package/lib-es/hooks/helpers/append-gtm-classname.js +1 -0
  21. package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
  22. package/package.json +3 -3
  23. package/src/components/Menu/Menu.js +49 -42
  24. package/src/components/Menu/MenuContext.js +5 -0
  25. package/src/components/MenuItem/MenuItem.js +39 -14
  26. package/src/constants/index.js +2 -0
  27. package/src/hooks/helpers/append-gtm-classname.js +3 -0
  28. package/tests/unit/src/components/Menu/Menu.test.js +9 -3
  29. package/tests/unit/src/components/MenuItem/MenuItem.test.js +1 -1
  30. package/tests/unit/src/components/MenuItem/SubMenu.test.js +5 -1
  31. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +54 -10
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.124.0-alpha.31](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.30...v0.124.0-alpha.31) (2022-06-13)
7
+
8
+
9
+ ### Features
10
+
11
+ * add show hide child menu items in mobile menu ([#3494](https://github.com/thebyte9/blaze/issues/3494)) ([41bfa2e](https://github.com/thebyte9/blaze/commit/41bfa2ef1999c169db6c5fc1ebbb4b7a896d1fe4))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.124.0-alpha.30](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.29...v0.124.0-alpha.30) (2022-06-09)
7
18
 
8
19
 
@@ -35,12 +35,16 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
35
35
 
36
36
  var _button = _interopRequireDefault(require("@blaze-react/button"));
37
37
 
38
+ var _router = require("next/router");
39
+
38
40
  var _md = require("react-icons/md");
39
41
 
40
42
  var _hooks = require("../../hooks");
41
43
 
42
44
  var _constants = require("../../constants");
43
45
 
46
+ var _MenuContext = _interopRequireDefault(require("./MenuContext"));
47
+
44
48
  var _excluded = ["children", "collapse", "modifier", "mobileMenuModifier", "mobileMenuChildrenModifier", "mobileIconAlignment", "mobileButtonModifier", "hamburgerIconModifier", "logoOnMobile", "logoOnDesktop", "logoOnMobileUrl", "logoOnMobileAlt", "logoOnMobileModifier", "logoOnDesktopModifier", "logoOnDesktopAlignment", "closeIconModifier"];
45
49
 
46
50
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -65,6 +69,7 @@ var Menu = function Menu(_ref) {
65
69
  logoOnDesktopAlignment = _ref.logoOnDesktopAlignment,
66
70
  closeIconModifier = _ref.closeIconModifier,
67
71
  rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
72
+ var router = (0, _router.useRouter)();
68
73
  var isMobile = (0, _hooks.useCheckMobileScreen)();
69
74
 
70
75
  var _useState = (0, _react.useState)(false),
@@ -72,13 +77,27 @@ var Menu = function Menu(_ref) {
72
77
  showMobileMenu = _useState2[0],
73
78
  setShowMobileMenu = _useState2[1];
74
79
 
80
+ (0, _react.useEffect)(function () {
81
+ var handleRouteChange = function handleRouteChange() {
82
+ return setShowMobileMenu(false);
83
+ };
84
+
85
+ router.events.on('routeChangeStart', handleRouteChange);
86
+ return function () {
87
+ router.events.off('routeChangeStart', handleRouteChange);
88
+ };
89
+ }, [router.events]);
75
90
  var shouldDisplayCollapsed = collapse && isMobile;
76
91
  var mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : _constants.HIDDEN;
77
92
  var shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;
78
93
  var childrenDesktopModifier = shouldDisplayChildren && !isMobile ? modifier : "".concat(modifier, " ").concat(_constants.HIDDEN);
79
94
  var childrenMobileModifier = shouldDisplayChildren && isMobile ? "".concat(mobileMenuChildrenModifier) : " ".concat(_constants.HIDDEN);
80
95
  var isMobileMenuExpanded = showMobileMenu ? "".concat(mobileMenuModifier) : '';
81
- return /*#__PURE__*/_react["default"].createElement("div", {
96
+ return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
97
+ value: {
98
+ showMobileMenu: showMobileMenu
99
+ }
100
+ }, /*#__PURE__*/_react["default"].createElement("div", {
82
101
  className: "menu--wrapper"
83
102
  }, collapse && /*#__PURE__*/_react["default"].createElement("div", {
84
103
  className: "menu--mobile-wrapper"
@@ -93,7 +112,7 @@ var Menu = function Menu(_ref) {
93
112
  className: closeIconModifier
94
113
  }) : /*#__PURE__*/_react["default"].createElement(_md.MdMenu, {
95
114
  className: hamburgerIconModifier
96
- }))))), logoOnMobile && /*#__PURE__*/_react["default"].createElement("a", {
115
+ }))))), logoOnMobile && !showMobileMenu && /*#__PURE__*/_react["default"].createElement("a", {
97
116
  href: "/"
98
117
  }, /*#__PURE__*/_react["default"].createElement("img", {
99
118
  src: logoOnMobileUrl,
@@ -103,21 +122,14 @@ var Menu = function Menu(_ref) {
103
122
  className: "menu--desktop-wrapper"
104
123
  }, /*#__PURE__*/_react["default"].createElement("ul", {
105
124
  className: isMobile ? childrenMobileModifier : childrenDesktopModifier
106
- }, logoOnDesktop && logoOnDesktopAlignment === 'left' && /*#__PURE__*/_react["default"].createElement("a", {
107
- href: "/",
108
- className: "menu--desktop__logo-wrapper"
109
- }, /*#__PURE__*/_react["default"].createElement("img", {
110
- src: logoOnMobileUrl,
111
- alt: logoOnMobileAlt,
112
- className: logoOnDesktopModifier
113
- })), children, logoOnDesktop && logoOnDesktopAlignment === 'right' && /*#__PURE__*/_react["default"].createElement("a", {
125
+ }, logoOnDesktop && /*#__PURE__*/_react["default"].createElement("a", {
114
126
  href: "/",
115
- className: "menu--desktop__logo-wrapper"
127
+ className: ""
116
128
  }, /*#__PURE__*/_react["default"].createElement("img", {
117
129
  src: logoOnMobileUrl,
118
130
  alt: logoOnMobileAlt,
119
131
  className: logoOnDesktopModifier
120
- })))));
132
+ })), children))));
121
133
  };
122
134
 
123
135
  Menu.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","rest","isMobile","useCheckMobileScreen","useState","showMobileMenu","setShowMobileMenu","shouldDisplayCollapsed","mobileButtonClass","HIDDEN","shouldDisplayChildren","childrenDesktopModifier","childrenMobileModifier","isMobileMenuExpanded","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { useCheckMobileScreen } from '../../hooks';\nimport { HIDDEN } from '../../constants';\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 logoOnDesktopAlignment,\n closeIconModifier,\n ...rest\n}) => {\n const isMobile = useCheckMobileScreen();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n const shouldDisplayCollapsed = collapse && isMobile;\n\n const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;\n\n const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;\n\n const childrenDesktopModifier =\n shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;\n\n const childrenMobileModifier =\n shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n\n return (\n <div className=\"menu--wrapper\">\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={mobileButtonClass}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\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 && (\n <a href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </a>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'left' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'right' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n </ul>\n </div>\n </div>\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 logoOnDesktopAlignment: 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 logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","rest","router","useRouter","isMobile","useCheckMobileScreen","useState","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayCollapsed","mobileButtonClass","HIDDEN","shouldDisplayChildren","childrenDesktopModifier","childrenMobileModifier","isMobileMenuExpanded","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { useCheckMobileScreen } from '../../hooks';\nimport { HIDDEN } from '../../constants';\nimport MenuContext from './MenuContext';\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 logoOnDesktopAlignment,\n closeIconModifier,\n ...rest\n}) => {\n const router = useRouter();\n const isMobile = useCheckMobileScreen();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayCollapsed = collapse && isMobile;\n\n const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;\n\n const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;\n\n const childrenDesktopModifier =\n shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;\n\n const childrenMobileModifier =\n shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className=\"menu--wrapper\">\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={mobileButtonClass}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\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 &&\n !showMobileMenu && (\n <a href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </a>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\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 logoOnDesktopAlignment: 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 logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var MenuContext = /*#__PURE__*/_react["default"].createContext({
15
+ showMobileMenu: false
16
+ });
17
+
18
+ var _default = MenuContext;
19
+ exports["default"] = _default;
20
+ //# sourceMappingURL=MenuContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContext.js","names":["MenuContext","React","createContext","showMobileMenu"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false });\n\nexport default MenuContext;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,gBAAGC,iBAAA,CAAMC,aAAN,CAAoB;EAAEC,cAAc,EAAE;AAAlB,CAApB,CAApB;;eAEeH,W"}
@@ -29,12 +29,16 @@ var _react = _interopRequireWildcard(require("react"));
29
29
 
30
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
31
 
32
+ var _fa = require("react-icons/fa");
33
+
32
34
  var _constants = require("../../constants");
33
35
 
34
36
  var _helpers = require("../../helpers");
35
37
 
36
38
  var _BlazeLink = _interopRequireDefault(require("../BlazeLink"));
37
39
 
40
+ var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
41
+
38
42
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
43
 
40
44
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -51,6 +55,12 @@ var MenuItem = function MenuItem(_ref) {
51
55
  displayChildren = _useState2[0],
52
56
  setDisplayChildren = _useState2[1];
53
57
 
58
+ var _useContext = (0, _react.useContext)(_MenuContext["default"]),
59
+ showMobileMenu = _useContext.showMobileMenu;
60
+
61
+ (0, _react.useEffect)(function () {
62
+ if (!showMobileMenu) setDisplayChildren(false);
63
+ }, [showMobileMenu]);
54
64
  var isHoverEvent = eventType === _constants.HOVER;
55
65
  var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
56
66
 
@@ -58,12 +68,13 @@ var MenuItem = function MenuItem(_ref) {
58
68
  var type = _ref2.type;
59
69
 
60
70
  if (isHoverEvent) {
61
- if (type === _constants.MOUSE_ENTER) setDisplayChildren(true);
62
- if (type === _constants.MOUSE_LEAVE) setDisplayChildren(false);
63
- }
71
+ if (type === _constants.MOUSE_ENTER) {
72
+ setDisplayChildren(true);
73
+ }
64
74
 
65
- if (type === _constants.CLICK && eventType === _constants.CLICK && !url) {
66
- setDisplayChildren(!displayChildren);
75
+ if (type === _constants.MOUSE_LEAVE) {
76
+ setDisplayChildren(false);
77
+ }
67
78
  }
68
79
  };
69
80
 
@@ -72,13 +83,21 @@ var MenuItem = function MenuItem(_ref) {
72
83
  className: modifier,
73
84
  onMouseEnter: handleItemEvent,
74
85
  onMouseLeave: handleItemEvent
86
+ }, /*#__PURE__*/_react["default"].createElement("div", {
87
+ className: "menu--item--link"
75
88
  }, url ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
76
89
  href: url
77
90
  }, text) : /*#__PURE__*/_react["default"].createElement("span", {
78
91
  role: "button",
79
92
  onClick: handleItemEvent
80
- }, text), hasValidChildren && /*#__PURE__*/_react["default"].createElement("div", {
81
- className: childrenDisplayClass
93
+ }, text), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
94
+ role: "button",
95
+ className: "menu--item--link--icon",
96
+ onClick: function onClick() {
97
+ return setDisplayChildren(!displayChildren);
98
+ }
99
+ }, displayChildren ? /*#__PURE__*/_react["default"].createElement(_fa.FaChevronUp, null) : /*#__PURE__*/_react["default"].createElement(_fa.FaChevronDown, null))), hasValidChildren && /*#__PURE__*/_react["default"].createElement("div", {
100
+ className: "menu--item-children ".concat(childrenDisplayClass)
82
101
  }, children));
83
102
  };
84
103
 
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["MenuItem","children","eventType","text","modifier","url","useState","displayChildren","setDisplayChildren","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","type","MOUSE_ENTER","MOUSE_LEAVE","CLICK","hasValidChildren","hasChildren","propTypes","PropTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) setDisplayChildren(true);\n if (type === MOUSE_LEAVE) setDisplayChildren(false);\n }\n if (type === CLICK && eventType === CLICK && !url) {\n setDisplayChildren(!displayChildren);\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && <div className={childrenDisplayClass}>{children}</div>}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAAkD;EAAA,IAA/CC,QAA+C,QAA/CA,QAA+C;EAAA,IAArCC,SAAqC,QAArCA,SAAqC;EAAA,IAA1BC,IAA0B,QAA1BA,IAA0B;EAAA,IAApBC,QAAoB,QAApBA,QAAoB;EAAA,IAAVC,GAAU,QAAVA,GAAU;;EACjE,gBAA8C,IAAAC,eAAA,EAAS,KAAT,CAA9C;EAAA;EAAA,IAAOC,eAAP;EAAA,IAAwBC,kBAAxB;;EACA,IAAMC,YAAY,GAAGP,SAAS,KAAKQ,gBAAnC;EACA,IAAMC,oBAAoB,GAAGJ,eAAe,GAAG,EAAH,GAAQK,iBAApD;;EAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,QAAc;IAAA,IAAXC,IAAW,SAAXA,IAAW;;IACpC,IAAIL,YAAJ,EAAkB;MAChB,IAAIK,IAAI,KAAKC,sBAAb,EAA0BP,kBAAkB,CAAC,IAAD,CAAlB;MAC1B,IAAIM,IAAI,KAAKE,sBAAb,EAA0BR,kBAAkB,CAAC,KAAD,CAAlB;IAC3B;;IACD,IAAIM,IAAI,KAAKG,gBAAT,IAAkBf,SAAS,KAAKe,gBAAhC,IAAyC,CAACZ,GAA9C,EAAmD;MACjDG,kBAAkB,CAAC,CAACD,eAAF,CAAlB;IACD;EACF,CARD;;EASA,IAAMW,gBAAgB,GAAG,IAAAC,oBAAA,EAAYlB,QAAZ,CAAzB;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAES,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,GACGR,GAAG,gBACF,gCAAC,qBAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEU;EAA7B,GACGV,IADH,CAJJ,EAQGe,gBAAgB,iBAAI;IAAK,SAAS,EAAEP;EAAhB,GAAuCV,QAAvC,CARvB,CADF;AAYD,CA5BD;;AA8BAD,QAAQ,CAACoB,SAAT,GAAqB;EACnBhB,QAAQ,EAAEiB,qBAAA,CAAUC,MADD;EAEnBnB,IAAI,EAAEkB,qBAAA,CAAUC,MAFG;EAGnBjB,GAAG,EAAEgB,qBAAA,CAAUC,MAHI;EAInBpB,SAAS,EAAEmB,qBAAA,CAAUC,MAAV,CAAiBC,UAJT;EAKnBtB,QAAQ,EAAEoB,qBAAA,CAAUG,SAAV,CAAoB,CAACH,qBAAA,CAAUI,OAAV,CAAkBJ,qBAAA,CAAUK,IAA5B,CAAD,EAAoCL,qBAAA,CAAUK,IAA9C,CAApB;AALS,CAArB;AAQA1B,QAAQ,CAAC2B,YAAT,GAAwB;EACtBtB,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;eAOeD,Q"}
1
+ {"version":3,"file":"MenuItem.js","names":["MenuItem","children","eventType","text","modifier","url","useState","displayChildren","setDisplayChildren","useContext","MenuContext","showMobileMenu","useEffect","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","type","MOUSE_ENTER","MOUSE_LEAVE","hasValidChildren","hasChildren","propTypes","PropTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\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 const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\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\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAAkD;EAAA,IAA/CC,QAA+C,QAA/CA,QAA+C;EAAA,IAArCC,SAAqC,QAArCA,SAAqC;EAAA,IAA1BC,IAA0B,QAA1BA,IAA0B;EAAA,IAApBC,QAAoB,QAApBA,QAAoB;EAAA,IAAVC,GAAU,QAAVA,GAAU;;EACjE,gBAA8C,IAAAC,eAAA,EAAS,KAAT,CAA9C;EAAA;EAAA,IAAOC,eAAP;EAAA,IAAwBC,kBAAxB;;EACA,kBAA2B,IAAAC,iBAAA,EAAWC,uBAAX,CAA3B;EAAA,IAAQC,cAAR,eAAQA,cAAR;;EAEA,IAAAC,gBAAA,EACE,YAAM;IACJ,IAAI,CAACD,cAAL,EAAqBH,kBAAkB,CAAC,KAAD,CAAlB;EACtB,CAHH,EAIE,CAACG,cAAD,CAJF;EAOA,IAAME,YAAY,GAAGX,SAAS,KAAKY,gBAAnC;EACA,IAAMC,oBAAoB,GAAGR,eAAe,GAAG,EAAH,GAAQS,iBAApD;;EAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,QAAc;IAAA,IAAXC,IAAW,SAAXA,IAAW;;IACpC,IAAIL,YAAJ,EAAkB;MAChB,IAAIK,IAAI,KAAKC,sBAAb,EAA0B;QACxBX,kBAAkB,CAAC,IAAD,CAAlB;MACD;;MACD,IAAIU,IAAI,KAAKE,sBAAb,EAA0B;QACxBZ,kBAAkB,CAAC,KAAD,CAAlB;MACD;IACF;EACF,CATD;;EAUA,IAAMa,gBAAgB,GAAG,IAAAC,oBAAA,EAAYrB,QAAZ,CAAzB;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAEa,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,gBACE;IAAK,SAAS,EAAC;EAAf,GACGZ,GAAG,gBACF,gCAAC,qBAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEc;EAA7B,GACGd,IADH,CAJJ,EAQGkB,gBAAgB,iBACf;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,wBAFZ;IAGE,OAAO,EAAE;MAAA,OAAMb,kBAAkB,CAAC,CAACD,eAAF,CAAxB;IAAA;EAHX,GAIGA,eAAe,gBAAG,gCAAC,eAAD,OAAH,gBAAqB,gCAAC,iBAAD,OAJvC,CATJ,CADF,EAmBGc,gBAAgB,iBACf;IAAK,SAAS,gCAAyBN,oBAAzB;EAAd,GAAgEd,QAAhE,CApBJ,CADF;AAyBD,CAnDD;;AAqDAD,QAAQ,CAACuB,SAAT,GAAqB;EACnBnB,QAAQ,EAAEoB,qBAAA,CAAUC,MADD;EAEnBtB,IAAI,EAAEqB,qBAAA,CAAUC,MAFG;EAGnBpB,GAAG,EAAEmB,qBAAA,CAAUC,MAHI;EAInBvB,SAAS,EAAEsB,qBAAA,CAAUC,MAAV,CAAiBC,UAJT;EAKnBzB,QAAQ,EAAEuB,qBAAA,CAAUG,SAAV,CAAoB,CAACH,qBAAA,CAAUI,OAAV,CAAkBJ,qBAAA,CAAUK,IAA5B,CAAD,EAAoCL,qBAAA,CAAUK,IAA9C,CAApB;AALS,CAArB;AAQA7B,QAAQ,CAAC8B,YAAT,GAAwB;EACtBzB,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;eAOeD,Q"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.SEARCH_TERM = exports.SEARCH_PUBLISHED_CONTENT = exports.SEARCH = exports.SCROLL_OFFSET = exports.ROW = exports.RANGE = exports.PUBLISHED = exports.PROPS_TO_CHECK = exports.PREVIOUS_STRING = exports.PREHEADER_PROP = exports.PB_QUERY_CONST = exports.PASSWORD_VALIDATION_MESSAGE = exports.PASSWORD_REGEX = exports.PASSWORD_CONFIRM_MESSAGE = exports.PASSWORD = exports.PAGINATION_QUERY_CONST = exports.PAGINATION_DISPLAY_LIMIT = exports.PAGINATION_DIFFERENCE = exports.OR_OPERATOR = exports.OR = exports.ON_CLICK = exports.OBJECT = exports.NEXT_STRING = exports.MOUSE_LEAVE = exports.MOUSE_ENTER = exports.MOBILE_WIDTH = exports.MOBILE = exports.MIN_BANNER_HEIGHT = exports.MENU_ITEM = exports.MAX_BANNER_HEIGHT = exports.LOGOUT = exports.LOGIN_FORM = exports.LOAD_MORE_STRING = exports.LOAD_MORE = exports.LIST_ITEM_LOCAL_KEY = exports.LINK = exports.KEYWORD = exports.JW_PLAYER_TYPE_FILE = exports.IN_VIEW_CONFIG = exports.INVISIBLE = exports.INFINITE = exports.IMAGE_WRAPPER = exports.IMAGES = exports.IMAGE = exports.ID = exports.ICON_BUTTON = exports.HOVER = exports.HIDE = exports.HIDDEN = exports.HERO_WRAPPER = exports.HERO = exports.HEADLINE_PROP = exports.HALF = exports.GTM_DATA_ID_ATTR = exports.GTM = exports.GRAPH_QL_ERROR = exports.GET_FILE_FALLBACK = exports.GET_BANNER = exports.FULL = exports.FEATURED = exports.END_ADUNIT = exports.EMAIL = exports.ELEMENT = exports.DESK = exports.DEFAULT_OFFSET = exports.DEFAULT_LIMIT = exports.DATE = exports.DATA_SUMMARY_URL_REGEX = exports.DATA_SUMMARY_TEL_REGEX = exports.DATA_SUMMARY_EMAIL_REGEX = exports.COUNT_CONTENT_HIERARCHIES = exports.COLUMN = exports.CODE = exports.CLICK = exports.CLASS_MODIFIERS = exports.CLASSIC = exports.CHILD_PROPS_TO_USE = exports.CHECKBOX = exports.CENTER = exports.CATEGORY_ID = exports.CAROUSEL = exports.BUTTON_ICON = exports.BUTTON = exports.BREAKPOINT_SIZES = exports.BOLD_TAG = exports.BLANK_SPACE_UNICODE_STRING = exports.BANNER_QUERY_PROPS = exports.BANNER_LOADING = exports.BANNER_LOADED = exports.BANNER_EMPTY = exports.AZ_QUERY_CONST = exports.AZ_AGGS = exports.AZ = exports.AND_OPERATOR = exports.AND = exports.ANCHOR_TAG = exports.ALL_AZ_SORT = exports.ALLOWED_BLOCK_TYPES = exports.ALL = exports.ALIGNMENT = void 0;
9
- exports.WITH_BANNER = exports.WIDE = exports.WAYPOINT_BOTTOM_OFFSET = exports.VISIBLE = exports.VIDEO_WRAPPER_CLASS_NAME = exports.TEXT_SEARCH = exports.TARGET_BLANK = exports.TABLET = exports.STRING = exports.SPONSORED = exports.SHOW = exports.SELECT = void 0;
9
+ exports.WITH_BANNER = exports.WIDE = exports.WAYPOINT_BOTTOM_OFFSET = exports.VISIBLE = exports.VIDEO_WRAPPER_CLASS_NAME = exports.TEXT_SEARCH = exports.TARGET_BLANK = exports.TABLET = exports.SUB_MENU = exports.STRING = exports.SPONSORED = exports.SHOW = exports.SELECT = void 0;
10
10
  var BOLD_TAG = 'b';
11
11
  exports.BOLD_TAG = BOLD_TAG;
12
12
  var BUTTON = 'button';
@@ -45,6 +45,8 @@ var ELEMENT = 'element';
45
45
  exports.ELEMENT = ELEMENT;
46
46
  var MENU_ITEM = 'menuitem';
47
47
  exports.MENU_ITEM = MENU_ITEM;
48
+ var SUB_MENU = 'submenu';
49
+ exports.SUB_MENU = SUB_MENU;
48
50
  var SELECT = 'select';
49
51
  exports.SELECT = SELECT;
50
52
  var ON_CLICK = 'onClick';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BOLD_TAG","BUTTON","CODE","BUTTON_ICON","ICON_BUTTON","AND","OR","AND_OPERATOR","OR_OPERATOR","TEXT_SEARCH","INFINITE","CLASSIC","SEARCH_PUBLISHED_CONTENT","SEARCH","SEARCH_TERM","RANGE","CHECKBOX","ELEMENT","MENU_ITEM","SELECT","ON_CLICK","KEYWORD","DEFAULT_LIMIT","DEFAULT_OFFSET","MOBILE_WIDTH","FEATURED","SPONSORED","STRING","OBJECT","DATE","FULL","CHILD_PROPS_TO_USE","CATEGORY_ID","PUBLISHED","ID","LINK","EMAIL","PASSWORD","LOGOUT","LOGIN_FORM","GRAPH_QL_ERROR","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDE","SHOW","VISIBLE","INVISIBLE","HIDDEN","CLASS_MODIFIERS","MODIFIER","GTM_CLASS_NAME","DESKTOP","DEFAULT","TABLET","MOBILE","SIZE","BUTTON_TYPE","ICON","STYLE","WIDTH","STICKY","ALIGNMENT","CAROUSEL","IMAGE","IMAGES","IMAGE_WRAPPER","END_ADUNIT","COUNT_CONTENT_HIERARCHIES","GET_BANNER","WIDTH_HEIGHT","BANNER_QUERY_PROPS","WAYPOINT_BOTTOM_OFFSET","IN_VIEW_CONFIG","once","offset","bottomOffset","HERO","HERO_WRAPPER","GET_FILE_FALLBACK","getFile","url","data","WITH_BANNER","BLANK_SPACE_UNICODE_STRING","ALL","COLUMN","ROW","GTM","GTM_DATA_ID_ATTR","CENTER","HALF","WIDE","DESK","PAGINATION_QUERY_CONST","AZ_QUERY_CONST","PB_QUERY_CONST","NEXT_STRING","PREVIOUS_STRING","LOAD_MORE_STRING","LOAD_MORE","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","PROPS_TO_CHECK","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","BREAKPOINT_SIZES","sm","md","lg","xl","xxl","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","PASSWORD_REGEX","PASSWORD_VALIDATION_MESSAGE","PASSWORD_CONFIRM_MESSAGE","ALLOWED_BLOCK_TYPES","PREHEADER_PROP","HEADLINE_PROP","AZ","AZ_AGGS","aggs","azCount","terms","script","size","sort","ALL_AZ_SORT","_script","type","lang","source","params","letters","order","SCROLL_OFFSET","process","env","BLAZE_SCROLL_OFFSET","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","ANCHOR_TAG","TARGET_BLANK","DATA_SUMMARY_EMAIL_REGEX","DATA_SUMMARY_URL_REGEX","DATA_SUMMARY_TEL_REGEX","LIST_ITEM_LOCAL_KEY"],"sources":["../../src/constants/index.js"],"sourcesContent":["const BOLD_TAG = 'b';\nconst BUTTON = 'button';\nconst CODE = 'code';\nconst BUTTON_ICON = 'button--icon';\nconst ICON_BUTTON = 'icon-button';\nconst AND = 'AND';\nconst OR = 'OR';\nconst AND_OPERATOR = 'must';\nconst OR_OPERATOR = 'should';\nconst TEXT_SEARCH = 'text-search';\nconst INFINITE = 'infinite';\nconst CLASSIC = 'classic';\nconst SEARCH_PUBLISHED_CONTENT = 'searchPublishedContent';\nconst SEARCH = 'search';\nconst SEARCH_TERM = 'search_term';\nconst RANGE = 'range';\nconst CHECKBOX = 'checkbox';\nconst ELEMENT = 'element';\nconst MENU_ITEM = 'menuitem';\nconst SELECT = 'select';\nconst ON_CLICK = 'onClick';\nconst KEYWORD = 'keyword';\nconst DEFAULT_LIMIT = 50;\nconst DEFAULT_OFFSET = 0;\nconst MOBILE_WIDTH = 768;\nconst FEATURED = 'featured';\nconst SPONSORED = 'sponsored';\nconst STRING = 'string';\nconst OBJECT = 'object';\nconst DATE = 'date';\nconst FULL = 'full';\nconst CHILD_PROPS_TO_USE = ['width'];\nconst CATEGORY_ID = 'categoryId';\nconst PUBLISHED = 'published';\nconst ID = 'id';\nconst LINK = 'link';\nconst EMAIL = 'email';\nconst PASSWORD = 'password';\nconst LOGOUT = 'logout';\nconst LOGIN_FORM = 'loginForm';\nconst GRAPH_QL_ERROR = 'GraphQL error: ';\nconst HOVER = 'hover';\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\nconst CLICK = 'click';\nconst HIDE = 'hide';\nconst SHOW = 'show';\nconst VISIBLE = 'visible';\nconst INVISIBLE = 'invisible';\nconst HIDDEN = 'hidden';\nconst CLASS_MODIFIERS = {\n MODIFIER: 'modifier',\n GTM_CLASS_NAME: 'gtmClassName',\n HIDE: 'hide',\n DESKTOP: 'desktop',\n DEFAULT: 'default',\n TABLET: 'tablet',\n MOBILE: 'mobile',\n SIZE: 'size',\n BUTTON_TYPE: 'buttonType',\n ICON: 'icon',\n STYLE: 'style',\n WIDTH: 'width',\n STICKY: 'sticky',\n ALIGNMENT: 'alignment'\n};\nconst CAROUSEL = 'carousel';\nconst IMAGE = 'image';\nconst IMAGES = `${IMAGE}s`;\nconst IMAGE_WRAPPER = 'image__wrapper';\nconst END_ADUNIT = 'root';\nconst COUNT_CONTENT_HIERARCHIES = 'countContentHierarchies';\nconst GET_BANNER = 'getBanner';\nconst WIDTH_HEIGHT = 'width height';\nconst BANNER_QUERY_PROPS = `sizes { ${WIDTH_HEIGHT} viewports { ${WIDTH_HEIGHT} } }`;\nconst WAYPOINT_BOTTOM_OFFSET = '-200px';\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px',\n bottomOffset: '-200px'\n};\nconst HERO = 'hero';\nconst HERO_WRAPPER = 'hero__wrapper';\n\nconst GET_FILE_FALLBACK = {\n getFile: { url: '', data: {} }\n};\n\nconst WITH_BANNER = ' with-banner';\nconst BLANK_SPACE_UNICODE_STRING = '\\u00A0';\nconst ALL = 'ALL';\nconst COLUMN = 'column';\nconst ROW = 'row';\nconst GTM = 'gtm';\nconst GTM_DATA_ID_ATTR = 'data-gtm-id';\nconst CENTER = 'center';\nconst HALF = 'half';\nconst WIDE = 'wide';\nconst DESK = 'desk';\nconst TABLET = 'tablet';\nconst MOBILE = 'mobile';\nconst ALIGNMENT = 'alignment';\nconst PAGINATION_QUERY_CONST = '[page]';\nconst AZ_QUERY_CONST = '[aZ]';\nconst PB_QUERY_CONST = 'pb';\nconst NEXT_STRING = 'Next';\nconst PREVIOUS_STRING = 'Previous';\nconst LOAD_MORE_STRING = 'Load More';\nconst LOAD_MORE = 'loadMore';\nconst PAGINATION_DISPLAY_LIMIT = 10;\nconst PAGINATION_DIFFERENCE = 5;\n\nconst PROPS_TO_CHECK = [\n ['altText', 'alt'],\n ['caption', 'caption'],\n ['hrefUrl', 'hrefUrl'],\n ['credits', 'credits']\n];\n\nconst JW_PLAYER_TYPE_FILE = 'file';\nconst VIDEO_WRAPPER_CLASS_NAME = 'video__wrapper';\nconst BREAKPOINT_SIZES = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n xxl: '2xl'\n};\n\nconst MAX_BANNER_HEIGHT = 250;\nconst MIN_BANNER_HEIGHT = 90;\nconst PASSWORD_REGEX = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,}$/;\nconst PASSWORD_VALIDATION_MESSAGE =\n 'Must contain 8 or more characters with a mix of upper & lower case letters, numbers & symbols and no spaces';\nconst PASSWORD_CONFIRM_MESSAGE = 'Passwords must match';\nconst ALLOWED_BLOCK_TYPES = ['p', 'ul', 'ol'];\n\nconst PREHEADER_PROP = 'alternativePreHeader';\nconst HEADLINE_PROP = 'alternativeHeadline';\nconst AZ = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z'\n];\n\nconst AZ_AGGS = {\n aggs: {\n azCount: {\n terms: {\n script: \"doc['name.keyword'].getValue().substring(0,1).toUpperCase()\",\n size: 500\n }\n }\n },\n sort: [{ 'name.keyword': 'asc' }]\n};\nconst ALL_AZ_SORT = {\n sort: [\n {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"int charPos = params.letters.indexOf(doc['name.keyword'].value.substring(0,1).toUpperCase()); charPos > -1 ? charPos : 100\",\n params: {\n letters: AZ\n }\n },\n order: 'asc'\n }\n },\n { 'name.keyword': 'asc' }\n ]\n};\n\nconst SCROLL_OFFSET = process.env.BLAZE_SCROLL_OFFSET || 50;\n\nconst BANNER_LOADING = 'loading';\nconst BANNER_EMPTY = 'empty';\nconst BANNER_LOADED = 'loaded';\nconst ANCHOR_TAG = 'a';\nconst TARGET_BLANK = '_blank';\n\nconst DATA_SUMMARY_EMAIL_REGEX = /^([a-z0-9_\\.\\+-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/;\nconst DATA_SUMMARY_URL_REGEX = /(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\nconst DATA_SUMMARY_TEL_REGEX = /^\\+{0,1}[0-9\\(\\)\\.\\- \\/]{7,}$/; // note: very loose phone number match not for validation\n\nconst LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\n\nexport {\n BANNER_LOADING,\n BANNER_EMPTY,\n BANNER_LOADED,\n BLANK_SPACE_UNICODE_STRING,\n BOLD_TAG,\n BUTTON,\n BUTTON_ICON,\n ICON_BUTTON,\n AND,\n AND_OPERATOR,\n OR_OPERATOR,\n TEXT_SEARCH,\n SEARCH_PUBLISHED_CONTENT,\n SEARCH,\n SEARCH_TERM,\n RANGE,\n CHECKBOX,\n SELECT,\n KEYWORD,\n OR,\n DEFAULT_LIMIT,\n DEFAULT_OFFSET,\n FEATURED,\n SPONSORED,\n STRING,\n DATE,\n FULL,\n CHILD_PROPS_TO_USE,\n CATEGORY_ID,\n PUBLISHED,\n ID,\n LINK,\n CLASS_MODIFIERS,\n END_ADUNIT,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n BANNER_QUERY_PROPS,\n CAROUSEL,\n IMAGE,\n IMAGES,\n IMAGE_WRAPPER,\n IN_VIEW_CONFIG,\n GET_FILE_FALLBACK,\n HERO,\n HERO_WRAPPER,\n WITH_BANNER,\n ALL,\n COLUMN,\n ROW,\n GTM,\n GTM_DATA_ID_ATTR,\n PROPS_TO_CHECK,\n CENTER,\n HALF,\n WIDE,\n DESK,\n TABLET,\n MOBILE,\n ALIGNMENT,\n OBJECT,\n ON_CLICK,\n WAYPOINT_BOTTOM_OFFSET,\n JW_PLAYER_TYPE_FILE,\n CODE,\n VIDEO_WRAPPER_CLASS_NAME,\n PAGINATION_QUERY_CONST,\n PB_QUERY_CONST,\n INFINITE,\n NEXT_STRING,\n PREVIOUS_STRING,\n PAGINATION_DISPLAY_LIMIT,\n PAGINATION_DIFFERENCE,\n LOAD_MORE_STRING,\n LOAD_MORE,\n CLASSIC,\n BREAKPOINT_SIZES,\n EMAIL,\n PASSWORD,\n LOGOUT,\n MIN_BANNER_HEIGHT,\n MAX_BANNER_HEIGHT,\n GRAPH_QL_ERROR,\n HOVER,\n MOUSE_ENTER,\n MOUSE_LEAVE,\n CLICK,\n SHOW,\n HIDE,\n VISIBLE,\n INVISIBLE,\n MOBILE_WIDTH,\n HIDDEN,\n MENU_ITEM,\n LOGIN_FORM,\n PASSWORD_REGEX,\n PASSWORD_VALIDATION_MESSAGE,\n PASSWORD_CONFIRM_MESSAGE,\n ELEMENT,\n ALLOWED_BLOCK_TYPES,\n PREHEADER_PROP,\n HEADLINE_PROP,\n AZ_QUERY_CONST,\n AZ_AGGS,\n ALL_AZ_SORT,\n AZ,\n SCROLL_OFFSET,\n ANCHOR_TAG,\n TARGET_BLANK,\n DATA_SUMMARY_EMAIL_REGEX,\n DATA_SUMMARY_URL_REGEX,\n DATA_SUMMARY_TEL_REGEX,\n LIST_ITEM_LOCAL_KEY\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BOLD_TAG","BUTTON","CODE","BUTTON_ICON","ICON_BUTTON","AND","OR","AND_OPERATOR","OR_OPERATOR","TEXT_SEARCH","INFINITE","CLASSIC","SEARCH_PUBLISHED_CONTENT","SEARCH","SEARCH_TERM","RANGE","CHECKBOX","ELEMENT","MENU_ITEM","SUB_MENU","SELECT","ON_CLICK","KEYWORD","DEFAULT_LIMIT","DEFAULT_OFFSET","MOBILE_WIDTH","FEATURED","SPONSORED","STRING","OBJECT","DATE","FULL","CHILD_PROPS_TO_USE","CATEGORY_ID","PUBLISHED","ID","LINK","EMAIL","PASSWORD","LOGOUT","LOGIN_FORM","GRAPH_QL_ERROR","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDE","SHOW","VISIBLE","INVISIBLE","HIDDEN","CLASS_MODIFIERS","MODIFIER","GTM_CLASS_NAME","DESKTOP","DEFAULT","TABLET","MOBILE","SIZE","BUTTON_TYPE","ICON","STYLE","WIDTH","STICKY","ALIGNMENT","CAROUSEL","IMAGE","IMAGES","IMAGE_WRAPPER","END_ADUNIT","COUNT_CONTENT_HIERARCHIES","GET_BANNER","WIDTH_HEIGHT","BANNER_QUERY_PROPS","WAYPOINT_BOTTOM_OFFSET","IN_VIEW_CONFIG","once","offset","bottomOffset","HERO","HERO_WRAPPER","GET_FILE_FALLBACK","getFile","url","data","WITH_BANNER","BLANK_SPACE_UNICODE_STRING","ALL","COLUMN","ROW","GTM","GTM_DATA_ID_ATTR","CENTER","HALF","WIDE","DESK","PAGINATION_QUERY_CONST","AZ_QUERY_CONST","PB_QUERY_CONST","NEXT_STRING","PREVIOUS_STRING","LOAD_MORE_STRING","LOAD_MORE","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","PROPS_TO_CHECK","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","BREAKPOINT_SIZES","sm","md","lg","xl","xxl","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","PASSWORD_REGEX","PASSWORD_VALIDATION_MESSAGE","PASSWORD_CONFIRM_MESSAGE","ALLOWED_BLOCK_TYPES","PREHEADER_PROP","HEADLINE_PROP","AZ","AZ_AGGS","aggs","azCount","terms","script","size","sort","ALL_AZ_SORT","_script","type","lang","source","params","letters","order","SCROLL_OFFSET","process","env","BLAZE_SCROLL_OFFSET","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","ANCHOR_TAG","TARGET_BLANK","DATA_SUMMARY_EMAIL_REGEX","DATA_SUMMARY_URL_REGEX","DATA_SUMMARY_TEL_REGEX","LIST_ITEM_LOCAL_KEY"],"sources":["../../src/constants/index.js"],"sourcesContent":["const BOLD_TAG = 'b';\nconst BUTTON = 'button';\nconst CODE = 'code';\nconst BUTTON_ICON = 'button--icon';\nconst ICON_BUTTON = 'icon-button';\nconst AND = 'AND';\nconst OR = 'OR';\nconst AND_OPERATOR = 'must';\nconst OR_OPERATOR = 'should';\nconst TEXT_SEARCH = 'text-search';\nconst INFINITE = 'infinite';\nconst CLASSIC = 'classic';\nconst SEARCH_PUBLISHED_CONTENT = 'searchPublishedContent';\nconst SEARCH = 'search';\nconst SEARCH_TERM = 'search_term';\nconst RANGE = 'range';\nconst CHECKBOX = 'checkbox';\nconst ELEMENT = 'element';\nconst MENU_ITEM = 'menuitem';\nconst SUB_MENU = 'submenu';\nconst SELECT = 'select';\nconst ON_CLICK = 'onClick';\nconst KEYWORD = 'keyword';\nconst DEFAULT_LIMIT = 50;\nconst DEFAULT_OFFSET = 0;\nconst MOBILE_WIDTH = 768;\nconst FEATURED = 'featured';\nconst SPONSORED = 'sponsored';\nconst STRING = 'string';\nconst OBJECT = 'object';\nconst DATE = 'date';\nconst FULL = 'full';\nconst CHILD_PROPS_TO_USE = ['width'];\nconst CATEGORY_ID = 'categoryId';\nconst PUBLISHED = 'published';\nconst ID = 'id';\nconst LINK = 'link';\nconst EMAIL = 'email';\nconst PASSWORD = 'password';\nconst LOGOUT = 'logout';\nconst LOGIN_FORM = 'loginForm';\nconst GRAPH_QL_ERROR = 'GraphQL error: ';\nconst HOVER = 'hover';\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\nconst CLICK = 'click';\nconst HIDE = 'hide';\nconst SHOW = 'show';\nconst VISIBLE = 'visible';\nconst INVISIBLE = 'invisible';\nconst HIDDEN = 'hidden';\nconst CLASS_MODIFIERS = {\n MODIFIER: 'modifier',\n GTM_CLASS_NAME: 'gtmClassName',\n HIDE: 'hide',\n DESKTOP: 'desktop',\n DEFAULT: 'default',\n TABLET: 'tablet',\n MOBILE: 'mobile',\n SIZE: 'size',\n BUTTON_TYPE: 'buttonType',\n ICON: 'icon',\n STYLE: 'style',\n WIDTH: 'width',\n STICKY: 'sticky',\n ALIGNMENT: 'alignment'\n};\nconst CAROUSEL = 'carousel';\nconst IMAGE = 'image';\nconst IMAGES = `${IMAGE}s`;\nconst IMAGE_WRAPPER = 'image__wrapper';\nconst END_ADUNIT = 'root';\nconst COUNT_CONTENT_HIERARCHIES = 'countContentHierarchies';\nconst GET_BANNER = 'getBanner';\nconst WIDTH_HEIGHT = 'width height';\nconst BANNER_QUERY_PROPS = `sizes { ${WIDTH_HEIGHT} viewports { ${WIDTH_HEIGHT} } }`;\nconst WAYPOINT_BOTTOM_OFFSET = '-200px';\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px',\n bottomOffset: '-200px'\n};\nconst HERO = 'hero';\nconst HERO_WRAPPER = 'hero__wrapper';\n\nconst GET_FILE_FALLBACK = {\n getFile: { url: '', data: {} }\n};\n\nconst WITH_BANNER = ' with-banner';\nconst BLANK_SPACE_UNICODE_STRING = '\\u00A0';\nconst ALL = 'ALL';\nconst COLUMN = 'column';\nconst ROW = 'row';\nconst GTM = 'gtm';\nconst GTM_DATA_ID_ATTR = 'data-gtm-id';\nconst CENTER = 'center';\nconst HALF = 'half';\nconst WIDE = 'wide';\nconst DESK = 'desk';\nconst TABLET = 'tablet';\nconst MOBILE = 'mobile';\nconst ALIGNMENT = 'alignment';\nconst PAGINATION_QUERY_CONST = '[page]';\nconst AZ_QUERY_CONST = '[aZ]';\nconst PB_QUERY_CONST = 'pb';\nconst NEXT_STRING = 'Next';\nconst PREVIOUS_STRING = 'Previous';\nconst LOAD_MORE_STRING = 'Load More';\nconst LOAD_MORE = 'loadMore';\nconst PAGINATION_DISPLAY_LIMIT = 10;\nconst PAGINATION_DIFFERENCE = 5;\n\nconst PROPS_TO_CHECK = [\n ['altText', 'alt'],\n ['caption', 'caption'],\n ['hrefUrl', 'hrefUrl'],\n ['credits', 'credits']\n];\n\nconst JW_PLAYER_TYPE_FILE = 'file';\nconst VIDEO_WRAPPER_CLASS_NAME = 'video__wrapper';\nconst BREAKPOINT_SIZES = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n xxl: '2xl'\n};\n\nconst MAX_BANNER_HEIGHT = 250;\nconst MIN_BANNER_HEIGHT = 90;\nconst PASSWORD_REGEX = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,}$/;\nconst PASSWORD_VALIDATION_MESSAGE =\n 'Must contain 8 or more characters with a mix of upper & lower case letters, numbers & symbols and no spaces';\nconst PASSWORD_CONFIRM_MESSAGE = 'Passwords must match';\nconst ALLOWED_BLOCK_TYPES = ['p', 'ul', 'ol'];\n\nconst PREHEADER_PROP = 'alternativePreHeader';\nconst HEADLINE_PROP = 'alternativeHeadline';\nconst AZ = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z'\n];\n\nconst AZ_AGGS = {\n aggs: {\n azCount: {\n terms: {\n script: \"doc['name.keyword'].getValue().substring(0,1).toUpperCase()\",\n size: 500\n }\n }\n },\n sort: [{ 'name.keyword': 'asc' }]\n};\nconst ALL_AZ_SORT = {\n sort: [\n {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"int charPos = params.letters.indexOf(doc['name.keyword'].value.substring(0,1).toUpperCase()); charPos > -1 ? charPos : 100\",\n params: {\n letters: AZ\n }\n },\n order: 'asc'\n }\n },\n { 'name.keyword': 'asc' }\n ]\n};\n\nconst SCROLL_OFFSET = process.env.BLAZE_SCROLL_OFFSET || 50;\n\nconst BANNER_LOADING = 'loading';\nconst BANNER_EMPTY = 'empty';\nconst BANNER_LOADED = 'loaded';\nconst ANCHOR_TAG = 'a';\nconst TARGET_BLANK = '_blank';\n\nconst DATA_SUMMARY_EMAIL_REGEX = /^([a-z0-9_\\.\\+-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/;\nconst DATA_SUMMARY_URL_REGEX = /(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\nconst DATA_SUMMARY_TEL_REGEX = /^\\+{0,1}[0-9\\(\\)\\.\\- \\/]{7,}$/; // note: very loose phone number match not for validation\n\nconst LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\n\nexport {\n BANNER_LOADING,\n BANNER_EMPTY,\n BANNER_LOADED,\n BLANK_SPACE_UNICODE_STRING,\n BOLD_TAG,\n BUTTON,\n BUTTON_ICON,\n ICON_BUTTON,\n AND,\n AND_OPERATOR,\n OR_OPERATOR,\n TEXT_SEARCH,\n SEARCH_PUBLISHED_CONTENT,\n SEARCH,\n SEARCH_TERM,\n RANGE,\n CHECKBOX,\n SELECT,\n KEYWORD,\n OR,\n DEFAULT_LIMIT,\n DEFAULT_OFFSET,\n FEATURED,\n SPONSORED,\n STRING,\n DATE,\n FULL,\n CHILD_PROPS_TO_USE,\n CATEGORY_ID,\n PUBLISHED,\n ID,\n LINK,\n CLASS_MODIFIERS,\n END_ADUNIT,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n BANNER_QUERY_PROPS,\n CAROUSEL,\n IMAGE,\n IMAGES,\n IMAGE_WRAPPER,\n IN_VIEW_CONFIG,\n GET_FILE_FALLBACK,\n HERO,\n HERO_WRAPPER,\n WITH_BANNER,\n ALL,\n COLUMN,\n ROW,\n GTM,\n GTM_DATA_ID_ATTR,\n PROPS_TO_CHECK,\n CENTER,\n HALF,\n WIDE,\n DESK,\n TABLET,\n MOBILE,\n ALIGNMENT,\n OBJECT,\n ON_CLICK,\n WAYPOINT_BOTTOM_OFFSET,\n JW_PLAYER_TYPE_FILE,\n CODE,\n VIDEO_WRAPPER_CLASS_NAME,\n PAGINATION_QUERY_CONST,\n PB_QUERY_CONST,\n INFINITE,\n NEXT_STRING,\n PREVIOUS_STRING,\n PAGINATION_DISPLAY_LIMIT,\n PAGINATION_DIFFERENCE,\n LOAD_MORE_STRING,\n LOAD_MORE,\n CLASSIC,\n BREAKPOINT_SIZES,\n EMAIL,\n PASSWORD,\n LOGOUT,\n MIN_BANNER_HEIGHT,\n MAX_BANNER_HEIGHT,\n GRAPH_QL_ERROR,\n HOVER,\n MOUSE_ENTER,\n MOUSE_LEAVE,\n CLICK,\n SHOW,\n HIDE,\n VISIBLE,\n INVISIBLE,\n MOBILE_WIDTH,\n HIDDEN,\n MENU_ITEM,\n SUB_MENU,\n LOGIN_FORM,\n PASSWORD_REGEX,\n PASSWORD_VALIDATION_MESSAGE,\n PASSWORD_CONFIRM_MESSAGE,\n ELEMENT,\n ALLOWED_BLOCK_TYPES,\n PREHEADER_PROP,\n HEADLINE_PROP,\n AZ_QUERY_CONST,\n AZ_AGGS,\n ALL_AZ_SORT,\n AZ,\n SCROLL_OFFSET,\n ANCHOR_TAG,\n TARGET_BLANK,\n DATA_SUMMARY_EMAIL_REGEX,\n DATA_SUMMARY_URL_REGEX,\n DATA_SUMMARY_TEL_REGEX,\n LIST_ITEM_LOCAL_KEY\n};\n"],"mappings":";;;;;;;;;AAAA,IAAMA,QAAQ,GAAG,GAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,WAAW,GAAG,cAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,YAAY,GAAG,MAArB;;AACA,IAAMC,WAAW,GAAG,QAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,wBAAwB,GAAG,wBAAjC;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,UAAlB;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,aAAa,GAAG,EAAtB;;AACA,IAAMC,cAAc,GAAG,CAAvB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,kBAAkB,GAAG,CAAC,OAAD,CAA3B;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,UAAU,GAAG,WAAnB;;AACA,IAAMC,cAAc,GAAG,iBAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,eAAe,GAAG;EACtBC,QAAQ,EAAE,UADY;EAEtBC,cAAc,EAAE,cAFM;EAGtBP,IAAI,EAAE,MAHgB;EAItBQ,OAAO,EAAE,SAJa;EAKtBC,OAAO,EAAE,SALa;EAMtBC,MAAM,EAAE,QANc;EAOtBC,MAAM,EAAE,QAPc;EAQtBC,IAAI,EAAE,MARgB;EAStBC,WAAW,EAAE,YATS;EAUtBC,IAAI,EAAE,MAVgB;EAWtBC,KAAK,EAAE,OAXe;EAYtBC,KAAK,EAAE,OAZe;EAatBC,MAAM,EAAE,QAbc;EActBC,SAAS,EAAE;AAdW,CAAxB;;AAgBA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,MAAM,aAAMD,KAAN,MAAZ;;AACA,IAAME,aAAa,GAAG,gBAAtB;;AACA,IAAMC,UAAU,GAAG,MAAnB;;AACA,IAAMC,yBAAyB,GAAG,yBAAlC;;AACA,IAAMC,UAAU,GAAG,WAAnB;;AACA,IAAMC,YAAY,GAAG,cAArB;AACA,IAAMC,kBAAkB,qBAAcD,YAAd,0BAA0CA,YAA1C,SAAxB;;AACA,IAAME,sBAAsB,GAAG,QAA/B;;AACA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE,OAFa;EAGrBC,YAAY,EAAE;AAHO,CAAvB;;AAKA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,YAAY,GAAG,eAArB;;AAEA,IAAMC,iBAAiB,GAAG;EACxBC,OAAO,EAAE;IAAEC,GAAG,EAAE,EAAP;IAAWC,IAAI,EAAE;EAAjB;AADe,CAA1B;;AAIA,IAAMC,WAAW,GAAG,cAApB;;AACA,IAAMC,0BAA0B,GAAG,MAAnC;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,gBAAgB,GAAG,aAAzB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMvC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMO,SAAS,GAAG,WAAlB;;AACA,IAAMgC,sBAAsB,GAAG,QAA/B;;AACA,IAAMC,cAAc,GAAG,MAAvB;;AACA,IAAMC,cAAc,GAAG,IAAvB;;AACA,IAAMC,WAAW,GAAG,MAApB;;AACA,IAAMC,eAAe,GAAG,UAAxB;;AACA,IAAMC,gBAAgB,GAAG,WAAzB;;AACA,IAAMC,SAAS,GAAG,UAAlB;;AACA,IAAMC,wBAAwB,GAAG,EAAjC;;AACA,IAAMC,qBAAqB,GAAG,CAA9B;;AAEA,IAAMC,cAAc,GAAG,CACrB,CAAC,SAAD,EAAY,KAAZ,CADqB,EAErB,CAAC,SAAD,EAAY,SAAZ,CAFqB,EAGrB,CAAC,SAAD,EAAY,SAAZ,CAHqB,EAIrB,CAAC,SAAD,EAAY,SAAZ,CAJqB,CAAvB;;AAOA,IAAMC,mBAAmB,GAAG,MAA5B;;AACA,IAAMC,wBAAwB,GAAG,gBAAjC;;AACA,IAAMC,gBAAgB,GAAG;EACvBC,EAAE,EAAE,IADmB;EAEvBC,EAAE,EAAE,IAFmB;EAGvBC,EAAE,EAAE,IAHmB;EAIvBC,EAAE,EAAE,IAJmB;EAKvBC,GAAG,EAAE;AALkB,CAAzB;;AAQA,IAAMC,iBAAiB,GAAG,GAA1B;;AACA,IAAMC,iBAAiB,GAAG,EAA1B;;AACA,IAAMC,cAAc,GAAG,iEAAvB;;AACA,IAAMC,2BAA2B,GAC/B,6GADF;;AAEA,IAAMC,wBAAwB,GAAG,sBAAjC;;AACA,IAAMC,mBAAmB,GAAG,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,CAA5B;;AAEA,IAAMC,cAAc,GAAG,sBAAvB;;AACA,IAAMC,aAAa,GAAG,qBAAtB;;AACA,IAAMC,EAAE,GAAG,CACT,GADS,EAET,GAFS,EAGT,GAHS,EAIT,GAJS,EAKT,GALS,EAMT,GANS,EAOT,GAPS,EAQT,GARS,EAST,GATS,EAUT,GAVS,EAWT,GAXS,EAYT,GAZS,EAaT,GAbS,EAcT,GAdS,EAeT,GAfS,EAgBT,GAhBS,EAiBT,GAjBS,EAkBT,GAlBS,EAmBT,GAnBS,EAoBT,GApBS,EAqBT,GArBS,EAsBT,GAtBS,EAuBT,GAvBS,EAwBT,GAxBS,EAyBT,GAzBS,EA0BT,GA1BS,CAAX;;AA6BA,IAAMC,OAAO,GAAG;EACdC,IAAI,EAAE;IACJC,OAAO,EAAE;MACPC,KAAK,EAAE;QACLC,MAAM,EAAE,6DADH;QAELC,IAAI,EAAE;MAFD;IADA;EADL,CADQ;EASdC,IAAI,EAAE,CAAC;IAAE,gBAAgB;EAAlB,CAAD;AATQ,CAAhB;;AAWA,IAAMC,WAAW,GAAG;EAClBD,IAAI,EAAE,CACJ;IACEE,OAAO,EAAE;MACPC,IAAI,EAAE,QADC;MAEPL,MAAM,EAAE;QACNM,IAAI,EAAE,UADA;QAENC,MAAM,EACJ,4HAHI;QAINC,MAAM,EAAE;UACNC,OAAO,EAAEd;QADH;MAJF,CAFD;MAUPe,KAAK,EAAE;IAVA;EADX,CADI,EAeJ;IAAE,gBAAgB;EAAlB,CAfI;AADY,CAApB;;AAoBA,IAAMC,aAAa,GAAGC,OAAO,CAACC,GAAR,CAAYC,mBAAZ,IAAmC,EAAzD;;AAEA,IAAMC,cAAc,GAAG,SAAvB;;AACA,IAAMC,YAAY,GAAG,OAArB;;AACA,IAAMC,aAAa,GAAG,QAAtB;;AACA,IAAMC,UAAU,GAAG,GAAnB;;AACA,IAAMC,YAAY,GAAG,QAArB;;AAEA,IAAMC,wBAAwB,GAAG,mDAAjC;;AACA,IAAMC,sBAAsB,GAAG,gGAA/B;;AACA,IAAMC,sBAAsB,GAAG,+BAA/B,C,CAAgE;;;AAEhE,IAAMC,mBAAmB,GAAG,kBAA5B"}
@@ -53,6 +53,7 @@ var appendGtmClassName = function appendGtmClassName(settings, childComponents)
53
53
  var _childComponents$prop = (0, _slicedToArray2["default"])(childComponents.props.children, 2),
54
54
  compChildren = _childComponents$prop[1];
55
55
 
56
+ if (!compChildren || !Array.isArray(compChildren)) return settings;
56
57
  var gtmClassNames = compChildren.filter(function (_ref) {
57
58
  var type = _ref.props.component.type;
58
59
  return type === _constants.GTM;
@@ -1 +1 @@
1
- {"version":3,"file":"append-gtm-classname.js","names":["appendGtmClassName","settings","childComponents","Array","isArray","props","children","compChildren","gtmClassNames","filter","type","component","GTM","map","gtmClassName","Boolean","join","length","modifier","updatedModifier","trim"],"sources":["../../../src/hooks/helpers/append-gtm-classname.js"],"sourcesContent":["import { GTM } from '../../constants';\n\nconst appendGtmClassName = (settings, childComponents) => {\n if (!childComponents || Array.isArray(childComponents)) return settings;\n const {\n props: {\n children: [, compChildren]\n }\n } = childComponents;\n const gtmClassNames = compChildren\n .filter(\n ({\n props: {\n component: { type }\n }\n }) => type === GTM\n )\n .map(\n ({\n props: {\n component: {\n settings: { gtmClassName }\n }\n }\n }) => gtmClassName\n )\n .filter(Boolean)\n .join(' ');\n if (!gtmClassNames.length) return settings;\n const { modifier } = settings;\n const updatedModifier = `${modifier || ''} ${gtmClassNames}`.trim();\n\n return { ...settings, modifier: updatedModifier };\n};\n\nexport default appendGtmClassName;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD,EAAWC,eAAX,EAA+B;EACxD,IAAI,CAACA,eAAD,IAAoBC,KAAK,CAACC,OAAN,CAAcF,eAAd,CAAxB,EAAwD,OAAOD,QAAP;;EACxD,4DAIIC,eAJJ,CACEG,KADF,CAEIC,QAFJ;EAAA,IAEiBC,YAFjB;;EAKA,IAAMC,aAAa,GAAGD,YAAY,CAC/BE,MADmB,CAElB;IAAA,IAEiBC,IAFjB,QACEL,KADF,CAEIM,SAFJ,CAEiBD,IAFjB;IAAA,OAIMA,IAAI,KAAKE,cAJf;EAAA,CAFkB,EAQnBC,GARmB,CASlB;IAAA,IAGkBC,YAHlB,SACET,KADF,CAEIM,SAFJ,CAGMV,QAHN,CAGkBa,YAHlB;IAAA,OAMMA,YANN;EAAA,CATkB,EAiBnBL,MAjBmB,CAiBZM,OAjBY,EAkBnBC,IAlBmB,CAkBd,GAlBc,CAAtB;EAmBA,IAAI,CAACR,aAAa,CAACS,MAAnB,EAA2B,OAAOhB,QAAP;EAC3B,IAAQiB,QAAR,GAAqBjB,QAArB,CAAQiB,QAAR;EACA,IAAMC,eAAe,GAAG,UAAGD,QAAQ,IAAI,EAAf,cAAqBV,aAArB,EAAqCY,IAArC,EAAxB;EAEA,uCAAYnB,QAAZ;IAAsBiB,QAAQ,EAAEC;EAAhC;AACD,CA/BD;;eAiCenB,kB"}
1
+ {"version":3,"file":"append-gtm-classname.js","names":["appendGtmClassName","settings","childComponents","Array","isArray","props","children","compChildren","gtmClassNames","filter","type","component","GTM","map","gtmClassName","Boolean","join","length","modifier","updatedModifier","trim"],"sources":["../../../src/hooks/helpers/append-gtm-classname.js"],"sourcesContent":["import { GTM } from '../../constants';\n\nconst appendGtmClassName = (settings, childComponents) => {\n if (!childComponents || Array.isArray(childComponents)) return settings;\n const {\n props: {\n children: [, compChildren]\n }\n } = childComponents;\n\n if (!compChildren || !Array.isArray(compChildren)) return settings;\n\n const gtmClassNames = compChildren\n .filter(\n ({\n props: {\n component: { type }\n }\n }) => type === GTM\n )\n .map(\n ({\n props: {\n component: {\n settings: { gtmClassName }\n }\n }\n }) => gtmClassName\n )\n .filter(Boolean)\n .join(' ');\n if (!gtmClassNames.length) return settings;\n const { modifier } = settings;\n const updatedModifier = `${modifier || ''} ${gtmClassNames}`.trim();\n\n return { ...settings, modifier: updatedModifier };\n};\n\nexport default appendGtmClassName;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD,EAAWC,eAAX,EAA+B;EACxD,IAAI,CAACA,eAAD,IAAoBC,KAAK,CAACC,OAAN,CAAcF,eAAd,CAAxB,EAAwD,OAAOD,QAAP;;EACxD,4DAIIC,eAJJ,CACEG,KADF,CAEIC,QAFJ;EAAA,IAEiBC,YAFjB;;EAMA,IAAI,CAACA,YAAD,IAAiB,CAACJ,KAAK,CAACC,OAAN,CAAcG,YAAd,CAAtB,EAAmD,OAAON,QAAP;EAEnD,IAAMO,aAAa,GAAGD,YAAY,CAC/BE,MADmB,CAElB;IAAA,IAEiBC,IAFjB,QACEL,KADF,CAEIM,SAFJ,CAEiBD,IAFjB;IAAA,OAIMA,IAAI,KAAKE,cAJf;EAAA,CAFkB,EAQnBC,GARmB,CASlB;IAAA,IAGkBC,YAHlB,SACET,KADF,CAEIM,SAFJ,CAGMV,QAHN,CAGkBa,YAHlB;IAAA,OAMMA,YANN;EAAA,CATkB,EAiBnBL,MAjBmB,CAiBZM,OAjBY,EAkBnBC,IAlBmB,CAkBd,GAlBc,CAAtB;EAmBA,IAAI,CAACR,aAAa,CAACS,MAAnB,EAA2B,OAAOhB,QAAP;EAC3B,IAAQiB,QAAR,GAAqBjB,QAArB,CAAQiB,QAAR;EACA,IAAMC,eAAe,GAAG,UAAGD,QAAQ,IAAI,EAAf,cAAqBV,aAArB,EAAqCY,IAArC,EAAxB;EAEA,uCAAYnB,QAAZ;IAAsBiB,QAAQ,EAAEC;EAAhC;AACD,CAlCD;;eAoCenB,kB"}
@@ -1,11 +1,13 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  const _excluded = ["children", "collapse", "modifier", "mobileMenuModifier", "mobileMenuChildrenModifier", "mobileIconAlignment", "mobileButtonModifier", "hamburgerIconModifier", "logoOnMobile", "logoOnDesktop", "logoOnMobileUrl", "logoOnMobileAlt", "logoOnMobileModifier", "logoOnDesktopModifier", "logoOnDesktopAlignment", "closeIconModifier"];
3
- import React, { useState } from 'react';
3
+ import React, { useState, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import BlazeButton from '@blaze-react/button';
6
+ import { useRouter } from 'next/router';
6
7
  import { MdMenu, MdClose } from 'react-icons/md';
7
8
  import { useCheckMobileScreen } from '../../hooks';
8
9
  import { HIDDEN } from '../../constants';
10
+ import MenuContext from './MenuContext';
9
11
 
10
12
  const Menu = _ref => {
11
13
  let {
@@ -28,15 +30,28 @@ const Menu = _ref => {
28
30
  } = _ref,
29
31
  rest = _objectWithoutProperties(_ref, _excluded);
30
32
 
33
+ const router = useRouter();
31
34
  const isMobile = useCheckMobileScreen();
32
35
  const [showMobileMenu, setShowMobileMenu] = useState(false);
36
+ useEffect(() => {
37
+ const handleRouteChange = () => setShowMobileMenu(false);
38
+
39
+ router.events.on('routeChangeStart', handleRouteChange);
40
+ return () => {
41
+ router.events.off('routeChangeStart', handleRouteChange);
42
+ };
43
+ }, [router.events]);
33
44
  const shouldDisplayCollapsed = collapse && isMobile;
34
45
  const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;
35
46
  const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;
36
47
  const childrenDesktopModifier = shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;
37
48
  const childrenMobileModifier = shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;
38
49
  const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';
39
- return /*#__PURE__*/React.createElement("div", {
50
+ return /*#__PURE__*/React.createElement(MenuContext.Provider, {
51
+ value: {
52
+ showMobileMenu
53
+ }
54
+ }, /*#__PURE__*/React.createElement("div", {
40
55
  className: "menu--wrapper"
41
56
  }, collapse && /*#__PURE__*/React.createElement("div", {
42
57
  className: "menu--mobile-wrapper"
@@ -49,7 +64,7 @@ const Menu = _ref => {
49
64
  className: closeIconModifier
50
65
  }) : /*#__PURE__*/React.createElement(MdMenu, {
51
66
  className: hamburgerIconModifier
52
- }))))), logoOnMobile && /*#__PURE__*/React.createElement("a", {
67
+ }))))), logoOnMobile && !showMobileMenu && /*#__PURE__*/React.createElement("a", {
53
68
  href: "/"
54
69
  }, /*#__PURE__*/React.createElement("img", {
55
70
  src: logoOnMobileUrl,
@@ -59,21 +74,14 @@ const Menu = _ref => {
59
74
  className: "menu--desktop-wrapper"
60
75
  }, /*#__PURE__*/React.createElement("ul", {
61
76
  className: isMobile ? childrenMobileModifier : childrenDesktopModifier
62
- }, logoOnDesktop && logoOnDesktopAlignment === 'left' && /*#__PURE__*/React.createElement("a", {
63
- href: "/",
64
- className: "menu--desktop__logo-wrapper"
65
- }, /*#__PURE__*/React.createElement("img", {
66
- src: logoOnMobileUrl,
67
- alt: logoOnMobileAlt,
68
- className: logoOnDesktopModifier
69
- })), children, logoOnDesktop && logoOnDesktopAlignment === 'right' && /*#__PURE__*/React.createElement("a", {
77
+ }, logoOnDesktop && /*#__PURE__*/React.createElement("a", {
70
78
  href: "/",
71
- className: "menu--desktop__logo-wrapper"
79
+ className: ""
72
80
  }, /*#__PURE__*/React.createElement("img", {
73
81
  src: logoOnMobileUrl,
74
82
  alt: logoOnMobileAlt,
75
83
  className: logoOnDesktopModifier
76
- })))));
84
+ })), children))));
77
85
  };
78
86
 
79
87
  Menu.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","useState","PropTypes","BlazeButton","MdMenu","MdClose","useCheckMobileScreen","HIDDEN","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","rest","isMobile","showMobileMenu","setShowMobileMenu","shouldDisplayCollapsed","mobileButtonClass","shouldDisplayChildren","childrenDesktopModifier","childrenMobileModifier","isMobileMenuExpanded","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { useCheckMobileScreen } from '../../hooks';\nimport { HIDDEN } from '../../constants';\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 logoOnDesktopAlignment,\n closeIconModifier,\n ...rest\n}) => {\n const isMobile = useCheckMobileScreen();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n const shouldDisplayCollapsed = collapse && isMobile;\n\n const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;\n\n const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;\n\n const childrenDesktopModifier =\n shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;\n\n const childrenMobileModifier =\n shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n\n return (\n <div className=\"menu--wrapper\">\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={mobileButtonClass}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\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 && (\n <a href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </a>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'left' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'right' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n </ul>\n </div>\n </div>\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 logoOnDesktopAlignment: 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 logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,WAAP,MAAwB,qBAAxB;AACA,SAASC,MAAT,EAAiBC,OAAjB,QAAgC,gBAAhC;AACA,SAASC,oBAAT,QAAqC,aAArC;AACA,SAASC,MAAT,QAAuB,iBAAvB;;AAEA,MAAMC,IAAI,GAAG,QAkBP;EAAA,IAlBQ;IACZC,QADY;IAEZC,QAFY;IAGZC,QAHY;IAIZC,kBAJY;IAKZC,0BALY;IAMZC,mBANY;IAOZC,oBAPY;IAQZC,qBARY;IASZC,YATY;IAUZC,aAVY;IAWZC,eAXY;IAYZC,eAZY;IAaZC,oBAbY;IAcZC,qBAdY;IAeZC,sBAfY;IAgBZC;EAhBY,CAkBR;EAAA,IADDC,IACC;;EACJ,MAAMC,QAAQ,GAAGpB,oBAAoB,EAArC;EACA,MAAM,CAACqB,cAAD,EAAiBC,iBAAjB,IAAsC3B,QAAQ,CAAC,KAAD,CAApD;EAEA,MAAM4B,sBAAsB,GAAGnB,QAAQ,IAAIgB,QAA3C;EAEA,MAAMI,iBAAiB,GAAGD,sBAAsB,IAAIH,QAA1B,GAAqCX,oBAArC,GAA4DR,MAAtF;EAEA,MAAMwB,qBAAqB,GAAGF,sBAAsB,GAAGF,cAAH,GAAoB,IAAxE;EAEA,MAAMK,uBAAuB,GAC3BD,qBAAqB,IAAI,CAACL,QAA1B,GAAqCf,QAArC,GAAiD,GAAEA,QAAS,IAAGJ,MAAO,EADxE;EAGA,MAAM0B,sBAAsB,GAC1BF,qBAAqB,IAAIL,QAAzB,GAAqC,GAAEb,0BAA2B,EAAlE,GAAuE,IAAGN,MAAO,EADnF;EAGA,MAAM2B,oBAAoB,GAAGP,cAAc,GAAI,GAAEf,kBAAmB,EAAzB,GAA6B,EAAxE;EAEA,oBACE;IAAK,SAAS,EAAC;EAAf,GACGF,QAAQ,iBACP;IAAK,SAAS,EAAC;EAAf,gBACE;IACE,SAAS,EAAG,8BAA6BI,mBAAoB,IAAGoB,oBAAqB;EADvF,gBAEE,oBAAC,WAAD;IACE,SAAS,EAAEJ,iBADb;IAEE,OAAO,EAAE,MAAMF,iBAAiB,CAAC,CAACD,cAAF;EAFlC,gBAGE,+BACGA,cAAc,gBACb,oBAAC,OAAD;IAAS,SAAS,EAAEH;EAApB,EADa,gBAGb,oBAAC,MAAD;IAAQ,SAAS,EAAER;EAAnB,EAJJ,CAHF,CAFF,CADF,CAFJ,EAmBGC,YAAY,iBACX;IAAG,IAAI,EAAC;EAAR,gBACE;IAAK,GAAG,EAAEE,eAAV;IAA2B,GAAG,EAAEC,eAAhC;IAAiD,SAAS,EAAEC;EAA5D,EADF,CApBJ,eAyBE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAI,SAAS,EAAEK,QAAQ,GAAGO,sBAAH,GAA4BD;EAAnD,GACGd,aAAa,IACZK,sBAAsB,KAAK,MAD5B,iBAEG;IAAG,IAAI,EAAC,GAAR;IAAY,SAAS,EAAC;EAAtB,gBACE;IACE,GAAG,EAAEJ,eADP;IAEE,GAAG,EAAEC,eAFP;IAGE,SAAS,EAAEE;EAHb,EADF,CAHN,EAWGb,QAXH,EAYGS,aAAa,IACZK,sBAAsB,KAAK,OAD5B,iBAEG;IAAG,IAAI,EAAC,GAAR;IAAY,SAAS,EAAC;EAAtB,gBACE;IACE,GAAG,EAAEJ,eADP;IAEE,GAAG,EAAEC,eAFP;IAGE,SAAS,EAAEE;EAHb,EADF,CAdN,CADF,CAzBF,CADF;AAqDD,CAzFD;;AA2FAd,IAAI,CAAC2B,SAAL,GAAiB;EACfzB,QAAQ,EAAER,SAAS,CAACkC,IAAV,CAAeC,UADV;EAEfpB,YAAY,EAAEf,SAAS,CAACkC,IAAV,CAAeC,UAFd;EAGfnB,aAAa,EAAEhB,SAAS,CAACkC,IAHV;EAIfjB,eAAe,EAAEjB,SAAS,CAACoC,MAJZ;EAKflB,eAAe,EAAElB,SAAS,CAACoC,MALZ;EAMfjB,oBAAoB,EAAEnB,SAAS,CAACoC,MANjB;EAOfhB,qBAAqB,EAAEpB,SAAS,CAACoC,MAPlB;EAQff,sBAAsB,EAAErB,SAAS,CAACoC,MARnB;EASftB,qBAAqB,EAAEd,SAAS,CAACoC,MATlB;EAUfd,iBAAiB,EAAEtB,SAAS,CAACoC,MAVd;EAWfvB,oBAAoB,EAAEb,SAAS,CAACoC,MAXjB;EAYf1B,kBAAkB,EAAEV,SAAS,CAACoC,MAZf;EAafzB,0BAA0B,EAAEX,SAAS,CAACoC,MAbvB;EAcf3B,QAAQ,EAAET,SAAS,CAACoC,MAdL;EAefxB,mBAAmB,EAAEZ,SAAS,CAACoC,MAfhB;EAgBf7B,QAAQ,EAAEP,SAAS,CAACqC,SAAV,CAAoB,CAACrC,SAAS,CAACsC,OAAV,CAAkBtC,SAAS,CAACuC,IAA5B,CAAD,EAAoCvC,SAAS,CAACuC,IAA9C,CAApB;AAhBK,CAAjB;AAmBAjC,IAAI,CAACkC,YAAL,GAAoB;EAClBxB,aAAa,EAAE,KADG;EAElBC,eAAe,EAAE,EAFC;EAGlBC,eAAe,EAAE,EAHC;EAIlBC,oBAAoB,EAAE,EAJJ;EAKlBC,qBAAqB,EAAE,EALL;EAMlBN,qBAAqB,EAAE,EANL;EAOlBQ,iBAAiB,EAAE,EAPD;EAQlBT,oBAAoB,EAAE,EARJ;EASlBD,mBAAmB,EAAE,EATH;EAUlBF,kBAAkB,EAAE,EAVF;EAWlBC,0BAA0B,EAAE,EAXV;EAYlBU,sBAAsB,EAAE,MAZN;EAalBZ,QAAQ,EAAE,EAbQ;EAclBF,QAAQ,EAAE;AAdQ,CAApB;AAiBA,eAAeD,IAAf"}
1
+ {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","useRouter","MdMenu","MdClose","useCheckMobileScreen","HIDDEN","MenuContext","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","rest","router","isMobile","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayCollapsed","mobileButtonClass","shouldDisplayChildren","childrenDesktopModifier","childrenMobileModifier","isMobileMenuExpanded","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { useCheckMobileScreen } from '../../hooks';\nimport { HIDDEN } from '../../constants';\nimport MenuContext from './MenuContext';\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 logoOnDesktopAlignment,\n closeIconModifier,\n ...rest\n}) => {\n const router = useRouter();\n const isMobile = useCheckMobileScreen();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayCollapsed = collapse && isMobile;\n\n const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;\n\n const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;\n\n const childrenDesktopModifier =\n shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;\n\n const childrenMobileModifier =\n shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className=\"menu--wrapper\">\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={mobileButtonClass}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\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 &&\n !showMobileMenu && (\n <a href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </a>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\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 logoOnDesktopAlignment: 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 logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ const MenuContext = React.createContext({
3
+ showMobileMenu: false
4
+ });
5
+ export default MenuContext;
6
+ //# sourceMappingURL=MenuContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContext.js","names":["React","MenuContext","createContext","showMobileMenu"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false });\n\nexport default MenuContext;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,MAAMC,WAAW,GAAGD,KAAK,CAACE,aAAN,CAAoB;EAAEC,cAAc,EAAE;AAAlB,CAApB,CAApB;AAEA,eAAeF,WAAf"}
@@ -1,8 +1,10 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState, useContext, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';
3
+ import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
4
+ import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
4
5
  import { hasChildren } from '../../helpers';
5
6
  import BlazeLink from '../BlazeLink';
7
+ import MenuContext from '../Menu/MenuContext';
6
8
 
7
9
  const MenuItem = ({
8
10
  children,
@@ -12,6 +14,12 @@ const MenuItem = ({
12
14
  url
13
15
  }) => {
14
16
  const [displayChildren, setDisplayChildren] = useState(false);
17
+ const {
18
+ showMobileMenu
19
+ } = useContext(MenuContext);
20
+ useEffect(() => {
21
+ if (!showMobileMenu) setDisplayChildren(false);
22
+ }, [showMobileMenu]);
15
23
  const isHoverEvent = eventType === HOVER;
16
24
  const childrenDisplayClass = displayChildren ? '' : HIDDEN;
17
25
 
@@ -19,12 +27,13 @@ const MenuItem = ({
19
27
  type
20
28
  }) => {
21
29
  if (isHoverEvent) {
22
- if (type === MOUSE_ENTER) setDisplayChildren(true);
23
- if (type === MOUSE_LEAVE) setDisplayChildren(false);
24
- }
30
+ if (type === MOUSE_ENTER) {
31
+ setDisplayChildren(true);
32
+ }
25
33
 
26
- if (type === CLICK && eventType === CLICK && !url) {
27
- setDisplayChildren(!displayChildren);
34
+ if (type === MOUSE_LEAVE) {
35
+ setDisplayChildren(false);
36
+ }
28
37
  }
29
38
  };
30
39
 
@@ -33,13 +42,19 @@ const MenuItem = ({
33
42
  className: modifier,
34
43
  onMouseEnter: handleItemEvent,
35
44
  onMouseLeave: handleItemEvent
45
+ }, /*#__PURE__*/React.createElement("div", {
46
+ className: "menu--item--link"
36
47
  }, url ? /*#__PURE__*/React.createElement(BlazeLink, {
37
48
  href: url
38
49
  }, text) : /*#__PURE__*/React.createElement("span", {
39
50
  role: "button",
40
51
  onClick: handleItemEvent
41
- }, text), hasValidChildren && /*#__PURE__*/React.createElement("div", {
42
- className: childrenDisplayClass
52
+ }, text), hasValidChildren && /*#__PURE__*/React.createElement("i", {
53
+ role: "button",
54
+ className: "menu--item--link--icon",
55
+ onClick: () => setDisplayChildren(!displayChildren)
56
+ }, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
57
+ className: `menu--item-children ${childrenDisplayClass}`
43
58
  }, children));
44
59
  };
45
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useState","PropTypes","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDDEN","hasChildren","BlazeLink","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) setDisplayChildren(true);\n if (type === MOUSE_LEAVE) setDisplayChildren(false);\n }\n if (type === CLICK && eventType === CLICK && !url) {\n setDisplayChildren(!displayChildren);\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && <div className={childrenDisplayClass}>{children}</div>}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,KAAT,EAAgBC,WAAhB,EAA6BC,WAA7B,EAA0CC,KAA1C,EAAiDC,MAAjD,QAA+D,iBAA/D;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,QAAF;EAAYC,SAAZ;EAAuBC,IAAvB;EAA6BC,QAA7B;EAAuCC;AAAvC,CAAD,KAAkD;EACjE,MAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwChB,QAAQ,CAAC,KAAD,CAAtD;EACA,MAAMiB,YAAY,GAAGN,SAAS,KAAKT,KAAnC;EACA,MAAMgB,oBAAoB,GAAGH,eAAe,GAAG,EAAH,GAAQT,MAApD;;EAEA,MAAMa,eAAe,GAAG,CAAC;IAAEC;EAAF,CAAD,KAAc;IACpC,IAAIH,YAAJ,EAAkB;MAChB,IAAIG,IAAI,KAAKjB,WAAb,EAA0Ba,kBAAkB,CAAC,IAAD,CAAlB;MAC1B,IAAII,IAAI,KAAKhB,WAAb,EAA0BY,kBAAkB,CAAC,KAAD,CAAlB;IAC3B;;IACD,IAAII,IAAI,KAAKf,KAAT,IAAkBM,SAAS,KAAKN,KAAhC,IAAyC,CAACS,GAA9C,EAAmD;MACjDE,kBAAkB,CAAC,CAACD,eAAF,CAAlB;IACD;EACF,CARD;;EASA,MAAMM,gBAAgB,GAAGd,WAAW,CAACG,QAAD,CAApC;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAEM,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,GACGL,GAAG,gBACF,oBAAC,SAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEO;EAA7B,GACGP,IADH,CAJJ,EAQGS,gBAAgB,iBAAI;IAAK,SAAS,EAAEH;EAAhB,GAAuCR,QAAvC,CARvB,CADF;AAYD,CA5BD;;AA8BAD,QAAQ,CAACa,SAAT,GAAqB;EACnBT,QAAQ,EAAEZ,SAAS,CAACsB,MADD;EAEnBX,IAAI,EAAEX,SAAS,CAACsB,MAFG;EAGnBT,GAAG,EAAEb,SAAS,CAACsB,MAHI;EAInBZ,SAAS,EAAEV,SAAS,CAACsB,MAAV,CAAiBC,UAJT;EAKnBd,QAAQ,EAAET,SAAS,CAACwB,SAAV,CAAoB,CAACxB,SAAS,CAACyB,OAAV,CAAkBzB,SAAS,CAAC0B,IAA5B,CAAD,EAAoC1B,SAAS,CAAC0B,IAA9C,CAApB;AALS,CAArB;AAQAlB,QAAQ,CAACmB,YAAT,GAAwB;EACtBd,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;AAOA,eAAeD,QAAf"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\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 const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\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\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,UAA1B,EAAsCC,SAAtC,QAAuD,OAAvD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,aAAT,EAAwBC,WAAxB,QAA2C,gBAA3C;AACA,SAASC,KAAT,EAAgBC,WAAhB,EAA6BC,WAA7B,EAA0CC,MAA1C,QAAwD,iBAAxD;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,WAAP,MAAwB,qBAAxB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,QAAF;EAAYC,SAAZ;EAAuBC,IAAvB;EAA6BC,QAA7B;EAAuCC;AAAvC,CAAD,KAAkD;EACjE,MAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCpB,QAAQ,CAAC,KAAD,CAAtD;EACA,MAAM;IAAEqB;EAAF,IAAqBpB,UAAU,CAACW,WAAD,CAArC;EAEAV,SAAS,CACP,MAAM;IACJ,IAAI,CAACmB,cAAL,EAAqBD,kBAAkB,CAAC,KAAD,CAAlB;EACtB,CAHM,EAIP,CAACC,cAAD,CAJO,CAAT;EAOA,MAAMC,YAAY,GAAGP,SAAS,KAAKT,KAAnC;EACA,MAAMiB,oBAAoB,GAAGJ,eAAe,GAAG,EAAH,GAAQV,MAApD;;EAEA,MAAMe,eAAe,GAAG,CAAC;IAAEC;EAAF,CAAD,KAAc;IACpC,IAAIH,YAAJ,EAAkB;MAChB,IAAIG,IAAI,KAAKlB,WAAb,EAA0B;QACxBa,kBAAkB,CAAC,IAAD,CAAlB;MACD;;MACD,IAAIK,IAAI,KAAKjB,WAAb,EAA0B;QACxBY,kBAAkB,CAAC,KAAD,CAAlB;MACD;IACF;EACF,CATD;;EAUA,MAAMM,gBAAgB,GAAGhB,WAAW,CAACI,QAAD,CAApC;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAEO,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,gBACE;IAAK,SAAS,EAAC;EAAf,GACGN,GAAG,gBACF,oBAAC,SAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEQ;EAA7B,GACGR,IADH,CAJJ,EAQGU,gBAAgB,iBACf;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,wBAFZ;IAGE,OAAO,EAAE,MAAMN,kBAAkB,CAAC,CAACD,eAAF;EAHnC,GAIGA,eAAe,gBAAG,oBAAC,WAAD,OAAH,gBAAqB,oBAAC,aAAD,OAJvC,CATJ,CADF,EAmBGO,gBAAgB,iBACf;IAAK,SAAS,EAAG,uBAAsBH,oBAAqB;EAA5D,GAAgET,QAAhE,CApBJ,CADF;AAyBD,CAnDD;;AAqDAD,QAAQ,CAACc,SAAT,GAAqB;EACnBV,QAAQ,EAAEd,SAAS,CAACyB,MADD;EAEnBZ,IAAI,EAAEb,SAAS,CAACyB,MAFG;EAGnBV,GAAG,EAAEf,SAAS,CAACyB,MAHI;EAInBb,SAAS,EAAEZ,SAAS,CAACyB,MAAV,CAAiBC,UAJT;EAKnBf,QAAQ,EAAEX,SAAS,CAAC2B,SAAV,CAAoB,CAAC3B,SAAS,CAAC4B,OAAV,CAAkB5B,SAAS,CAAC6B,IAA5B,CAAD,EAAoC7B,SAAS,CAAC6B,IAA9C,CAApB;AALS,CAArB;AAQAnB,QAAQ,CAACoB,YAAT,GAAwB;EACtBf,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;AAOA,eAAeD,QAAf"}
@@ -17,6 +17,7 @@ const RANGE = 'range';
17
17
  const CHECKBOX = 'checkbox';
18
18
  const ELEMENT = 'element';
19
19
  const MENU_ITEM = 'menuitem';
20
+ const SUB_MENU = 'submenu';
20
21
  const SELECT = 'select';
21
22
  const ON_CLICK = 'onClick';
22
23
  const KEYWORD = 'keyword';
@@ -170,5 +171,5 @@ const DATA_SUMMARY_URL_REGEX = /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,2
170
171
  const DATA_SUMMARY_TEL_REGEX = /^\+{0,1}[0-9\(\)\.\- \/]{7,}$/; // note: very loose phone number match not for validation
171
172
 
172
173
  const LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';
173
- export { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED, BLANK_SPACE_UNICODE_STRING, BOLD_TAG, BUTTON, BUTTON_ICON, ICON_BUTTON, AND, AND_OPERATOR, OR_OPERATOR, TEXT_SEARCH, SEARCH_PUBLISHED_CONTENT, SEARCH, SEARCH_TERM, RANGE, CHECKBOX, SELECT, KEYWORD, OR, DEFAULT_LIMIT, DEFAULT_OFFSET, FEATURED, SPONSORED, STRING, DATE, FULL, CHILD_PROPS_TO_USE, CATEGORY_ID, PUBLISHED, ID, LINK, CLASS_MODIFIERS, END_ADUNIT, COUNT_CONTENT_HIERARCHIES, GET_BANNER, BANNER_QUERY_PROPS, CAROUSEL, IMAGE, IMAGES, IMAGE_WRAPPER, IN_VIEW_CONFIG, GET_FILE_FALLBACK, HERO, HERO_WRAPPER, WITH_BANNER, ALL, COLUMN, ROW, GTM, GTM_DATA_ID_ATTR, PROPS_TO_CHECK, CENTER, HALF, WIDE, DESK, TABLET, MOBILE, ALIGNMENT, OBJECT, ON_CLICK, WAYPOINT_BOTTOM_OFFSET, JW_PLAYER_TYPE_FILE, CODE, VIDEO_WRAPPER_CLASS_NAME, PAGINATION_QUERY_CONST, PB_QUERY_CONST, INFINITE, NEXT_STRING, PREVIOUS_STRING, PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE, LOAD_MORE_STRING, LOAD_MORE, CLASSIC, BREAKPOINT_SIZES, EMAIL, PASSWORD, LOGOUT, MIN_BANNER_HEIGHT, MAX_BANNER_HEIGHT, GRAPH_QL_ERROR, HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, SHOW, HIDE, VISIBLE, INVISIBLE, MOBILE_WIDTH, HIDDEN, MENU_ITEM, LOGIN_FORM, PASSWORD_REGEX, PASSWORD_VALIDATION_MESSAGE, PASSWORD_CONFIRM_MESSAGE, ELEMENT, ALLOWED_BLOCK_TYPES, PREHEADER_PROP, HEADLINE_PROP, AZ_QUERY_CONST, AZ_AGGS, ALL_AZ_SORT, AZ, SCROLL_OFFSET, ANCHOR_TAG, TARGET_BLANK, DATA_SUMMARY_EMAIL_REGEX, DATA_SUMMARY_URL_REGEX, DATA_SUMMARY_TEL_REGEX, LIST_ITEM_LOCAL_KEY };
174
+ export { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED, BLANK_SPACE_UNICODE_STRING, BOLD_TAG, BUTTON, BUTTON_ICON, ICON_BUTTON, AND, AND_OPERATOR, OR_OPERATOR, TEXT_SEARCH, SEARCH_PUBLISHED_CONTENT, SEARCH, SEARCH_TERM, RANGE, CHECKBOX, SELECT, KEYWORD, OR, DEFAULT_LIMIT, DEFAULT_OFFSET, FEATURED, SPONSORED, STRING, DATE, FULL, CHILD_PROPS_TO_USE, CATEGORY_ID, PUBLISHED, ID, LINK, CLASS_MODIFIERS, END_ADUNIT, COUNT_CONTENT_HIERARCHIES, GET_BANNER, BANNER_QUERY_PROPS, CAROUSEL, IMAGE, IMAGES, IMAGE_WRAPPER, IN_VIEW_CONFIG, GET_FILE_FALLBACK, HERO, HERO_WRAPPER, WITH_BANNER, ALL, COLUMN, ROW, GTM, GTM_DATA_ID_ATTR, PROPS_TO_CHECK, CENTER, HALF, WIDE, DESK, TABLET, MOBILE, ALIGNMENT, OBJECT, ON_CLICK, WAYPOINT_BOTTOM_OFFSET, JW_PLAYER_TYPE_FILE, CODE, VIDEO_WRAPPER_CLASS_NAME, PAGINATION_QUERY_CONST, PB_QUERY_CONST, INFINITE, NEXT_STRING, PREVIOUS_STRING, PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE, LOAD_MORE_STRING, LOAD_MORE, CLASSIC, BREAKPOINT_SIZES, EMAIL, PASSWORD, LOGOUT, MIN_BANNER_HEIGHT, MAX_BANNER_HEIGHT, GRAPH_QL_ERROR, HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, SHOW, HIDE, VISIBLE, INVISIBLE, MOBILE_WIDTH, HIDDEN, MENU_ITEM, SUB_MENU, LOGIN_FORM, PASSWORD_REGEX, PASSWORD_VALIDATION_MESSAGE, PASSWORD_CONFIRM_MESSAGE, ELEMENT, ALLOWED_BLOCK_TYPES, PREHEADER_PROP, HEADLINE_PROP, AZ_QUERY_CONST, AZ_AGGS, ALL_AZ_SORT, AZ, SCROLL_OFFSET, ANCHOR_TAG, TARGET_BLANK, DATA_SUMMARY_EMAIL_REGEX, DATA_SUMMARY_URL_REGEX, DATA_SUMMARY_TEL_REGEX, LIST_ITEM_LOCAL_KEY };
174
175
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BOLD_TAG","BUTTON","CODE","BUTTON_ICON","ICON_BUTTON","AND","OR","AND_OPERATOR","OR_OPERATOR","TEXT_SEARCH","INFINITE","CLASSIC","SEARCH_PUBLISHED_CONTENT","SEARCH","SEARCH_TERM","RANGE","CHECKBOX","ELEMENT","MENU_ITEM","SELECT","ON_CLICK","KEYWORD","DEFAULT_LIMIT","DEFAULT_OFFSET","MOBILE_WIDTH","FEATURED","SPONSORED","STRING","OBJECT","DATE","FULL","CHILD_PROPS_TO_USE","CATEGORY_ID","PUBLISHED","ID","LINK","EMAIL","PASSWORD","LOGOUT","LOGIN_FORM","GRAPH_QL_ERROR","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDE","SHOW","VISIBLE","INVISIBLE","HIDDEN","CLASS_MODIFIERS","MODIFIER","GTM_CLASS_NAME","DESKTOP","DEFAULT","TABLET","MOBILE","SIZE","BUTTON_TYPE","ICON","STYLE","WIDTH","STICKY","ALIGNMENT","CAROUSEL","IMAGE","IMAGES","IMAGE_WRAPPER","END_ADUNIT","COUNT_CONTENT_HIERARCHIES","GET_BANNER","WIDTH_HEIGHT","BANNER_QUERY_PROPS","WAYPOINT_BOTTOM_OFFSET","IN_VIEW_CONFIG","once","offset","bottomOffset","HERO","HERO_WRAPPER","GET_FILE_FALLBACK","getFile","url","data","WITH_BANNER","BLANK_SPACE_UNICODE_STRING","ALL","COLUMN","ROW","GTM","GTM_DATA_ID_ATTR","CENTER","HALF","WIDE","DESK","PAGINATION_QUERY_CONST","AZ_QUERY_CONST","PB_QUERY_CONST","NEXT_STRING","PREVIOUS_STRING","LOAD_MORE_STRING","LOAD_MORE","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","PROPS_TO_CHECK","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","BREAKPOINT_SIZES","sm","md","lg","xl","xxl","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","PASSWORD_REGEX","PASSWORD_VALIDATION_MESSAGE","PASSWORD_CONFIRM_MESSAGE","ALLOWED_BLOCK_TYPES","PREHEADER_PROP","HEADLINE_PROP","AZ","AZ_AGGS","aggs","azCount","terms","script","size","sort","ALL_AZ_SORT","_script","type","lang","source","params","letters","order","SCROLL_OFFSET","process","env","BLAZE_SCROLL_OFFSET","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","ANCHOR_TAG","TARGET_BLANK","DATA_SUMMARY_EMAIL_REGEX","DATA_SUMMARY_URL_REGEX","DATA_SUMMARY_TEL_REGEX","LIST_ITEM_LOCAL_KEY"],"sources":["../../src/constants/index.js"],"sourcesContent":["const BOLD_TAG = 'b';\nconst BUTTON = 'button';\nconst CODE = 'code';\nconst BUTTON_ICON = 'button--icon';\nconst ICON_BUTTON = 'icon-button';\nconst AND = 'AND';\nconst OR = 'OR';\nconst AND_OPERATOR = 'must';\nconst OR_OPERATOR = 'should';\nconst TEXT_SEARCH = 'text-search';\nconst INFINITE = 'infinite';\nconst CLASSIC = 'classic';\nconst SEARCH_PUBLISHED_CONTENT = 'searchPublishedContent';\nconst SEARCH = 'search';\nconst SEARCH_TERM = 'search_term';\nconst RANGE = 'range';\nconst CHECKBOX = 'checkbox';\nconst ELEMENT = 'element';\nconst MENU_ITEM = 'menuitem';\nconst SELECT = 'select';\nconst ON_CLICK = 'onClick';\nconst KEYWORD = 'keyword';\nconst DEFAULT_LIMIT = 50;\nconst DEFAULT_OFFSET = 0;\nconst MOBILE_WIDTH = 768;\nconst FEATURED = 'featured';\nconst SPONSORED = 'sponsored';\nconst STRING = 'string';\nconst OBJECT = 'object';\nconst DATE = 'date';\nconst FULL = 'full';\nconst CHILD_PROPS_TO_USE = ['width'];\nconst CATEGORY_ID = 'categoryId';\nconst PUBLISHED = 'published';\nconst ID = 'id';\nconst LINK = 'link';\nconst EMAIL = 'email';\nconst PASSWORD = 'password';\nconst LOGOUT = 'logout';\nconst LOGIN_FORM = 'loginForm';\nconst GRAPH_QL_ERROR = 'GraphQL error: ';\nconst HOVER = 'hover';\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\nconst CLICK = 'click';\nconst HIDE = 'hide';\nconst SHOW = 'show';\nconst VISIBLE = 'visible';\nconst INVISIBLE = 'invisible';\nconst HIDDEN = 'hidden';\nconst CLASS_MODIFIERS = {\n MODIFIER: 'modifier',\n GTM_CLASS_NAME: 'gtmClassName',\n HIDE: 'hide',\n DESKTOP: 'desktop',\n DEFAULT: 'default',\n TABLET: 'tablet',\n MOBILE: 'mobile',\n SIZE: 'size',\n BUTTON_TYPE: 'buttonType',\n ICON: 'icon',\n STYLE: 'style',\n WIDTH: 'width',\n STICKY: 'sticky',\n ALIGNMENT: 'alignment'\n};\nconst CAROUSEL = 'carousel';\nconst IMAGE = 'image';\nconst IMAGES = `${IMAGE}s`;\nconst IMAGE_WRAPPER = 'image__wrapper';\nconst END_ADUNIT = 'root';\nconst COUNT_CONTENT_HIERARCHIES = 'countContentHierarchies';\nconst GET_BANNER = 'getBanner';\nconst WIDTH_HEIGHT = 'width height';\nconst BANNER_QUERY_PROPS = `sizes { ${WIDTH_HEIGHT} viewports { ${WIDTH_HEIGHT} } }`;\nconst WAYPOINT_BOTTOM_OFFSET = '-200px';\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px',\n bottomOffset: '-200px'\n};\nconst HERO = 'hero';\nconst HERO_WRAPPER = 'hero__wrapper';\n\nconst GET_FILE_FALLBACK = {\n getFile: { url: '', data: {} }\n};\n\nconst WITH_BANNER = ' with-banner';\nconst BLANK_SPACE_UNICODE_STRING = '\\u00A0';\nconst ALL = 'ALL';\nconst COLUMN = 'column';\nconst ROW = 'row';\nconst GTM = 'gtm';\nconst GTM_DATA_ID_ATTR = 'data-gtm-id';\nconst CENTER = 'center';\nconst HALF = 'half';\nconst WIDE = 'wide';\nconst DESK = 'desk';\nconst TABLET = 'tablet';\nconst MOBILE = 'mobile';\nconst ALIGNMENT = 'alignment';\nconst PAGINATION_QUERY_CONST = '[page]';\nconst AZ_QUERY_CONST = '[aZ]';\nconst PB_QUERY_CONST = 'pb';\nconst NEXT_STRING = 'Next';\nconst PREVIOUS_STRING = 'Previous';\nconst LOAD_MORE_STRING = 'Load More';\nconst LOAD_MORE = 'loadMore';\nconst PAGINATION_DISPLAY_LIMIT = 10;\nconst PAGINATION_DIFFERENCE = 5;\n\nconst PROPS_TO_CHECK = [\n ['altText', 'alt'],\n ['caption', 'caption'],\n ['hrefUrl', 'hrefUrl'],\n ['credits', 'credits']\n];\n\nconst JW_PLAYER_TYPE_FILE = 'file';\nconst VIDEO_WRAPPER_CLASS_NAME = 'video__wrapper';\nconst BREAKPOINT_SIZES = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n xxl: '2xl'\n};\n\nconst MAX_BANNER_HEIGHT = 250;\nconst MIN_BANNER_HEIGHT = 90;\nconst PASSWORD_REGEX = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,}$/;\nconst PASSWORD_VALIDATION_MESSAGE =\n 'Must contain 8 or more characters with a mix of upper & lower case letters, numbers & symbols and no spaces';\nconst PASSWORD_CONFIRM_MESSAGE = 'Passwords must match';\nconst ALLOWED_BLOCK_TYPES = ['p', 'ul', 'ol'];\n\nconst PREHEADER_PROP = 'alternativePreHeader';\nconst HEADLINE_PROP = 'alternativeHeadline';\nconst AZ = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z'\n];\n\nconst AZ_AGGS = {\n aggs: {\n azCount: {\n terms: {\n script: \"doc['name.keyword'].getValue().substring(0,1).toUpperCase()\",\n size: 500\n }\n }\n },\n sort: [{ 'name.keyword': 'asc' }]\n};\nconst ALL_AZ_SORT = {\n sort: [\n {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"int charPos = params.letters.indexOf(doc['name.keyword'].value.substring(0,1).toUpperCase()); charPos > -1 ? charPos : 100\",\n params: {\n letters: AZ\n }\n },\n order: 'asc'\n }\n },\n { 'name.keyword': 'asc' }\n ]\n};\n\nconst SCROLL_OFFSET = process.env.BLAZE_SCROLL_OFFSET || 50;\n\nconst BANNER_LOADING = 'loading';\nconst BANNER_EMPTY = 'empty';\nconst BANNER_LOADED = 'loaded';\nconst ANCHOR_TAG = 'a';\nconst TARGET_BLANK = '_blank';\n\nconst DATA_SUMMARY_EMAIL_REGEX = /^([a-z0-9_\\.\\+-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/;\nconst DATA_SUMMARY_URL_REGEX = /(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\nconst DATA_SUMMARY_TEL_REGEX = /^\\+{0,1}[0-9\\(\\)\\.\\- \\/]{7,}$/; // note: very loose phone number match not for validation\n\nconst LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\n\nexport {\n BANNER_LOADING,\n BANNER_EMPTY,\n BANNER_LOADED,\n BLANK_SPACE_UNICODE_STRING,\n BOLD_TAG,\n BUTTON,\n BUTTON_ICON,\n ICON_BUTTON,\n AND,\n AND_OPERATOR,\n OR_OPERATOR,\n TEXT_SEARCH,\n SEARCH_PUBLISHED_CONTENT,\n SEARCH,\n SEARCH_TERM,\n RANGE,\n CHECKBOX,\n SELECT,\n KEYWORD,\n OR,\n DEFAULT_LIMIT,\n DEFAULT_OFFSET,\n FEATURED,\n SPONSORED,\n STRING,\n DATE,\n FULL,\n CHILD_PROPS_TO_USE,\n CATEGORY_ID,\n PUBLISHED,\n ID,\n LINK,\n CLASS_MODIFIERS,\n END_ADUNIT,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n BANNER_QUERY_PROPS,\n CAROUSEL,\n IMAGE,\n IMAGES,\n IMAGE_WRAPPER,\n IN_VIEW_CONFIG,\n GET_FILE_FALLBACK,\n HERO,\n HERO_WRAPPER,\n WITH_BANNER,\n ALL,\n COLUMN,\n ROW,\n GTM,\n GTM_DATA_ID_ATTR,\n PROPS_TO_CHECK,\n CENTER,\n HALF,\n WIDE,\n DESK,\n TABLET,\n MOBILE,\n ALIGNMENT,\n OBJECT,\n ON_CLICK,\n WAYPOINT_BOTTOM_OFFSET,\n JW_PLAYER_TYPE_FILE,\n CODE,\n VIDEO_WRAPPER_CLASS_NAME,\n PAGINATION_QUERY_CONST,\n PB_QUERY_CONST,\n INFINITE,\n NEXT_STRING,\n PREVIOUS_STRING,\n PAGINATION_DISPLAY_LIMIT,\n PAGINATION_DIFFERENCE,\n LOAD_MORE_STRING,\n LOAD_MORE,\n CLASSIC,\n BREAKPOINT_SIZES,\n EMAIL,\n PASSWORD,\n LOGOUT,\n MIN_BANNER_HEIGHT,\n MAX_BANNER_HEIGHT,\n GRAPH_QL_ERROR,\n HOVER,\n MOUSE_ENTER,\n MOUSE_LEAVE,\n CLICK,\n SHOW,\n HIDE,\n VISIBLE,\n INVISIBLE,\n MOBILE_WIDTH,\n HIDDEN,\n MENU_ITEM,\n LOGIN_FORM,\n PASSWORD_REGEX,\n PASSWORD_VALIDATION_MESSAGE,\n PASSWORD_CONFIRM_MESSAGE,\n ELEMENT,\n ALLOWED_BLOCK_TYPES,\n PREHEADER_PROP,\n HEADLINE_PROP,\n AZ_QUERY_CONST,\n AZ_AGGS,\n ALL_AZ_SORT,\n AZ,\n SCROLL_OFFSET,\n ANCHOR_TAG,\n TARGET_BLANK,\n DATA_SUMMARY_EMAIL_REGEX,\n DATA_SUMMARY_URL_REGEX,\n DATA_SUMMARY_TEL_REGEX,\n LIST_ITEM_LOCAL_KEY\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BOLD_TAG","BUTTON","CODE","BUTTON_ICON","ICON_BUTTON","AND","OR","AND_OPERATOR","OR_OPERATOR","TEXT_SEARCH","INFINITE","CLASSIC","SEARCH_PUBLISHED_CONTENT","SEARCH","SEARCH_TERM","RANGE","CHECKBOX","ELEMENT","MENU_ITEM","SUB_MENU","SELECT","ON_CLICK","KEYWORD","DEFAULT_LIMIT","DEFAULT_OFFSET","MOBILE_WIDTH","FEATURED","SPONSORED","STRING","OBJECT","DATE","FULL","CHILD_PROPS_TO_USE","CATEGORY_ID","PUBLISHED","ID","LINK","EMAIL","PASSWORD","LOGOUT","LOGIN_FORM","GRAPH_QL_ERROR","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDE","SHOW","VISIBLE","INVISIBLE","HIDDEN","CLASS_MODIFIERS","MODIFIER","GTM_CLASS_NAME","DESKTOP","DEFAULT","TABLET","MOBILE","SIZE","BUTTON_TYPE","ICON","STYLE","WIDTH","STICKY","ALIGNMENT","CAROUSEL","IMAGE","IMAGES","IMAGE_WRAPPER","END_ADUNIT","COUNT_CONTENT_HIERARCHIES","GET_BANNER","WIDTH_HEIGHT","BANNER_QUERY_PROPS","WAYPOINT_BOTTOM_OFFSET","IN_VIEW_CONFIG","once","offset","bottomOffset","HERO","HERO_WRAPPER","GET_FILE_FALLBACK","getFile","url","data","WITH_BANNER","BLANK_SPACE_UNICODE_STRING","ALL","COLUMN","ROW","GTM","GTM_DATA_ID_ATTR","CENTER","HALF","WIDE","DESK","PAGINATION_QUERY_CONST","AZ_QUERY_CONST","PB_QUERY_CONST","NEXT_STRING","PREVIOUS_STRING","LOAD_MORE_STRING","LOAD_MORE","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","PROPS_TO_CHECK","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","BREAKPOINT_SIZES","sm","md","lg","xl","xxl","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","PASSWORD_REGEX","PASSWORD_VALIDATION_MESSAGE","PASSWORD_CONFIRM_MESSAGE","ALLOWED_BLOCK_TYPES","PREHEADER_PROP","HEADLINE_PROP","AZ","AZ_AGGS","aggs","azCount","terms","script","size","sort","ALL_AZ_SORT","_script","type","lang","source","params","letters","order","SCROLL_OFFSET","process","env","BLAZE_SCROLL_OFFSET","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","ANCHOR_TAG","TARGET_BLANK","DATA_SUMMARY_EMAIL_REGEX","DATA_SUMMARY_URL_REGEX","DATA_SUMMARY_TEL_REGEX","LIST_ITEM_LOCAL_KEY"],"sources":["../../src/constants/index.js"],"sourcesContent":["const BOLD_TAG = 'b';\nconst BUTTON = 'button';\nconst CODE = 'code';\nconst BUTTON_ICON = 'button--icon';\nconst ICON_BUTTON = 'icon-button';\nconst AND = 'AND';\nconst OR = 'OR';\nconst AND_OPERATOR = 'must';\nconst OR_OPERATOR = 'should';\nconst TEXT_SEARCH = 'text-search';\nconst INFINITE = 'infinite';\nconst CLASSIC = 'classic';\nconst SEARCH_PUBLISHED_CONTENT = 'searchPublishedContent';\nconst SEARCH = 'search';\nconst SEARCH_TERM = 'search_term';\nconst RANGE = 'range';\nconst CHECKBOX = 'checkbox';\nconst ELEMENT = 'element';\nconst MENU_ITEM = 'menuitem';\nconst SUB_MENU = 'submenu';\nconst SELECT = 'select';\nconst ON_CLICK = 'onClick';\nconst KEYWORD = 'keyword';\nconst DEFAULT_LIMIT = 50;\nconst DEFAULT_OFFSET = 0;\nconst MOBILE_WIDTH = 768;\nconst FEATURED = 'featured';\nconst SPONSORED = 'sponsored';\nconst STRING = 'string';\nconst OBJECT = 'object';\nconst DATE = 'date';\nconst FULL = 'full';\nconst CHILD_PROPS_TO_USE = ['width'];\nconst CATEGORY_ID = 'categoryId';\nconst PUBLISHED = 'published';\nconst ID = 'id';\nconst LINK = 'link';\nconst EMAIL = 'email';\nconst PASSWORD = 'password';\nconst LOGOUT = 'logout';\nconst LOGIN_FORM = 'loginForm';\nconst GRAPH_QL_ERROR = 'GraphQL error: ';\nconst HOVER = 'hover';\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\nconst CLICK = 'click';\nconst HIDE = 'hide';\nconst SHOW = 'show';\nconst VISIBLE = 'visible';\nconst INVISIBLE = 'invisible';\nconst HIDDEN = 'hidden';\nconst CLASS_MODIFIERS = {\n MODIFIER: 'modifier',\n GTM_CLASS_NAME: 'gtmClassName',\n HIDE: 'hide',\n DESKTOP: 'desktop',\n DEFAULT: 'default',\n TABLET: 'tablet',\n MOBILE: 'mobile',\n SIZE: 'size',\n BUTTON_TYPE: 'buttonType',\n ICON: 'icon',\n STYLE: 'style',\n WIDTH: 'width',\n STICKY: 'sticky',\n ALIGNMENT: 'alignment'\n};\nconst CAROUSEL = 'carousel';\nconst IMAGE = 'image';\nconst IMAGES = `${IMAGE}s`;\nconst IMAGE_WRAPPER = 'image__wrapper';\nconst END_ADUNIT = 'root';\nconst COUNT_CONTENT_HIERARCHIES = 'countContentHierarchies';\nconst GET_BANNER = 'getBanner';\nconst WIDTH_HEIGHT = 'width height';\nconst BANNER_QUERY_PROPS = `sizes { ${WIDTH_HEIGHT} viewports { ${WIDTH_HEIGHT} } }`;\nconst WAYPOINT_BOTTOM_OFFSET = '-200px';\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px',\n bottomOffset: '-200px'\n};\nconst HERO = 'hero';\nconst HERO_WRAPPER = 'hero__wrapper';\n\nconst GET_FILE_FALLBACK = {\n getFile: { url: '', data: {} }\n};\n\nconst WITH_BANNER = ' with-banner';\nconst BLANK_SPACE_UNICODE_STRING = '\\u00A0';\nconst ALL = 'ALL';\nconst COLUMN = 'column';\nconst ROW = 'row';\nconst GTM = 'gtm';\nconst GTM_DATA_ID_ATTR = 'data-gtm-id';\nconst CENTER = 'center';\nconst HALF = 'half';\nconst WIDE = 'wide';\nconst DESK = 'desk';\nconst TABLET = 'tablet';\nconst MOBILE = 'mobile';\nconst ALIGNMENT = 'alignment';\nconst PAGINATION_QUERY_CONST = '[page]';\nconst AZ_QUERY_CONST = '[aZ]';\nconst PB_QUERY_CONST = 'pb';\nconst NEXT_STRING = 'Next';\nconst PREVIOUS_STRING = 'Previous';\nconst LOAD_MORE_STRING = 'Load More';\nconst LOAD_MORE = 'loadMore';\nconst PAGINATION_DISPLAY_LIMIT = 10;\nconst PAGINATION_DIFFERENCE = 5;\n\nconst PROPS_TO_CHECK = [\n ['altText', 'alt'],\n ['caption', 'caption'],\n ['hrefUrl', 'hrefUrl'],\n ['credits', 'credits']\n];\n\nconst JW_PLAYER_TYPE_FILE = 'file';\nconst VIDEO_WRAPPER_CLASS_NAME = 'video__wrapper';\nconst BREAKPOINT_SIZES = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n xxl: '2xl'\n};\n\nconst MAX_BANNER_HEIGHT = 250;\nconst MIN_BANNER_HEIGHT = 90;\nconst PASSWORD_REGEX = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,}$/;\nconst PASSWORD_VALIDATION_MESSAGE =\n 'Must contain 8 or more characters with a mix of upper & lower case letters, numbers & symbols and no spaces';\nconst PASSWORD_CONFIRM_MESSAGE = 'Passwords must match';\nconst ALLOWED_BLOCK_TYPES = ['p', 'ul', 'ol'];\n\nconst PREHEADER_PROP = 'alternativePreHeader';\nconst HEADLINE_PROP = 'alternativeHeadline';\nconst AZ = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z'\n];\n\nconst AZ_AGGS = {\n aggs: {\n azCount: {\n terms: {\n script: \"doc['name.keyword'].getValue().substring(0,1).toUpperCase()\",\n size: 500\n }\n }\n },\n sort: [{ 'name.keyword': 'asc' }]\n};\nconst ALL_AZ_SORT = {\n sort: [\n {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"int charPos = params.letters.indexOf(doc['name.keyword'].value.substring(0,1).toUpperCase()); charPos > -1 ? charPos : 100\",\n params: {\n letters: AZ\n }\n },\n order: 'asc'\n }\n },\n { 'name.keyword': 'asc' }\n ]\n};\n\nconst SCROLL_OFFSET = process.env.BLAZE_SCROLL_OFFSET || 50;\n\nconst BANNER_LOADING = 'loading';\nconst BANNER_EMPTY = 'empty';\nconst BANNER_LOADED = 'loaded';\nconst ANCHOR_TAG = 'a';\nconst TARGET_BLANK = '_blank';\n\nconst DATA_SUMMARY_EMAIL_REGEX = /^([a-z0-9_\\.\\+-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/;\nconst DATA_SUMMARY_URL_REGEX = /(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\nconst DATA_SUMMARY_TEL_REGEX = /^\\+{0,1}[0-9\\(\\)\\.\\- \\/]{7,}$/; // note: very loose phone number match not for validation\n\nconst LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\n\nexport {\n BANNER_LOADING,\n BANNER_EMPTY,\n BANNER_LOADED,\n BLANK_SPACE_UNICODE_STRING,\n BOLD_TAG,\n BUTTON,\n BUTTON_ICON,\n ICON_BUTTON,\n AND,\n AND_OPERATOR,\n OR_OPERATOR,\n TEXT_SEARCH,\n SEARCH_PUBLISHED_CONTENT,\n SEARCH,\n SEARCH_TERM,\n RANGE,\n CHECKBOX,\n SELECT,\n KEYWORD,\n OR,\n DEFAULT_LIMIT,\n DEFAULT_OFFSET,\n FEATURED,\n SPONSORED,\n STRING,\n DATE,\n FULL,\n CHILD_PROPS_TO_USE,\n CATEGORY_ID,\n PUBLISHED,\n ID,\n LINK,\n CLASS_MODIFIERS,\n END_ADUNIT,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n BANNER_QUERY_PROPS,\n CAROUSEL,\n IMAGE,\n IMAGES,\n IMAGE_WRAPPER,\n IN_VIEW_CONFIG,\n GET_FILE_FALLBACK,\n HERO,\n HERO_WRAPPER,\n WITH_BANNER,\n ALL,\n COLUMN,\n ROW,\n GTM,\n GTM_DATA_ID_ATTR,\n PROPS_TO_CHECK,\n CENTER,\n HALF,\n WIDE,\n DESK,\n TABLET,\n MOBILE,\n ALIGNMENT,\n OBJECT,\n ON_CLICK,\n WAYPOINT_BOTTOM_OFFSET,\n JW_PLAYER_TYPE_FILE,\n CODE,\n VIDEO_WRAPPER_CLASS_NAME,\n PAGINATION_QUERY_CONST,\n PB_QUERY_CONST,\n INFINITE,\n NEXT_STRING,\n PREVIOUS_STRING,\n PAGINATION_DISPLAY_LIMIT,\n PAGINATION_DIFFERENCE,\n LOAD_MORE_STRING,\n LOAD_MORE,\n CLASSIC,\n BREAKPOINT_SIZES,\n EMAIL,\n PASSWORD,\n LOGOUT,\n MIN_BANNER_HEIGHT,\n MAX_BANNER_HEIGHT,\n GRAPH_QL_ERROR,\n HOVER,\n MOUSE_ENTER,\n MOUSE_LEAVE,\n CLICK,\n SHOW,\n HIDE,\n VISIBLE,\n INVISIBLE,\n MOBILE_WIDTH,\n HIDDEN,\n MENU_ITEM,\n SUB_MENU,\n LOGIN_FORM,\n PASSWORD_REGEX,\n PASSWORD_VALIDATION_MESSAGE,\n PASSWORD_CONFIRM_MESSAGE,\n ELEMENT,\n ALLOWED_BLOCK_TYPES,\n PREHEADER_PROP,\n HEADLINE_PROP,\n AZ_QUERY_CONST,\n AZ_AGGS,\n ALL_AZ_SORT,\n AZ,\n SCROLL_OFFSET,\n ANCHOR_TAG,\n TARGET_BLANK,\n DATA_SUMMARY_EMAIL_REGEX,\n DATA_SUMMARY_URL_REGEX,\n DATA_SUMMARY_TEL_REGEX,\n LIST_ITEM_LOCAL_KEY\n};\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ const appendGtmClassName = (settings, childComponents) => {
13
13
  children: [, compChildren]
14
14
  }
15
15
  } = childComponents;
16
+ if (!compChildren || !Array.isArray(compChildren)) return settings;
16
17
  const gtmClassNames = compChildren.filter(({
17
18
  props: {
18
19
  component: {
@@ -1 +1 @@
1
- {"version":3,"file":"append-gtm-classname.js","names":["GTM","appendGtmClassName","settings","childComponents","Array","isArray","props","children","compChildren","gtmClassNames","filter","component","type","map","gtmClassName","Boolean","join","length","modifier","updatedModifier","trim"],"sources":["../../../src/hooks/helpers/append-gtm-classname.js"],"sourcesContent":["import { GTM } from '../../constants';\n\nconst appendGtmClassName = (settings, childComponents) => {\n if (!childComponents || Array.isArray(childComponents)) return settings;\n const {\n props: {\n children: [, compChildren]\n }\n } = childComponents;\n const gtmClassNames = compChildren\n .filter(\n ({\n props: {\n component: { type }\n }\n }) => type === GTM\n )\n .map(\n ({\n props: {\n component: {\n settings: { gtmClassName }\n }\n }\n }) => gtmClassName\n )\n .filter(Boolean)\n .join(' ');\n if (!gtmClassNames.length) return settings;\n const { modifier } = settings;\n const updatedModifier = `${modifier || ''} ${gtmClassNames}`.trim();\n\n return { ...settings, modifier: updatedModifier };\n};\n\nexport default appendGtmClassName;\n"],"mappings":";;;;;;AAAA,SAASA,GAAT,QAAoB,iBAApB;;AAEA,MAAMC,kBAAkB,GAAG,CAACC,QAAD,EAAWC,eAAX,KAA+B;EACxD,IAAI,CAACA,eAAD,IAAoBC,KAAK,CAACC,OAAN,CAAcF,eAAd,CAAxB,EAAwD,OAAOD,QAAP;EACxD,MAAM;IACJI,KAAK,EAAE;MACLC,QAAQ,EAAE,GAAGC,YAAH;IADL;EADH,IAIFL,eAJJ;EAKA,MAAMM,aAAa,GAAGD,YAAY,CAC/BE,MADmB,CAElB,CAAC;IACCJ,KAAK,EAAE;MACLK,SAAS,EAAE;QAAEC;MAAF;IADN;EADR,CAAD,KAIMA,IAAI,KAAKZ,GANG,EAQnBa,GARmB,CASlB,CAAC;IACCP,KAAK,EAAE;MACLK,SAAS,EAAE;QACTT,QAAQ,EAAE;UAAEY;QAAF;MADD;IADN;EADR,CAAD,KAMMA,YAfY,EAiBnBJ,MAjBmB,CAiBZK,OAjBY,EAkBnBC,IAlBmB,CAkBd,GAlBc,CAAtB;EAmBA,IAAI,CAACP,aAAa,CAACQ,MAAnB,EAA2B,OAAOf,QAAP;EAC3B,MAAM;IAAEgB;EAAF,IAAehB,QAArB;EACA,MAAMiB,eAAe,GAAI,GAAED,QAAQ,IAAI,EAAG,IAAGT,aAAc,EAAnC,CAAqCW,IAArC,EAAxB;EAEA,uCAAYlB,QAAZ;IAAsBgB,QAAQ,EAAEC;EAAhC;AACD,CA/BD;;AAiCA,eAAelB,kBAAf"}
1
+ {"version":3,"file":"append-gtm-classname.js","names":["GTM","appendGtmClassName","settings","childComponents","Array","isArray","props","children","compChildren","gtmClassNames","filter","component","type","map","gtmClassName","Boolean","join","length","modifier","updatedModifier","trim"],"sources":["../../../src/hooks/helpers/append-gtm-classname.js"],"sourcesContent":["import { GTM } from '../../constants';\n\nconst appendGtmClassName = (settings, childComponents) => {\n if (!childComponents || Array.isArray(childComponents)) return settings;\n const {\n props: {\n children: [, compChildren]\n }\n } = childComponents;\n\n if (!compChildren || !Array.isArray(compChildren)) return settings;\n\n const gtmClassNames = compChildren\n .filter(\n ({\n props: {\n component: { type }\n }\n }) => type === GTM\n )\n .map(\n ({\n props: {\n component: {\n settings: { gtmClassName }\n }\n }\n }) => gtmClassName\n )\n .filter(Boolean)\n .join(' ');\n if (!gtmClassNames.length) return settings;\n const { modifier } = settings;\n const updatedModifier = `${modifier || ''} ${gtmClassNames}`.trim();\n\n return { ...settings, modifier: updatedModifier };\n};\n\nexport default appendGtmClassName;\n"],"mappings":";;;;;;AAAA,SAASA,GAAT,QAAoB,iBAApB;;AAEA,MAAMC,kBAAkB,GAAG,CAACC,QAAD,EAAWC,eAAX,KAA+B;EACxD,IAAI,CAACA,eAAD,IAAoBC,KAAK,CAACC,OAAN,CAAcF,eAAd,CAAxB,EAAwD,OAAOD,QAAP;EACxD,MAAM;IACJI,KAAK,EAAE;MACLC,QAAQ,EAAE,GAAGC,YAAH;IADL;EADH,IAIFL,eAJJ;EAMA,IAAI,CAACK,YAAD,IAAiB,CAACJ,KAAK,CAACC,OAAN,CAAcG,YAAd,CAAtB,EAAmD,OAAON,QAAP;EAEnD,MAAMO,aAAa,GAAGD,YAAY,CAC/BE,MADmB,CAElB,CAAC;IACCJ,KAAK,EAAE;MACLK,SAAS,EAAE;QAAEC;MAAF;IADN;EADR,CAAD,KAIMA,IAAI,KAAKZ,GANG,EAQnBa,GARmB,CASlB,CAAC;IACCP,KAAK,EAAE;MACLK,SAAS,EAAE;QACTT,QAAQ,EAAE;UAAEY;QAAF;MADD;IADN;EADR,CAAD,KAMMA,YAfY,EAiBnBJ,MAjBmB,CAiBZK,OAjBY,EAkBnBC,IAlBmB,CAkBd,GAlBc,CAAtB;EAmBA,IAAI,CAACP,aAAa,CAACQ,MAAnB,EAA2B,OAAOf,QAAP;EAC3B,MAAM;IAAEgB;EAAF,IAAehB,QAArB;EACA,MAAMiB,eAAe,GAAI,GAAED,QAAQ,IAAI,EAAG,IAAGT,aAAc,EAAnC,CAAqCW,IAArC,EAAxB;EAEA,uCAAYlB,QAAZ;IAAsBgB,QAAQ,EAAEC;EAAhC;AACD,CAlCD;;AAoCA,eAAelB,kBAAf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.124.0-alpha.30",
3
+ "version": "0.124.0-alpha.31",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -31,7 +31,7 @@
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
32
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.2",
33
33
  "@blaze-cms/nextjs-components": "^0.124.0-alpha.30",
34
- "@blaze-cms/plugin-search-ui": "^0.121.0",
34
+ "@blaze-cms/plugin-search-ui": "^0.124.0-alpha.21",
35
35
  "@blaze-cms/setup-ui": "^0.92.0",
36
36
  "@blaze-cms/utils": "^0.118.0",
37
37
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
@@ -85,5 +85,5 @@
85
85
  "lib/*",
86
86
  "lib-es/*"
87
87
  ],
88
- "gitHead": "90e01c782864a7ffe728478eaddcdee3791c8d07"
88
+ "gitHead": "96168ac6a7c5f4afdb55e4dd523179d73215e523"
89
89
  }
@@ -1,9 +1,11 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import BlazeButton from '@blaze-react/button';
4
+ import { useRouter } from 'next/router';
4
5
  import { MdMenu, MdClose } from 'react-icons/md';
5
6
  import { useCheckMobileScreen } from '../../hooks';
6
7
  import { HIDDEN } from '../../constants';
8
+ import MenuContext from './MenuContext';
7
9
 
8
10
  const Menu = ({
9
11
  children,
@@ -24,9 +26,22 @@ const Menu = ({
24
26
  closeIconModifier,
25
27
  ...rest
26
28
  }) => {
29
+ const router = useRouter();
27
30
  const isMobile = useCheckMobileScreen();
28
31
  const [showMobileMenu, setShowMobileMenu] = useState(false);
29
32
 
33
+ useEffect(
34
+ () => {
35
+ const handleRouteChange = () => setShowMobileMenu(false);
36
+ router.events.on('routeChangeStart', handleRouteChange);
37
+
38
+ return () => {
39
+ router.events.off('routeChangeStart', handleRouteChange);
40
+ };
41
+ },
42
+ [router.events]
43
+ );
44
+
30
45
  const shouldDisplayCollapsed = collapse && isMobile;
31
46
 
32
47
  const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;
@@ -42,47 +57,37 @@ const Menu = ({
42
57
  const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';
43
58
 
44
59
  return (
45
- <div className="menu--wrapper">
46
- {collapse && (
47
- <div className="menu--mobile-wrapper">
48
- <div
49
- className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>
50
- <BlazeButton
51
- className={mobileButtonClass}
52
- onClick={() => setShowMobileMenu(!showMobileMenu)}>
53
- <i>
54
- {showMobileMenu ? (
55
- <MdClose className={closeIconModifier} />
56
- ) : (
57
- <MdMenu className={hamburgerIconModifier} />
58
- )}
59
- </i>
60
- </BlazeButton>
60
+ <MenuContext.Provider value={{ showMobileMenu }}>
61
+ <div className="menu--wrapper">
62
+ {collapse && (
63
+ <div className="menu--mobile-wrapper">
64
+ <div
65
+ className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>
66
+ <BlazeButton
67
+ className={mobileButtonClass}
68
+ onClick={() => setShowMobileMenu(!showMobileMenu)}>
69
+ <i>
70
+ {showMobileMenu ? (
71
+ <MdClose className={closeIconModifier} />
72
+ ) : (
73
+ <MdMenu className={hamburgerIconModifier} />
74
+ )}
75
+ </i>
76
+ </BlazeButton>
77
+ </div>
61
78
  </div>
62
- </div>
63
- )}
64
- {logoOnMobile && (
65
- <a href="/">
66
- <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />
67
- </a>
68
- )}
79
+ )}
80
+ {logoOnMobile &&
81
+ !showMobileMenu && (
82
+ <a href="/">
83
+ <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />
84
+ </a>
85
+ )}
69
86
 
70
- <div className="menu--desktop-wrapper">
71
- <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>
72
- {logoOnDesktop &&
73
- logoOnDesktopAlignment === 'left' && (
74
- <a href="/" className="menu--desktop__logo-wrapper">
75
- <img
76
- src={logoOnMobileUrl}
77
- alt={logoOnMobileAlt}
78
- className={logoOnDesktopModifier}
79
- />
80
- </a>
81
- )}
82
- {children}
83
- {logoOnDesktop &&
84
- logoOnDesktopAlignment === 'right' && (
85
- <a href="/" className="menu--desktop__logo-wrapper">
87
+ <div className="menu--desktop-wrapper">
88
+ <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>
89
+ {logoOnDesktop && (
90
+ <a href="/" className="">
86
91
  <img
87
92
  src={logoOnMobileUrl}
88
93
  alt={logoOnMobileAlt}
@@ -90,9 +95,11 @@ const Menu = ({
90
95
  />
91
96
  </a>
92
97
  )}
93
- </ul>
98
+ {children}
99
+ </ul>
100
+ </div>
94
101
  </div>
95
- </div>
102
+ </MenuContext.Provider>
96
103
  );
97
104
  };
98
105
 
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ const MenuContext = React.createContext({ showMobileMenu: false });
4
+
5
+ export default MenuContext;
@@ -1,35 +1,60 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState, useContext, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';
3
+ import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
4
+ import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
4
5
  import { hasChildren } from '../../helpers';
5
6
  import BlazeLink from '../BlazeLink';
7
+ import MenuContext from '../Menu/MenuContext';
6
8
 
7
9
  const MenuItem = ({ children, eventType, text, modifier, url }) => {
8
10
  const [displayChildren, setDisplayChildren] = useState(false);
11
+ const { showMobileMenu } = useContext(MenuContext);
12
+
13
+ useEffect(
14
+ () => {
15
+ if (!showMobileMenu) setDisplayChildren(false);
16
+ },
17
+ [showMobileMenu]
18
+ );
19
+
9
20
  const isHoverEvent = eventType === HOVER;
10
21
  const childrenDisplayClass = displayChildren ? '' : HIDDEN;
11
22
 
12
23
  const handleItemEvent = ({ type }) => {
13
24
  if (isHoverEvent) {
14
- if (type === MOUSE_ENTER) setDisplayChildren(true);
15
- if (type === MOUSE_LEAVE) setDisplayChildren(false);
16
- }
17
- if (type === CLICK && eventType === CLICK && !url) {
18
- setDisplayChildren(!displayChildren);
25
+ if (type === MOUSE_ENTER) {
26
+ setDisplayChildren(true);
27
+ }
28
+ if (type === MOUSE_LEAVE) {
29
+ setDisplayChildren(false);
30
+ }
19
31
  }
20
32
  };
21
33
  const hasValidChildren = hasChildren(children);
22
34
 
23
35
  return (
24
36
  <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>
25
- {url ? (
26
- <BlazeLink href={url}>{text}</BlazeLink>
27
- ) : (
28
- <span role="button" onClick={handleItemEvent}>
29
- {text}
30
- </span>
37
+ <div className="menu--item--link">
38
+ {url ? (
39
+ <BlazeLink href={url}>{text}</BlazeLink>
40
+ ) : (
41
+ <span role="button" onClick={handleItemEvent}>
42
+ {text}
43
+ </span>
44
+ )}
45
+ {hasValidChildren && (
46
+ <i
47
+ role="button"
48
+ className="menu--item--link--icon"
49
+ onClick={() => setDisplayChildren(!displayChildren)}>
50
+ {displayChildren ? <FaChevronUp /> : <FaChevronDown />}
51
+ </i>
52
+ )}
53
+ </div>
54
+
55
+ {hasValidChildren && (
56
+ <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>
31
57
  )}
32
- {hasValidChildren && <div className={childrenDisplayClass}>{children}</div>}
33
58
  </li>
34
59
  );
35
60
  };
@@ -17,6 +17,7 @@ const RANGE = 'range';
17
17
  const CHECKBOX = 'checkbox';
18
18
  const ELEMENT = 'element';
19
19
  const MENU_ITEM = 'menuitem';
20
+ const SUB_MENU = 'submenu';
20
21
  const SELECT = 'select';
21
22
  const ON_CLICK = 'onClick';
22
23
  const KEYWORD = 'keyword';
@@ -305,6 +306,7 @@ export {
305
306
  MOBILE_WIDTH,
306
307
  HIDDEN,
307
308
  MENU_ITEM,
309
+ SUB_MENU,
308
310
  LOGIN_FORM,
309
311
  PASSWORD_REGEX,
310
312
  PASSWORD_VALIDATION_MESSAGE,
@@ -7,6 +7,9 @@ const appendGtmClassName = (settings, childComponents) => {
7
7
  children: [, compChildren]
8
8
  }
9
9
  } = childComponents;
10
+
11
+ if (!compChildren || !Array.isArray(compChildren)) return settings;
12
+
10
13
  const gtmClassNames = compChildren
11
14
  .filter(
12
15
  ({
@@ -3,16 +3,22 @@ import { render } from '@blaze-cms/tools/test-helpers/test-functions';
3
3
  import '@testing-library/jest-dom/extend-expect';
4
4
  import Menu from '../../../../../src/components/Menu';
5
5
 
6
- jest.mock('../../../../../src/components/SearchContent', () => () => 'Search Component');
6
+ jest.mock('next/router', () => ({
7
+ useRouter: jest.fn(() => ({ events: { on: jest.fn(), off: jest.fn() } }))
8
+ }));
7
9
 
8
10
  const props = {
9
11
  collapse: false,
10
12
  modifier: 'menu-mod',
11
- children: [<div className="child_1">only child</div>]
13
+ children: [
14
+ <div className="child_1" key="1">
15
+ only child
16
+ </div>
17
+ ]
12
18
  };
13
19
 
14
20
  describe('Menu component', () => {
15
- it.skip('should render without throwing an error and match snapshot', () => {
21
+ it('should render without throwing an error and match snapshot', () => {
16
22
  const { asFragment } = render(Menu, props);
17
23
  expect(asFragment()).toMatchSnapshot();
18
24
  });
@@ -8,7 +8,7 @@ const props = {
8
8
  text: 'Item 1',
9
9
  modifier: 'menu-item-mod',
10
10
  children: [
11
- <div className="child_1" component={{ type: 'menuitem' }}>
11
+ <div className="child_1" key="1" component={{ type: 'menuitem' }}>
12
12
  some child
13
13
  </div>
14
14
  ]
@@ -15,7 +15,11 @@ describe('SubMenu component', () => {
15
15
  it('should render children if passed', () => {
16
16
  const { container, asFragment } = render(SubMenu, {
17
17
  modifier: '',
18
- children: [<div className="sub-menu-child">some stuff</div>]
18
+ children: [
19
+ <div className="sub-menu-child" key="1">
20
+ some stuff
21
+ </div>
22
+ ]
19
23
  });
20
24
  expect(asFragment()).toMatchSnapshot();
21
25
  expect(container.firstChild.firstChild).toContainHTML('div');
@@ -5,13 +5,35 @@ exports[`MenuItem component should render link if url is passed 1`] = `
5
5
  <li
6
6
  class="menu-item-mod"
7
7
  >
8
- <a
9
- href="/somewhere"
8
+ <div
9
+ class="menu--item--link"
10
10
  >
11
- Item 1
12
- </a>
11
+ <a
12
+ href="/somewhere"
13
+ >
14
+ Item 1
15
+ </a>
16
+ <i
17
+ class="menu--item--link--icon"
18
+ role="button"
19
+ >
20
+ <svg
21
+ fill="currentColor"
22
+ height="1em"
23
+ stroke="currentColor"
24
+ stroke-width="0"
25
+ viewBox="0 0 448 512"
26
+ width="1em"
27
+ xmlns="http://www.w3.org/2000/svg"
28
+ >
29
+ <path
30
+ d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"
31
+ />
32
+ </svg>
33
+ </i>
34
+ </div>
13
35
  <div
14
- class="hidden"
36
+ class="menu--item-children hidden"
15
37
  >
16
38
  <div
17
39
  class="child_1"
@@ -29,13 +51,35 @@ exports[`MenuItem component should render without throwing an error and match sn
29
51
  <li
30
52
  class="menu-item-mod"
31
53
  >
32
- <span
33
- role="button"
54
+ <div
55
+ class="menu--item--link"
34
56
  >
35
- Item 1
36
- </span>
57
+ <span
58
+ role="button"
59
+ >
60
+ Item 1
61
+ </span>
62
+ <i
63
+ class="menu--item--link--icon"
64
+ role="button"
65
+ >
66
+ <svg
67
+ fill="currentColor"
68
+ height="1em"
69
+ stroke="currentColor"
70
+ stroke-width="0"
71
+ viewBox="0 0 448 512"
72
+ width="1em"
73
+ xmlns="http://www.w3.org/2000/svg"
74
+ >
75
+ <path
76
+ d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"
77
+ />
78
+ </svg>
79
+ </i>
80
+ </div>
37
81
  <div
38
- class="hidden"
82
+ class="menu--item-children hidden"
39
83
  >
40
84
  <div
41
85
  class="child_1"