@blaze-cms/react-page-builder 0.127.0-project-admin-customisations.3 → 0.127.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +3 -16
  2. package/README.md +4 -0
  3. package/lib/HOC/withInfiniteScroll.js +23 -21
  4. package/lib/HOC/withInfiniteScroll.js.map +1 -1
  5. package/lib/components/Banner/Banner.js +3 -3
  6. package/lib/components/Banner/Banner.js.map +1 -1
  7. package/lib/components/Banner/BannerRender.js +5 -5
  8. package/lib/components/Banner/BannerRender.js.map +1 -1
  9. package/lib/components/Banner/helpers.js +2 -2
  10. package/lib/components/Banner/helpers.js.map +1 -1
  11. package/lib/components/Breadcrumb/Breadcrumb.js +11 -11
  12. package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
  13. package/lib/components/Card/CardContainer.js +3 -3
  14. package/lib/components/Card/CardContainer.js.map +1 -1
  15. package/lib/components/Card/CardRender.js +4 -4
  16. package/lib/components/Card/CardRender.js.map +1 -1
  17. package/lib/components/Card/helpers/get-dynamic-grid-classes.js +3 -3
  18. package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
  19. package/lib/components/Code/Code.js +7 -4
  20. package/lib/components/Code/Code.js.map +1 -1
  21. package/lib/components/Code/helpers/wrap-script-tags.js +7 -3
  22. package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
  23. package/lib/components/ContentGroup/helpers/get-sections-data.js +8 -8
  24. package/lib/components/ContentGroup/helpers/get-sections-data.js.map +1 -1
  25. package/lib/components/ContentGroupSection/ContentGroupSection.js +5 -3
  26. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  27. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  28. package/lib/components/EmailConfirm/EmailConfirm.js +4 -4
  29. package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
  30. package/lib/components/Image/ImageFactory.js +9 -9
  31. package/lib/components/Image/ImageFactory.js.map +1 -1
  32. package/lib/components/ItemList/ItemListNew/ItemListNew.js +3 -3
  33. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  34. package/lib/components/Layout/Layout.js +4 -4
  35. package/lib/components/Layout/Layout.js.map +1 -1
  36. package/lib/components/List/ListFactory.js +9 -9
  37. package/lib/components/List/ListFactory.js.map +1 -1
  38. package/lib/components/List/ListRender.js.map +1 -1
  39. package/lib/components/List/components/Cards/CardsRenderItem.js +1 -1
  40. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  41. package/lib/components/List/components/Full/FullRenderItem.js +1 -1
  42. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  43. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  44. package/lib/components/List/helpers/sort-aggs.js +10 -10
  45. package/lib/components/List/helpers/sort-aggs.js.map +1 -1
  46. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  47. package/lib/components/SearchFilter/SearchFilterContainer.js +5 -5
  48. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  49. package/lib/components/SearchFilter/components/Range.js +4 -4
  50. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  51. package/lib/components/SearchFilterSort/SearchFilterSort.js +5 -5
  52. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  53. package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
  54. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +23 -21
  55. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  56. package/lib/helpers/build-raw-query-base.js +6 -6
  57. package/lib/helpers/build-raw-query-base.js.map +1 -1
  58. package/lib/helpers/get-click-wrapper-options.js +11 -11
  59. package/lib/helpers/get-click-wrapper-options.js.map +1 -1
  60. package/lib/helpers/get-entity-data.js +3 -3
  61. package/lib/helpers/get-entity-data.js.map +1 -1
  62. package/lib/helpers/get-search-filter-type.js +4 -4
  63. package/lib/helpers/get-search-filter-type.js.map +1 -1
  64. package/lib/helpers/parse-props-to-display.js.map +1 -1
  65. package/lib/helpers/split-children.js +12 -12
  66. package/lib/helpers/split-children.js.map +1 -1
  67. package/lib/hooks/helpers/buildPBComponents.js +3 -3
  68. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  69. package/lib/hooks/helpers/inject-textblock-banners.js +3 -3
  70. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  71. package/lib/hooks/helpers/insert-banners.js.map +1 -1
  72. package/lib/hooks/use-page-builder.js +9 -7
  73. package/lib/hooks/use-page-builder.js.map +1 -1
  74. package/lib-es/components/Banner/BannerRender.js +5 -5
  75. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  76. package/lib-es/components/Banner/helpers.js +2 -2
  77. package/lib-es/components/Banner/helpers.js.map +1 -1
  78. package/lib-es/components/Card/CardContainer.js +3 -3
  79. package/lib-es/components/Card/CardContainer.js.map +1 -1
  80. package/lib-es/components/Code/Code.js +8 -5
  81. package/lib-es/components/Code/Code.js.map +1 -1
  82. package/lib-es/components/Code/helpers/wrap-script-tags.js +7 -3
  83. package/lib-es/components/Code/helpers/wrap-script-tags.js.map +1 -1
  84. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +9 -6
  85. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  86. package/lib-es/components/List/ListRender.js.map +1 -1
  87. package/lib-es/components/List/components/Cards/CardsRenderItem.js +1 -1
  88. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  89. package/lib-es/components/List/components/Full/FullRenderItem.js +1 -1
  90. package/lib-es/components/List/components/Full/FullRenderItem.js.map +1 -1
  91. package/lib-es/components/List/components/Header/ListHeader.js.map +1 -1
  92. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  93. package/lib-es/components/TextBlock/TextBlockRender.js.map +1 -1
  94. package/lib-es/helpers/parse-props-to-display.js.map +1 -1
  95. package/package.json +10 -10
  96. package/src/components/Banner/BannerRender.js +4 -4
  97. package/src/components/Banner/helpers.js +3 -3
  98. package/src/components/Card/CardContainer.js +3 -3
  99. package/src/components/Code/Code.js +6 -4
  100. package/src/components/Code/helpers/wrap-script-tags.js +7 -3
  101. package/src/components/ContentGroupSection/ContentGroupSection.js +3 -6
  102. package/src/components/List/components/Cards/CardsRenderItem.js +1 -1
  103. package/src/components/List/components/Full/FullRenderItem.js +1 -1
  104. package/tests/unit/src/components/Banner/BannerRender.test.js +1 -1
@@ -27,23 +27,23 @@ var getClickWrapperOptions = function getClickWrapperOptions() {
27
27
  var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
28
28
  var shouldUseClickWrapper = false;
29
29
  var _ref = children || {},
30
- _ref$props = _ref.props,
31
- _ref$props2 = _ref$props === void 0 ? {} : _ref$props,
32
- _ref$props2$children = _ref$props2.children,
33
- childComponents = _ref$props2$children === void 0 ? [] : _ref$props2$children;
30
+ _ref$props = _ref.props;
31
+ _ref$props = _ref$props === void 0 ? {} : _ref$props;
32
+ var _ref$props$children = _ref$props.children,
33
+ childComponents = _ref$props$children === void 0 ? [] : _ref$props$children;
34
34
  if (!childComponents || !childComponents[1]) return {
35
35
  shouldUseClickWrapper: shouldUseClickWrapper,
36
36
  wrapperProps: {}
37
37
  };
38
38
  var clickEvents = childComponents[1].map(function (child) {
39
39
  var _ref2 = child || {},
40
- _ref2$props = _ref2.props,
41
- _ref2$props2 = _ref2$props === void 0 ? {} : _ref2$props,
42
- _ref2$props2$componen = _ref2$props2.component,
43
- _ref2$props2$componen2 = _ref2$props2$componen === void 0 ? {} : _ref2$props2$componen,
44
- _ref2$props2$componen3 = _ref2$props2$componen2.settings,
45
- _ref2$props2$componen4 = _ref2$props2$componen3 === void 0 ? {} : _ref2$props2$componen3,
46
- gtmEvents = _ref2$props2$componen4.gtmEvents;
40
+ _ref2$props = _ref2.props;
41
+ _ref2$props = _ref2$props === void 0 ? {} : _ref2$props;
42
+ var _ref2$props$component = _ref2$props.component;
43
+ _ref2$props$component = _ref2$props$component === void 0 ? {} : _ref2$props$component;
44
+ var _ref2$props$component2 = _ref2$props$component.settings;
45
+ _ref2$props$component2 = _ref2$props$component2 === void 0 ? {} : _ref2$props$component2;
46
+ var gtmEvents = _ref2$props$component2.gtmEvents;
47
47
  if (!gtmEvents) return null;
48
48
  return gtmEvents.find(function (_ref3) {
49
49
  var eventTrigger = _ref3.eventTrigger;
@@ -1 +1 @@
1
- {"version":3,"file":"get-click-wrapper-options.js","names":["getClickWrapperOptions","children","componentProps","id","shouldUseClickWrapper","props","childComponents","wrapperProps","clickEvents","map","child","component","settings","gtmEvents","find","eventTrigger","ON_CLICK","filter","Boolean","length","gtmChildren"],"sources":["../../src/helpers/get-click-wrapper-options.js"],"sourcesContent":["import { ON_CLICK } from '../constants';\n\nconst getClickWrapperOptions = (children = {}, componentProps = {}, id = null) => {\n let shouldUseClickWrapper = false;\n\n const { props: { children: childComponents = [] } = {} } = children || {};\n if (!childComponents || !childComponents[1]) return { shouldUseClickWrapper, wrapperProps: {} };\n\n const clickEvents = childComponents[1]\n .map(child => {\n const { props: { component: { settings: { gtmEvents } = {} } = {} } = {} } = child || {};\n if (!gtmEvents) return null;\n\n return gtmEvents.find(({ eventTrigger }) => eventTrigger === ON_CLICK);\n })\n .filter(Boolean);\n\n shouldUseClickWrapper = !!clickEvents && !!clickEvents.length;\n\n const wrapperProps = shouldUseClickWrapper\n ? { gtmChildren: children, ...componentProps, id }\n : {};\n\n return { shouldUseClickWrapper, wrapperProps };\n};\n\nexport default getClickWrapperOptions;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAwC;AAAA;AAExC,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsB,GAAsD;EAAA,IAAlDC,QAAQ,uEAAG,CAAC,CAAC;EAAA,IAAEC,cAAc,uEAAG,CAAC,CAAC;EAAA,IAAEC,EAAE,uEAAG,IAAI;EAC3E,IAAIC,qBAAqB,GAAG,KAAK;EAEjC,WAA2DH,QAAQ,IAAI,CAAC,CAAC;IAAA,kBAAjEI,KAAK;IAAA,sCAAuC,CAAC,CAAC;IAAA,mCAArCJ,QAAQ;IAAEK,eAAe,qCAAG,EAAE;EAC/C,IAAI,CAACA,eAAe,IAAI,CAACA,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO;IAAEF,qBAAqB,EAArBA,qBAAqB;IAAEG,YAAY,EAAE,CAAC;EAAE,CAAC;EAE/F,IAAMC,WAAW,GAAGF,eAAe,CAAC,CAAC,CAAC,CACnCG,GAAG,CAAC,UAAAC,KAAK,EAAI;IACZ,YAA6EA,KAAK,IAAI,CAAC,CAAC;MAAA,oBAAhFL,KAAK;MAAA,wCAAyD,CAAC,CAAC;MAAA,qCAAvDM,SAAS;MAAA,4DAAqC,CAAC,CAAC;MAAA,gDAAnCC,QAAQ;MAAA,6DAAkB,CAAC,CAAC;MAAhBC,SAAS,0BAATA,SAAS;IACnD,IAAI,CAACA,SAAS,EAAE,OAAO,IAAI;IAE3B,OAAOA,SAAS,CAACC,IAAI,CAAC;MAAA,IAAGC,YAAY,SAAZA,YAAY;MAAA,OAAOA,YAAY,KAAKC,mBAAQ;IAAA,EAAC;EACxE,CAAC,CAAC,CACDC,MAAM,CAACC,OAAO,CAAC;EAElBd,qBAAqB,GAAG,CAAC,CAACI,WAAW,IAAI,CAAC,CAACA,WAAW,CAACW,MAAM;EAE7D,IAAMZ,YAAY,GAAGH,qBAAqB;IACpCgB,WAAW,EAAEnB;EAAQ,GAAKC,cAAc;IAAEC,EAAE,EAAFA;EAAE,KAC9C,CAAC,CAAC;EAEN,OAAO;IAAEC,qBAAqB,EAArBA,qBAAqB;IAAEG,YAAY,EAAZA;EAAa,CAAC;AAChD,CAAC;AAAC,eAEaP,sBAAsB;AAAA"}
1
+ {"version":3,"file":"get-click-wrapper-options.js","names":["getClickWrapperOptions","children","componentProps","id","shouldUseClickWrapper","props","childComponents","wrapperProps","clickEvents","map","child","component","settings","gtmEvents","find","eventTrigger","ON_CLICK","filter","Boolean","length","gtmChildren"],"sources":["../../src/helpers/get-click-wrapper-options.js"],"sourcesContent":["import { ON_CLICK } from '../constants';\n\nconst getClickWrapperOptions = (children = {}, componentProps = {}, id = null) => {\n let shouldUseClickWrapper = false;\n\n const { props: { children: childComponents = [] } = {} } = children || {};\n if (!childComponents || !childComponents[1]) return { shouldUseClickWrapper, wrapperProps: {} };\n\n const clickEvents = childComponents[1]\n .map(child => {\n const { props: { component: { settings: { gtmEvents } = {} } = {} } = {} } = child || {};\n if (!gtmEvents) return null;\n\n return gtmEvents.find(({ eventTrigger }) => eventTrigger === ON_CLICK);\n })\n .filter(Boolean);\n\n shouldUseClickWrapper = !!clickEvents && !!clickEvents.length;\n\n const wrapperProps = shouldUseClickWrapper\n ? { gtmChildren: children, ...componentProps, id }\n : {};\n\n return { shouldUseClickWrapper, wrapperProps };\n};\n\nexport default getClickWrapperOptions;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAwC;AAAA;AAExC,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsB,GAAsD;EAAA,IAAlDC,QAAQ,uEAAG,CAAC,CAAC;EAAA,IAAEC,cAAc,uEAAG,CAAC,CAAC;EAAA,IAAEC,EAAE,uEAAG,IAAI;EAC3E,IAAIC,qBAAqB,GAAG,KAAK;EAEjC,WAA2DH,QAAQ,IAAI,CAAC,CAAC;IAAA,kBAAjEI,KAAK;EAAb,qCAAoD,CAAC,CAAC;EAAtD,qCAAiBJ,QAAQ;IAAEK,eAAe,oCAAG,EAAE;EAC/C,IAAI,CAACA,eAAe,IAAI,CAACA,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO;IAAEF,qBAAqB,EAArBA,qBAAqB;IAAEG,YAAY,EAAE,CAAC;EAAE,CAAC;EAE/F,IAAMC,WAAW,GAAGF,eAAe,CAAC,CAAC,CAAC,CACnCG,GAAG,CAAC,UAAAC,KAAK,EAAI;IACZ,YAA6EA,KAAK,IAAI,CAAC,CAAC;MAAA,oBAAhFL,KAAK;IAAb,uCAAsE,CAAC,CAAC;IAAxE,wCAAiBM,SAAS;IAA1B,2DAA+D,CAAC,CAAC;IAAjE,mDAA8BC,QAAQ;IAAtC,6DAAwD,CAAC,CAAC;IAA1D,IAA0CC,SAAS,0BAATA,SAAS;IACnD,IAAI,CAACA,SAAS,EAAE,OAAO,IAAI;IAE3B,OAAOA,SAAS,CAACC,IAAI,CAAC;MAAA,IAAGC,YAAY,SAAZA,YAAY;MAAA,OAAOA,YAAY,KAAKC,mBAAQ;IAAA,EAAC;EACxE,CAAC,CAAC,CACDC,MAAM,CAACC,OAAO,CAAC;EAElBd,qBAAqB,GAAG,CAAC,CAACI,WAAW,IAAI,CAAC,CAACA,WAAW,CAACW,MAAM;EAE7D,IAAMZ,YAAY,GAAGH,qBAAqB;IACpCgB,WAAW,EAAEnB;EAAQ,GAAKC,cAAc;IAAEC,EAAE,EAAFA;EAAE,KAC9C,CAAC,CAAC;EAEN,OAAO;IAAEC,qBAAqB,EAArBA,qBAAqB;IAAEG,YAAY,EAAZA;EAAa,CAAC;AAChD,CAAC;AAAC,eAEaP,sBAAsB;AAAA"}
@@ -16,9 +16,9 @@ var getEntityData = function getEntityData(entity, schema) {
16
16
  if (schema) {
17
17
  var _ref = schema || {},
18
18
  interfaces = _ref.interfaces,
19
- _ref$entity = _ref[entity],
20
- _ref$entity2 = _ref$entity === void 0 ? {} : _ref$entity,
21
- nestedInterfaces = _ref$entity2.interfaces;
19
+ _ref$entity = _ref[entity];
20
+ _ref$entity = _ref$entity === void 0 ? {} : _ref$entity;
21
+ var nestedInterfaces = _ref$entity.interfaces;
22
22
  var interfacesToCheck = interfaces || nestedInterfaces;
23
23
  if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {
24
24
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"get-entity-data.js","names":["getEntityData","entity","schema","publishedDocType","publishedEntityType","upperFirst","camelcase","interfaces","nestedInterfaces","interfacesToCheck","includes","docType","entityType"],"sources":["../../src/helpers/get-entity-data.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = (entity, schema) => {\n const publishedDocType = `published_${entity}`;\n const publishedEntityType = `Published${upperFirst(camelcase(entity))}`;\n\n if (schema) {\n const { interfaces, [entity]: { interfaces: nestedInterfaces } = {} } = schema || {};\n const interfacesToCheck = interfaces || nestedInterfaces;\n if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {\n return { docType: entity, entityType: upperFirst(camelcase(entity)) };\n }\n }\n\n return { docType: publishedDocType, entityType: publishedEntityType };\n};\n\nexport default getEntityData;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAa,CAAIC,MAAM,EAAEC,MAAM,EAAK;EACxC,IAAMC,gBAAgB,uBAAgBF,MAAM,CAAE;EAC9C,IAAMG,mBAAmB,sBAAe,IAAAC,kBAAU,EAAC,IAAAC,mBAAS,EAACL,MAAM,CAAC,CAAC,CAAE;EAEvE,IAAIC,MAAM,EAAE;IACV,WAAwEA,MAAM,IAAI,CAAC,CAAC;MAA5EK,UAAU,QAAVA,UAAU;MAAA,mBAAGN,MAAM;MAAA,wCAAsC,CAAC,CAAC;MAAvBO,gBAAgB,gBAA5BD,UAAU;IAC1C,IAAME,iBAAiB,GAAGF,UAAU,IAAIC,gBAAgB;IACxD,IAAIC,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;MAC3E,OAAO;QAAEC,OAAO,EAAEV,MAAM;QAAEW,UAAU,EAAE,IAAAP,kBAAU,EAAC,IAAAC,mBAAS,EAACL,MAAM,CAAC;MAAE,CAAC;IACvE;EACF;EAEA,OAAO;IAAEU,OAAO,EAAER,gBAAgB;IAAES,UAAU,EAAER;EAAoB,CAAC;AACvE,CAAC;AAAC,eAEaJ,aAAa;AAAA"}
1
+ {"version":3,"file":"get-entity-data.js","names":["getEntityData","entity","schema","publishedDocType","publishedEntityType","upperFirst","camelcase","interfaces","nestedInterfaces","interfacesToCheck","includes","docType","entityType"],"sources":["../../src/helpers/get-entity-data.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = (entity, schema) => {\n const publishedDocType = `published_${entity}`;\n const publishedEntityType = `Published${upperFirst(camelcase(entity))}`;\n\n if (schema) {\n const { interfaces, [entity]: { interfaces: nestedInterfaces } = {} } = schema || {};\n const interfacesToCheck = interfaces || nestedInterfaces;\n if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {\n return { docType: entity, entityType: upperFirst(camelcase(entity)) };\n }\n }\n\n return { docType: publishedDocType, entityType: publishedEntityType };\n};\n\nexport default getEntityData;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAa,CAAIC,MAAM,EAAEC,MAAM,EAAK;EACxC,IAAMC,gBAAgB,uBAAgBF,MAAM,CAAE;EAC9C,IAAMG,mBAAmB,sBAAe,IAAAC,kBAAU,EAAC,IAAAC,mBAAS,EAACL,MAAM,CAAC,CAAC,CAAE;EAEvE,IAAIC,MAAM,EAAE;IACV,WAAwEA,MAAM,IAAI,CAAC,CAAC;MAA5EK,UAAU,QAAVA,UAAU;MAAA,mBAAGN,MAAM;IAA3B,uCAAiE,CAAC,CAAC;IAAnE,IAA4CO,gBAAgB,eAA5BD,UAAU;IAC1C,IAAME,iBAAiB,GAAGF,UAAU,IAAIC,gBAAgB;IACxD,IAAIC,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;MAC3E,OAAO;QAAEC,OAAO,EAAEV,MAAM;QAAEW,UAAU,EAAE,IAAAP,kBAAU,EAAC,IAAAC,mBAAS,EAACL,MAAM,CAAC;MAAE,CAAC;IACvE;EACF;EAEA,OAAO;IAAEU,OAAO,EAAER,gBAAgB;IAAES,UAAU,EAAER;EAAoB,CAAC;AACvE,CAAC;AAAC,eAEaJ,aAAa;AAAA"}
@@ -8,10 +8,10 @@ exports["default"] = void 0;
8
8
  require("core-js/modules/es.array.filter.js");
9
9
  require("core-js/modules/es.object.to-string.js");
10
10
  var getSearchFilterType = function getSearchFilterType(_ref, type) {
11
- var _ref$settings = _ref.settings,
12
- _ref$settings2 = _ref$settings === void 0 ? {} : _ref$settings,
13
- _ref$settings2$filter = _ref$settings2.filters,
14
- filters = _ref$settings2$filter === void 0 ? [] : _ref$settings2$filter;
11
+ var _ref$settings = _ref.settings;
12
+ _ref$settings = _ref$settings === void 0 ? {} : _ref$settings;
13
+ var _ref$settings$filters = _ref$settings.filters,
14
+ filters = _ref$settings$filters === void 0 ? [] : _ref$settings$filters;
15
15
  if (!filters.length) return [];
16
16
  return filters.filter(function (_ref2) {
17
17
  var filterType = _ref2.type;
@@ -1 +1 @@
1
- {"version":3,"file":"get-search-filter-type.js","names":["getSearchFilterType","type","settings","filters","length","filter","filterType"],"sources":["../../src/helpers/get-search-filter-type.js"],"sourcesContent":["const getSearchFilterType = ({ settings: { filters = [] } = {} }, type) => {\n if (!filters.length) return [];\n\n return filters.filter(({ type: filterType }) => filterType === type);\n};\n\nexport default getSearchFilterType;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,OAAyCC,IAAI,EAAK;EAAA,yBAA5CC,QAAQ;IAAA,4CAAqB,CAAC,CAAC;IAAA,uCAAnBC,OAAO;IAAPA,OAAO,sCAAG,EAAE;EACrD,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE,OAAO,EAAE;EAE9B,OAAOD,OAAO,CAACE,MAAM,CAAC;IAAA,IAASC,UAAU,SAAhBL,IAAI;IAAA,OAAmBK,UAAU,KAAKL,IAAI;EAAA,EAAC;AACtE,CAAC;AAAC,eAEaD,mBAAmB;AAAA"}
1
+ {"version":3,"file":"get-search-filter-type.js","names":["getSearchFilterType","type","settings","filters","length","filter","filterType"],"sources":["../../src/helpers/get-search-filter-type.js"],"sourcesContent":["const getSearchFilterType = ({ settings: { filters = [] } = {} }, type) => {\n if (!filters.length) return [];\n\n return filters.filter(({ type: filterType }) => filterType === type);\n};\n\nexport default getSearchFilterType;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,OAAyCC,IAAI,EAAK;EAAA,yBAA5CC,QAAQ;EAAA,2CAAqB,CAAC,CAAC;EAAA,0CAAnBC,OAAO;IAAPA,OAAO,sCAAG,EAAE;EACrD,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE,OAAO,EAAE;EAE9B,OAAOD,OAAO,CAACE,MAAM,CAAC;IAAA,IAASC,UAAU,SAAhBL,IAAI;IAAA,OAAmBK,UAAU,KAAKL,IAAI;EAAA,EAAC;AACtE,CAAC;AAAC,eAEaD,mBAAmB;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","isObject","at","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","getParsedPropValues","sanitizedPropValues","getSanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAoE;AAAA;AAEpE;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAwC;EAAA,IAApCC,KAAK,uEAAG,CAAC,CAAC;EAAA,IAAEC,cAAc,uEAAG,EAAE;EAC1D,IAAI,CAAC,IAAAC,oBAAQ,EAACD,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAAE,kBAAE,EAACH,KAAK,EAAEC,cAAc,CAAC,CAACG,MAAM,CAACC,OAAO,CAAC;EAElF,OAAOJ,cAAc,CAACK,GAAG,CACvB,gBAAyEC,YAAY,EAAK;IAAA,IAAvFC,IAAI,QAAJA,IAAI;MAAEC,mBAAmB,QAAnBA,mBAAmB;MAAEC,MAAM,QAANA,MAAM;MAAEC,MAAM,QAANA,MAAM;MAAEC,WAAW,QAAXA,WAAW;MAAEC,UAAU,QAAVA,UAAU;IACnE,IAAMC,OAAO,GAAGN,IAAI,GAAGO,mBAAQ,GAAGC,eAAQ;IAE1C,IAAMC,gBAAgB,GAAG,IAAAC,+BAAmB,EAAC;MAC3CT,mBAAmB,EAAnBA,mBAAmB;MACnBT,KAAK,EAALA,KAAK;MACLa,UAAU,EAAVA,UAAU;MACVD,WAAW,EAAXA;IACF,CAAC,CAAC;IAEF,IAAMO,mBAAmB,GAAG,IAAAC,kCAAsB,EAACH,gBAAgB,CAAC;IACpE,IAAI,CAACE,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE,OAAO,IAAI;IACpE,IAAMC,cAAc,GAClBf,YAAY,GAAG,CAAC,KAAKN,cAAc,CAACoB,MAAM,GAAG,EAAE,GAAGE,qCAA0B;IAE9E,oBACE,gCAAC,OAAO,QACLb,MAAM,EAAC,GAAC,EAACS,mBAAmB,EAAC,GAAC,EAACR,MAAM,EACrCW,cAAc,CACP;EAEd,CAAC,CACF;AACH,CAAC;AAAC,eAEavB,mBAAmB;AAAA"}
1
+ {"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","isObject","at","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","getParsedPropValues","sanitizedPropValues","getSanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAoE;AAAA;AAEpE;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAwC;EAAA,IAApCC,KAAK,uEAAG,CAAC,CAAC;EAAA,IAAEC,cAAc,uEAAG,EAAE;EAC1D,IAAI,CAAC,IAAAC,oBAAQ,EAACD,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAAE,kBAAE,EAACH,KAAK,EAAEC,cAAc,CAAC,CAACG,MAAM,CAACC,OAAO,CAAC;EAElF,OAAOJ,cAAc,CAACK,GAAG,CACvB,gBAAyEC,YAAY,EAAK;IAAA,IAAvFC,IAAI,QAAJA,IAAI;MAAEC,mBAAmB,QAAnBA,mBAAmB;MAAEC,MAAM,QAANA,MAAM;MAAEC,MAAM,QAANA,MAAM;MAAEC,WAAW,QAAXA,WAAW;MAAEC,UAAU,QAAVA,UAAU;IACnE,IAAMC,OAAO,GAAGN,IAAI,GAAGO,mBAAQ,GAAGC,eAAQ;IAE1C,IAAMC,gBAAgB,GAAG,IAAAC,+BAAmB,EAAC;MAC3CT,mBAAmB,EAAnBA,mBAAmB;MACnBT,KAAK,EAALA,KAAK;MACLa,UAAU,EAAVA,UAAU;MACVD,WAAW,EAAXA;IACF,CAAC,CAAC;IAEF,IAAMO,mBAAmB,GAAG,IAAAC,kCAAsB,EAACH,gBAAgB,CAAC;IACpE,IAAI,CAACE,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE,OAAO,IAAI;IACpE,IAAMC,cAAc,GAClBf,YAAY,GAAG,CAAC,KAAKN,cAAc,CAACoB,MAAM,GAAG,EAAE,GAAGE,qCAA0B;IAE9E,oBACE,gCAAC,OAAO,QACLb,MAAM,OAAGS,mBAAmB,OAAGR,MAAM,EACrCW,cAAc,CACP;EAEd,CAAC,CACF;AACH,CAAC;AAAC,eAEavB,mBAAmB;AAAA"}
@@ -25,12 +25,12 @@ var filterChildren = function filterChildren(children, parentComponent) {
25
25
  var withGTMChildren = [];
26
26
  var nonGTMChildren = [];
27
27
  children.forEach(function (child) {
28
- var _child$props = child.props,
29
- _child$props2 = _child$props === void 0 ? {} : _child$props,
30
- _child$props2$compone = _child$props2.component,
31
- _child$props2$compone2 = _child$props2$compone === void 0 ? {} : _child$props2$compone,
32
- _child$props2$compone3 = _child$props2$compone2.type,
33
- type = _child$props2$compone3 === void 0 ? '' : _child$props2$compone3;
28
+ var _child$props = child.props;
29
+ _child$props = _child$props === void 0 ? {} : _child$props;
30
+ var _child$props$componen = _child$props.component;
31
+ _child$props$componen = _child$props$componen === void 0 ? {} : _child$props$componen;
32
+ var _child$props$componen2 = _child$props$componen.type,
33
+ type = _child$props$componen2 === void 0 ? '' : _child$props$componen2;
34
34
  type === 'gtm-events' ? withGTMChildren.push(_objectSpread(_objectSpread({}, child), {}, {
35
35
  props: _objectSpread(_objectSpread({}, child.props), {}, {
36
36
  parentComponent: parentComponent
@@ -44,9 +44,9 @@ var filterChildren = function filterChildren(children, parentComponent) {
44
44
  };
45
45
  var buildListChildren = function buildListChildren(children, filteredChildren, data) {
46
46
  var childProps = children.props,
47
- _children$props = children.props,
48
- _children$props2 = _children$props === void 0 ? {} : _children$props,
49
- nestedChildren = _children$props2.children;
47
+ _children$props = children.props;
48
+ _children$props = _children$props === void 0 ? {} : _children$props;
49
+ var nestedChildren = _children$props.children;
50
50
  var childrenWithData = data ? filteredChildren.map(function (child) {
51
51
  child.props.component.settings.parentData = data;
52
52
  return child;
@@ -62,9 +62,9 @@ var splitChildren = function splitChildren(children, parentData, entity) {
62
62
  if (!children || Array.isArray(children)) return {
63
63
  regularChildren: children
64
64
  };
65
- var _children$props3 = children.props,
66
- _children$props4 = _children$props3 === void 0 ? {} : _children$props3,
67
- nestedChildren = _children$props4.children;
65
+ var _children$props2 = children.props;
66
+ _children$props2 = _children$props2 === void 0 ? {} : _children$props2;
67
+ var nestedChildren = _children$props2.children;
68
68
  var _filterChildren = filterChildren(nestedChildren[1], parentComponent),
69
69
  nonGTMChildren = _filterChildren.nonGTMChildren,
70
70
  withGTMChildren = _filterChildren.withGTMChildren;
@@ -1 +1 @@
1
- {"version":3,"file":"split-children.js","names":["filterChildren","children","parentComponent","withGTMChildren","nonGTMChildren","forEach","child","props","component","type","push","buildListChildren","filteredChildren","data","childProps","nestedChildren","childrenWithData","map","settings","parentData","length","splitChildren","entity","Array","isArray","regularChildren","parentDataWithEntity","item","itemId","id","itemEntity","gtmChildren"],"sources":["../../src/helpers/split-children.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nconst filterChildren = (children, parentComponent) => {\n const withGTMChildren = [];\n const nonGTMChildren = [];\n children.forEach(child => {\n const { props: { component: { type = '' } = {} } = {} } = child;\n type === 'gtm-events'\n ? withGTMChildren.push({ ...child, props: { ...child.props, parentComponent } })\n : nonGTMChildren.push(child);\n });\n return { withGTMChildren, nonGTMChildren };\n};\n\nconst buildListChildren = (children, filteredChildren, data) => {\n const { props: childProps, props: { children: nestedChildren } = {} } = children;\n const childrenWithData = data\n ? filteredChildren.map(child => {\n child.props.component.settings.parentData = data;\n return child;\n })\n : filteredChildren;\n\n return childrenWithData && childrenWithData.length\n ? {\n ...children,\n props: {\n ...childProps,\n children: [nestedChildren[0], childrenWithData]\n }\n }\n : null;\n};\n\nconst splitChildren = (children, parentData, entity, parentComponent = {}) => {\n if (!children || Array.isArray(children)) return { regularChildren: children };\n const { props: { children: nestedChildren } = {} } = children;\n\n const { nonGTMChildren, withGTMChildren } = filterChildren(nestedChildren[1], parentComponent);\n const regularChildren = buildListChildren(children, nonGTMChildren);\n const parentDataWithEntity = parentData.map(item => ({\n ...item,\n itemId: item.id,\n itemEntity: entity\n }));\n\n const gtmChildren = buildListChildren(children, withGTMChildren, parentDataWithEntity);\n\n return { regularChildren, gtmChildren };\n};\n\nexport default splitChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA,IAAMA,cAAc,GAAG,SAAjBA,cAAc,CAAIC,QAAQ,EAAEC,eAAe,EAAK;EACpD,IAAMC,eAAe,GAAG,EAAE;EAC1B,IAAMC,cAAc,GAAG,EAAE;EACzBH,QAAQ,CAACI,OAAO,CAAC,UAAAC,KAAK,EAAI;IACxB,mBAA0DA,KAAK,CAAvDC,KAAK;MAAA,0CAAsC,CAAC,CAAC;MAAA,sCAApCC,SAAS;MAAA,4DAAkB,CAAC,CAAC;MAAA,gDAAhBC,IAAI;MAAJA,IAAI,uCAAG,EAAE;IACvCA,IAAI,KAAK,YAAY,GACjBN,eAAe,CAACO,IAAI,iCAAMJ,KAAK;MAAEC,KAAK,kCAAOD,KAAK,CAACC,KAAK;QAAEL,eAAe,EAAfA;MAAe;IAAE,GAAG,GAC9EE,cAAc,CAACM,IAAI,CAACJ,KAAK,CAAC;EAChC,CAAC,CAAC;EACF,OAAO;IAAEH,eAAe,EAAfA,eAAe;IAAEC,cAAc,EAAdA;EAAe,CAAC;AAC5C,CAAC;AAED,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIV,QAAQ,EAAEW,gBAAgB,EAAEC,IAAI,EAAK;EAC9D,IAAeC,UAAU,GAA+Cb,QAAQ,CAAxEM,KAAK;IAAA,kBAA2DN,QAAQ,CAArDM,KAAK;IAAA,gDAAiC,CAAC,CAAC;IAArBQ,cAAc,oBAAxBd,QAAQ;EAC5C,IAAMe,gBAAgB,GAAGH,IAAI,GACzBD,gBAAgB,CAACK,GAAG,CAAC,UAAAX,KAAK,EAAI;IAC5BA,KAAK,CAACC,KAAK,CAACC,SAAS,CAACU,QAAQ,CAACC,UAAU,GAAGN,IAAI;IAChD,OAAOP,KAAK;EACd,CAAC,CAAC,GACFM,gBAAgB;EAEpB,OAAOI,gBAAgB,IAAIA,gBAAgB,CAACI,MAAM,mCAEzCnB,QAAQ;IACXM,KAAK,kCACAO,UAAU;MACbb,QAAQ,EAAE,CAACc,cAAc,CAAC,CAAC,CAAC,EAAEC,gBAAgB;IAAC;EAChD,KAEH,IAAI;AACV,CAAC;AAED,IAAMK,aAAa,GAAG,SAAhBA,aAAa,CAAIpB,QAAQ,EAAEkB,UAAU,EAAEG,MAAM,EAA2B;EAAA,IAAzBpB,eAAe,uEAAG,CAAC,CAAC;EACvE,IAAI,CAACD,QAAQ,IAAIsB,KAAK,CAACC,OAAO,CAACvB,QAAQ,CAAC,EAAE,OAAO;IAAEwB,eAAe,EAAExB;EAAS,CAAC;EAC9E,uBAAqDA,QAAQ,CAArDM,KAAK;IAAA,iDAAiC,CAAC,CAAC;IAArBQ,cAAc,oBAAxBd,QAAQ;EAEzB,sBAA4CD,cAAc,CAACe,cAAc,CAAC,CAAC,CAAC,EAAEb,eAAe,CAAC;IAAtFE,cAAc,mBAAdA,cAAc;IAAED,eAAe,mBAAfA,eAAe;EACvC,IAAMsB,eAAe,GAAGd,iBAAiB,CAACV,QAAQ,EAAEG,cAAc,CAAC;EACnE,IAAMsB,oBAAoB,GAAGP,UAAU,CAACF,GAAG,CAAC,UAAAU,IAAI;IAAA,uCAC3CA,IAAI;MACPC,MAAM,EAAED,IAAI,CAACE,EAAE;MACfC,UAAU,EAAER;IAAM;EAAA,CAClB,CAAC;EAEH,IAAMS,WAAW,GAAGpB,iBAAiB,CAACV,QAAQ,EAAEE,eAAe,EAAEuB,oBAAoB,CAAC;EAEtF,OAAO;IAAED,eAAe,EAAfA,eAAe;IAAEM,WAAW,EAAXA;EAAY,CAAC;AACzC,CAAC;AAAC,eAEaV,aAAa;AAAA"}
1
+ {"version":3,"file":"split-children.js","names":["filterChildren","children","parentComponent","withGTMChildren","nonGTMChildren","forEach","child","props","component","type","push","buildListChildren","filteredChildren","data","childProps","nestedChildren","childrenWithData","map","settings","parentData","length","splitChildren","entity","Array","isArray","regularChildren","parentDataWithEntity","item","itemId","id","itemEntity","gtmChildren"],"sources":["../../src/helpers/split-children.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nconst filterChildren = (children, parentComponent) => {\n const withGTMChildren = [];\n const nonGTMChildren = [];\n children.forEach(child => {\n const { props: { component: { type = '' } = {} } = {} } = child;\n type === 'gtm-events'\n ? withGTMChildren.push({ ...child, props: { ...child.props, parentComponent } })\n : nonGTMChildren.push(child);\n });\n return { withGTMChildren, nonGTMChildren };\n};\n\nconst buildListChildren = (children, filteredChildren, data) => {\n const { props: childProps, props: { children: nestedChildren } = {} } = children;\n const childrenWithData = data\n ? filteredChildren.map(child => {\n child.props.component.settings.parentData = data;\n return child;\n })\n : filteredChildren;\n\n return childrenWithData && childrenWithData.length\n ? {\n ...children,\n props: {\n ...childProps,\n children: [nestedChildren[0], childrenWithData]\n }\n }\n : null;\n};\n\nconst splitChildren = (children, parentData, entity, parentComponent = {}) => {\n if (!children || Array.isArray(children)) return { regularChildren: children };\n const { props: { children: nestedChildren } = {} } = children;\n\n const { nonGTMChildren, withGTMChildren } = filterChildren(nestedChildren[1], parentComponent);\n const regularChildren = buildListChildren(children, nonGTMChildren);\n const parentDataWithEntity = parentData.map(item => ({\n ...item,\n itemId: item.id,\n itemEntity: entity\n }));\n\n const gtmChildren = buildListChildren(children, withGTMChildren, parentDataWithEntity);\n\n return { regularChildren, gtmChildren };\n};\n\nexport default splitChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA,IAAMA,cAAc,GAAG,SAAjBA,cAAc,CAAIC,QAAQ,EAAEC,eAAe,EAAK;EACpD,IAAMC,eAAe,GAAG,EAAE;EAC1B,IAAMC,cAAc,GAAG,EAAE;EACzBH,QAAQ,CAACI,OAAO,CAAC,UAAAC,KAAK,EAAI;IACxB,mBAA0DA,KAAK,CAAvDC,KAAK;IAAb,yCAAmD,CAAC,CAAC;IAArD,yCAAiBC,SAAS;IAA1B,2DAA4C,CAAC,CAAC;IAA9C,mDAA8BC,IAAI;MAAJA,IAAI,uCAAG,EAAE;IACvCA,IAAI,KAAK,YAAY,GACjBN,eAAe,CAACO,IAAI,iCAAMJ,KAAK;MAAEC,KAAK,kCAAOD,KAAK,CAACC,KAAK;QAAEL,eAAe,EAAfA;MAAe;IAAE,GAAG,GAC9EE,cAAc,CAACM,IAAI,CAACJ,KAAK,CAAC;EAChC,CAAC,CAAC;EACF,OAAO;IAAEH,eAAe,EAAfA,eAAe;IAAEC,cAAc,EAAdA;EAAe,CAAC;AAC5C,CAAC;AAED,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIV,QAAQ,EAAEW,gBAAgB,EAAEC,IAAI,EAAK;EAC9D,IAAeC,UAAU,GAA+Cb,QAAQ,CAAxEM,KAAK;IAAA,kBAA2DN,QAAQ,CAArDM,KAAK;EAAhC,+CAAiE,CAAC,CAAC;EAAnE,IAA8CQ,cAAc,mBAAxBd,QAAQ;EAC5C,IAAMe,gBAAgB,GAAGH,IAAI,GACzBD,gBAAgB,CAACK,GAAG,CAAC,UAAAX,KAAK,EAAI;IAC5BA,KAAK,CAACC,KAAK,CAACC,SAAS,CAACU,QAAQ,CAACC,UAAU,GAAGN,IAAI;IAChD,OAAOP,KAAK;EACd,CAAC,CAAC,GACFM,gBAAgB;EAEpB,OAAOI,gBAAgB,IAAIA,gBAAgB,CAACI,MAAM,mCAEzCnB,QAAQ;IACXM,KAAK,kCACAO,UAAU;MACbb,QAAQ,EAAE,CAACc,cAAc,CAAC,CAAC,CAAC,EAAEC,gBAAgB;IAAC;EAChD,KAEH,IAAI;AACV,CAAC;AAED,IAAMK,aAAa,GAAG,SAAhBA,aAAa,CAAIpB,QAAQ,EAAEkB,UAAU,EAAEG,MAAM,EAA2B;EAAA,IAAzBpB,eAAe,uEAAG,CAAC,CAAC;EACvE,IAAI,CAACD,QAAQ,IAAIsB,KAAK,CAACC,OAAO,CAACvB,QAAQ,CAAC,EAAE,OAAO;IAAEwB,eAAe,EAAExB;EAAS,CAAC;EAC9E,uBAAqDA,QAAQ,CAArDM,KAAK;EAAb,iDAA8C,CAAC,CAAC;EAAhD,IAA2BQ,cAAc,oBAAxBd,QAAQ;EAEzB,sBAA4CD,cAAc,CAACe,cAAc,CAAC,CAAC,CAAC,EAAEb,eAAe,CAAC;IAAtFE,cAAc,mBAAdA,cAAc;IAAED,eAAe,mBAAfA,eAAe;EACvC,IAAMsB,eAAe,GAAGd,iBAAiB,CAACV,QAAQ,EAAEG,cAAc,CAAC;EACnE,IAAMsB,oBAAoB,GAAGP,UAAU,CAACF,GAAG,CAAC,UAAAU,IAAI;IAAA,uCAC3CA,IAAI;MACPC,MAAM,EAAED,IAAI,CAACE,EAAE;MACfC,UAAU,EAAER;IAAM;EAAA,CAClB,CAAC;EAEH,IAAMS,WAAW,GAAGpB,iBAAiB,CAACV,QAAQ,EAAEE,eAAe,EAAEuB,oBAAoB,CAAC;EAEtF,OAAO;IAAED,eAAe,EAAfA,eAAe;IAAEM,WAAW,EAAXA;EAAY,CAAC;AACzC,CAAC;AAAC,eAEaV,aAAa;AAAA"}
@@ -86,9 +86,9 @@ function BuildPBComponents(components) {
86
86
  hasTextBlockBanners = _getBannersByType4[0],
87
87
  textBlockBanners = _getBannersByType4[1];
88
88
  var updatedChildren = items && (0, _lodash["default"])(items).filter(function (_ref) {
89
- var _ref$settings = _ref.settings,
90
- _ref$settings2 = _ref$settings === void 0 ? {} : _ref$settings,
91
- insertionType = _ref$settings2.insertionType;
89
+ var _ref$settings = _ref.settings;
90
+ _ref$settings = _ref$settings === void 0 ? {} : _ref$settings;
91
+ var insertionType = _ref$settings.insertionType;
92
92
  return insertionType !== _constants2.PB_TYPE_TEXTBLOCK;
93
93
  });
94
94
  if (hasElementBanners) {
@@ -1 +1 @@
1
- {"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","getBannersByType","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","filter","settings","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":"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"}
1
+ {"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","getBannersByType","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","filter","settings","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":"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"}
@@ -51,9 +51,9 @@ var injectTextblockBanners = function injectTextblockBanners(_ref) {
51
51
  var blocksLength = parsedTextBlock.length;
52
52
  parsedTextBlock.forEach(function (block, blockIndex) {
53
53
  var type = block.type,
54
- _block$props = block.props,
55
- _block$props2 = _block$props === void 0 ? {} : _block$props,
56
- paragraphContent = _block$props2.children;
54
+ _block$props = block.props;
55
+ _block$props = _block$props === void 0 ? {} : _block$props;
56
+ var paragraphContent = _block$props.children;
57
57
  var hasBanner = false;
58
58
  var shouldCount = _constants.ALLOWED_BLOCK_TYPES.includes(type);
59
59
  if (!paragraphContent || typeof type !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","getCollisions","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","getCollisions","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","cloneDeep","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","cloneDeep","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,MAAM,EAAEC,UAAU,EAAEC,CAAC,EAAK;EACrD,IAAMC,UAAU,GAAG,IAAAC,kBAAS,EAACJ,MAAM,CAAC;EACpC,IAAMK,IAAI,kBAAWH,CAAC,GAAG,CAAC,CAAE;EAC5B,IAAMI,iBAAiB,GAAGL,UAAU,aAAMA,UAAU,cAAII,IAAI,IAAKA,IAAI;EACrEF,UAAU,CAACI,QAAQ,CAACN,UAAU,GAAGK,iBAAiB;EAElD,OAAOH,UAAU;AACnB,CAAC;AAED,IAAMK,yCAAyC,GAAG,SAA5CA,yCAAyC,CAAIC,KAAK,EAAEC,SAAS,EAAEV,MAAM,EAAK;EAC9E,IAAIW,KAAK,GAAG,CAAC;EACb,IAAMC,eAAe,GAAGF,SAAS,CAACG,IAAI,EAAE;EACxC,IAAMC,UAAU,GAAGF,eAAe,CAACG,MAAM,CAAC,UAACC,GAAG,EAAEC,cAAc,EAAK;IACjED,GAAG,CAACC,cAAc,CAAC,GAAG,CAAC;IACvB,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAAC,2BAEEd,CAAC;IACR,IAAIgB,cAAc,GAAG,KAAK;IAC1B,IAAMC,YAAY,GAAGjB,CAAC,GAAGS,KAAK;IAC9B;IACAC,eAAe,CAACQ,OAAO,CAAC,UAAAH,cAAc,EAAI;MACxC,IAAMI,cAAc,GAAGC,MAAM,CAACL,cAAc,CAAC;MAC7C,IACEf,CAAC,IAAImB,cAAc,IACnBF,YAAY,GAAGE,cAAc,KAAK,CAAC,IACnCF,YAAY,GAAGE,cAAc,KAAKP,UAAU,CAACG,cAAc,CAAC,GAAG,CAAC,EAChE;QACAH,UAAU,CAACG,cAAc,CAAC,IAAI,CAAC;QAC/B,IAAI,CAACC,cAAc,EAAE;UACnB,IAAQjB,UAAU,GAAKD,MAAM,CAACO,QAAQ,CAA9BN,UAAU;UAClB,IAAMsB,aAAa,GAAGxB,mBAAmB,CAACC,MAAM,EAAEC,UAAU,EAAEU,KAAK,CAAC;UAEpEF,KAAK,CAACe,MAAM,CAACtB,CAAC,EAAE,CAAC,EAAEqB,aAAa,CAAC;UACjCL,cAAc,GAAG,IAAI;UACrBP,KAAK,IAAI,CAAC;QACZ;MACF;IACF,CAAC,CAAC;EAAC;EArBL,KAAK,IAAIT,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGO,KAAK,CAACgB,MAAM,GAAG,CAAC,EAAEvB,CAAC,IAAI,CAAC,EAAE;IAAA,MAArCA,CAAC;EAsBV;AACF,CAAC;AAED,IAAMwB,aAAa,GAAG,SAAhBA,aAAa,CAAGC,QAAQ;EAAA,OAAKA,QAAQ,GAAGA,QAAQ,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAAA,CAAC;AAE9E,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAIpB,KAAK,EAAEqB,KAAK,EAAE9B,MAAM,EAAK;EAC9C,IAAM+B,SAAS,GAAGtB,KAAK,CAACuB,KAAK,EAAE;EAC/BD,SAAS,CAACP,MAAM,CAACM,KAAK,EAAE,CAAC,CAAC;EAE1B,uBAEI9B,MAAM,CADRO,QAAQ;IAAA,yCAAIoB,QAAQ;IAARA,QAAQ,sCAAG,EAAE;IAAA,yCAAEM,MAAM;IAANA,MAAM,sCAAG,KAAK;IAAEhC,UAAU,oBAAVA,UAAU;EAGvD,IAAMiC,cAAc,GAAGR,aAAa,CAACC,QAAQ,CAAC;EAC9C,IAAMQ,gBAAgB,GAAGD,cAAc,CAACE,QAAQ,CAAC,GAAG,CAAC;EAErD,IAAI,CAACD,gBAAgB,EAAE;IACrB,IAAME,eAAe,GAAGf,MAAM,CAACY,cAAc,CAAC;IAC9C,IAAID,MAAM,EAAE;MACV,IAAMK,WAAW,GAAGP,SAAS,CAACN,MAAM;MACpC,KAAK,IAAIvB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqC,IAAI,CAACC,KAAK,CAACF,WAAW,GAAGD,eAAe,CAAC,EAAEnC,CAAC,IAAI,CAAC,EAAE;QACrE,IAAMqB,aAAa,GAAGxB,mBAAmB,CAACC,MAAM,EAAEC,UAAU,EAAEC,CAAC,CAAC;QAChE6B,SAAS,CAACP,MAAM,CAACa,eAAe,IAAInC,CAAC,GAAG,CAAC,CAAC,GAAGA,CAAC,EAAE,CAAC,EAAEqB,aAAa,CAAC;MACnE;IACF,CAAC,MAAM;MACL,IAAMA,cAAa,GAAGxB,mBAAmB,CAACC,MAAM,EAAEC,UAAU,EAAE,CAAC,CAAC;MAChE8B,SAAS,CAACP,MAAM,CAACa,eAAe,EAAE,CAAC,EAAEd,cAAa,CAAC;IACrD;EACF;EAEA,IAAIY,gBAAgB,EAAE;IACpB,IAAMzB,SAAS,GAAGwB,cAAc,CAACO,KAAK,CAAC,GAAG,CAAC;IAE3C,IAAIR,MAAM,EAAE;MACVzB,yCAAyC,CAACuB,SAAS,EAAErB,SAAS,EAAEV,MAAM,CAAC;IACzE,CAAC,MAAM;MACLU,SAAS,CAACU,OAAO,CAAC,UAACsB,QAAQ,EAAExC,CAAC,EAAK;QACjC,IAAMmB,cAAc,GAAGC,MAAM,CAACoB,QAAQ,CAAC;QACvC,IAAMnB,aAAa,GAAGxB,mBAAmB,CAACC,MAAM,EAAEC,UAAU,EAAEC,CAAC,CAAC;QAEhE,IAAImB,cAAc,GAAGnB,CAAC,GAAG6B,SAAS,CAACN,MAAM,EAAE;UACzCM,SAAS,CAACP,MAAM,CAACH,cAAc,GAAGnB,CAAC,EAAE,CAAC,EAAEqB,aAAa,CAAC;QACxD;QACA,IAAIQ,SAAS,CAACN,MAAM,KAAK,CAAC,IAAIJ,cAAc,KAAK,CAAC,EAAE;UAClDU,SAAS,CAACP,MAAM,CAACH,cAAc,GAAGnB,CAAC,EAAE,CAAC,EAAEqB,aAAa,CAAC;QACxD;MACF,CAAC,CAAC;IACJ;EACF;EAEA,OAAOQ,SAAS;AAClB,CAAC;AAAC,eAEaF,aAAa;AAAA"}
@@ -24,13 +24,15 @@ function usePageBuilder(data) {
24
24
  _getBuiltComponents = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
25
25
  var components;
26
26
  return _regenerator["default"].wrap(function _callee$(_context) {
27
- while (1) switch (_context.prev = _context.next) {
28
- case 0:
29
- components = (0, _helpers["default"])(data);
30
- setPage(components);
31
- case 2:
32
- case "end":
33
- return _context.stop();
27
+ while (1) {
28
+ switch (_context.prev = _context.next) {
29
+ case 0:
30
+ components = (0, _helpers["default"])(data);
31
+ setPage(components);
32
+ case 2:
33
+ case "end":
34
+ return _context.stop();
35
+ }
34
36
  }
35
37
  }, _callee);
36
38
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","useState","page","setPage","useEffect","getBuiltComponents","components","buildPBComponents","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA,SAASA,cAAc,CAACC,IAAI,EAAE;EAC5B,gBAAwB,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAA7BC,IAAI;IAAEC,OAAO;EAEpB,IAAAC,gBAAS,EACP,YAAM;IAAA,SACWC,kBAAkB;MAAA;IAAA;IAAA;MAAA,oGAAjC;QAAA;QAAA;UAAA;YAAA;cACQC,UAAU,GAAG,IAAAC,mBAAiB,EAACP,IAAI,CAAC;cAE1CG,OAAO,CAACG,UAAU,CAAC;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA,CACrB;MAAA;IAAA;IAED,IAAIN,IAAI,IAAI,CAACE,IAAI,CAACM,MAAM,EAAE;MACxBH,kBAAkB,EAAE;IACtB;EACF,CAAC,EACD,CAACL,IAAI,EAAEE,IAAI,CAAC,CACb;EAED,OAAOA,IAAI;AACb;AAAC,eAEcH,cAAc;AAAA"}
1
+ {"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","useState","page","setPage","useEffect","getBuiltComponents","components","buildPBComponents","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA,SAASA,cAAc,CAACC,IAAI,EAAE;EAC5B,gBAAwB,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAA7BC,IAAI;IAAEC,OAAO;EAEpB,IAAAC,gBAAS,EACP,YAAM;IAAA,SACWC,kBAAkB;MAAA;IAAA;IAAA;MAAA,oGAAjC;QAAA;QAAA;UAAA;YAAA;cAAA;gBACQC,UAAU,GAAG,IAAAC,mBAAiB,EAACP,IAAI,CAAC;gBAE1CG,OAAO,CAACG,UAAU,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrB;MAAA;IAAA;IAED,IAAIN,IAAI,IAAI,CAACE,IAAI,CAACM,MAAM,EAAE;MACxBH,kBAAkB,EAAE;IACtB;EACF,CAAC,EACD,CAACL,IAAI,EAAEE,IAAI,CAAC,CACb;EAED,OAAOA,IAAI;AACb;AAAC,eAEcH,cAAc;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "cardBannerIndex", "userPropsData"];
3
+ const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData"];
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  import React from 'react';
@@ -24,7 +24,7 @@ const BannerRender = _ref => {
24
24
  asPath,
25
25
  action,
26
26
  actionKey,
27
- cardBannerIndex,
27
+ renderCounter,
28
28
  userPropsData
29
29
  } = _ref,
30
30
  otherProps = _objectWithoutProperties(_ref, _excluded);
@@ -80,7 +80,7 @@ const BannerRender = _ref => {
80
80
  const isContextualTargetingSet = propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;
81
81
  const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;
82
82
  const shouldShowBanner = parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;
83
- const customTargetings = setCustomTargetings(targetings, cardBannerIndex);
83
+ const customTargetings = setCustomTargetings(targetings, renderCounter);
84
84
  const targetingArguments = _objectSpread(_objectSpread(_objectSpread({}, parsedTargetings), customTargetings), userPropsData);
85
85
  return /*#__PURE__*/React.createElement(AdSlotRender, {
86
86
  shouldShowBanner: !!shouldShowBanner,
@@ -103,7 +103,7 @@ BannerRender.propTypes = {
103
103
  entity: PropTypes.string,
104
104
  targetings: PropTypes.string,
105
105
  sizes: PropTypes.string,
106
- cardBannerIndex: PropTypes.number,
106
+ renderCounter: PropTypes.number,
107
107
  userPropsData: PropTypes.object
108
108
  };
109
109
  BannerRender.defaultProps = {
@@ -114,7 +114,7 @@ BannerRender.defaultProps = {
114
114
  entity: '',
115
115
  targetings: '',
116
116
  sizes: '',
117
- cardBannerIndex: null,
117
+ renderCounter: null,
118
118
  userPropsData: {}
119
119
  };
120
120
  export default withTitle(BannerRender);
@@ -1 +1 @@
1
- {"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","userPropsData","otherProps","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\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';\nimport AdSlotRender from './AdSlotRender';\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 userPropsData,\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 { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\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 parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\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 const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\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 userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","otherProps","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\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';\nimport AdSlotRender from './AdSlotRender';\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 renderCounter,\n userPropsData,\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 { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\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 parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\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 const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\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 renderCounter: PropTypes.number,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,uBAAuB,EAAEC,QAAQ,QAAQ,yBAAyB;AAC3E,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,QACd,WAAW;AAClB,SACEC,kBAAkB,EAClBC,yBAAyB,EACzBC,UAAU,EACVC,SAAS,QACJ,iBAAiB;AACxB,SAASC,SAAS,QAAQ,WAAW;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,MAAMC,YAAY,GAAG,QAef;EAAA,IAfgB;MACpBC,UAAU;MACVC,MAAM;MACNC,MAAM;MACNC,KAAK;MACLC,cAAc;MACdC,MAAM;MACNC,UAAU;MACVC,MAAM;MACNC,MAAM;MACNC,MAAM;MACNC,SAAS;MACTC,aAAa;MACbC;IAEF,CAAC;IADIC,UAAU;EAEb,MAAM;IAAEC;EAAG,CAAC,GAAGD,UAAU;EACzB,MAAM;IAAEE;EAAO,CAAC,GAAGR,MAAM;EAEzB,MAAM;IAAES,IAAI,EAAEC,gBAAgB,GAAG,CAAC;EAAE,CAAC,GAAGhC,QAAQ,CAACwB,MAAM,EAAE;IACvDS,SAAS,EAAE;MAAEC,KAAK,EAAE;QAAEL,EAAE,EAAEA,EAAE,IAAIC;MAAO;IAAE,CAAC;IAC1CK,IAAI,EAAEN,EAAE,IAAIA,EAAE,KAAKC;EACrB,CAAC,CAAC;EAEF,MAAM;IAAEC,IAAI,EAAEK,UAAU,GAAG,CAAC;EAAE,CAAC,GAAGpC,QAAQ,CACxCC,uBAAuB,CAACS,UAAU,EAAEF,kBAAkB,CAAC,EACvD;IACEyB,SAAS,EAAE;MAAEJ,EAAE,EAAEZ;IAAO,CAAC;IACzBkB,IAAI,EAAE,CAAClB;EACT,CAAC,CACF;EAED,MAAM;IAAEc,IAAI,GAAG,CAAC;EAAE,CAAC,GAAG/B,QAAQ,CAACE,QAAQ,CAACO,yBAAyB,CAAC,EAAE;IAClEwB,SAAS,EAAE;MACTC,KAAK,EAAE;QACLG,QAAQ,EAAER,EAAE,IAAIC,MAAM;QACtBQ,WAAW,EAAE;UACXC,MAAM,EAAG,GAAE5B,SAAU;QACvB;MACF;IACF;EACF,CAAC,CAAC;EAEF,MAAM6B,gBAAgB,GAAGpC,wBAAwB,CAACqB,SAAS,EAAEO,gBAAgB,EAAEb,cAAc,CAAC;EAC9F,MAAM;IAAEsB;EAAW,CAAC,GAAGL,UAAU;EACjC,MAAM;IAAElB,KAAK,EAAEwB;EAAY,CAAC,GAAGD,UAAU,IAAI,CAAC,CAAC;EAE/C,MAAME,WAAW,GAAGrC,gBAAgB,CAACW,MAAM,EAAEyB,WAAW,CAAC;EACzD,MAAME,WAAW,GAAGzC,gBAAgB,CAACc,MAAM,EAAEyB,WAAW,EAAExB,KAAK,CAAC;EAEhE,MAAM;IAAE2B;EAAwB,CAAC,GAAGd,IAAI;EAExC,MAAMe,YAAY,GAAGzC,iBAAiB,CAACkB,MAAM,EAAEsB,uBAAuB,EAAE9B,UAAU,EAAEC,MAAM,CAAC;EAC3F,MAAM+B,wBAAwB,GAC5B5B,cAAc,CAAC6B,MAAM,IAAIR,gBAAgB,IAAIS,MAAM,CAACC,IAAI,CAACV,gBAAgB,CAAC,CAACQ,MAAM;EACnF,MAAMG,0BAA0B,GAAGJ,wBAAwB,IAAI,CAAC5B,cAAc,CAAC6B,MAAM;EACrF,MAAMI,gBAAgB,GACpBN,YAAY,IAAIF,WAAW,IAAI,CAAC,CAACA,WAAW,CAACI,MAAM,IAAIG,0BAA0B;EAEnF,MAAME,gBAAgB,GAAG9C,mBAAmB,CAACc,UAAU,EAAEK,aAAa,CAAC;EAEvE,MAAM4B,kBAAkB,iDAAQd,gBAAgB,GAAKa,gBAAgB,GAAK1B,aAAa,CAAE;EAEzF,oBACE,oBAAC,YAAY;IACX,gBAAgB,EAAE,CAAC,CAACyB,gBAAiB;IACrC,WAAW,EAAET,WAAY;IACzB,MAAM,EAAE1B,MAAO;IACf,YAAY,EAAE6B,YAAa;IAC3B,WAAW,EAAEF,WAAY;IACzB,kBAAkB,EAAEU;EAAmB,EACvC;AAEN,CAAC;AAEDxC,YAAY,CAACyC,SAAS,GAAG;EACvBjC,MAAM,EAAEvB,SAAS,CAACyD,MAAM,CAACC,UAAU;EACnClC,MAAM,EAAExB,SAAS,CAAC2D,MAAM,CAACD,UAAU;EACnCjC,MAAM,EAAEzB,SAAS,CAACyD,MAAM,CAACC,UAAU;EACnChC,SAAS,EAAE1B,SAAS,CAAC2D,MAAM,CAACD,UAAU;EACtCzC,MAAM,EAAEjB,SAAS,CAAC2D,MAAM;EACxB3C,UAAU,EAAEhB,SAAS,CAAC2D,MAAM;EAC5BzC,MAAM,EAAElB,SAAS,CAAC2D,MAAM;EACxBvC,cAAc,EAAEpB,SAAS,CAAC4D,KAAK;EAC/BvC,MAAM,EAAErB,SAAS,CAAC2D,MAAM;EACxBrC,UAAU,EAAEtB,SAAS,CAAC2D,MAAM;EAC5BxC,KAAK,EAAEnB,SAAS,CAAC2D,MAAM;EACvBhC,aAAa,EAAE3B,SAAS,CAAC6D,MAAM;EAC/BjC,aAAa,EAAE5B,SAAS,CAACyD;AAC3B,CAAC;AAED1C,YAAY,CAAC+C,YAAY,GAAG;EAC1B7C,MAAM,EAAE,EAAE;EACVD,UAAU,EAAE,EAAE;EACdE,MAAM,EAAE,EAAE;EACVE,cAAc,EAAE,EAAE;EAClBC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAE,EAAE;EACdH,KAAK,EAAE,EAAE;EACTQ,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAE,CAAC;AAClB,CAAC;AAED,eAAef,SAAS,CAACE,YAAY,CAAC"}
@@ -14,9 +14,9 @@ const addPosnToTargetings = (targetings, index) => {
14
14
  return targetings ? `${targetings},${posn}` : posn;
15
15
  };
16
16
  const buildTargetingValue = valueTargeting => valueTargeting.includes('[') && valueTargeting.includes(']') ? valueTargeting.replace(/\;|\[|\]/gm, char => char === ';' ? ',' : '').split(',') : valueTargeting;
17
- const setCustomTargetings = (targetings, cardBannerIndex) => {
17
+ const setCustomTargetings = (targetings, renderCounter) => {
18
18
  let bannerTargetings = {};
19
- const updatedTargetings = cardBannerIndex ? addPosnToTargetings(targetings, cardBannerIndex) : targetings;
19
+ const updatedTargetings = renderCounter ? addPosnToTargetings(targetings, renderCounter) : targetings;
20
20
  const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';
21
21
  if (isValidTargeting) {
22
22
  const customTargeting = {};
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","getMinBannerHeight","min","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","renderCounter","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","getMinBannerHeight","min","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, renderCounter) => {\n let bannerTargetings = {};\n\n const updatedTargetings = renderCounter\n ? addPosnToTargetings(targetings, renderCounter)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
@@ -45,7 +45,7 @@ const CardContainer = _ref => {
45
45
  } = useContext(MainContext);
46
46
  const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);
47
47
  const dynamicWrapperSizes = enableCarousel ? '' : getDynamicGridClasses('grid', itemsPerRow, designConfig);
48
- let cardBannerIndex = 0;
48
+ let renderCounter = 0;
49
49
  const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
50
50
  return /*#__PURE__*/React.createElement(CardWrapper, {
51
51
  className: dynamicWrapperSizes,
@@ -62,7 +62,7 @@ const CardContainer = _ref => {
62
62
  entityProps = _objectWithoutProperties(_ref2, _excluded2);
63
63
  const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);
64
64
  const dynamicKey = [itemId, index].join('-');
65
- if (baseAdunit) cardBannerIndex += 1;
65
+ if (baseAdunit) renderCounter += 1;
66
66
  const priority = priorityLimit > 0 && index + 1 <= priorityLimit;
67
67
  return baseAdunit ? /*#__PURE__*/React.createElement(Banner, _extends({
68
68
  key: dynamicKey,
@@ -70,7 +70,7 @@ const CardContainer = _ref => {
70
70
  baseAdunit: baseAdunit
71
71
  }, entityProps, {
72
72
  modifier: modifier,
73
- cardBannerIndex: cardBannerIndex
73
+ renderCounter: renderCounter
74
74
  })) : /*#__PURE__*/React.createElement(Card, _extends({
75
75
  key: id,
76
76
  id: id,