@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.
Files changed (95) hide show
  1. package/CHANGELOG.md +46 -369
  2. package/lib/components/Card/Card.js +1 -1
  3. package/lib/components/Card/Card.js.map +1 -1
  4. package/lib/components/Card/CardsContainer.js +53 -24
  5. package/lib/components/Card/CardsContainer.js.map +1 -1
  6. package/lib/components/DataSummary/DataSummaryFactory.js +2 -1
  7. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  8. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  9. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  10. package/lib/components/DataSummary/helpers/get-link-props.js +23 -0
  11. package/lib/components/DataSummary/helpers/get-link-props.js.map +1 -0
  12. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +7 -12
  13. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  14. package/lib/components/DataSummary/helpers/index.js +7 -0
  15. package/lib/components/DataSummary/helpers/index.js.map +1 -1
  16. package/lib/components/Image/Image.js +1 -1
  17. package/lib/components/Image/Image.js.map +1 -1
  18. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  19. package/lib/components/List/components/helpers/check-if-should-render-banner.js +27 -5
  20. package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  21. package/lib/components/List/components/helpers/index.js +8 -2
  22. package/lib/components/List/components/helpers/index.js.map +1 -1
  23. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  24. package/lib/components/SearchFilter/components/Checkbox.js +6 -1
  25. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  26. package/lib/components/SearchFilter/components/Range.js +9 -5
  27. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  28. package/lib/components/SearchFilter/components/Select.js +9 -5
  29. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  30. package/lib/components/SearchFilter/components/TextSearch.js +9 -5
  31. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  32. package/lib/helpers/build-props-query.js +34 -24
  33. package/lib/helpers/build-props-query.js.map +1 -1
  34. package/lib/hooks/helpers/RenderComponent.js +3 -2
  35. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  36. package/lib-es/components/Card/Card.js +1 -1
  37. package/lib-es/components/Card/Card.js.map +1 -1
  38. package/lib-es/components/Card/CardsContainer.js +59 -35
  39. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  40. package/lib-es/components/DataSummary/DataSummaryFactory.js +3 -2
  41. package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
  42. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  43. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  44. package/lib-es/components/DataSummary/helpers/get-link-props.js +6 -0
  45. package/lib-es/components/DataSummary/helpers/get-link-props.js.map +1 -0
  46. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +4 -7
  47. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  48. package/lib-es/components/DataSummary/helpers/index.js +2 -1
  49. package/lib-es/components/DataSummary/helpers/index.js.map +1 -1
  50. package/lib-es/components/Image/Image.js +1 -1
  51. package/lib-es/components/Image/Image.js.map +1 -1
  52. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  53. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +29 -3
  54. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  55. package/lib-es/components/List/components/helpers/index.js +3 -2
  56. package/lib-es/components/List/components/helpers/index.js.map +1 -1
  57. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  58. package/lib-es/components/SearchFilter/components/Checkbox.js +6 -1
  59. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  60. package/lib-es/components/SearchFilter/components/Range.js +9 -5
  61. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  62. package/lib-es/components/SearchFilter/components/Select.js +9 -5
  63. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  64. package/lib-es/components/SearchFilter/components/TextSearch.js +9 -5
  65. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  66. package/lib-es/helpers/build-props-query.js +22 -9
  67. package/lib-es/helpers/build-props-query.js.map +1 -1
  68. package/lib-es/hooks/helpers/RenderComponent.js +3 -2
  69. package/lib-es/hooks/helpers/RenderComponent.js.map +1 -1
  70. package/package.json +10 -9
  71. package/src/components/Card/Card.js +2 -2
  72. package/src/components/Card/CardsContainer.js +54 -35
  73. package/src/components/DataSummary/DataSummaryFactory.js +3 -2
  74. package/src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
  75. package/src/components/DataSummary/helpers/get-link-props.js +7 -0
  76. package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -8
  77. package/src/components/DataSummary/helpers/index.js +3 -1
  78. package/src/components/Image/Image.js +1 -1
  79. package/src/components/List/components/Full/FullRender.js +0 -1
  80. package/src/components/List/components/helpers/check-if-should-render-banner.js +24 -3
  81. package/src/components/List/components/helpers/index.js +4 -2
  82. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +0 -1
  83. package/src/components/SearchFilter/components/Checkbox.js +4 -0
  84. package/src/components/SearchFilter/components/Range.js +7 -4
  85. package/src/components/SearchFilter/components/Select.js +23 -17
  86. package/src/components/SearchFilter/components/TextSearch.js +30 -26
  87. package/src/helpers/build-props-query.js +46 -33
  88. package/src/hooks/helpers/RenderComponent.js +19 -16
  89. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
  90. package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -8
  91. package/tests/unit/src/components/DataSummary/DataSummaryTypes/__snapshots__/ItemDetailsSummary.test.js.snap +24 -4
  92. package/tests/unit/src/components/DataSummary/helpers/get-link-props.test.js +35 -0
  93. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +0 -3
  94. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
  95. 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
- return /*#__PURE__*/_react["default"].createElement("div", {
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 = (0, _HOC.withTitle)(TextSearch);
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","_HOC","_constants","TextSearch","_ref","label","searchValue","updateFilterValues","createElement","className","id","SEARCH_TERM","value","placeholder","onChange","_ref2","eValue","_defineProperty2","type","onClick","e","preventDefault","MdSearch","propTypes","PropTypes","string","isRequired","func","defaultProps","_default","withTitle","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 { withTitle } from '../../../HOC';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues }) => (\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\nTextSearch.propTypes = {\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n label: ''\n};\n\nexport default withTitle(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,IAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAEA,IAAMM,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;EAAA,oBAC1DZ,MAAA,YAAAa,aAAA;IAAKC,SAAS,EAAC;EAAQ,gBACrBd,MAAA,YAAAa,aAAA;IAAKC,SAAS,EAAC;EAAiB,gBAC9Bd,MAAA,YAAAa,aAAA;IAAKC,SAAS,EAAC;EAAiD,gBAC9Dd,MAAA,YAAAa,aAAA,CAACT,MAAA,WAAK;IACJW,EAAE,EAAEC,sBAAY;IAChBC,KAAK,EAAEN,WAAY;IACnBO,WAAW,EAAER,KAAK,IAAI,QAAS;IAC/BS,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAAuB;MAAA,IAAbC,MAAM,GAAAD,KAAA,CAAbH,KAAK;MAChBL,kBAAkB,KAAAU,gBAAA,iBAAIN,sBAAW,EAAGK,MAAM,GAAI,KAAK,CAAC;IACtD;EAAE,EACF,CACE,eACNrB,MAAA,YAAAa,aAAA;IACEU,IAAI,EAAC,QAAQ;IACbT,SAAS,EAAC,iCAAiC;IAC3CU,OAAO,EAAE,SAAAA,QAAAC,CAAC,EAAI;MACZA,CAAC,CAACC,cAAc,EAAE;MAClBd,kBAAkB,KAAAU,gBAAA,iBAAIN,sBAAW,EAAGL,WAAW,GAAI,IAAI,CAAC;IAC1D;EAAE,gBACFX,MAAA,YAAAa,aAAA,yBACEb,MAAA,YAAAa,aAAA,CAACR,GAAA,CAAAsB,QAAQ,OAAG,CACV,CACG,CACL,CACF;AAAA,CACP;AAEDnB,UAAU,CAACoB,SAAS,GAAG;EACrBjB,WAAW,EAAEkB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCnB,kBAAkB,EAAEiB,qBAAS,CAACG,IAAI,CAACD,UAAU;EAC7CrB,KAAK,EAAEmB,qBAAS,CAACC;AACnB,CAAC;AAEDtB,UAAU,CAACyB,YAAY,GAAG;EACxBvB,KAAK,EAAE;AACT,CAAC;AAAC,IAAAwB,QAAA,GAEa,IAAAC,cAAS,EAAC3B,UAAU,CAAC;AAAA4B,OAAA,cAAAF,QAAA"}
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.index-of.js");
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 = uniqueProps.filter(function (prop) {
46
- return prop && !prop.includes('.');
47
- }).filter(function (prop, i, arr) {
48
- return arr.indexOf(prop) === i;
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, uniqueProps, parsedSchema);
51
- return [].concat((0, _toConsumableArray2["default"])(basicProps), (0, _toConsumableArray2["default"])(complexProps)).join(',');
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
- return props.filter(function (prop) {
56
- return prop && prop.includes('.');
57
- }).map(function (nested) {
58
- return nested.split('.')[0];
59
- }).filter(function (prop, i, arr) {
60
- return arr.indexOf(prop) === i;
61
- }).map(function (base) {
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 nestedProps = props.filter(function (extraProp, i, arr) {
67
- return extraProp && extraProp.startsWith("".concat(base, ".")) && arr.indexOf(extraProp) === i;
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 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 );\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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"}
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("h2", {
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":";;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,QAAQ,aAAa;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,SACEC,YAAY,EACZC,cAAc,EACdC,qBAAqB,EACrBC,sBAAsB,QACjB,eAAe;AACtB,OAAOC,SAAS,MAAM,cAAc;AACpC,SAASC,sBAAsB,EAAEC,iBAAiB,QAAQ,WAAW;AACrE,SAASC,WAAW,EAAEC,wBAAwB,QAAQ,aAAa;AAEnE,MAAMC,IAAI,GAAGC,IAAA,IA6BP;EAAA,IA7BQ;MACZC,EAAE;MACFC,KAAK;MACLC,IAAI;MACJC,GAAG;MACHC,gBAAgB;MAChBC,WAAW;MACXC,oBAAoB;MACpBC,mBAAmB;MACnBC,QAAQ;MACRC,QAAQ;MACRC,oBAAoB;MACpBC,cAAc;MACdC,uBAAuB;MACvBC,KAAK;MACLC,KAAK;MACLC,QAAQ;MACRC,YAAY;MACZC,WAAW;MACXC,eAAe;MACfC,gBAAgB;MAChBC,YAAY;MACZC,aAAa;MACbC,cAAc;MACdC,oBAAoB;MACpBC,eAAe;MACfC,YAAY;MACZC,UAAU,EAAEC;IAEd,CAAC,GAAA5B,IAAA;IADI6B,UAAU,GAAAC,wBAAA,CAAA9B,IAAA,EAAA+B,SAAA;EAEb,MAAMC,MAAM,GAAG3B,gBAAgB,CAACuB,UAAU,CAAC;EAC3CpC,qBAAqB,CAACyB,YAAY,EAAEhB,EAAE,EAAE+B,MAAM,CAAC;EAC/C,MAAMC,MAAM,GAAG/C,SAAS,EAAE;EAC1B,MAAM;IAAEgD,QAAQ;IAAEC,sBAAsB;IAAEC;EAAQ,CAAC,GAAGC,oBAAoB,CAAC;IACzEnC,KAAK;IACLkB;EACF,CAAC,CAAC;EAEF,MAAMkB,SAAS,GAAGC,mBAAmB,CAAC;IAAE7B,QAAQ;IAAEK,KAAK;IAAEc;EAAW,CAAC,CAAC;EAEtE,MAAM;IAAEW,oBAAoB;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGC,uBAAuB,CAAC;IACnFrC,oBAAoB;IACpBE,QAAQ;IACRuB,MAAM;IACNxB,mBAAmB;IACnBW,eAAe;IACfhB;EACF,CAAC,CAAC;EAEF,MAAM0C,SAAS,GAAG1C,IAAI;EAEtB,MAAM2C,cAAc,GAAGlD,iBAAiB,CAACC,WAAW,EAAE;IAAEkB,KAAK;IAAEW,YAAY;IAAEhB;EAAS,CAAC,CAAC;EAExF,MAAM;IAAEqC,qBAAqB;IAAEC;EAAa,CAAC,GAAGvD,sBAAsB,CACpEyB,WAAW,EACXZ,WAAW,EACXL,EAAE,CACH;EAED,MAAMgD,OAAO,GAAGF,qBAAqB,GAAG1D,YAAY,GAAGJ,QAAQ;EAE/D,MAAMiE,sBAAsB,GAAG5D,YAAY,CAACO,WAAW,EAAEyC,SAAS,CAAC;EAEnE,MAAMa,sBAAsB,GAAI,GAAE7D,YAAY,CAAC,uBAAuB,EAAEgD,SAAS,CAAE,IACjFhB,aAAa,IAAIC,cAAc,GAAGE,eAAe,GAAG,EACrD,EAAC;EAEF,MAAM2B,oBAAoB,GAAI,GAAE9D,YAAY,CAAC,aAAa,EAAEgD,SAAS,CAAE,IACrEhB,aAAa,IAAIC,cAAc,GAAGC,oBAAoB,GAAG,EAC1D,EAAC;EAEF,MAAM6B,eAAe,GAAGC,CAAC,IAAI;IAC3B,IAAI,CAAClD,GAAG,EAAE;IAEV,MAAMmD,aAAa,GAAGD,CAAC,CAACE,MAAM,CAACC,OAAO,CAACC,WAAW,EAAE;IACpD,MAAMC,cAAc,GAAGL,CAAC,CAACE,MAAM,CAACI,IAAI;IACpC,MAAMC,wBAAwB,GAC5BF,cAAc,KAAK,QAAQ,IAC3B,CAAC7D,wBAAwB,CAACgE,IAAI,CAACC,QAAQ,IAAIA,QAAQ,KAAKR,aAAa,CAAC;IACxE,IAAIM,wBAAwB,EAAE5B,MAAM,CAAC+B,IAAI,CAAE,WAAU,EAAE5D,GAAG,CAAC;EAC7D,CAAC;;EAED;EACA,MAAM6D,UAAU,GACd7D,GAAG,IAAI8D,OAAO,CAACC,GAAG,CAACC,2BAA2B,GAC1C;IACEC,OAAO,EAAEhB,eAAe;IACxBO,IAAI,EAAE;EACR,CAAC,GACD,CAAC,CAAC;EAER,oBACE5E,KAAA,CAAAsF,aAAA,CAACrB,OAAO,EAAKD,YAAY,eACvBhE,KAAA,CAAAsF,aAAA,QAAAC,QAAA;IAAKC,SAAS,EAAEtB;EAAuB,GAAKe,UAAU,GACnD9B,sBAAsB,iBACrBnD,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAElF,YAAY,CAAC,aAAa,EAAEgD,SAAS;EAAE,gBACrDtD,KAAA,CAAAsF,aAAA,CAAClF,SAAS;IAAC0B,KAAK,EAAEA,KAAM;IAAC2D,IAAI,EAAErE,GAAI;IAACoE,SAAS,EAAC,kBAAkB;IAACE,MAAM;EAAA,gBACrE1F,KAAA,CAAAsF,aAAA,CAAC5E,SAAS;IACRiF,GAAG,EAAEzC,QAAS;IACd0C,GAAG,EAAExC,OAAQ;IACbyC,OAAO,EAAE/B,cAAe;IACxB9B,QAAQ,EAAEA;EAAS,EACnB,CACQ,CAEf,eACDhC,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAErB;EAAuB,gBACrCnE,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAElF,YAAY,CAAC,eAAe,EAAEgD,SAAS;EAAE,GACtDnB,eAAe,KACbqB,oBAAoB,gBACnBxD,KAAA,CAAAsF,aAAA,CAAClF,SAAS;IACR0B,KAAK,EAAEA,KAAM;IACb2D,IAAI,EAAEjC,oBAAqB;IAC3BgC,SAAS,EAAC,oBAAoB;IAC9BE,MAAM;EAAA,GACLjC,SAAS,CAACtC,IAAI,CACL,gBAEZnB,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAC;EAAoB,GAAE9B,KAAK,CAC3C,CAAC,EACHrB,YAAY,iBACXrC,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAEpB;EAAqB,gBACnCpE,KAAA,CAAAsF,aAAA,CAAClF,SAAS;IAAC0F,KAAK,EAAEjC,SAAU;IAAC/B,KAAK,EAAEA,KAAM;IAAC2D,IAAI,EAAErE,GAAI;IAACsE,MAAM;EAAA,GACzD/B,QAAQ,CACC,CAEf,EACA,CAAC,CAAChC,oBAAoB,CAACoE,MAAM,iBAC5B/F,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAElF,YAAY,CAAC,eAAe,EAAEgD,SAAS;EAAE,GACtD3B,oBAAoB,CAACqE,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IACrC,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;IAEtB,MAAME,UAAU,GAAI,GAAElF,EAAG,GAAEiF,CAAE,EAAC;IAC9B,MAAME,YAAY,GAAGvE,uBAAuB,CAACqE,CAAC,CAAC,IAAI,EAAE;IAErD,MAAM;MAAEG;IAAc,CAAC,GAAGzE,cAAc,CAACsE,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,MAAMI,UAAU,GAAG,CAAC,CAAC;IACrB,IAAID,aAAa,IAAIJ,IAAI,CAACM,KAAK,CAACC,QAAQ,EAAE;MACxCF,UAAU,CAACD,aAAa,CAAC,GAAGI,kBAAkB,CAACR,IAAI,CAACM,KAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE;IAEA,oBACExG,KAAA,CAAAsF,aAAA,SAAAC,QAAA;MAAMmB,GAAG,EAAEP,UAAW;MAACX,SAAS,EAAEY;IAAa,GAAKE,UAAU,GAC3DL,IAAI,CACA;EAEX,CAAC,CAAC,CAEL,CACG,EACL,CAAC,CAAChE,YAAY,iBACbjC,KAAA,CAAAsF,aAAA;IAAKE,SAAS,EAAC;EAAqB,GAAEjF,cAAc,CAAC0B,YAAY,CAAC,CACnE,CACG,CACF,CACE;AAEd,CAAC;AAEDlB,IAAI,CAAC4F,SAAS,GAAG;EACf1F,EAAE,EAAEd,SAAS,CAACyG,MAAM,CAACC,UAAU;EAC/B3F,KAAK,EAAEf,SAAS,CAAC2G,KAAK,CAAC;IACrB1F,GAAG,EAAEjB,SAAS,CAACyG,MAAM;IACrBG,IAAI,EAAE5G,SAAS,CAAC6G;EAClB,CAAC,CAAC;EACF3F,gBAAgB,EAAElB,SAAS,CAAC6G,MAAM,CAACH,UAAU;EAC7ClE,UAAU,EAAExC,SAAS,CAACyG,MAAM,CAACC,UAAU;EACvC9E,KAAK,EAAE5B,SAAS,CAACyG,MAAM;EACvBjF,oBAAoB,EAAExB,SAAS,CAAC8G,KAAK;EACrCrF,cAAc,EAAEzB,SAAS,CAAC8G,KAAK;EAC/BpF,uBAAuB,EAAE1B,SAAS,CAAC8G,KAAK;EACxC7F,GAAG,EAAEjB,SAAS,CAACyG,MAAM;EACrBzF,IAAI,EAAEhB,SAAS,CAACyG,MAAM,CAACC,UAAU;EACjCvF,WAAW,EAAEnB,SAAS,CAAC6G,MAAM;EAC7BlF,KAAK,EAAE3B,SAAS,CAACyG,MAAM;EACvBrF,oBAAoB,EAAEpB,SAAS,CAAC2G,KAAK,CAAC;IACpC3F,IAAI,EAAEhB,SAAS,CAACyG;EAClB,CAAC,CAAC;EACFpF,mBAAmB,EAAErB,SAAS,CAACyG,MAAM;EACrCnF,QAAQ,EAAEtB,SAAS,CAAC2G,KAAK,CAAC;IACxB3F,IAAI,EAAEhB,SAAS,CAACyG,MAAM;IACtBpD,oBAAoB,EAAErD,SAAS,CAAC2G,KAAK,CAAC;MACpC1F,GAAG,EAAEjB,SAAS,CAACyG;IACjB,CAAC;EACH,CAAC,CAAC;EACFlF,QAAQ,EAAEvB,SAAS,CAACyG,MAAM;EAC1BzE,eAAe,EAAEhC,SAAS,CAAC+G,IAAI,CAACL,UAAU;EAC1CzE,gBAAgB,EAAEjC,SAAS,CAAC+G,IAAI,CAACL,UAAU;EAC3CxE,YAAY,EAAElC,SAAS,CAAC+G,IAAI,CAACL,UAAU;EACvCtE,cAAc,EAAEpC,SAAS,CAAC+G,IAAI;EAC9B5E,aAAa,EAAEnC,SAAS,CAAC+G,IAAI;EAC7BzE,eAAe,EAAEtC,SAAS,CAACyG,MAAM;EACjCpE,oBAAoB,EAAErC,SAAS,CAACyG,MAAM;EACtC3E,YAAY,EAAE9B,SAAS,CAACgH,SAAS,CAAC,CAAChH,SAAS,CAACiH,OAAO,CAACjH,SAAS,CAACkH,IAAI,CAAC,EAAElH,SAAS,CAACkH,IAAI,CAAC,CAAC;EACtFnF,WAAW,EAAE/B,SAAS,CAACgH,SAAS,CAAC,CAAChH,SAAS,CAACiH,OAAO,CAACjH,SAAS,CAACkH,IAAI,CAAC,EAAElH,SAAS,CAACkH,IAAI,CAAC,CAAC;EACrF3E,YAAY,EAAEvC,SAAS,CAACyG,MAAM;EAC9B5E,QAAQ,EAAE7B,SAAS,CAAC+G;AACtB,CAAC;AAEDnG,IAAI,CAACuG,YAAY,GAAG;EAClBhG,WAAW,EAAE,CAAC,CAAC;EACfJ,KAAK,EAAE;IACLE,GAAG,EAAE,IAAI;IACT2F,IAAI,EAAE,CAAC;EACT,CAAC;EACDjF,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,UAAU;EACjBJ,oBAAoB,EAAE,EAAE;EACxBC,cAAc,EAAE,EAAE;EAClBC,uBAAuB,EAAE,EAAE;EAC3BT,GAAG,EAAE,EAAE;EACPG,oBAAoB,EAAE,IAAI;EAC1BC,mBAAmB,EAAE,EAAE;EACvBC,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,EAAE;EACZO,YAAY,EAAE,EAAE;EAChBC,WAAW,EAAE,EAAE;EACfQ,YAAY,EAAE,EAAE;EAChBV,QAAQ,EAAE,KAAK;EACfS,eAAe,EAAE,EAAE;EACnBD,oBAAoB,EAAE,EAAE;EACxBF,aAAa,EAAE,KAAK;EACpBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMqB,uBAAuB,GAAGA,CAAC;EAC/BrC,oBAAoB;EACpBE,QAAQ;EACRuB,MAAM;EACNxB,mBAAmB;EACnBW,eAAe;EACfhB;AACF,CAAC,KAAK;EACJ,MAAMoG,uBAAuB,GAAGhG,oBAAoB,IAAIA,oBAAoB,CAACJ,IAAI;EACjF,MAAMsC,SAAS,GACbjC,mBAAmB,IAAI+F,uBAAuB,GAAGhG,oBAAoB,GAAGE,QAAQ;EAClF,MAAM+B,oBAAoB,GAAG7C,sBAAsB,CAAC8C,SAAS,CAAC;EAC9D,MAAMC,KAAK,GAAGD,SAAS,GAAGA,SAAS,CAACtC,IAAI,GAAG6B,MAAM;EACjD,MAAMW,QAAQ,GACZ,CAACxB,eAAe,IAAI,CAACoF,uBAAuB,GAAGpG,IAAI,GAAGK,mBAAmB,IAAIL,IAAI;EACnF,OAAO;IAAEqC,oBAAoB;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC;AAC7D,CAAC;AAED,MAAMN,oBAAoB,GAAGA,CAAC;EAAEnC,KAAK;EAAEkB;AAAiB,CAAC,KAAK;EAC5D,MAAM;IAAEhB,GAAG,EAAE8B,QAAQ;IAAE6D;EAAK,CAAC,GAAG7F,KAAK,IAAI,CAAC,CAAC;EAC3C,MAAMiC,sBAAsB,GAAGf,gBAAgB,IAAIc,QAAQ;EAC3D,MAAME,OAAO,GAAI2D,IAAI,IAAIA,IAAI,CAAC3D,OAAO,IAAK,EAAE;EAC5C,OAAO;IAAEF,QAAQ;IAAEC,sBAAsB;IAAEC;EAAQ,CAAC;AACtD,CAAC;AAED,MAAMG,mBAAmB,GAAGA,CAAC;EAAE7B,QAAQ;EAAEK,KAAK;EAAEc;AAAW,CAAC,KAAK;EAC/D,MAAMS,SAAS,GAAG,CAAC5B,QAAQ,EAAEK,KAAK,CAAC;EACnC,MAAM;IAAEyF,SAAS;IAAEC;EAAS,CAAC,GAAG5E,UAAU;EAC1C,IAAI2E,SAAS,EAAElE,SAAS,CAAC0B,IAAI,CAAC,WAAW,CAAC;EAC1C,IAAIyC,QAAQ,EAAEnE,SAAS,CAAC0B,IAAI,CAAC,UAAU,CAAC;EAExC,OAAO1B,SAAS;AAClB,CAAC;AAED,eAAevC,IAAI"}
@@ -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
- const CardsContainer = _ref => {
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
- }, cardsWithBanners.map((_ref2, index) => {
59
- let {
70
+ }, parsedCardsData.map((currentEntity, index) => {
71
+ const {
60
72
  baseAdunit,
61
73
  id
62
- } = _ref2,
63
- entityProps = _objectWithoutProperties(_ref2, _excluded2);
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: renderCounter
118
+ renderCounter: bannerIndex
75
119
  })) : /*#__PURE__*/React.createElement(Card, _extends({
76
- key: id,
77
- id: id,
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
- CardsContainer.propTypes = {
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
- CardsContainer.defaultProps = {
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(CardsContainer);
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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"}