@blaze-cms/react-page-builder 0.125.0-alpha.13 → 0.125.0-alpha.15

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 (56) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +5 -3
  3. package/example.env +1 -0
  4. package/lib/components/Card/Card.js +22 -3
  5. package/lib/components/Card/Card.js.map +1 -1
  6. package/lib/components/Card/constants.js +3 -1
  7. package/lib/components/Card/constants.js.map +1 -1
  8. package/lib/components/ContentGroup/ContentGroup.js +29 -0
  9. package/lib/components/ContentGroup/ContentGroup.js.map +1 -0
  10. package/lib/components/ContentGroup/ContentGroupTabs.js +94 -0
  11. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  12. package/lib/components/ContentGroup/index.js +12 -0
  13. package/lib/components/ContentGroup/index.js.map +1 -0
  14. package/lib/components/ContentGroupSection/ContentGroupSection.js +30 -0
  15. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  16. package/lib/components/ContentGroupSection/index.js +12 -0
  17. package/lib/components/ContentGroupSection/index.js.map +1 -0
  18. package/lib/components/index.js +10 -0
  19. package/lib/components/index.js.map +1 -1
  20. package/lib/hooks/helpers/get-banners-by-type.js +1 -1
  21. package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
  22. package/lib-es/components/Card/Card.js +19 -3
  23. package/lib-es/components/Card/Card.js.map +1 -1
  24. package/lib-es/components/Card/constants.js +2 -1
  25. package/lib-es/components/Card/constants.js.map +1 -1
  26. package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
  27. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
  28. package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
  29. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  30. package/lib-es/components/ContentGroup/index.js +3 -0
  31. package/lib-es/components/ContentGroup/index.js.map +1 -0
  32. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
  33. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  34. package/lib-es/components/ContentGroupSection/index.js +3 -0
  35. package/lib-es/components/ContentGroupSection/index.js.map +1 -0
  36. package/lib-es/components/index.js +3 -1
  37. package/lib-es/components/index.js.map +1 -1
  38. package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
  39. package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/components/Card/Card.js +24 -2
  42. package/src/components/Card/constants.js +2 -1
  43. package/src/components/ContentGroup/ContentGroup.js +17 -0
  44. package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
  45. package/src/components/ContentGroup/index.js +3 -0
  46. package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
  47. package/src/components/ContentGroupSection/index.js +3 -0
  48. package/src/components/index.js +7 -1
  49. package/src/hooks/helpers/get-banners-by-type.js +1 -1
  50. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
  51. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
  52. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
  53. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
  54. package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
  55. package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
  56. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
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.125.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.14...v0.125.0-alpha.15) (2022-11-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * added link handler to card ([#3692](https://github.com/thebyte9/blaze/issues/3692)) ([d7c003d](https://github.com/thebyte9/blaze/commit/d7c003d85e4e8fba4c7707a61ea33cb9ac86fceb))
12
+
13
+
14
+ ### Features
15
+
16
+ * GroupContent components ([#3678](https://github.com/thebyte9/blaze/issues/3678)) ([b6f5c7e](https://github.com/thebyte9/blaze/commit/b6f5c7e6e5a03f2322f3d3c1568c9d42b33ede45))
17
+
18
+
19
+
20
+
21
+
22
+ # [0.125.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.13...v0.125.0-alpha.14) (2022-10-25)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
25
+
26
+
27
+
28
+
29
+
6
30
  # [0.125.0-alpha.13](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.12...v0.125.0-alpha.13) (2022-10-24)
7
31
 
8
32
 
package/README.md CHANGED
@@ -99,9 +99,9 @@ _Source_ for checking ads https://dfpgpt.appspot.com/.
99
99
 
100
100
  ## Item List components
101
101
  There are three components related to item lists
102
- - ItemListButton: add/remove items from list
103
- - ItemListCounter: shows a counter of items in a list
104
- - ItemListNew: Clears the stored local list
102
+ - itemListButton: add/remove items from list
103
+ - itemListCounter: shows a counter of items in a list
104
+ - itemListNew: Clears the stored local list
105
105
 
106
106
  List components are link by the "listName" property and when a new list is created the id of the list is stored in local storage.
107
107
 
@@ -373,3 +373,5 @@ after: ITEM ITEM _BANNER_ ITEM ITEM ITEM _BANNER_ ITEM ITEM _BANNER_ ITEM ITEM I
373
373
  | BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE | Render legacy texblock component wrapper | false |
374
374
  | BLAZE_SCROLL_OFFSET | Offest to use when scrolling after an event. Can be set if there are sticky elements on the page to take them into account | false |
375
375
  | BLAZE_PB_SEARCH_FILETER_AGG_SIZE | Override default size property for search filter aggregations | 500 |
376
+ | BLAZE_PB_ADD_CLICK_TO_CARDS | Add click handler to card parent | false |
377
+
package/example.env CHANGED
@@ -2,3 +2,4 @@ JW_PLAYER_KEY'=UVQWMA4o-kGWxh33Q'
2
2
  BLAZE_SCROLL_OFFSET=0
3
3
  BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE=false
4
4
  BLAZE_PB_SEARCH_FILETER_AGG_SIZE=500
5
+ BLAZE_PB_ADD_CLICK_TO_CARDS=true
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.array.iterator.js");
4
- require("core-js/modules/es.object.to-string.js");
5
4
  require("core-js/modules/es.string.iterator.js");
6
5
  require("core-js/modules/es.weak-map.js");
7
6
  require("core-js/modules/web.dom-collections.iterator.js");
@@ -15,9 +14,13 @@ Object.defineProperty(exports, "__esModule", {
15
14
  exports["default"] = void 0;
16
15
  require("core-js/modules/es.function.name.js");
17
16
  require("core-js/modules/es.array.concat.js");
17
+ require("core-js/modules/es.array.find.js");
18
+ require("core-js/modules/es.object.to-string.js");
18
19
  require("core-js/modules/es.array.map.js");
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
21
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
20
22
  var _react = _interopRequireWildcard(require("react"));
23
+ var _router = require("next/router");
21
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
22
25
  var _BlazeLink = _interopRequireDefault(require("../BlazeLink"));
23
26
  var _ClickWrapper = _interopRequireDefault(require("../ClickWrapper"));
@@ -56,6 +59,7 @@ var Card = function Card(_ref) {
56
59
  gridModifier = _ref.gridModifier,
57
60
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
58
61
  (0, _helpers.updateChildrensParent)(cardChildren, id, entity);
62
+ var router = (0, _router.useRouter)();
59
63
  var _getImageDefinedProps = getImageDefinedProps({
60
64
  image: image,
61
65
  displayThumbnail: displayThumbnail
@@ -93,9 +97,24 @@ var Card = function Card(_ref) {
93
97
  var classNameWithModifiers = (0, _helpers.getModifiers)(_constants.CARD_STRING, modifiers);
94
98
  var contentWrapperModifier = "".concat((0, _helpers.getModifiers)('card__content-wrapper', modifiers), " ").concat(enableOverlay && enableCarousel ? overlayModifier : '');
95
99
  var titleWrapperModifier = "".concat((0, _helpers.getModifiers)('card__title', modifiers), " ").concat(enableOverlay && enableCarousel ? titleOverlayModifier : '');
96
- return /*#__PURE__*/_react["default"].createElement(Wrapper, wrapperProps, /*#__PURE__*/_react["default"].createElement("div", {
100
+ var handleCardClick = function handleCardClick(e) {
101
+ if (!url) return;
102
+ var clickEventTag = e.target.tagName.toLowerCase();
103
+ var clickEventRole = e.target.role;
104
+ var shouldTriggerRouteChange = clickEventRole !== 'button' && !_constants.CARD_CHILDREN_WITH_LINKS.find(function (childTag) {
105
+ return childTag === clickEventTag;
106
+ });
107
+ if (shouldTriggerRouteChange) router.push("/Resolver", url);
108
+ };
109
+
110
+ // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
111
+ var clickProps = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS ? {
112
+ onClick: handleCardClick,
113
+ role: 'button'
114
+ } : {};
115
+ return /*#__PURE__*/_react["default"].createElement(Wrapper, wrapperProps, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
97
116
  className: classNameWithModifiers
98
- }, shouldDisplayThumbnail && /*#__PURE__*/_react["default"].createElement("div", {
117
+ }, clickProps), shouldDisplayThumbnail && /*#__PURE__*/_react["default"].createElement("div", {
99
118
  className: (0, _helpers.getModifiers)('card__image', modifiers)
100
119
  }, /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
101
120
  gtmId: gtmId,
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","updateChildrensParent","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","titleWrapperModifier","length","map","prop","i","dynamicKey","propModifier","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","getPublishedListingUrl","sponsored","featured","push"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","updateChildrensParent","router","useRouter","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","CARD_CHILDREN_WITH_LINKS","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","length","map","prop","i","dynamicKey","propModifier","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","getPublishedListingUrl","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
@@ -4,7 +4,9 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.CARD_STRING = void 0;
7
+ exports.CARD_STRING = exports.CARD_CHILDREN_WITH_LINKS = void 0;
8
8
  var CARD_STRING = 'card';
9
9
  exports.CARD_STRING = CARD_STRING;
10
+ var CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];
11
+ exports.CARD_CHILDREN_WITH_LINKS = CARD_CHILDREN_WITH_LINKS;
10
12
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CARD_STRING"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\n\nexport { CARD_STRING };\n"],"mappings":";;;;;;;AAAA,IAAMA,WAAW,GAAG,MAAM;AAAC"}
1
+ {"version":3,"file":"constants.js","names":["CARD_STRING","CARD_CHILDREN_WITH_LINKS"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\nconst CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];\n\nexport { CARD_STRING, CARD_CHILDREN_WITH_LINKS };\n"],"mappings":";;;;;;;AAAA,IAAMA,WAAW,GAAG,MAAM;AAAC;AAC3B,IAAMC,wBAAwB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;AAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _ContentGroupTabs = _interopRequireDefault(require("./ContentGroupTabs"));
14
+ var _excluded = ["contentType"];
15
+ var ContentGroup = function ContentGroup(_ref) {
16
+ var contentType = _ref.contentType,
17
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
18
+ if (contentType === 'tab' || contentType === 'sidepanel') return /*#__PURE__*/_react["default"].createElement(_ContentGroupTabs["default"], (0, _extends2["default"])({
19
+ contentType: contentType
20
+ }, props));
21
+ return '';
22
+ };
23
+ ContentGroup.propTypes = {
24
+ contentType: _propTypes["default"].string.isRequired
25
+ };
26
+ ContentGroup.defaultProps = {};
27
+ var _default = ContentGroup;
28
+ exports["default"] = _default;
29
+ //# sourceMappingURL=ContentGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroup.js","names":["ContentGroup","contentType","props","propTypes","PropTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\n\nconst ContentGroup = ({ contentType, ...props }) => {\n if (contentType === 'tab' || contentType === 'sidepanel')\n return <ContentGroupTabs contentType={contentType} {...props} />;\n return '';\n};\n\nContentGroup.propTypes = {\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAAkD;AAElD,IAAMA,YAAY,GAAG,SAAfA,YAAY,OAAkC;EAAA,IAA5BC,WAAW,QAAXA,WAAW;IAAKC,KAAK;EAC3C,IAAID,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EACtD,oBAAO,gCAAC,4BAAgB;IAAC,WAAW,EAAEA;EAAY,GAAKC,KAAK,EAAI;EAClE,OAAO,EAAE;AACX,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBF,WAAW,EAAEG,qBAAS,CAACC,MAAM,CAACC;AAChC,CAAC;AAEDN,YAAY,CAACO,YAAY,GAAG,CAAC,CAAC;AAAC,eAEhBP,YAAY;AAAA"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.to-string.js");
5
+ require("core-js/modules/es.string.iterator.js");
6
+ require("core-js/modules/es.weak-map.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
+ var _typeof = require("@babel/runtime/helpers/typeof");
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ require("core-js/modules/es.function.name.js");
17
+ require("core-js/modules/es.array.map.js");
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _excluded = ["name", "contentType", "modifier", "children"];
23
+ 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); }
24
+ 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; }
25
+ var ContentGroupTabs = function ContentGroupTabs(_ref) {
26
+ var _children$props;
27
+ var name = _ref.name,
28
+ contentType = _ref.contentType,
29
+ modifier = _ref.modifier,
30
+ children = _ref.children,
31
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
+ var _useState = (0, _react.useState)('tab-0'),
33
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
+ selectedTab = _useState2[0],
35
+ setSelectedTab = _useState2[1];
36
+ var groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
37
+ var contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';
38
+ if (!groupSections || !groupSections.length) return '';
39
+ return /*#__PURE__*/_react["default"].createElement("div", {
40
+ className: "content-group".concat(contentClassame)
41
+ }, /*#__PURE__*/_react["default"].createElement("ul", {
42
+ className: "content-group".concat(contentClassame, "__buttons-wrapper"),
43
+ role: "tablist",
44
+ "aria-label": name
45
+ }, groupSections.map(function (groupSection, index) {
46
+ var _groupSection$props = groupSection.props;
47
+ _groupSection$props = _groupSection$props === void 0 ? {} : _groupSection$props;
48
+ var _groupSection$props$c = _groupSection$props.component;
49
+ _groupSection$props$c = _groupSection$props$c === void 0 ? {} : _groupSection$props$c;
50
+ var _groupSection$props$c2 = _groupSection$props$c.settings;
51
+ _groupSection$props$c2 = _groupSection$props$c2 === void 0 ? {} : _groupSection$props$c2;
52
+ var sectionLabel = _groupSection$props$c2.label;
53
+ var tabId = "tab-".concat(index);
54
+ var panelId = "panel-".concat(index);
55
+ var isSelected = selectedTab === tabId;
56
+ var buttonClassName = isSelected ? "content-group".concat(contentClassame, "__button--is-active") : "content-group".concat(contentClassame, "__button");
57
+ return /*#__PURE__*/_react["default"].createElement("button", {
58
+ id: tabId,
59
+ key: tabId,
60
+ className: buttonClassName,
61
+ type: "button",
62
+ role: "tab",
63
+ "aria-selected": isSelected,
64
+ "aria-controls": panelId,
65
+ onClick: function onClick() {
66
+ return setSelectedTab(tabId);
67
+ }
68
+ }, sectionLabel);
69
+ })), groupSections.map(function (groupSection, index) {
70
+ var tabId = "tab-".concat(index);
71
+ var panelId = "panel-".concat(index);
72
+ if (selectedTab !== tabId) return null;
73
+ return /*#__PURE__*/_react["default"].createElement("div", {
74
+ id: panelId,
75
+ key: panelId,
76
+ className: "content-group".concat(contentClassame, "__content-section"),
77
+ role: "tabpanel",
78
+ "aria-labelledby": tabId
79
+ }, groupSection);
80
+ }));
81
+ };
82
+ ContentGroupTabs.propTypes = {
83
+ name: _propTypes["default"].string.isRequired,
84
+ contentType: _propTypes["default"].string.isRequired,
85
+ modifier: _propTypes["default"].string,
86
+ children: _propTypes["default"].object
87
+ };
88
+ ContentGroupTabs.defaultProps = {
89
+ modifier: '',
90
+ children: {}
91
+ };
92
+ var _default = ContentGroupTabs;
93
+ exports["default"] = _default;
94
+ //# sourceMappingURL=ContentGroupTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupTabs.js","names":["ContentGroupTabs","name","contentType","modifier","children","props","useState","selectedTab","setSelectedTab","groupSections","contentClassame","length","map","groupSection","index","component","settings","sectionLabel","label","tabId","panelId","isSelected","buttonClassName","propTypes","PropTypes","string","isRequired","object","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroupTabs.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ContentGroupTabs = ({ name, contentType, modifier, children, ...props }) => {\n const [selectedTab, setSelectedTab] = useState('tab-0');\n const groupSections = children?.props?.children[1];\n const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';\n if (!groupSections || !groupSections.length) return '';\n\n return (\n <div className={`content-group${contentClassame}`}>\n <ul\n className={`content-group${contentClassame}__buttons-wrapper`}\n role=\"tablist\"\n aria-label={name}>\n {groupSections.map((groupSection, index) => {\n const {\n props: { component: { settings: { label: sectionLabel } = {} } = {} } = {}\n } = groupSection;\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n const isSelected = selectedTab === tabId;\n const buttonClassName = isSelected\n ? `content-group${contentClassame}__button--is-active`\n : `content-group${contentClassame}__button`;\n\n return (\n <button\n id={tabId}\n key={tabId}\n className={buttonClassName}\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={panelId}\n onClick={() => setSelectedTab(tabId)}>\n {sectionLabel}\n </button>\n );\n })}\n </ul>\n {groupSections.map((groupSection, index) => {\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n if (selectedTab !== tabId) return null;\n\n return (\n <div\n id={panelId}\n key={panelId}\n className={`content-group${contentClassame}__content-section`}\n role=\"tabpanel\"\n aria-labelledby={tabId}>\n {groupSection}\n </div>\n );\n })}\n </div>\n );\n};\n\nContentGroupTabs.propTypes = {\n name: PropTypes.string.isRequired,\n contentType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n children: PropTypes.object\n};\n\nContentGroupTabs.defaultProps = {\n modifier: '',\n children: {}\n};\n\nexport default ContentGroupTabs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AAAmC;AAAA;AAAA;AAEnC,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,OAA4D;EAAA;EAAA,IAAtDC,IAAI,QAAJA,IAAI;IAAEC,WAAW,QAAXA,WAAW;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EACzE,gBAAsC,IAAAC,eAAQ,EAAC,OAAO,CAAC;IAAA;IAAhDC,WAAW;IAAEC,cAAc;EAClC,IAAMC,aAAa,GAAGL,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEC,KAAK,oDAAf,gBAAiBD,QAAQ,CAAC,CAAC,CAAC;EAClD,IAAMM,eAAe,GAAGR,WAAW,KAAK,KAAK,GAAG,OAAO,GAAG,YAAY;EACtE,IAAI,CAACO,aAAa,IAAI,CAACA,aAAa,CAACE,MAAM,EAAE,OAAO,EAAE;EAEtD,oBACE;IAAK,SAAS,yBAAkBD,eAAe;EAAG,gBAChD;IACE,SAAS,yBAAkBA,eAAe,sBAAoB;IAC9D,IAAI,EAAC,SAAS;IACd,cAAYT;EAAK,GAChBQ,aAAa,CAACG,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,0BAEID,YAAY,CADdR,KAAK;IADP,uDAC0E,CAAC,CAAC;IAD5E,gDACWU,SAAS;IADpB,2DACmE,CAAC,CAAC;IADrE,mDACwBC,QAAQ;IADhC,6DAC4D,CAAC,CAAC;IAD9D,IAC2CC,YAAY,0BAAnBC,KAAK;IAEzC,IAAMC,KAAK,iBAAUL,KAAK,CAAE;IAC5B,IAAMM,OAAO,mBAAYN,KAAK,CAAE;IAChC,IAAMO,UAAU,GAAGd,WAAW,KAAKY,KAAK;IACxC,IAAMG,eAAe,GAAGD,UAAU,0BACdX,eAAe,kDACfA,eAAe,aAAU;IAE7C,oBACE;MACE,EAAE,EAAES,KAAM;MACV,GAAG,EAAEA,KAAM;MACX,SAAS,EAAEG,eAAgB;MAC3B,IAAI,EAAC,QAAQ;MACb,IAAI,EAAC,KAAK;MACV,iBAAeD,UAAW;MAC1B,iBAAeD,OAAQ;MACvB,OAAO,EAAE;QAAA,OAAMZ,cAAc,CAACW,KAAK,CAAC;MAAA;IAAC,GACpCF,YAAY,CACN;EAEb,CAAC,CAAC,CACC,EACJR,aAAa,CAACG,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,IAAMK,KAAK,iBAAUL,KAAK,CAAE;IAC5B,IAAMM,OAAO,mBAAYN,KAAK,CAAE;IAChC,IAAIP,WAAW,KAAKY,KAAK,EAAE,OAAO,IAAI;IAEtC,oBACE;MACE,EAAE,EAAEC,OAAQ;MACZ,GAAG,EAAEA,OAAQ;MACb,SAAS,yBAAkBV,eAAe,sBAAoB;MAC9D,IAAI,EAAC,UAAU;MACf,mBAAiBS;IAAM,GACtBN,YAAY,CACT;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDb,gBAAgB,CAACuB,SAAS,GAAG;EAC3BtB,IAAI,EAAEuB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCxB,WAAW,EAAEsB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCvB,QAAQ,EAAEqB,qBAAS,CAACC,MAAM;EAC1BrB,QAAQ,EAAEoB,qBAAS,CAACG;AACtB,CAAC;AAED3B,gBAAgB,CAAC4B,YAAY,GAAG;EAC9BzB,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE,CAAC;AACb,CAAC;AAAC,eAEaJ,gBAAgB;AAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _ContentGroup = _interopRequireDefault(require("./ContentGroup"));
10
+ var _default = _ContentGroup["default"];
11
+ exports["default"] = _default;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroup"],"sources":["../../../src/components/ContentGroup/index.js"],"sourcesContent":["import ContentGroup from './ContentGroup';\n\nexport default ContentGroup;\n"],"mappings":";;;;;;;;AAAA;AAA0C,eAE3BA,wBAAY;AAAA"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _helpers = require("../../helpers");
13
+ var _excluded = ["children"];
14
+ var ContentGroupSection = function ContentGroupSection(_ref) {
15
+ var children = _ref.children,
16
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
17
+ if (!(0, _helpers.hasChildren)(children)) return null;
18
+ return /*#__PURE__*/_react["default"].createElement("div", {
19
+ className: "content-group-section"
20
+ }, children);
21
+ };
22
+ ContentGroupSection.propTypes = {
23
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
24
+ };
25
+ ContentGroupSection.defaultProps = {
26
+ children: null
27
+ };
28
+ var _default = ContentGroupSection;
29
+ exports["default"] = _default;
30
+ //# sourceMappingURL=ContentGroupSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupSection.js","names":["ContentGroupSection","children","props","hasChildren","propTypes","PropTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/ContentGroupSection/ContentGroupSection.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { hasChildren } from '../../helpers';\n\nconst ContentGroupSection = ({ children, ...props }) => {\n if (!hasChildren(children)) return null;\n\n return <div className=\"content-group-section\">{children}</div>;\n};\n\nContentGroupSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nContentGroupSection.defaultProps = { children: null };\n\nexport default ContentGroupSection;\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AAA4C;AAE5C,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,OAA+B;EAAA,IAAzBC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EAC/C,IAAI,CAAC,IAAAC,oBAAW,EAACF,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvC,oBAAO;IAAK,SAAS,EAAC;EAAuB,GAAEA,QAAQ,CAAO;AAChE,CAAC;AAEDD,mBAAmB,CAACI,SAAS,GAAG;EAC9BH,QAAQ,EAAEI,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,OAAO,CAACF,qBAAS,CAACG,IAAI,CAAC,EAAEH,qBAAS,CAACG,IAAI,CAAC;AACnF,CAAC;AAEDR,mBAAmB,CAACS,YAAY,GAAG;EAAER,QAAQ,EAAE;AAAK,CAAC;AAAC,eAEvCD,mBAAmB;AAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _ContentGroupSection = _interopRequireDefault(require("./ContentGroupSection"));
10
+ var _default = _ContentGroupSection["default"];
11
+ exports["default"] = _default;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroupSection"],"sources":["../../../src/components/ContentGroupSection/index.js"],"sourcesContent":["import ContentGroupSection from './ContentGroupSection';\n\nexport default ContentGroupSection;\n"],"mappings":";;;;;;;;AAAA;AAAwD,eAEzCA,+BAAmB;AAAA"}
@@ -164,6 +164,16 @@ var _default = {
164
164
  return Promise.resolve().then(function () {
165
165
  return _interopRequireWildcard(require('./BackToTop'));
166
166
  });
167
+ }),
168
+ contentgroup: (0, _dynamic["default"])(function () {
169
+ return Promise.resolve().then(function () {
170
+ return _interopRequireWildcard(require('./ContentGroup'));
171
+ });
172
+ }),
173
+ contentgroupsection: (0, _dynamic["default"])(function () {
174
+ return Promise.resolve().then(function () {
175
+ return _interopRequireWildcard(require('./ContentGroupSection'));
176
+ });
167
177
  })
168
178
  };
169
179
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["banner","Banner","button","dynamic","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchcontent","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest","breadcrumb","itemlistbutton","itemlistcounter","itemlistnew","backtotop"],"sources":["../../src/components/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchcontent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchContent/SearchContent')\n ),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n login: dynamic(() => import(/* webpackChunkName: \"blazePbLogin\" */ './Login')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n passwordreset: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordReset\" */ './PasswordReset')\n ),\n passwordresetrequest: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordResetRequest\" */ './PasswordResetRequest')\n ),\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb')),\n itemlistbutton: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListButton\" */ './ItemList/ItemListButton')\n ),\n itemlistcounter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListCounter\" */ './ItemList/ItemListCounter')\n ),\n itemlistnew: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListNew\" */ './ItemList/ItemListNew')\n ),\n backtotop: dynamic(() => import(/* webpackChunkName: \"blazePbBackToTop\" */ './BackToTop'))\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["banner","Banner","button","dynamic","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchcontent","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest","breadcrumb","itemlistbutton","itemlistcounter","itemlistnew","backtotop","contentgroup","contentgroupsection"],"sources":["../../src/components/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchcontent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchContent/SearchContent')\n ),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n login: dynamic(() => import(/* webpackChunkName: \"blazePbLogin\" */ './Login')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n passwordreset: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordReset\" */ './PasswordReset')\n ),\n passwordresetrequest: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordResetRequest\" */ './PasswordResetRequest')\n ),\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb')),\n itemlistbutton: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListButton\" */ './ItemList/ItemListButton')\n ),\n itemlistcounter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListCounter\" */ './ItemList/ItemListCounter')\n ),\n itemlistnew: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListNew\" */ './ItemList/ItemListNew')\n ),\n backtotop: dynamic(() => import(/* webpackChunkName: \"blazePbBackToTop\" */ './BackToTop')),\n contentgroup: dynamic(() =>\n import(/* webpackChunkName: \"blazePbContentGroup\" */ './ContentGroup')\n ),\n contentgroupsection: dynamic(() =>\n import(/* webpackChunkName: \"blazePbContentGroupSection\" */ './ContentGroupSection')\n )\n};\n"],"mappings":"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"}
@@ -28,7 +28,7 @@ var getBannersByType = function getBannersByType(items, bannerType) {
28
28
  insertionType = _ref2.settings.insertionType;
29
29
  return type === _constants.PB_TYPE_BANNER && insertionType === _constants.PB_TYPE_TEXTBLOCK;
30
30
  });
31
- var hasTextBlockBanners = textBlockBanners && textBlockBanners.length;
31
+ var hasTextBlockBanners = !!textBlockBanners && !!textBlockBanners.length;
32
32
  return [hasTextBlockBanners, textBlockBanners];
33
33
  }
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-banners-by-type.js","names":["getBannersByType","items","bannerType","ELEMENT","filter","type","insertionType","settings","PB_TYPE_BANNER","bannerToInject","textBlockBanners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","length"],"sources":["../../../src/hooks/helpers/get-banners-by-type.js"],"sourcesContent":["import { PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK } from './constants';\nimport { ELEMENT } from '../../constants';\n\nconst getBannersByType = (items, bannerType) => {\n if (items) {\n if (bannerType === ELEMENT) {\n const [bannerToInject] = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === bannerType\n );\n if (bannerToInject) return [true, bannerToInject];\n } else {\n const textBlockBanners = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK\n );\n\n const hasTextBlockBanners = textBlockBanners && textBlockBanners.length;\n\n return [hasTextBlockBanners, textBlockBanners];\n }\n }\n\n return [false, []];\n};\n\nexport default getBannersByType;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,KAAK,EAAEC,UAAU,EAAK;EAC9C,IAAID,KAAK,EAAE;IACT,IAAIC,UAAU,KAAKC,mBAAO,EAAE;MAC1B,oBAAyBF,KAAK,CAACG,MAAM,CACnC;UAAA,IAAGC,IAAI,QAAJA,IAAI;YAAcC,aAAa,QAAzBC,QAAQ,CAAID,aAAa;UAAA,OAChCD,IAAI,KAAKG,yBAAc,IAAIF,aAAa,KAAKJ,UAAU;QAAA,EAC1D;QAAA;QAHMO,cAAc;MAIrB,IAAIA,cAAc,EAAE,OAAO,CAAC,IAAI,EAAEA,cAAc,CAAC;IACnD,CAAC,MAAM;MACL,IAAMC,gBAAgB,GAAGT,KAAK,CAACG,MAAM,CACnC;QAAA,IAAGC,IAAI,SAAJA,IAAI;UAAcC,aAAa,SAAzBC,QAAQ,CAAID,aAAa;QAAA,OAChCD,IAAI,KAAKG,yBAAc,IAAIF,aAAa,KAAKK,4BAAiB;MAAA,EACjE;MAED,IAAMC,mBAAmB,GAAGF,gBAAgB,IAAIA,gBAAgB,CAACG,MAAM;MAEvE,OAAO,CAACD,mBAAmB,EAAEF,gBAAgB,CAAC;IAChD;EACF;EAEA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpB,CAAC;AAAC,eAEaV,gBAAgB;AAAA"}
1
+ {"version":3,"file":"get-banners-by-type.js","names":["getBannersByType","items","bannerType","ELEMENT","filter","type","insertionType","settings","PB_TYPE_BANNER","bannerToInject","textBlockBanners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","length"],"sources":["../../../src/hooks/helpers/get-banners-by-type.js"],"sourcesContent":["import { PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK } from './constants';\nimport { ELEMENT } from '../../constants';\n\nconst getBannersByType = (items, bannerType) => {\n if (items) {\n if (bannerType === ELEMENT) {\n const [bannerToInject] = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === bannerType\n );\n if (bannerToInject) return [true, bannerToInject];\n } else {\n const textBlockBanners = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK\n );\n\n const hasTextBlockBanners = !!textBlockBanners && !!textBlockBanners.length;\n\n return [hasTextBlockBanners, textBlockBanners];\n }\n }\n\n return [false, []];\n};\n\nexport default getBannersByType;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,KAAK,EAAEC,UAAU,EAAK;EAC9C,IAAID,KAAK,EAAE;IACT,IAAIC,UAAU,KAAKC,mBAAO,EAAE;MAC1B,oBAAyBF,KAAK,CAACG,MAAM,CACnC;UAAA,IAAGC,IAAI,QAAJA,IAAI;YAAcC,aAAa,QAAzBC,QAAQ,CAAID,aAAa;UAAA,OAChCD,IAAI,KAAKG,yBAAc,IAAIF,aAAa,KAAKJ,UAAU;QAAA,EAC1D;QAAA;QAHMO,cAAc;MAIrB,IAAIA,cAAc,EAAE,OAAO,CAAC,IAAI,EAAEA,cAAc,CAAC;IACnD,CAAC,MAAM;MACL,IAAMC,gBAAgB,GAAGT,KAAK,CAACG,MAAM,CACnC;QAAA,IAAGC,IAAI,SAAJA,IAAI;UAAcC,aAAa,SAAzBC,QAAQ,CAAID,aAAa;QAAA,OAChCD,IAAI,KAAKG,yBAAc,IAAIF,aAAa,KAAKK,4BAAiB;MAAA,EACjE;MAED,IAAMC,mBAAmB,GAAG,CAAC,CAACF,gBAAgB,IAAI,CAAC,CAACA,gBAAgB,CAACG,MAAM;MAE3E,OAAO,CAACD,mBAAmB,EAAEF,gBAAgB,CAAC;IAChD;EACF;EAEA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpB,CAAC;AAAC,eAEaV,gBAAgB;AAAA"}
@@ -1,13 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
3
  const _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "enableCarousel", "titleOverlayModifier", "overlayModifier", "gridModifier"];
3
4
  import React, { Fragment } from 'react';
5
+ import { useRouter } from 'next/router';
4
6
  import PropTypes from 'prop-types';
5
7
  import BlazeLink from '../BlazeLink';
6
8
  import ClickWrapper from '../ClickWrapper';
7
9
  import { getModifiers, renderChildren, updateChildrensParent, getClickWrapperOptions } from '../../helpers';
8
10
  import LazyImage from '../LazyImage';
9
11
  import { getPublishedListingUrl, useDynamicSizeKey } from './helpers';
10
- import { CARD_STRING } from './constants';
12
+ import { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';
11
13
  const Card = _ref => {
12
14
  let {
13
15
  id,
@@ -38,6 +40,7 @@ const Card = _ref => {
38
40
  } = _ref,
39
41
  otherProps = _objectWithoutProperties(_ref, _excluded);
40
42
  updateChildrensParent(cardChildren, id, entity);
43
+ const router = useRouter();
41
44
  const {
42
45
  imageSrc,
43
46
  shouldDisplayThumbnail,
@@ -78,9 +81,22 @@ const Card = _ref => {
78
81
  const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);
79
82
  const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${enableOverlay && enableCarousel ? overlayModifier : ''}`;
80
83
  const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${enableOverlay && enableCarousel ? titleOverlayModifier : ''}`;
81
- return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", {
84
+ const handleCardClick = e => {
85
+ if (!url) return;
86
+ const clickEventTag = e.target.tagName.toLowerCase();
87
+ const clickEventRole = e.target.role;
88
+ const shouldTriggerRouteChange = clickEventRole !== 'button' && !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);
89
+ if (shouldTriggerRouteChange) router.push(`/Resolver`, url);
90
+ };
91
+
92
+ // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
93
+ const clickProps = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS ? {
94
+ onClick: handleCardClick,
95
+ role: 'button'
96
+ } : {};
97
+ return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", _extends({
82
98
  className: classNameWithModifiers
83
- }, shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
99
+ }, clickProps), shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
84
100
  className: getModifiers('card__image', modifiers)
85
101
  }, /*#__PURE__*/React.createElement(BlazeLink, {
86
102
  gtmId: gtmId,