@blaze-cms/react-page-builder 0.128.0-core-styles.0 → 0.128.0
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 +46 -369
- package/lib/components/Card/Card.js +1 -1
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardsContainer.js +53 -24
- package/lib/components/Card/CardsContainer.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js +2 -1
- package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-link-props.js +23 -0
- package/lib/components/DataSummary/helpers/get-link-props.js.map +1 -0
- package/lib/components/DataSummary/helpers/get-link-to-published-content.js +7 -12
- package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/index.js +7 -0
- package/lib/components/DataSummary/helpers/index.js.map +1 -1
- package/lib/components/Image/Image.js +1 -1
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/List/components/helpers/check-if-should-render-banner.js +27 -5
- package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
- package/lib/components/List/components/helpers/index.js +8 -2
- package/lib/components/List/components/helpers/index.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js +6 -1
- package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js +9 -5
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib/components/SearchFilter/components/Select.js +9 -5
- package/lib/components/SearchFilter/components/Select.js.map +1 -1
- package/lib/components/SearchFilter/components/TextSearch.js +9 -5
- package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib/helpers/build-props-query.js +34 -24
- package/lib/helpers/build-props-query.js.map +1 -1
- package/lib/hooks/helpers/RenderComponent.js +3 -2
- package/lib/hooks/helpers/RenderComponent.js.map +1 -1
- package/lib-es/components/Card/Card.js +1 -1
- package/lib-es/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/CardsContainer.js +59 -35
- package/lib-es/components/Card/CardsContainer.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryFactory.js +3 -2
- package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/get-link-props.js +6 -0
- package/lib-es/components/DataSummary/helpers/get-link-props.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +4 -7
- package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/index.js +2 -1
- package/lib-es/components/DataSummary/helpers/index.js.map +1 -1
- package/lib-es/components/Image/Image.js +1 -1
- package/lib-es/components/Image/Image.js.map +1 -1
- package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +29 -3
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
- package/lib-es/components/List/components/helpers/index.js +3 -2
- package/lib-es/components/List/components/helpers/index.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js +6 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js +9 -5
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Select.js +9 -5
- package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
- package/lib-es/components/SearchFilter/components/TextSearch.js +9 -5
- package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib-es/helpers/build-props-query.js +22 -9
- package/lib-es/helpers/build-props-query.js.map +1 -1
- package/lib-es/hooks/helpers/RenderComponent.js +3 -2
- package/lib-es/hooks/helpers/RenderComponent.js.map +1 -1
- package/package.json +10 -9
- package/src/components/Card/Card.js +2 -2
- package/src/components/Card/CardsContainer.js +54 -35
- package/src/components/DataSummary/DataSummaryFactory.js +3 -2
- package/src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
- package/src/components/DataSummary/helpers/get-link-props.js +7 -0
- package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -8
- package/src/components/DataSummary/helpers/index.js +3 -1
- package/src/components/Image/Image.js +1 -1
- package/src/components/List/components/Full/FullRender.js +0 -1
- package/src/components/List/components/helpers/check-if-should-render-banner.js +24 -3
- package/src/components/List/components/helpers/index.js +4 -2
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +0 -1
- package/src/components/SearchFilter/components/Checkbox.js +4 -0
- package/src/components/SearchFilter/components/Range.js +7 -4
- package/src/components/SearchFilter/components/Select.js +23 -17
- package/src/components/SearchFilter/components/TextSearch.js +30 -26
- package/src/helpers/build-props-query.js +46 -33
- package/src/hooks/helpers/RenderComponent.js +19 -16
- package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
- package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -8
- package/tests/unit/src/components/DataSummary/DataSummaryTypes/__snapshots__/ItemDetailsSummary.test.js.snap +24 -4
- package/tests/unit/src/components/DataSummary/helpers/get-link-props.test.js +35 -0
- package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +0 -3
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
- package/tests/unit/src/components/List/components/helpers/check-if-should-render-banner.test.js +59 -28
|
@@ -11,13 +11,15 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _input = _interopRequireDefault(require("@blaze-react/input"));
|
|
13
13
|
var _md = require("react-icons/md");
|
|
14
|
-
var _HOC = require("../../../HOC");
|
|
15
14
|
var _constants = require("../constants");
|
|
16
15
|
var TextSearch = function TextSearch(_ref) {
|
|
17
16
|
var label = _ref.label,
|
|
18
17
|
searchValue = _ref.searchValue,
|
|
19
|
-
updateFilterValues = _ref.updateFilterValues
|
|
20
|
-
|
|
18
|
+
updateFilterValues = _ref.updateFilterValues,
|
|
19
|
+
elementTitle = _ref.elementTitle;
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
|
+
className: "heading heading--section"
|
|
22
|
+
}, elementTitle), /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
23
|
className: "search"
|
|
22
24
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
23
25
|
className: "search__wrapper"
|
|
@@ -38,16 +40,18 @@ var TextSearch = function TextSearch(_ref) {
|
|
|
38
40
|
e.preventDefault();
|
|
39
41
|
updateFilterValues((0, _defineProperty2["default"])({}, _constants.SEARCH_TERM, searchValue), true);
|
|
40
42
|
}
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_md.MdSearch, null)))));
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_md.MdSearch, null))))));
|
|
42
44
|
};
|
|
43
45
|
TextSearch.propTypes = {
|
|
44
46
|
searchValue: _propTypes["default"].string.isRequired,
|
|
45
47
|
updateFilterValues: _propTypes["default"].func.isRequired,
|
|
48
|
+
elementTitle: _propTypes["default"].string,
|
|
46
49
|
label: _propTypes["default"].string
|
|
47
50
|
};
|
|
48
51
|
TextSearch.defaultProps = {
|
|
52
|
+
elementTitle: '',
|
|
49
53
|
label: ''
|
|
50
54
|
};
|
|
51
|
-
var _default =
|
|
55
|
+
var _default = TextSearch;
|
|
52
56
|
exports["default"] = _default;
|
|
53
57
|
//# sourceMappingURL=TextSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextSearch.js","names":["_react","_interopRequireDefault","require","_propTypes","_input","_md","
|
|
1
|
+
{"version":3,"file":"TextSearch.js","names":["_react","_interopRequireDefault","require","_propTypes","_input","_md","_constants","TextSearch","_ref","label","searchValue","updateFilterValues","elementTitle","createElement","Fragment","className","id","SEARCH_TERM","value","placeholder","onChange","_ref2","eValue","_defineProperty2","type","onClick","e","preventDefault","MdSearch","propTypes","PropTypes","string","isRequired","func","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/TextSearch.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from '@blaze-react/input';\nimport { MdSearch } from 'react-icons/md';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues, elementTitle }) => (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <div className=\"search\">\n <div className=\"search__wrapper\">\n <div className=\"form-field form-field--input form-field--search\">\n <Input\n id={SEARCH_TERM}\n value={searchValue}\n placeholder={label || 'Search'}\n onChange={({ value: eValue }) => {\n updateFilterValues({ [SEARCH_TERM]: eValue }, false);\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"icon-button icon-button--search\"\n onClick={e => {\n e.preventDefault();\n updateFilterValues({ [SEARCH_TERM]: searchValue }, true);\n }}>\n <i>\n <MdSearch />\n </i>\n </button>\n </div>\n </div>\n </>\n);\n\nTextSearch.propTypes = {\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n elementTitle: PropTypes.string,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n elementTitle: '',\n label: ''\n};\n\nexport default TextSearch;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAMK,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;EAAA,oBACxEZ,MAAA,YAAAa,aAAA,CAAAb,MAAA,YAAAc,QAAA,QACGF,YAAY,iBAAIZ,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAA0B,GAAEH,YAAY,CAAO,eAC/EZ,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAQ,gBACrBf,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAiB,gBAC9Bf,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAiD,gBAC9Df,MAAA,YAAAa,aAAA,CAACT,MAAA,WAAK;IACJY,EAAE,EAAEC,sBAAY;IAChBC,KAAK,EAAER,WAAY;IACnBS,WAAW,EAAEV,KAAK,IAAI,QAAS;IAC/BW,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAAuB;MAAA,IAAbC,MAAM,GAAAD,KAAA,CAAbH,KAAK;MAChBP,kBAAkB,KAAAY,gBAAA,iBAAIN,sBAAW,EAAGK,MAAM,GAAI,KAAK,CAAC;IACtD;EAAE,EACF,CACE,eACNtB,MAAA,YAAAa,aAAA;IACEW,IAAI,EAAC,QAAQ;IACbT,SAAS,EAAC,iCAAiC;IAC3CU,OAAO,EAAE,SAAAA,QAAAC,CAAC,EAAI;MACZA,CAAC,CAACC,cAAc,EAAE;MAClBhB,kBAAkB,KAAAY,gBAAA,iBAAIN,sBAAW,EAAGP,WAAW,GAAI,IAAI,CAAC;IAC1D;EAAE,gBACFV,MAAA,YAAAa,aAAA,yBACEb,MAAA,YAAAa,aAAA,CAACR,GAAA,CAAAuB,QAAQ,OAAG,CACV,CACG,CACL,CACF,CACL;AAAA,CACJ;AAEDrB,UAAU,CAACsB,SAAS,GAAG;EACrBnB,WAAW,EAAEoB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCrB,kBAAkB,EAAEmB,qBAAS,CAACG,IAAI,CAACD,UAAU;EAC7CpB,YAAY,EAAEkB,qBAAS,CAACC,MAAM;EAC9BtB,KAAK,EAAEqB,qBAAS,CAACC;AACnB,CAAC;AAEDxB,UAAU,CAAC2B,YAAY,GAAG;EACxBtB,YAAY,EAAE,EAAE;EAChBH,KAAK,EAAE;AACT,CAAC;AAAC,IAAA0B,QAAA,GAEa5B,UAAU;AAAA6B,OAAA,cAAAD,QAAA"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
11
|
require("core-js/modules/es.array.filter.js");
|
|
11
12
|
require("core-js/modules/es.object.to-string.js");
|
|
@@ -17,11 +18,11 @@ require("core-js/modules/es.array.iterator.js");
|
|
|
17
18
|
require("core-js/modules/es.set.js");
|
|
18
19
|
require("core-js/modules/es.string.iterator.js");
|
|
19
20
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
20
|
-
require("core-js/modules/es.array.
|
|
21
|
+
require("core-js/modules/es.array.for-each.js");
|
|
22
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
21
23
|
require("core-js/modules/es.array.join.js");
|
|
22
24
|
require("core-js/modules/es.array.map.js");
|
|
23
25
|
require("core-js/modules/es.array.find.js");
|
|
24
|
-
require("core-js/modules/es.string.starts-with.js");
|
|
25
26
|
var _constants = require("../constants");
|
|
26
27
|
var defaultProps = [_constants.ID, 'name'];
|
|
27
28
|
var categoryProps = 'id publishedListingPage{id, url}';
|
|
@@ -33,6 +34,7 @@ var checkProps = function checkProps(props) {
|
|
|
33
34
|
var buildPropsQuery = function buildPropsQuery(entitySchema) {
|
|
34
35
|
var extraProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
35
36
|
var cardOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
37
|
+
var linkProps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
36
38
|
var parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;
|
|
37
39
|
var extraPropsHaveCategory = !!extraProps.filter(function (prop) {
|
|
38
40
|
return prop.includes('category.');
|
|
@@ -42,33 +44,43 @@ var buildPropsQuery = function buildPropsQuery(entitySchema) {
|
|
|
42
44
|
shouldAddCategoryProps = _getTypeBaseProps.shouldAddCategoryProps;
|
|
43
45
|
var allProps = [].concat((0, _toConsumableArray2["default"])(typeBasedProps), (0, _toConsumableArray2["default"])(extraProps));
|
|
44
46
|
var uniqueProps = (0, _toConsumableArray2["default"])(new Set((0, _toConsumableArray2["default"])(allProps)));
|
|
45
|
-
var basicProps =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
var basicProps = [];
|
|
48
|
+
var nestedProps = {};
|
|
49
|
+
uniqueProps.forEach(function (prop) {
|
|
50
|
+
if (prop) {
|
|
51
|
+
if (!prop.includes('.')) {
|
|
52
|
+
basicProps.push(prop);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
var _prop$split = prop.split('.'),
|
|
56
|
+
_prop$split2 = (0, _slicedToArray2["default"])(_prop$split, 2),
|
|
57
|
+
base = _prop$split2[0],
|
|
58
|
+
nested = _prop$split2[1];
|
|
59
|
+
if (!nestedProps[base]) nestedProps[base] = [nested];else nestedProps[base].push(nested);
|
|
60
|
+
}
|
|
49
61
|
});
|
|
50
|
-
var complexProps = buildComplexProps(shouldAddCategoryProps,
|
|
51
|
-
return [].concat(
|
|
62
|
+
var complexProps = buildComplexProps(shouldAddCategoryProps, nestedProps, parsedSchema, linkProps);
|
|
63
|
+
return [].concat(basicProps, (0, _toConsumableArray2["default"])(complexProps)).join(',');
|
|
52
64
|
};
|
|
53
|
-
var buildComplexProps = function buildComplexProps(shouldAddCategoryProps, props, _ref) {
|
|
54
|
-
var relations = _ref.relations
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
var buildComplexProps = function buildComplexProps(shouldAddCategoryProps, props, _ref, linkProps) {
|
|
66
|
+
var _ref$relations = _ref.relations,
|
|
67
|
+
relations = _ref$relations === void 0 ? [] : _ref$relations,
|
|
68
|
+
_ref$dynamicPropertie = _ref.dynamicProperties,
|
|
69
|
+
dynamicProperties = _ref$dynamicPropertie === void 0 ? {} : _ref$dynamicPropertie;
|
|
70
|
+
return Object.keys(props).map(function (base) {
|
|
71
|
+
var nestedProps = props[base];
|
|
72
|
+
var hasLink = !!linkProps.find(function (linkProp) {
|
|
73
|
+
return linkProp.includes(base);
|
|
74
|
+
});
|
|
62
75
|
var matchingRelation = relations.find(function (_ref2) {
|
|
63
76
|
var localField = _ref2.localField;
|
|
64
77
|
return localField === base;
|
|
65
78
|
});
|
|
66
|
-
var
|
|
67
|
-
return
|
|
68
|
-
}).map(function (nested) {
|
|
69
|
-
return nested.split('.')[1];
|
|
79
|
+
var matchingDynamicProp = Object.keys(dynamicProperties).find(function (dynamicKey) {
|
|
80
|
+
return dynamicKey === base;
|
|
70
81
|
});
|
|
71
82
|
if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');
|
|
83
|
+
if (hasLink && (!!matchingRelation || !!matchingDynamicProp)) nestedProps.push('url');
|
|
72
84
|
var jointNestedProps = nestedProps.join(',');
|
|
73
85
|
if (base === 'category' && shouldAddCategoryProps) return "".concat(base, "{").concat(jointNestedProps, ", ").concat(categoryProps, "}");
|
|
74
86
|
if (base.includes('published')) {
|
|
@@ -117,9 +129,7 @@ var getContentProps = function getContentProps(isContent) {
|
|
|
117
129
|
var getCategoyProps = function getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader) {
|
|
118
130
|
if (!shouldAddCategoryProps) return [];
|
|
119
131
|
var props = [];
|
|
120
|
-
if (hasCategory)
|
|
121
|
-
props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');
|
|
122
|
-
}
|
|
132
|
+
if (hasCategory) props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');
|
|
123
133
|
if (hasPreheader) {
|
|
124
134
|
props.push("".concat(_constants.PREHEADER_PROP, "{name}"));
|
|
125
135
|
props.push(_constants.HEADLINE_PROP);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-props-query.js","names":["_constants","require","defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","entitySchema","extraProps","arguments","undefined","cardOptions","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","_getTypeBaseProps","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","concat","_toConsumableArray2","uniqueProps","Set","basicProps","i","arr","indexOf","complexProps","buildComplexProps","join","_ref","relations","map","nested","split","base","matchingRelation","find","_ref2","localField","nestedProps","extraProp","startsWith","push","jointNestedProps","isCard","_ref3","_ref3$displayCategory","displayCategory","_ref3$displayThumbnai","displayThumbnail","interfaces","properties","dynamicProperties","isContent","hasCategory","hasPreheader","PREHEADER_PROP","apply","getCategoyProps","getContentProps","url","_ref4","HEADLINE_PROP","_default","exports"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n\n const uniqueProps = [...new Set([...allProps])];\n\n const basicProps = uniqueProps\n .filter(prop => prop && !prop.includes('.'))\n .filter((prop, i, arr) => arr.indexOf(prop) === i);\n const complexProps = buildComplexProps(shouldAddCategoryProps, uniqueProps, parsedSchema);\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (shouldAddCategoryProps, props, { relations }) =>\n props\n .filter(prop => prop && prop.includes('.'))\n .map(nested => nested.split('.')[0])\n .filter((prop, i, arr) => arr.indexOf(prop) === i)\n .map(base => {\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const nestedProps = props\n .filter(\n (extraProp, i, arr) =>\n extraProp && extraProp.startsWith(`${base}.`) && arr.indexOf(extraProp) === i\n )\n .map(nested => nested.split('.')[1]);\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n\n const props = [];\n\n if (hasCategory) {\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n }\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-props-query.js","names":["_constants","require","defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","entitySchema","extraProps","arguments","undefined","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","_getTypeBaseProps","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","concat","_toConsumableArray2","uniqueProps","Set","basicProps","nestedProps","forEach","push","_prop$split","split","_prop$split2","_slicedToArray2","base","nested","complexProps","buildComplexProps","join","_ref","_ref$relations","relations","_ref$dynamicPropertie","dynamicProperties","map","hasLink","find","linkProp","matchingRelation","_ref2","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","_ref3","_ref3$displayCategory","displayCategory","_ref3$displayThumbnai","displayThumbnail","interfaces","properties","isContent","hasCategory","hasPreheader","PREHEADER_PROP","apply","getCategoyProps","getContentProps","url","_ref4","HEADLINE_PROP","_default","exports"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingRelation || !!matchingDynamicProp)) nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
|
+
var _coreErrorsUi = _interopRequireDefault(require("@blaze-cms/core-errors-ui"));
|
|
16
17
|
var _getComponent = _interopRequireDefault(require("./getComponent"));
|
|
17
18
|
var _appendGtmClassname = _interopRequireDefault(require("./append-gtm-classname"));
|
|
18
19
|
var _constants = require("./constants");
|
|
@@ -37,7 +38,7 @@ var RenderComponent = function RenderComponent(_ref) {
|
|
|
37
38
|
var imageOptions = isImage ? imageProps : {};
|
|
38
39
|
if (!Component) return null;
|
|
39
40
|
var updatedSettings = (0, _appendGtmClassname["default"])(settings, childComponents);
|
|
40
|
-
return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
41
|
+
return /*#__PURE__*/_react["default"].createElement(_coreErrorsUi["default"], null, /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
41
42
|
key: id,
|
|
42
43
|
type: type
|
|
43
44
|
}, options, imageOptions, nestedComponentsProps, updatedSettings, {
|
|
@@ -46,7 +47,7 @@ var RenderComponent = function RenderComponent(_ref) {
|
|
|
46
47
|
siblings: siblings,
|
|
47
48
|
banners: textBlockBanners,
|
|
48
49
|
pbOptions: options
|
|
49
|
-
}, childComponents) : childComponents);
|
|
50
|
+
}, childComponents) : childComponents));
|
|
50
51
|
};
|
|
51
52
|
RenderComponent.propTypes = {
|
|
52
53
|
component: _propTypes["default"].shape({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderComponent.js","names":["_react","_interopRequireDefault","require","_propTypes","_getComponent","_appendGtmClassname","_constants","_BannerContext","_excluded","RenderComponent","_ref","component","imageProps","childComponents","_ref$options","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties2","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","createElement","_extends2","key","BannerContextProvider","banners","pbOptions","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps","_default","exports"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <Component\n
|
|
1
|
+
{"version":3,"file":"RenderComponent.js","names":["_react","_interopRequireDefault","require","_propTypes","_coreErrorsUi","_getComponent","_appendGtmClassname","_constants","_BannerContext","_excluded","RenderComponent","_ref","component","imageProps","childComponents","_ref$options","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties2","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","createElement","_extends2","key","BannerContextProvider","banners","pbOptions","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps","_default","exports"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ErrorBoundary from '@blaze-cms/core-errors-ui';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <ErrorBoundary>\n <Component\n key={id}\n type={type}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n </ErrorBoundary>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":"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"}
|
|
@@ -122,7 +122,7 @@ const Card = _ref => {
|
|
|
122
122
|
scroll: true
|
|
123
123
|
}, preHeader.name) : /*#__PURE__*/React.createElement("div", {
|
|
124
124
|
className: "badge badge--label"
|
|
125
|
-
}, label)), displayTitle && /*#__PURE__*/React.createElement("
|
|
125
|
+
}, label)), displayTitle && /*#__PURE__*/React.createElement("div", {
|
|
126
126
|
className: titleWrapperModifier
|
|
127
127
|
}, /*#__PURE__*/React.createElement(BlazeLink, {
|
|
128
128
|
title: linkTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","createElement","_extends","className","href","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","createElement","_extends","className","href","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "graphqlEntityMap", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "overlayModifier", "titleOverlayModifier"],
|
|
4
5
|
_excluded2 = ["baseAdunit", "id"];
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
8
|
import React, { useContext } from 'react';
|
|
6
9
|
import PropTypes from 'prop-types';
|
|
7
10
|
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
@@ -13,7 +16,8 @@ import Card from './Card';
|
|
|
13
16
|
import { getDynamicGridClasses } from './helpers';
|
|
14
17
|
import { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';
|
|
15
18
|
import { getPropsToDisplayModifiers } from '../../utils';
|
|
16
|
-
|
|
19
|
+
import { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';
|
|
20
|
+
const CardContainer = _ref => {
|
|
17
21
|
let {
|
|
18
22
|
cardData,
|
|
19
23
|
gridModifier,
|
|
@@ -40,14 +44,22 @@ const CardsContainer = _ref => {
|
|
|
40
44
|
titleOverlayModifier
|
|
41
45
|
} = _ref,
|
|
42
46
|
cardProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
|
-
const cardsWithBanners = getEntitiesWithBanner(cardData, cardProps);
|
|
44
47
|
const {
|
|
45
48
|
itemId
|
|
46
49
|
} = useContext(MainContext);
|
|
50
|
+
const {
|
|
51
|
+
banner
|
|
52
|
+
} = cardProps;
|
|
53
|
+
// TODO: remove this check and all associated code once old banner setup is no longer supported
|
|
54
|
+
const hasNewBannerSettings = checkNewBannerSettings(banner);
|
|
55
|
+
const parsedCardsData = hasNewBannerSettings ? cardData : getEntitiesWithBanner(cardData, cardProps);
|
|
47
56
|
const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);
|
|
48
57
|
const dynamicWrapperSizes = enableCarousel ? '' : getDynamicGridClasses('grid', itemsPerRow, designConfig);
|
|
49
|
-
let renderCounter = 0;
|
|
50
58
|
const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
|
|
59
|
+
let bannerIndex = 0;
|
|
60
|
+
const bannerProps = banner ? _objectSpread(_objectSpread(_objectSpread({}, cardProps), banner), {}, {
|
|
61
|
+
type: 'banner'
|
|
62
|
+
}) : null;
|
|
51
63
|
return /*#__PURE__*/React.createElement(CardWrapper, {
|
|
52
64
|
className: dynamicWrapperSizes,
|
|
53
65
|
modifiers: gridModifier,
|
|
@@ -55,53 +67,65 @@ const CardsContainer = _ref => {
|
|
|
55
67
|
bannerModifier: bannerModifier,
|
|
56
68
|
enableAutoScroll: enableAutoScroll,
|
|
57
69
|
autoScrollTimer: autoScrollTimer
|
|
58
|
-
},
|
|
59
|
-
|
|
70
|
+
}, parsedCardsData.map((currentEntity, index) => {
|
|
71
|
+
const {
|
|
60
72
|
baseAdunit,
|
|
61
73
|
id
|
|
62
|
-
} =
|
|
63
|
-
entityProps = _objectWithoutProperties(
|
|
74
|
+
} = currentEntity,
|
|
75
|
+
entityProps = _objectWithoutProperties(currentEntity, _excluded2);
|
|
76
|
+
const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, banner);
|
|
64
77
|
const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);
|
|
65
78
|
const dynamicKey = [itemId, index].join('-');
|
|
66
|
-
if (baseAdunit) renderCounter += 1;
|
|
67
79
|
const priority = priorityLimit > 0 && index + 1 <= priorityLimit;
|
|
80
|
+
if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;
|
|
81
|
+
if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;
|
|
82
|
+
const parsedCardProps = _objectSpread({
|
|
83
|
+
key: id,
|
|
84
|
+
id,
|
|
85
|
+
enableCarousel,
|
|
86
|
+
graphqlEntityMap,
|
|
87
|
+
propsToDisplay,
|
|
88
|
+
parsedPropsToDisplay: extraProps,
|
|
89
|
+
propsToDisplayModifiers,
|
|
90
|
+
modifier,
|
|
91
|
+
style,
|
|
92
|
+
cardChildren,
|
|
93
|
+
gtmChildren,
|
|
94
|
+
gtmId: name,
|
|
95
|
+
gridModifier,
|
|
96
|
+
entityProps,
|
|
97
|
+
displayCategory,
|
|
98
|
+
displayThumbnail,
|
|
99
|
+
displayTitle,
|
|
100
|
+
priority,
|
|
101
|
+
enableOverlay,
|
|
102
|
+
overlayModifier,
|
|
103
|
+
titleOverlayModifier
|
|
104
|
+
}, entityProps);
|
|
105
|
+
if (hasNewBannerSettings) return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Card, _extends({
|
|
106
|
+
key: id
|
|
107
|
+
}, parsedCardProps)), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({
|
|
108
|
+
key: dynamicKey
|
|
109
|
+
}, bannerProps, {
|
|
110
|
+
renderCounter: bannerIndex
|
|
111
|
+
})));
|
|
68
112
|
return baseAdunit ? /*#__PURE__*/React.createElement(Banner, _extends({
|
|
69
113
|
key: dynamicKey,
|
|
70
114
|
entity: graphqlEntityMap[entityProps.__typename],
|
|
71
115
|
baseAdunit: baseAdunit
|
|
72
116
|
}, entityProps, {
|
|
73
117
|
modifier: modifier,
|
|
74
|
-
renderCounter:
|
|
118
|
+
renderCounter: bannerIndex
|
|
75
119
|
})) : /*#__PURE__*/React.createElement(Card, _extends({
|
|
76
|
-
key: id
|
|
77
|
-
|
|
78
|
-
enableCarousel: enableCarousel,
|
|
79
|
-
graphqlEntityMap: graphqlEntityMap,
|
|
80
|
-
propsToDisplay: propsToDisplay,
|
|
81
|
-
parsedPropsToDisplay: extraProps,
|
|
82
|
-
propsToDisplayModifiers: propsToDisplayModifiers,
|
|
83
|
-
modifier: modifier,
|
|
84
|
-
style: style,
|
|
85
|
-
cardChildren: cardChildren,
|
|
86
|
-
gtmChildren: gtmChildren,
|
|
87
|
-
gtmId: name,
|
|
88
|
-
gridModifier: gridModifier,
|
|
89
|
-
entityProps: entityProps,
|
|
90
|
-
displayCategory: displayCategory,
|
|
91
|
-
displayThumbnail: displayThumbnail,
|
|
92
|
-
displayTitle: displayTitle,
|
|
93
|
-
priority: priority,
|
|
94
|
-
enableOverlay: enableOverlay,
|
|
95
|
-
overlayModifier: overlayModifier,
|
|
96
|
-
titleOverlayModifier: titleOverlayModifier
|
|
97
|
-
}, entityProps));
|
|
120
|
+
key: id
|
|
121
|
+
}, parsedCardProps));
|
|
98
122
|
}));
|
|
99
123
|
};
|
|
100
|
-
|
|
124
|
+
CardContainer.propTypes = {
|
|
101
125
|
cardData: PropTypes.array.isRequired,
|
|
126
|
+
graphqlEntityMap: PropTypes.object.isRequired,
|
|
102
127
|
name: PropTypes.string,
|
|
103
128
|
entity: PropTypes.string.isRequired,
|
|
104
|
-
graphqlEntityMap: PropTypes.object.isRequired,
|
|
105
129
|
gridModifier: PropTypes.string,
|
|
106
130
|
gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
107
131
|
cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
@@ -122,7 +146,7 @@ CardsContainer.propTypes = {
|
|
|
122
146
|
titleOverlayModifier: PropTypes.string,
|
|
123
147
|
autoScrollTimer: PropTypes.number
|
|
124
148
|
};
|
|
125
|
-
|
|
149
|
+
CardContainer.defaultProps = {
|
|
126
150
|
gtmChildren: [],
|
|
127
151
|
cardChildren: [],
|
|
128
152
|
name: '',
|
|
@@ -144,5 +168,5 @@ CardsContainer.defaultProps = {
|
|
|
144
168
|
overlayModifier: '',
|
|
145
169
|
titleOverlayModifier: ''
|
|
146
170
|
};
|
|
147
|
-
export default withTitle(
|
|
171
|
+
export default withTitle(CardContainer);
|
|
148
172
|
//# sourceMappingURL=CardsContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardsContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","_objectWithoutProperties","_excluded","cardsWithBanners","itemId","propsToDisplayModifiers","dynamicWrapperSizes","renderCounter","CardWrapper","createElement","className","modifiers","map","_ref2","index","baseAdunit","id","entityProps","_excluded2","extraProps","dynamicKey","join","priority","_extends","key","__typename","parsedPropsToDisplay","gtmId","propTypes","array","isRequired","string","object","oneOfType","arrayOf","node","bool","number","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"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 CardsContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\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 overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const cardsWithBanners = 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 renderCounter = 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 {cardsWithBanners.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) renderCounter += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n renderCounter={renderCounter}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n graphqlEntityMap={graphqlEntityMap}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={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 enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardsContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n graphqlEntityMap: PropTypes.object.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 titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardsContainer.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 titleOverlayModifier: ''\n};\n\nexport default withTitle(CardsContainer);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","checkIfShouldRenderBanner","checkNewBannerSettings","CardContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","_objectWithoutProperties","_excluded","itemId","banner","hasNewBannerSettings","parsedCardsData","propsToDisplayModifiers","dynamicWrapperSizes","CardWrapper","bannerIndex","bannerProps","_objectSpread","type","createElement","className","modifiers","map","currentEntity","index","baseAdunit","id","entityProps","_excluded2","shouldRenderBanner","extraProps","dynamicKey","join","priority","parsedCardProps","key","parsedPropsToDisplay","gtmId","Fragment","_extends","renderCounter","__typename","propTypes","array","isRequired","object","string","oneOfType","arrayOf","node","bool","number","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"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';\nimport { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\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 overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const { itemId } = useContext(MainContext);\n const { banner } = cardProps;\n // TODO: remove this check and all associated code once old banner setup is no longer supported\n const hasNewBannerSettings = checkNewBannerSettings(banner);\n const parsedCardsData = hasNewBannerSettings\n ? cardData\n : getEntitiesWithBanner(cardData, cardProps);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n let bannerIndex = 0;\n const bannerProps = banner ? { ...cardProps, ...banner, type: 'banner' } : null;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {parsedCardsData.map((currentEntity, index) => {\n const { baseAdunit, id, ...entityProps } = currentEntity;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, banner);\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;\n if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;\n const parsedCardProps = {\n key: id,\n id,\n enableCarousel,\n graphqlEntityMap,\n propsToDisplay,\n parsedPropsToDisplay: extraProps,\n propsToDisplayModifiers,\n modifier,\n style,\n cardChildren,\n gtmChildren,\n gtmId: name,\n gridModifier,\n entityProps,\n displayCategory,\n displayThumbnail,\n displayTitle,\n priority,\n enableOverlay,\n overlayModifier,\n titleOverlayModifier,\n ...entityProps\n };\n\n if (hasNewBannerSettings)\n return (\n <>\n <Card key={id} {...parsedCardProps} />\n {shouldRenderBanner && (\n <Banner key={dynamicKey} {...bannerProps} renderCounter={bannerIndex} />\n )}\n </>\n );\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n ) : (\n <Card key={id} {...parsedCardProps} />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n graphqlEntityMap: PropTypes.object.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 titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\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 titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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"}
|