@blaze-cms/react-page-builder 0.125.0-auth-updates.4 → 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.
- package/CHANGELOG.md +16 -0
- package/README.md +5 -3
- package/example.env +1 -0
- package/lib/components/Card/Card.js +21 -3
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/constants.js +3 -1
- package/lib/components/Card/constants.js.map +1 -1
- package/lib/components/ContentGroup/ContentGroup.js +29 -0
- package/lib/components/ContentGroup/ContentGroup.js.map +1 -0
- package/lib/components/ContentGroup/ContentGroupTabs.js +94 -0
- package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -0
- package/lib/components/ContentGroup/index.js +12 -0
- package/lib/components/ContentGroup/index.js.map +1 -0
- package/lib/components/ContentGroupSection/ContentGroupSection.js +30 -0
- package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
- package/lib/components/ContentGroupSection/index.js +12 -0
- package/lib/components/ContentGroupSection/index.js.map +1 -0
- package/lib/components/index.js +10 -0
- package/lib/components/index.js.map +1 -1
- package/lib/hooks/helpers/get-banners-by-type.js +1 -1
- package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
- package/lib-es/components/Card/Card.js +18 -3
- package/lib-es/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/constants.js +2 -1
- package/lib-es/components/Card/constants.js.map +1 -1
- package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
- package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
- package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
- package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
- package/lib-es/components/ContentGroup/index.js +3 -0
- package/lib-es/components/ContentGroup/index.js.map +1 -0
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
- package/lib-es/components/ContentGroupSection/index.js +3 -0
- package/lib-es/components/ContentGroupSection/index.js.map +1 -0
- package/lib-es/components/index.js +3 -1
- package/lib-es/components/index.js.map +1 -1
- package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
- package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Card/Card.js +24 -2
- package/src/components/Card/constants.js +2 -1
- package/src/components/ContentGroup/ContentGroup.js +17 -0
- package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
- package/src/components/ContentGroup/index.js +3 -0
- package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
- package/src/components/ContentGroupSection/index.js +3 -0
- package/src/components/index.js +7 -1
- package/src/hooks/helpers/get-banners-by-type.js +1 -1
- package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
- package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
- package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
- package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
- package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
- package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
- 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 +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;
|
|
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 @@
|
|
|
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 @@
|
|
|
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;
|
|
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,
|
|
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
|
+
"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",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"lib/*",
|
|
88
88
|
"lib-es/*"
|
|
89
89
|
],
|
|
90
|
-
"gitHead": "
|
|
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>
|
|
@@ -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,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;
|
package/src/components/index.js
CHANGED
|
@@ -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
|
+
});
|