@blaze-cms/react-page-builder 0.125.0-auth-updates.3 → 0.125.0-auth-updates.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +5 -3
  3. package/example.env +1 -0
  4. package/lib/components/Card/Card.js +21 -3
  5. package/lib/components/Card/Card.js.map +1 -1
  6. package/lib/components/Card/constants.js +3 -1
  7. package/lib/components/Card/constants.js.map +1 -1
  8. package/lib/components/ContentGroup/ContentGroup.js +29 -0
  9. package/lib/components/ContentGroup/ContentGroup.js.map +1 -0
  10. package/lib/components/ContentGroup/ContentGroupTabs.js +94 -0
  11. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  12. package/lib/components/ContentGroup/index.js +12 -0
  13. package/lib/components/ContentGroup/index.js.map +1 -0
  14. package/lib/components/ContentGroupSection/ContentGroupSection.js +30 -0
  15. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  16. package/lib/components/ContentGroupSection/index.js +12 -0
  17. package/lib/components/ContentGroupSection/index.js.map +1 -0
  18. package/lib/components/index.js +10 -0
  19. package/lib/components/index.js.map +1 -1
  20. package/lib/hooks/helpers/get-banners-by-type.js +1 -1
  21. package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
  22. package/lib-es/components/Card/Card.js +18 -3
  23. package/lib-es/components/Card/Card.js.map +1 -1
  24. package/lib-es/components/Card/constants.js +2 -1
  25. package/lib-es/components/Card/constants.js.map +1 -1
  26. package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
  27. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
  28. package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
  29. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  30. package/lib-es/components/ContentGroup/index.js +3 -0
  31. package/lib-es/components/ContentGroup/index.js.map +1 -0
  32. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
  33. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  34. package/lib-es/components/ContentGroupSection/index.js +3 -0
  35. package/lib-es/components/ContentGroupSection/index.js.map +1 -0
  36. package/lib-es/components/index.js +3 -1
  37. package/lib-es/components/index.js.map +1 -1
  38. package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
  39. package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/components/Card/Card.js +24 -2
  42. package/src/components/Card/constants.js +2 -1
  43. package/src/components/ContentGroup/ContentGroup.js +17 -0
  44. package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
  45. package/src/components/ContentGroup/index.js +3 -0
  46. package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
  47. package/src/components/ContentGroupSection/index.js +3 -0
  48. package/src/components/index.js +7 -1
  49. package/src/hooks/helpers/get-banners-by-type.js +1 -1
  50. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
  51. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
  52. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
  53. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
  54. package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
  55. package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
  56. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","Fragment","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n 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 ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!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 </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n 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 }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","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","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","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';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\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 ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!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 </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n 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 }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  const CARD_STRING = 'card';
2
- export { CARD_STRING };
2
+ const CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];
3
+ export { CARD_STRING, CARD_CHILDREN_WITH_LINKS };
3
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CARD_STRING"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\n\nexport { CARD_STRING };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,MAAM;AAE1B,SAASA,WAAW"}
1
+ {"version":3,"file":"constants.js","names":["CARD_STRING","CARD_CHILDREN_WITH_LINKS"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\nconst CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];\n\nexport { CARD_STRING, CARD_CHILDREN_WITH_LINKS };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,MAAM;AAC1B,MAAMC,wBAAwB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;AAE3E,SAASD,WAAW,EAAEC,wBAAwB"}
@@ -0,0 +1,22 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ const _excluded = ["contentType"];
4
+ import React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import ContentGroupTabs from './ContentGroupTabs';
7
+ const ContentGroup = _ref => {
8
+ let {
9
+ contentType
10
+ } = _ref,
11
+ props = _objectWithoutProperties(_ref, _excluded);
12
+ if (contentType === 'tab' || contentType === 'sidepanel') return /*#__PURE__*/React.createElement(ContentGroupTabs, _extends({
13
+ contentType: contentType
14
+ }, props));
15
+ return '';
16
+ };
17
+ ContentGroup.propTypes = {
18
+ contentType: PropTypes.string.isRequired
19
+ };
20
+ ContentGroup.defaultProps = {};
21
+ export default ContentGroup;
22
+ //# sourceMappingURL=ContentGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroup.js","names":["React","PropTypes","ContentGroupTabs","ContentGroup","contentType","props","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\n\nconst ContentGroup = ({ contentType, ...props }) => {\n if (contentType === 'tab' || contentType === 'sidepanel')\n return <ContentGroupTabs contentType={contentType} {...props} />;\n return '';\n};\n\nContentGroup.propTypes = {\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,MAAMC,YAAY,GAAG,QAA+B;EAAA,IAA9B;MAAEC;IAAsB,CAAC;IAAPC,KAAK;EAC3C,IAAID,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EACtD,oBAAO,oBAAC,gBAAgB;IAAC,WAAW,EAAEA;EAAY,GAAKC,KAAK,EAAI;EAClE,OAAO,EAAE;AACX,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBF,WAAW,EAAEH,SAAS,CAACM,MAAM,CAACC;AAChC,CAAC;AAEDL,YAAY,CAACM,YAAY,GAAG,CAAC,CAAC;AAE9B,eAAeN,YAAY"}
@@ -0,0 +1,72 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ const _excluded = ["name", "contentType", "modifier", "children"];
3
+ import React, { useState } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ const ContentGroupTabs = _ref => {
6
+ var _children$props;
7
+ let {
8
+ name,
9
+ contentType,
10
+ modifier,
11
+ children
12
+ } = _ref,
13
+ props = _objectWithoutProperties(_ref, _excluded);
14
+ const [selectedTab, setSelectedTab] = useState('tab-0');
15
+ const groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
16
+ const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';
17
+ if (!groupSections || !groupSections.length) return '';
18
+ return /*#__PURE__*/React.createElement("div", {
19
+ className: `content-group${contentClassame}`
20
+ }, /*#__PURE__*/React.createElement("ul", {
21
+ className: `content-group${contentClassame}__buttons-wrapper`,
22
+ role: "tablist",
23
+ "aria-label": name
24
+ }, groupSections.map((groupSection, index) => {
25
+ const {
26
+ props: {
27
+ component: {
28
+ settings: {
29
+ label: sectionLabel
30
+ } = {}
31
+ } = {}
32
+ } = {}
33
+ } = groupSection;
34
+ const tabId = `tab-${index}`;
35
+ const panelId = `panel-${index}`;
36
+ const isSelected = selectedTab === tabId;
37
+ const buttonClassName = isSelected ? `content-group${contentClassame}__button--is-active` : `content-group${contentClassame}__button`;
38
+ return /*#__PURE__*/React.createElement("button", {
39
+ id: tabId,
40
+ key: tabId,
41
+ className: buttonClassName,
42
+ type: "button",
43
+ role: "tab",
44
+ "aria-selected": isSelected,
45
+ "aria-controls": panelId,
46
+ onClick: () => setSelectedTab(tabId)
47
+ }, sectionLabel);
48
+ })), groupSections.map((groupSection, index) => {
49
+ const tabId = `tab-${index}`;
50
+ const panelId = `panel-${index}`;
51
+ if (selectedTab !== tabId) return null;
52
+ return /*#__PURE__*/React.createElement("div", {
53
+ id: panelId,
54
+ key: panelId,
55
+ className: `content-group${contentClassame}__content-section`,
56
+ role: "tabpanel",
57
+ "aria-labelledby": tabId
58
+ }, groupSection);
59
+ }));
60
+ };
61
+ ContentGroupTabs.propTypes = {
62
+ name: PropTypes.string.isRequired,
63
+ contentType: PropTypes.string.isRequired,
64
+ modifier: PropTypes.string,
65
+ children: PropTypes.object
66
+ };
67
+ ContentGroupTabs.defaultProps = {
68
+ modifier: '',
69
+ children: {}
70
+ };
71
+ export default ContentGroupTabs;
72
+ //# sourceMappingURL=ContentGroupTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupTabs.js","names":["React","useState","PropTypes","ContentGroupTabs","name","contentType","modifier","children","props","selectedTab","setSelectedTab","groupSections","contentClassame","length","map","groupSection","index","component","settings","label","sectionLabel","tabId","panelId","isSelected","buttonClassName","propTypes","string","isRequired","object","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroupTabs.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ContentGroupTabs = ({ name, contentType, modifier, children, ...props }) => {\n const [selectedTab, setSelectedTab] = useState('tab-0');\n const groupSections = children?.props?.children[1];\n const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';\n if (!groupSections || !groupSections.length) return '';\n\n return (\n <div className={`content-group${contentClassame}`}>\n <ul\n className={`content-group${contentClassame}__buttons-wrapper`}\n role=\"tablist\"\n aria-label={name}>\n {groupSections.map((groupSection, index) => {\n const {\n props: { component: { settings: { label: sectionLabel } = {} } = {} } = {}\n } = groupSection;\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n const isSelected = selectedTab === tabId;\n const buttonClassName = isSelected\n ? `content-group${contentClassame}__button--is-active`\n : `content-group${contentClassame}__button`;\n\n return (\n <button\n id={tabId}\n key={tabId}\n className={buttonClassName}\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={panelId}\n onClick={() => setSelectedTab(tabId)}>\n {sectionLabel}\n </button>\n );\n })}\n </ul>\n {groupSections.map((groupSection, index) => {\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n if (selectedTab !== tabId) return null;\n\n return (\n <div\n id={panelId}\n key={panelId}\n className={`content-group${contentClassame}__content-section`}\n role=\"tabpanel\"\n aria-labelledby={tabId}>\n {groupSection}\n </div>\n );\n })}\n </div>\n );\n};\n\nContentGroupTabs.propTypes = {\n name: PropTypes.string.isRequired,\n contentType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n children: PropTypes.object\n};\n\nContentGroupTabs.defaultProps = {\n modifier: '',\n children: {}\n};\n\nexport default ContentGroupTabs;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,gBAAgB,GAAG,QAAyD;EAAA;EAAA,IAAxD;MAAEC,IAAI;MAAEC,WAAW;MAAEC,QAAQ;MAAEC;IAAmB,CAAC;IAAPC,KAAK;EACzE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAC,OAAO,CAAC;EACvD,MAAMU,aAAa,GAAGJ,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEC,KAAK,oDAAf,gBAAiBD,QAAQ,CAAC,CAAC,CAAC;EAClD,MAAMK,eAAe,GAAGP,WAAW,KAAK,KAAK,GAAG,OAAO,GAAG,YAAY;EACtE,IAAI,CAACM,aAAa,IAAI,CAACA,aAAa,CAACE,MAAM,EAAE,OAAO,EAAE;EAEtD,oBACE;IAAK,SAAS,EAAG,gBAAeD,eAAgB;EAAE,gBAChD;IACE,SAAS,EAAG,gBAAeA,eAAgB,mBAAmB;IAC9D,IAAI,EAAC,SAAS;IACd,cAAYR;EAAK,GAChBO,aAAa,CAACG,GAAG,CAAC,CAACC,YAAY,EAAEC,KAAK,KAAK;IAC1C,MAAM;MACJR,KAAK,EAAE;QAAES,SAAS,EAAE;UAAEC,QAAQ,EAAE;YAAEC,KAAK,EAAEC;UAAa,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAC3E,CAAC,GAAGL,YAAY;IAChB,MAAMM,KAAK,GAAI,OAAML,KAAM,EAAC;IAC5B,MAAMM,OAAO,GAAI,SAAQN,KAAM,EAAC;IAChC,MAAMO,UAAU,GAAGd,WAAW,KAAKY,KAAK;IACxC,MAAMG,eAAe,GAAGD,UAAU,GAC7B,gBAAeX,eAAgB,qBAAoB,GACnD,gBAAeA,eAAgB,UAAS;IAE7C,oBACE;MACE,EAAE,EAAES,KAAM;MACV,GAAG,EAAEA,KAAM;MACX,SAAS,EAAEG,eAAgB;MAC3B,IAAI,EAAC,QAAQ;MACb,IAAI,EAAC,KAAK;MACV,iBAAeD,UAAW;MAC1B,iBAAeD,OAAQ;MACvB,OAAO,EAAE,MAAMZ,cAAc,CAACW,KAAK;IAAE,GACpCD,YAAY,CACN;EAEb,CAAC,CAAC,CACC,EACJT,aAAa,CAACG,GAAG,CAAC,CAACC,YAAY,EAAEC,KAAK,KAAK;IAC1C,MAAMK,KAAK,GAAI,OAAML,KAAM,EAAC;IAC5B,MAAMM,OAAO,GAAI,SAAQN,KAAM,EAAC;IAChC,IAAIP,WAAW,KAAKY,KAAK,EAAE,OAAO,IAAI;IAEtC,oBACE;MACE,EAAE,EAAEC,OAAQ;MACZ,GAAG,EAAEA,OAAQ;MACb,SAAS,EAAG,gBAAeV,eAAgB,mBAAmB;MAC9D,IAAI,EAAC,UAAU;MACf,mBAAiBS;IAAM,GACtBN,YAAY,CACT;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDZ,gBAAgB,CAACsB,SAAS,GAAG;EAC3BrB,IAAI,EAAEF,SAAS,CAACwB,MAAM,CAACC,UAAU;EACjCtB,WAAW,EAAEH,SAAS,CAACwB,MAAM,CAACC,UAAU;EACxCrB,QAAQ,EAAEJ,SAAS,CAACwB,MAAM;EAC1BnB,QAAQ,EAAEL,SAAS,CAAC0B;AACtB,CAAC;AAEDzB,gBAAgB,CAAC0B,YAAY,GAAG;EAC9BvB,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,eAAeJ,gBAAgB"}
@@ -0,0 +1,3 @@
1
+ import ContentGroup from './ContentGroup';
2
+ export default ContentGroup;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroup"],"sources":["../../../src/components/ContentGroup/index.js"],"sourcesContent":["import ContentGroup from './ContentGroup';\n\nexport default ContentGroup;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY"}
@@ -0,0 +1,23 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ const _excluded = ["children"];
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { hasChildren } from '../../helpers';
6
+ const ContentGroupSection = _ref => {
7
+ let {
8
+ children
9
+ } = _ref,
10
+ props = _objectWithoutProperties(_ref, _excluded);
11
+ if (!hasChildren(children)) return null;
12
+ return /*#__PURE__*/React.createElement("div", {
13
+ className: "content-group-section"
14
+ }, children);
15
+ };
16
+ ContentGroupSection.propTypes = {
17
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
18
+ };
19
+ ContentGroupSection.defaultProps = {
20
+ children: null
21
+ };
22
+ export default ContentGroupSection;
23
+ //# sourceMappingURL=ContentGroupSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupSection.js","names":["React","PropTypes","hasChildren","ContentGroupSection","children","props","propTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/ContentGroupSection/ContentGroupSection.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { hasChildren } from '../../helpers';\n\nconst ContentGroupSection = ({ children, ...props }) => {\n if (!hasChildren(children)) return null;\n\n return <div className=\"content-group-section\">{children}</div>;\n};\n\nContentGroupSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nContentGroupSection.defaultProps = { children: null };\n\nexport default ContentGroupSection;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,eAAe;AAE3C,MAAMC,mBAAmB,GAAG,QAA4B;EAAA,IAA3B;MAAEC;IAAmB,CAAC;IAAPC,KAAK;EAC/C,IAAI,CAACH,WAAW,CAACE,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvC,oBAAO;IAAK,SAAS,EAAC;EAAuB,GAAEA,QAAQ,CAAO;AAChE,CAAC;AAEDD,mBAAmB,CAACG,SAAS,GAAG;EAC9BF,QAAQ,EAAEH,SAAS,CAACM,SAAS,CAAC,CAACN,SAAS,CAACO,OAAO,CAACP,SAAS,CAACQ,IAAI,CAAC,EAAER,SAAS,CAACQ,IAAI,CAAC;AACnF,CAAC;AAEDN,mBAAmB,CAACO,YAAY,GAAG;EAAEN,QAAQ,EAAE;AAAK,CAAC;AAErD,eAAeD,mBAAmB"}
@@ -0,0 +1,3 @@
1
+ import ContentGroupSection from './ContentGroupSection';
2
+ export default ContentGroupSection;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroupSection"],"sources":["../../../src/components/ContentGroupSection/index.js"],"sourcesContent":["import ContentGroupSection from './ContentGroupSection';\n\nexport default ContentGroupSection;\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,uBAAuB;AAEvD,eAAeA,mBAAmB"}
@@ -27,6 +27,8 @@ export default {
27
27
  itemlistbutton: dynamic(() => import( /* webpackChunkName: "blazePbItemListButton" */'./ItemList/ItemListButton')),
28
28
  itemlistcounter: dynamic(() => import( /* webpackChunkName: "blazePbItemListCounter" */'./ItemList/ItemListCounter')),
29
29
  itemlistnew: dynamic(() => import( /* webpackChunkName: "blazePbItemListNew" */'./ItemList/ItemListNew')),
30
- backtotop: dynamic(() => import( /* webpackChunkName: "blazePbBackToTop" */'./BackToTop'))
30
+ backtotop: dynamic(() => import( /* webpackChunkName: "blazePbBackToTop" */'./BackToTop')),
31
+ contentgroup: dynamic(() => import( /* webpackChunkName: "blazePbContentGroup" */'./ContentGroup')),
32
+ contentgroupsection: dynamic(() => import( /* webpackChunkName: "blazePbContentGroupSection" */'./ContentGroupSection'))
31
33
  };
32
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dynamic","Banner","banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchcontent","searchfilter","searchfiltersort","modal","code","menu","menuitem","submenu","emailconfirm","breadcrumb","itemlistbutton","itemlistcounter","itemlistnew","backtotop"],"sources":["../../src/components/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchcontent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchContent/SearchContent')\n ),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb')),\n itemlistbutton: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListButton\" */ './ItemList/ItemListButton')\n ),\n itemlistcounter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListCounter\" */ './ItemList/ItemListCounter')\n ),\n itemlistnew: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListNew\" */ './ItemList/ItemListNew')\n ),\n backtotop: dynamic(() => import(/* webpackChunkName: \"blazePbBackToTop\" */ './BackToTop'))\n};\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAClC,OAAOC,MAAM,MAAM,UAAU;AAE7B,eAAe;EACbC,MAAM,EAAED,MAAM;EACdE,MAAM,EAAEH,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EACjFI,IAAI,EAAEJ,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EK,QAAQ,EAAEL,OAAO,CAAC,MAAM,MAAM,EAAC,yCAA0C,YAAY,CAAC,CAAC;EACvFM,MAAM,EAAEN,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EACjFO,WAAW,EAAEP,OAAO,CAAC,MAAM,MAAM,EAAC,4CAA6C,eAAe,CAAC,CAAC;EAChGQ,KAAK,EAAER,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9ES,GAAG,EAAET,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EAC9EU,IAAI,EAAEV,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EW,YAAY,EAAEX,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EACDY,SAAS,EAAEZ,OAAO,CAAC,MAAM,MAAM,EAAC,0CAA2C,aAAa,CAAC,CAAC;EAC1Fa,KAAK,EAAEb,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9Ec,OAAO,EAAEd,OAAO,CAAC,MAAM,MAAM,EAAC,wCAAyC,WAAW,CAAC,CAAC;EACpFe,aAAa,EAAEf,OAAO,CAAC,MACrB,MAAM,EAAC,6CAA8C,+BAA+B,CAAC,CACtF;EACDgB,YAAY,EAAEhB,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EACDiB,gBAAgB,EAAEjB,OAAO,CAAC,MACxB,MAAM,EAAC,gDAAiD,oBAAoB,CAAC,CAC9E;EACDkB,KAAK,EAAElB,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9EmB,IAAI,EAAEnB,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EoB,IAAI,EAAEpB,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EqB,QAAQ,EAAErB,OAAO,CAAC,MAAM,MAAM,EAAC,yCAA0C,YAAY,CAAC,CAAC;EACvFsB,OAAO,EAAEtB,OAAO,CAAC,MAAM,MAAM,EAAC,wCAAyC,WAAW,CAAC,CAAC;EACpFuB,YAAY,EAAEvB,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EAEDwB,UAAU,EAAExB,OAAO,CAAC,MAAM,MAAM,EAAC,2CAA4C,cAAc,CAAC,CAAC;EAC7FyB,cAAc,EAAEzB,OAAO,CAAC,MACtB,MAAM,EAAC,+CAAgD,2BAA2B,CAAC,CACpF;EACD0B,eAAe,EAAE1B,OAAO,CAAC,MACvB,MAAM,EAAC,gDAAiD,4BAA4B,CAAC,CACtF;EACD2B,WAAW,EAAE3B,OAAO,CAAC,MACnB,MAAM,EAAC,4CAA6C,wBAAwB,CAAC,CAC9E;EACD4B,SAAS,EAAE5B,OAAO,CAAC,MAAM,MAAM,EAAC,0CAA2C,aAAa,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"index.js","names":["dynamic","Banner","banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchcontent","searchfilter","searchfiltersort","modal","code","menu","menuitem","submenu","emailconfirm","breadcrumb","itemlistbutton","itemlistcounter","itemlistnew","backtotop","contentgroup","contentgroupsection"],"sources":["../../src/components/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchcontent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchContent/SearchContent')\n ),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb')),\n itemlistbutton: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListButton\" */ './ItemList/ItemListButton')\n ),\n itemlistcounter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListCounter\" */ './ItemList/ItemListCounter')\n ),\n itemlistnew: dynamic(() =>\n import(/* webpackChunkName: \"blazePbItemListNew\" */ './ItemList/ItemListNew')\n ),\n backtotop: dynamic(() => import(/* webpackChunkName: \"blazePbBackToTop\" */ './BackToTop')),\n contentgroup: dynamic(() =>\n import(/* webpackChunkName: \"blazePbContentGroup\" */ './ContentGroup')\n ),\n contentgroupsection: dynamic(() =>\n import(/* webpackChunkName: \"blazePbContentGroupSection\" */ './ContentGroupSection')\n )\n};\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAClC,OAAOC,MAAM,MAAM,UAAU;AAE7B,eAAe;EACbC,MAAM,EAAED,MAAM;EACdE,MAAM,EAAEH,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EACjFI,IAAI,EAAEJ,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EK,QAAQ,EAAEL,OAAO,CAAC,MAAM,MAAM,EAAC,yCAA0C,YAAY,CAAC,CAAC;EACvFM,MAAM,EAAEN,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EACjFO,WAAW,EAAEP,OAAO,CAAC,MAAM,MAAM,EAAC,4CAA6C,eAAe,CAAC,CAAC;EAChGQ,KAAK,EAAER,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9ES,GAAG,EAAET,OAAO,CAAC,MAAM,MAAM,EAAC,uCAAwC,UAAU,CAAC,CAAC;EAC9EU,IAAI,EAAEV,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EW,YAAY,EAAEX,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EACDY,SAAS,EAAEZ,OAAO,CAAC,MAAM,MAAM,EAAC,0CAA2C,aAAa,CAAC,CAAC;EAC1Fa,KAAK,EAAEb,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9Ec,OAAO,EAAEd,OAAO,CAAC,MAAM,MAAM,EAAC,wCAAyC,WAAW,CAAC,CAAC;EACpFe,aAAa,EAAEf,OAAO,CAAC,MACrB,MAAM,EAAC,6CAA8C,+BAA+B,CAAC,CACtF;EACDgB,YAAY,EAAEhB,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EACDiB,gBAAgB,EAAEjB,OAAO,CAAC,MACxB,MAAM,EAAC,gDAAiD,oBAAoB,CAAC,CAC9E;EACDkB,KAAK,EAAElB,OAAO,CAAC,MAAM,MAAM,EAAC,sCAAuC,SAAS,CAAC,CAAC;EAC9EmB,IAAI,EAAEnB,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EoB,IAAI,EAAEpB,OAAO,CAAC,MAAM,MAAM,EAAC,qCAAsC,QAAQ,CAAC,CAAC;EAC3EqB,QAAQ,EAAErB,OAAO,CAAC,MAAM,MAAM,EAAC,yCAA0C,YAAY,CAAC,CAAC;EACvFsB,OAAO,EAAEtB,OAAO,CAAC,MAAM,MAAM,EAAC,wCAAyC,WAAW,CAAC,CAAC;EACpFuB,YAAY,EAAEvB,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EAEDwB,UAAU,EAAExB,OAAO,CAAC,MAAM,MAAM,EAAC,2CAA4C,cAAc,CAAC,CAAC;EAC7FyB,cAAc,EAAEzB,OAAO,CAAC,MACtB,MAAM,EAAC,+CAAgD,2BAA2B,CAAC,CACpF;EACD0B,eAAe,EAAE1B,OAAO,CAAC,MACvB,MAAM,EAAC,gDAAiD,4BAA4B,CAAC,CACtF;EACD2B,WAAW,EAAE3B,OAAO,CAAC,MACnB,MAAM,EAAC,4CAA6C,wBAAwB,CAAC,CAC9E;EACD4B,SAAS,EAAE5B,OAAO,CAAC,MAAM,MAAM,EAAC,0CAA2C,aAAa,CAAC,CAAC;EAC1F6B,YAAY,EAAE7B,OAAO,CAAC,MACpB,MAAM,EAAC,6CAA8C,gBAAgB,CAAC,CACvE;EACD8B,mBAAmB,EAAE9B,OAAO,CAAC,MAC3B,MAAM,EAAC,oDAAqD,uBAAuB,CAAC;AAExF,CAAC"}
@@ -17,7 +17,7 @@ const getBannersByType = (items, bannerType) => {
17
17
  insertionType
18
18
  }
19
19
  }) => type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK);
20
- const hasTextBlockBanners = textBlockBanners && textBlockBanners.length;
20
+ const hasTextBlockBanners = !!textBlockBanners && !!textBlockBanners.length;
21
21
  return [hasTextBlockBanners, textBlockBanners];
22
22
  }
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-banners-by-type.js","names":["PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","ELEMENT","getBannersByType","items","bannerType","bannerToInject","filter","type","settings","insertionType","textBlockBanners","hasTextBlockBanners","length"],"sources":["../../../src/hooks/helpers/get-banners-by-type.js"],"sourcesContent":["import { PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK } from './constants';\nimport { ELEMENT } from '../../constants';\n\nconst getBannersByType = (items, bannerType) => {\n if (items) {\n if (bannerType === ELEMENT) {\n const [bannerToInject] = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === bannerType\n );\n if (bannerToInject) return [true, bannerToInject];\n } else {\n const textBlockBanners = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK\n );\n\n const hasTextBlockBanners = textBlockBanners && textBlockBanners.length;\n\n return [hasTextBlockBanners, textBlockBanners];\n }\n }\n\n return [false, []];\n};\n\nexport default getBannersByType;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,iBAAiB,QAAQ,aAAa;AAC/D,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,MAAMC,gBAAgB,GAAG,CAACC,KAAK,EAAEC,UAAU,KAAK;EAC9C,IAAID,KAAK,EAAE;IACT,IAAIC,UAAU,KAAKH,OAAO,EAAE;MAC1B,MAAM,CAACI,cAAc,CAAC,GAAGF,KAAK,CAACG,MAAM,CACnC,CAAC;QAAEC,IAAI;QAAEC,QAAQ,EAAE;UAAEC;QAAc;MAAE,CAAC,KACpCF,IAAI,KAAKR,cAAc,IAAIU,aAAa,KAAKL,UAAU,CAC1D;MACD,IAAIC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAEA,cAAc,CAAC;IACnD,CAAC,MAAM;MACL,MAAMK,gBAAgB,GAAGP,KAAK,CAACG,MAAM,CACnC,CAAC;QAAEC,IAAI;QAAEC,QAAQ,EAAE;UAAEC;QAAc;MAAE,CAAC,KACpCF,IAAI,KAAKR,cAAc,IAAIU,aAAa,KAAKT,iBAAiB,CACjE;MAED,MAAMW,mBAAmB,GAAGD,gBAAgB,IAAIA,gBAAgB,CAACE,MAAM;MAEvE,OAAO,CAACD,mBAAmB,EAAED,gBAAgB,CAAC;IAChD;EACF;EAEA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpB,CAAC;AAED,eAAeR,gBAAgB"}
1
+ {"version":3,"file":"get-banners-by-type.js","names":["PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","ELEMENT","getBannersByType","items","bannerType","bannerToInject","filter","type","settings","insertionType","textBlockBanners","hasTextBlockBanners","length"],"sources":["../../../src/hooks/helpers/get-banners-by-type.js"],"sourcesContent":["import { PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK } from './constants';\nimport { ELEMENT } from '../../constants';\n\nconst getBannersByType = (items, bannerType) => {\n if (items) {\n if (bannerType === ELEMENT) {\n const [bannerToInject] = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === bannerType\n );\n if (bannerToInject) return [true, bannerToInject];\n } else {\n const textBlockBanners = items.filter(\n ({ type, settings: { insertionType } }) =>\n type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK\n );\n\n const hasTextBlockBanners = !!textBlockBanners && !!textBlockBanners.length;\n\n return [hasTextBlockBanners, textBlockBanners];\n }\n }\n\n return [false, []];\n};\n\nexport default getBannersByType;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,iBAAiB,QAAQ,aAAa;AAC/D,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,MAAMC,gBAAgB,GAAG,CAACC,KAAK,EAAEC,UAAU,KAAK;EAC9C,IAAID,KAAK,EAAE;IACT,IAAIC,UAAU,KAAKH,OAAO,EAAE;MAC1B,MAAM,CAACI,cAAc,CAAC,GAAGF,KAAK,CAACG,MAAM,CACnC,CAAC;QAAEC,IAAI;QAAEC,QAAQ,EAAE;UAAEC;QAAc;MAAE,CAAC,KACpCF,IAAI,KAAKR,cAAc,IAAIU,aAAa,KAAKL,UAAU,CAC1D;MACD,IAAIC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAEA,cAAc,CAAC;IACnD,CAAC,MAAM;MACL,MAAMK,gBAAgB,GAAGP,KAAK,CAACG,MAAM,CACnC,CAAC;QAAEC,IAAI;QAAEC,QAAQ,EAAE;UAAEC;QAAc;MAAE,CAAC,KACpCF,IAAI,KAAKR,cAAc,IAAIU,aAAa,KAAKT,iBAAiB,CACjE;MAED,MAAMW,mBAAmB,GAAG,CAAC,CAACD,gBAAgB,IAAI,CAAC,CAACA,gBAAgB,CAACE,MAAM;MAE3E,OAAO,CAACD,mBAAmB,EAAED,gBAAgB,CAAC;IAChD;EACF;EAEA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpB,CAAC;AAED,eAAeR,gBAAgB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.125.0-auth-updates.3",
3
+ "version": "0.125.0-auth-updates.5",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.125.0-auth-updates.1",
30
+ "@blaze-cms/core-auth-ui": "0.125.0-auth-updates.4",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
32
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.3",
33
33
  "@blaze-cms/nextjs-components": "0.125.0-auth-updates.0",
@@ -87,5 +87,5 @@
87
87
  "lib/*",
88
88
  "lib-es/*"
89
89
  ],
90
- "gitHead": "348b2ee787a4e573ac400f6071041e341370fe86"
90
+ "gitHead": "bbec2065aa71175caf289f9f6b3762ca1e174290"
91
91
  }
@@ -1,4 +1,5 @@
1
1
  import React, { Fragment } from 'react';
2
+ import { useRouter } from 'next/router';
2
3
  import PropTypes from 'prop-types';
3
4
  import BlazeLink from '../BlazeLink';
4
5
  import ClickWrapper from '../ClickWrapper';
@@ -10,7 +11,7 @@ import {
10
11
  } from '../../helpers';
11
12
  import LazyImage from '../LazyImage';
12
13
  import { getPublishedListingUrl, useDynamicSizeKey } from './helpers';
13
- import { CARD_STRING } from './constants';
14
+ import { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';
14
15
 
15
16
  const Card = ({
16
17
  id,
@@ -42,6 +43,7 @@ const Card = ({
42
43
  ...otherProps
43
44
  }) => {
44
45
  updateChildrensParent(cardChildren, id, entity);
46
+ const router = useRouter();
45
47
  const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({
46
48
  image,
47
49
  displayThumbnail
@@ -80,9 +82,29 @@ const Card = ({
80
82
  enableOverlay && enableCarousel ? titleOverlayModifier : ''
81
83
  }`;
82
84
 
85
+ const handleCardClick = e => {
86
+ if (!url) return;
87
+
88
+ const clickEventTag = e.target.tagName.toLowerCase();
89
+ const clickEventRole = e.target.role;
90
+ const shouldTriggerRouteChange =
91
+ clickEventRole !== 'button' &&
92
+ !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);
93
+ if (shouldTriggerRouteChange) router.push(`/Resolver`, url);
94
+ };
95
+
96
+ // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
97
+ const clickProps =
98
+ url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS
99
+ ? {
100
+ onClick: handleCardClick,
101
+ role: 'button'
102
+ }
103
+ : {};
104
+
83
105
  return (
84
106
  <Wrapper {...wrapperProps}>
85
- <div className={classNameWithModifiers}>
107
+ <div className={classNameWithModifiers} {...clickProps}>
86
108
  {shouldDisplayThumbnail && (
87
109
  <div className={getModifiers('card__image', modifiers)}>
88
110
  <BlazeLink gtmId={gtmId} href={url} className="card__image-link" scroll>
@@ -1,3 +1,4 @@
1
1
  const CARD_STRING = 'card';
2
+ const CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];
2
3
 
3
- export { CARD_STRING };
4
+ export { CARD_STRING, CARD_CHILDREN_WITH_LINKS };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import ContentGroupTabs from './ContentGroupTabs';
4
+
5
+ const ContentGroup = ({ contentType, ...props }) => {
6
+ if (contentType === 'tab' || contentType === 'sidepanel')
7
+ return <ContentGroupTabs contentType={contentType} {...props} />;
8
+ return '';
9
+ };
10
+
11
+ ContentGroup.propTypes = {
12
+ contentType: PropTypes.string.isRequired
13
+ };
14
+
15
+ ContentGroup.defaultProps = {};
16
+
17
+ export default ContentGroup;
@@ -0,0 +1,74 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+
4
+ const ContentGroupTabs = ({ name, contentType, modifier, children, ...props }) => {
5
+ const [selectedTab, setSelectedTab] = useState('tab-0');
6
+ const groupSections = children?.props?.children[1];
7
+ const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';
8
+ if (!groupSections || !groupSections.length) return '';
9
+
10
+ return (
11
+ <div className={`content-group${contentClassame}`}>
12
+ <ul
13
+ className={`content-group${contentClassame}__buttons-wrapper`}
14
+ role="tablist"
15
+ aria-label={name}>
16
+ {groupSections.map((groupSection, index) => {
17
+ const {
18
+ props: { component: { settings: { label: sectionLabel } = {} } = {} } = {}
19
+ } = groupSection;
20
+ const tabId = `tab-${index}`;
21
+ const panelId = `panel-${index}`;
22
+ const isSelected = selectedTab === tabId;
23
+ const buttonClassName = isSelected
24
+ ? `content-group${contentClassame}__button--is-active`
25
+ : `content-group${contentClassame}__button`;
26
+
27
+ return (
28
+ <button
29
+ id={tabId}
30
+ key={tabId}
31
+ className={buttonClassName}
32
+ type="button"
33
+ role="tab"
34
+ aria-selected={isSelected}
35
+ aria-controls={panelId}
36
+ onClick={() => setSelectedTab(tabId)}>
37
+ {sectionLabel}
38
+ </button>
39
+ );
40
+ })}
41
+ </ul>
42
+ {groupSections.map((groupSection, index) => {
43
+ const tabId = `tab-${index}`;
44
+ const panelId = `panel-${index}`;
45
+ if (selectedTab !== tabId) return null;
46
+
47
+ return (
48
+ <div
49
+ id={panelId}
50
+ key={panelId}
51
+ className={`content-group${contentClassame}__content-section`}
52
+ role="tabpanel"
53
+ aria-labelledby={tabId}>
54
+ {groupSection}
55
+ </div>
56
+ );
57
+ })}
58
+ </div>
59
+ );
60
+ };
61
+
62
+ ContentGroupTabs.propTypes = {
63
+ name: PropTypes.string.isRequired,
64
+ contentType: PropTypes.string.isRequired,
65
+ modifier: PropTypes.string,
66
+ children: PropTypes.object
67
+ };
68
+
69
+ ContentGroupTabs.defaultProps = {
70
+ modifier: '',
71
+ children: {}
72
+ };
73
+
74
+ export default ContentGroupTabs;
@@ -0,0 +1,3 @@
1
+ import ContentGroup from './ContentGroup';
2
+
3
+ export default ContentGroup;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { hasChildren } from '../../helpers';
4
+
5
+ const ContentGroupSection = ({ children, ...props }) => {
6
+ if (!hasChildren(children)) return null;
7
+
8
+ return <div className="content-group-section">{children}</div>;
9
+ };
10
+
11
+ ContentGroupSection.propTypes = {
12
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
13
+ };
14
+
15
+ ContentGroupSection.defaultProps = { children: null };
16
+
17
+ export default ContentGroupSection;
@@ -0,0 +1,3 @@
1
+ import ContentGroupSection from './ContentGroupSection';
2
+
3
+ export default ContentGroupSection;
@@ -45,5 +45,11 @@ export default {
45
45
  itemlistnew: dynamic(() =>
46
46
  import(/* webpackChunkName: "blazePbItemListNew" */ './ItemList/ItemListNew')
47
47
  ),
48
- backtotop: dynamic(() => import(/* webpackChunkName: "blazePbBackToTop" */ './BackToTop'))
48
+ backtotop: dynamic(() => import(/* webpackChunkName: "blazePbBackToTop" */ './BackToTop')),
49
+ contentgroup: dynamic(() =>
50
+ import(/* webpackChunkName: "blazePbContentGroup" */ './ContentGroup')
51
+ ),
52
+ contentgroupsection: dynamic(() =>
53
+ import(/* webpackChunkName: "blazePbContentGroupSection" */ './ContentGroupSection')
54
+ )
49
55
  };
@@ -15,7 +15,7 @@ const getBannersByType = (items, bannerType) => {
15
15
  type === PB_TYPE_BANNER && insertionType === PB_TYPE_TEXTBLOCK
16
16
  );
17
17
 
18
- const hasTextBlockBanners = textBlockBanners && textBlockBanners.length;
18
+ const hasTextBlockBanners = !!textBlockBanners && !!textBlockBanners.length;
19
19
 
20
20
  return [hasTextBlockBanners, textBlockBanners];
21
21
  }
@@ -0,0 +1,13 @@
1
+ import { render } from '@blaze-cms/tools/test-helpers/test-functions';
2
+ import ContentGroup from '../../../../../src/components/ContentGroup/ContentGroup';
3
+
4
+ describe('ContentGroup component', () => {
5
+ it('should match snapshot and render based on contentType prop', () => {
6
+ const { asFragment: tabContentGroup } = render(ContentGroup, { contentType: 'tab' });
7
+ const { asFragment: sidepanelContentGroup } = render(ContentGroup, {
8
+ contentType: 'sidepanel'
9
+ });
10
+ expect(tabContentGroup()).toMatchSnapshot();
11
+ expect(sidepanelContentGroup()).toMatchSnapshot();
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import { render } from '@blaze-cms/tools/test-helpers/test-functions';
2
+ import ContentGroupTabs from '../../../../../src/components/ContentGroup/ContentGroupTabs';
3
+
4
+ describe('ContentGroupTabs component', () => {
5
+ it('should match snapshot and render tabs content', () => {
6
+ const { asFragment: tabContentGroup } = render(ContentGroupTabs, { contentType: 'tab' });
7
+ expect(tabContentGroup()).toMatchSnapshot();
8
+ });
9
+
10
+ it('should match snapshot and render sidepanel content', () => {
11
+ const { asFragment: sidepanelContentGroup } = render(ContentGroupTabs, {
12
+ contentType: 'sidepanel'
13
+ });
14
+ expect(sidepanelContentGroup()).toMatchSnapshot();
15
+ });
16
+ });
@@ -0,0 +1,5 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ContentGroup component should match snapshot and render based on contentType prop 1`] = `<DocumentFragment />`;
4
+
5
+ exports[`ContentGroup component should match snapshot and render based on contentType prop 2`] = `<DocumentFragment />`;
@@ -0,0 +1,5 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ContentGroupTabs component should match snapshot and render sidepanel content 1`] = `<DocumentFragment />`;
4
+
5
+ exports[`ContentGroupTabs component should match snapshot and render tabs content 1`] = `<DocumentFragment />`;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { render } from '@blaze-cms/tools/test-helpers/test-functions';
3
+ import ContentGroupSection from '../../../../../src/components/ContentGroupSection/ContentGroupSection';
4
+
5
+ describe('ContentGroupSection component', () => {
6
+ it('should not render if section has no children', () => {
7
+ const { asFragment: contentGroupSection } = render(ContentGroupSection);
8
+ expect(contentGroupSection()).toMatchSnapshot();
9
+ });
10
+
11
+ it('should render if section has children', () => {
12
+ const { asFragment: contentGroupSection } = render(ContentGroupSection, {
13
+ children: [<div>child div</div>]
14
+ });
15
+ expect(contentGroupSection()).toMatchSnapshot();
16
+ });
17
+ });