@blaze-cms/react-page-builder 0.146.0-alpha.40 → 0.146.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md 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.146.0-alpha.41](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.40...v0.146.0-alpha.41) (2025-04-16)
7
+
8
+
9
+ ### Features
10
+
11
+ * add live property to content entities ([#4729](https://github.com/thebyte9/blaze/issues/4729)) ([8cdc5d6](https://github.com/thebyte9/blaze/commit/8cdc5d6b57945590ac97bd2da82c7ad74583c51d))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.146.0-alpha.40](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.39...v0.146.0-alpha.40) (2025-04-15)
7
18
 
8
19
 
@@ -290,9 +290,11 @@ var getInitialModifiers = function getInitialModifiers(_ref6) {
290
290
  otherProps = _ref6.otherProps;
291
291
  var modifiers = [modifier, style];
292
292
  var sponsored = otherProps.sponsored,
293
- featured = otherProps.featured;
293
+ featured = otherProps.featured,
294
+ live = otherProps.live;
294
295
  if (sponsored) modifiers.push('sponsored');
295
296
  if (featured) modifiers.push('featured');
297
+ if (live) modifiers.push('live');
296
298
  return modifiers;
297
299
  };
298
300
  var _default = exports["default"] = Card;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["_react","_interopRequireWildcard","require","_router","_propTypes","_interopRequireDefault","_BlazeLink","_ClickWrapper","_helpers","_LazyImage","_helpers2","_constants","_buildPBComponents","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","dataEntity","__typename","otherProps","_objectWithoutProperties2","entity","updateChildrensParent","parent","itemId","itemEntity","router","useRouter","_getImageDefinedProps","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","_getCategoryDefinedPr","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","_getClickWrapperOptio","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","concat","titleWrapperModifier","handleCardClick","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","CARD_CHILDREN_WITH_LINKS","find","childTag","push","useLinkWrapper","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","clickProps","onClick","href","ariaLabel","CardWrapper","BlazeLink","childLinkHref","undefined","ChildLinkWrapper","createElement","_extends2","className","scroll","src","alt","sizeKey","title","length","BuildPBComponents","map","prop","dynamicKey","propModifier","_ref2","htmlAttribute","extraProps","props","children","encodeURIComponent","key","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","_ref3","hasAlternativePreHeader","getPublishedListingUrl","_ref4","_ref5","_ref6","sponsored","featured","_default","exports"],"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';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\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 pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\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: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS\n const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;\n const clickProps = useLinkWrapper\n ? {\n onClick: handleCardClick,\n href: url,\n ariaLabel: name\n }\n : {};\n const CardWrapper = useLinkWrapper ? BlazeLink : 'div';\n const childLinkHref = useLinkWrapper ? undefined : url;\n const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;\n\n return (\n <Wrapper {...wrapperProps}>\n <CardWrapper className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <ChildLinkWrapper\n gtmId={gtmId}\n href={childLinkHref}\n className=\"card__image-link\"\n scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </ChildLinkWrapper>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <ChildLinkWrapper\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </ChildLinkWrapper>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <ChildLinkWrapper title={linkTitle} gtmId={gtmId} href={childLinkHref} scroll>\n {headline}\n </ChildLinkWrapper>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\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 </CardWrapper>\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 graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: 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 pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\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, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\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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","ignoreList":[]}
1
+ {"version":3,"file":"Card.js","names":["_react","_interopRequireWildcard","require","_router","_propTypes","_interopRequireDefault","_BlazeLink","_ClickWrapper","_helpers","_LazyImage","_helpers2","_constants","_buildPBComponents","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","dataEntity","__typename","otherProps","_objectWithoutProperties2","entity","updateChildrensParent","parent","itemId","itemEntity","router","useRouter","_getImageDefinedProps","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","_getCategoryDefinedPr","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","_getClickWrapperOptio","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","concat","titleWrapperModifier","handleCardClick","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","CARD_CHILDREN_WITH_LINKS","find","childTag","push","useLinkWrapper","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","clickProps","onClick","href","ariaLabel","CardWrapper","BlazeLink","childLinkHref","undefined","ChildLinkWrapper","createElement","_extends2","className","scroll","src","alt","sizeKey","title","length","BuildPBComponents","map","prop","dynamicKey","propModifier","_ref2","htmlAttribute","extraProps","props","children","encodeURIComponent","key","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","_ref3","hasAlternativePreHeader","getPublishedListingUrl","_ref4","_ref5","_ref6","sponsored","featured","live","_default","exports"],"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';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\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 pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\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: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS\n const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;\n const clickProps = useLinkWrapper\n ? {\n onClick: handleCardClick,\n href: url,\n ariaLabel: name\n }\n : {};\n const CardWrapper = useLinkWrapper ? BlazeLink : 'div';\n const childLinkHref = useLinkWrapper ? undefined : url;\n const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;\n\n return (\n <Wrapper {...wrapperProps}>\n <CardWrapper className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <ChildLinkWrapper\n gtmId={gtmId}\n href={childLinkHref}\n className=\"card__image-link\"\n scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </ChildLinkWrapper>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <ChildLinkWrapper\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </ChildLinkWrapper>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <ChildLinkWrapper title={linkTitle} gtmId={gtmId} href={childLinkHref} scroll>\n {headline}\n </ChildLinkWrapper>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\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 </CardWrapper>\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 graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: 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 pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\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, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured, live } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n if (live) modifiers.push('live');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
@@ -60,7 +60,7 @@ var FullRenderItem = function FullRenderItem(props) {
60
60
  var parsedPropsToDisplay = (0, _helpers.parsePropsToDisplay)(entityProps, propsToDisplay);
61
61
  var currentItemIndex = initialOffset + index;
62
62
  var renderWaypoint = isInfinite && (0, _helpers.shouldRenderWaypoint)(index, currentListLength, currentItemIndex, listTotal);
63
- var defaultContent = /*#__PURE__*/_react["default"].createElement("div", {
63
+ var defaultContent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
64
64
  className: "list__item list__item--full"
65
65
  }, (0, _buildPBComponents["default"])(pageBuilderComponents, {
66
66
  parent: _objectSpread(_objectSpread({}, parent), {}, {
@@ -69,7 +69,11 @@ var FullRenderItem = function FullRenderItem(props) {
69
69
  }),
70
70
  hasGTM: hasGTM,
71
71
  pageBuilderID: pageBuilderID
72
- }));
72
+ })), !VariantComponent && !!parsedPropsToDisplay.length && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, parsedPropsToDisplay.map(function (prop) {
73
+ return prop ? /*#__PURE__*/_react["default"].createElement("span", {
74
+ key: prop
75
+ }, prop) : null;
76
+ })));
73
77
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, renderWaypoint && /*#__PURE__*/_react["default"].createElement(_reactWaypoint.Waypoint, {
74
78
  onEnter: triggerInfiniteScroll
75
79
  }), displayCount && /*#__PURE__*/_react["default"].createElement("div", {
@@ -78,11 +82,7 @@ var FullRenderItem = function FullRenderItem(props) {
78
82
  className: "section-number"
79
83
  }, currentItemIndex + 1), /*#__PURE__*/_react["default"].createElement("span", {
80
84
  className: "section-total"
81
- }, "/", listTotal)), VariantComponent ? /*#__PURE__*/_react["default"].createElement(VariantComponent, props, defaultContent) : defaultContent, !!parsedPropsToDisplay.length && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, parsedPropsToDisplay.map(function (prop) {
82
- return prop ? /*#__PURE__*/_react["default"].createElement("span", {
83
- key: prop
84
- }, prop) : null;
85
- })), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
85
+ }, "/", listTotal)), VariantComponent ? /*#__PURE__*/_react["default"].createElement(VariantComponent, props, defaultContent) : defaultContent, shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
86
86
  renderCounter: bannerIndex
87
87
  })));
88
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FullRenderItem.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactWaypoint","_nextjsComponents","_ListFactory","_buildPBComponents","_Banner","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FullRenderItem","props","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","_useContext","useContext","MainContext","hasGTM","VariantComponent","VariantContext","parsedPropsToDisplay","parsePropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderWaypoint","defaultContent","createElement","className","BuildPBComponents","itemEntity","Fragment","Waypoint","onEnter","map","prop","key","_extends2","renderCounter","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps","_default","exports"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { VariantContext } from '../../ListFactory';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = props => {\n const {\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n } = props;\n const { hasGTM } = useContext(MainContext);\n const VariantComponent = useContext(VariantContext);\n\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n const defaultContent = (\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n );\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n {VariantComponent ? (\n <VariantComponent {...props}>{defaultContent}</VariantComponent>\n ) : (\n defaultContent\n )}\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} renderCounter={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FullRenderItem.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactWaypoint","_nextjsComponents","_ListFactory","_buildPBComponents","_Banner","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FullRenderItem","props","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","_useContext","useContext","MainContext","hasGTM","VariantComponent","VariantContext","parsedPropsToDisplay","parsePropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderWaypoint","defaultContent","createElement","Fragment","className","BuildPBComponents","itemEntity","map","prop","key","Waypoint","onEnter","_extends2","renderCounter","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps","_default","exports"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { VariantContext } from '../../ListFactory';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = props => {\n const {\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n } = props;\n const { hasGTM } = useContext(MainContext);\n const VariantComponent = useContext(VariantContext);\n\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n const defaultContent = (\n <>\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!VariantComponent &&\n !!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n </>\n );\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n {VariantComponent ? (\n <VariantComponent {...props}>{defaultContent}</VariantComponent>\n ) : (\n defaultContent\n )}\n\n {shouldRenderBanner && <Banner {...bannerProps} renderCounter={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"mappings":"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","ignoreList":[]}
@@ -108,7 +108,7 @@ var getTypeBaseProps = function getTypeBaseProps(entitySchema, cardOptions, extr
108
108
  properties = entitySchema.properties,
109
109
  dynamicProperties = entitySchema.dynamicProperties,
110
110
  relations = entitySchema.relations;
111
- var isContent = !!interfaces.includes('content/content');
111
+ var isContent = !!interfaces.includes('content/content-base');
112
112
  var hasCategory = checkProps(properties) || checkProps(dynamicProperties);
113
113
  var hasPreheader = properties[_constants.PREHEADER_PROP];
114
114
  var typeBasedProps = [].concat(defaultProps);
@@ -126,8 +126,10 @@ var getTypeBaseProps = function getTypeBaseProps(entitySchema, cardOptions, extr
126
126
  shouldAddCategoryProps: shouldAddCategoryProps
127
127
  };
128
128
  };
129
+
130
+ // make sure all props are supported by content/content-base interface
129
131
  var getContentProps = function getContentProps(isContent) {
130
- return isContent ? ['url', 'sponsored', 'featured'] : [];
132
+ return isContent ? ['url', 'sponsored', 'featured', 'live'] : [];
131
133
  };
132
134
  var getCategoyProps = function getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader) {
133
135
  if (!shouldAddCategoryProps) return [];
@@ -1 +1 @@
1
- {"version":3,"file":"build-props-query.js","names":["_constants","require","defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","entitySchema","extraProps","arguments","undefined","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","_getTypeBaseProps","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","concat","_toConsumableArray2","uniqueProps","Set","basicProps","nestedProps","forEach","push","_prop$split","split","_prop$split2","_slicedToArray2","base","nested","complexProps","buildComplexProps","join","_ref","_ref$relations","relations","_ref$dynamicPropertie","dynamicProperties","_ref$properties","properties","map","hasLink","find","linkProp","matchingProperty","matchingRelation","_ref2","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","_ref3","_ref3$displayCategory","displayCategory","_ref3$displayThumbnai","displayThumbnail","interfaces","isContent","hasCategory","hasPreheader","PREHEADER_PROP","apply","getCategoyProps","getContentProps","url","_ref4","HEADLINE_PROP","_default","exports"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {}, properties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingProperty = !!properties[base];\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingProperty || !!matchingRelation || !!matchingDynamicProp))\n nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"build-props-query.js","names":["_constants","require","defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","entitySchema","extraProps","arguments","undefined","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","_getTypeBaseProps","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","concat","_toConsumableArray2","uniqueProps","Set","basicProps","nestedProps","forEach","push","_prop$split","split","_prop$split2","_slicedToArray2","base","nested","complexProps","buildComplexProps","join","_ref","_ref$relations","relations","_ref$dynamicPropertie","dynamicProperties","_ref$properties","properties","map","hasLink","find","linkProp","matchingProperty","matchingRelation","_ref2","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","_ref3","_ref3$displayCategory","displayCategory","_ref3$displayThumbnai","displayThumbnail","interfaces","isContent","hasCategory","hasPreheader","PREHEADER_PROP","apply","getCategoyProps","getContentProps","url","_ref4","HEADLINE_PROP","_default","exports"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {}, properties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingProperty = !!properties[base];\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingProperty || !!matchingRelation || !!matchingDynamicProp))\n nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content-base');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\n// make sure all props are supported by content/content-base interface\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured', 'live'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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","ignoreList":[]}
@@ -13,19 +13,23 @@ Object.defineProperty(exports, "__esModule", {
13
13
  value: true
14
14
  });
15
15
  exports["default"] = void 0;
16
+ require("core-js/modules/es.array.concat.js");
17
+ require("core-js/modules/web.timers.js");
16
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
19
  var _react = _interopRequireWildcard(require("react"));
18
20
  var _dayjs = _interopRequireDefault(require("dayjs"));
19
21
  var _relativeTime = _interopRequireDefault(require("dayjs/plugin/relativeTime"));
20
22
  var _button = _interopRequireDefault(require("@blaze-react/button"));
21
23
  var _fa = require("react-icons/fa");
24
+ var _bs = require("react-icons/bs");
22
25
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
26
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
27
  _dayjs["default"].extend(_relativeTime["default"]);
25
28
  var LiveBlogList = function LiveBlogList(props) {
26
29
  var children = props.children,
27
30
  date = props.date,
28
- published = props.published;
31
+ published = props.published,
32
+ featured = props.featured;
29
33
  var _useState = (0, _react.useState)(false),
30
34
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
31
35
  isExpanded = _useState2[0],
@@ -34,38 +38,68 @@ var LiveBlogList = function LiveBlogList(props) {
34
38
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
35
39
  shouldShowButton = _useState4[0],
36
40
  setShouldShowButton = _useState4[1];
41
+ var _useState5 = (0, _react.useState)({
42
+ displayedDate: '&nbsp;',
43
+ displayTime: ''
44
+ }),
45
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
46
+ _useState6$ = _useState6[0],
47
+ displayedDate = _useState6$.displayedDate,
48
+ displayedTime = _useState6$.displayedTime,
49
+ setDisplayedDate = _useState6[1];
50
+ var usedDate = date || published;
37
51
  var contentRef = (0, _react.useRef)(null);
38
52
  (0, _react.useEffect)(function () {
39
- if (contentRef.current) {
40
- var contentHeight = contentRef.current.scrollHeight;
41
- if (contentHeight > 400) {
42
- setShouldShowButton(true);
53
+ var timeout = setTimeout(function () {
54
+ if (contentRef.current) {
55
+ var contentHeight = contentRef.current.scrollHeight;
56
+ if (contentHeight > 380) {
57
+ setShouldShowButton(true);
58
+ }
43
59
  }
44
- }
60
+ }, 500); // delay to wait for content load
61
+ // todo: change to use mutation observer
62
+
63
+ return function () {
64
+ clearTimeout(timeout);
65
+ };
45
66
  }, [children]);
67
+ (0, _react.useEffect)(function () {
68
+ // delay setting time so no SSR issues based on timezone
69
+ var newDate = '';
70
+ if (usedDate) {
71
+ var diffInDays = (0, _dayjs["default"])().diff((0, _dayjs["default"])(usedDate), 'day');
72
+ if (diffInDays < 1) {
73
+ newDate = (0, _dayjs["default"])(usedDate).fromNow();
74
+ } else if (diffInDays < 365) {
75
+ newDate = (0, _dayjs["default"])(usedDate).format('DD MMM');
76
+ } else {
77
+ newDate = (0, _dayjs["default"])(usedDate).format('DD MMM YYYY');
78
+ }
79
+ setDisplayedDate({
80
+ displayedDate: newDate,
81
+ displayedTime: (0, _dayjs["default"])(usedDate).format('HH:mm')
82
+ });
83
+ }
84
+ }, [date, published, usedDate]);
46
85
  var toggleExpanded = function toggleExpanded() {
47
86
  setIsExpanded(!isExpanded);
48
87
  };
49
- var usedDate = date || published;
50
- var displayedDate = '';
51
- if (usedDate) {
52
- var diffInDays = (0, _dayjs["default"])().diff((0, _dayjs["default"])(usedDate), 'day');
53
- if (diffInDays < 1) {
54
- displayedDate = (0, _dayjs["default"])(usedDate).fromNow();
55
- } else if (diffInDays < 365) {
56
- displayedDate = (0, _dayjs["default"])(usedDate).format('DD MMM');
57
- } else {
58
- displayedDate = (0, _dayjs["default"])(usedDate).format('DD MMM YYYY');
59
- }
60
- }
61
- var isCollapsed = !isExpanded && shouldShowButton;
88
+ var isCollapsed = !isExpanded;
89
+ var baseClass = 'live-blog-container';
90
+ var modifier = featured ? " ".concat(baseClass, "--featured") : '';
91
+ var className = "".concat(baseClass).concat(modifier);
62
92
  return /*#__PURE__*/_react["default"].createElement("div", {
63
- className: "live-blog-container"
93
+ className: className
64
94
  }, usedDate && /*#__PURE__*/_react["default"].createElement("div", {
65
95
  className: "live-blog-date"
66
- }, displayedDate), /*#__PURE__*/_react["default"].createElement("div", {
96
+ }, featured && /*#__PURE__*/_react["default"].createElement(_bs.BsPinAngleFill, null), /*#__PURE__*/_react["default"].createElement("span", {
97
+ className: "live-blog-date--date"
98
+ }, displayedDate), /*#__PURE__*/_react["default"].createElement("span", {
99
+ className: "live-blog-date--time"
100
+ }, displayedTime)), /*#__PURE__*/_react["default"].createElement("div", {
67
101
  ref: contentRef,
68
- className: "live-blog-content ".concat(isCollapsed ? 'collapsed' : '')
102
+ className: "live-blog-content ".concat(isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened')
69
103
  }, children), shouldShowButton && /*#__PURE__*/_react["default"].createElement("div", {
70
104
  className: "live-blog-button-wrapper"
71
105
  }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
@@ -1 +1 @@
1
- {"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","dayjs","extend","relativeTime","LiveBlogList","props","children","date","published","_useState","useState","_useState2","_slicedToArray2","isExpanded","setIsExpanded","_useState3","_useState4","shouldShowButton","setShouldShowButton","contentRef","useRef","useEffect","current","contentHeight","scrollHeight","toggleExpanded","usedDate","displayedDate","diffInDays","diff","fromNow","format","isCollapsed","createElement","className","ref","concat","onClick","type","Fragment","FaMinus","FaPlus","_default","exports"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\n\ndayjs.extend(relativeTime);\n\nconst LiveBlogList = props => {\n const { children, date, published } = props;\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n if (contentHeight > 400) {\n setShouldShowButton(true);\n }\n }\n },\n [children]\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const usedDate = date || published;\n\n let displayedDate = '';\n if (usedDate) {\n const diffInDays = dayjs().diff(dayjs(usedDate), 'day');\n if (diffInDays < 1) {\n displayedDate = dayjs(usedDate).fromNow();\n } else if (diffInDays < 365) {\n displayedDate = dayjs(usedDate).format('DD MMM');\n } else {\n displayedDate = dayjs(usedDate).format('DD MMM YYYY');\n }\n }\n\n const isCollapsed = !isExpanded && shouldShowButton;\n\n return (\n <div className=\"live-blog-container\">\n {usedDate && <div className=\"live-blog-date\">{displayedDate}</div>}\n\n <div ref={contentRef} className={`live-blog-content ${isCollapsed ? 'collapsed' : ''}`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button className=\"live-blog-toggle\" onClick={toggleExpanded} type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_bs","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","dayjs","extend","relativeTime","LiveBlogList","props","children","date","published","featured","_useState","useState","_useState2","_slicedToArray2","isExpanded","setIsExpanded","_useState3","_useState4","shouldShowButton","setShouldShowButton","_useState5","displayedDate","displayTime","_useState6","_useState6$","displayedTime","setDisplayedDate","usedDate","contentRef","useRef","useEffect","timeout","setTimeout","current","contentHeight","scrollHeight","clearTimeout","newDate","diffInDays","diff","fromNow","format","toggleExpanded","isCollapsed","baseClass","modifier","concat","className","createElement","BsPinAngleFill","ref","onClick","type","Fragment","FaMinus","FaPlus","_default","exports"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { BsPinAngleFill } from 'react-icons/bs';\n\ndayjs.extend(relativeTime);\n\nconst LiveBlogList = props => {\n const { children, date, published, featured } = props;\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({\n displayedDate: '&nbsp;',\n displayTime: ''\n });\n const usedDate = date || published;\n\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n const timeout = setTimeout(() => {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n if (contentHeight > 380) {\n setShouldShowButton(true);\n }\n }\n }, 500); // delay to wait for content load\n // todo: change to use mutation observer\n\n return () => {\n clearTimeout(timeout);\n };\n },\n [children]\n );\n\n useEffect(\n () => {\n // delay setting time so no SSR issues based on timezone\n let newDate = '';\n if (usedDate) {\n const diffInDays = dayjs().diff(dayjs(usedDate), 'day');\n if (diffInDays < 1) {\n newDate = dayjs(usedDate).fromNow();\n } else if (diffInDays < 365) {\n newDate = dayjs(usedDate).format('DD MMM');\n } else {\n newDate = dayjs(usedDate).format('DD MMM YYYY');\n }\n setDisplayedDate({\n displayedDate: newDate,\n displayedTime: dayjs(usedDate).format('HH:mm')\n });\n }\n },\n [date, published, usedDate]\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const isCollapsed = !isExpanded;\n const baseClass = 'live-blog-container';\n const modifier = featured ? ` ${baseClass}--featured` : '';\n const className = `${baseClass}${modifier}`;\n\n return (\n <div className={className}>\n {usedDate && (\n <div className=\"live-blog-date\">\n {featured && <BsPinAngleFill />}\n <span className=\"live-blog-date--date\">{displayedDate}</span>\n <span className=\"live-blog-date--time\">{displayedTime}</span>\n </div>\n )}\n\n <div\n ref={contentRef}\n className={`live-blog-content ${\n isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened'\n }`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button className=\"live-blog-toggle\" onClick={toggleExpanded} type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
@@ -278,10 +278,12 @@ const getInitialModifiers = ({
278
278
  const modifiers = [modifier, style];
279
279
  const {
280
280
  sponsored,
281
- featured
281
+ featured,
282
+ live
282
283
  } = otherProps;
283
284
  if (sponsored) modifiers.push('sponsored');
284
285
  if (featured) modifiers.push('featured');
286
+ if (live) modifiers.push('live');
285
287
  return modifiers;
286
288
  };
287
289
  export default Card;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","BuildPBComponents","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","parent","itemId","itemEntity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","useLinkWrapper","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","clickProps","onClick","href","ariaLabel","CardWrapper","childLinkHref","undefined","ChildLinkWrapper","createElement","_extends","className","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","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';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\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 pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\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: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS\n const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;\n const clickProps = useLinkWrapper\n ? {\n onClick: handleCardClick,\n href: url,\n ariaLabel: name\n }\n : {};\n const CardWrapper = useLinkWrapper ? BlazeLink : 'div';\n const childLinkHref = useLinkWrapper ? undefined : url;\n const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;\n\n return (\n <Wrapper {...wrapperProps}>\n <CardWrapper className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <ChildLinkWrapper\n gtmId={gtmId}\n href={childLinkHref}\n className=\"card__image-link\"\n scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </ChildLinkWrapper>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <ChildLinkWrapper\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </ChildLinkWrapper>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <ChildLinkWrapper title={linkTitle} gtmId={gtmId} href={childLinkHref} scroll>\n {headline}\n </ChildLinkWrapper>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\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 </CardWrapper>\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 graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: 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 pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\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, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\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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","ignoreList":[]}
1
+ {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","BuildPBComponents","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","parent","itemId","itemEntity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","useLinkWrapper","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","clickProps","onClick","href","ariaLabel","CardWrapper","childLinkHref","undefined","ChildLinkWrapper","createElement","_extends","className","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","live"],"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';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\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 pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\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: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS\n const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;\n const clickProps = useLinkWrapper\n ? {\n onClick: handleCardClick,\n href: url,\n ariaLabel: name\n }\n : {};\n const CardWrapper = useLinkWrapper ? BlazeLink : 'div';\n const childLinkHref = useLinkWrapper ? undefined : url;\n const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;\n\n return (\n <Wrapper {...wrapperProps}>\n <CardWrapper className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <ChildLinkWrapper\n gtmId={gtmId}\n href={childLinkHref}\n className=\"card__image-link\"\n scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </ChildLinkWrapper>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <ChildLinkWrapper\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </ChildLinkWrapper>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <ChildLinkWrapper title={linkTitle} gtmId={gtmId} href={childLinkHref} scroll>\n {headline}\n </ChildLinkWrapper>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\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 </CardWrapper>\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 graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: 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 pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\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, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured, live } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n if (live) modifiers.push('live');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,7 @@ const FullRenderItem = props => {
38
38
  const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);
39
39
  const currentItemIndex = initialOffset + index;
40
40
  const renderWaypoint = isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
41
- const defaultContent = /*#__PURE__*/React.createElement("div", {
41
+ const defaultContent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
42
42
  className: "list__item list__item--full"
43
43
  }, BuildPBComponents(pageBuilderComponents, {
44
44
  parent: _objectSpread(_objectSpread({}, parent), {}, {
@@ -47,7 +47,9 @@ const FullRenderItem = props => {
47
47
  }),
48
48
  hasGTM,
49
49
  pageBuilderID
50
- }));
50
+ })), !VariantComponent && !!parsedPropsToDisplay.length && /*#__PURE__*/React.createElement(React.Fragment, null, parsedPropsToDisplay.map(prop => prop ? /*#__PURE__*/React.createElement("span", {
51
+ key: prop
52
+ }, prop) : null)));
51
53
  return /*#__PURE__*/React.createElement(React.Fragment, null, renderWaypoint && /*#__PURE__*/React.createElement(Waypoint, {
52
54
  onEnter: triggerInfiniteScroll
53
55
  }), displayCount && /*#__PURE__*/React.createElement("div", {
@@ -56,9 +58,7 @@ const FullRenderItem = props => {
56
58
  className: "section-number"
57
59
  }, currentItemIndex + 1), /*#__PURE__*/React.createElement("span", {
58
60
  className: "section-total"
59
- }, "/", listTotal)), VariantComponent ? /*#__PURE__*/React.createElement(VariantComponent, props, defaultContent) : defaultContent, !!parsedPropsToDisplay.length && /*#__PURE__*/React.createElement(React.Fragment, null, parsedPropsToDisplay.map(prop => prop ? /*#__PURE__*/React.createElement("span", {
60
- key: prop
61
- }, prop) : null)), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({}, bannerProps, {
61
+ }, "/", listTotal)), VariantComponent ? /*#__PURE__*/React.createElement(VariantComponent, props, defaultContent) : defaultContent, shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({}, bannerProps, {
62
62
  renderCounter: bannerIndex
63
63
  })));
64
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FullRenderItem.js","names":["React","useContext","PropTypes","Waypoint","MainContext","VariantContext","BuildPBComponents","Banner","parsePropsToDisplay","shouldRenderWaypoint","FullRenderItem","props","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","hasGTM","VariantComponent","parsedPropsToDisplay","currentItemIndex","renderWaypoint","defaultContent","createElement","className","_objectSpread","itemEntity","Fragment","onEnter","length","map","prop","key","_extends","renderCounter","propTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { VariantContext } from '../../ListFactory';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = props => {\n const {\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n } = props;\n const { hasGTM } = useContext(MainContext);\n const VariantComponent = useContext(VariantContext);\n\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n const defaultContent = (\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n );\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n {VariantComponent ? (\n <VariantComponent {...props}>{defaultContent}</VariantComponent>\n ) : (\n defaultContent\n )}\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} renderCounter={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FullRenderItem.js","names":["React","useContext","PropTypes","Waypoint","MainContext","VariantContext","BuildPBComponents","Banner","parsePropsToDisplay","shouldRenderWaypoint","FullRenderItem","props","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","hasGTM","VariantComponent","parsedPropsToDisplay","currentItemIndex","renderWaypoint","defaultContent","createElement","Fragment","className","_objectSpread","itemEntity","length","map","prop","key","onEnter","_extends","renderCounter","propTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { VariantContext } from '../../ListFactory';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = props => {\n const {\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n } = props;\n const { hasGTM } = useContext(MainContext);\n const VariantComponent = useContext(VariantContext);\n\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n const defaultContent = (\n <>\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!VariantComponent &&\n !!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n </>\n );\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n {VariantComponent ? (\n <VariantComponent {...props}>{defaultContent}</VariantComponent>\n ) : (\n defaultContent\n )}\n\n {shouldRenderBanner && <Banner {...bannerProps} renderCounter={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"mappings":"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","ignoreList":[]}
@@ -64,7 +64,7 @@ const getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) =>
64
64
  dynamicProperties,
65
65
  relations
66
66
  } = entitySchema;
67
- const isContent = !!interfaces.includes('content/content');
67
+ const isContent = !!interfaces.includes('content/content-base');
68
68
  const hasCategory = checkProps(properties) || checkProps(dynamicProperties);
69
69
  const hasPreheader = properties[PREHEADER_PROP];
70
70
  const typeBasedProps = [...defaultProps];
@@ -81,7 +81,9 @@ const getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) =>
81
81
  shouldAddCategoryProps
82
82
  };
83
83
  };
84
- const getContentProps = isContent => isContent ? ['url', 'sponsored', 'featured'] : [];
84
+
85
+ // make sure all props are supported by content/content-base interface
86
+ const getContentProps = isContent => isContent ? ['url', 'sponsored', 'featured', 'live'] : [];
85
87
  const getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {
86
88
  if (!shouldAddCategoryProps) return [];
87
89
  const props = [];
@@ -1 +1 @@
1
- {"version":3,"file":"build-props-query.js","names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","entitySchema","extraProps","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","nestedProps","forEach","push","base","nested","split","complexProps","buildComplexProps","join","relations","dynamicProperties","properties","map","hasLink","find","linkProp","matchingProperty","matchingRelation","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","displayCategory","displayThumbnail","interfaces","isContent","hasCategory","hasPreheader","getCategoyProps","getContentProps","url"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {}, properties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingProperty = !!properties[base];\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingProperty || !!matchingRelation || !!matchingDynamicProp))\n nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"build-props-query.js","names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","entitySchema","extraProps","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","nestedProps","forEach","push","base","nested","split","complexProps","buildComplexProps","join","relations","dynamicProperties","properties","map","hasLink","find","linkProp","matchingProperty","matchingRelation","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","displayCategory","displayThumbnail","interfaces","isContent","hasCategory","hasPreheader","getCategoyProps","getContentProps","url"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {}, properties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingProperty = !!properties[base];\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingProperty || !!matchingRelation || !!matchingDynamicProp))\n nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content-base');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\n// make sure all props are supported by content/content-base interface\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured', 'live'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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","ignoreList":[]}
@@ -3,47 +3,77 @@ import dayjs from 'dayjs';
3
3
  import relativeTime from 'dayjs/plugin/relativeTime';
4
4
  import Button from '@blaze-react/button';
5
5
  import { FaPlus, FaMinus } from 'react-icons/fa';
6
+ import { BsPinAngleFill } from 'react-icons/bs';
6
7
  dayjs.extend(relativeTime);
7
8
  const LiveBlogList = props => {
8
9
  const {
9
10
  children,
10
11
  date,
11
- published
12
+ published,
13
+ featured
12
14
  } = props;
13
15
  const [isExpanded, setIsExpanded] = useState(false);
14
16
  const [shouldShowButton, setShouldShowButton] = useState(false);
17
+ const [{
18
+ displayedDate,
19
+ displayedTime
20
+ }, setDisplayedDate] = useState({
21
+ displayedDate: '&nbsp;',
22
+ displayTime: ''
23
+ });
24
+ const usedDate = date || published;
15
25
  const contentRef = useRef(null);
16
26
  useEffect(() => {
17
- if (contentRef.current) {
18
- const contentHeight = contentRef.current.scrollHeight;
19
- if (contentHeight > 400) {
20
- setShouldShowButton(true);
27
+ const timeout = setTimeout(() => {
28
+ if (contentRef.current) {
29
+ const contentHeight = contentRef.current.scrollHeight;
30
+ if (contentHeight > 380) {
31
+ setShouldShowButton(true);
32
+ }
21
33
  }
22
- }
34
+ }, 500); // delay to wait for content load
35
+ // todo: change to use mutation observer
36
+
37
+ return () => {
38
+ clearTimeout(timeout);
39
+ };
23
40
  }, [children]);
41
+ useEffect(() => {
42
+ // delay setting time so no SSR issues based on timezone
43
+ let newDate = '';
44
+ if (usedDate) {
45
+ const diffInDays = dayjs().diff(dayjs(usedDate), 'day');
46
+ if (diffInDays < 1) {
47
+ newDate = dayjs(usedDate).fromNow();
48
+ } else if (diffInDays < 365) {
49
+ newDate = dayjs(usedDate).format('DD MMM');
50
+ } else {
51
+ newDate = dayjs(usedDate).format('DD MMM YYYY');
52
+ }
53
+ setDisplayedDate({
54
+ displayedDate: newDate,
55
+ displayedTime: dayjs(usedDate).format('HH:mm')
56
+ });
57
+ }
58
+ }, [date, published, usedDate]);
24
59
  const toggleExpanded = () => {
25
60
  setIsExpanded(!isExpanded);
26
61
  };
27
- const usedDate = date || published;
28
- let displayedDate = '';
29
- if (usedDate) {
30
- const diffInDays = dayjs().diff(dayjs(usedDate), 'day');
31
- if (diffInDays < 1) {
32
- displayedDate = dayjs(usedDate).fromNow();
33
- } else if (diffInDays < 365) {
34
- displayedDate = dayjs(usedDate).format('DD MMM');
35
- } else {
36
- displayedDate = dayjs(usedDate).format('DD MMM YYYY');
37
- }
38
- }
39
- const isCollapsed = !isExpanded && shouldShowButton;
62
+ const isCollapsed = !isExpanded;
63
+ const baseClass = 'live-blog-container';
64
+ const modifier = featured ? ` ${baseClass}--featured` : '';
65
+ const className = `${baseClass}${modifier}`;
40
66
  return /*#__PURE__*/React.createElement("div", {
41
- className: "live-blog-container"
67
+ className: className
42
68
  }, usedDate && /*#__PURE__*/React.createElement("div", {
43
69
  className: "live-blog-date"
44
- }, displayedDate), /*#__PURE__*/React.createElement("div", {
70
+ }, featured && /*#__PURE__*/React.createElement(BsPinAngleFill, null), /*#__PURE__*/React.createElement("span", {
71
+ className: "live-blog-date--date"
72
+ }, displayedDate), /*#__PURE__*/React.createElement("span", {
73
+ className: "live-blog-date--time"
74
+ }, displayedTime)), /*#__PURE__*/React.createElement("div", {
45
75
  ref: contentRef,
46
- className: `live-blog-content ${isCollapsed ? 'collapsed' : ''}`
76
+ className: `live-blog-content ${isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened'}`
47
77
  }, children), shouldShowButton && /*#__PURE__*/React.createElement("div", {
48
78
  className: "live-blog-button-wrapper"
49
79
  }, /*#__PURE__*/React.createElement(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"LiveBlogList.js","names":["React","useRef","useState","useEffect","dayjs","relativeTime","Button","FaPlus","FaMinus","extend","LiveBlogList","props","children","date","published","isExpanded","setIsExpanded","shouldShowButton","setShouldShowButton","contentRef","current","contentHeight","scrollHeight","toggleExpanded","usedDate","displayedDate","diffInDays","diff","fromNow","format","isCollapsed","createElement","className","ref","onClick","type","Fragment"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\n\ndayjs.extend(relativeTime);\n\nconst LiveBlogList = props => {\n const { children, date, published } = props;\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n if (contentHeight > 400) {\n setShouldShowButton(true);\n }\n }\n },\n [children]\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const usedDate = date || published;\n\n let displayedDate = '';\n if (usedDate) {\n const diffInDays = dayjs().diff(dayjs(usedDate), 'day');\n if (diffInDays < 1) {\n displayedDate = dayjs(usedDate).fromNow();\n } else if (diffInDays < 365) {\n displayedDate = dayjs(usedDate).format('DD MMM');\n } else {\n displayedDate = dayjs(usedDate).format('DD MMM YYYY');\n }\n }\n\n const isCollapsed = !isExpanded && shouldShowButton;\n\n return (\n <div className=\"live-blog-container\">\n {usedDate && <div className=\"live-blog-date\">{displayedDate}</div>}\n\n <div ref={contentRef} className={`live-blog-content ${isCollapsed ? 'collapsed' : ''}`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button className=\"live-blog-toggle\" onClick={toggleExpanded} type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LiveBlogList.js","names":["React","useRef","useState","useEffect","dayjs","relativeTime","Button","FaPlus","FaMinus","BsPinAngleFill","extend","LiveBlogList","props","children","date","published","featured","isExpanded","setIsExpanded","shouldShowButton","setShouldShowButton","displayedDate","displayedTime","setDisplayedDate","displayTime","usedDate","contentRef","timeout","setTimeout","current","contentHeight","scrollHeight","clearTimeout","newDate","diffInDays","diff","fromNow","format","toggleExpanded","isCollapsed","baseClass","modifier","className","createElement","ref","onClick","type","Fragment"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { BsPinAngleFill } from 'react-icons/bs';\n\ndayjs.extend(relativeTime);\n\nconst LiveBlogList = props => {\n const { children, date, published, featured } = props;\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({\n displayedDate: '&nbsp;',\n displayTime: ''\n });\n const usedDate = date || published;\n\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n const timeout = setTimeout(() => {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n if (contentHeight > 380) {\n setShouldShowButton(true);\n }\n }\n }, 500); // delay to wait for content load\n // todo: change to use mutation observer\n\n return () => {\n clearTimeout(timeout);\n };\n },\n [children]\n );\n\n useEffect(\n () => {\n // delay setting time so no SSR issues based on timezone\n let newDate = '';\n if (usedDate) {\n const diffInDays = dayjs().diff(dayjs(usedDate), 'day');\n if (diffInDays < 1) {\n newDate = dayjs(usedDate).fromNow();\n } else if (diffInDays < 365) {\n newDate = dayjs(usedDate).format('DD MMM');\n } else {\n newDate = dayjs(usedDate).format('DD MMM YYYY');\n }\n setDisplayedDate({\n displayedDate: newDate,\n displayedTime: dayjs(usedDate).format('HH:mm')\n });\n }\n },\n [date, published, usedDate]\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const isCollapsed = !isExpanded;\n const baseClass = 'live-blog-container';\n const modifier = featured ? ` ${baseClass}--featured` : '';\n const className = `${baseClass}${modifier}`;\n\n return (\n <div className={className}>\n {usedDate && (\n <div className=\"live-blog-date\">\n {featured && <BsPinAngleFill />}\n <span className=\"live-blog-date--date\">{displayedDate}</span>\n <span className=\"live-blog-date--time\">{displayedTime}</span>\n </div>\n )}\n\n <div\n ref={contentRef}\n className={`live-blog-content ${\n isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened'\n }`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button className=\"live-blog-toggle\" onClick={toggleExpanded} type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-alpha.40",
3
+ "version": "0.146.0-alpha.41",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -90,5 +90,5 @@
90
90
  "lib/*",
91
91
  "lib-es/*"
92
92
  ],
93
- "gitHead": "b49c77a952918c727305c0c5f7725716a4f26f00"
93
+ "gitHead": "ff5ea0945fa88045e899064e4b49f2c7de2529e8"
94
94
  }
@@ -284,9 +284,10 @@ const getImageDefinedProps = ({ image, displayThumbnail, name }) => {
284
284
 
285
285
  const getInitialModifiers = ({ modifier, style, otherProps }) => {
286
286
  const modifiers = [modifier, style];
287
- const { sponsored, featured } = otherProps;
287
+ const { sponsored, featured, live } = otherProps;
288
288
  if (sponsored) modifiers.push('sponsored');
289
289
  if (featured) modifiers.push('featured');
290
+ if (live) modifiers.push('live');
290
291
 
291
292
  return modifiers;
292
293
  };
@@ -37,13 +37,19 @@ const FullRenderItem = props => {
37
37
  isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
38
38
 
39
39
  const defaultContent = (
40
- <div className="list__item list__item--full">
41
- {BuildPBComponents(pageBuilderComponents, {
42
- parent: { ...parent, itemId, itemEntity: entity },
43
- hasGTM,
44
- pageBuilderID
45
- })}
46
- </div>
40
+ <>
41
+ <div className="list__item list__item--full">
42
+ {BuildPBComponents(pageBuilderComponents, {
43
+ parent: { ...parent, itemId, itemEntity: entity },
44
+ hasGTM,
45
+ pageBuilderID
46
+ })}
47
+ </div>
48
+ {!VariantComponent &&
49
+ !!parsedPropsToDisplay.length && (
50
+ <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>
51
+ )}
52
+ </>
47
53
  );
48
54
 
49
55
  return (
@@ -60,9 +66,7 @@ const FullRenderItem = props => {
60
66
  ) : (
61
67
  defaultContent
62
68
  )}
63
- {!!parsedPropsToDisplay.length && (
64
- <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>
65
- )}
69
+
66
70
  {shouldRenderBanner && <Banner {...bannerProps} renderCounter={bannerIndex} />}
67
71
  </>
68
72
  );
@@ -79,7 +79,7 @@ const getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) =>
79
79
 
80
80
  const { interfaces, properties, dynamicProperties, relations } = entitySchema;
81
81
 
82
- const isContent = !!interfaces.includes('content/content');
82
+ const isContent = !!interfaces.includes('content/content-base');
83
83
  const hasCategory = checkProps(properties) || checkProps(dynamicProperties);
84
84
  const hasPreheader = properties[PREHEADER_PROP];
85
85
 
@@ -97,7 +97,8 @@ const getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) =>
97
97
  return { typeBasedProps, shouldAddCategoryProps };
98
98
  };
99
99
 
100
- const getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);
100
+ // make sure all props are supported by content/content-base interface
101
+ const getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured', 'live'] : []);
101
102
 
102
103
  const getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {
103
104
  if (!shouldAddCategoryProps) return [];
@@ -3,53 +3,87 @@ import dayjs from 'dayjs';
3
3
  import relativeTime from 'dayjs/plugin/relativeTime';
4
4
  import Button from '@blaze-react/button';
5
5
  import { FaPlus, FaMinus } from 'react-icons/fa';
6
+ import { BsPinAngleFill } from 'react-icons/bs';
6
7
 
7
8
  dayjs.extend(relativeTime);
8
9
 
9
10
  const LiveBlogList = props => {
10
- const { children, date, published } = props;
11
+ const { children, date, published, featured } = props;
11
12
  const [isExpanded, setIsExpanded] = useState(false);
12
13
  const [shouldShowButton, setShouldShowButton] = useState(false);
14
+ const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({
15
+ displayedDate: '&nbsp;',
16
+ displayTime: ''
17
+ });
18
+ const usedDate = date || published;
13
19
 
14
20
  const contentRef = useRef(null);
15
21
 
16
22
  useEffect(
17
23
  () => {
18
- if (contentRef.current) {
19
- const contentHeight = contentRef.current.scrollHeight;
20
- if (contentHeight > 400) {
21
- setShouldShowButton(true);
24
+ const timeout = setTimeout(() => {
25
+ if (contentRef.current) {
26
+ const contentHeight = contentRef.current.scrollHeight;
27
+ if (contentHeight > 380) {
28
+ setShouldShowButton(true);
29
+ }
22
30
  }
23
- }
31
+ }, 500); // delay to wait for content load
32
+ // todo: change to use mutation observer
33
+
34
+ return () => {
35
+ clearTimeout(timeout);
36
+ };
24
37
  },
25
38
  [children]
26
39
  );
27
40
 
41
+ useEffect(
42
+ () => {
43
+ // delay setting time so no SSR issues based on timezone
44
+ let newDate = '';
45
+ if (usedDate) {
46
+ const diffInDays = dayjs().diff(dayjs(usedDate), 'day');
47
+ if (diffInDays < 1) {
48
+ newDate = dayjs(usedDate).fromNow();
49
+ } else if (diffInDays < 365) {
50
+ newDate = dayjs(usedDate).format('DD MMM');
51
+ } else {
52
+ newDate = dayjs(usedDate).format('DD MMM YYYY');
53
+ }
54
+ setDisplayedDate({
55
+ displayedDate: newDate,
56
+ displayedTime: dayjs(usedDate).format('HH:mm')
57
+ });
58
+ }
59
+ },
60
+ [date, published, usedDate]
61
+ );
62
+
28
63
  const toggleExpanded = () => {
29
64
  setIsExpanded(!isExpanded);
30
65
  };
31
66
 
32
- const usedDate = date || published;
33
-
34
- let displayedDate = '';
35
- if (usedDate) {
36
- const diffInDays = dayjs().diff(dayjs(usedDate), 'day');
37
- if (diffInDays < 1) {
38
- displayedDate = dayjs(usedDate).fromNow();
39
- } else if (diffInDays < 365) {
40
- displayedDate = dayjs(usedDate).format('DD MMM');
41
- } else {
42
- displayedDate = dayjs(usedDate).format('DD MMM YYYY');
43
- }
44
- }
45
-
46
- const isCollapsed = !isExpanded && shouldShowButton;
67
+ const isCollapsed = !isExpanded;
68
+ const baseClass = 'live-blog-container';
69
+ const modifier = featured ? ` ${baseClass}--featured` : '';
70
+ const className = `${baseClass}${modifier}`;
47
71
 
48
72
  return (
49
- <div className="live-blog-container">
50
- {usedDate && <div className="live-blog-date">{displayedDate}</div>}
73
+ <div className={className}>
74
+ {usedDate && (
75
+ <div className="live-blog-date">
76
+ {featured && <BsPinAngleFill />}
77
+ <span className="live-blog-date--date">{displayedDate}</span>
78
+ <span className="live-blog-date--time">{displayedTime}</span>
79
+ </div>
80
+ )}
51
81
 
52
- <div ref={contentRef} className={`live-blog-content ${isCollapsed ? 'collapsed' : ''}`}>
82
+ <div
83
+ ref={contentRef}
84
+ className={`live-blog-content ${
85
+ isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened'
86
+ }`}>
53
87
  {children}
54
88
  </div>
55
89
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import buildPropsQuery from '../../../../src/helpers/build-props-query';
5
5
 
6
- const CONTENT_INTERFACE = 'content/content';
6
+ const CONTENT_INTERFACE = 'content/content-base';
7
7
 
8
8
  describe('get card render props', () => {
9
9
  const relations = [
@@ -60,7 +60,7 @@ describe('get card render props', () => {
60
60
  };
61
61
  const query = buildPropsQuery(_data, [], cardProps);
62
62
  expect(query).toEqual(
63
- 'id,name,url,sponsored,featured,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}},image{id,url,data}'
63
+ 'id,name,url,sponsored,featured,live,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}},image{id,url,data}'
64
64
  );
65
65
  });
66
66
 
@@ -70,7 +70,7 @@ describe('get card render props', () => {
70
70
  displayThumbnail: false
71
71
  });
72
72
  expect(query).toEqual(
73
- 'id,name,alternativePreHeader{name},alternativeHeadline,url,sponsored,featured'
73
+ 'id,name,alternativePreHeader{name},alternativeHeadline,url,sponsored,featured,live'
74
74
  );
75
75
  });
76
76
 
@@ -92,18 +92,20 @@ describe('get card render props', () => {
92
92
  displayThumbnail: false
93
93
  });
94
94
  expect(query).toEqual(
95
- 'id,name,alternativePreHeader{name},alternativeHeadline,url,sponsored,featured,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}}'
95
+ 'id,name,alternativePreHeader{name},alternativeHeadline,url,sponsored,featured,live,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}}'
96
96
  );
97
97
  });
98
98
 
99
99
  it('should not include category if the schema does not have a category', () => {
100
100
  const query = buildPropsQuery(data, [], cardProps);
101
- expect(query).toEqual('id,name,url,sponsored,featured,image{id,url,data}');
101
+ expect(query).toEqual('id,name,url,sponsored,featured,live,image{id,url,data}');
102
102
  });
103
103
 
104
104
  it('should return complex props when base includes published', () => {
105
105
  const query = buildPropsQuery(data, ['published.date'], cardProps);
106
- expect(query).toEqual('id,name,url,sponsored,featured,image{id,url,data},published{date,url}');
106
+ expect(query).toEqual(
107
+ 'id,name,url,sponsored,featured,live,image{id,url,data},published{date,url}'
108
+ );
107
109
  });
108
110
 
109
111
  it('should return result as if isCard was false when isCard is not passed', () => {
@@ -113,7 +115,7 @@ describe('get card render props', () => {
113
115
 
114
116
  it('should return result as if isCard was false when extraProps were not passed', () => {
115
117
  const query = buildPropsQuery(data, undefined, cardProps);
116
- expect(query).toEqual('id,name,url,sponsored,featured,image{id,url,data}');
118
+ expect(query).toEqual('id,name,url,sponsored,featured,live,image{id,url,data}');
117
119
  });
118
120
 
119
121
  it('should return a string with respective props query when isCard is passed as true', () => {
@@ -136,7 +138,7 @@ describe('get card render props', () => {
136
138
 
137
139
  it('should not include category and image props if card options says not to', () => {
138
140
  const query = buildPropsQuery(data, [], { displayCategory: false, displayThumbnail: false });
139
- expect(query).toEqual('id,name,url,sponsored,featured');
141
+ expect(query).toEqual('id,name,url,sponsored,featured,live');
140
142
  });
141
143
 
142
144
  it('should not fetch image if the schema does not have imageId property', () => {
@@ -153,7 +155,7 @@ describe('get card render props', () => {
153
155
  };
154
156
  const query = buildPropsQuery(_data, [], cardProps);
155
157
  expect(query).toEqual(
156
- 'id,name,url,sponsored,featured,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}}'
158
+ 'id,name,url,sponsored,featured,live,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}}'
157
159
  );
158
160
  });
159
161
 
@@ -179,7 +181,7 @@ describe('get card render props', () => {
179
181
  };
180
182
  const query = buildPropsQuery(_data, ['address.country'], cardProps);
181
183
  expect(query).toEqual(
182
- 'id,name,url,sponsored,featured,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}},address{country,id}'
184
+ 'id,name,url,sponsored,featured,live,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}},address{country,id}'
183
185
  );
184
186
  });
185
187
 
@@ -204,7 +206,7 @@ describe('get card render props', () => {
204
206
  const linkProps = ['nestedProperty.title', 'nestedDynamicProperty.title', 'address.title'];
205
207
  const query = buildPropsQuery(_data, linkProps, {}, linkProps);
206
208
  expect(query).toEqual(
207
- 'id,name,url,sponsored,featured,nestedProperty{title,url},nestedDynamicProperty{title,url},address{title,id,url}'
209
+ 'id,name,url,sponsored,featured,live,nestedProperty{title,url},nestedDynamicProperty{title,url},address{title,id,url}'
208
210
  );
209
211
  });
210
212
  });