@blaze-cms/react-page-builder 0.123.0-alpha.22 → 0.123.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,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.23](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.22...v0.123.0-alpha.23) (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.22](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.21...v0.123.0-alpha.22) (2022-04-04)
7
15
 
8
16
  **Note:** Version bump only for package @blaze-cms/react-page-builder
@@ -47,7 +47,7 @@ var _helpers2 = require("./helpers");
47
47
 
48
48
  var _constants = require("./constants");
49
49
 
50
- var _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "overlayModifier", "gridModifier"];
50
+ var _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "titleOverlayModifier", "overlayModifier", "gridModifier"];
51
51
 
52
52
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
53
 
@@ -75,6 +75,7 @@ var Card = function Card(_ref) {
75
75
  displayThumbnail = _ref.displayThumbnail,
76
76
  displayTitle = _ref.displayTitle,
77
77
  enableOverlay = _ref.enableOverlay,
78
+ titleOverlayModifier = _ref.titleOverlayModifier,
78
79
  overlayModifier = _ref.overlayModifier,
79
80
  gridModifier = _ref.gridModifier,
80
81
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
@@ -121,6 +122,7 @@ var Card = function Card(_ref) {
121
122
  var Wrapper = shouldUseClickWrapper ? _ClickWrapper["default"] : _react.Fragment;
122
123
  var classNameWithModifiers = (0, _helpers.getModifiers)(_constants.CARD_STRING, modifiers);
123
124
  var contentWrapperModifier = "".concat((0, _helpers.getModifiers)('card__content-wrapper', modifiers), " ").concat(enableOverlay ? overlayModifier : '');
125
+ var titleWrapperModifier = "".concat((0, _helpers.getModifiers)('card__title', modifiers), " ").concat(titleOverlayModifier);
124
126
  return /*#__PURE__*/_react["default"].createElement(Wrapper, wrapperProps, /*#__PURE__*/_react["default"].createElement("div", {
125
127
  className: classNameWithModifiers
126
128
  }, shouldDisplayThumbnail && /*#__PURE__*/_react["default"].createElement("div", {
@@ -147,7 +149,7 @@ var Card = function Card(_ref) {
147
149
  }, preHeader.name) : /*#__PURE__*/_react["default"].createElement("div", {
148
150
  className: "badge badge--label"
149
151
  }, label)), displayTitle && /*#__PURE__*/_react["default"].createElement("h2", {
150
- className: (0, _helpers.getModifiers)('card__title', modifiers)
152
+ className: titleWrapperModifier
151
153
  }, /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
152
154
  title: linkTitle,
153
155
  gtmId: gtmId,
@@ -198,6 +200,7 @@ Card.propTypes = {
198
200
  displayTitle: _propTypes["default"].bool.isRequired,
199
201
  enableOverlay: _propTypes["default"].bool,
200
202
  overlayModifier: _propTypes["default"].string,
203
+ titleOverlayModifier: _propTypes["default"].string,
201
204
  cardChildren: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
202
205
  gtmChildren: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
203
206
  gridModifier: _propTypes["default"].string,
@@ -222,7 +225,8 @@ Card.defaultProps = {
222
225
  gtmChildren: [],
223
226
  gridModifier: '',
224
227
  priority: false,
225
- overlayModifier: 'card--overlay',
228
+ overlayModifier: 'card__content--overlay',
229
+ titleOverlayModifier: 'card__content--overlay__title',
226
230
  enableOverlay: true
227
231
  };
228
232
 
@@ -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,\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"}
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","titleOverlayModifier","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","titleWrapperModifier","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 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 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 const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${titleOverlayModifier}`;\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: 'card__content--overlay',\n titleOverlayModifier: 'card__content--overlay__title',\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"}
@@ -1,5 +1,5 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- const _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "overlayModifier", "gridModifier"];
2
+ const _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "titleOverlayModifier", "overlayModifier", "gridModifier"];
3
3
  import React, { Fragment } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import BlazeLink from '../BlazeLink';
@@ -32,6 +32,7 @@ const Card = _ref => {
32
32
  displayThumbnail,
33
33
  displayTitle,
34
34
  enableOverlay,
35
+ titleOverlayModifier,
35
36
  overlayModifier,
36
37
  gridModifier
37
38
  } = _ref,
@@ -77,6 +78,7 @@ const Card = _ref => {
77
78
  const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;
78
79
  const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);
79
80
  const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${enableOverlay ? overlayModifier : ''}`;
81
+ const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${titleOverlayModifier}`;
80
82
  return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", {
81
83
  className: classNameWithModifiers
82
84
  }, shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
@@ -103,7 +105,7 @@ const Card = _ref => {
103
105
  }, preHeader.name) : /*#__PURE__*/React.createElement("div", {
104
106
  className: "badge badge--label"
105
107
  }, label)), displayTitle && /*#__PURE__*/React.createElement("h2", {
106
- className: getModifiers('card__title', modifiers)
108
+ className: titleWrapperModifier
107
109
  }, /*#__PURE__*/React.createElement(BlazeLink, {
108
110
  title: linkTitle,
109
111
  gtmId: gtmId,
@@ -154,6 +156,7 @@ Card.propTypes = {
154
156
  displayTitle: PropTypes.bool.isRequired,
155
157
  enableOverlay: PropTypes.bool,
156
158
  overlayModifier: PropTypes.string,
159
+ titleOverlayModifier: PropTypes.string,
157
160
  cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
158
161
  gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
159
162
  gridModifier: PropTypes.string,
@@ -178,7 +181,8 @@ Card.defaultProps = {
178
181
  gtmChildren: [],
179
182
  gridModifier: '',
180
183
  priority: false,
181
- overlayModifier: 'card--overlay',
184
+ overlayModifier: 'card__content--overlay',
185
+ titleOverlayModifier: 'card__content--overlay__title',
182
186
  enableOverlay: true
183
187
  };
184
188
 
@@ -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,\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"}
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","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","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 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 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 const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${titleOverlayModifier}`;\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: 'card__content--overlay',\n titleOverlayModifier: 'card__content--overlay__title',\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.22",
3
+ "version": "0.123.0-alpha.23",
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": "3d3e0184fbf42ef49a06954d03292ed9e4ab29b0"
87
+ "gitHead": "da47d53348310a7db6d9a3ba2682d1120ebc42bf"
88
88
  }
@@ -34,6 +34,7 @@ const Card = ({
34
34
  displayThumbnail,
35
35
  displayTitle,
36
36
  enableOverlay,
37
+ titleOverlayModifier,
37
38
  overlayModifier,
38
39
  gridModifier,
39
40
  ...otherProps
@@ -68,6 +69,8 @@ const Card = ({
68
69
  enableOverlay ? overlayModifier : ''
69
70
  }`;
70
71
 
72
+ const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${titleOverlayModifier}`;
73
+
71
74
  return (
72
75
  <Wrapper {...wrapperProps}>
73
76
  <div className={classNameWithModifiers}>
@@ -98,7 +101,7 @@ const Card = ({
98
101
  <div className="badge badge--label">{label}</div>
99
102
  ))}
100
103
  {displayTitle && (
101
- <h2 className={getModifiers('card__title', modifiers)}>
104
+ <h2 className={titleWrapperModifier}>
102
105
  <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>
103
106
  {headline}
104
107
  </BlazeLink>
@@ -159,6 +162,7 @@ Card.propTypes = {
159
162
  displayTitle: PropTypes.bool.isRequired,
160
163
  enableOverlay: PropTypes.bool,
161
164
  overlayModifier: PropTypes.string,
165
+ titleOverlayModifier: PropTypes.string,
162
166
  cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
163
167
  gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
164
168
  gridModifier: PropTypes.string,
@@ -184,7 +188,8 @@ Card.defaultProps = {
184
188
  gtmChildren: [],
185
189
  gridModifier: '',
186
190
  priority: false,
187
- overlayModifier: 'card--overlay',
191
+ overlayModifier: 'card__content--overlay',
192
+ titleOverlayModifier: 'card__content--overlay__title',
188
193
  enableOverlay: true
189
194
  };
190
195
 
@@ -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 card--overlay"
22
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
23
23
  >
24
24
  <div
25
25
  class="card__content card__content--portrait"
@@ -31,7 +31,7 @@ exports[`Card component should not render alternative headline if alternativePre
31
31
  category-name
32
32
  </a>
33
33
  <h2
34
- class="card__title card__title--portrait"
34
+ class="card__title card__title--portrait card__content--overlay__title"
35
35
  >
36
36
  <a
37
37
  href="/mockurl"
@@ -93,13 +93,13 @@ 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 card--overlay"
96
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
97
97
  >
98
98
  <div
99
99
  class="card__content card__content--portrait"
100
100
  >
101
101
  <h2
102
- class="card__title card__title--portrait"
102
+ class="card__title card__title--portrait card__content--overlay__title"
103
103
  >
104
104
  <a
105
105
  href="/mockurl"
@@ -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 card--overlay"
164
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
165
165
  >
166
166
  <div
167
167
  class="card__content card__content--portrait"
@@ -173,7 +173,7 @@ exports[`Card component should not render preHeader if alternativeHeadline is no
173
173
  category-name
174
174
  </a>
175
175
  <h2
176
- class="card__title card__title--portrait"
176
+ class="card__title card__title--portrait card__content--overlay__title"
177
177
  >
178
178
  <a
179
179
  href="/mockurl"
@@ -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 card--overlay"
238
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
239
239
  >
240
240
  <div
241
241
  class="card__content card__content--portrait"
@@ -246,7 +246,7 @@ exports[`Card component should render customPreheader and alternativeHeadline in
246
246
  Pre header
247
247
  </div>
248
248
  <h2
249
- class="card__title card__title--portrait"
249
+ class="card__title card__title--portrait card__content--overlay__title"
250
250
  >
251
251
  <a
252
252
  href="/mockurl"
@@ -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 card--overlay"
311
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
312
312
  >
313
313
  <div
314
314
  class="card__content card__content--portrait"
@@ -320,7 +320,7 @@ exports[`Card component should render without throwing an error and match snapsh
320
320
  category-name
321
321
  </a>
322
322
  <h2
323
- class="card__title card__title--portrait"
323
+ class="card__title card__title--portrait card__content--overlay__title"
324
324
  >
325
325
  <a
326
326
  href="/mockurl"
@@ -37,7 +37,7 @@ exports[`CardContainer component should render with carousel if option is enable
37
37
  page
38
38
  </div>
39
39
  <h2
40
- class="card__title card__title--portrait"
40
+ class="card__title card__title--portrait card__content--overlay__title"
41
41
  >
42
42
  <a
43
43
  href="/nautors-swan/swan-78"
@@ -74,7 +74,7 @@ exports[`CardContainer component should render with carousel if option is enable
74
74
  page
75
75
  </div>
76
76
  <h2
77
- class="card__title card__title--portrait"
77
+ class="card__title card__title--portrait card__content--overlay__title"
78
78
  >
79
79
  <a
80
80
  href="/nautors-swan/swan-98"
@@ -121,7 +121,7 @@ exports[`CardContainer component should render without throwing error and match
121
121
  page
122
122
  </div>
123
123
  <h2
124
- class="card__title card__title--portrait"
124
+ class="card__title card__title--portrait card__content--overlay__title"
125
125
  >
126
126
  <a
127
127
  href="/nautors-swan/swan-78"
@@ -158,7 +158,7 @@ exports[`CardContainer component should render without throwing error and match
158
158
  page
159
159
  </div>
160
160
  <h2
161
- class="card__title card__title--portrait"
161
+ class="card__title card__title--portrait card__content--overlay__title"
162
162
  >
163
163
  <a
164
164
  href="/nautors-swan/swan-98"
@@ -33,7 +33,7 @@ exports[`CardRender component should render without throwing an error and match
33
33
  Card page cat
34
34
  </a>
35
35
  <h2
36
- class="card__title card__title--portrait"
36
+ class="card__title card__title--portrait card__content--overlay__title"
37
37
  >
38
38
  <a
39
39
  href="/card-page"
@@ -20,13 +20,13 @@ 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 card--overlay"
23
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
24
24
  >
25
25
  <div
26
26
  class="card__content card__content--portrait"
27
27
  >
28
28
  <h2
29
- class="card__title card__title--portrait"
29
+ class="card__title card__title--portrait card__content--overlay__title"
30
30
  >
31
31
  item 1
32
32
  </h2>
@@ -41,13 +41,13 @@ 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 card--overlay"
44
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
45
45
  >
46
46
  <div
47
47
  class="card__content card__content--portrait"
48
48
  >
49
49
  <h2
50
- class="card__title card__title--portrait"
50
+ class="card__title card__title--portrait card__content--overlay__title"
51
51
  >
52
52
  item 1
53
53
  </h2>
@@ -62,13 +62,13 @@ 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 card--overlay"
65
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
66
66
  >
67
67
  <div
68
68
  class="card__content card__content--portrait"
69
69
  >
70
70
  <h2
71
- class="card__title card__title--portrait"
71
+ class="card__title card__title--portrait card__content--overlay__title"
72
72
  >
73
73
  item 1
74
74
  </h2>
@@ -95,13 +95,13 @@ 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 card--overlay"
98
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
99
99
  >
100
100
  <div
101
101
  class="card__content card__content--portrait"
102
102
  >
103
103
  <h2
104
- class="card__title card__title--portrait"
104
+ class="card__title card__title--portrait card__content--overlay__title"
105
105
  >
106
106
  item 1
107
107
  </h2>
@@ -116,13 +116,13 @@ 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 card--overlay"
119
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
120
120
  >
121
121
  <div
122
122
  class="card__content card__content--portrait"
123
123
  >
124
124
  <h2
125
- class="card__title card__title--portrait"
125
+ class="card__title card__title--portrait card__content--overlay__title"
126
126
  >
127
127
  item 1
128
128
  </h2>
@@ -137,13 +137,13 @@ 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 card--overlay"
140
+ class="card__content-wrapper card__content-wrapper--portrait card__content--overlay"
141
141
  >
142
142
  <div
143
143
  class="card__content card__content--portrait"
144
144
  >
145
145
  <h2
146
- class="card__title card__title--portrait"
146
+ class="card__title card__title--portrait card__content--overlay__title"
147
147
  >
148
148
  item 1
149
149
  </h2>