@blaze-cms/react-page-builder 0.123.0-alpha.21 → 0.123.0-alpha.22
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 +8 -0
- package/lib/components/Card/Card.js +3 -2
- package/lib/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/Card.js +3 -2
- package/lib-es/components/Card/Card.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Card/Card.js +3 -2
- package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +5 -5
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.123.0-alpha.22](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.21...v0.123.0-alpha.22) (2022-04-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [0.123.0-alpha.21](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.20...v0.123.0-alpha.21) (2022-04-01)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
@@ -196,7 +196,7 @@ Card.propTypes = {
|
|
|
196
196
|
displayCategory: _propTypes["default"].bool.isRequired,
|
|
197
197
|
displayThumbnail: _propTypes["default"].bool.isRequired,
|
|
198
198
|
displayTitle: _propTypes["default"].bool.isRequired,
|
|
199
|
-
enableOverlay: _propTypes["default"].bool
|
|
199
|
+
enableOverlay: _propTypes["default"].bool,
|
|
200
200
|
overlayModifier: _propTypes["default"].string,
|
|
201
201
|
cardChildren: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
202
202
|
gtmChildren: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
@@ -222,7 +222,8 @@ Card.defaultProps = {
|
|
|
222
222
|
gtmChildren: [],
|
|
223
223
|
gridModifier: '',
|
|
224
224
|
priority: false,
|
|
225
|
-
overlayModifier: ''
|
|
225
|
+
overlayModifier: 'card--overlay',
|
|
226
|
+
enableOverlay: true
|
|
226
227
|
};
|
|
227
228
|
|
|
228
229
|
var getCategoryDefinedProps = function getCategoryDefinedProps(_ref2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/Card.js"],"names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","overlayModifier","gridModifier","otherProps","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","CARD_STRING","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","contentWrapperModifier","length","map","prop","i","dynamicKey","propModifier","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n 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 const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay ? overlayModifier : ''\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={getModifiers('card__title', modifiers)}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool.isRequired,\n overlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: ''\n};\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"],"file":"Card.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/Card.js"],"names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","overlayModifier","gridModifier","otherProps","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","CARD_STRING","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","contentWrapperModifier","length","map","prop","i","dynamicKey","propModifier","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n 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 const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay ? overlayModifier : ''\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={getModifiers('card__title', modifiers)}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: 'card--overlay',\n enableOverlay: true\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"],"file":"Card.js"}
|
|
@@ -152,7 +152,7 @@ Card.propTypes = {
|
|
|
152
152
|
displayCategory: PropTypes.bool.isRequired,
|
|
153
153
|
displayThumbnail: PropTypes.bool.isRequired,
|
|
154
154
|
displayTitle: PropTypes.bool.isRequired,
|
|
155
|
-
enableOverlay: PropTypes.bool
|
|
155
|
+
enableOverlay: PropTypes.bool,
|
|
156
156
|
overlayModifier: PropTypes.string,
|
|
157
157
|
cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
158
158
|
gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
@@ -178,7 +178,8 @@ Card.defaultProps = {
|
|
|
178
178
|
gtmChildren: [],
|
|
179
179
|
gridModifier: '',
|
|
180
180
|
priority: false,
|
|
181
|
-
overlayModifier: ''
|
|
181
|
+
overlayModifier: 'card--overlay',
|
|
182
|
+
enableOverlay: true
|
|
182
183
|
};
|
|
183
184
|
|
|
184
185
|
const getCategoryDefinedProps = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/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","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","overlayModifier","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","length","map","prop","i","dynamicKey","propModifier","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n 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 const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay ? overlayModifier : ''\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={getModifiers('card__title', modifiers)}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool.isRequired,\n overlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: ''\n};\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"],"file":"Card.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/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","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","overlayModifier","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","length","map","prop","i","dynamicKey","propModifier","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n 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 const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay ? overlayModifier : ''\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={getModifiers('card__title', modifiers)}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: 'card--overlay',\n enableOverlay: true\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"],"file":"Card.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.123.0-alpha.
|
|
3
|
+
"version": "0.123.0-alpha.22",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"lib/*",
|
|
85
85
|
"lib-es/*"
|
|
86
86
|
],
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "3d3e0184fbf42ef49a06954d03292ed9e4ab29b0"
|
|
88
88
|
}
|
|
@@ -157,7 +157,7 @@ Card.propTypes = {
|
|
|
157
157
|
displayCategory: PropTypes.bool.isRequired,
|
|
158
158
|
displayThumbnail: PropTypes.bool.isRequired,
|
|
159
159
|
displayTitle: PropTypes.bool.isRequired,
|
|
160
|
-
enableOverlay: PropTypes.bool
|
|
160
|
+
enableOverlay: PropTypes.bool,
|
|
161
161
|
overlayModifier: PropTypes.string,
|
|
162
162
|
cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
163
163
|
gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
@@ -184,7 +184,8 @@ Card.defaultProps = {
|
|
|
184
184
|
gtmChildren: [],
|
|
185
185
|
gridModifier: '',
|
|
186
186
|
priority: false,
|
|
187
|
-
overlayModifier: ''
|
|
187
|
+
overlayModifier: 'card--overlay',
|
|
188
|
+
enableOverlay: true
|
|
188
189
|
};
|
|
189
190
|
|
|
190
191
|
const getCategoryDefinedProps = ({
|
|
@@ -19,7 +19,7 @@ exports[`Card component should not render alternative headline if alternativePre
|
|
|
19
19
|
</a>
|
|
20
20
|
</div>
|
|
21
21
|
<div
|
|
22
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
22
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
23
23
|
>
|
|
24
24
|
<div
|
|
25
25
|
class="card__content card__content--portrait"
|
|
@@ -93,7 +93,7 @@ exports[`Card component should not render alternative headline if displayCategor
|
|
|
93
93
|
</a>
|
|
94
94
|
</div>
|
|
95
95
|
<div
|
|
96
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
96
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
97
97
|
>
|
|
98
98
|
<div
|
|
99
99
|
class="card__content card__content--portrait"
|
|
@@ -161,7 +161,7 @@ exports[`Card component should not render preHeader if alternativeHeadline is no
|
|
|
161
161
|
</a>
|
|
162
162
|
</div>
|
|
163
163
|
<div
|
|
164
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
164
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
165
165
|
>
|
|
166
166
|
<div
|
|
167
167
|
class="card__content card__content--portrait"
|
|
@@ -235,7 +235,7 @@ exports[`Card component should render customPreheader and alternativeHeadline in
|
|
|
235
235
|
</a>
|
|
236
236
|
</div>
|
|
237
237
|
<div
|
|
238
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
238
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
239
239
|
>
|
|
240
240
|
<div
|
|
241
241
|
class="card__content card__content--portrait"
|
|
@@ -308,7 +308,7 @@ exports[`Card component should render without throwing an error and match snapsh
|
|
|
308
308
|
</a>
|
|
309
309
|
</div>
|
|
310
310
|
<div
|
|
311
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
311
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
312
312
|
>
|
|
313
313
|
<div
|
|
314
314
|
class="card__content card__content--portrait"
|
package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap
CHANGED
|
@@ -20,7 +20,7 @@ exports[`CardsRender component should render based on listData received 1`] = `
|
|
|
20
20
|
class="card card--portrait"
|
|
21
21
|
>
|
|
22
22
|
<div
|
|
23
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
23
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
24
24
|
>
|
|
25
25
|
<div
|
|
26
26
|
class="card__content card__content--portrait"
|
|
@@ -41,7 +41,7 @@ exports[`CardsRender component should render based on listData received 1`] = `
|
|
|
41
41
|
class="card card--portrait"
|
|
42
42
|
>
|
|
43
43
|
<div
|
|
44
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
44
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
45
45
|
>
|
|
46
46
|
<div
|
|
47
47
|
class="card__content card__content--portrait"
|
|
@@ -62,7 +62,7 @@ exports[`CardsRender component should render based on listData received 1`] = `
|
|
|
62
62
|
class="card card--portrait"
|
|
63
63
|
>
|
|
64
64
|
<div
|
|
65
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
65
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
66
66
|
>
|
|
67
67
|
<div
|
|
68
68
|
class="card__content card__content--portrait"
|
|
@@ -95,7 +95,7 @@ exports[`CardsRender component should render without wrapper, when requested 1`]
|
|
|
95
95
|
class="card card--portrait"
|
|
96
96
|
>
|
|
97
97
|
<div
|
|
98
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
98
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
99
99
|
>
|
|
100
100
|
<div
|
|
101
101
|
class="card__content card__content--portrait"
|
|
@@ -116,7 +116,7 @@ exports[`CardsRender component should render without wrapper, when requested 1`]
|
|
|
116
116
|
class="card card--portrait"
|
|
117
117
|
>
|
|
118
118
|
<div
|
|
119
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
119
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
120
120
|
>
|
|
121
121
|
<div
|
|
122
122
|
class="card__content card__content--portrait"
|
|
@@ -137,7 +137,7 @@ exports[`CardsRender component should render without wrapper, when requested 1`]
|
|
|
137
137
|
class="card card--portrait"
|
|
138
138
|
>
|
|
139
139
|
<div
|
|
140
|
-
class="card__content-wrapper card__content-wrapper--portrait "
|
|
140
|
+
class="card__content-wrapper card__content-wrapper--portrait card--overlay"
|
|
141
141
|
>
|
|
142
142
|
<div
|
|
143
143
|
class="card__content card__content--portrait"
|