@blaze-cms/react-page-builder 0.123.0-alpha.20 → 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 +24 -0
- package/lib/components/Card/Card.js +9 -4
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardContainer.js +16 -4
- package/lib/components/Card/CardContainer.js.map +1 -1
- package/lib/components/CarouselWrapper.js +12 -5
- package/lib/components/CarouselWrapper.js.map +1 -1
- package/lib-es/components/Card/Card.js +9 -4
- package/lib-es/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/CardContainer.js +17 -5
- package/lib-es/components/Card/CardContainer.js.map +1 -1
- package/lib-es/components/CarouselWrapper.js +12 -5
- package/lib-es/components/CarouselWrapper.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Card/Card.js +9 -3
- package/src/components/Card/CardContainer.js +14 -2
- package/src/components/CarouselWrapper.js +8 -5
- package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
- package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +4 -4
- package/tests/unit/src/components/Card/__snapshots__/CardRender.test.js.snap +1 -1
- package/tests/unit/src/components/Card/mockData.js +2 -0
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
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
|
+
|
|
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)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [0.123.0-alpha.21](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.20...v0.123.0-alpha.21) (2022-04-01)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
# [0.123.0-alpha.20](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.19...v0.123.0-alpha.20) (2022-04-01)
|
|
7
31
|
|
|
8
32
|
**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:
|
|
152
|
+
className: titleWrapperModifier
|
|
151
153
|
}, /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
|
|
152
154
|
title: linkTitle,
|
|
153
155
|
gtmId: gtmId,
|
|
@@ -196,8 +198,9 @@ Card.propTypes = {
|
|
|
196
198
|
displayCategory: _propTypes["default"].bool.isRequired,
|
|
197
199
|
displayThumbnail: _propTypes["default"].bool.isRequired,
|
|
198
200
|
displayTitle: _propTypes["default"].bool.isRequired,
|
|
199
|
-
enableOverlay: _propTypes["default"].bool
|
|
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,9 @@ Card.defaultProps = {
|
|
|
222
225
|
gtmChildren: [],
|
|
223
226
|
gridModifier: '',
|
|
224
227
|
priority: false,
|
|
225
|
-
overlayModifier: ''
|
|
228
|
+
overlayModifier: 'card__content--overlay',
|
|
229
|
+
titleOverlayModifier: 'card__content--overlay__title',
|
|
230
|
+
enableOverlay: true
|
|
226
231
|
};
|
|
227
232
|
|
|
228
233
|
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","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"}
|
|
@@ -55,7 +55,7 @@ var _helpers2 = require("../../helpers");
|
|
|
55
55
|
|
|
56
56
|
var _utils = require("../../utils");
|
|
57
57
|
|
|
58
|
-
var _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "autoScrollTimer"],
|
|
58
|
+
var _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "arrowSize", "overlayModifier"],
|
|
59
59
|
_excluded2 = ["baseAdunit", "id"];
|
|
60
60
|
|
|
61
61
|
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); }
|
|
@@ -81,7 +81,10 @@ var CardContainer = function CardContainer(_ref) {
|
|
|
81
81
|
bannerModifier = _ref.bannerModifier,
|
|
82
82
|
priorityLimit = _ref.priorityLimit,
|
|
83
83
|
enableAutoScroll = _ref.enableAutoScroll,
|
|
84
|
+
enableOverlay = _ref.enableOverlay,
|
|
84
85
|
autoScrollTimer = _ref.autoScrollTimer,
|
|
86
|
+
arrowSize = _ref.arrowSize,
|
|
87
|
+
overlayModifier = _ref.overlayModifier,
|
|
85
88
|
cardProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
86
89
|
var entities = (0, _helpers2.getEntitiesWithBanner)(cardData, cardProps);
|
|
87
90
|
|
|
@@ -131,7 +134,10 @@ var CardContainer = function CardContainer(_ref) {
|
|
|
131
134
|
displayCategory: displayCategory,
|
|
132
135
|
displayThumbnail: displayThumbnail,
|
|
133
136
|
displayTitle: displayTitle,
|
|
134
|
-
priority: priority
|
|
137
|
+
priority: priority,
|
|
138
|
+
arrowSize: arrowSize,
|
|
139
|
+
enableOverlay: enableOverlay,
|
|
140
|
+
overlayModifier: overlayModifier
|
|
135
141
|
}, entityProps));
|
|
136
142
|
}));
|
|
137
143
|
};
|
|
@@ -155,7 +161,10 @@ CardContainer.propTypes = {
|
|
|
155
161
|
bannerModifier: _propTypes["default"].string,
|
|
156
162
|
priorityLimit: _propTypes["default"].number,
|
|
157
163
|
enableAutoScroll: _propTypes["default"].bool,
|
|
158
|
-
|
|
164
|
+
enableOverlay: _propTypes["default"].bool,
|
|
165
|
+
overlayModifier: _propTypes["default"].string,
|
|
166
|
+
autoScrollTimer: _propTypes["default"].number,
|
|
167
|
+
arrowSize: _propTypes["default"].string
|
|
159
168
|
};
|
|
160
169
|
CardContainer.defaultProps = {
|
|
161
170
|
gtmChildren: [],
|
|
@@ -174,7 +183,10 @@ CardContainer.defaultProps = {
|
|
|
174
183
|
bannerModifier: '',
|
|
175
184
|
priorityLimit: 0,
|
|
176
185
|
enableAutoScroll: false,
|
|
177
|
-
|
|
186
|
+
enableOverlay: false,
|
|
187
|
+
autoScrollTimer: 0,
|
|
188
|
+
overlayModifier: '',
|
|
189
|
+
arrowSize: ''
|
|
178
190
|
};
|
|
179
191
|
|
|
180
192
|
var _default = (0, _HOC.withTitle)(CardContainer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","MainContext","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","CarouselWrapper","Wrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","PropTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","arrowSize","overlayModifier","cardProps","entities","MainContext","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","CarouselWrapper","Wrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","PropTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n arrowSize,\n overlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n arrowSize={arrowSize}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.string\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n arrowSize: ''\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
|
|
@@ -42,7 +42,8 @@ var CarouselWrapper = function CarouselWrapper(_ref) {
|
|
|
42
42
|
bannerModifier = _ref.bannerModifier,
|
|
43
43
|
itemsPerRow = _ref.itemsPerRow,
|
|
44
44
|
enableAutoScroll = _ref.enableAutoScroll,
|
|
45
|
-
autoScrollTimer = _ref.autoScrollTimer
|
|
45
|
+
autoScrollTimer = _ref.autoScrollTimer,
|
|
46
|
+
arrowSize = _ref.arrowSize;
|
|
46
47
|
var ref = (0, _react.useRef)();
|
|
47
48
|
|
|
48
49
|
var _useState = (0, _react.useState)({
|
|
@@ -128,7 +129,9 @@ var CarouselWrapper = function CarouselWrapper(_ref) {
|
|
|
128
129
|
setShouldAutoScroll(false);
|
|
129
130
|
handleButtonNavigation();
|
|
130
131
|
}
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_fa.FaAngleLeft,
|
|
132
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_fa.FaAngleLeft, {
|
|
133
|
+
size: arrowSize
|
|
134
|
+
})))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
132
135
|
className: "cards-carousel--right-button-wrapper"
|
|
133
136
|
}, displayRight && /*#__PURE__*/_react["default"].createElement("button", {
|
|
134
137
|
type: "button",
|
|
@@ -137,7 +140,9 @@ var CarouselWrapper = function CarouselWrapper(_ref) {
|
|
|
137
140
|
setShouldAutoScroll(false);
|
|
138
141
|
handleButtonNavigation(true);
|
|
139
142
|
}
|
|
140
|
-
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_fa.FaAngleRight,
|
|
143
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_fa.FaAngleRight, {
|
|
144
|
+
size: arrowSize
|
|
145
|
+
})))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
141
146
|
className: contentClassName,
|
|
142
147
|
ref: ref,
|
|
143
148
|
onScroll: handleScroll
|
|
@@ -149,14 +154,16 @@ CarouselWrapper.propTypes = {
|
|
|
149
154
|
itemsPerRow: _propTypes["default"].number,
|
|
150
155
|
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
151
156
|
enableAutoScroll: _propTypes["default"].bool,
|
|
152
|
-
autoScrollTimer: _propTypes["default"].number
|
|
157
|
+
autoScrollTimer: _propTypes["default"].number,
|
|
158
|
+
arrowSize: _propTypes["default"].number
|
|
153
159
|
};
|
|
154
160
|
CarouselWrapper.defaultProps = {
|
|
155
161
|
itemsPerRow: 0,
|
|
156
162
|
bannerModifier: '',
|
|
157
163
|
children: [],
|
|
158
164
|
enableAutoScroll: false,
|
|
159
|
-
autoScrollTimer: 0
|
|
165
|
+
autoScrollTimer: 0,
|
|
166
|
+
arrowSize: 14
|
|
160
167
|
};
|
|
161
168
|
var _default = CarouselWrapper;
|
|
162
169
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","ref","displayLeft","displayRight","buttonDisplay","setButtonDisplays","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","PropTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,
|
|
1
|
+
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","displayLeft","displayRight","buttonDisplay","setButtonDisplays","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","PropTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaAngleLeft, FaAngleRight } from 'react-icons/fa';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i>\n <FaAngleLeft size={arrowSize} />\n </i>\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i>\n <FaAngleRight size={arrowSize} />\n </i>\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.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:
|
|
108
|
+
className: titleWrapperModifier
|
|
107
109
|
}, /*#__PURE__*/React.createElement(BlazeLink, {
|
|
108
110
|
title: linkTitle,
|
|
109
111
|
gtmId: gtmId,
|
|
@@ -152,8 +154,9 @@ Card.propTypes = {
|
|
|
152
154
|
displayCategory: PropTypes.bool.isRequired,
|
|
153
155
|
displayThumbnail: PropTypes.bool.isRequired,
|
|
154
156
|
displayTitle: PropTypes.bool.isRequired,
|
|
155
|
-
enableOverlay: PropTypes.bool
|
|
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,9 @@ Card.defaultProps = {
|
|
|
178
181
|
gtmChildren: [],
|
|
179
182
|
gridModifier: '',
|
|
180
183
|
priority: false,
|
|
181
|
-
overlayModifier: ''
|
|
184
|
+
overlayModifier: 'card__content--overlay',
|
|
185
|
+
titleOverlayModifier: 'card__content--overlay__title',
|
|
186
|
+
enableOverlay: true
|
|
182
187
|
};
|
|
183
188
|
|
|
184
189
|
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","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":";;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,SACEC,YADF,EAEEC,cAFF,EAGEC,qBAHF,EAIEC,sBAJF,QAKO,eALP;AAMA,OAAOC,SAAP,MAAsB,cAAtB;AACA,SAASC,sBAAT,EAAiCC,iBAAjC,QAA0D,WAA1D;AACA,SAASC,WAAT,QAA4B,aAA5B;;AAEA,MAAMC,IAAI,GAAG,QA0BP;AAAA,MA1BQ;AACZC,IAAAA,EADY;AAEZC,IAAAA,KAFY;AAGZC,IAAAA,IAHY;AAIZC,IAAAA,GAJY;AAKZC,IAAAA,MALY;AAMZC,IAAAA,WANY;AAOZC,IAAAA,oBAPY;AAQZC,IAAAA,mBARY;AASZC,IAAAA,QATY;AAUZC,IAAAA,QAVY;AAWZC,IAAAA,cAXY;AAYZC,IAAAA,uBAZY;AAaZC,IAAAA,KAbY;AAcZC,IAAAA,KAdY;AAeZC,IAAAA,QAfY;AAgBZC,IAAAA,YAhBY;AAiBZC,IAAAA,WAjBY;AAkBZC,IAAAA,eAlBY;AAmBZC,IAAAA,gBAnBY;AAoBZC,IAAAA,YApBY;AAqBZC,IAAAA,aArBY;AAsBZC,IAAAA,oBAtBY;AAuBZC,IAAAA,eAvBY;AAwBZC,IAAAA;AAxBY,GA0BR;AAAA,MADDC,UACC;;AACJ/B,EAAAA,qBAAqB,CAACsB,YAAD,EAAef,EAAf,EAAmBI,MAAnB,CAArB;AACA,QAAM;AAAEqB,IAAAA,QAAF;AAAYC,IAAAA,sBAAZ;AAAoCC,IAAAA;AAApC,MAAgDC,oBAAoB,CAAC;AACzE3B,IAAAA,KADyE;AAEzEiB,IAAAA;AAFyE,GAAD,CAA1E;AAKA,QAAMW,SAAS,GAAGC,mBAAmB,CAAC;AAAErB,IAAAA,QAAF;AAAYI,IAAAA,KAAZ;AAAmBW,IAAAA;AAAnB,GAAD,CAArC;AAEA,QAAM;AAAEO,IAAAA,oBAAF;AAAwBC,IAAAA,SAAxB;AAAmCC,IAAAA,KAAnC;AAA0CC,IAAAA;AAA1C,MAAuDC,uBAAuB,CAAC;AACnF7B,IAAAA,oBADmF;AAEnFE,IAAAA,QAFmF;AAGnFJ,IAAAA,MAHmF;AAInFG,IAAAA,mBAJmF;AAKnFU,IAAAA,eALmF;AAMnFf,IAAAA;AANmF,GAAD,CAApF;AAQA,QAAMkC,SAAS,GAAGlC,IAAlB;AACA,QAAMmC,cAAc,GAAGxC,iBAAiB,CAACC,WAAD,EAAc;AAAEe,IAAAA,KAAF;AAASU,IAAAA,YAAT;AAAuBd,IAAAA;AAAvB,GAAd,CAAxC;AACA,QAAM;AAAE6B,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MAA0C7C,sBAAsB,CACpEsB,WADoE,EAEpEX,WAFoE,EAGpEL,EAHoE,CAAtE;AAKA,QAAMwC,OAAO,GAAGF,qBAAqB,GAAGhD,YAAH,GAAkBH,QAAvD;AACA,QAAMsD,sBAAsB,GAAGlD,YAAY,CAACO,WAAD,EAAc+B,SAAd,CAA3C;AAEA,QAAMa,sBAAsB,GAAI,GAAEnD,YAAY,CAAC,uBAAD,EAA0BsC,SAA1B,CAAqC,IACjFT,aAAa,GAAGE,eAAH,GAAqB,EACnC,EAFD;AAIA,QAAMqB,oBAAoB,GAAI,GAAEpD,YAAY,CAAC,aAAD,EAAgBsC,SAAhB,CAA2B,IAAGR,oBAAqB,EAA/F;AAEA,sBACE,oBAAC,OAAD,EAAakB,YAAb,eACE;AAAK,IAAA,SAAS,EAAEE;AAAhB,KACGf,sBAAsB,iBACrB;AAAK,IAAA,SAAS,EAAEnC,YAAY,CAAC,aAAD,EAAgBsC,SAAhB;AAA5B,kBACE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEjB,KAAlB;AAAyB,IAAA,IAAI,EAAET,GAA/B;AAAoC,IAAA,SAAS,EAAC,kBAA9C;AAAiE,IAAA,MAAM;AAAvE,kBACE,oBAAC,SAAD;AACE,IAAA,GAAG,EAAEsB,QADP;AAEE,IAAA,GAAG,EAAEE,OAFP;AAGE,IAAA,OAAO,EAAEU,cAHX;AAIE,IAAA,QAAQ,EAAEvB;AAJZ,IADF,CADF,CAFJ,eAaE;AAAK,IAAA,SAAS,EAAE4B;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEnD,YAAY,CAAC,eAAD,EAAkBsC,SAAlB;AAA5B,KACGZ,eAAe,KACbc,oBAAoB,gBACnB,oBAAC,SAAD;AACE,IAAA,KAAK,EAAEnB,KADT;AAEE,IAAA,IAAI,EAAEmB,oBAFR;AAGE,IAAA,SAAS,EAAC,oBAHZ;AAIE,IAAA,MAAM;AAJR,KAKGC,SAAS,CAAC9B,IALb,CADmB,gBASnB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqC+B,KAArC,CAVY,CADlB,EAaGd,YAAY,iBACX;AAAI,IAAA,SAAS,EAAEwB;AAAf,kBACE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEP,SAAlB;AAA6B,IAAA,KAAK,EAAExB,KAApC;AAA2C,IAAA,IAAI,EAAET,GAAjD;AAAsD,IAAA,MAAM;AAA5D,KACG+B,QADH,CADF,CAdJ,EAoBG,CAAC,CAACxB,cAAc,CAACkC,MAAjB,iBACC;AAAK,IAAA,SAAS,EAAErD,YAAY,CAAC,eAAD,EAAkBsC,SAAlB;AAA5B,KACGnB,cAAc,CAACmC,GAAf,CAAmB,CAACC,IAAD,EAAOC,CAAP,KAAa;AAC/B,QAAI,CAACD,IAAL,EAAW,OAAO,IAAP;AACX,UAAME,UAAU,GAAI,GAAEhD,EAAG,GAAE+C,CAAE,EAA7B;AACA,UAAME,YAAY,GAAGtC,uBAAuB,CAACoC,CAAD,CAAvB,IAA8B,EAAnD;AAEA,wBACE;AAAM,MAAA,GAAG,EAAEC,UAAX;AAAuB,MAAA,SAAS,EAAEC;AAAlC,OACGH,IADH,CADF;AAKD,GAVA,CADH,CArBJ,CADF,EAqCG,CAAC,CAAC/B,YAAF,iBACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCvB,cAAc,CAACuB,YAAD,CAApD,CAtCJ,CAbF,CADF,CADF;AA2DD,CAtHD;;AAwHAhB,IAAI,CAACmD,SAAL,GAAiB;AACflD,EAAAA,EAAE,EAAEZ,SAAS,CAAC+D,MAAV,CAAiBC,UADN;AAEfnD,EAAAA,KAAK,EAAEb,SAAS,CAACiE,KAAV,CAAgB;AACrBlD,IAAAA,GAAG,EAAEf,SAAS,CAAC+D,MADM;AAErBG,IAAAA,IAAI,EAAElE,SAAS,CAACmE;AAFK,GAAhB,CAFQ;AAMf1C,EAAAA,KAAK,EAAEzB,SAAS,CAAC+D,MANF;AAOfzC,EAAAA,cAAc,EAAEtB,SAAS,CAACoE,KAPX;AAQf7C,EAAAA,uBAAuB,EAAEvB,SAAS,CAACoE,KARpB;AASfrD,EAAAA,GAAG,EAAEf,SAAS,CAAC+D,MATA;AAUfjD,EAAAA,IAAI,EAAEd,SAAS,CAAC+D,MAAV,CAAiBC,UAVR;AAWfhD,EAAAA,MAAM,EAAEhB,SAAS,CAAC+D,MAAV,CAAiBC,UAXV;AAYf/C,EAAAA,WAAW,EAAEjB,SAAS,CAACmE,MAZR;AAaf3C,EAAAA,KAAK,EAAExB,SAAS,CAAC+D,MAbF;AAcf7C,EAAAA,oBAAoB,EAAElB,SAAS,CAACiE,KAAV,CAAgB;AACpCnD,IAAAA,IAAI,EAAEd,SAAS,CAAC+D;AADoB,GAAhB,CAdP;AAiBf5C,EAAAA,mBAAmB,EAAEnB,SAAS,CAAC+D,MAjBhB;AAkBf3C,EAAAA,QAAQ,EAAEpB,SAAS,CAACiE,KAAV,CAAgB;AACxBnD,IAAAA,IAAI,EAAEd,SAAS,CAAC+D,MADQ;AAExBpB,IAAAA,oBAAoB,EAAE3C,SAAS,CAACiE,KAAV,CAAgB;AACpClD,MAAAA,GAAG,EAAEf,SAAS,CAAC+D;AADqB,KAAhB;AAFE,GAAhB,CAlBK;AAwBf1C,EAAAA,QAAQ,EAAErB,SAAS,CAAC+D,MAxBL;AAyBflC,EAAAA,eAAe,EAAE7B,SAAS,CAACqE,IAAV,CAAeL,UAzBjB;AA0BflC,EAAAA,gBAAgB,EAAE9B,SAAS,CAACqE,IAAV,CAAeL,UA1BlB;AA2BfjC,EAAAA,YAAY,EAAE/B,SAAS,CAACqE,IAAV,CAAeL,UA3Bd;AA4BfhC,EAAAA,aAAa,EAAEhC,SAAS,CAACqE,IA5BV;AA6BfnC,EAAAA,eAAe,EAAElC,SAAS,CAAC+D,MA7BZ;AA8Bf9B,EAAAA,oBAAoB,EAAEjC,SAAS,CAAC+D,MA9BjB;AA+BfpC,EAAAA,YAAY,EAAE3B,SAAS,CAACsE,SAAV,CAAoB,CAACtE,SAAS,CAACuE,OAAV,CAAkBvE,SAAS,CAACwE,IAA5B,CAAD,EAAoCxE,SAAS,CAACwE,IAA9C,CAApB,CA/BC;AAgCf5C,EAAAA,WAAW,EAAE5B,SAAS,CAACsE,SAAV,CAAoB,CAACtE,SAAS,CAACuE,OAAV,CAAkBvE,SAAS,CAACwE,IAA5B,CAAD,EAAoCxE,SAAS,CAACwE,IAA9C,CAApB,CAhCE;AAiCfrC,EAAAA,YAAY,EAAEnC,SAAS,CAAC+D,MAjCT;AAkCfrC,EAAAA,QAAQ,EAAE1B,SAAS,CAACqE;AAlCL,CAAjB;AAqCA1D,IAAI,CAAC8D,YAAL,GAAoB;AAClBxD,EAAAA,WAAW,EAAE,EADK;AAElBJ,EAAAA,KAAK,EAAE;AACLE,IAAAA,GAAG,EAAE,IADA;AAELmD,IAAAA,IAAI,EAAE;AAFD,GAFW;AAMlB1C,EAAAA,KAAK,EAAE,EANW;AAOlBC,EAAAA,KAAK,EAAE,UAPW;AAQlBH,EAAAA,cAAc,EAAE,EARE;AASlBC,EAAAA,uBAAuB,EAAE,EATP;AAUlBR,EAAAA,GAAG,EAAE,EAVa;AAWlBG,EAAAA,oBAAoB,EAAE,IAXJ;AAYlBC,EAAAA,mBAAmB,EAAE,EAZH;AAalBC,EAAAA,QAAQ,EAAE,IAbQ;AAclBC,EAAAA,QAAQ,EAAE,EAdQ;AAelBM,EAAAA,YAAY,EAAE,EAfI;AAgBlBC,EAAAA,WAAW,EAAE,EAhBK;AAiBlBO,EAAAA,YAAY,EAAE,EAjBI;AAkBlBT,EAAAA,QAAQ,EAAE,KAlBQ;AAmBlBQ,EAAAA,eAAe,EAAE,wBAnBC;AAoBlBD,EAAAA,oBAAoB,EAAE,+BApBJ;AAqBlBD,EAAAA,aAAa,EAAE;AArBG,CAApB;;AAwBA,MAAMe,uBAAuB,GAAG,CAAC;AAC/B7B,EAAAA,oBAD+B;AAE/BE,EAAAA,QAF+B;AAG/BJ,EAAAA,MAH+B;AAI/BG,EAAAA,mBAJ+B;AAK/BU,EAAAA,eAL+B;AAM/Bf,EAAAA;AAN+B,CAAD,KAO1B;AACJ,QAAM4D,uBAAuB,GAAGxD,oBAAoB,IAAIA,oBAAoB,CAACJ,IAA7E;AACA,QAAM8B,SAAS,GACbzB,mBAAmB,IAAIuD,uBAAvB,GAAiDxD,oBAAjD,GAAwEE,QAD1E;AAEA,QAAMuB,oBAAoB,GAAGnC,sBAAsB,CAACoC,SAAD,CAAnD;AACA,QAAMC,KAAK,GAAGD,SAAS,GAAGA,SAAS,CAAC9B,IAAb,GAAoBE,MAA3C;AACA,QAAM8B,QAAQ,GACZ,CAACjB,eAAD,IAAoB,CAAC6C,uBAArB,GAA+C5D,IAA/C,GAAsDK,mBAAmB,IAAIL,IAD/E;AAEA,SAAO;AAAE6B,IAAAA,oBAAF;AAAwBC,IAAAA,SAAxB;AAAmCC,IAAAA,KAAnC;AAA0CC,IAAAA;AAA1C,GAAP;AACD,CAhBD;;AAkBA,MAAMN,oBAAoB,GAAG,CAAC;AAAE3B,EAAAA,KAAF;AAASiB,EAAAA;AAAT,CAAD,KAAiC;AAC5D,QAAM;AAAEf,IAAAA,GAAG,EAAEsB,QAAP;AAAiB6B,IAAAA;AAAjB,MAA0BrD,KAAK,IAAI,EAAzC;AACA,QAAMyB,sBAAsB,GAAGR,gBAAgB,IAAIO,QAAnD;AACA,QAAME,OAAO,GAAI2B,IAAI,IAAIA,IAAI,CAAC3B,OAAd,IAA0B,EAA1C;AACA,SAAO;AAAEF,IAAAA,QAAF;AAAYC,IAAAA,sBAAZ;AAAoCC,IAAAA;AAApC,GAAP;AACD,CALD;;AAOA,MAAMG,mBAAmB,GAAG,CAAC;AAAErB,EAAAA,QAAF;AAAYI,EAAAA,KAAZ;AAAmBW,EAAAA;AAAnB,CAAD,KAAqC;AAC/D,QAAMK,SAAS,GAAG,CAACpB,QAAD,EAAWI,KAAX,CAAlB;AACA,QAAM;AAAEkD,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BxC,UAAhC;AACA,MAAIuC,SAAJ,EAAelC,SAAS,CAACoC,IAAV,CAAe,WAAf;AACf,MAAID,QAAJ,EAAcnC,SAAS,CAACoC,IAAV,CAAe,UAAf;AAEd,SAAOpC,SAAP;AACD,CAPD;;AASA,eAAe9B,IAAf","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,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "autoScrollTimer"],
|
|
3
|
+
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "arrowSize", "overlayModifier"],
|
|
4
4
|
_excluded2 = ["baseAdunit", "id"];
|
|
5
5
|
import React, { useContext } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
@@ -34,7 +34,10 @@ const CardContainer = _ref => {
|
|
|
34
34
|
bannerModifier,
|
|
35
35
|
priorityLimit,
|
|
36
36
|
enableAutoScroll,
|
|
37
|
-
|
|
37
|
+
enableOverlay,
|
|
38
|
+
autoScrollTimer,
|
|
39
|
+
arrowSize,
|
|
40
|
+
overlayModifier
|
|
38
41
|
} = _ref,
|
|
39
42
|
cardProps = _objectWithoutProperties(_ref, _excluded);
|
|
40
43
|
|
|
@@ -88,7 +91,10 @@ const CardContainer = _ref => {
|
|
|
88
91
|
displayCategory: displayCategory,
|
|
89
92
|
displayThumbnail: displayThumbnail,
|
|
90
93
|
displayTitle: displayTitle,
|
|
91
|
-
priority: priority
|
|
94
|
+
priority: priority,
|
|
95
|
+
arrowSize: arrowSize,
|
|
96
|
+
enableOverlay: enableOverlay,
|
|
97
|
+
overlayModifier: overlayModifier
|
|
92
98
|
}, entityProps));
|
|
93
99
|
}));
|
|
94
100
|
};
|
|
@@ -112,7 +118,10 @@ CardContainer.propTypes = {
|
|
|
112
118
|
bannerModifier: PropTypes.string,
|
|
113
119
|
priorityLimit: PropTypes.number,
|
|
114
120
|
enableAutoScroll: PropTypes.bool,
|
|
115
|
-
|
|
121
|
+
enableOverlay: PropTypes.bool,
|
|
122
|
+
overlayModifier: PropTypes.string,
|
|
123
|
+
autoScrollTimer: PropTypes.number,
|
|
124
|
+
arrowSize: PropTypes.string
|
|
116
125
|
};
|
|
117
126
|
CardContainer.defaultProps = {
|
|
118
127
|
gtmChildren: [],
|
|
@@ -131,7 +140,10 @@ CardContainer.defaultProps = {
|
|
|
131
140
|
bannerModifier: '',
|
|
132
141
|
priorityLimit: 0,
|
|
133
142
|
enableAutoScroll: false,
|
|
134
|
-
|
|
143
|
+
enableOverlay: false,
|
|
144
|
+
autoScrollTimer: 0,
|
|
145
|
+
overlayModifier: '',
|
|
146
|
+
arrowSize: ''
|
|
135
147
|
};
|
|
136
148
|
export default withTitle(CardContainer);
|
|
137
149
|
//# sourceMappingURL=CardContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAA0B,WAA1B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,SAASC,qBAAT,QAAsC,WAAtC;AACA,SAASC,qBAAT,EAAgCC,mBAAhC,QAA2D,eAA3D;AACA,SAASC,0BAAT,QAA2C,aAA3C;;AAEA,MAAMC,aAAa,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","arrowSize","overlayModifier","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n arrowSize,\n overlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n arrowSize={arrowSize}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.string\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n arrowSize: ''\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
|
|
@@ -7,7 +7,8 @@ const CarouselWrapper = ({
|
|
|
7
7
|
bannerModifier,
|
|
8
8
|
itemsPerRow,
|
|
9
9
|
enableAutoScroll,
|
|
10
|
-
autoScrollTimer
|
|
10
|
+
autoScrollTimer,
|
|
11
|
+
arrowSize
|
|
11
12
|
}) => {
|
|
12
13
|
const ref = useRef();
|
|
13
14
|
const [buttonDisplay, setButtonDisplays] = useState({
|
|
@@ -94,7 +95,9 @@ const CarouselWrapper = ({
|
|
|
94
95
|
setShouldAutoScroll(false);
|
|
95
96
|
handleButtonNavigation();
|
|
96
97
|
}
|
|
97
|
-
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleLeft,
|
|
98
|
+
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleLeft, {
|
|
99
|
+
size: arrowSize
|
|
100
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
98
101
|
className: "cards-carousel--right-button-wrapper"
|
|
99
102
|
}, displayRight && /*#__PURE__*/React.createElement("button", {
|
|
100
103
|
type: "button",
|
|
@@ -103,7 +106,9 @@ const CarouselWrapper = ({
|
|
|
103
106
|
setShouldAutoScroll(false);
|
|
104
107
|
handleButtonNavigation(true);
|
|
105
108
|
}
|
|
106
|
-
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleRight,
|
|
109
|
+
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleRight, {
|
|
110
|
+
size: arrowSize
|
|
111
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
107
112
|
className: contentClassName,
|
|
108
113
|
ref: ref,
|
|
109
114
|
onScroll: handleScroll
|
|
@@ -115,14 +120,16 @@ CarouselWrapper.propTypes = {
|
|
|
115
120
|
itemsPerRow: PropTypes.number,
|
|
116
121
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
117
122
|
enableAutoScroll: PropTypes.bool,
|
|
118
|
-
autoScrollTimer: PropTypes.number
|
|
123
|
+
autoScrollTimer: PropTypes.number,
|
|
124
|
+
arrowSize: PropTypes.number
|
|
119
125
|
};
|
|
120
126
|
CarouselWrapper.defaultProps = {
|
|
121
127
|
itemsPerRow: 0,
|
|
122
128
|
bannerModifier: '',
|
|
123
129
|
children: [],
|
|
124
130
|
enableAutoScroll: false,
|
|
125
|
-
autoScrollTimer: 0
|
|
131
|
+
autoScrollTimer: 0,
|
|
132
|
+
arrowSize: 14
|
|
126
133
|
};
|
|
127
134
|
export default CarouselWrapper;
|
|
128
135
|
//# sourceMappingURL=CarouselWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","FaAngleLeft","FaAngleRight","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,EAAkCC,SAAlC,QAAmD,OAAnD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,WAAT,EAAsBC,YAAtB,QAA0C,gBAA1C;;AAEA,MAAMC,eAAe,GAAG,CAAC;AACvBC,EAAAA,QADuB;AAEvBC,EAAAA,cAFuB;AAGvBC,EAAAA,WAHuB;AAIvBC,EAAAA,gBAJuB;AAKvBC,EAAAA;
|
|
1
|
+
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","FaAngleLeft","FaAngleRight","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaAngleLeft, FaAngleRight } from 'react-icons/fa';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i>\n <FaAngleLeft size={arrowSize} />\n </i>\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i>\n <FaAngleRight size={arrowSize} />\n </i>\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.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.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": "
|
|
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={
|
|
104
|
+
<h2 className={titleWrapperModifier}>
|
|
102
105
|
<BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>
|
|
103
106
|
{headline}
|
|
104
107
|
</BlazeLink>
|
|
@@ -157,8 +160,9 @@ Card.propTypes = {
|
|
|
157
160
|
displayCategory: PropTypes.bool.isRequired,
|
|
158
161
|
displayThumbnail: PropTypes.bool.isRequired,
|
|
159
162
|
displayTitle: PropTypes.bool.isRequired,
|
|
160
|
-
enableOverlay: PropTypes.bool
|
|
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,9 @@ Card.defaultProps = {
|
|
|
184
188
|
gtmChildren: [],
|
|
185
189
|
gridModifier: '',
|
|
186
190
|
priority: false,
|
|
187
|
-
overlayModifier: ''
|
|
191
|
+
overlayModifier: 'card__content--overlay',
|
|
192
|
+
titleOverlayModifier: 'card__content--overlay__title',
|
|
193
|
+
enableOverlay: true
|
|
188
194
|
};
|
|
189
195
|
|
|
190
196
|
const getCategoryDefinedProps = ({
|
|
@@ -29,7 +29,10 @@ const CardContainer = ({
|
|
|
29
29
|
bannerModifier,
|
|
30
30
|
priorityLimit,
|
|
31
31
|
enableAutoScroll,
|
|
32
|
+
enableOverlay,
|
|
32
33
|
autoScrollTimer,
|
|
34
|
+
arrowSize,
|
|
35
|
+
overlayModifier,
|
|
33
36
|
...cardProps
|
|
34
37
|
}) => {
|
|
35
38
|
const entities = getEntitiesWithBanner(cardData, cardProps);
|
|
@@ -84,6 +87,9 @@ const CardContainer = ({
|
|
|
84
87
|
displayThumbnail={displayThumbnail}
|
|
85
88
|
displayTitle={displayTitle}
|
|
86
89
|
priority={priority}
|
|
90
|
+
arrowSize={arrowSize}
|
|
91
|
+
enableOverlay={enableOverlay}
|
|
92
|
+
overlayModifier={overlayModifier}
|
|
87
93
|
{...entityProps}
|
|
88
94
|
/>
|
|
89
95
|
);
|
|
@@ -111,7 +117,10 @@ CardContainer.propTypes = {
|
|
|
111
117
|
bannerModifier: PropTypes.string,
|
|
112
118
|
priorityLimit: PropTypes.number,
|
|
113
119
|
enableAutoScroll: PropTypes.bool,
|
|
114
|
-
|
|
120
|
+
enableOverlay: PropTypes.bool,
|
|
121
|
+
overlayModifier: PropTypes.string,
|
|
122
|
+
autoScrollTimer: PropTypes.number,
|
|
123
|
+
arrowSize: PropTypes.string
|
|
115
124
|
};
|
|
116
125
|
|
|
117
126
|
CardContainer.defaultProps = {
|
|
@@ -131,7 +140,10 @@ CardContainer.defaultProps = {
|
|
|
131
140
|
bannerModifier: '',
|
|
132
141
|
priorityLimit: 0,
|
|
133
142
|
enableAutoScroll: false,
|
|
134
|
-
|
|
143
|
+
enableOverlay: false,
|
|
144
|
+
autoScrollTimer: 0,
|
|
145
|
+
overlayModifier: '',
|
|
146
|
+
arrowSize: ''
|
|
135
147
|
};
|
|
136
148
|
|
|
137
149
|
export default withTitle(CardContainer);
|
|
@@ -7,7 +7,8 @@ const CarouselWrapper = ({
|
|
|
7
7
|
bannerModifier,
|
|
8
8
|
itemsPerRow,
|
|
9
9
|
enableAutoScroll,
|
|
10
|
-
autoScrollTimer
|
|
10
|
+
autoScrollTimer,
|
|
11
|
+
arrowSize
|
|
11
12
|
}) => {
|
|
12
13
|
const ref = useRef();
|
|
13
14
|
const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });
|
|
@@ -81,7 +82,7 @@ const CarouselWrapper = ({
|
|
|
81
82
|
handleButtonNavigation();
|
|
82
83
|
}}>
|
|
83
84
|
<i>
|
|
84
|
-
<FaAngleLeft />
|
|
85
|
+
<FaAngleLeft size={arrowSize} />
|
|
85
86
|
</i>
|
|
86
87
|
</button>
|
|
87
88
|
)}
|
|
@@ -96,7 +97,7 @@ const CarouselWrapper = ({
|
|
|
96
97
|
handleButtonNavigation(true);
|
|
97
98
|
}}>
|
|
98
99
|
<i>
|
|
99
|
-
<FaAngleRight />
|
|
100
|
+
<FaAngleRight size={arrowSize} />
|
|
100
101
|
</i>
|
|
101
102
|
</button>
|
|
102
103
|
)}
|
|
@@ -113,7 +114,8 @@ CarouselWrapper.propTypes = {
|
|
|
113
114
|
itemsPerRow: PropTypes.number,
|
|
114
115
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
115
116
|
enableAutoScroll: PropTypes.bool,
|
|
116
|
-
autoScrollTimer: PropTypes.number
|
|
117
|
+
autoScrollTimer: PropTypes.number,
|
|
118
|
+
arrowSize: PropTypes.number
|
|
117
119
|
};
|
|
118
120
|
|
|
119
121
|
CarouselWrapper.defaultProps = {
|
|
@@ -121,7 +123,8 @@ CarouselWrapper.defaultProps = {
|
|
|
121
123
|
bannerModifier: '',
|
|
122
124
|
children: [],
|
|
123
125
|
enableAutoScroll: false,
|
|
124
|
-
autoScrollTimer: 0
|
|
126
|
+
autoScrollTimer: 0,
|
|
127
|
+
arrowSize: 14
|
|
125
128
|
};
|
|
126
129
|
|
|
127
130
|
export default CarouselWrapper;
|
|
@@ -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__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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
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"
|
|
@@ -12,6 +12,7 @@ const cardDataMockedOptions = {
|
|
|
12
12
|
caption: ''
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
+
arrowSize: 14,
|
|
15
16
|
yacht: {
|
|
16
17
|
builders_list: "| Nautor's Swan |",
|
|
17
18
|
length_overall: 23.99,
|
|
@@ -24,6 +25,7 @@ const cardDataMockedOptions = {
|
|
|
24
25
|
name: 'Swan 98',
|
|
25
26
|
url: '/nautors-swan/swan-98',
|
|
26
27
|
category: null,
|
|
28
|
+
arrowSize: 14,
|
|
27
29
|
image: {
|
|
28
30
|
url:
|
|
29
31
|
'https://cdn-events.boatinternational.com/files/2020/04/2f8c4030-879c-11ea-aab3-6d01477a82d7-Swan 98 - 1.jpg',
|
package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap
CHANGED
|
@@ -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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
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>
|