@blaze-cms/react-page-builder 0.124.1-alpha.2 → 0.124.1-alpha.3

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 (195) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/BannerContext/index.js.map +1 -1
  3. package/lib/HOC/withInfiniteScroll.js.map +1 -1
  4. package/lib/HOC/withTitle.js.map +1 -1
  5. package/lib/PBContext/index.js.map +1 -1
  6. package/lib/application/query/index.js.map +1 -1
  7. package/lib/components/BackToTop/BackToTop.js.map +1 -1
  8. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  9. package/lib/components/Banner/Banner.js.map +1 -1
  10. package/lib/components/Banner/BannerRender.js.map +1 -1
  11. package/lib/components/Banner/helpers.js.map +1 -1
  12. package/lib/components/Banner/index.js.map +1 -1
  13. package/lib/components/BlazeLink.js.map +1 -1
  14. package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
  15. package/lib/components/Button.js.map +1 -1
  16. package/lib/components/Card/Card.js.map +1 -1
  17. package/lib/components/Card/CardContainer.js.map +1 -1
  18. package/lib/components/Card/CardFactory.js.map +1 -1
  19. package/lib/components/Card/CardRender.js.map +1 -1
  20. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  21. package/lib/components/Card/helpers/filters-setup.js.map +1 -1
  22. package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
  23. package/lib/components/Carousel/Carousel.js.map +1 -1
  24. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  25. package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  26. package/lib/components/CarouselWrapper.js.map +1 -1
  27. package/lib/components/ClickWrapper.js.map +1 -1
  28. package/lib/components/Code/Code.js.map +1 -1
  29. package/lib/components/Code/ScriptTag.js.map +1 -1
  30. package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
  31. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  32. package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
  33. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
  34. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
  35. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -1
  36. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  37. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -1
  38. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
  39. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -1
  40. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
  41. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -1
  42. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
  43. package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  44. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  45. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  46. package/lib/components/DataSummary/helpers/get-data-summary-query.js.map +1 -1
  47. package/lib/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
  48. package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  49. package/lib/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
  50. package/lib/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -1
  51. package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
  52. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  53. package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  54. package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
  55. package/lib/components/Image/Image.js.map +1 -1
  56. package/lib/components/Image/ImageDetails.js.map +1 -1
  57. package/lib/components/Image/ImageFactory.js.map +1 -1
  58. package/lib/components/Image/ImageRender.js.map +1 -1
  59. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  60. package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
  61. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
  62. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  63. package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -1
  64. package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -1
  65. package/lib/components/Layout/Layout.js.map +1 -1
  66. package/lib/components/Layout/helpers/check-if-row-has-columns.js.map +1 -1
  67. package/lib/components/LazyImage/LazyImage.js.map +1 -1
  68. package/lib/components/LazyImage/index.js.map +1 -1
  69. package/lib/components/List/ListBuilder.js.map +1 -1
  70. package/lib/components/List/ListFactory.js.map +1 -1
  71. package/lib/components/List/ListRender.js.map +1 -1
  72. package/lib/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -1
  73. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  74. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  75. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  76. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  77. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  78. package/lib/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -1
  79. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  80. package/lib/components/List/components/Pagination/Classic.js.map +1 -1
  81. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  82. package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
  83. package/lib/components/List/helpers/build-az-aggregations.js.map +1 -1
  84. package/lib/components/List/helpers/build-az-url.js.map +1 -1
  85. package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
  86. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  87. package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -1
  88. package/lib/components/Login/LoggedInMessage.js.map +1 -1
  89. package/lib/components/Login/Login.js.map +1 -1
  90. package/lib/components/Login/LoginForm.js.map +1 -1
  91. package/lib/components/Menu/Menu.js.map +1 -1
  92. package/lib/components/Menu/MenuContext.js.map +1 -1
  93. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  94. package/lib/components/Modal/Modal.js.map +1 -1
  95. package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
  96. package/lib/components/PasswordReset/helpers/validatePassword.js.map +1 -1
  97. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
  98. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  99. package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
  100. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  101. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  102. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  103. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  104. package/lib/components/SearchFilter/SearchFilterContainer.js +9 -3
  105. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  106. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  107. package/lib/components/SearchFilter/components/Range.js +1 -2
  108. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  109. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  110. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  111. package/lib/components/SearchFilter/helpers/build-filters-query.js +24 -6
  112. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  113. package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
  114. package/lib/components/SearchFilter/helpers/calculate-min-max.js.map +1 -1
  115. package/lib/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -1
  116. package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
  117. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
  118. package/lib/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -1
  119. package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
  120. package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
  121. package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
  122. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  123. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  124. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  125. package/lib/components/SocialFollow/SFItem.js.map +1 -1
  126. package/lib/components/SocialFollow/SocialFollow.js.map +1 -1
  127. package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
  128. package/lib/components/SubMenu/SubMenu.js.map +1 -1
  129. package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
  130. package/lib/components/TextBlock/index.js.map +1 -1
  131. package/lib/components/Video/Video.js.map +1 -1
  132. package/lib/components/Video/VideoModal.js.map +1 -1
  133. package/lib/components/Video/VideoRender.js.map +1 -1
  134. package/lib/components/Video/providers/Default.js.map +1 -1
  135. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  136. package/lib/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
  137. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  138. package/lib/components/Video/providers/get-provider.js.map +1 -1
  139. package/lib/components/Wrapper.js.map +1 -1
  140. package/lib/components/index.js.map +1 -1
  141. package/lib/helpers/build-inherited-filters.js.map +1 -1
  142. package/lib/helpers/build-raw-query-base.js.map +1 -1
  143. package/lib/helpers/build-raw-query.js.map +1 -1
  144. package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
  145. package/lib/helpers/check-props-to-use.js.map +1 -1
  146. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  147. package/lib/helpers/get-entity-data.js.map +1 -1
  148. package/lib/helpers/get-entity-render-props.js.map +1 -1
  149. package/lib/helpers/get-filter-props.js.map +1 -1
  150. package/lib/helpers/get-generic-props.js.map +1 -1
  151. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  152. package/lib/helpers/get-image-ids.js.map +1 -1
  153. package/lib/helpers/get-parsed-prop-values.js.map +1 -1
  154. package/lib/helpers/get-prop-values.js.map +1 -1
  155. package/lib/helpers/get-query-filters.js.map +1 -1
  156. package/lib/helpers/get-query-props.js.map +1 -1
  157. package/lib/helpers/get-updated-filter-by.js.map +1 -1
  158. package/lib/helpers/inject-banner.js.map +1 -1
  159. package/lib/helpers/inject-banners-to-entities.js.map +1 -1
  160. package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
  161. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  162. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -1
  163. package/lib/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -1
  164. package/lib/helpers/is-filter-entitys-id.js.map +1 -1
  165. package/lib/helpers/parse-TextBlock.js.map +1 -1
  166. package/lib/helpers/parse-props-to-display.js.map +1 -1
  167. package/lib/helpers/render-children.js.map +1 -1
  168. package/lib/helpers/sort-response-data.js.map +1 -1
  169. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  170. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  171. package/lib/hooks/helpers/getComponent.js.map +1 -1
  172. package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
  173. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  174. package/lib/hooks/helpers/insert-banners.js.map +1 -1
  175. package/lib/hooks/helpers/update-targetings.js.map +1 -1
  176. package/lib/hooks/use-banner-insertion.js.map +1 -1
  177. package/lib/hooks/use-check-mobile-screen.js.map +1 -1
  178. package/lib/hooks/use-get-entity-schema.js.map +1 -1
  179. package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
  180. package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
  181. package/lib/hooks/use-get-images.js.map +1 -1
  182. package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
  183. package/lib/hooks/use-page-builder.js.map +1 -1
  184. package/lib/utils/get-class-modifiers.js.map +1 -1
  185. package/lib/utils/get-image-data.js.map +1 -1
  186. package/lib-es/components/SearchFilter/SearchFilterContainer.js +7 -1
  187. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  188. package/lib-es/components/SearchFilter/components/Range.js +1 -2
  189. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  190. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +25 -6
  191. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  192. package/package.json +2 -2
  193. package/src/components/SearchFilter/SearchFilterContainer.js +7 -1
  194. package/src/components/SearchFilter/components/Range.js +10 -13
  195. package/src/components/SearchFilter/helpers/build-filters-query.js +7 -6
@@ -1 +1 @@
1
- {"version":3,"file":"inject-multiple-banners.js","names":["injectMultipleBanners","entities","banner","transform","entitiesSet","injectedEntities","getBannersForNodes","getBannersForEntities"],"sources":["../../../src/helpers/inject-multiple-banners/inject-multiple-banners.js"],"sourcesContent":["import getBannersForEntities from './get-banners-for-entities';\nimport getBannersForNodes from './get-banners-for-nodes';\n\nexport default function injectMultipleBanners(entities, banner) {\n const { transform } = banner;\n const entitiesSet = [...entities];\n\n const injectedEntities = transform\n ? getBannersForNodes(entitiesSet, banner)\n : getBannersForEntities(entitiesSet, banner);\n\n return injectedEntities;\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEe,SAASA,qBAAT,CAA+BC,QAA/B,EAAyCC,MAAzC,EAAiD;EAC9D,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;EACA,IAAMC,WAAW,uCAAOH,QAAP,CAAjB;EAEA,IAAMI,gBAAgB,GAAGF,SAAS,GAC9B,IAAAG,8BAAA,EAAmBF,WAAnB,EAAgCF,MAAhC,CAD8B,GAE9B,IAAAK,iCAAA,EAAsBH,WAAtB,EAAmCF,MAAnC,CAFJ;EAIA,OAAOG,gBAAP;AACD"}
1
+ {"version":3,"file":"inject-multiple-banners.js","names":["injectMultipleBanners","entities","banner","transform","entitiesSet","injectedEntities"],"sources":["../../../src/helpers/inject-multiple-banners/inject-multiple-banners.js"],"sourcesContent":["import getBannersForEntities from './get-banners-for-entities';\nimport getBannersForNodes from './get-banners-for-nodes';\n\nexport default function injectMultipleBanners(entities, banner) {\n const { transform } = banner;\n const entitiesSet = [...entities];\n\n const injectedEntities = transform\n ? getBannersForNodes(entitiesSet, banner)\n : getBannersForEntities(entitiesSet, banner);\n\n return injectedEntities;\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEe,SAASA,qBAAT,CAA+BC,QAA/B,EAAyCC,MAAzC,EAAiD;EAC9D,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;EACA,IAAMC,WAAW,uCAAOH,QAAP,CAAjB;EAEA,IAAMI,gBAAgB,GAAGF,SAAS,GAC9B,oCAAmBC,WAAnB,EAAgCF,MAAhC,CAD8B,GAE9B,uCAAsBE,WAAtB,EAAmCF,MAAnC,CAFJ;EAIA,OAAOG,gBAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-filter-entitys-id.js","names":["isFilterEntitysId","entityName","itemEntityUpdated","id","upperFirst","ID","includes"],"sources":["../../src/helpers/is-filter-entitys-id.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport { ID } from '../constants';\n\nconst isFilterEntitysId = (entityName, itemEntityUpdated) => {\n const id = upperFirst(ID);\n return [\n `${itemEntityUpdated}${id}`,\n `${itemEntityUpdated}s${id}`,\n `${itemEntityUpdated}${id}s`,\n `${itemEntityUpdated}s${id}s`\n ].includes(entityName);\n};\n\nexport default isFilterEntitysId;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,UAAD,EAAaC,iBAAb,EAAmC;EAC3D,IAAMC,EAAE,GAAG,IAAAC,kBAAA,EAAWC,aAAX,CAAX;EACA,OAAO,WACFH,iBADE,SACkBC,EADlB,aAEFD,iBAFE,cAEmBC,EAFnB,aAGFD,iBAHE,SAGkBC,EAHlB,kBAIFD,iBAJE,cAImBC,EAJnB,QAKLG,QALK,CAKIL,UALJ,CAAP;AAMD,CARD;;eAUeD,iB"}
1
+ {"version":3,"file":"is-filter-entitys-id.js","names":["isFilterEntitysId","entityName","itemEntityUpdated","id","ID","includes"],"sources":["../../src/helpers/is-filter-entitys-id.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport { ID } from '../constants';\n\nconst isFilterEntitysId = (entityName, itemEntityUpdated) => {\n const id = upperFirst(ID);\n return [\n `${itemEntityUpdated}${id}`,\n `${itemEntityUpdated}s${id}`,\n `${itemEntityUpdated}${id}s`,\n `${itemEntityUpdated}s${id}s`\n ].includes(entityName);\n};\n\nexport default isFilterEntitysId;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,UAAD,EAAaC,iBAAb,EAAmC;EAC3D,IAAMC,EAAE,GAAG,wBAAWC,aAAX,CAAX;EACA,OAAO,WACFF,iBADE,SACkBC,EADlB,aAEFD,iBAFE,cAEmBC,EAFnB,aAGFD,iBAHE,SAGkBC,EAHlB,kBAIFD,iBAJE,cAImBC,EAJnB,QAKLE,QALK,CAKIJ,UALJ,CAAP;AAMD,CARD;;eAUeD,iB"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-TextBlock.js","names":["parseTextBlock","config","html","LinkWrapper","useTargetBlank","options","replace","domNode","attribs","children","tagName","name","ANCHOR_TAG","target","TARGET_BLANK","domToReact","parseHTML"],"sources":["../../src/helpers/parse-TextBlock.js"],"sourcesContent":["import parseHTML, { domToReact } from 'html-react-parser';\nimport React from 'react';\nimport { ANCHOR_TAG, TARGET_BLANK } from '../constants';\n\nfunction parseTextBlock(config) {\n const { html, LinkWrapper, useTargetBlank } = config;\n\n const options = {\n replace: domNode => {\n const { attribs, children, name: tagName } = domNode;\n if (tagName === ANCHOR_TAG) {\n const target = useTargetBlank ? TARGET_BLANK : attribs.target;\n\n return LinkWrapper ? (\n <LinkWrapper {...attribs} target={target}>\n {domToReact(children, options)}\n </LinkWrapper>\n ) : (\n domNode\n );\n }\n return null;\n }\n };\n\n return parseHTML(html, options);\n}\n\nexport default parseTextBlock;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,SAASA,cAAT,CAAwBC,MAAxB,EAAgC;EAC9B,IAAQC,IAAR,GAA8CD,MAA9C,CAAQC,IAAR;EAAA,IAAcC,WAAd,GAA8CF,MAA9C,CAAcE,WAAd;EAAA,IAA2BC,cAA3B,GAA8CH,MAA9C,CAA2BG,cAA3B;EAEA,IAAMC,OAAO,GAAG;IACdC,OAAO,EAAE,iBAAAC,OAAO,EAAI;MAClB,IAAQC,OAAR,GAA6CD,OAA7C,CAAQC,OAAR;MAAA,IAAiBC,QAAjB,GAA6CF,OAA7C,CAAiBE,QAAjB;MAAA,IAAiCC,OAAjC,GAA6CH,OAA7C,CAA2BI,IAA3B;;MACA,IAAID,OAAO,KAAKE,qBAAhB,EAA4B;QAC1B,IAAMC,MAAM,GAAGT,cAAc,GAAGU,uBAAH,GAAkBN,OAAO,CAACK,MAAvD;QAEA,OAAOV,WAAW,gBAChB,gCAAC,WAAD,gCAAiBK,OAAjB;UAA0B,MAAM,EAAEK;QAAlC,IACG,IAAAE,2BAAA,EAAWN,QAAX,EAAqBJ,OAArB,CADH,CADgB,GAKhBE,OALF;MAOD;;MACD,OAAO,IAAP;IACD;EAfa,CAAhB;EAkBA,OAAO,IAAAS,2BAAA,EAAUd,IAAV,EAAgBG,OAAhB,CAAP;AACD;;eAEcL,c"}
1
+ {"version":3,"file":"parse-TextBlock.js","names":["parseTextBlock","config","html","LinkWrapper","useTargetBlank","options","replace","domNode","attribs","children","tagName","name","ANCHOR_TAG","target","TARGET_BLANK"],"sources":["../../src/helpers/parse-TextBlock.js"],"sourcesContent":["import parseHTML, { domToReact } from 'html-react-parser';\nimport React from 'react';\nimport { ANCHOR_TAG, TARGET_BLANK } from '../constants';\n\nfunction parseTextBlock(config) {\n const { html, LinkWrapper, useTargetBlank } = config;\n\n const options = {\n replace: domNode => {\n const { attribs, children, name: tagName } = domNode;\n if (tagName === ANCHOR_TAG) {\n const target = useTargetBlank ? TARGET_BLANK : attribs.target;\n\n return LinkWrapper ? (\n <LinkWrapper {...attribs} target={target}>\n {domToReact(children, options)}\n </LinkWrapper>\n ) : (\n domNode\n );\n }\n return null;\n }\n };\n\n return parseHTML(html, options);\n}\n\nexport default parseTextBlock;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,SAASA,cAAT,CAAwBC,MAAxB,EAAgC;EAC9B,IAAQC,IAAR,GAA8CD,MAA9C,CAAQC,IAAR;EAAA,IAAcC,WAAd,GAA8CF,MAA9C,CAAcE,WAAd;EAAA,IAA2BC,cAA3B,GAA8CH,MAA9C,CAA2BG,cAA3B;EAEA,IAAMC,OAAO,GAAG;IACdC,OAAO,EAAE,iBAAAC,OAAO,EAAI;MAClB,IAAQC,OAAR,GAA6CD,OAA7C,CAAQC,OAAR;MAAA,IAAiBC,QAAjB,GAA6CF,OAA7C,CAAiBE,QAAjB;MAAA,IAAiCC,OAAjC,GAA6CH,OAA7C,CAA2BI,IAA3B;;MACA,IAAID,OAAO,KAAKE,qBAAhB,EAA4B;QAC1B,IAAMC,MAAM,GAAGT,cAAc,GAAGU,uBAAH,GAAkBN,OAAO,CAACK,MAAvD;QAEA,OAAOV,WAAW,gBAChB,gCAAC,WAAD,gCAAiBK,OAAjB;UAA0B,MAAM,EAAEK;QAAlC,IACG,iCAAWJ,QAAX,EAAqBJ,OAArB,CADH,CADgB,GAKhBE,OALF;MAOD;;MACD,OAAO,IAAP;IACD;EAfa,CAAhB;EAkBA,OAAO,iCAAUL,IAAV,EAAgBG,OAAhB,CAAP;AACD;;eAEcL,c"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","isObject","at","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","getParsedPropValues","sanitizedPropValues","getSanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAqC;EAAA,IAApCC,KAAoC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC/D,IAAI,CAAC,IAAAC,oBAAA,EAASD,cAAc,CAAC,CAAD,CAAvB,CAAL,EAAkC,OAAO,IAAAE,kBAAA,EAAGH,KAAH,EAAUC,cAAV,EAA0BG,MAA1B,CAAiCC,OAAjC,CAAP;EAElC,OAAOJ,cAAc,CAACK,GAAf,CACL,gBAAyEC,YAAzE,EAA0F;IAAA,IAAvFC,IAAuF,QAAvFA,IAAuF;IAAA,IAAjFC,mBAAiF,QAAjFA,mBAAiF;IAAA,IAA5DC,MAA4D,QAA5DA,MAA4D;IAAA,IAApDC,MAAoD,QAApDA,MAAoD;IAAA,IAA5CC,WAA4C,QAA5CA,WAA4C;IAAA,IAA/BC,UAA+B,QAA/BA,UAA+B;IACxF,IAAMC,OAAO,GAAGN,IAAI,GAAGO,mBAAH,GAAcC,eAAlC;IAEA,IAAMC,gBAAgB,GAAG,IAAAC,+BAAA,EAAoB;MAC3CT,mBAAmB,EAAnBA,mBAD2C;MAE3CT,KAAK,EAALA,KAF2C;MAG3Ca,UAAU,EAAVA,UAH2C;MAI3CD,WAAW,EAAXA;IAJ2C,CAApB,CAAzB;IAOA,IAAMO,mBAAmB,GAAG,IAAAC,kCAAA,EAAuBH,gBAAvB,CAA5B;IACA,IAAI,CAACE,mBAAD,IAAwB,CAACA,mBAAmB,CAACE,MAAjD,EAAyD,OAAO,IAAP;IACzD,IAAMC,cAAc,GAClBf,YAAY,GAAG,CAAf,KAAqBN,cAAc,CAACoB,MAApC,GAA6C,EAA7C,GAAkDE,qCADpD;IAGA,oBACE,gCAAC,OAAD,QACGb,MADH,OACYS,mBADZ,OACkCR,MADlC,EAEGW,cAFH,CADF;EAMD,CAtBI,CAAP;AAwBD,CA3BD;;eA6BevB,mB"}
1
+ {"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","sanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAqC;EAAA,IAApCC,KAAoC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC/D,IAAI,CAAC,0BAASA,cAAc,CAAC,CAAD,CAAvB,CAAL,EAAkC,OAAO,wBAAGD,KAAH,EAAUC,cAAV,EAA0BC,MAA1B,CAAiCC,OAAjC,CAAP;EAElC,OAAOF,cAAc,CAACG,GAAf,CACL,gBAAyEC,YAAzE,EAA0F;IAAA,IAAvFC,IAAuF,QAAvFA,IAAuF;IAAA,IAAjFC,mBAAiF,QAAjFA,mBAAiF;IAAA,IAA5DC,MAA4D,QAA5DA,MAA4D;IAAA,IAApDC,MAAoD,QAApDA,MAAoD;IAAA,IAA5CC,WAA4C,QAA5CA,WAA4C;IAAA,IAA/BC,UAA+B,QAA/BA,UAA+B;IACxF,IAAMC,OAAO,GAAGN,IAAI,GAAGO,mBAAH,GAAcC,eAAlC;IAEA,IAAMC,gBAAgB,GAAG,qCAAoB;MAC3CR,mBAAmB,EAAnBA,mBAD2C;MAE3CP,KAAK,EAALA,KAF2C;MAG3CW,UAAU,EAAVA,UAH2C;MAI3CD,WAAW,EAAXA;IAJ2C,CAApB,CAAzB;IAOA,IAAMM,mBAAmB,GAAG,wCAAuBD,gBAAvB,CAA5B;IACA,IAAI,CAACC,mBAAD,IAAwB,CAACA,mBAAmB,CAACC,MAAjD,EAAyD,OAAO,IAAP;IACzD,IAAMC,cAAc,GAClBb,YAAY,GAAG,CAAf,KAAqBJ,cAAc,CAACgB,MAApC,GAA6C,EAA7C,GAAkDE,qCADpD;IAGA,oBACE,gCAAC,OAAD,QACGX,MADH,OACYQ,mBADZ,OACkCP,MADlC,EAEGS,cAFH,CADF;EAMD,CAtBI,CAAP;AAwBD,CA3BD;;eA6BenB,mB"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-children.js","names":["buildChildProps","childProps","parentProps","propsToOverride","CHILD_PROPS_TO_USE","forEach","prop","renderChildren","children","otherProps","React","Children","map","child","childrenElements","props","Array","isArray","length","nestedChildren","nestedChild","cloneElement"],"sources":["../../src/helpers/render-children.js"],"sourcesContent":["import React from 'react';\nimport { CHILD_PROPS_TO_USE } from '../constants';\n\nconst buildChildProps = (childProps, parentProps) => {\n const propsToOverride = {};\n CHILD_PROPS_TO_USE.forEach(prop => (propsToOverride[prop] = childProps[prop]));\n return { ...parentProps, ...propsToOverride };\n};\n\nconst renderChildren = (children, otherProps = {}) =>\n React.Children.map(children, child => {\n const childrenElements = child.props.children;\n if (Array.isArray(childrenElements) && childrenElements.length) {\n const [, nestedChildren] = child.props.children;\n return (\n Array.isArray(nestedChildren) &&\n nestedChildren.map(nestedChild => renderChildren(nestedChild, otherProps))\n );\n }\n const childProps = buildChildProps(child.props, otherProps);\n return React.cloneElement(child, { ...childProps });\n });\n\nexport default renderChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,WAAb,EAA6B;EACnD,IAAMC,eAAe,GAAG,EAAxB;;EACAC,6BAAA,CAAmBC,OAAnB,CAA2B,UAAAC,IAAI;IAAA,OAAKH,eAAe,CAACG,IAAD,CAAf,GAAwBL,UAAU,CAACK,IAAD,CAAvC;EAAA,CAA/B;;EACA,uCAAYJ,WAAZ,GAA4BC,eAA5B;AACD,CAJD;;AAMA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,QAAD;EAAA,IAAWC,UAAX,uEAAwB,EAAxB;EAAA,OACrBC,iBAAA,CAAMC,QAAN,CAAeC,GAAf,CAAmBJ,QAAnB,EAA6B,UAAAK,KAAK,EAAI;IACpC,IAAMC,gBAAgB,GAAGD,KAAK,CAACE,KAAN,CAAYP,QAArC;;IACA,IAAIQ,KAAK,CAACC,OAAN,CAAcH,gBAAd,KAAmCA,gBAAgB,CAACI,MAAxD,EAAgE;MAC9D,4DAA2BL,KAAK,CAACE,KAAN,CAAYP,QAAvC;MAAA,IAASW,cAAT;;MACA,OACEH,KAAK,CAACC,OAAN,CAAcE,cAAd,KACAA,cAAc,CAACP,GAAf,CAAmB,UAAAQ,WAAW;QAAA,OAAIb,cAAc,CAACa,WAAD,EAAcX,UAAd,CAAlB;MAAA,CAA9B,CAFF;IAID;;IACD,IAAMR,UAAU,GAAGD,eAAe,CAACa,KAAK,CAACE,KAAP,EAAcN,UAAd,CAAlC;IACA,oBAAOC,iBAAA,CAAMW,YAAN,CAAmBR,KAAnB,oBAA+BZ,UAA/B,EAAP;EACD,CAXD,CADqB;AAAA,CAAvB;;eAceM,c"}
1
+ {"version":3,"file":"render-children.js","names":["buildChildProps","childProps","parentProps","propsToOverride","CHILD_PROPS_TO_USE","forEach","prop","renderChildren","children","otherProps","React","Children","map","child","childrenElements","props","Array","isArray","length","nestedChildren","nestedChild","cloneElement"],"sources":["../../src/helpers/render-children.js"],"sourcesContent":["import React from 'react';\nimport { CHILD_PROPS_TO_USE } from '../constants';\n\nconst buildChildProps = (childProps, parentProps) => {\n const propsToOverride = {};\n CHILD_PROPS_TO_USE.forEach(prop => (propsToOverride[prop] = childProps[prop]));\n return { ...parentProps, ...propsToOverride };\n};\n\nconst renderChildren = (children, otherProps = {}) =>\n React.Children.map(children, child => {\n const childrenElements = child.props.children;\n if (Array.isArray(childrenElements) && childrenElements.length) {\n const [, nestedChildren] = child.props.children;\n return (\n Array.isArray(nestedChildren) &&\n nestedChildren.map(nestedChild => renderChildren(nestedChild, otherProps))\n );\n }\n const childProps = buildChildProps(child.props, otherProps);\n return React.cloneElement(child, { ...childProps });\n });\n\nexport default renderChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,WAAb,EAA6B;EACnD,IAAMC,eAAe,GAAG,EAAxB;;EACAC,8BAAmBC,OAAnB,CAA2B,UAAAC,IAAI;IAAA,OAAKH,eAAe,CAACG,IAAD,CAAf,GAAwBL,UAAU,CAACK,IAAD,CAAvC;EAAA,CAA/B;;EACA,uCAAYJ,WAAZ,GAA4BC,eAA5B;AACD,CAJD;;AAMA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,QAAD;EAAA,IAAWC,UAAX,uEAAwB,EAAxB;EAAA,OACrBC,kBAAMC,QAAN,CAAeC,GAAf,CAAmBJ,QAAnB,EAA6B,UAAAK,KAAK,EAAI;IACpC,IAAMC,gBAAgB,GAAGD,KAAK,CAACE,KAAN,CAAYP,QAArC;;IACA,IAAIQ,KAAK,CAACC,OAAN,CAAcH,gBAAd,KAAmCA,gBAAgB,CAACI,MAAxD,EAAgE;MAC9D,4DAA2BL,KAAK,CAACE,KAAN,CAAYP,QAAvC;MAAA,IAASW,cAAT;;MACA,OACEH,KAAK,CAACC,OAAN,CAAcE,cAAd,KACAA,cAAc,CAACP,GAAf,CAAmB,UAAAQ,WAAW;QAAA,OAAIb,cAAc,CAACa,WAAD,EAAcX,UAAd,CAAlB;MAAA,CAA9B,CAFF;IAID;;IACD,IAAMR,UAAU,GAAGD,eAAe,CAACa,KAAK,CAACE,KAAP,EAAcN,UAAd,CAAlC;IACA,oBAAOC,kBAAMW,YAAN,CAAmBR,KAAnB,oBAA+BZ,UAA/B,EAAP;EACD,CAXD,CADqB;AAAA,CAAvB;;eAceM,c"}
@@ -1 +1 @@
1
- {"version":3,"file":"sort-response-data.js","names":["sortResponseData","data","itemsToDisplay","idsToDisplay","getItemsToDisplayIds","length","map","id","find","resultId","filter","Boolean"],"sources":["../../src/helpers/sort-response-data.js"],"sourcesContent":["import getItemsToDisplayIds from './get-items-to-display-ids';\n\nconst sortResponseData = (data = [], itemsToDisplay = []) => {\n const idsToDisplay = getItemsToDisplayIds(itemsToDisplay);\n if (!idsToDisplay.length) return data;\n return idsToDisplay.map(id => data.find(({ id: resultId }) => id === resultId)).filter(Boolean);\n};\n\nexport default sortResponseData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAoC;EAAA,IAAnCC,IAAmC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC3D,IAAMC,YAAY,GAAG,IAAAC,gCAAA,EAAqBF,cAArB,CAArB;EACA,IAAI,CAACC,YAAY,CAACE,MAAlB,EAA0B,OAAOJ,IAAP;EAC1B,OAAOE,YAAY,CAACG,GAAb,CAAiB,UAAAC,EAAE;IAAA,OAAIN,IAAI,CAACO,IAAL,CAAU;MAAA,IAAOC,QAAP,QAAGF,EAAH;MAAA,OAAsBA,EAAE,KAAKE,QAA7B;IAAA,CAAV,CAAJ;EAAA,CAAnB,EAAyEC,MAAzE,CAAgFC,OAAhF,CAAP;AACD,CAJD;;eAMeX,gB"}
1
+ {"version":3,"file":"sort-response-data.js","names":["sortResponseData","data","itemsToDisplay","idsToDisplay","length","map","id","find","resultId","filter","Boolean"],"sources":["../../src/helpers/sort-response-data.js"],"sourcesContent":["import getItemsToDisplayIds from './get-items-to-display-ids';\n\nconst sortResponseData = (data = [], itemsToDisplay = []) => {\n const idsToDisplay = getItemsToDisplayIds(itemsToDisplay);\n if (!idsToDisplay.length) return data;\n return idsToDisplay.map(id => data.find(({ id: resultId }) => id === resultId)).filter(Boolean);\n};\n\nexport default sortResponseData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAoC;EAAA,IAAnCC,IAAmC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC3D,IAAMC,YAAY,GAAG,sCAAqBD,cAArB,CAArB;EACA,IAAI,CAACC,YAAY,CAACC,MAAlB,EAA0B,OAAOH,IAAP;EAC1B,OAAOE,YAAY,CAACE,GAAb,CAAiB,UAAAC,EAAE;IAAA,OAAIL,IAAI,CAACM,IAAL,CAAU;MAAA,IAAOC,QAAP,QAAGF,EAAH;MAAA,OAAsBA,EAAE,KAAKE,QAA7B;IAAA,CAAV,CAAJ;EAAA,CAAnB,EAAyEC,MAAzE,CAAgFC,OAAhF,CAAP;AACD,CAJD;;eAMeV,gB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderComponent.js","names":["RenderComponent","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <Component\n key={id}\n type={type}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OASlB;EAAA,IARJC,SAQI,QARJA,SAQI;EAAA,IAPJC,UAOI,QAPJA,UAOI;EAAA,IANJC,eAMI,QANJA,eAMI;EAAA,wBALJC,OAKI;EAAA,IALJA,OAKI,6BALM,EAKN;EAAA,IAJJC,gBAII,QAJJA,gBAII;EAAA,IAHJC,mBAGI,QAHJA,mBAGI;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADDC,qBACC;EACJ,IAAQC,IAAR,GAAqCR,SAArC,CAAQQ,IAAR;EAAA,IAAcC,QAAd,GAAqCT,SAArC,CAAcS,QAAd;EAAA,IAAwBC,EAAxB,GAAqCV,SAArC,CAAwBU,EAAxB;EAAA,IAA4BC,IAA5B,GAAqCX,SAArC,CAA4BW,IAA5B;EACA,IAAMC,SAAS,GAAG,IAAAC,wBAAA,EAAaL,IAAb,CAAlB;EACA,IAAMM,OAAO,GAAG,CAACC,wBAAD,EAAgBC,yBAAhB,EAAgCC,4BAAhC,EAAmDC,2BAAnD,EAAqEC,QAArE,CACdX,IADc,CAAhB;EAGA,IAAMY,YAAY,GAAGN,OAAO,GAAGb,UAAH,GAAgB,EAA5C;EACA,IAAI,CAACW,SAAL,EAAgB,OAAO,IAAP;EAChB,IAAMS,eAAe,GAAG,IAAAC,8BAAA,EAAmBb,QAAnB,EAA6BP,eAA7B,CAAxB;EAEA,oBACE,gCAAC,SAAD;IACE,GAAG,EAAEQ,EADP;IAEE,IAAI,EAAEF;EAFR,GAGML,OAHN,EAIMiB,YAJN,EAKMb,qBALN,EAMMc,eANN;IAOE,IAAI,EAAEV,IAAI,IAAIF,QAAQ,CAACE;EAPzB,IAQGN,mBAAmB,gBAClB,gCAAC,oCAAD;IAAuB,QAAQ,EAAEC,QAAjC;IAA2C,OAAO,EAAEF,gBAApD;IAAsE,SAAS,EAAED;EAAjF,GACGD,eADH,CADkB,GAKlBA,eAbJ,CADF;AAkBD,CArCD;;AAuCAH,eAAe,CAACwB,SAAhB,GAA4B;EAC1BvB,SAAS,EAAEwB,qBAAA,CAAUC,KAAV,CAAgB;IACzBjB,IAAI,EAAEgB,qBAAA,CAAUE,MADS;IAEzBhB,EAAE,EAAEc,qBAAA,CAAUE,MAFW;IAGzBf,IAAI,EAAEa,qBAAA,CAAUE,MAHS;IAIzBjB,QAAQ,EAAEe,qBAAA,CAAUG,MAJK;IAKzBC,KAAK,EAAEJ,qBAAA,CAAUK;EALQ,CAAhB,EAMRC,UAPuB;EAQ1B7B,UAAU,EAAEuB,qBAAA,CAAUG,MAAV,CAAiBG,UARH;EAS1B3B,OAAO,EAAEqB,qBAAA,CAAUG,MAAV,CAAiBG,UATA;EAU1B5B,eAAe,EAAEsB,qBAAA,CAAUO,IAAV,CAAeD,UAVN;EAW1B1B,gBAAgB,EAAEoB,qBAAA,CAAUK,KAXF;EAY1BxB,mBAAmB,EAAEmB,qBAAA,CAAUQ,IAZL;EAa1B1B,QAAQ,EAAEkB,qBAAA,CAAUK;AAbM,CAA5B;AAgBA9B,eAAe,CAACkC,YAAhB,GAA+B;EAAE7B,gBAAgB,EAAE,IAApB;EAA0BC,mBAAmB,EAAE,KAA/C;EAAsDC,QAAQ,EAAE;AAAhE,CAA/B;eAEeP,e"}
1
+ {"version":3,"file":"RenderComponent.js","names":["RenderComponent","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","type","settings","id","name","Component","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <Component\n key={id}\n type={type}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OASlB;EAAA,IARJC,SAQI,QARJA,SAQI;EAAA,IAPJC,UAOI,QAPJA,UAOI;EAAA,IANJC,eAMI,QANJA,eAMI;EAAA,wBALJC,OAKI;EAAA,IALJA,OAKI,6BALM,EAKN;EAAA,IAJJC,gBAII,QAJJA,gBAII;EAAA,IAHJC,mBAGI,QAHJA,mBAGI;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADDC,qBACC;EACJ,IAAQC,IAAR,GAAqCR,SAArC,CAAQQ,IAAR;EAAA,IAAcC,QAAd,GAAqCT,SAArC,CAAcS,QAAd;EAAA,IAAwBC,EAAxB,GAAqCV,SAArC,CAAwBU,EAAxB;EAAA,IAA4BC,IAA5B,GAAqCX,SAArC,CAA4BW,IAA5B;EACA,IAAMC,SAAS,GAAG,8BAAaJ,IAAb,CAAlB;EACA,IAAMK,OAAO,GAAG,CAACC,wBAAD,EAAgBC,yBAAhB,EAAgCC,4BAAhC,EAAmDC,2BAAnD,EAAqEC,QAArE,CACdV,IADc,CAAhB;EAGA,IAAMW,YAAY,GAAGN,OAAO,GAAGZ,UAAH,GAAgB,EAA5C;EACA,IAAI,CAACW,SAAL,EAAgB,OAAO,IAAP;EAChB,IAAMQ,eAAe,GAAG,oCAAmBX,QAAnB,EAA6BP,eAA7B,CAAxB;EAEA,oBACE,gCAAC,SAAD;IACE,GAAG,EAAEQ,EADP;IAEE,IAAI,EAAEF;EAFR,GAGML,OAHN,EAIMgB,YAJN,EAKMZ,qBALN,EAMMa,eANN;IAOE,IAAI,EAAET,IAAI,IAAIF,QAAQ,CAACE;EAPzB,IAQGN,mBAAmB,gBAClB,gCAAC,oCAAD;IAAuB,QAAQ,EAAEC,QAAjC;IAA2C,OAAO,EAAEF,gBAApD;IAAsE,SAAS,EAAED;EAAjF,GACGD,eADH,CADkB,GAKlBA,eAbJ,CADF;AAkBD,CArCD;;AAuCAH,eAAe,CAACsB,SAAhB,GAA4B;EAC1BrB,SAAS,EAAEsB,sBAAUC,KAAV,CAAgB;IACzBf,IAAI,EAAEc,sBAAUE,MADS;IAEzBd,EAAE,EAAEY,sBAAUE,MAFW;IAGzBb,IAAI,EAAEW,sBAAUE,MAHS;IAIzBf,QAAQ,EAAEa,sBAAUG,MAJK;IAKzBC,KAAK,EAAEJ,sBAAUK;EALQ,CAAhB,EAMRC,UAPuB;EAQ1B3B,UAAU,EAAEqB,sBAAUG,MAAV,CAAiBG,UARH;EAS1BzB,OAAO,EAAEmB,sBAAUG,MAAV,CAAiBG,UATA;EAU1B1B,eAAe,EAAEoB,sBAAUO,IAAV,CAAeD,UAVN;EAW1BxB,gBAAgB,EAAEkB,sBAAUK,KAXF;EAY1BtB,mBAAmB,EAAEiB,sBAAUQ,IAZL;EAa1BxB,QAAQ,EAAEgB,sBAAUK;AAbM,CAA5B;AAgBA5B,eAAe,CAACgC,YAAhB,GAA+B;EAAE3B,gBAAgB,EAAE,IAApB;EAA0BC,mBAAmB,EAAE,KAA/C;EAAsDC,QAAQ,EAAE;AAAhE,CAA/B;eAEeP,e"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","getBannersByType","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","filter","settings","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":"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"}
1
+ {"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","filter","settings","insertionType","bannerToInject","bannerIndex","hasComponentItems","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getComponent.js","names":["getComponent","candidate","componentMap","get"],"sources":["../../../src/hooks/helpers/getComponent.js"],"sourcesContent":["import { componentMap } from '../../utils';\n\nexport default function getComponent(candidate) {\n return componentMap.get(candidate) || null;\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEe,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;EAC9C,OAAOC,mBAAA,CAAaC,GAAb,CAAiBF,SAAjB,KAA+B,IAAtC;AACD"}
1
+ {"version":3,"file":"getComponent.js","names":["getComponent","candidate","componentMap","get"],"sources":["../../../src/hooks/helpers/getComponent.js"],"sourcesContent":["import { componentMap } from '../../utils';\n\nexport default function getComponent(candidate) {\n return componentMap.get(candidate) || null;\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEe,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;EAC9C,OAAOC,oBAAaC,GAAb,CAAiBF,SAAjB,KAA+B,IAAtC;AACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"inject-element-banners.js","names":["checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","forEach","component","i","type","previousComponentType","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","push","hasReachedMax","bannerWithTargetings","updateTargetings","updatedSettings"],"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,WAAD,EAAcC,WAAd,EAA8B;EACzD,IAAIA,WAAW,KAAKC,gBAApB,EAA2B,OAAO,IAAP;EAC3B,OAAOF,WAAW,KAAKE,gBAAvB;AACD,CAHD;;AAKA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,MAAD,EAASC,QAAT,EAAsB;EACjD,uBAEID,MAFJ,CACEE,QADF;EAAA,IACcC,WADd,oBACcA,WADd;EAAA,IAC2BC,aAD3B,oBAC2BA,aAD3B;EAAA,IAC0CC,cAD1C,oBAC0CA,cAD1C;EAIA,IAAMC,eAAe,GAAG,EAAxB;EACA,IAAIC,WAAW,GAAG,CAAlB;EACA,IAAIC,qBAAqB,GAAGJ,aAA5B;EAEAH,QAAQ,CAACQ,OAAT,CAAiB,UAACC,SAAD,EAAYC,CAAZ,EAAkB;IACjC,IAAQC,IAAR,GAAiBF,SAAjB,CAAQE,IAAR;;IACA,WAAwCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAA3D;IAAA,IAAcE,qBAAd,QAAQD,IAAR;;IACA,YAAoCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAAvD;IAAA,IAAcG,iBAAd,SAAQF,IAAR;;IACA,IAAMG,QAAQ,GAAGH,IAAI,KAAKI,0BAA1B;IACA,IAAMC,cAAc,GAAGtB,oBAAoB,CAACkB,qBAAD,EAAwBD,IAAxB,CAA3C;IACA,IAAMM,aAAa,GAAGvB,oBAAoB,CAACmB,iBAAD,EAAoBF,IAApB,CAA1C;;IAEA,IAAIK,cAAc,IAAKN,CAAC,KAAK,CAAN,IAAWO,aAAlC,EAAkD;MAChD,IAAIV,qBAAqB,IAAIG,CAA7B,EAAgCH,qBAAqB,IAAI,CAAzB;MAChC,IAAI,CAACO,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;MACf;IACD;;IAED,IAAMU,aAAa,GAAGf,cAAc,IAAIE,WAAW,IAAIF,cAAvD;;IACA,IAAI,CAACe,aAAD,IAAkBT,CAAC,KAAKH,qBAA5B,EAAmD;MACjD,IAAMa,oBAAoB,GAAGlB,WAAW,GAAG,IAAAmB,4BAAA,EAAiBtB,MAAjB,EAAyBO,WAAzB,CAAH,GAA2CP,MAAnF;;MACA,IAAMuB,eAAe,qBAAQF,oBAAoB,CAACnB,QAA7B,CAArB;;MACAI,eAAe,CAACa,IAAhB,iCAA0BE,oBAA1B;QAAgDnB,QAAQ,EAAEqB;MAA1D;MACAhB,WAAW,IAAI,CAAf;MACAC,qBAAqB,IAAIL,WAAzB;IACD;;IACD,IAAI,CAACY,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;EAChB,CAvBD;EAyBA,OAAOJ,eAAP;AACD,CAnCD;;eAqCeP,oB"}
1
+ {"version":3,"file":"inject-element-banners.js","names":["checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","forEach","component","i","type","previousComponentType","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","push","hasReachedMax","bannerWithTargetings","updatedSettings"],"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,WAAD,EAAcC,WAAd,EAA8B;EACzD,IAAIA,WAAW,KAAKC,gBAApB,EAA2B,OAAO,IAAP;EAC3B,OAAOF,WAAW,KAAKE,gBAAvB;AACD,CAHD;;AAKA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,MAAD,EAASC,QAAT,EAAsB;EACjD,uBAEID,MAFJ,CACEE,QADF;EAAA,IACcC,WADd,oBACcA,WADd;EAAA,IAC2BC,aAD3B,oBAC2BA,aAD3B;EAAA,IAC0CC,cAD1C,oBAC0CA,cAD1C;EAIA,IAAMC,eAAe,GAAG,EAAxB;EACA,IAAIC,WAAW,GAAG,CAAlB;EACA,IAAIC,qBAAqB,GAAGJ,aAA5B;EAEAH,QAAQ,CAACQ,OAAT,CAAiB,UAACC,SAAD,EAAYC,CAAZ,EAAkB;IACjC,IAAQC,IAAR,GAAiBF,SAAjB,CAAQE,IAAR;;IACA,WAAwCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAA3D;IAAA,IAAcE,qBAAd,QAAQD,IAAR;;IACA,YAAoCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAAvD;IAAA,IAAcG,iBAAd,SAAQF,IAAR;;IACA,IAAMG,QAAQ,GAAGH,IAAI,KAAKI,0BAA1B;IACA,IAAMC,cAAc,GAAGtB,oBAAoB,CAACkB,qBAAD,EAAwBD,IAAxB,CAA3C;IACA,IAAMM,aAAa,GAAGvB,oBAAoB,CAACmB,iBAAD,EAAoBF,IAApB,CAA1C;;IAEA,IAAIK,cAAc,IAAKN,CAAC,KAAK,CAAN,IAAWO,aAAlC,EAAkD;MAChD,IAAIV,qBAAqB,IAAIG,CAA7B,EAAgCH,qBAAqB,IAAI,CAAzB;MAChC,IAAI,CAACO,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;MACf;IACD;;IAED,IAAMU,aAAa,GAAGf,cAAc,IAAIE,WAAW,IAAIF,cAAvD;;IACA,IAAI,CAACe,aAAD,IAAkBT,CAAC,KAAKH,qBAA5B,EAAmD;MACjD,IAAMa,oBAAoB,GAAGlB,WAAW,GAAG,kCAAiBH,MAAjB,EAAyBO,WAAzB,CAAH,GAA2CP,MAAnF;;MACA,IAAMsB,eAAe,qBAAQD,oBAAoB,CAACnB,QAA7B,CAArB;;MACAI,eAAe,CAACa,IAAhB,iCAA0BE,oBAA1B;QAAgDnB,QAAQ,EAAEoB;MAA1D;MACAf,WAAW,IAAI,CAAf;MACAC,qBAAqB,IAAIL,WAAzB;IACD;;IACD,IAAI,CAACY,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;EAChB,CAvBD;EAyBA,OAAOJ,eAAP;AACD,CAnCD;;eAqCeP,oB"}
@@ -1 +1 @@
1
- {"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","getCollisions","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","canInjectBanner","bannerWithTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","cloneDeep","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-targetings.js","names":["updateTargetings","banner","count","bannerCopy","cloneDeep","targetings","settings","posn","updatedTargetings"],"sources":["../../../src/hooks/helpers/update-targetings.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst updateTargetings = (banner, count) => {\n const bannerCopy = cloneDeep(banner);\n const {\n settings: { targetings }\n } = bannerCopy;\n const posn = `posn=${count + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n return bannerCopy;\n};\n\nexport default updateTargetings;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD,EAASC,KAAT,EAAmB;EAC1C,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAUH,MAAV,CAAnB;EACA,IACcI,UADd,GAEIF,UAFJ,CACEG,QADF,CACcD,UADd;EAGA,IAAME,IAAI,kBAAWL,KAAK,GAAG,CAAnB,CAAV;EACA,IAAMM,iBAAiB,GAAGH,UAAU,aAAMA,UAAN,cAAoBE,IAApB,IAA6BA,IAAjE;EACAJ,UAAU,CAACG,QAAX,CAAoBD,UAApB,GAAiCG,iBAAjC;EACA,OAAOL,UAAP;AACD,CATD;;eAWeH,gB"}
1
+ {"version":3,"file":"update-targetings.js","names":["updateTargetings","banner","count","bannerCopy","targetings","settings","posn","updatedTargetings"],"sources":["../../../src/hooks/helpers/update-targetings.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst updateTargetings = (banner, count) => {\n const bannerCopy = cloneDeep(banner);\n const {\n settings: { targetings }\n } = bannerCopy;\n const posn = `posn=${count + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n return bannerCopy;\n};\n\nexport default updateTargetings;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD,EAASC,KAAT,EAAmB;EAC1C,IAAMC,UAAU,GAAG,wBAAUF,MAAV,CAAnB;EACA,IACcG,UADd,GAEID,UAFJ,CACEE,QADF,CACcD,UADd;EAGA,IAAME,IAAI,kBAAWJ,KAAK,GAAG,CAAnB,CAAV;EACA,IAAMK,iBAAiB,GAAGH,UAAU,aAAMA,UAAN,cAAoBE,IAApB,IAA6BA,IAAjE;EACAH,UAAU,CAACE,QAAX,CAAoBD,UAApB,GAAiCG,iBAAjC;EACA,OAAOJ,UAAP;AACD,CATD;;eAWeH,gB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-banner-insertion.js","names":["useBannerInsertion","component","name","parsedTextBlock","bannerContext","useContext","BannerContext","banners","length","validatdParsedTextBlock","Array","isArray","injectTextblockBanners","componentName"],"sources":["../../src/hooks/use-banner-insertion.js"],"sourcesContent":["import { useContext } from 'react';\nimport { BannerContext } from '../BannerContext';\nimport injectTextblockBanners from './helpers/inject-textblock-banners';\n\nconst useBannerInsertion = component => {\n const { name, parsedTextBlock } = component;\n const bannerContext = useContext(BannerContext);\n const { banners } = bannerContext || {};\n\n if (!banners || !banners.length) return parsedTextBlock;\n\n const validatdParsedTextBlock = Array.isArray(parsedTextBlock)\n ? parsedTextBlock\n : [parsedTextBlock];\n\n return injectTextblockBanners({\n componentName: name,\n parsedTextBlock: validatdParsedTextBlock,\n bannerContext\n });\n};\n\nexport default useBannerInsertion;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,SAAS,EAAI;EACtC,IAAQC,IAAR,GAAkCD,SAAlC,CAAQC,IAAR;EAAA,IAAcC,eAAd,GAAkCF,SAAlC,CAAcE,eAAd;EACA,IAAMC,aAAa,GAAG,IAAAC,iBAAA,EAAWC,4BAAX,CAAtB;;EACA,WAAoBF,aAAa,IAAI,EAArC;EAAA,IAAQG,OAAR,QAAQA,OAAR;;EAEA,IAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,MAAzB,EAAiC,OAAOL,eAAP;EAEjC,IAAMM,uBAAuB,GAAGC,KAAK,CAACC,OAAN,CAAcR,eAAd,IAC5BA,eAD4B,GAE5B,CAACA,eAAD,CAFJ;EAIA,OAAO,IAAAS,kCAAA,EAAuB;IAC5BC,aAAa,EAAEX,IADa;IAE5BC,eAAe,EAAEM,uBAFW;IAG5BL,aAAa,EAAbA;EAH4B,CAAvB,CAAP;AAKD,CAhBD;;eAkBeJ,kB"}
1
+ {"version":3,"file":"use-banner-insertion.js","names":["useBannerInsertion","component","name","parsedTextBlock","bannerContext","BannerContext","banners","length","validatdParsedTextBlock","Array","isArray","componentName"],"sources":["../../src/hooks/use-banner-insertion.js"],"sourcesContent":["import { useContext } from 'react';\nimport { BannerContext } from '../BannerContext';\nimport injectTextblockBanners from './helpers/inject-textblock-banners';\n\nconst useBannerInsertion = component => {\n const { name, parsedTextBlock } = component;\n const bannerContext = useContext(BannerContext);\n const { banners } = bannerContext || {};\n\n if (!banners || !banners.length) return parsedTextBlock;\n\n const validatdParsedTextBlock = Array.isArray(parsedTextBlock)\n ? parsedTextBlock\n : [parsedTextBlock];\n\n return injectTextblockBanners({\n componentName: name,\n parsedTextBlock: validatdParsedTextBlock,\n bannerContext\n });\n};\n\nexport default useBannerInsertion;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,SAAS,EAAI;EACtC,IAAQC,IAAR,GAAkCD,SAAlC,CAAQC,IAAR;EAAA,IAAcC,eAAd,GAAkCF,SAAlC,CAAcE,eAAd;EACA,IAAMC,aAAa,GAAG,uBAAWC,4BAAX,CAAtB;;EACA,WAAoBD,aAAa,IAAI,EAArC;EAAA,IAAQE,OAAR,QAAQA,OAAR;;EAEA,IAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,MAAzB,EAAiC,OAAOJ,eAAP;EAEjC,IAAMK,uBAAuB,GAAGC,KAAK,CAACC,OAAN,CAAcP,eAAd,IAC5BA,eAD4B,GAE5B,CAACA,eAAD,CAFJ;EAIA,OAAO,wCAAuB;IAC5BQ,aAAa,EAAET,IADa;IAE5BC,eAAe,EAAEK,uBAFW;IAG5BJ,aAAa,EAAbA;EAH4B,CAAvB,CAAP;AAKD,CAhBD;;eAkBeJ,kB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-check-mobile-screen.js","names":["defaultWidth","useCheckMobileScreen","window","innerWidth","initialWidth","useState","width","setWidth","handleWindowSizeChange","useEffect","addEventListener","removeEventListener","MOBILE_WIDTH"],"sources":["../../src/hooks/use-check-mobile-screen.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { MOBILE_WIDTH } from '../constants';\n\n// will be updated after first render to help with server/client mismatch\nlet defaultWidth = 0;\n\nconst useCheckMobileScreen = () => {\n const { innerWidth: initialWidth = defaultWidth } = typeof window !== 'undefined' ? window : {};\n const [width, setWidth] = useState(defaultWidth);\n defaultWidth = width;\n\n const handleWindowSizeChange = () => {\n setWidth(window.innerWidth);\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n }, []);\n\n useEffect(\n () => {\n if (!defaultWidth) {\n setWidth(initialWidth);\n }\n },\n [initialWidth, width]\n );\n\n return width <= MOBILE_WIDTH;\n};\n\nexport default useCheckMobileScreen;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;AACA,IAAIA,YAAY,GAAG,CAAnB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjC,WAAoD,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAA7F;EAAA,2BAAQC,UAAR;EAAA,IAAoBC,YAApB,gCAAmCJ,YAAnC;;EACA,gBAA0B,IAAAK,eAAA,EAASL,YAAT,CAA1B;EAAA;EAAA,IAAOM,KAAP;EAAA,IAAcC,QAAd;;EACAP,YAAY,GAAGM,KAAf;;EAEA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;IACnCD,QAAQ,CAACL,MAAM,CAACC,UAAR,CAAR;EACD,CAFD;;EAIA,IAAAM,gBAAA,EAAU,YAAM;IACdP,MAAM,CAACQ,gBAAP,CAAwB,QAAxB,EAAkCF,sBAAlC;IACA,OAAO,YAAM;MACXN,MAAM,CAACS,mBAAP,CAA2B,QAA3B,EAAqCH,sBAArC;IACD,CAFD;EAGD,CALD,EAKG,EALH;EAOA,IAAAC,gBAAA,EACE,YAAM;IACJ,IAAI,CAACT,YAAL,EAAmB;MACjBO,QAAQ,CAACH,YAAD,CAAR;IACD;EACF,CALH,EAME,CAACA,YAAD,EAAeE,KAAf,CANF;EASA,OAAOA,KAAK,IAAIM,uBAAhB;AACD,CA1BD;;eA4BeX,oB"}
1
+ {"version":3,"file":"use-check-mobile-screen.js","names":["defaultWidth","useCheckMobileScreen","window","innerWidth","initialWidth","width","setWidth","handleWindowSizeChange","addEventListener","removeEventListener","MOBILE_WIDTH"],"sources":["../../src/hooks/use-check-mobile-screen.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { MOBILE_WIDTH } from '../constants';\n\n// will be updated after first render to help with server/client mismatch\nlet defaultWidth = 0;\n\nconst useCheckMobileScreen = () => {\n const { innerWidth: initialWidth = defaultWidth } = typeof window !== 'undefined' ? window : {};\n const [width, setWidth] = useState(defaultWidth);\n defaultWidth = width;\n\n const handleWindowSizeChange = () => {\n setWidth(window.innerWidth);\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n }, []);\n\n useEffect(\n () => {\n if (!defaultWidth) {\n setWidth(initialWidth);\n }\n },\n [initialWidth, width]\n );\n\n return width <= MOBILE_WIDTH;\n};\n\nexport default useCheckMobileScreen;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;AACA,IAAIA,YAAY,GAAG,CAAnB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjC,WAAoD,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAA7F;EAAA,2BAAQC,UAAR;EAAA,IAAoBC,YAApB,gCAAmCJ,YAAnC;;EACA,gBAA0B,qBAASA,YAAT,CAA1B;EAAA;EAAA,IAAOK,KAAP;EAAA,IAAcC,QAAd;;EACAN,YAAY,GAAGK,KAAf;;EAEA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;IACnCD,QAAQ,CAACJ,MAAM,CAACC,UAAR,CAAR;EACD,CAFD;;EAIA,sBAAU,YAAM;IACdD,MAAM,CAACM,gBAAP,CAAwB,QAAxB,EAAkCD,sBAAlC;IACA,OAAO,YAAM;MACXL,MAAM,CAACO,mBAAP,CAA2B,QAA3B,EAAqCF,sBAArC;IACD,CAFD;EAGD,CALD,EAKG,EALH;EAOA,sBACE,YAAM;IACJ,IAAI,CAACP,YAAL,EAAmB;MACjBM,QAAQ,CAACF,YAAD,CAAR;IACD;EACF,CALH,EAME,CAACA,YAAD,EAAeC,KAAf,CANF;EASA,OAAOA,KAAK,IAAIK,uBAAhB;AACD,CA1BD;;eA4BeT,oB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-entity-schema.js","names":["useGetEntitySchema","identifier","skipCondition","client","useApolloClient","useState","skip","shouldSkip","cacheData","variables","ALL","readQuery","query","getEntitySchema","err","useQuery","data","loading","error"],"sources":["../../src/hooks/use-get-entity-schema.js"],"sourcesContent":["import { useQuery, useApolloClient } from '@apollo/client';\nimport { useState } from 'react';\nimport { getEntitySchema } from '../application/query';\nimport { ALL } from '../constants';\n\nfunction useGetEntitySchema(identifier, skipCondition = false) {\n const client = useApolloClient();\n const [skip] = useState(!identifier || typeof identifier !== 'string' || skipCondition);\n let shouldSkip = skip;\n let cacheData = {};\n const variables = { identifier: identifier === ALL ? '' : identifier };\n if (!shouldSkip) {\n try {\n cacheData = client.readQuery({\n query: getEntitySchema,\n variables\n });\n shouldSkip = true;\n } catch (err) {\n shouldSkip = false;\n }\n }\n const { data = cacheData, loading, error } = useQuery(getEntitySchema, {\n variables,\n skip: shouldSkip\n });\n return { data, loading, error };\n}\nexport default useGetEntitySchema;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,SAASA,kBAAT,CAA4BC,UAA5B,EAA+D;EAAA,IAAvBC,aAAuB,uEAAP,KAAO;EAC7D,IAAMC,MAAM,GAAG,IAAAC,uBAAA,GAAf;;EACA,gBAAe,IAAAC,eAAA,EAAS,CAACJ,UAAD,IAAe,OAAOA,UAAP,KAAsB,QAArC,IAAiDC,aAA1D,CAAf;EAAA;EAAA,IAAOI,IAAP;;EACA,IAAIC,UAAU,GAAGD,IAAjB;EACA,IAAIE,SAAS,GAAG,EAAhB;EACA,IAAMC,SAAS,GAAG;IAAER,UAAU,EAAEA,UAAU,KAAKS,cAAf,GAAqB,EAArB,GAA0BT;EAAxC,CAAlB;;EACA,IAAI,CAACM,UAAL,EAAiB;IACf,IAAI;MACFC,SAAS,GAAGL,MAAM,CAACQ,SAAP,CAAiB;QAC3BC,KAAK,EAAEC,sBADoB;QAE3BJ,SAAS,EAATA;MAF2B,CAAjB,CAAZ;MAIAF,UAAU,GAAG,IAAb;IACD,CAND,CAME,OAAOO,GAAP,EAAY;MACZP,UAAU,GAAG,KAAb;IACD;EACF;;EACD,gBAA6C,IAAAQ,gBAAA,EAASF,sBAAT,EAA0B;IACrEJ,SAAS,EAATA,SADqE;IAErEH,IAAI,EAAEC;EAF+D,CAA1B,CAA7C;EAAA,+BAAQS,IAAR;EAAA,IAAQA,IAAR,+BAAeR,SAAf;EAAA,IAA0BS,OAA1B,aAA0BA,OAA1B;EAAA,IAAmCC,KAAnC,aAAmCA,KAAnC;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eACclB,kB"}
1
+ {"version":3,"file":"use-get-entity-schema.js","names":["useGetEntitySchema","identifier","skipCondition","client","skip","shouldSkip","cacheData","variables","ALL","readQuery","query","getEntitySchema","err","data","loading","error"],"sources":["../../src/hooks/use-get-entity-schema.js"],"sourcesContent":["import { useQuery, useApolloClient } from '@apollo/client';\nimport { useState } from 'react';\nimport { getEntitySchema } from '../application/query';\nimport { ALL } from '../constants';\n\nfunction useGetEntitySchema(identifier, skipCondition = false) {\n const client = useApolloClient();\n const [skip] = useState(!identifier || typeof identifier !== 'string' || skipCondition);\n let shouldSkip = skip;\n let cacheData = {};\n const variables = { identifier: identifier === ALL ? '' : identifier };\n if (!shouldSkip) {\n try {\n cacheData = client.readQuery({\n query: getEntitySchema,\n variables\n });\n shouldSkip = true;\n } catch (err) {\n shouldSkip = false;\n }\n }\n const { data = cacheData, loading, error } = useQuery(getEntitySchema, {\n variables,\n skip: shouldSkip\n });\n return { data, loading, error };\n}\nexport default useGetEntitySchema;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,SAASA,kBAAT,CAA4BC,UAA5B,EAA+D;EAAA,IAAvBC,aAAuB,uEAAP,KAAO;EAC7D,IAAMC,MAAM,GAAG,8BAAf;;EACA,gBAAe,qBAAS,CAACF,UAAD,IAAe,OAAOA,UAAP,KAAsB,QAArC,IAAiDC,aAA1D,CAAf;EAAA;EAAA,IAAOE,IAAP;;EACA,IAAIC,UAAU,GAAGD,IAAjB;EACA,IAAIE,SAAS,GAAG,EAAhB;EACA,IAAMC,SAAS,GAAG;IAAEN,UAAU,EAAEA,UAAU,KAAKO,cAAf,GAAqB,EAArB,GAA0BP;EAAxC,CAAlB;;EACA,IAAI,CAACI,UAAL,EAAiB;IACf,IAAI;MACFC,SAAS,GAAGH,MAAM,CAACM,SAAP,CAAiB;QAC3BC,KAAK,EAAEC,sBADoB;QAE3BJ,SAAS,EAATA;MAF2B,CAAjB,CAAZ;MAIAF,UAAU,GAAG,IAAb;IACD,CAND,CAME,OAAOO,GAAP,EAAY;MACZP,UAAU,GAAG,KAAb;IACD;EACF;;EACD,gBAA6C,sBAASM,sBAAT,EAA0B;IACrEJ,SAAS,EAATA,SADqE;IAErEH,IAAI,EAAEC;EAF+D,CAA1B,CAA7C;EAAA,+BAAQQ,IAAR;EAAA,IAAQA,IAAR,+BAAeP,SAAf;EAAA,IAA0BQ,OAA1B,aAA0BA,OAA1B;EAAA,IAAmCC,KAAnC,aAAmCA,KAAnC;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eACcf,kB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-entity-schemas-as-obj.js","names":["useGetEntitySchemasAsObj","identifiers","shouldSkip","uniqueIdentifiers","Set","filter","Boolean","skip","length","queryIdentifiers","useQuery","getMultipleSchema"],"sources":["../../src/hooks/use-get-entity-schemas-as-obj.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getMultipleSchema } from '../application/query';\n\nfunction useGetEntitySchemasAsObj(identifiers, shouldSkip = false) {\n const uniqueIdentifiers = [...new Set(identifiers)].filter(Boolean);\n const skip = shouldSkip || uniqueIdentifiers.length < 1;\n // placeholder required so query isn't empty but will be skipped\n const queryIdentifiers = skip ? ['placeholder'] : uniqueIdentifiers;\n return useQuery(getMultipleSchema(queryIdentifiers), { skip });\n}\nexport default useGetEntitySchemasAsObj;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,wBAAT,CAAkCC,WAAlC,EAAmE;EAAA,IAApBC,UAAoB,uEAAP,KAAO;EACjE,IAAMC,iBAAiB,GAAG,oCAAI,IAAIC,GAAJ,CAAQH,WAAR,CAAJ,EAA0BI,MAA1B,CAAiCC,OAAjC,CAA1B;EACA,IAAMC,IAAI,GAAGL,UAAU,IAAIC,iBAAiB,CAACK,MAAlB,GAA2B,CAAtD,CAFiE,CAGjE;;EACA,IAAMC,gBAAgB,GAAGF,IAAI,GAAG,CAAC,aAAD,CAAH,GAAqBJ,iBAAlD;EACA,OAAO,IAAAO,gBAAA,EAAS,IAAAC,wBAAA,EAAkBF,gBAAlB,CAAT,EAA8C;IAAEF,IAAI,EAAJA;EAAF,CAA9C,CAAP;AACD;;eACcP,wB"}
1
+ {"version":3,"file":"use-get-entity-schemas-as-obj.js","names":["useGetEntitySchemasAsObj","identifiers","shouldSkip","uniqueIdentifiers","Set","filter","Boolean","skip","length","queryIdentifiers"],"sources":["../../src/hooks/use-get-entity-schemas-as-obj.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getMultipleSchema } from '../application/query';\n\nfunction useGetEntitySchemasAsObj(identifiers, shouldSkip = false) {\n const uniqueIdentifiers = [...new Set(identifiers)].filter(Boolean);\n const skip = shouldSkip || uniqueIdentifiers.length < 1;\n // placeholder required so query isn't empty but will be skipped\n const queryIdentifiers = skip ? ['placeholder'] : uniqueIdentifiers;\n return useQuery(getMultipleSchema(queryIdentifiers), { skip });\n}\nexport default useGetEntitySchemasAsObj;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,wBAAT,CAAkCC,WAAlC,EAAmE;EAAA,IAApBC,UAAoB,uEAAP,KAAO;EACjE,IAAMC,iBAAiB,GAAG,oCAAI,IAAIC,GAAJ,CAAQH,WAAR,CAAJ,EAA0BI,MAA1B,CAAiCC,OAAjC,CAA1B;EACA,IAAMC,IAAI,GAAGL,UAAU,IAAIC,iBAAiB,CAACK,MAAlB,GAA2B,CAAtD,CAFiE,CAGjE;;EACA,IAAMC,gBAAgB,GAAGF,IAAI,GAAG,CAAC,aAAD,CAAH,GAAqBJ,iBAAlD;EACA,OAAO,sBAAS,8BAAkBM,gBAAlB,CAAT,EAA8C;IAAEF,IAAI,EAAJA;EAAF,CAA9C,CAAP;AACD;;eACcP,wB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-image-id-from-relation.js","names":["useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","skip","Object","keys","length","imageRelationData","split","relationName","relationProp","getPublished","get","getAction","props","useQuery","generateSingleItemQuery","variables","data","loading","error"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationImage, isPreview) {\n const skip =\n !id || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions;\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const { data = {}, loading, error } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,yBAAT,CAAmCC,EAAnC,EAAuCC,aAAvC,EAAsDC,OAAtD,EAA+DC,oBAA/D,EAAqFC,SAArF,EAAgG;EAC9F,IAAMC,IAAI,GACR,CAACL,EAAD,IAAO,OAAOA,EAAP,KAAc,QAArB,IAAiC,CAACG,oBAAlC,IAA0D,CAACG,MAAM,CAACC,IAAP,CAAYL,OAAZ,EAAqBM,MADlF;;EAGA,qDAAiCP,aAAjC;EAAA;EAAA,IAAOQ,iBAAP,gCAA2B,EAA3B;;EACA,4BAA+CA,iBAAiB,CAACC,KAAlB,CAAwB,GAAxB,CAA/C;EAAA;EAAA;EAAA,IAAOC,YAAP,uCAAsB,EAAtB;EAAA;EAAA,IAA0BC,YAA1B,uCAAyC,EAAzC;;EACA,IAAQC,YAAR,GAA8BX,OAA9B,CAAQW,YAAR;EAAA,IAAsBC,GAAtB,GAA8BZ,OAA9B,CAAsBY,GAAtB;EACA,IAAMC,SAAS,GAAGX,SAAS,GAAGU,GAAH,GAASD,YAAY,IAAIC,GAApD;EAEA,IAAME,KAAK,GAAGP,iBAAiB,aAAME,YAAN,gBAAwBC,YAAxB,UAA2C,IAA1E;;EACA,gBAAsC,IAAAK,gBAAA,EAAS,IAAAC,8BAAA,EAAwBH,SAAxB,EAAmCC,KAAnC,CAAT,EAAoD;IACxFG,SAAS,EAAE;MAAEnB,EAAE,EAAFA;IAAF,CAD6E;IAExFK,IAAI,EAAJA;EAFwF,CAApD,CAAtC;EAAA,+BAAQe,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eAEcvB,yB"}
1
+ {"version":3,"file":"use-get-image-id-from-relation.js","names":["useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","skip","Object","keys","length","imageRelationData","split","relationName","relationProp","getPublished","get","getAction","props","variables","data","loading","error"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationImage, isPreview) {\n const skip =\n !id || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions;\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const { data = {}, loading, error } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,yBAAT,CAAmCC,EAAnC,EAAuCC,aAAvC,EAAsDC,OAAtD,EAA+DC,oBAA/D,EAAqFC,SAArF,EAAgG;EAC9F,IAAMC,IAAI,GACR,CAACL,EAAD,IAAO,OAAOA,EAAP,KAAc,QAArB,IAAiC,CAACG,oBAAlC,IAA0D,CAACG,MAAM,CAACC,IAAP,CAAYL,OAAZ,EAAqBM,MADlF;;EAGA,qDAAiCP,aAAjC;EAAA;EAAA,IAAOQ,iBAAP,gCAA2B,EAA3B;;EACA,4BAA+CA,iBAAiB,CAACC,KAAlB,CAAwB,GAAxB,CAA/C;EAAA;EAAA;EAAA,IAAOC,YAAP,uCAAsB,EAAtB;EAAA;EAAA,IAA0BC,YAA1B,uCAAyC,EAAzC;;EACA,IAAQC,YAAR,GAA8BX,OAA9B,CAAQW,YAAR;EAAA,IAAsBC,GAAtB,GAA8BZ,OAA9B,CAAsBY,GAAtB;EACA,IAAMC,SAAS,GAAGX,SAAS,GAAGU,GAAH,GAASD,YAAY,IAAIC,GAApD;EAEA,IAAME,KAAK,GAAGP,iBAAiB,aAAME,YAAN,gBAAwBC,YAAxB,UAA2C,IAA1E;;EACA,gBAAsC,sBAAS,oCAAwBG,SAAxB,EAAmCC,KAAnC,CAAT,EAAoD;IACxFC,SAAS,EAAE;MAAEjB,EAAE,EAAFA;IAAF,CAD6E;IAExFK,IAAI,EAAJA;EAFwF,CAApD,CAAtC;EAAA,+BAAQa,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eAEcrB,yB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-images.js","names":["shouldSkip","id","Array","isArray","length","getWhereQuery","inClause","where","_in","useGetImages","hasMultipleIds","skip","variables","currentQuery","getFiles","getFileById","useQuery","data","loading","error"],"sources":["../../src/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getFiles, getFileById } from '../application/query';\n\nfunction shouldSkip(id) {\n return !id || (Array.isArray(id) && !id.length);\n}\n\nconst getWhereQuery = id => {\n const inClause = Array.isArray(id) ? id : [id];\n return { where: { id: { _in: inClause } } };\n};\n\nconst useGetImages = (id, hasMultipleIds = false) => {\n const skip = shouldSkip(id);\n const variables = hasMultipleIds ? getWhereQuery(id) : { id };\n const currentQuery = hasMultipleIds ? getFiles : getFileById;\n const { data = {}, loading, error } = useQuery(currentQuery, { variables, skip });\n\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,UAAT,CAAoBC,EAApB,EAAwB;EACtB,OAAO,CAACA,EAAD,IAAQC,KAAK,CAACC,OAAN,CAAcF,EAAd,KAAqB,CAACA,EAAE,CAACG,MAAxC;AACD;;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,EAAE,EAAI;EAC1B,IAAMK,QAAQ,GAAGJ,KAAK,CAACC,OAAN,CAAcF,EAAd,IAAoBA,EAApB,GAAyB,CAACA,EAAD,CAA1C;EACA,OAAO;IAAEM,KAAK,EAAE;MAAEN,EAAE,EAAE;QAAEO,GAAG,EAAEF;MAAP;IAAN;EAAT,CAAP;AACD,CAHD;;AAKA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACR,EAAD,EAAgC;EAAA,IAA3BS,cAA2B,uEAAV,KAAU;EACnD,IAAMC,IAAI,GAAGX,UAAU,CAACC,EAAD,CAAvB;EACA,IAAMW,SAAS,GAAGF,cAAc,GAAGL,aAAa,CAACJ,EAAD,CAAhB,GAAuB;IAAEA,EAAE,EAAFA;EAAF,CAAvD;EACA,IAAMY,YAAY,GAAGH,cAAc,GAAGI,eAAH,GAAcC,kBAAjD;;EACA,gBAAsC,IAAAC,gBAAA,EAASH,YAAT,EAAuB;IAAED,SAAS,EAATA,SAAF;IAAaD,IAAI,EAAJA;EAAb,CAAvB,CAAtC;EAAA,+BAAQM,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAEA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD,CAPD;;eASeV,Y"}
1
+ {"version":3,"file":"use-get-images.js","names":["shouldSkip","id","Array","isArray","length","getWhereQuery","inClause","where","_in","useGetImages","hasMultipleIds","skip","variables","currentQuery","getFiles","getFileById","data","loading","error"],"sources":["../../src/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getFiles, getFileById } from '../application/query';\n\nfunction shouldSkip(id) {\n return !id || (Array.isArray(id) && !id.length);\n}\n\nconst getWhereQuery = id => {\n const inClause = Array.isArray(id) ? id : [id];\n return { where: { id: { _in: inClause } } };\n};\n\nconst useGetImages = (id, hasMultipleIds = false) => {\n const skip = shouldSkip(id);\n const variables = hasMultipleIds ? getWhereQuery(id) : { id };\n const currentQuery = hasMultipleIds ? getFiles : getFileById;\n const { data = {}, loading, error } = useQuery(currentQuery, { variables, skip });\n\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,UAAT,CAAoBC,EAApB,EAAwB;EACtB,OAAO,CAACA,EAAD,IAAQC,KAAK,CAACC,OAAN,CAAcF,EAAd,KAAqB,CAACA,EAAE,CAACG,MAAxC;AACD;;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,EAAE,EAAI;EAC1B,IAAMK,QAAQ,GAAGJ,KAAK,CAACC,OAAN,CAAcF,EAAd,IAAoBA,EAApB,GAAyB,CAACA,EAAD,CAA1C;EACA,OAAO;IAAEM,KAAK,EAAE;MAAEN,EAAE,EAAE;QAAEO,GAAG,EAAEF;MAAP;IAAN;EAAT,CAAP;AACD,CAHD;;AAKA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACR,EAAD,EAAgC;EAAA,IAA3BS,cAA2B,uEAAV,KAAU;EACnD,IAAMC,IAAI,GAAGX,UAAU,CAACC,EAAD,CAAvB;EACA,IAAMW,SAAS,GAAGF,cAAc,GAAGL,aAAa,CAACJ,EAAD,CAAhB,GAAuB;IAAEA,EAAE,EAAFA;EAAF,CAAvD;EACA,IAAMY,YAAY,GAAGH,cAAc,GAAGI,eAAH,GAAcC,kBAAjD;;EACA,gBAAsC,sBAASF,YAAT,EAAuB;IAAED,SAAS,EAATA,SAAF;IAAaD,IAAI,EAAJA;EAAb,CAAvB,CAAtC;EAAA,+BAAQK,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAEA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD,CAPD;;eASeT,Y"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-single-entity-schema.js","names":["useGetSingleEntitySchema","id","skip","useQuery","getSingleEntitySchema","variables","loading","error","data"],"sources":["../../src/hooks/use-get-single-entity-schema.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema } from '../application/query';\n\nconst useGetSingleEntitySchema = (id, skip = false) => {\n const { loading, error, data } = useQuery(getSingleEntitySchema, {\n variables: {\n id\n },\n skip\n });\n\n return { loading, error, data };\n};\n\nexport default useGetSingleEntitySchema;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,EAAD,EAAsB;EAAA,IAAjBC,IAAiB,uEAAV,KAAU;;EACrD,gBAAiC,IAAAC,gBAAA,EAASC,4BAAT,EAAgC;IAC/DC,SAAS,EAAE;MACTJ,EAAE,EAAFA;IADS,CADoD;IAI/DC,IAAI,EAAJA;EAJ+D,CAAhC,CAAjC;EAAA,IAAQI,OAAR,aAAQA,OAAR;EAAA,IAAiBC,KAAjB,aAAiBA,KAAjB;EAAA,IAAwBC,IAAxB,aAAwBA,IAAxB;;EAOA,OAAO;IAAEF,OAAO,EAAPA,OAAF;IAAWC,KAAK,EAALA,KAAX;IAAkBC,IAAI,EAAJA;EAAlB,CAAP;AACD,CATD;;eAWeR,wB"}
1
+ {"version":3,"file":"use-get-single-entity-schema.js","names":["useGetSingleEntitySchema","id","skip","getSingleEntitySchema","variables","loading","error","data"],"sources":["../../src/hooks/use-get-single-entity-schema.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema } from '../application/query';\n\nconst useGetSingleEntitySchema = (id, skip = false) => {\n const { loading, error, data } = useQuery(getSingleEntitySchema, {\n variables: {\n id\n },\n skip\n });\n\n return { loading, error, data };\n};\n\nexport default useGetSingleEntitySchema;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,EAAD,EAAsB;EAAA,IAAjBC,IAAiB,uEAAV,KAAU;;EACrD,gBAAiC,sBAASC,4BAAT,EAAgC;IAC/DC,SAAS,EAAE;MACTH,EAAE,EAAFA;IADS,CADoD;IAI/DC,IAAI,EAAJA;EAJ+D,CAAhC,CAAjC;EAAA,IAAQG,OAAR,aAAQA,OAAR;EAAA,IAAiBC,KAAjB,aAAiBA,KAAjB;EAAA,IAAwBC,IAAxB,aAAwBA,IAAxB;;EAOA,OAAO;IAAEF,OAAO,EAAPA,OAAF;IAAWC,KAAK,EAALA,KAAX;IAAkBC,IAAI,EAAJA;EAAlB,CAAP;AACD,CATD;;eAWeP,wB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","useState","page","setPage","useEffect","getBuiltComponents","components","buildPBComponents","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5B,gBAAwB,IAAAC,eAAA,EAAS,EAAT,CAAxB;EAAA;EAAA,IAAOC,IAAP;EAAA,IAAaC,OAAb;;EAEA,IAAAC,gBAAA,EACE,YAAM;IAAA,SACWC,kBADX;MAAA;IAAA;;IAAA;MAAA,oGACJ;QAAA;QAAA;UAAA;YAAA;cAAA;gBACQC,UADR,GACqB,IAAAC,mBAAA,EAAkBP,IAAlB,CADrB;gBAGEG,OAAO,CAACG,UAAD,CAAP;;cAHF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CADI;MAAA;IAAA;;IAOJ,IAAIN,IAAI,IAAI,CAACE,IAAI,CAACM,MAAlB,EAA0B;MACxBH,kBAAkB;IACnB;EACF,CAXH,EAYE,CAACL,IAAD,EAAOE,IAAP,CAZF;EAeA,OAAOA,IAAP;AACD;;eAEcH,c"}
1
+ {"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","page","setPage","getBuiltComponents","components","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5B,gBAAwB,qBAAS,EAAT,CAAxB;EAAA;EAAA,IAAOC,IAAP;EAAA,IAAaC,OAAb;;EAEA,sBACE,YAAM;IAAA,SACWC,kBADX;MAAA;IAAA;;IAAA;MAAA,oGACJ;QAAA;QAAA;UAAA;YAAA;cAAA;gBACQC,UADR,GACqB,yBAAkBJ,IAAlB,CADrB;gBAGEE,OAAO,CAACE,UAAD,CAAP;;cAHF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CADI;MAAA;IAAA;;IAOJ,IAAIJ,IAAI,IAAI,CAACC,IAAI,CAACI,MAAlB,EAA0B;MACxBF,kBAAkB;IACnB;EACF,CAXH,EAYE,CAACH,IAAD,EAAOC,IAAP,CAZF;EAeA,OAAOA,IAAP;AACD;;eAEcF,c"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-class-modifiers.js","names":["BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","filter","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, ...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":["BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","filter","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, ...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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IACEA,WADF,GAeIC,0BAfJ,CACED,WADF;AAAA,IAEEE,OAFF,GAeID,0BAfJ,CAEEC,OAFF;AAAA,IAGEC,OAHF,GAeIF,0BAfJ,CAGEE,OAHF;AAAA,IAIEC,cAJF,GAeIH,0BAfJ,CAIEG,cAJF;AAAA,IAKEC,IALF,GAeIJ,0BAfJ,CAKEI,IALF;AAAA,IAMEC,IANF,GAeIL,0BAfJ,CAMEK,IANF;AAAA,IAOEC,MAPF,GAeIN,0BAfJ,CAOEM,MAPF;AAAA,IAQEC,QARF,GAeIP,0BAfJ,CAQEO,QARF;AAAA,IASEC,IATF,GAeIR,0BAfJ,CASEQ,IATF;AAAA,IAUEC,MAVF,GAeIT,0BAfJ,CAUES,MAVF;AAAA,IAWEC,KAXF,GAeIV,0BAfJ,CAWEU,KAXF;AAAA,IAYEC,MAZF,GAeIX,0BAfJ,CAYEW,MAZF;AAAA,IAaEC,KAbF,GAeIZ,0BAfJ,CAaEY,KAbF;AAAA,IAcEC,SAdF,GAeIb,0BAfJ,CAcEa,SAdF;AAgBA,IAAMC,WAAW,GAAG,CAACX,cAAD,EAAiBI,QAAjB,CAApB;AACA,IAAMQ,eAAe,GAAG,CAACb,OAAD,EAAUS,MAAV,EAAkBL,MAAlB,CAAxB;AACA,IAAMU,WAAW,IAAIR,IAAJ,EAAUT,WAAV,EAAuBM,IAAvB,EAA6BK,KAA7B,EAAoCG,SAApC,SAAkDC,WAAlD,CAAjB;AACA,IAAMG,SAAS,IAAIlB,WAAJ,SAAoBe,WAApB,CAAf;AAEA,IAAMI,gBAAgB,GAAG;EAAEC,KAAK,EAAEL,WAAT;EAAsBM,MAAM,EAAE;AAA9B,CAAzB;AAEA,IAAMC,cAAc,GAAG;EACrBC,GAAG,EAAE;IAAEH,KAAK,GAAGP,KAAH,SAAaG,eAAb,EAAiCD,WAAjC;EAAP,CADgB;EAErBS,MAAM,EAAE;IAAEJ,KAAK,GAAGP,KAAH,EAAUH,MAAV,SAAqBM,eAArB,EAAyCD,WAAzC;EAAP,CAFa;EAGrBU,MAAM,EAAE;IACNL,KAAK,EAAEH,WADD;IAENI,MAAM,EAAEK;EAFF,CAHa;EAOrBC,IAAI,EAAE;IAAEP,KAAK,EAAEF,SAAT;IAAoBG,MAAM,EAAEO;EAA5B,CAPe;EAQrBC,SAAS,oBAAOV,gBAAP,CARY;EASrBW,MAAM,oBAAOX,gBAAP,CATe;EAUrBY,KAAK,oBAAOZ,gBAAP,CAVgB;EAWrBa,IAAI,oBAAOb,gBAAP,CAXiB;EAYrBc,KAAK,oBAAOd,gBAAP,CAZgB;EAarBe,IAAI,oBAAOf,gBAAP,CAbiB;EAcrBgB,IAAI,kCAAOhB,gBAAP;IAAyBE,MAAM,EAAEe;EAAjC;AAdiB,CAAvB;;AAiBe,SAASC,iBAAT,CAA2BC,IAA3B,EAAiClB,KAAjC,EAAwC;EACrD,WAA0CE,cAAc,CAACgB,IAAD,CAAd,IAAwB,EAAlE;EAAA,IAAeC,cAAf,QAAQnB,KAAR;EAAA,IAA+BC,MAA/B,QAA+BA,MAA/B;;EACA,IAAMmB,aAAa,GAAGC,oCAA0BH,IAA1B,KAAmC,EAAzD;EACA,IAAI,CAACC,cAAL,EAAqB,OAAO,EAAP;EAErB,IAAMG,SAAS,GAAGH,cAAc,CAC7BI,GADe,CACX,UAAAC,IAAI,EAAI;IACX,IAAMC,SAAS,GAAGzB,KAAK,CAACwB,IAAD,CAAvB;IACA,IAAME,WAAW,GAAG,OAAOD,SAAP,KAAqB,SAArB,GAAiCD,IAAjC,GAAwCC,SAA5D;IACA,IAAME,gBAAgB,GAAG/B,eAAe,CAACgC,QAAhB,CAAyBJ,IAAzB,CAAzB;IACA,IAAIA,IAAI,KAAKtC,IAAb,EAAmB,OAAOuC,SAAS,GAAGI,sBAAH,GAAiB,EAAjC;IACnB,IAAIL,IAAI,KAAKpC,QAAT,IAAqBqC,SAAzB,EAAoC,iBAAUA,SAAV;IACpC,IAAIA,SAAS,KAAK3C,OAAd,IAAyB4C,WAAW,KAAKR,IAA7C,EAAmD,OAAO,EAAP;IACnD,IAAIS,gBAAJ,EAAsB,OAAOF,SAAS,GAAG,EAAH,aAAWxC,IAAX,cAAmBuC,IAAnB,CAAhB;IACtB,IAAIC,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKK,SAAxC,EAAmD,OAAOV,aAAa,CAACI,IAAD,CAAb,IAAuB,EAA9B;IACnD,IAAIA,IAAI,KAAK/B,KAAT,IAAkB+B,IAAI,KAAKO,eAA/B,EAAqC,iBAAUb,IAAV,eAAmBO,SAAnB;IACrC,IAAID,IAAI,KAAKxC,cAAb,EAA6B,iBAAUyC,SAAV;IAC7B,IAAID,IAAI,KAAKlC,MAAb,EAAqB,OAAOmC,SAAS,aAAMP,IAAN,eAAeQ,WAAf,IAA+B,EAA/C;IAErB,OAAOA,WAAW,aAAMR,IAAN,eAAeQ,WAAf,IAA+B,EAAjD;EACD,CAfe,EAgBfM,MAhBe,CAgBRC,OAhBQ,CAAlB;EAiBA,IAAIhC,MAAJ,EAAYqB,SAAS,CAACY,OAAV,CAAkBjC,MAAlB;EAEZ,OAAOqB,SAAS,CAACa,IAAV,CAAe,GAAf,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-data.js","names":["getImageData","otherProps","data","imageData","PROPS_TO_CHECK","forEach","keyData","keyProps","value","parseHTML"],"sources":["../../src/utils/get-image-data.js"],"sourcesContent":["import parseHTML from 'html-react-parser';\nimport { PROPS_TO_CHECK } from '../constants';\n\nconst getImageData = (otherProps, data) => {\n const imageData = {};\n\n PROPS_TO_CHECK.forEach(([keyData, keyProps]) => {\n const value = otherProps[keyProps] || (data && data[keyData]);\n if (keyData === 'caption') {\n imageData[keyData] = value ? parseHTML(value) : '';\n return;\n }\n imageData[keyData] = value || '';\n });\n\n return imageData;\n};\n\nexport default getImageData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD,EAAaC,IAAb,EAAsB;EACzC,IAAMC,SAAS,GAAG,EAAlB;;EAEAC,yBAAA,CAAeC,OAAf,CAAuB,gBAAyB;IAAA;IAAA,IAAvBC,OAAuB;IAAA,IAAdC,QAAc;;IAC9C,IAAMC,KAAK,GAAGP,UAAU,CAACM,QAAD,CAAV,IAAyBL,IAAI,IAAIA,IAAI,CAACI,OAAD,CAAnD;;IACA,IAAIA,OAAO,KAAK,SAAhB,EAA2B;MACzBH,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,GAAG,IAAAC,2BAAA,EAAUD,KAAV,CAAH,GAAsB,EAAhD;MACA;IACD;;IACDL,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,IAAI,EAA9B;EACD,CAPD;;EASA,OAAOL,SAAP;AACD,CAbD;;eAeeH,Y"}
1
+ {"version":3,"file":"get-image-data.js","names":["getImageData","otherProps","data","imageData","PROPS_TO_CHECK","forEach","keyData","keyProps","value"],"sources":["../../src/utils/get-image-data.js"],"sourcesContent":["import parseHTML from 'html-react-parser';\nimport { PROPS_TO_CHECK } from '../constants';\n\nconst getImageData = (otherProps, data) => {\n const imageData = {};\n\n PROPS_TO_CHECK.forEach(([keyData, keyProps]) => {\n const value = otherProps[keyProps] || (data && data[keyData]);\n if (keyData === 'caption') {\n imageData[keyData] = value ? parseHTML(value) : '';\n return;\n }\n imageData[keyData] = value || '';\n });\n\n return imageData;\n};\n\nexport default getImageData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD,EAAaC,IAAb,EAAsB;EACzC,IAAMC,SAAS,GAAG,EAAlB;;EAEAC,0BAAeC,OAAf,CAAuB,gBAAyB;IAAA;IAAA,IAAvBC,OAAuB;IAAA,IAAdC,QAAc;;IAC9C,IAAMC,KAAK,GAAGP,UAAU,CAACM,QAAD,CAAV,IAAyBL,IAAI,IAAIA,IAAI,CAACI,OAAD,CAAnD;;IACA,IAAIA,OAAO,KAAK,SAAhB,EAA2B;MACzBH,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,GAAG,iCAAUA,KAAV,CAAH,GAAsB,EAAhD;MACA;IACD;;IACDL,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,IAAI,EAA9B;EACD,CAPD;;EASA,OAAOL,SAAP;AACD,CAbD;;eAeeH,Y"}
@@ -100,7 +100,13 @@ const SearchFilterContainer = ({
100
100
  const {
101
101
  docType
102
102
  } = getEntityData(entity);
103
- const filtersQuery = shouldAddFilters ? buildFiltersQuery(filterValues || query, filterBy, filterByProperty, rangeValues) : [];
103
+ const filtersQuery = shouldAddFilters ? buildFiltersQuery({
104
+ query: filterValues,
105
+ filterBy,
106
+ filterByProperty,
107
+ rangeValues,
108
+ queryKeys: Object.keys(query)
109
+ }) : [];
104
110
  const rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType, filtersQuery);
105
111
  const {
106
112
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","getInitialFilterValues","buildFiltersQuery","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SCROLL_OFFSET","reducer","state","action","newValues","type","shouldSearch","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","query","sort","sortby","filterValues","dispatch","hasUrl","sortValues","baseQuery","checkboxSelectValues","rangeValues","forEach","propsToDisplay","includes","push","docType","filtersQuery","rawQueryStringified","data","error","variables","limit","skip","message","length","searchPublishedContent","rawResults","aggregations","filterData","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery(filterValues || query, filterBy, filterByProperty, rangeValues)\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","getInitialFilterValues","buildFiltersQuery","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SCROLL_OFFSET","reducer","state","action","newValues","type","shouldSearch","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","query","sort","sortby","filterValues","dispatch","hasUrl","sortValues","baseQuery","checkboxSelectValues","rangeValues","forEach","propsToDisplay","includes","push","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","data","error","variables","limit","skip","message","length","searchPublishedContent","rawResults","aggregations","filterData","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery({\n query: filterValues,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(query)\n })\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -48,7 +48,6 @@ const Range = ({
48
48
  min,
49
49
  max
50
50
  } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);
51
- const shouldShowRange = rangeOption && min !== max;
52
51
  const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;
53
52
  const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;
54
53
 
@@ -87,7 +86,7 @@ const Range = ({
87
86
  });
88
87
  updateFilterValues(updatedOptions, false);
89
88
  }
90
- })), shouldShowRange && /*#__PURE__*/React.createElement(RangeFilter, {
89
+ })), /*#__PURE__*/React.createElement(RangeFilter, {
91
90
  key: `${rangeOption}-${minValue}-${maxValue}`,
92
91
  name: rangeOption,
93
92
  label: hasMultipleOptions ? '' : label,
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","withTitle","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","shouldShowRange","minValue","maxValue","valueToUse","handleChange","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { withTitle } from '../../../HOC';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 100;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const shouldShowRange = rangeOption && min !== max;\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n {shouldShowRange && (\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n )}\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","withTitle","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","handleChange","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { withTitle } from '../../../HOC';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 100;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}