@blaze-cms/react-page-builder 0.111.0-alpha.1 → 0.111.0-alpha.2

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 (27) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/components/Banner/BannerRender.js +4 -1
  3. package/lib/components/Banner/BannerRender.js.map +1 -1
  4. package/lib/components/List/components/Cards/CardsRenderItem.js +8 -3
  5. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  6. package/lib/components/List/components/Cards/CardsRenderWrapper.js +15 -4
  7. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  8. package/lib/components/List/components/Full/FullRender.js +8 -1
  9. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  10. package/lib/components/List/components/Full/FullRenderItem.js +10 -5
  11. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  12. package/lib-es/components/Banner/BannerRender.js +4 -1
  13. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  14. package/lib-es/components/List/components/Cards/CardsRenderItem.js +9 -4
  15. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  16. package/lib-es/components/List/components/Cards/CardsRenderWrapper.js +15 -5
  17. package/lib-es/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  18. package/lib-es/components/List/components/Full/FullRender.js +7 -1
  19. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  20. package/lib-es/components/List/components/Full/FullRenderItem.js +9 -4
  21. package/lib-es/components/List/components/Full/FullRenderItem.js.map +1 -1
  22. package/package.json +2 -2
  23. package/src/components/Banner/BannerRender.js +3 -2
  24. package/src/components/List/components/Cards/CardsRenderItem.js +8 -4
  25. package/src/components/List/components/Cards/CardsRenderWrapper.js +31 -19
  26. package/src/components/List/components/Full/FullRender.js +21 -12
  27. package/src/components/List/components/Full/FullRenderItem.js +6 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.111.0-alpha.2](https://github.com/thebyte9/blaze/compare/v0.111.0-alpha.1...v0.111.0-alpha.2) (2021-10-21)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * cards and full lists now updated banner position ([#3163](https://github.com/thebyte9/blaze/issues/3163)) ([dbd3ecd](https://github.com/thebyte9/blaze/commit/dbd3ecda9a9f96d2e1bc7934a3b08a39f45c4518))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.111.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.111.0-alpha.0...v0.111.0-alpha.1) (2021-10-20)
7
18
 
8
19
 
@@ -124,13 +124,16 @@ var BannerRender = function BannerRender(_ref) {
124
124
  maxHeight: maxBannerHeight,
125
125
  minHeight: minBannerHeight
126
126
  };
127
+
128
+ var targetingArguments = _objectSpread(_objectSpread({}, parsedTargetings), customTargetings);
129
+
127
130
  return /*#__PURE__*/_react["default"].createElement("div", {
128
131
  className: "ad-slot",
129
132
  style: style
130
133
  }, /*#__PURE__*/_react["default"].createElement(_reactDfp.AdSlot, {
131
134
  adUnit: parsedAdunit,
132
135
  sizes: parsedSizes,
133
- targetingArguments: _objectSpread(_objectSpread({}, parsedTargetings), customTargetings),
136
+ targetingArguments: targetingArguments,
134
137
  sizeMapping: sizeMapping
135
138
  }));
136
139
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/BannerRender.js"],"names":["BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","otherProps","id","itemId","variables","where","skip","data","entityRecordData","parsedTargetings","GET_BANNER","BANNER_QUERY_PROPS","bannerData","entityData","bannerSizes","sizeMapping","parsedSizes","maxBannerHeight","minBannerHeight","COUNT_CONTENT_HIERARCHIES","parentId","childEntity","_ilike","PUBLISHED","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","style","maxHeight","minHeight","propTypes","PropTypes","object","isRequired","string","array","number","defaultProps"],"mappings":"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","sourcesContent":["import { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { useQuery } from 'react-apollo';\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n cardBannerIndex,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n const maxBannerHeight = getMaxBannerHeight(bannerSizes);\n const minBannerHeight = getMinBannerHeight(bannerSizes);\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n if (!shouldShowBanner) return null;\n const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n\n const style = {\n maxHeight: maxBannerHeight,\n minHeight: minBannerHeight\n };\n\n return (\n <div className=\"ad-slot\" style={style}>\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={{ ...parsedTargetings, ...customTargetings }}\n sizeMapping={sizeMapping}\n />\n </div>\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n cardBannerIndex: PropTypes.number\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null\n};\n\nexport default withTitle(BannerRender);\n"],"file":"BannerRender.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/BannerRender.js"],"names":["BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","otherProps","id","itemId","variables","where","skip","data","entityRecordData","parsedTargetings","GET_BANNER","BANNER_QUERY_PROPS","bannerData","entityData","bannerSizes","sizeMapping","parsedSizes","maxBannerHeight","minBannerHeight","COUNT_CONTENT_HIERARCHIES","parentId","childEntity","_ilike","PUBLISHED","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","style","maxHeight","minHeight","targetingArguments","propTypes","PropTypes","object","isRequired","string","array","number","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AAMA;;;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAcf;AAAA,MAbJC,UAaI,QAbJA,UAaI;AAAA,MAZJC,MAYI,QAZJA,MAYI;AAAA,MAXJC,MAWI,QAXJA,MAWI;AAAA,MAVJC,KAUI,QAVJA,KAUI;AAAA,MATJC,cASI,QATJA,cASI;AAAA,MARJC,MAQI,QARJA,MAQI;AAAA,MAPJC,UAOI,QAPJA,UAOI;AAAA,MANJC,MAMI,QANJA,MAMI;AAAA,MALJC,MAKI,QALJA,MAKI;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,eAEI,QAFJA,eAEI;AAAA,MADDC,UACC;AACJ,MAAQC,EAAR,GAAeD,UAAf,CAAQC,EAAR;AACA,MAAQC,MAAR,GAAmBP,MAAnB,CAAQO,MAAR;;AAEA,kBAAwC,2BAASL,MAAT,EAAiB;AACvDM,IAAAA,SAAS,EAAE;AAAEC,MAAAA,KAAK,EAAE;AAAEH,QAAAA,EAAE,EAAEA,EAAE,IAAIC;AAAZ;AAAT,KAD4C;AAEvDG,IAAAA,IAAI,EAAEJ,EAAE,IAAIA,EAAE,KAAKC;AAFoC,GAAjB,CAAxC;AAAA,iCAAQI,IAAR;AAAA,MAAcC,gBAAd,+BAAiC,EAAjC;;AAKA,MAAMC,gBAAgB,GAAG,uCAAyBV,SAAzB,EAAoCS,gBAApC,EAAsDf,cAAtD,CAAzB;;AAEA,mBAAkC,2BAChC,oCAAwBiB,qBAAxB,EAAoCC,6BAApC,CADgC,EAEhC;AACEP,IAAAA,SAAS,EAAE;AAAEF,MAAAA,EAAE,EAAEX;AAAN,KADb;AAEEe,IAAAA,IAAI,EAAE,CAACf;AAFT,GAFgC,CAAlC;AAAA,mCAAQgB,IAAR;AAAA,MAAcK,UAAd,gCAA2B,EAA3B;;AAOA,MAAQC,UAAR,GAAuBD,UAAvB,CAAQC,UAAR;;AACA,cAA+BA,UAAU,IAAI,EAA7C;AAAA,MAAeC,WAAf,SAAQtB,KAAR;;AAEA,MAAMuB,WAAW,GAAG,+BAAiBxB,MAAjB,EAAyBuB,WAAzB,CAApB;AACA,MAAME,WAAW,GAAG,+BAAiBzB,MAAjB,EAAyBuB,WAAzB,EAAsCtB,KAAtC,CAApB;AACA,MAAMyB,eAAe,GAAG,iCAAmBH,WAAnB,CAAxB;AACA,MAAMI,eAAe,GAAG,iCAAmBJ,WAAnB,CAAxB;;AAEA,mBAAsB,2BAAS,qBAASK,oCAAT,CAAT,EAA8C;AAClEf,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AACLe,QAAAA,QAAQ,EAAElB,EAAE,IAAIC,MADX;AAELkB,QAAAA,WAAW,EAAE;AACXC,UAAAA,MAAM,YAAKC,oBAAL;AADK;AAFR;AADE;AADuD,GAA9C,CAAtB;AAAA,mCAAQhB,IAAR;AAAA,MAAQA,IAAR,gCAAe,EAAf;;AAWA,MAAQiB,uBAAR,GAAoCjB,IAApC,CAAQiB,uBAAR;AAEA,MAAMC,YAAY,GAAG,gCAAkB5B,MAAlB,EAA0B2B,uBAA1B,EAAmDnC,UAAnD,EAA+DC,MAA/D,CAArB;AACA,MAAMoC,wBAAwB,GAC5BjC,cAAc,CAACkC,MAAf,IAAyBlB,gBAAzB,IAA6CmB,MAAM,CAACC,IAAP,CAAYpB,gBAAZ,EAA8BkB,MAD7E;AAEA,MAAMG,0BAA0B,GAAGJ,wBAAwB,IAAI,CAACjC,cAAc,CAACkC,MAA/E;AACA,MAAMI,gBAAgB,GACpBN,YAAY,IAAIT,WAAhB,IAA+B,CAAC,CAACA,WAAW,CAACW,MAA7C,IAAuDG,0BADzD;AAGA,MAAI,CAACC,gBAAL,EAAuB,OAAO,IAAP;AACvB,MAAMC,gBAAgB,GAAG,kCAAoBrC,UAApB,EAAgCK,eAAhC,CAAzB;AACA,MAAMiC,KAAK,GAAG;AACZC,IAAAA,SAAS,EAAEjB,eADC;AAEZkB,IAAAA,SAAS,EAAEjB;AAFC,GAAd;;AAIA,MAAMkB,kBAAkB,mCAAQ3B,gBAAR,GAA6BuB,gBAA7B,CAAxB;;AAEA,sBACE;AAAK,IAAA,SAAS,EAAC,SAAf;AAAyB,IAAA,KAAK,EAAEC;AAAhC,kBACE,gCAAC,gBAAD;AACE,IAAA,MAAM,EAAER,YADV;AAEE,IAAA,KAAK,EAAET,WAFT;AAGE,IAAA,kBAAkB,EAAEoB,kBAHtB;AAIE,IAAA,WAAW,EAAErB;AAJf,IADF,CADF;AAUD,CA9ED;;AAgFA3B,YAAY,CAACiD,SAAb,GAAyB;AACvBzC,EAAAA,MAAM,EAAE0C,sBAAUC,MAAV,CAAiBC,UADF;AAEvB3C,EAAAA,MAAM,EAAEyC,sBAAUG,MAAV,CAAiBD,UAFF;AAGvB1C,EAAAA,MAAM,EAAEwC,sBAAUC,MAAV,CAAiBC,UAHF;AAIvBzC,EAAAA,SAAS,EAAEuC,sBAAUG,MAAV,CAAiBD,UAJL;AAKvBlD,EAAAA,MAAM,EAAEgD,sBAAUG,MALK;AAMvBpD,EAAAA,UAAU,EAAEiD,sBAAUG,MANC;AAOvBlD,EAAAA,MAAM,EAAE+C,sBAAUG,MAPK;AAQvBhD,EAAAA,cAAc,EAAE6C,sBAAUI,KARH;AASvBhD,EAAAA,MAAM,EAAE4C,sBAAUG,MATK;AAUvB9C,EAAAA,UAAU,EAAE2C,sBAAUG,MAVC;AAWvBjD,EAAAA,KAAK,EAAE8C,sBAAUG,MAXM;AAYvBzC,EAAAA,eAAe,EAAEsC,sBAAUK;AAZJ,CAAzB;AAeAvD,YAAY,CAACwD,YAAb,GAA4B;AAC1BtD,EAAAA,MAAM,EAAE,EADkB;AAE1BD,EAAAA,UAAU,EAAE,EAFc;AAG1BE,EAAAA,MAAM,EAAE,EAHkB;AAI1BE,EAAAA,cAAc,EAAE,EAJU;AAK1BC,EAAAA,MAAM,EAAE,EALkB;AAM1BC,EAAAA,UAAU,EAAE,EANc;AAO1BH,EAAAA,KAAK,EAAE,EAPmB;AAQ1BQ,EAAAA,eAAe,EAAE;AARS,CAA5B;;eAWe,oBAAUZ,YAAV,C","sourcesContent":["import { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { useQuery } from 'react-apollo';\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n cardBannerIndex,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n const maxBannerHeight = getMaxBannerHeight(bannerSizes);\n const minBannerHeight = getMinBannerHeight(bannerSizes);\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n if (!shouldShowBanner) return null;\n const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n const style = {\n maxHeight: maxBannerHeight,\n minHeight: minBannerHeight\n };\n const targetingArguments = { ...parsedTargetings, ...customTargetings };\n\n return (\n <div className=\"ad-slot\" style={style}>\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n />\n </div>\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n cardBannerIndex: PropTypes.number\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null\n};\n\nexport default withTitle(BannerRender);\n"],"file":"BannerRender.js"}
@@ -39,7 +39,9 @@ var CardsRenderItem = function CardsRenderItem(_ref) {
39
39
  modifier = _ref.modifier,
40
40
  gridModifier = _ref.gridModifier,
41
41
  propsToDisplayModifiers = _ref.propsToDisplayModifiers,
42
- propsToDisplay = _ref.propsToDisplay;
42
+ propsToDisplay = _ref.propsToDisplay,
43
+ shouldRenderBanner = _ref.shouldRenderBanner,
44
+ bannerIndex = _ref.bannerIndex;
43
45
  var initialOffset = listProps.initialOffset,
44
46
  isInfinite = listProps.isInfinite,
45
47
  style = listProps.style,
@@ -58,7 +60,6 @@ var CardsRenderItem = function CardsRenderItem(_ref) {
58
60
  var currentItemIndex = initialOffset + index;
59
61
  var renderWaypoint = isInfinite && (0, _helpers.shouldRenderWaypoint)(index, currentListLength, currentItemIndex, listTotal);
60
62
  var shouldRenderGtm = gtmChildren && (0, _helpers2.checkIfShouldRenderGtm)(itemsPerPage, currentListLength, index);
61
- var shouldRenderBanner = !!bannerProps && (0, _helpers2.checkIfShouldRenderBanner)(index, bannerProps);
62
63
  var parsedPropsToDisplay = (0, _helpers.parsePropsToDisplay)(cardProps, propsToDisplay);
63
64
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, shouldRenderGtm && (0, _helpers.renderChildren)(gtmChildren), displayCount && /*#__PURE__*/_react["default"].createElement("div", {
64
65
  className: "heading heading--section heading--section--count"
@@ -85,7 +86,9 @@ var CardsRenderItem = function CardsRenderItem(_ref) {
85
86
  cardProps: cardProps,
86
87
  gtmId: name,
87
88
  gtmChildren: gtmChildren
88
- }, cardProps))), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], bannerProps));
89
+ }, cardProps))), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
90
+ cardBannerIndex: bannerIndex
91
+ })));
89
92
  };
90
93
 
91
94
  CardsRenderItem.propTypes = {
@@ -94,6 +97,8 @@ CardsRenderItem.propTypes = {
94
97
  index: _propTypes["default"].number.isRequired,
95
98
  currentListLength: _propTypes["default"].number.isRequired,
96
99
  propsToDisplayModifiers: _propTypes["default"].array.isRequired,
100
+ shouldRenderBanner: _propTypes["default"].bool.isRequired,
101
+ bannerIndex: _propTypes["default"].number.isRequired,
97
102
  bannerProps: _propTypes["default"].object,
98
103
  gridModifier: _propTypes["default"].string,
99
104
  propsToDisplay: _propTypes["default"].array,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"names":["CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderGtm","shouldRenderBanner","parsedPropsToDisplay","propTypes","PropTypes","object","isRequired","number","array","string","oneOfType","arrayOf","node","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm, checkIfShouldRenderBanner } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps} />}\n </>\n );\n};\n\nCardsRenderItem.propTypes = {\n cardProps: PropTypes.object.isRequired,\n listProps: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n currentListLength: PropTypes.number.isRequired,\n propsToDisplayModifiers: PropTypes.array.isRequired,\n bannerProps: PropTypes.object,\n gridModifier: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nCardsRenderItem.defaultProps = {\n bannerProps: null,\n gridModifier: '',\n propsToDisplay: [],\n modifier: '',\n cardChildren: [],\n gtmChildren: []\n};\n\nexport default CardsRenderItem;\n"],"file":"CardsRenderItem.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"names":["CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","shouldRenderBanner","bannerIndex","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderGtm","parsedPropsToDisplay","propTypes","PropTypes","object","isRequired","number","array","bool","string","oneOfType","arrayOf","node","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay,\n shouldRenderBanner,\n bannerIndex\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nCardsRenderItem.propTypes = {\n cardProps: PropTypes.object.isRequired,\n listProps: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n currentListLength: PropTypes.number.isRequired,\n propsToDisplayModifiers: PropTypes.array.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n bannerProps: PropTypes.object,\n gridModifier: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nCardsRenderItem.defaultProps = {\n bannerProps: null,\n gridModifier: '',\n propsToDisplay: [],\n modifier: '',\n cardChildren: [],\n gtmChildren: []\n};\n\nexport default CardsRenderItem;\n"],"file":"CardsRenderItem.js"}
@@ -25,23 +25,32 @@ var _Wrapper = _interopRequireDefault(require("../../../Wrapper"));
25
25
 
26
26
  var _HOC = require("../../../../HOC");
27
27
 
28
- var _excluded = ["orderedListData", "gridModifier"];
28
+ var _helpers = require("../helpers");
29
+
30
+ var _excluded = ["orderedListData", "gridModifier", "bannerProps"];
29
31
 
30
32
  var CardsRenderWrapper = function CardsRenderWrapper(_ref) {
31
33
  var orderedListData = _ref.orderedListData,
32
34
  gridModifier = _ref.gridModifier,
35
+ bannerProps = _ref.bannerProps,
33
36
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
37
+ var bannerIndex = 0;
34
38
  return /*#__PURE__*/_react["default"].createElement(_Wrapper["default"], {
35
39
  className: "grid",
36
40
  modifiers: gridModifier
37
41
  }, orderedListData.map(function (cardProps, index) {
38
42
  var id = cardProps.id;
43
+ var shouldRenderBanner = !!bannerProps && (0, _helpers.checkIfShouldRenderBanner)(index, bannerProps);
44
+ if (shouldRenderBanner) bannerIndex += 1;
39
45
  return /*#__PURE__*/_react["default"].createElement(_CardsRenderItem["default"], (0, _extends2["default"])({
40
46
  key: id,
41
47
  index: index,
42
48
  cardProps: cardProps,
43
49
  gridModifier: gridModifier,
44
- listProps: props
50
+ listProps: props,
51
+ shouldRenderBanner: shouldRenderBanner,
52
+ bannerProps: bannerProps,
53
+ bannerIndex: bannerIndex
45
54
  }, props));
46
55
  }));
47
56
  };
@@ -49,10 +58,12 @@ var CardsRenderWrapper = function CardsRenderWrapper(_ref) {
49
58
  CardsRenderWrapper.propTypes = {
50
59
  orderedListData: _propTypes["default"].array.isRequired,
51
60
  gridModifier: _propTypes["default"].string.isRequired,
52
- imagesData: _propTypes["default"].array
61
+ imagesData: _propTypes["default"].array,
62
+ bannerProps: _propTypes["default"].object
53
63
  };
54
64
  CardsRenderWrapper.defaultProps = {
55
- imagesData: []
65
+ imagesData: [],
66
+ bannerProps: {}
56
67
  };
57
68
 
58
69
  var _default = (0, _HOC.withTitle)(CardsRenderWrapper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["CardsRenderWrapper","orderedListData","gridModifier","props","map","cardProps","index","id","propTypes","PropTypes","array","isRequired","string","imagesData","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAAGC,eAAH,QAAGA,eAAH;AAAA,MAAoBC,YAApB,QAAoBA,YAApB;AAAA,MAAqCC,KAArC;AAAA,sBACzB,gCAAC,mBAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAED;AAArC,KACGD,eAAe,CAACG,GAAhB,CAAoB,UAACC,SAAD,EAAYC,KAAZ,EAAsB;AACzC,QAAQC,EAAR,GAAeF,SAAf,CAAQE,EAAR;AAEA,wBACE,gCAAC,2BAAD;AACE,MAAA,GAAG,EAAEA,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEH,YAJhB;AAKE,MAAA,SAAS,EAAEC;AALb,OAMMA,KANN,EADF;AAUD,GAbA,CADH,CADyB;AAAA,CAA3B;;AAmBAH,kBAAkB,CAACQ,SAAnB,GAA+B;AAC7BP,EAAAA,eAAe,EAAEQ,sBAAUC,KAAV,CAAgBC,UADJ;AAE7BT,EAAAA,YAAY,EAAEO,sBAAUG,MAAV,CAAiBD,UAFF;AAG7BE,EAAAA,UAAU,EAAEJ,sBAAUC;AAHO,CAA/B;AAMAV,kBAAkB,CAACc,YAAnB,GAAkC;AAChCD,EAAAA,UAAU,EAAE;AADoB,CAAlC;;eAIe,oBAAUb,kBAAV,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\n\nconst CardsRenderWrapper = ({ orderedListData, gridModifier, ...props }) => (\n <Wrapper className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n {...props}\n />\n );\n })}\n </Wrapper>\n);\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n imagesData: PropTypes.array\n};\n\nCardsRenderWrapper.defaultProps = {\n imagesData: []\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["CardsRenderWrapper","orderedListData","gridModifier","bannerProps","props","bannerIndex","map","cardProps","index","id","shouldRenderBanner","propTypes","PropTypes","array","isRequired","string","imagesData","object","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OAA8D;AAAA,MAA3DC,eAA2D,QAA3DA,eAA2D;AAAA,MAA1CC,YAA0C,QAA1CA,YAA0C;AAAA,MAA5BC,WAA4B,QAA5BA,WAA4B;AAAA,MAAZC,KAAY;AACvF,MAAIC,WAAW,GAAG,CAAlB;AAEA,sBACE,gCAAC,mBAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAEH;AAArC,KACGD,eAAe,CAACK,GAAhB,CAAoB,UAACC,SAAD,EAAYC,KAAZ,EAAsB;AACzC,QAAQC,EAAR,GAAeF,SAAf,CAAQE,EAAR;AACA,QAAMC,kBAAkB,GAAG,CAAC,CAACP,WAAF,IAAiB,wCAA0BK,KAA1B,EAAiCL,WAAjC,CAA5C;AACA,QAAIO,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,gCAAC,2BAAD;AACE,MAAA,GAAG,EAAEI,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEL,YAJhB;AAKE,MAAA,SAAS,EAAEE,KALb;AAME,MAAA,kBAAkB,EAAEM,kBANtB;AAOE,MAAA,WAAW,EAAEP,WAPf;AAQE,MAAA,WAAW,EAAEE;AARf,OASMD,KATN,EADF;AAaD,GAlBA,CADH,CADF;AAuBD,CA1BD;;AA4BAJ,kBAAkB,CAACW,SAAnB,GAA+B;AAC7BV,EAAAA,eAAe,EAAEW,sBAAUC,KAAV,CAAgBC,UADJ;AAE7BZ,EAAAA,YAAY,EAAEU,sBAAUG,MAAV,CAAiBD,UAFF;AAG7BE,EAAAA,UAAU,EAAEJ,sBAAUC,KAHO;AAI7BV,EAAAA,WAAW,EAAES,sBAAUK;AAJM,CAA/B;AAOAjB,kBAAkB,CAACkB,YAAnB,GAAkC;AAChCF,EAAAA,UAAU,EAAE,EADoB;AAEhCb,EAAAA,WAAW,EAAE;AAFmB,CAAlC;;eAKe,oBAAUH,kBAAV,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst CardsRenderWrapper = ({ orderedListData, gridModifier, bannerProps, ...props }) => {\n let bannerIndex = 0;\n\n return (\n <Wrapper className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n {...props}\n />\n );\n })}\n </Wrapper>\n );\n};\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n imagesData: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nCardsRenderWrapper.defaultProps = {\n imagesData: [],\n bannerProps: {}\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
@@ -47,6 +47,8 @@ var _constants = require("../../../../constants");
47
47
 
48
48
  var _constants2 = require("../../constants");
49
49
 
50
+ var _helpers = require("../helpers");
51
+
50
52
  var _excluded = ["orderedListData", "paginationType"],
51
53
  _excluded2 = ["id"];
52
54
 
@@ -72,11 +74,14 @@ var FullRender = function FullRender(_ref) {
72
74
  }, banner), {}, {
73
75
  type: _constants2.BANNER
74
76
  }) : null;
77
+ var bannerIndex = 0;
75
78
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
76
79
  className: "list list--full"
77
80
  }, orderedListData.map(function (_ref2, i) {
78
81
  var id = _ref2.id,
79
82
  entityProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
83
+ var shouldRenderBanner = !!bannerProps && (0, _helpers.checkIfShouldRenderBanner)(i, bannerProps);
84
+ if (shouldRenderBanner) bannerIndex += 1;
80
85
  return /*#__PURE__*/_react["default"].createElement(_FullRenderItem["default"], (0, _extends2["default"])({
81
86
  key: id
82
87
  }, props, entityProps, {
@@ -84,7 +89,9 @@ var FullRender = function FullRender(_ref) {
84
89
  itemId: id,
85
90
  pageBuilderID: pageBuilderID,
86
91
  entityProps: entityProps,
87
- bannerProps: bannerProps
92
+ shouldRenderBanner: shouldRenderBanner,
93
+ bannerProps: bannerProps,
94
+ bannerIndex: bannerIndex
88
95
  }));
89
96
  })), paginationType === _constants.LOAD_MORE && /*#__PURE__*/_react["default"].createElement(_Pagination["default"], (0, _extends2["default"])({
90
97
  paginationType: paginationType
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","BANNER","map","i","id","entityProps","LOAD_MORE","propTypes","PropTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAAmD;AAAA,MAAhDC,eAAgD,QAAhDA,eAAgD;AAAA,MAA/BC,cAA+B,QAA/BA,cAA+B;AAAA,MAAZC,KAAY;AACpE,MAAMC,aAAa,GAAG,oBAAtB;AACA,MAAQC,MAAR,GAA8DF,KAA9D,CAAQE,MAAR;AAAA,MAAgBC,MAAhB,GAA8DH,KAA9D,CAAgBG,MAAhB;AAAA,MAAwBC,cAAxB,GAA8DJ,KAA9D,CAAwBI,cAAxB;AAAA,MAAwCC,MAAxC,GAA8DL,KAA9D,CAAwCK,MAAxC;AAAA,MAAgDC,SAAhD,GAA8DN,KAA9D,CAAgDM,SAAhD;AACA,MAAMC,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SAAS,EAATA,SADoB;AACTJ,IAAAA,MAAM,EAANA,MADS;AACDC,IAAAA,MAAM,EAANA,MADC;AACOC,IAAAA,cAAc,EAAdA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEC;AADxC,OAEtB,IAFJ;AAIA,sBACE,+EACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,eAAe,CAACY,GAAhB,CAAoB,iBAAyBC,CAAzB;AAAA,QAAGC,EAAH,SAAGA,EAAH;AAAA,QAAUC,WAAV;AAAA,wBACnB,gCAAC,0BAAD;AACE,MAAA,GAAG,EAAED;AADP,OAEMZ,KAFN,EAGMa,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEX,aANjB;AAOE,MAAA,WAAW,EAAEY,WAPf;AAQE,MAAA,WAAW,EAAEN;AARf,OADmB;AAAA,GAApB,CADH,CADF,EAeGR,cAAc,KAAKe,oBAAnB,iBACC,gCAAC,sBAAD;AAAgB,IAAA,cAAc,EAAEf;AAAhC,KAAoDC,KAApD,EAhBJ,CADF;AAqBD,CA5BD;;AA8BAH,UAAU,CAACkB,SAAX,GAAuB;AACrBjB,EAAAA,eAAe,EAAEkB,sBAAUC,KAAV,CAAgBC,UADZ;AAErBnB,EAAAA,cAAc,EAAEiB,sBAAUG,MAAV,CAAiBD,UAFZ;AAGrBhB,EAAAA,MAAM,EAAEc,sBAAUI,MAAV,CAAiBF,UAHJ;AAIrBd,EAAAA,cAAc,EAAEY,sBAAUC,KAAV,CAAgBC,UAJX;AAKrBf,EAAAA,MAAM,EAAEa,sBAAUG,MAAV,CAAiBD,UALJ;AAMrBZ,EAAAA,SAAS,EAAEU,sBAAUK,IANA;AAOrBhB,EAAAA,MAAM,EAAEW,sBAAUI;AAPG,CAAvB;AAUAvB,UAAU,CAACyB,YAAX,GAA0B;AACxBhB,EAAAA,SAAS,EAAE,KADa;AAExBD,EAAAA,MAAM,EAAE;AAFgB,CAA1B;eAKeR,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\n\nconst FullRender = ({ orderedListData, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n\n return (\n <>\n <div className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n bannerProps={bannerProps}\n />\n ))}\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","BANNER","bannerIndex","map","i","id","entityProps","shouldRenderBanner","LOAD_MORE","propTypes","PropTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAAmD;AAAA,MAAhDC,eAAgD,QAAhDA,eAAgD;AAAA,MAA/BC,cAA+B,QAA/BA,cAA+B;AAAA,MAAZC,KAAY;AACpE,MAAMC,aAAa,GAAG,oBAAtB;AACA,MAAQC,MAAR,GAA8DF,KAA9D,CAAQE,MAAR;AAAA,MAAgBC,MAAhB,GAA8DH,KAA9D,CAAgBG,MAAhB;AAAA,MAAwBC,cAAxB,GAA8DJ,KAA9D,CAAwBI,cAAxB;AAAA,MAAwCC,MAAxC,GAA8DL,KAA9D,CAAwCK,MAAxC;AAAA,MAAgDC,SAAhD,GAA8DN,KAA9D,CAAgDM,SAAhD;AACA,MAAMC,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SAAS,EAATA,SADoB;AACTJ,IAAAA,MAAM,EAANA,MADS;AACDC,IAAAA,MAAM,EAANA,MADC;AACOC,IAAAA,cAAc,EAAdA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEC;AADxC,OAEtB,IAFJ;AAGA,MAAIC,WAAW,GAAG,CAAlB;AAEA,sBACE,+EACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGZ,eAAe,CAACa,GAAhB,CAAoB,iBAAyBC,CAAzB,EAA+B;AAAA,QAA5BC,EAA4B,SAA5BA,EAA4B;AAAA,QAArBC,WAAqB;AAClD,QAAMC,kBAAkB,GAAG,CAAC,CAACR,WAAF,IAAiB,wCAA0BK,CAA1B,EAA6BL,WAA7B,CAA5C;AACA,QAAIQ,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,gCAAC,0BAAD;AACE,MAAA,GAAG,EAAEG;AADP,OAEMb,KAFN,EAGMc,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEZ,aANjB;AAOE,MAAA,WAAW,EAAEa,WAPf;AAQE,MAAA,kBAAkB,EAAEC,kBARtB;AASE,MAAA,WAAW,EAAER,WATf;AAUE,MAAA,WAAW,EAAEG;AAVf,OADF;AAcD,GAlBA,CADH,CADF,EAsBGX,cAAc,KAAKiB,oBAAnB,iBACC,gCAAC,sBAAD;AAAgB,IAAA,cAAc,EAAEjB;AAAhC,KAAoDC,KAApD,EAvBJ,CADF;AA4BD,CApCD;;AAsCAH,UAAU,CAACoB,SAAX,GAAuB;AACrBnB,EAAAA,eAAe,EAAEoB,sBAAUC,KAAV,CAAgBC,UADZ;AAErBrB,EAAAA,cAAc,EAAEmB,sBAAUG,MAAV,CAAiBD,UAFZ;AAGrBlB,EAAAA,MAAM,EAAEgB,sBAAUI,MAAV,CAAiBF,UAHJ;AAIrBhB,EAAAA,cAAc,EAAEc,sBAAUC,KAAV,CAAgBC,UAJX;AAKrBjB,EAAAA,MAAM,EAAEe,sBAAUG,MAAV,CAAiBD,UALJ;AAMrBd,EAAAA,SAAS,EAAEY,sBAAUK,IANA;AAOrBlB,EAAAA,MAAM,EAAEa,sBAAUI;AAPG,CAAvB;AAUAzB,UAAU,CAAC2B,YAAX,GAA0B;AACxBlB,EAAAA,SAAS,EAAE,KADa;AAExBD,EAAAA,MAAM,EAAE;AAFgB,CAA1B;eAKeR,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n return (\n <>\n <div className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
@@ -39,6 +39,8 @@ exports["default"] = void 0;
39
39
 
40
40
  require("core-js/modules/es.array.map.js");
41
41
 
42
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
43
+
42
44
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
43
45
 
44
46
  var _react = _interopRequireWildcard(require("react"));
@@ -55,8 +57,6 @@ var _Banner = _interopRequireDefault(require("../../../Banner"));
55
57
 
56
58
  var _helpers = require("../../../../helpers");
57
59
 
58
- var _helpers2 = require("../helpers");
59
-
60
60
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
61
61
 
62
62
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -80,7 +80,9 @@ var FullRenderItem = function FullRenderItem(_ref) {
80
80
  parent = _ref.parent,
81
81
  pageBuilderID = _ref.pageBuilderID,
82
82
  displayCount = _ref.displayCount,
83
- bannerProps = _ref.bannerProps;
83
+ shouldRenderBanner = _ref.shouldRenderBanner,
84
+ bannerProps = _ref.bannerProps,
85
+ bannerIndex = _ref.bannerIndex;
84
86
 
85
87
  var _useContext = (0, _react.useContext)(_nextjsComponents.MainContext),
86
88
  hasGTM = _useContext.hasGTM;
@@ -89,7 +91,6 @@ var FullRenderItem = function FullRenderItem(_ref) {
89
91
  var parsedPropsToDisplay = (0, _helpers.parsePropsToDisplay)(entityProps, propsToDisplay);
90
92
  var currentItemIndex = initialOffset + index;
91
93
  var renderWaypoint = isInfinite && (0, _helpers.shouldRenderWaypoint)(index, currentListLength, currentItemIndex, listTotal);
92
- var shouldRenderBanner = !!bannerProps && (0, _helpers2.checkIfShouldRenderBanner)(index, bannerProps);
93
94
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, renderWaypoint && /*#__PURE__*/_react["default"].createElement(_reactWaypoint.Waypoint, {
94
95
  onEnter: triggerInfiniteScroll
95
96
  }), displayCount && /*#__PURE__*/_react["default"].createElement("div", {
@@ -111,7 +112,9 @@ var FullRenderItem = function FullRenderItem(_ref) {
111
112
  return prop ? /*#__PURE__*/_react["default"].createElement("span", {
112
113
  key: prop
113
114
  }, prop) : null;
114
- })), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], bannerProps));
115
+ })), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
116
+ cardBannerIndex: bannerIndex
117
+ })));
115
118
  };
116
119
 
117
120
  FullRenderItem.propTypes = {
@@ -128,6 +131,8 @@ FullRenderItem.propTypes = {
128
131
  itemId: _propTypes["default"].string.isRequired,
129
132
  index: _propTypes["default"].number.isRequired,
130
133
  isInfinite: _propTypes["default"].bool.isRequired,
134
+ shouldRenderBanner: _propTypes["default"].bool.isRequired,
135
+ bannerIndex: _propTypes["default"].number.isRequired,
131
136
  propsToDisplay: _propTypes["default"].array,
132
137
  data: _propTypes["default"].array,
133
138
  itemsToDisplay: _propTypes["default"].array,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"names":["FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","bannerProps","MainContext","hasGTM","parsedPropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderBanner","itemEntity","length","map","prop","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n bannerProps\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"file":"FullRenderItem.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"names":["FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","MainContext","hasGTM","parsedPropsToDisplay","currentItemIndex","renderWaypoint","itemEntity","length","map","prop","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"file":"FullRenderItem.js"}
@@ -92,13 +92,16 @@ const BannerRender = _ref => {
92
92
  maxHeight: maxBannerHeight,
93
93
  minHeight: minBannerHeight
94
94
  };
95
+
96
+ const targetingArguments = _objectSpread(_objectSpread({}, parsedTargetings), customTargetings);
97
+
95
98
  return /*#__PURE__*/React.createElement("div", {
96
99
  className: "ad-slot",
97
100
  style: style
98
101
  }, /*#__PURE__*/React.createElement(AdSlot, {
99
102
  adUnit: parsedAdunit,
100
103
  sizes: parsedSizes,
101
- targetingArguments: _objectSpread(_objectSpread({}, parsedTargetings), customTargetings),
104
+ targetingArguments: targetingArguments,
102
105
  sizeMapping: sizeMapping
103
106
  }));
104
107
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/BannerRender.js"],"names":["AdSlot","PropTypes","React","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","getMaxBannerHeight","getMinBannerHeight","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","otherProps","id","itemId","data","entityRecordData","variables","where","skip","parsedTargetings","bannerData","entityData","bannerSizes","sizeMapping","parsedSizes","maxBannerHeight","minBannerHeight","parentId","childEntity","_ilike","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","style","maxHeight","minHeight","propTypes","object","isRequired","string","array","number","defaultProps"],"mappings":"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","sourcesContent":["import { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { useQuery } from 'react-apollo';\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n cardBannerIndex,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n const maxBannerHeight = getMaxBannerHeight(bannerSizes);\n const minBannerHeight = getMinBannerHeight(bannerSizes);\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n if (!shouldShowBanner) return null;\n const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n\n const style = {\n maxHeight: maxBannerHeight,\n minHeight: minBannerHeight\n };\n\n return (\n <div className=\"ad-slot\" style={style}>\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={{ ...parsedTargetings, ...customTargetings }}\n sizeMapping={sizeMapping}\n />\n </div>\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n cardBannerIndex: PropTypes.number\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null\n};\n\nexport default withTitle(BannerRender);\n"],"file":"BannerRender.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/BannerRender.js"],"names":["AdSlot","PropTypes","React","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","getMaxBannerHeight","getMinBannerHeight","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","otherProps","id","itemId","data","entityRecordData","variables","where","skip","parsedTargetings","bannerData","entityData","bannerSizes","sizeMapping","parsedSizes","maxBannerHeight","minBannerHeight","parentId","childEntity","_ilike","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","style","maxHeight","minHeight","targetingArguments","propTypes","object","isRequired","string","array","number","defaultProps"],"mappings":"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","sourcesContent":["import { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { useQuery } from 'react-apollo';\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n cardBannerIndex,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n const maxBannerHeight = getMaxBannerHeight(bannerSizes);\n const minBannerHeight = getMinBannerHeight(bannerSizes);\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n if (!shouldShowBanner) return null;\n const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n const style = {\n maxHeight: maxBannerHeight,\n minHeight: minBannerHeight\n };\n const targetingArguments = { ...parsedTargetings, ...customTargetings };\n\n return (\n <div className=\"ad-slot\" style={style}>\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n />\n </div>\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n cardBannerIndex: PropTypes.number\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null\n};\n\nexport default withTitle(BannerRender);\n"],"file":"BannerRender.js"}
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { Waypoint } from 'react-waypoint';
5
5
  import Card from '../../../Card/Card';
6
6
  import { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';
7
- import { checkIfShouldRenderGtm, checkIfShouldRenderBanner } from '../helpers';
7
+ import { checkIfShouldRenderGtm } from '../helpers';
8
8
  import Banner from '../../../Banner';
9
9
 
10
10
  const CardsRenderItem = ({
@@ -19,7 +19,9 @@ const CardsRenderItem = ({
19
19
  modifier,
20
20
  gridModifier,
21
21
  propsToDisplayModifiers,
22
- propsToDisplay
22
+ propsToDisplay,
23
+ shouldRenderBanner,
24
+ bannerIndex
23
25
  }) => {
24
26
  const {
25
27
  initialOffset,
@@ -38,7 +40,6 @@ const CardsRenderItem = ({
38
40
  const currentItemIndex = initialOffset + index;
39
41
  const renderWaypoint = isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
40
42
  const shouldRenderGtm = gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);
41
- const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
42
43
  const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);
43
44
  return /*#__PURE__*/React.createElement(React.Fragment, null, shouldRenderGtm && renderChildren(gtmChildren), displayCount && /*#__PURE__*/React.createElement("div", {
44
45
  className: "heading heading--section heading--section--count"
@@ -65,7 +66,9 @@ const CardsRenderItem = ({
65
66
  cardProps: cardProps,
66
67
  gtmId: name,
67
68
  gtmChildren: gtmChildren
68
- }, cardProps))), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, bannerProps));
69
+ }, cardProps))), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({}, bannerProps, {
70
+ cardBannerIndex: bannerIndex
71
+ })));
69
72
  };
70
73
 
71
74
  CardsRenderItem.propTypes = {
@@ -74,6 +77,8 @@ CardsRenderItem.propTypes = {
74
77
  index: PropTypes.number.isRequired,
75
78
  currentListLength: PropTypes.number.isRequired,
76
79
  propsToDisplayModifiers: PropTypes.array.isRequired,
80
+ shouldRenderBanner: PropTypes.bool.isRequired,
81
+ bannerIndex: PropTypes.number.isRequired,
77
82
  bannerProps: PropTypes.object,
78
83
  gridModifier: PropTypes.string,
79
84
  propsToDisplay: PropTypes.array,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"names":["React","PropTypes","Waypoint","Card","shouldRenderWaypoint","renderChildren","parsePropsToDisplay","checkIfShouldRenderGtm","checkIfShouldRenderBanner","Banner","CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderGtm","shouldRenderBanner","parsedPropsToDisplay","propTypes","object","isRequired","number","array","string","oneOfType","arrayOf","node","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm, checkIfShouldRenderBanner } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps} />}\n </>\n );\n};\n\nCardsRenderItem.propTypes = {\n cardProps: PropTypes.object.isRequired,\n listProps: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n currentListLength: PropTypes.number.isRequired,\n propsToDisplayModifiers: PropTypes.array.isRequired,\n bannerProps: PropTypes.object,\n gridModifier: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nCardsRenderItem.defaultProps = {\n bannerProps: null,\n gridModifier: '',\n propsToDisplay: [],\n modifier: '',\n cardChildren: [],\n gtmChildren: []\n};\n\nexport default CardsRenderItem;\n"],"file":"CardsRenderItem.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"names":["React","PropTypes","Waypoint","Card","shouldRenderWaypoint","renderChildren","parsePropsToDisplay","checkIfShouldRenderGtm","Banner","CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","shouldRenderBanner","bannerIndex","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderGtm","parsedPropsToDisplay","propTypes","object","isRequired","number","array","bool","string","oneOfType","arrayOf","node","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay,\n shouldRenderBanner,\n bannerIndex\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nCardsRenderItem.propTypes = {\n cardProps: PropTypes.object.isRequired,\n listProps: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n currentListLength: PropTypes.number.isRequired,\n propsToDisplayModifiers: PropTypes.array.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n bannerProps: PropTypes.object,\n gridModifier: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nCardsRenderItem.defaultProps = {\n bannerProps: null,\n gridModifier: '',\n propsToDisplay: [],\n modifier: '',\n cardChildren: [],\n gtmChildren: []\n};\n\nexport default CardsRenderItem;\n"],"file":"CardsRenderItem.js"}
@@ -1,19 +1,22 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["orderedListData", "gridModifier"];
3
+ const _excluded = ["orderedListData", "gridModifier", "bannerProps"];
4
4
  import React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import CardsRenderItem from './CardsRenderItem';
7
7
  import Wrapper from '../../../Wrapper';
8
8
  import { withTitle } from '../../../../HOC';
9
+ import { checkIfShouldRenderBanner } from '../helpers';
9
10
 
10
11
  const CardsRenderWrapper = _ref => {
11
12
  let {
12
13
  orderedListData,
13
- gridModifier
14
+ gridModifier,
15
+ bannerProps
14
16
  } = _ref,
15
17
  props = _objectWithoutProperties(_ref, _excluded);
16
18
 
19
+ let bannerIndex = 0;
17
20
  return /*#__PURE__*/React.createElement(Wrapper, {
18
21
  className: "grid",
19
22
  modifiers: gridModifier
@@ -21,12 +24,17 @@ const CardsRenderWrapper = _ref => {
21
24
  const {
22
25
  id
23
26
  } = cardProps;
27
+ const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
28
+ if (shouldRenderBanner) bannerIndex += 1;
24
29
  return /*#__PURE__*/React.createElement(CardsRenderItem, _extends({
25
30
  key: id,
26
31
  index: index,
27
32
  cardProps: cardProps,
28
33
  gridModifier: gridModifier,
29
- listProps: props
34
+ listProps: props,
35
+ shouldRenderBanner: shouldRenderBanner,
36
+ bannerProps: bannerProps,
37
+ bannerIndex: bannerIndex
30
38
  }, props));
31
39
  }));
32
40
  };
@@ -34,10 +42,12 @@ const CardsRenderWrapper = _ref => {
34
42
  CardsRenderWrapper.propTypes = {
35
43
  orderedListData: PropTypes.array.isRequired,
36
44
  gridModifier: PropTypes.string.isRequired,
37
- imagesData: PropTypes.array
45
+ imagesData: PropTypes.array,
46
+ bannerProps: PropTypes.object
38
47
  };
39
48
  CardsRenderWrapper.defaultProps = {
40
- imagesData: []
49
+ imagesData: [],
50
+ bannerProps: {}
41
51
  };
42
52
  export default withTitle(CardsRenderWrapper);
43
53
  //# sourceMappingURL=CardsRenderWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["React","PropTypes","CardsRenderItem","Wrapper","withTitle","CardsRenderWrapper","orderedListData","gridModifier","props","map","cardProps","index","id","propTypes","array","isRequired","string","imagesData","defaultProps"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,SAASC,SAAT,QAA0B,iBAA1B;;AAEA,MAAMC,kBAAkB,GAAG;AAAA,MAAC;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAD;AAAA,MAAqCC,KAArC;;AAAA,sBACzB,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAED;AAArC,KACGD,eAAe,CAACG,GAAhB,CAAoB,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAASF,SAAf;AAEA,wBACE,oBAAC,eAAD;AACE,MAAA,GAAG,EAAEE,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEH,YAJhB;AAKE,MAAA,SAAS,EAAEC;AALb,OAMMA,KANN,EADF;AAUD,GAbA,CADH,CADyB;AAAA,CAA3B;;AAmBAH,kBAAkB,CAACQ,SAAnB,GAA+B;AAC7BP,EAAAA,eAAe,EAAEL,SAAS,CAACa,KAAV,CAAgBC,UADJ;AAE7BR,EAAAA,YAAY,EAAEN,SAAS,CAACe,MAAV,CAAiBD,UAFF;AAG7BE,EAAAA,UAAU,EAAEhB,SAAS,CAACa;AAHO,CAA/B;AAMAT,kBAAkB,CAACa,YAAnB,GAAkC;AAChCD,EAAAA,UAAU,EAAE;AADoB,CAAlC;AAIA,eAAeb,SAAS,CAACC,kBAAD,CAAxB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\n\nconst CardsRenderWrapper = ({ orderedListData, gridModifier, ...props }) => (\n <Wrapper className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n {...props}\n />\n );\n })}\n </Wrapper>\n);\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n imagesData: PropTypes.array\n};\n\nCardsRenderWrapper.defaultProps = {\n imagesData: []\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["React","PropTypes","CardsRenderItem","Wrapper","withTitle","checkIfShouldRenderBanner","CardsRenderWrapper","orderedListData","gridModifier","bannerProps","props","bannerIndex","map","cardProps","index","id","shouldRenderBanner","propTypes","array","isRequired","string","imagesData","object","defaultProps"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,yBAAT,QAA0C,YAA1C;;AAEA,MAAMC,kBAAkB,GAAG,QAA8D;AAAA,MAA7D;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA,YAAnB;AAAiCC,IAAAA;AAAjC,GAA6D;AAAA,MAAZC,KAAY;;AACvF,MAAIC,WAAW,GAAG,CAAlB;AAEA,sBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAEH;AAArC,KACGD,eAAe,CAACK,GAAhB,CAAoB,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAASF,SAAf;AACA,UAAMG,kBAAkB,GAAG,CAAC,CAACP,WAAF,IAAiBJ,yBAAyB,CAACS,KAAD,EAAQL,WAAR,CAArE;AACA,QAAIO,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,oBAAC,eAAD;AACE,MAAA,GAAG,EAAEI,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEL,YAJhB;AAKE,MAAA,SAAS,EAAEE,KALb;AAME,MAAA,kBAAkB,EAAEM,kBANtB;AAOE,MAAA,WAAW,EAAEP,WAPf;AAQE,MAAA,WAAW,EAAEE;AARf,OASMD,KATN,EADF;AAaD,GAlBA,CADH,CADF;AAuBD,CA1BD;;AA4BAJ,kBAAkB,CAACW,SAAnB,GAA+B;AAC7BV,EAAAA,eAAe,EAAEN,SAAS,CAACiB,KAAV,CAAgBC,UADJ;AAE7BX,EAAAA,YAAY,EAAEP,SAAS,CAACmB,MAAV,CAAiBD,UAFF;AAG7BE,EAAAA,UAAU,EAAEpB,SAAS,CAACiB,KAHO;AAI7BT,EAAAA,WAAW,EAAER,SAAS,CAACqB;AAJM,CAA/B;AAOAhB,kBAAkB,CAACiB,YAAnB,GAAkC;AAChCF,EAAAA,UAAU,EAAE,EADoB;AAEhCZ,EAAAA,WAAW,EAAE;AAFmB,CAAlC;AAKA,eAAeL,SAAS,CAACE,kBAAD,CAAxB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst CardsRenderWrapper = ({ orderedListData, gridModifier, bannerProps, ...props }) => {\n let bannerIndex = 0;\n\n return (\n <Wrapper className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n {...props}\n />\n );\n })}\n </Wrapper>\n );\n};\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n imagesData: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nCardsRenderWrapper.defaultProps = {\n imagesData: [],\n bannerProps: {}\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
@@ -15,6 +15,7 @@ import FullRenderItem from './FullRenderItem';
15
15
  import ListPagination from '../Pagination';
16
16
  import { LOAD_MORE } from '../../../../constants';
17
17
  import { BANNER } from '../../constants';
18
+ import { checkIfShouldRenderBanner } from '../helpers';
18
19
 
19
20
  const FullRender = _ref => {
20
21
  let {
@@ -39,6 +40,7 @@ const FullRender = _ref => {
39
40
  }, banner), {}, {
40
41
  type: BANNER
41
42
  }) : null;
43
+ let bannerIndex = 0;
42
44
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
43
45
  className: "list list--full"
44
46
  }, orderedListData.map((_ref2, i) => {
@@ -47,6 +49,8 @@ const FullRender = _ref => {
47
49
  } = _ref2,
48
50
  entityProps = _objectWithoutProperties(_ref2, _excluded2);
49
51
 
52
+ const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);
53
+ if (shouldRenderBanner) bannerIndex += 1;
50
54
  return /*#__PURE__*/React.createElement(FullRenderItem, _extends({
51
55
  key: id
52
56
  }, props, entityProps, {
@@ -54,7 +58,9 @@ const FullRender = _ref => {
54
58
  itemId: id,
55
59
  pageBuilderID: pageBuilderID,
56
60
  entityProps: entityProps,
57
- bannerProps: bannerProps
61
+ shouldRenderBanner: shouldRenderBanner,
62
+ bannerProps: bannerProps,
63
+ bannerIndex: bannerIndex
58
64
  }));
59
65
  })), paginationType === LOAD_MORE && /*#__PURE__*/React.createElement(ListPagination, _extends({
60
66
  paginationType: paginationType
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["React","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","map","i","id","entityProps","propTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,cAAP,MAA2B,eAA3B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,MAAT,QAAuB,iBAAvB;;AAEA,MAAMC,UAAU,GAAG,QAAmD;AAAA,MAAlD;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAkD;AAAA,MAAZC,KAAY;;AACpE,QAAMC,aAAa,GAAGT,IAAI,EAA1B;AACA,QAAM;AAAEU,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA,cAAlB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAAwDN,KAA9D;AACA,QAAMO,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SADoB;AACTJ,IAAAA,MADS;AACDC,IAAAA,MADC;AACOC,IAAAA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEZ;AADxC,OAEtB,IAFJ;AAIA,sBACE,uDACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,eAAe,CAACW,GAAhB,CAAoB,QAAyBC,CAAzB;AAAA,QAAC;AAAEC,MAAAA;AAAF,KAAD;AAAA,QAAUC,WAAV;;AAAA,wBACnB,oBAAC,cAAD;AACE,MAAA,GAAG,EAAED;AADP,OAEMX,KAFN,EAGMY,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEV,aANjB;AAOE,MAAA,WAAW,EAAEW,WAPf;AAQE,MAAA,WAAW,EAAEL;AARf,OADmB;AAAA,GAApB,CADH,CADF,EAeGR,cAAc,KAAKJ,SAAnB,iBACC,oBAAC,cAAD;AAAgB,IAAA,cAAc,EAAEI;AAAhC,KAAoDC,KAApD,EAhBJ,CADF;AAqBD,CA5BD;;AA8BAH,UAAU,CAACgB,SAAX,GAAuB;AACrBf,EAAAA,eAAe,EAAEP,SAAS,CAACuB,KAAV,CAAgBC,UADZ;AAErBhB,EAAAA,cAAc,EAAER,SAAS,CAACyB,MAAV,CAAiBD,UAFZ;AAGrBb,EAAAA,MAAM,EAAEX,SAAS,CAAC0B,MAAV,CAAiBF,UAHJ;AAIrBX,EAAAA,cAAc,EAAEb,SAAS,CAACuB,KAAV,CAAgBC,UAJX;AAKrBZ,EAAAA,MAAM,EAAEZ,SAAS,CAACyB,MAAV,CAAiBD,UALJ;AAMrBT,EAAAA,SAAS,EAAEf,SAAS,CAAC2B,IANA;AAOrBb,EAAAA,MAAM,EAAEd,SAAS,CAAC0B;AAPG,CAAvB;AAUApB,UAAU,CAACsB,YAAX,GAA0B;AACxBb,EAAAA,SAAS,EAAE,KADa;AAExBD,EAAAA,MAAM,EAAE;AAFgB,CAA1B;AAKA,eAAeR,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\n\nconst FullRender = ({ orderedListData, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n\n return (\n <>\n <div className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n bannerProps={bannerProps}\n />\n ))}\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["React","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","checkIfShouldRenderBanner","FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","bannerIndex","map","i","id","entityProps","shouldRenderBanner","propTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,cAAP,MAA2B,eAA3B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,yBAAT,QAA0C,YAA1C;;AAEA,MAAMC,UAAU,GAAG,QAAmD;AAAA,MAAlD;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAkD;AAAA,MAAZC,KAAY;;AACpE,QAAMC,aAAa,GAAGV,IAAI,EAA1B;AACA,QAAM;AAAEW,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA,cAAlB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAAwDN,KAA9D;AACA,QAAMO,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SADoB;AACTJ,IAAAA,MADS;AACDC,IAAAA,MADC;AACOC,IAAAA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEb;AADxC,OAEtB,IAFJ;AAGA,MAAIc,WAAW,GAAG,CAAlB;AAEA,sBACE,uDACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,eAAe,CAACY,GAAhB,CAAoB,QAAyBC,CAAzB,KAA+B;AAAA,QAA9B;AAAEC,MAAAA;AAAF,KAA8B;AAAA,QAArBC,WAAqB;;AAClD,UAAMC,kBAAkB,GAAG,CAAC,CAACP,WAAF,IAAiBX,yBAAyB,CAACe,CAAD,EAAIJ,WAAJ,CAArE;AACA,QAAIO,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,oBAAC,cAAD;AACE,MAAA,GAAG,EAAEG;AADP,OAEMZ,KAFN,EAGMa,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEX,aANjB;AAOE,MAAA,WAAW,EAAEY,WAPf;AAQE,MAAA,kBAAkB,EAAEC,kBARtB;AASE,MAAA,WAAW,EAAEP,WATf;AAUE,MAAA,WAAW,EAAEE;AAVf,OADF;AAcD,GAlBA,CADH,CADF,EAsBGV,cAAc,KAAKL,SAAnB,iBACC,oBAAC,cAAD;AAAgB,IAAA,cAAc,EAAEK;AAAhC,KAAoDC,KAApD,EAvBJ,CADF;AA4BD,CApCD;;AAsCAH,UAAU,CAACkB,SAAX,GAAuB;AACrBjB,EAAAA,eAAe,EAAER,SAAS,CAAC0B,KAAV,CAAgBC,UADZ;AAErBlB,EAAAA,cAAc,EAAET,SAAS,CAAC4B,MAAV,CAAiBD,UAFZ;AAGrBf,EAAAA,MAAM,EAAEZ,SAAS,CAAC6B,MAAV,CAAiBF,UAHJ;AAIrBb,EAAAA,cAAc,EAAEd,SAAS,CAAC0B,KAAV,CAAgBC,UAJX;AAKrBd,EAAAA,MAAM,EAAEb,SAAS,CAAC4B,MAAV,CAAiBD,UALJ;AAMrBX,EAAAA,SAAS,EAAEhB,SAAS,CAAC8B,IANA;AAOrBf,EAAAA,MAAM,EAAEf,SAAS,CAAC6B;AAPG,CAAvB;AAUAtB,UAAU,CAACwB,YAAX,GAA0B;AACxBf,EAAAA,SAAS,EAAE,KADa;AAExBD,EAAAA,MAAM,EAAE;AAFgB,CAA1B;AAKA,eAAeR,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n return (\n <>\n <div className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
 
3
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -11,7 +12,6 @@ import { MainContext } from '@blaze-cms/nextjs-components';
11
12
  import BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';
12
13
  import Banner from '../../../Banner';
13
14
  import { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';
14
- import { checkIfShouldRenderBanner } from '../helpers';
15
15
 
16
16
  const FullRenderItem = ({
17
17
  isInfinite,
@@ -28,7 +28,9 @@ const FullRenderItem = ({
28
28
  parent,
29
29
  pageBuilderID,
30
30
  displayCount,
31
- bannerProps
31
+ shouldRenderBanner,
32
+ bannerProps,
33
+ bannerIndex
32
34
  }) => {
33
35
  const {
34
36
  hasGTM
@@ -37,7 +39,6 @@ const FullRenderItem = ({
37
39
  const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);
38
40
  const currentItemIndex = initialOffset + index;
39
41
  const renderWaypoint = isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
40
- const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
41
42
  return /*#__PURE__*/React.createElement(React.Fragment, null, renderWaypoint && /*#__PURE__*/React.createElement(Waypoint, {
42
43
  onEnter: triggerInfiniteScroll
43
44
  }), displayCount && /*#__PURE__*/React.createElement("div", {
@@ -57,7 +58,9 @@ const FullRenderItem = ({
57
58
  pageBuilderID
58
59
  })), !!parsedPropsToDisplay.length && /*#__PURE__*/React.createElement(React.Fragment, null, parsedPropsToDisplay.map(prop => prop ? /*#__PURE__*/React.createElement("span", {
59
60
  key: prop
60
- }, prop) : null)), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, bannerProps));
61
+ }, prop) : null)), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({}, bannerProps, {
62
+ cardBannerIndex: bannerIndex
63
+ })));
61
64
  };
62
65
 
63
66
  FullRenderItem.propTypes = {
@@ -74,6 +77,8 @@ FullRenderItem.propTypes = {
74
77
  itemId: PropTypes.string.isRequired,
75
78
  index: PropTypes.number.isRequired,
76
79
  isInfinite: PropTypes.bool.isRequired,
80
+ shouldRenderBanner: PropTypes.bool.isRequired,
81
+ bannerIndex: PropTypes.number.isRequired,
77
82
  propsToDisplay: PropTypes.array,
78
83
  data: PropTypes.array,
79
84
  itemsToDisplay: PropTypes.array,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"names":["React","useContext","PropTypes","Waypoint","MainContext","BuildPBComponents","Banner","parsePropsToDisplay","shouldRenderWaypoint","checkIfShouldRenderBanner","FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","bannerProps","hasGTM","parsedPropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderBanner","itemEntity","length","map","prop","propTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n bannerProps\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"file":"FullRenderItem.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"names":["React","useContext","PropTypes","Waypoint","MainContext","BuildPBComponents","Banner","parsePropsToDisplay","shouldRenderWaypoint","FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","hasGTM","parsedPropsToDisplay","currentItemIndex","renderWaypoint","itemEntity","length","map","prop","propTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"file":"FullRenderItem.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.111.0-alpha.1",
3
+ "version": "0.111.0-alpha.2",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -88,5 +88,5 @@
88
88
  "lib/*",
89
89
  "lib-es/*"
90
90
  ],
91
- "gitHead": "4751d6f7b6205f8b01109c844944744cc9d05b87"
91
+ "gitHead": "f3efa34b54fecfe15f81505509af8ccc1d3d66f9"
92
92
  }
@@ -79,20 +79,21 @@ const BannerRender = ({
79
79
  const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;
80
80
  const shouldShowBanner =
81
81
  parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;
82
+
82
83
  if (!shouldShowBanner) return null;
83
84
  const customTargetings = setCustomTargetings(targetings, cardBannerIndex);
84
-
85
85
  const style = {
86
86
  maxHeight: maxBannerHeight,
87
87
  minHeight: minBannerHeight
88
88
  };
89
+ const targetingArguments = { ...parsedTargetings, ...customTargetings };
89
90
 
90
91
  return (
91
92
  <div className="ad-slot" style={style}>
92
93
  <AdSlot
93
94
  adUnit={parsedAdunit}
94
95
  sizes={parsedSizes}
95
- targetingArguments={{ ...parsedTargetings, ...customTargetings }}
96
+ targetingArguments={targetingArguments}
96
97
  sizeMapping={sizeMapping}
97
98
  />
98
99
  </div>
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { Waypoint } from 'react-waypoint';
4
4
  import Card from '../../../Card/Card';
5
5
  import { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';
6
- import { checkIfShouldRenderGtm, checkIfShouldRenderBanner } from '../helpers';
6
+ import { checkIfShouldRenderGtm } from '../helpers';
7
7
  import Banner from '../../../Banner';
8
8
 
9
9
  const CardsRenderItem = ({
@@ -18,7 +18,9 @@ const CardsRenderItem = ({
18
18
  modifier,
19
19
  gridModifier,
20
20
  propsToDisplayModifiers,
21
- propsToDisplay
21
+ propsToDisplay,
22
+ shouldRenderBanner,
23
+ bannerIndex
22
24
  }) => {
23
25
  const {
24
26
  initialOffset,
@@ -40,7 +42,7 @@ const CardsRenderItem = ({
40
42
  isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
41
43
  const shouldRenderGtm =
42
44
  gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);
43
- const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
45
+
44
46
  const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);
45
47
 
46
48
  return (
@@ -72,7 +74,7 @@ const CardsRenderItem = ({
72
74
  {...cardProps}
73
75
  />
74
76
  </div>
75
- {shouldRenderBanner && <Banner {...bannerProps} />}
77
+ {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}
76
78
  </>
77
79
  );
78
80
  };
@@ -83,6 +85,8 @@ CardsRenderItem.propTypes = {
83
85
  index: PropTypes.number.isRequired,
84
86
  currentListLength: PropTypes.number.isRequired,
85
87
  propsToDisplayModifiers: PropTypes.array.isRequired,
88
+ shouldRenderBanner: PropTypes.bool.isRequired,
89
+ bannerIndex: PropTypes.number.isRequired,
86
90
  bannerProps: PropTypes.object,
87
91
  gridModifier: PropTypes.string,
88
92
  propsToDisplay: PropTypes.array,
@@ -3,34 +3,46 @@ import PropTypes from 'prop-types';
3
3
  import CardsRenderItem from './CardsRenderItem';
4
4
  import Wrapper from '../../../Wrapper';
5
5
  import { withTitle } from '../../../../HOC';
6
+ import { checkIfShouldRenderBanner } from '../helpers';
6
7
 
7
- const CardsRenderWrapper = ({ orderedListData, gridModifier, ...props }) => (
8
- <Wrapper className="grid" modifiers={gridModifier}>
9
- {orderedListData.map((cardProps, index) => {
10
- const { id } = cardProps;
8
+ const CardsRenderWrapper = ({ orderedListData, gridModifier, bannerProps, ...props }) => {
9
+ let bannerIndex = 0;
11
10
 
12
- return (
13
- <CardsRenderItem
14
- key={id}
15
- index={index}
16
- cardProps={cardProps}
17
- gridModifier={gridModifier}
18
- listProps={props}
19
- {...props}
20
- />
21
- );
22
- })}
23
- </Wrapper>
24
- );
11
+ return (
12
+ <Wrapper className="grid" modifiers={gridModifier}>
13
+ {orderedListData.map((cardProps, index) => {
14
+ const { id } = cardProps;
15
+ const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
16
+ if (shouldRenderBanner) bannerIndex += 1;
17
+
18
+ return (
19
+ <CardsRenderItem
20
+ key={id}
21
+ index={index}
22
+ cardProps={cardProps}
23
+ gridModifier={gridModifier}
24
+ listProps={props}
25
+ shouldRenderBanner={shouldRenderBanner}
26
+ bannerProps={bannerProps}
27
+ bannerIndex={bannerIndex}
28
+ {...props}
29
+ />
30
+ );
31
+ })}
32
+ </Wrapper>
33
+ );
34
+ };
25
35
 
26
36
  CardsRenderWrapper.propTypes = {
27
37
  orderedListData: PropTypes.array.isRequired,
28
38
  gridModifier: PropTypes.string.isRequired,
29
- imagesData: PropTypes.array
39
+ imagesData: PropTypes.array,
40
+ bannerProps: PropTypes.object
30
41
  };
31
42
 
32
43
  CardsRenderWrapper.defaultProps = {
33
- imagesData: []
44
+ imagesData: [],
45
+ bannerProps: {}
34
46
  };
35
47
 
36
48
  export default withTitle(CardsRenderWrapper);
@@ -5,6 +5,7 @@ import FullRenderItem from './FullRenderItem';
5
5
  import ListPagination from '../Pagination';
6
6
  import { LOAD_MORE } from '../../../../constants';
7
7
  import { BANNER } from '../../constants';
8
+ import { checkIfShouldRenderBanner } from '../helpers';
8
9
 
9
10
  const FullRender = ({ orderedListData, paginationType, ...props }) => {
10
11
  const pageBuilderID = uuid();
@@ -12,22 +13,30 @@ const FullRender = ({ orderedListData, paginationType, ...props }) => {
12
13
  const bannerProps = banner
13
14
  ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }
14
15
  : null;
16
+ let bannerIndex = 0;
15
17
 
16
18
  return (
17
19
  <>
18
20
  <div className="list list--full">
19
- {orderedListData.map(({ id, ...entityProps }, i) => (
20
- <FullRenderItem
21
- key={id}
22
- {...props}
23
- {...entityProps}
24
- index={i}
25
- itemId={id}
26
- pageBuilderID={pageBuilderID}
27
- entityProps={entityProps}
28
- bannerProps={bannerProps}
29
- />
30
- ))}
21
+ {orderedListData.map(({ id, ...entityProps }, i) => {
22
+ const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);
23
+ if (shouldRenderBanner) bannerIndex += 1;
24
+
25
+ return (
26
+ <FullRenderItem
27
+ key={id}
28
+ {...props}
29
+ {...entityProps}
30
+ index={i}
31
+ itemId={id}
32
+ pageBuilderID={pageBuilderID}
33
+ entityProps={entityProps}
34
+ shouldRenderBanner={shouldRenderBanner}
35
+ bannerProps={bannerProps}
36
+ bannerIndex={bannerIndex}
37
+ />
38
+ );
39
+ })}
31
40
  </div>
32
41
  {paginationType === LOAD_MORE && (
33
42
  <ListPagination paginationType={paginationType} {...props} />
@@ -5,7 +5,6 @@ import { MainContext } from '@blaze-cms/nextjs-components';
5
5
  import BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';
6
6
  import Banner from '../../../Banner';
7
7
  import { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';
8
- import { checkIfShouldRenderBanner } from '../helpers';
9
8
 
10
9
  const FullRenderItem = ({
11
10
  isInfinite,
@@ -22,7 +21,9 @@ const FullRenderItem = ({
22
21
  parent,
23
22
  pageBuilderID,
24
23
  displayCount,
25
- bannerProps
24
+ shouldRenderBanner,
25
+ bannerProps,
26
+ bannerIndex
26
27
  }) => {
27
28
  const { hasGTM } = useContext(MainContext);
28
29
  if (!pageBuilderComponents) return null;
@@ -30,7 +31,6 @@ const FullRenderItem = ({
30
31
  const currentItemIndex = initialOffset + index;
31
32
  const renderWaypoint =
32
33
  isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);
33
- const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);
34
34
 
35
35
  return (
36
36
  <>
@@ -51,7 +51,7 @@ const FullRenderItem = ({
51
51
  {!!parsedPropsToDisplay.length && (
52
52
  <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>
53
53
  )}
54
- {shouldRenderBanner && <Banner {...bannerProps} />}
54
+ {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}
55
55
  </>
56
56
  );
57
57
  };
@@ -70,6 +70,8 @@ FullRenderItem.propTypes = {
70
70
  itemId: PropTypes.string.isRequired,
71
71
  index: PropTypes.number.isRequired,
72
72
  isInfinite: PropTypes.bool.isRequired,
73
+ shouldRenderBanner: PropTypes.bool.isRequired,
74
+ bannerIndex: PropTypes.number.isRequired,
73
75
  propsToDisplay: PropTypes.array,
74
76
  data: PropTypes.array,
75
77
  itemsToDisplay: PropTypes.array,