@blaze-cms/react-page-builder 0.134.0 → 0.135.0-admin-updates.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/lib/components/Banner/AdSlotRender.js +12 -3
  3. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  4. package/lib/components/Banner/Banner.js +4 -7
  5. package/lib/components/Banner/Banner.js.map +1 -1
  6. package/lib/components/Banner/BannerRender.js +7 -3
  7. package/lib/components/Banner/BannerRender.js.map +1 -1
  8. package/lib/components/Banner/helpers.js +2 -2
  9. package/lib/components/Banner/helpers.js.map +1 -1
  10. package/lib/components/BlazeLink.js +2 -2
  11. package/lib/components/BlazeLink.js.map +1 -1
  12. package/lib/components/Button.js +2 -2
  13. package/lib/components/Button.js.map +1 -1
  14. package/lib/components/Card/CardsContainer.js +2 -2
  15. package/lib/components/Card/CardsContainer.js.map +1 -1
  16. package/lib/components/Card/CardsRender.js +2 -2
  17. package/lib/components/Card/CardsRender.js.map +1 -1
  18. package/lib/components/Card/helpers/filter-query-setup.js +2 -2
  19. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  20. package/lib/components/ClickWrapper.js +2 -2
  21. package/lib/components/ClickWrapper.js.map +1 -1
  22. package/lib/components/Code/Code.js +2 -2
  23. package/lib/components/Code/Code.js.map +1 -1
  24. package/lib/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  25. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  26. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +2 -0
  27. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  28. package/lib/components/Image/Image.js +2 -2
  29. package/lib/components/Image/Image.js.map +1 -1
  30. package/lib/components/Layout/Layout.js +2 -2
  31. package/lib/components/Layout/Layout.js.map +1 -1
  32. package/lib/components/List/ListBuilder.js +2 -2
  33. package/lib/components/List/ListBuilder.js.map +1 -1
  34. package/lib/components/List/ListFactory.js +2 -2
  35. package/lib/components/List/ListFactory.js.map +1 -1
  36. package/lib/components/List/components/Cards/CardsRender.js +2 -2
  37. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  38. package/lib/components/List/components/Full/FullRender.js +2 -2
  39. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  40. package/lib/components/List/components/Full/FullRenderItem.js +2 -2
  41. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  42. package/lib/components/List/components/Pagination/ListPagination.js +2 -2
  43. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  44. package/lib/components/List/helpers/build-az-url.js +2 -2
  45. package/lib/components/List/helpers/build-az-url.js.map +1 -1
  46. package/lib/components/List/helpers/build-pagination-url.js +2 -2
  47. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  48. package/lib/components/SearchFilter/components/Range.js +2 -2
  49. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  50. package/lib/components/SearchFilter/searchFilterReducer.js +2 -2
  51. package/lib/components/SearchFilterSort/helpers/update-sort.js +2 -2
  52. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  53. package/lib/components/TextBlock/index.js +2 -2
  54. package/lib/components/TextBlock/index.js.map +1 -1
  55. package/lib/components/Video/Video.js +2 -2
  56. package/lib/components/Video/Video.js.map +1 -1
  57. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js +2 -2
  58. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  59. package/lib/helpers/append-images.js +2 -2
  60. package/lib/helpers/build-raw-query-base.js +2 -2
  61. package/lib/helpers/build-raw-query-base.js.map +1 -1
  62. package/lib/helpers/build-raw-query.js +22 -11
  63. package/lib/helpers/build-raw-query.js.map +1 -1
  64. package/lib/helpers/build-search-values-text.js +8 -5
  65. package/lib/helpers/build-search-values-text.js.map +1 -1
  66. package/lib/helpers/get-banner-data.js +2 -2
  67. package/lib/helpers/get-click-wrapper-options.js +2 -2
  68. package/lib/helpers/get-click-wrapper-options.js.map +1 -1
  69. package/lib/helpers/get-entities-with-banner.js +2 -2
  70. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  71. package/lib/helpers/get-generic-props.js +2 -2
  72. package/lib/helpers/get-generic-props.js.map +1 -1
  73. package/lib/helpers/get-generic-render-variables.js +2 -2
  74. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  75. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +2 -2
  76. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  77. package/lib/helpers/process-data-summary-value.js +2 -2
  78. package/lib/helpers/process-data-summary-value.js.map +1 -1
  79. package/lib/helpers/remove-unwanted-characters.js +2 -2
  80. package/lib/helpers/render-children.js +2 -2
  81. package/lib/helpers/render-children.js.map +1 -1
  82. package/lib/helpers/split-children.js +2 -2
  83. package/lib/helpers/update-childrens-parent.js +2 -2
  84. package/lib/hooks/helpers/append-gtm-classname.js +2 -2
  85. package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
  86. package/lib/hooks/helpers/buildPBComponents.js +2 -2
  87. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  88. package/lib/hooks/helpers/get-lightbox-images.js +2 -2
  89. package/lib/hooks/helpers/get-lightbox-images.js.map +1 -1
  90. package/lib/hooks/helpers/inject-element-banners.js +2 -2
  91. package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
  92. package/lib/hooks/helpers/inject-textblock-banners.js +2 -2
  93. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  94. package/lib/utils/get-class-modifiers.js +2 -2
  95. package/lib/utils/get-class-modifiers.js.map +1 -1
  96. package/lib-es/components/Banner/AdSlotRender.js +12 -3
  97. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  98. package/lib-es/components/Banner/Banner.js +4 -7
  99. package/lib-es/components/Banner/Banner.js.map +1 -1
  100. package/lib-es/components/Banner/BannerRender.js +8 -4
  101. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  102. package/lib-es/components/Banner/helpers.js +2 -2
  103. package/lib-es/components/BlazeLink.js +2 -2
  104. package/lib-es/components/Button.js +2 -2
  105. package/lib-es/components/Card/CardsContainer.js +2 -2
  106. package/lib-es/components/Card/CardsRender.js +2 -2
  107. package/lib-es/components/Card/helpers/filter-query-setup.js +2 -2
  108. package/lib-es/components/ClickWrapper.js +2 -2
  109. package/lib-es/components/Code/Code.js +2 -2
  110. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  111. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  112. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +2 -1
  113. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  114. package/lib-es/components/Image/Image.js +2 -2
  115. package/lib-es/components/Layout/Layout.js +2 -2
  116. package/lib-es/components/List/ListBuilder.js +2 -2
  117. package/lib-es/components/List/ListFactory.js +2 -2
  118. package/lib-es/components/List/components/Cards/CardsRender.js +2 -2
  119. package/lib-es/components/List/components/Full/FullRender.js +2 -2
  120. package/lib-es/components/List/components/Full/FullRenderItem.js +2 -2
  121. package/lib-es/components/List/components/Pagination/ListPagination.js +2 -2
  122. package/lib-es/components/List/helpers/build-az-url.js +2 -2
  123. package/lib-es/components/List/helpers/build-pagination-url.js +2 -2
  124. package/lib-es/components/SearchFilter/components/Range.js +2 -2
  125. package/lib-es/components/SearchFilter/searchFilterReducer.js +2 -2
  126. package/lib-es/components/SearchFilterSort/helpers/update-sort.js +2 -2
  127. package/lib-es/components/TextBlock/index.js +2 -2
  128. package/lib-es/components/Video/Video.js +2 -2
  129. package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js +2 -2
  130. package/lib-es/helpers/append-images.js +2 -2
  131. package/lib-es/helpers/build-raw-query-base.js +2 -2
  132. package/lib-es/helpers/build-raw-query.js +21 -9
  133. package/lib-es/helpers/build-raw-query.js.map +1 -1
  134. package/lib-es/helpers/build-search-values-text.js +8 -5
  135. package/lib-es/helpers/build-search-values-text.js.map +1 -1
  136. package/lib-es/helpers/get-banner-data.js +2 -2
  137. package/lib-es/helpers/get-click-wrapper-options.js +2 -2
  138. package/lib-es/helpers/get-entities-with-banner.js +2 -2
  139. package/lib-es/helpers/get-generic-props.js +2 -2
  140. package/lib-es/helpers/get-generic-render-variables.js +2 -2
  141. package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +2 -2
  142. package/lib-es/helpers/process-data-summary-value.js +2 -2
  143. package/lib-es/helpers/remove-unwanted-characters.js +2 -2
  144. package/lib-es/helpers/render-children.js +2 -2
  145. package/lib-es/helpers/split-children.js +2 -2
  146. package/lib-es/helpers/update-childrens-parent.js +2 -2
  147. package/lib-es/hooks/helpers/append-gtm-classname.js +2 -2
  148. package/lib-es/hooks/helpers/buildPBComponents.js +2 -2
  149. package/lib-es/hooks/helpers/get-lightbox-images.js +2 -2
  150. package/lib-es/hooks/helpers/inject-element-banners.js +2 -2
  151. package/lib-es/hooks/helpers/inject-textblock-banners.js +2 -2
  152. package/lib-es/utils/get-class-modifiers.js +2 -2
  153. package/package.json +10 -10
  154. package/src/components/Banner/AdSlotRender.js +9 -5
  155. package/src/components/Banner/Banner.js +9 -11
  156. package/src/components/Banner/BannerRender.js +4 -0
  157. package/src/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  158. package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -1
  159. package/src/helpers/build-raw-query.js +16 -3
  160. package/src/helpers/build-search-values-text.js +20 -17
  161. package/tests/helpers/mocks.js +20 -5
  162. package/tests/unit/src/components/Banner/AdSlotRender.test.js +6 -11
  163. package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +45 -25
  164. package/tests/unit/src/components/Banner/__snapshots__/BannerRender.test.js.snap +8 -3
  165. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +41 -0
  166. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +21 -0
  167. package/tests/unit/src/components/PlaceholderIcon/__snapshots__/index.test.js.snap +87 -0
  168. package/tests/unit/src/components/PlaceholderIcon/index.test.js +20 -0
  169. package/tests/unit/src/helpers/build-search-values-text.test.js +22 -11
@@ -1 +1 @@
1
- {"version":3,"file":"buildPBComponents.js","names":["_react","_interopRequireDefault","require","_lodash","_GlobalLightbox","_RenderComponent","_getBannersByType5","_injectElementBanners","_StoreImages","_getLightboxImages","_insertBanners","_checkBannerInsertionSet","_getBannerIndex","_constants","_constants2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","renderChildComponents","options","items","undefined","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","_options$lightboxImag","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","createElement","Fragment","onClose","component","_component$items","_getBannersByType","getBannersByType","ELEMENT","_getBannersByType2","_slicedToArray2","hasElementBanners","banners","_getBannersByType3","PB_TYPE_TEXTBLOCK","_getBannersByType4","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","_ref","_ref$settings","settings","_ref$settings2","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","siblings","key","id","_default","exports"],"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":["_react","_interopRequireDefault","require","_lodash","_GlobalLightbox","_RenderComponent","_getBannersByType5","_injectElementBanners","_StoreImages","_getLightboxImages","_insertBanners","_checkBannerInsertionSet","_getBannerIndex","_constants","_constants2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","renderChildComponents","options","items","undefined","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","_options$lightboxImag","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","createElement","Fragment","onClose","component","_component$items","_getBannersByType","getBannersByType","ELEMENT","_getBannersByType2","_slicedToArray2","hasElementBanners","banners","_getBannersByType3","PB_TYPE_TEXTBLOCK","_getBannersByType4","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","_ref","_ref$settings","settings","_ref$settings2","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","siblings","id","_default","exports"],"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":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,kBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,kBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,cAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,wBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,eAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAAgD,SAAAa,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAEhD,SAASW,qBAAqBA,CAACC,OAAO,EAAc;EAAA,IAAZC,KAAK,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAY,SAAA,GAAAZ,SAAA,MAAG,EAAE;EAChD,OAAOW,KAAK,IAAIA,KAAK,CAACV,MAAM,GAAGY,iBAAiB,CAACF,KAAK,EAAED,OAAO,CAAC,GAAG,EAAE;AACvE;AAEA,SAASG,iBAAiBA,CAACC,UAAU,EAAmC;EAAA,IAAjCJ,OAAO,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAY,SAAA,GAAAZ,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEe,SAAS,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAY,SAAA,GAAAZ,SAAA,MAAG,KAAK;EACpE,IAAMgB,OAAO,GAAGC,KAAK,CAACD,OAAO,CAACF,UAAU,CAAC;EACzC,IAAI,CAACE,OAAO,EAAE,OAAO,EAAE;EAEvB,IACEE,SAAS,GAQPR,OAAO,CARTQ,SAAS;IAAAC,qBAAA,GAQPT,OAAO,CAPTU,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IACnBE,WAAW,GAMTX,OAAO,CANTW,WAAW;IACXC,IAAI,GAKFZ,OAAO,CALTY,IAAI;IACJC,aAAa,GAIXb,OAAO,CAJTa,aAAa;IACbC,gBAAgB,GAGdd,OAAO,CAHTc,gBAAgB;IAChBC,MAAM,GAEJf,OAAO,CAFTe,MAAM;IACAC,UAAU,GACdhB,OAAO,CADTiB,IAAI;EAGN,IAAIZ,SAAS,IAAI,CAACO,IAAI,EAAEM,uBAAW,CAACC,WAAW,CAAC,CAAC;EAEjDD,uBAAW,CAACE,SAAS,CAAC,IAAAC,6BAAiB,EAACjB,UAAU,CAAC,CAACkB,MAAM,CAACZ,cAAc,CAAC,EAAEV,OAAO,CAAC;EACpFkB,uBAAW,CAACK,WAAW,CAAC;IAAEZ,WAAW,EAAXA,WAAW;IAAEG,gBAAgB,EAAhBA;EAAiB,CAAC,CAAC;EAE1D,IAAMU,UAAU,GAAG;IACjBb,WAAW,EAAEO,uBAAW,CAACP,WAAW;IACpCc,mBAAmB,EAAEP,uBAAW,CAACO;EACnC,CAAC;EAED,IAAMC,MAAM,GAAGR,uBAAW,CAACQ,MAAM,CAACC,GAAG,CAAC,UAAAC,KAAK;IAAA,OAAAzC,aAAA,CAAAA,aAAA,KAAUyC,KAAK,GAAKJ,UAAU;EAAA,CAAG,CAAC;EAE7E,oBACEjE,MAAA,YAAAsE,aAAA,CAAAtE,MAAA,YAAAuE,QAAA,QACGlB,IAAI,iBACHrD,MAAA,YAAAsE,aAAA,CAAClE,eAAA,WAAc;IACb+D,MAAM,EAAEA,MAAO;IACfK,OAAO,EAAEb,uBAAW,CAACP,WAAY;IACjCE,aAAa,EAAEA,aAAc;IAC7BL,SAAS,EAAEA,SAAU;IACrBQ,UAAU,EAAEA,UAAW;IACvBD,MAAM,EAAEA;EAAO,CAChB,CACF,EACAX,UAAU,CAACuB,GAAG,CAAC,UAAAK,SAAS,EAAI;IAC3B,IAAAC,gBAAA,GAAuBD,SAAS,CAAxB/B,KAAK;MAALA,KAAK,GAAAgC,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAClB,IAAAC,iBAAA,GAAqC,IAAAC,6BAAgB,EAAClC,KAAK,EAAEmC,kBAAO,CAAC;MAAAC,kBAAA,OAAAC,eAAA,aAAAJ,iBAAA;MAA9DK,iBAAiB,GAAAF,kBAAA;MAAEG,OAAO,GAAAH,kBAAA;IACjC,IAAAI,kBAAA,GAAgD,IAAAN,6BAAgB,EAAClC,KAAK,EAAEyC,6BAAiB,CAAC;MAAAC,kBAAA,OAAAL,eAAA,aAAAG,kBAAA;MAAnFG,mBAAmB,GAAAD,kBAAA;MAAEE,gBAAgB,GAAAF,kBAAA;IAC5C,IAAIG,eAAe,GACjB7C,KAAK,IACL,IAAA8C,kBAAS,EAAC9C,KAAK,CAAC,CAACpB,MAAM,CACrB,UAAAmE,IAAA;MAAA,IAAAC,aAAA,GAAAD,IAAA,CAAGE,QAAQ;QAAAC,cAAA,GAAAF,aAAA,cAAsB,CAAC,CAAC,GAAAA,aAAA;QAApBG,aAAa,GAAAD,cAAA,CAAbC,aAAa;MAAA,OAAcA,aAAa,KAAKV,6BAAiB;IAAA,CAC/E,CAAC;IAEH,IAAIH,iBAAiB,EAAE;MACrBO,eAAe,GAAG,IAAAO,gCAAoB,EAACb,OAAO,EAAEM,eAAe,CAAC;IAClE,CAAC,MAAM;MACL;MACA,IAAMQ,cAAc,GAAG,IAAAC,mCAAuB,EAACT,eAAe,CAAC;MAC/D,IAAMU,WAAW,GAAG,IAAAC,0BAAc,EAACX,eAAe,EAAEQ,cAAc,CAAC;MACnE,IAAMI,iBAAiB,GAAG,CAAC,EAAEZ,eAAe,IAAIA,eAAe,CAACvD,MAAM,CAAC;MAEvE,IAAImE,iBAAiB,IAAIF,WAAW,GAAG,CAAC,CAAC,EAAE;QACzCV,eAAe,GAAG,IAAAa,yBAAa,EAACb,eAAe,EAAEU,WAAW,EAAEF,cAAc,CAAC;MAC/E;IACF;IAEA,IAAMM,eAAe,GAAG7D,qBAAqB,CAACC,OAAO,EAAE8C,eAAe,CAAC;IAEvE,oBACEvF,MAAA,YAAAsE,aAAA,CAACjE,gBAAA,WAAe;MACdoE,SAAS,EAAEA,SAAU;MACrB6B,QAAQ,EAAEf,eAAgB;MAC1Bc,eAAe,EAAEA,eAAgB;MACjCpC,UAAU,EAAEA,UAAW;MACvBxB,OAAO,EAAAb,aAAA,KAAOa,OAAO,CAAG;MACxB0B,MAAM,EAAEA,MAAO;MACfhC,GAAG,KAAA4B,MAAA,CAAKU,SAAS,CAAC8B,EAAE,CAAG;MACvBlB,mBAAmB,EAAEA,mBAAoB;MACzCC,gBAAgB,EAAEA;IAAiB,CACpC,CAAC;EAEN,CAAC,CACD,CAAC;AAEP;AAAC,IAAAkB,QAAA,GAEc5D,iBAAiB;AAAA6D,OAAA,cAAAD,QAAA"}
@@ -23,8 +23,8 @@ require("core-js/modules/es.array.map.js");
23
23
  require("core-js/modules/es.array.is-array.js");
24
24
  require("core-js/modules/es.array.concat.js");
25
25
  var _constants = require("./constants");
26
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
+ 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; }
27
+ 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) { (0, _defineProperty2["default"])(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; }
28
28
  function checkIfHasLightboxAndImages(component) {
29
29
  var isImage = [_constants.PB_TYPE_IMAGE, _constants.PB_TYPE_CAROUSEL].includes(component.type);
30
30
  var hasEnabledLightbox = isImage && component.settings.enableLightbox;
@@ -1 +1 @@
1
- {"version":3,"file":"get-lightbox-images.js","names":["_constants","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkIfHasLightboxAndImages","component","isImage","PB_TYPE_IMAGE","PB_TYPE_CAROUSEL","includes","type","hasEnabledLightbox","settings","enableLightbox","hasEmptyImage","imageId","getLightboxImages","pageBuilder","getImage","hasLighboxAndImage","hasBanner","isOnlyChildBanner","items","imageIds","map","index","currentElement","banner","PB_TYPE_BANNER","getItems","child","parseImages","container","_ref","Array","isArray","concat","_toConsumableArray2","_default","exports"],"sources":["../../../src/hooks/helpers/get-lightbox-images.js"],"sourcesContent":["import { PB_TYPE_IMAGE, PB_TYPE_CAROUSEL, PB_TYPE_BANNER } from './constants';\n\nfunction checkIfHasLightboxAndImages(component) {\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_CAROUSEL].includes(component.type);\n const hasEnabledLightbox = isImage && component.settings.enableLightbox;\n const hasEmptyImage = component.type === PB_TYPE_IMAGE && !component.settings.imageId;\n return hasEnabledLightbox && !hasEmptyImage;\n}\n\nfunction getLightboxImages(pageBuilder) {\n const getImage = component => {\n const hasLighboxAndImage = checkIfHasLightboxAndImages(component);\n\n if (hasLighboxAndImage) {\n if (component.type === PB_TYPE_CAROUSEL) {\n const hasBanner = !!isOnlyChildBanner(component.type, component.items);\n return component.settings.imageIds.map((imageId, index) => {\n const currentElement = {\n ...component.settings,\n imageId,\n hasBanner,\n banner: hasBanner ? component.items[0].settings : null\n };\n delete currentElement.imageIds;\n return currentElement;\n });\n }\n return isOnlyChildBanner(component.type, component.items)\n ? [{ ...component.settings, hasBanner: true, banner: component.items[0].settings }]\n : [component.settings];\n }\n return [];\n };\n\n const isOnlyChildBanner = (type, items) =>\n [PB_TYPE_IMAGE, PB_TYPE_CAROUSEL].includes(type) &&\n items &&\n items.length === 1 &&\n items[0].type === PB_TYPE_BANNER;\n\n const getItems = component =>\n !component.items ||\n !component.items.length ||\n isOnlyChildBanner(component.type, component.items)\n ? getImage(component)\n : component.items.map(child => getItems(child));\n\n const parseImages = container =>\n Array.isArray(container) ? [].concat(...container.map(parseImages)) : container;\n\n return parseImages(pageBuilder.map(component => getItems(component)));\n}\n\nexport default getLightboxImages;\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-lightbox-images.js","names":["_constants","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkIfHasLightboxAndImages","component","isImage","PB_TYPE_IMAGE","PB_TYPE_CAROUSEL","includes","type","hasEnabledLightbox","settings","enableLightbox","hasEmptyImage","imageId","getLightboxImages","pageBuilder","getImage","hasLighboxAndImage","hasBanner","isOnlyChildBanner","items","imageIds","map","index","currentElement","banner","PB_TYPE_BANNER","getItems","child","parseImages","container","_ref","Array","isArray","concat","_toConsumableArray2","_default","exports"],"sources":["../../../src/hooks/helpers/get-lightbox-images.js"],"sourcesContent":["import { PB_TYPE_IMAGE, PB_TYPE_CAROUSEL, PB_TYPE_BANNER } from './constants';\n\nfunction checkIfHasLightboxAndImages(component) {\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_CAROUSEL].includes(component.type);\n const hasEnabledLightbox = isImage && component.settings.enableLightbox;\n const hasEmptyImage = component.type === PB_TYPE_IMAGE && !component.settings.imageId;\n return hasEnabledLightbox && !hasEmptyImage;\n}\n\nfunction getLightboxImages(pageBuilder) {\n const getImage = component => {\n const hasLighboxAndImage = checkIfHasLightboxAndImages(component);\n\n if (hasLighboxAndImage) {\n if (component.type === PB_TYPE_CAROUSEL) {\n const hasBanner = !!isOnlyChildBanner(component.type, component.items);\n return component.settings.imageIds.map((imageId, index) => {\n const currentElement = {\n ...component.settings,\n imageId,\n hasBanner,\n banner: hasBanner ? component.items[0].settings : null\n };\n delete currentElement.imageIds;\n return currentElement;\n });\n }\n return isOnlyChildBanner(component.type, component.items)\n ? [{ ...component.settings, hasBanner: true, banner: component.items[0].settings }]\n : [component.settings];\n }\n return [];\n };\n\n const isOnlyChildBanner = (type, items) =>\n [PB_TYPE_IMAGE, PB_TYPE_CAROUSEL].includes(type) &&\n items &&\n items.length === 1 &&\n items[0].type === PB_TYPE_BANNER;\n\n const getItems = component =>\n !component.items ||\n !component.items.length ||\n isOnlyChildBanner(component.type, component.items)\n ? getImage(component)\n : component.items.map(child => getItems(child));\n\n const parseImages = container =>\n Array.isArray(container) ? [].concat(...container.map(parseImages)) : container;\n\n return parseImages(pageBuilder.map(component => getItems(component)));\n}\n\nexport default getLightboxImages;\n"],"mappings":"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"}
@@ -19,8 +19,8 @@ require("core-js/modules/web.dom-collections.for-each.js");
19
19
  var _updateTargetings = _interopRequireDefault(require("./update-targetings"));
20
20
  var _constants = require("../../constants");
21
21
  var _constants2 = require("./constants");
22
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ 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; }
23
+ 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) { (0, _defineProperty2["default"])(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; }
24
24
  var checkBannerCollision = function checkBannerCollision(typeToCheck, currentType) {
25
25
  if (currentType === _constants.IMAGE) return true;
26
26
  return typeToCheck === _constants.IMAGE;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-element-banners.js","names":["_updateTargetings","_interopRequireDefault","require","_constants","_constants2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","_banner$settings","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","component","i","type","_ref","previousComponentType","_ref2","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","hasReachedMax","bannerWithTargetings","updateTargetings","updatedSettings","_default","exports"],"sources":["../../../src/hooks/helpers/inject-element-banners.js"],"sourcesContent":["import updateTargetings from './update-targetings';\nimport { IMAGE } from '../../constants';\nimport { PB_TYPE_BANNER } from './constants';\n\nconst checkBannerCollision = (typeToCheck, currentType) => {\n if (currentType === IMAGE) return true;\n return typeToCheck === IMAGE;\n};\n\nconst injectElementBanners = (banner, children) => {\n const {\n settings: { repeatEvery, startingPoint, maxRepetitions }\n } = banner;\n\n const updatedChildren = [];\n let bannerTotal = 0;\n let currentBannerPosition = startingPoint;\n\n children.forEach((component, i) => {\n const { type } = component;\n const { type: previousComponentType } = children[i - 1] || {};\n const { type: nextComponentType } = children[i + 1] || {};\n const isBanner = type === PB_TYPE_BANNER;\n const collidedBefore = checkBannerCollision(previousComponentType, type);\n const collidedAfter = checkBannerCollision(nextComponentType, type);\n\n if (collidedBefore || (i === 0 && collidedAfter)) {\n if (currentBannerPosition <= i) currentBannerPosition += 1;\n if (!isBanner) updatedChildren.push(component);\n return;\n }\n\n const hasReachedMax = maxRepetitions && bannerTotal >= maxRepetitions;\n if (!hasReachedMax && i === currentBannerPosition) {\n const bannerWithTargetings = repeatEvery ? updateTargetings(banner, bannerTotal) : banner;\n const updatedSettings = { ...bannerWithTargetings.settings };\n updatedChildren.push({ ...bannerWithTargetings, settings: updatedSettings });\n bannerTotal += 1;\n currentBannerPosition += repeatEvery;\n }\n if (!isBanner) updatedChildren.push(component);\n });\n\n return updatedChildren;\n};\n\nexport default injectElementBanners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"inject-element-banners.js","names":["_updateTargetings","_interopRequireDefault","require","_constants","_constants2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","_banner$settings","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","component","type","_ref","previousComponentType","_ref2","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","hasReachedMax","bannerWithTargetings","updateTargetings","updatedSettings","_default","exports"],"sources":["../../../src/hooks/helpers/inject-element-banners.js"],"sourcesContent":["import updateTargetings from './update-targetings';\nimport { IMAGE } from '../../constants';\nimport { PB_TYPE_BANNER } from './constants';\n\nconst checkBannerCollision = (typeToCheck, currentType) => {\n if (currentType === IMAGE) return true;\n return typeToCheck === IMAGE;\n};\n\nconst injectElementBanners = (banner, children) => {\n const {\n settings: { repeatEvery, startingPoint, maxRepetitions }\n } = banner;\n\n const updatedChildren = [];\n let bannerTotal = 0;\n let currentBannerPosition = startingPoint;\n\n children.forEach((component, i) => {\n const { type } = component;\n const { type: previousComponentType } = children[i - 1] || {};\n const { type: nextComponentType } = children[i + 1] || {};\n const isBanner = type === PB_TYPE_BANNER;\n const collidedBefore = checkBannerCollision(previousComponentType, type);\n const collidedAfter = checkBannerCollision(nextComponentType, type);\n\n if (collidedBefore || (i === 0 && collidedAfter)) {\n if (currentBannerPosition <= i) currentBannerPosition += 1;\n if (!isBanner) updatedChildren.push(component);\n return;\n }\n\n const hasReachedMax = maxRepetitions && bannerTotal >= maxRepetitions;\n if (!hasReachedMax && i === currentBannerPosition) {\n const bannerWithTargetings = repeatEvery ? updateTargetings(banner, bannerTotal) : banner;\n const updatedSettings = { ...bannerWithTargetings.settings };\n updatedChildren.push({ ...bannerWithTargetings, settings: updatedSettings });\n bannerTotal += 1;\n currentBannerPosition += repeatEvery;\n }\n if (!isBanner) updatedChildren.push(component);\n });\n\n return updatedChildren;\n};\n\nexport default injectElementBanners;\n"],"mappings":"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"}
@@ -27,8 +27,8 @@ var _Banner = _interopRequireDefault(require("../../components/Banner"));
27
27
  var _checkCollisions = require("./check-collisions");
28
28
  var _updateTargetings = _interopRequireDefault(require("./update-targetings"));
29
29
  var _constants = require("../../constants");
30
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
+ 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; }
31
+ 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) { (0, _defineProperty2["default"])(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; }
32
32
  var checkCanInjectBanner = function checkCanInjectBanner(maxRepetitions, total) {
33
33
  if (!maxRepetitions) return true;
34
34
  return total < maxRepetitions;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-textblock-banners.js","names":["_react","_interopRequireDefault","require","_Banner","_checkCollisions","_updateTargetings","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","_ref","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","_getCollisions","getCollisions","_getCollisions2","_slicedToArray2","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","block","blockIndex","type","_block$props","props","_block$props2","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","_bannerCounters$name","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","concat","targetings","updatedBanner","createElement","_extends2","key","_default","exports"],"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":["_react","_interopRequireDefault","require","_Banner","_checkCollisions","_updateTargetings","_constants","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","_ref","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","_getCollisions","getCollisions","_getCollisions2","_slicedToArray2","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","block","blockIndex","type","_block$props","props","_block$props2","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","_bannerCounters$name","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","concat","targetings","updatedBanner","createElement","_extends2","_default","exports"],"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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"}
@@ -23,8 +23,8 @@ require("core-js/modules/es.string.includes.js");
23
23
  require("core-js/modules/es.array.join.js");
24
24
  var _constants = require("../constants");
25
25
  var _componentsDefaultValues = _interopRequireDefault(require("../constants/componentsDefaultValues"));
26
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
+ 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; }
27
+ 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) { (0, _defineProperty2["default"])(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; }
28
28
  var BUTTON_TYPE = _constants.CLASS_MODIFIERS.BUTTON_TYPE,
29
29
  DEFAULT = _constants.CLASS_MODIFIERS.DEFAULT,
30
30
  DESKTOP = _constants.CLASS_MODIFIERS.DESKTOP,
@@ -1 +1 @@
1
- {"version":3,"file":"get-class-modifiers.js","names":["_constants","require","_componentsDefaultValues","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","concat","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","_ref","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-class-modifiers.js","names":["_constants","require","_componentsDefaultValues","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","concat","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","_ref","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":"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"}
@@ -2,12 +2,14 @@ import React, { useState } from 'react';
2
2
  import { AdSlot } from 'react-dfp';
3
3
  import PropTypes from 'prop-types';
4
4
  import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
5
+ import Wrapper from '../Wrapper';
5
6
  const AdSlotRender = ({
6
7
  shouldShowBanner,
7
8
  sizeMapping,
8
9
  sizeId,
9
10
  parsedAdunit,
10
11
  parsedSizes,
12
+ modifiers,
11
13
  targetingArguments
12
14
  }) => {
13
15
  const [{
@@ -23,11 +25,16 @@ const AdSlotRender = ({
23
25
  return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;
24
26
  }).sort();
25
27
  const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
26
- return /*#__PURE__*/React.createElement(React.Fragment, null, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
28
+ const newModifers = `${modifiers} banner-${loadingStatus}`;
29
+ return /*#__PURE__*/React.createElement(Wrapper, {
30
+ className: "banner",
31
+ modifiers: newModifers
32
+ }, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
27
33
  className: className,
28
34
  style: {
29
35
  minHeight
30
- }
36
+ },
37
+ "data-testid": "ad-slot"
31
38
  }, shouldShowBanner && /*#__PURE__*/React.createElement(AdSlot, {
32
39
  adUnit: parsedAdunit,
33
40
  sizes: parsedSizes,
@@ -55,10 +62,12 @@ AdSlotRender.propTypes = {
55
62
  sizeId: PropTypes.string.isRequired,
56
63
  parsedAdunit: PropTypes.string.isRequired,
57
64
  parsedSizes: PropTypes.array,
65
+ modifiers: PropTypes.string,
58
66
  targetingArguments: PropTypes.object.isRequired
59
67
  };
60
68
  AdSlotRender.defaultProps = {
61
- parsedSizes: null
69
+ parsedSizes: null,
70
+ modifiers: ''
62
71
  };
63
72
  export default AdSlotRender;
64
73
  //# sourceMappingURL=AdSlotRender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","createElement","Fragment","join","style","adUnit","onSlotRender","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"sources":["../../../src/components/Banner/AdSlotRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n\n return (\n <>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }}>\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null\n};\n\nexport default AdSlotRender;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,MAAM,QAAQ,WAAW;AAClC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,cAAc,EAAEC,YAAY,EAAEC,aAAa,QAAQ,iBAAiB;AAE7E,MAAMC,YAAY,GAAGA,CAAC;EACpBC,gBAAgB;EAChBC,WAAW;EACXC,MAAM;EACNC,YAAY;EACZC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAM,CAAC;IAAEC,aAAa,GAAGV,cAAc;IAAEW;EAAU,CAAC,EAAEC,gBAAgB,CAAC,GAAGf,QAAQ,CAAC,CAAC,CAAC,CAAC;EAEtF,MAAMgB,WAAW,GAAI,UAASP,MAAO,EAAC;EAEtC,MAAMQ,MAAM,GACVJ,aAAa,KAAKV,cAAc,IAChCK,WAAW,CACRU,GAAG,CAAC,CAAC;IAAEC,KAAK,EAAEC,UAAU;IAAEC,QAAQ,EAAE,CAACC,QAAQ;EAAE,CAAC,KAAK;IACpD,MAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGL,UAAU,CAACF,GAAG,CAAC,CAAC,GAAGQ,MAAM,CAAC,KAAKA,MAAM,CAAC,CAAC;IACzE,OAAQ,oBAAmBJ,QAAS,QAAON,WAAY,eAAcO,aAAc,MAAK;EAC1F,CAAC,CAAC,CACDI,IAAI,CAAC,CAAC;EACX,MAAMC,SAAS,GAAI,mBAAkBf,aAAc,IAAGG,WAAY,EAAC;EAEnE,oBACEjB,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAA+B,QAAA,QACGb,MAAM,iBAAIlB,KAAA,CAAA8B,aAAA,gBAAQZ,MAAM,CAACc,IAAI,CAAC,IAAI,CAAS,CAAC,eAC7ChC,KAAA,CAAA8B,aAAA;IAAKD,SAAS,EAAEA,SAAU;IAACI,KAAK,EAAE;MAAElB;IAAU;EAAE,GAC7CP,gBAAgB,iBACfR,KAAA,CAAA8B,aAAA,CAAC5B,MAAM;IACLgC,MAAM,EAAEvB,YAAa;IACrBS,KAAK,EAAER,WAAY;IACnBC,kBAAkB,EAAEA,kBAAmB;IACvCJ,WAAW,EAAEA,WAAY;IACzB0B,YAAY,EAAEC,QAAQ,IAAI;MACxB,MAAM;QACJC,KAAK,EAAE;UAAEC,OAAO;UAAEC;QAAK;MACzB,CAAC,GAAGH,QAAQ;MACZ,MAAMI,UAAU,GAAGD,IAAI,IAAIA,IAAI,CAACE,MAAM,GAAGF,IAAI,CAAC,CAAC,CAAC,GAAGG,SAAS;MAC5D,MAAMC,gBAAgB,GAAGL,OAAO,GAAGjC,YAAY,GAAGC,aAAa;MAC/DU,gBAAgB,CAAC;QAAEF,aAAa,EAAE6B,gBAAgB;QAAE5B,SAAS,EAAEyB;MAAW,CAAC,CAAC;IAC9E;EAAE,CACH,CAEA,CACL,CAAC;AAEP,CAAC;AAEDjC,YAAY,CAACqC,SAAS,GAAG;EACvBpC,gBAAgB,EAAEL,SAAS,CAAC0C,IAAI,CAACC,UAAU;EAC3CrC,WAAW,EAAEN,SAAS,CAAC4C,KAAK,CAACD,UAAU;EACvCpC,MAAM,EAAEP,SAAS,CAAC6C,MAAM,CAACF,UAAU;EACnCnC,YAAY,EAAER,SAAS,CAAC6C,MAAM,CAACF,UAAU;EACzClC,WAAW,EAAET,SAAS,CAAC4C,KAAK;EAC5BlC,kBAAkB,EAAEV,SAAS,CAAC8C,MAAM,CAACH;AACvC,CAAC;AAEDvC,YAAY,CAAC2C,YAAY,GAAG;EAC1BtC,WAAW,EAAE;AACf,CAAC;AAED,eAAeL,YAAY"}
1
+ {"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","Wrapper","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","modifiers","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","newModifers","createElement","join","style","adUnit","onSlotRender","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"sources":["../../../src/components/Banner/AdSlotRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\nimport Wrapper from '../Wrapper';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n modifiers,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n const newModifers = `${modifiers} banner-${loadingStatus}`;\n return (\n <Wrapper className=\"banner\" modifiers={newModifers}>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }} data-testid=\"ad-slot\">\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </Wrapper>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n modifiers: PropTypes.string,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null,\n modifiers: ''\n};\n\nexport default AdSlotRender;\n"],"mappings":"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"}
@@ -10,7 +10,6 @@ import { useQuery } from '@apollo/client';
10
10
  import { useRouter } from 'next/router';
11
11
  import { buildUserQuery, buildPropsData } from './helpers';
12
12
  import { getSingleEntitySchema, getUser } from '../../application/query';
13
- import Wrapper from '../Wrapper';
14
13
  import BannerRender from './BannerRender';
15
14
  import buildPropsQuery from '../../helpers/build-props-query';
16
15
  import { getClassModifiers } from '../../utils';
@@ -75,17 +74,15 @@ const Banner = _ref => {
75
74
  action
76
75
  } = getEntityRenderProps(queryProps, data, isPreview);
77
76
  const bannerKey = `${sizeId}${asPath}`;
78
- return /*#__PURE__*/React.createElement(Wrapper, {
79
- className: type,
80
- modifiers: modifiers
81
- }, /*#__PURE__*/React.createElement(BannerRender, _extends({
77
+ return /*#__PURE__*/React.createElement(BannerRender, _extends({
82
78
  key: bannerKey
83
79
  }, otherProps, {
84
80
  action: action,
85
81
  actionKey: actionKey,
86
82
  asPath: asPath,
87
- userPropsData: userPropsData
88
- })));
83
+ userPropsData: userPropsData,
84
+ modifiers: modifiers
85
+ }));
89
86
  };
90
87
  Banner.propTypes = {
91
88
  type: PropTypes.string
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","Wrapper","BannerRender","buildPropsQuery","getClassModifiers","getEntityRenderProps","Banner","_ref","type","otherProps","_objectWithoutProperties","_excluded","router","isPreview","id","userId","asPath","parent","entity","sizeId","propsToDisplay","userPropsToDisplay","userQuery","itemEntity","data","error","loading","variables","userData","userLoading","skip","length","message","modifiers","queryProps","map","propertiesToDisplay","userPropsData","actionKey","action","bannerKey","createElement","className","_extends","key","propTypes","string","defaultProps"],"sources":["../../../src/components/Banner/Banner.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport flatten from 'lodash.flatten';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { buildUserQuery, buildPropsData } from './helpers';\nimport { getSingleEntitySchema, getUser } from '../../application/query';\nimport Wrapper from '../Wrapper';\nimport BannerRender from './BannerRender';\nimport buildPropsQuery from '../../helpers/build-props-query';\nimport { getClassModifiers } from '../../utils';\nimport getEntityRenderProps from '../../helpers/get-entity-render-props';\n\nconst Banner = ({ type, ...otherProps }) => {\n const router = useRouter();\n const { isPreview } = useContext(MainContext);\n const { id: userId } = checkIfLoggedIn();\n const { asPath } = router;\n const { parent, entity, sizeId, propsToDisplay = [], userPropsToDisplay = [] } = otherProps;\n const userQuery = buildUserQuery(userPropsToDisplay);\n const { itemEntity } = parent;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity || itemEntity }\n });\n const { data: { getUser: userData } = {}, loading: userLoading } = useQuery(getUser(userQuery), {\n variables: { id: userId },\n skip: !userPropsToDisplay.length || !userId\n });\n\n if (loading || userLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!sizeId) return null;\n\n const modifiers = getClassModifiers('banner', otherProps);\n const queryProps = buildPropsQuery(\n data,\n propsToDisplay.length\n ? flatten(propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay))\n : []\n );\n\n const userPropsData = buildPropsData(userData, userPropsToDisplay);\n const { actionKey, action } = getEntityRenderProps(queryProps, data, isPreview);\n const bannerKey = `${sizeId}${asPath}`;\n\n return (\n <Wrapper className={type} modifiers={modifiers}>\n <BannerRender\n key={bannerKey}\n {...otherProps}\n action={action}\n actionKey={actionKey}\n asPath={asPath}\n userPropsData={userPropsData}\n />\n </Wrapper>\n );\n};\n\nBanner.propTypes = {\n type: PropTypes.string\n};\n\nBanner.defaultProps = {\n type: 'banner'\n};\n\nexport default Banner;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","BannerRender","buildPropsQuery","getClassModifiers","getEntityRenderProps","Banner","_ref","type","otherProps","_objectWithoutProperties","_excluded","router","isPreview","id","userId","asPath","parent","entity","sizeId","propsToDisplay","userPropsToDisplay","userQuery","itemEntity","data","error","loading","variables","userData","userLoading","skip","length","message","modifiers","queryProps","map","propertiesToDisplay","userPropsData","actionKey","action","bannerKey","createElement","_extends","key","propTypes","string","defaultProps"],"sources":["../../../src/components/Banner/Banner.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport flatten from 'lodash.flatten';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { buildUserQuery, buildPropsData } from './helpers';\nimport { getSingleEntitySchema, getUser } from '../../application/query';\nimport BannerRender from './BannerRender';\nimport buildPropsQuery from '../../helpers/build-props-query';\nimport { getClassModifiers } from '../../utils';\nimport getEntityRenderProps from '../../helpers/get-entity-render-props';\n\nconst Banner = ({ type, ...otherProps }) => {\n const router = useRouter();\n const { isPreview } = useContext(MainContext);\n const { id: userId } = checkIfLoggedIn();\n const { asPath } = router;\n const { parent, entity, sizeId, propsToDisplay = [], userPropsToDisplay = [] } = otherProps;\n const userQuery = buildUserQuery(userPropsToDisplay);\n const { itemEntity } = parent;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity || itemEntity }\n });\n const { data: { getUser: userData } = {}, loading: userLoading } = useQuery(getUser(userQuery), {\n variables: { id: userId },\n skip: !userPropsToDisplay.length || !userId\n });\n\n if (loading || userLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!sizeId) return null;\n\n const modifiers = getClassModifiers('banner', otherProps);\n const queryProps = buildPropsQuery(\n data,\n propsToDisplay.length\n ? flatten(propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay))\n : []\n );\n\n const userPropsData = buildPropsData(userData, userPropsToDisplay);\n const { actionKey, action } = getEntityRenderProps(queryProps, data, isPreview);\n const bannerKey = `${sizeId}${asPath}`;\n\n return (\n <BannerRender\n key={bannerKey}\n {...otherProps}\n action={action}\n actionKey={actionKey}\n asPath={asPath}\n userPropsData={userPropsData}\n modifiers={modifiers}\n />\n );\n};\n\nBanner.propTypes = {\n type: PropTypes.string\n};\n\nBanner.defaultProps = {\n type: 'banner'\n};\n\nexport default Banner;\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
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", "renderCounter", "userPropsData"];
4
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData", "modifiers"];
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
+ 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';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useQuery } from '@apollo/client';
@@ -25,7 +25,8 @@ const BannerRender = _ref => {
25
25
  action,
26
26
  actionKey,
27
27
  renderCounter,
28
- userPropsData
28
+ userPropsData,
29
+ modifiers
29
30
  } = _ref,
30
31
  otherProps = _objectWithoutProperties(_ref, _excluded);
31
32
  const {
@@ -88,6 +89,7 @@ const BannerRender = _ref => {
88
89
  sizeId: sizeId,
89
90
  parsedAdunit: parsedAdunit,
90
91
  parsedSizes: parsedSizes,
92
+ modifiers: modifiers,
91
93
  targetingArguments: targetingArguments
92
94
  });
93
95
  };
@@ -104,6 +106,7 @@ BannerRender.propTypes = {
104
106
  targetings: PropTypes.string,
105
107
  sizes: PropTypes.string,
106
108
  renderCounter: PropTypes.number,
109
+ modifiers: PropTypes.string,
107
110
  userPropsData: PropTypes.object
108
111
  };
109
112
  BannerRender.defaultProps = {
@@ -115,6 +118,7 @@ BannerRender.defaultProps = {
115
118
  targetings: '',
116
119
  sizes: '',
117
120
  renderCounter: null,
121
+ modifiers: '',
118
122
  userPropsData: {}
119
123
  };
120
124
  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","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","otherProps","_objectWithoutProperties","_excluded","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","_objectSpread","createElement","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":"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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","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","modifiers","otherProps","_objectWithoutProperties","_excluded","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","_objectSpread","createElement","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 modifiers,\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 modifiers={modifiers}\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 modifiers: PropTypes.string,\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 modifiers: '',\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,GAAGC,IAAA,IAgBf;EAAA,IAhBgB;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,aAAa;MACbC;IAEF,CAAC,GAAAd,IAAA;IADIe,UAAU,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAEb,MAAM;IAAEC;EAAG,CAAC,GAAGH,UAAU;EACzB,MAAM;IAAEI;EAAO,CAAC,GAAGX,MAAM;EAEzB,MAAM;IAAEY,IAAI,EAAEC,gBAAgB,GAAG,CAAC;EAAE,CAAC,GAAGpC,QAAQ,CAACyB,MAAM,EAAE;IACvDY,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,GAAGxC,QAAQ,CACxCC,uBAAuB,CAACS,UAAU,EAAEF,kBAAkB,CAAC,EACvD;IACE6B,SAAS,EAAE;MAAEJ,EAAE,EAAEf;IAAO,CAAC;IACzBqB,IAAI,EAAE,CAACrB;EACT,CACF,CAAC;EAED,MAAM;IAAEiB,IAAI,GAAG,CAAC;EAAE,CAAC,GAAGnC,QAAQ,CAACE,QAAQ,CAACO,yBAAyB,CAAC,EAAE;IAClE4B,SAAS,EAAE;MACTC,KAAK,EAAE;QACLG,QAAQ,EAAER,EAAE,IAAIC,MAAM;QACtBQ,WAAW,EAAE;UACXC,MAAM,EAAG,GAAEhC,SAAU;QACvB;MACF;IACF;EACF,CAAC,CAAC;EAEF,MAAMiC,gBAAgB,GAAGxC,wBAAwB,CAACsB,SAAS,EAAEU,gBAAgB,EAAEhB,cAAc,CAAC;EAC9F,MAAM;IAAEyB;EAAW,CAAC,GAAGL,UAAU;EACjC,MAAM;IAAErB,KAAK,EAAE2B;EAAY,CAAC,GAAGD,UAAU,IAAI,CAAC,CAAC;EAE/C,MAAME,WAAW,GAAGzC,gBAAgB,CAACY,MAAM,EAAE4B,WAAW,CAAC;EACzD,MAAME,WAAW,GAAG7C,gBAAgB,CAACe,MAAM,EAAE4B,WAAW,EAAE3B,KAAK,CAAC;EAEhE,MAAM;IAAE8B;EAAwB,CAAC,GAAGd,IAAI;EAExC,MAAMe,YAAY,GAAG7C,iBAAiB,CAACmB,MAAM,EAAEyB,uBAAuB,EAAEjC,UAAU,EAAEC,MAAM,CAAC;EAC3F,MAAMkC,wBAAwB,GAC5B/B,cAAc,CAACgC,MAAM,IAAIR,gBAAgB,IAAIS,MAAM,CAACC,IAAI,CAACV,gBAAgB,CAAC,CAACQ,MAAM;EACnF,MAAMG,0BAA0B,GAAGJ,wBAAwB,IAAI,CAAC/B,cAAc,CAACgC,MAAM;EACrF,MAAMI,gBAAgB,GACpBN,YAAY,IAAIF,WAAW,IAAI,CAAC,CAACA,WAAW,CAACI,MAAM,IAAIG,0BAA0B;EAEnF,MAAME,gBAAgB,GAAGlD,mBAAmB,CAACe,UAAU,EAAEK,aAAa,CAAC;EAEvE,MAAM+B,kBAAkB,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAQf,gBAAgB,GAAKa,gBAAgB,GAAK7B,aAAa,CAAE;EAEzF,oBACE9B,KAAA,CAAA8D,aAAA,CAAC/C,YAAY;IACX2C,gBAAgB,EAAE,CAAC,CAACA,gBAAiB;IACrCT,WAAW,EAAEA,WAAY;IACzB7B,MAAM,EAAEA,MAAO;IACfgC,YAAY,EAAEA,YAAa;IAC3BF,WAAW,EAAEA,WAAY;IACzBnB,SAAS,EAAEA,SAAU;IACrB6B,kBAAkB,EAAEA;EAAmB,CACxC,CAAC;AAEN,CAAC;AAED5C,YAAY,CAAC+C,SAAS,GAAG;EACvBtC,MAAM,EAAExB,SAAS,CAAC+D,MAAM,CAACC,UAAU;EACnCvC,MAAM,EAAEzB,SAAS,CAACiE,MAAM,CAACD,UAAU;EACnCtC,MAAM,EAAE1B,SAAS,CAAC+D,MAAM,CAACC,UAAU;EACnCrC,SAAS,EAAE3B,SAAS,CAACiE,MAAM,CAACD,UAAU;EACtC9C,MAAM,EAAElB,SAAS,CAACiE,MAAM;EACxBhD,UAAU,EAAEjB,SAAS,CAACiE,MAAM;EAC5B9C,MAAM,EAAEnB,SAAS,CAACiE,MAAM;EACxB5C,cAAc,EAAErB,SAAS,CAACkE,KAAK;EAC/B5C,MAAM,EAAEtB,SAAS,CAACiE,MAAM;EACxB1C,UAAU,EAAEvB,SAAS,CAACiE,MAAM;EAC5B7C,KAAK,EAAEpB,SAAS,CAACiE,MAAM;EACvBrC,aAAa,EAAE5B,SAAS,CAACmE,MAAM;EAC/BrC,SAAS,EAAE9B,SAAS,CAACiE,MAAM;EAC3BpC,aAAa,EAAE7B,SAAS,CAAC+D;AAC3B,CAAC;AAEDhD,YAAY,CAACqD,YAAY,GAAG;EAC1BlD,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;EACnBE,SAAS,EAAE,EAAE;EACbD,aAAa,EAAE,CAAC;AAClB,CAAC;AAED,eAAehB,SAAS,CAACE,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2
+ 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; }
3
+ 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; }
4
4
  import { parseUrl } from 'query-string';
5
5
  import { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';
6
6
  const getParsedSizes = (sizes = '') => {
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ 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; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
5
  import React, { useContext } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { Link, MainContext } from '@blaze-cms/nextjs-components';