@blaze-cms/react-page-builder 0.146.0-alpha.50 → 0.146.0-alpha.52

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 (417) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +0 -1
  3. package/example.env +0 -1
  4. package/lib/BannerContext/index.js +2 -1
  5. package/lib/BannerContext/index.js.map +1 -1
  6. package/lib/HOC/withInfiniteScroll.js +3 -2
  7. package/lib/HOC/withInfiniteScroll.js.map +1 -1
  8. package/lib/HOC/withTitle.js +2 -1
  9. package/lib/HOC/withTitle.js.map +1 -1
  10. package/lib/application/query/index.js +8 -9
  11. package/lib/application/query/index.js.map +1 -1
  12. package/lib/components/BackToTop/BackToTop.js +2 -1
  13. package/lib/components/BackToTop/BackToTop.js.map +1 -1
  14. package/lib/components/Banner/AdSlotRender.js +3 -2
  15. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  16. package/lib/components/Banner/Banner.js +3 -2
  17. package/lib/components/Banner/Banner.js.map +1 -1
  18. package/lib/components/Banner/helpers.js +3 -3
  19. package/lib/components/Banner/helpers.js.map +1 -1
  20. package/lib/components/Banner/index.js +3 -2
  21. package/lib/components/Banner/index.js.map +1 -1
  22. package/lib/components/BlazeLink.js +2 -1
  23. package/lib/components/BlazeLink.js.map +1 -1
  24. package/lib/components/Breadcrumb/Breadcrumb.js +3 -2
  25. package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
  26. package/lib/components/Button.js +2 -1
  27. package/lib/components/Button.js.map +1 -1
  28. package/lib/components/Card/Card.js +2 -1
  29. package/lib/components/Card/Card.js.map +1 -1
  30. package/lib/components/Card/CardsContainer.js +3 -2
  31. package/lib/components/Card/CardsContainer.js.map +1 -1
  32. package/lib/components/Card/CardsRender.js +2 -1
  33. package/lib/components/Card/CardsRender.js.map +1 -1
  34. package/lib/components/Carousel/CarouselRender/CarouselRender.js +0 -1
  35. package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  36. package/lib/components/CarouselWrapper/DefaultCarousel.js +2 -1
  37. package/lib/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  38. package/lib/components/ClickWrapper.js +2 -1
  39. package/lib/components/ClickWrapper.js.map +1 -1
  40. package/lib/components/Code/Code.js +2 -1
  41. package/lib/components/Code/Code.js.map +1 -1
  42. package/lib/components/Code/ScriptTag.js +2 -1
  43. package/lib/components/Code/ScriptTag.js.map +1 -1
  44. package/lib/components/ContentGroup/ContentGroupTabs.js +3 -2
  45. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  46. package/lib/components/ContentGroup/helpers/get-sections-data.js +0 -1
  47. package/lib/components/ContentGroup/helpers/get-sections-data.js.map +1 -1
  48. package/lib/components/DataSummary/DataSummaryFactory.js +2 -1
  49. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  50. package/lib/components/DataSummary/DataSummaryRender.js +0 -1
  51. package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
  52. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js +3 -2
  53. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
  54. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -2
  55. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  56. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js +3 -2
  57. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
  58. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js +3 -2
  59. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
  60. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js +3 -2
  61. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
  62. package/lib/components/DataSummary/DataSummaryTypes/index.js +7 -6
  63. package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  64. package/lib/components/EmailConfirm/EmailConfirm.js +2 -1
  65. package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
  66. package/lib/components/ErrorMessage/ErrorMessage.js.map +1 -1
  67. package/lib/components/ErrorMessage/index.js +3 -2
  68. package/lib/components/ErrorMessage/index.js.map +1 -1
  69. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +2 -1
  70. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  71. package/lib/components/Image/GlobalLightbox/index.js +3 -2
  72. package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
  73. package/lib/components/Image/Image.js +2 -1
  74. package/lib/components/Image/Image.js.map +1 -1
  75. package/lib/components/Image/ImageFactory.js +3 -2
  76. package/lib/components/Image/ImageFactory.js.map +1 -1
  77. package/lib/components/Image/Lightbox/Lightbox.js +2 -1
  78. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  79. package/lib/components/ItemList/ItemListButton/ItemListButton.js +2 -1
  80. package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
  81. package/lib/components/ItemList/helpers/get-item-list-ids.js +0 -1
  82. package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -1
  83. package/lib/components/ItemList/helpers/set-param-and-redirect.js +0 -1
  84. package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -1
  85. package/lib/components/Layout/LayoutFactory.js +3 -2
  86. package/lib/components/Layout/LayoutFactory.js.map +1 -1
  87. package/lib/components/Layout/LayoutWithStickyTimer.js +2 -1
  88. package/lib/components/Layout/LayoutWithStickyTimer.js.map +1 -1
  89. package/lib/components/LazyImage/index.js +3 -2
  90. package/lib/components/LazyImage/index.js.map +1 -1
  91. package/lib/components/List/ListFactory.js +2 -1
  92. package/lib/components/List/ListFactory.js.map +1 -1
  93. package/lib/components/List/ListRender.js +29 -7
  94. package/lib/components/List/ListRender.js.map +1 -1
  95. package/lib/components/List/components/Cards/CardsRender.js +2 -1
  96. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  97. package/lib/components/List/components/Cards/CardsRenderWrapper.js +3 -2
  98. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  99. package/lib/components/List/components/Full/FullRender.js +3 -2
  100. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  101. package/lib/components/List/components/Full/FullRenderItem.js +3 -2
  102. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  103. package/lib/components/List/components/Header/ListHeader.js +0 -1
  104. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  105. package/lib/components/List/components/Pagination/Classic.js +9 -6
  106. package/lib/components/List/components/Pagination/Classic.js.map +1 -1
  107. package/lib/components/List/components/Pagination/ListPagination.js +9 -11
  108. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  109. package/lib/components/List/components/helpers/check-if-should-render-banner.js +1 -0
  110. package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  111. package/lib/components/List/components/helpers/check-if-should-render-gtm.js +1 -0
  112. package/lib/components/List/components/helpers/check-if-should-render-gtm.js.map +1 -1
  113. package/lib/components/List/helpers/build-pagination-items.js +4 -3
  114. package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
  115. package/lib/components/List/helpers/build-pagination-url.js +2 -2
  116. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  117. package/lib/components/List/helpers/build-query-booster.js +1 -2
  118. package/lib/components/List/helpers/build-query-booster.js.map +1 -1
  119. package/lib/components/Loading/index.js +17 -3
  120. package/lib/components/Loading/index.js.map +1 -1
  121. package/lib/components/Menu/Menu.js +2 -1
  122. package/lib/components/Menu/Menu.js.map +1 -1
  123. package/lib/components/MenuItem/MenuItemRender.js +2 -1
  124. package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
  125. package/lib/components/Modal/Modal.js.map +1 -1
  126. package/lib/components/ModalAdapter/ModalAdapter.js +1 -1
  127. package/lib/components/ModalAdapter/ModalAdapter.js.map +1 -1
  128. package/lib/components/ModalAdapter/index.js +3 -2
  129. package/lib/components/ModalAdapter/index.js.map +1 -1
  130. package/lib/components/SearchContent/SearchContent.js +2 -1
  131. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  132. package/lib/components/SearchContent/SearchContentItems.js +0 -1
  133. package/lib/components/SearchContent/SearchContentItems.js.map +1 -1
  134. package/lib/components/SearchFilter/SearchFilter/FiltersList.js +3 -2
  135. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  136. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  137. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  138. package/lib/components/SearchFilter/SearchFilterContainer.js +9 -11
  139. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  140. package/lib/components/SearchFilter/components/Checkbox.js +2 -1
  141. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  142. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  143. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  144. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  145. package/lib/components/SearchFilter/helpers/build-url-query.js +10 -1
  146. package/lib/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  147. package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js +0 -1
  148. package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
  149. package/lib/components/SearchFilter/helpers/get-select-options.js +0 -1
  150. package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
  151. package/lib/components/SearchFilter/helpers/parse-filter-value.js +0 -1
  152. package/lib/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
  153. package/lib/components/SearchFilterSort/SearchFilterSort.js +0 -1
  154. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  155. package/lib/components/SocialFollow/SocialFollowRender.js +0 -1
  156. package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
  157. package/lib/components/Video/VideoModal.js +2 -1
  158. package/lib/components/Video/VideoModal.js.map +1 -1
  159. package/lib/components/Video/VideoRender.js +2 -1
  160. package/lib/components/Video/VideoRender.js.map +1 -1
  161. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js +2 -1
  162. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -1
  163. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js +2 -1
  164. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  165. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +3 -2
  166. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  167. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +2 -1
  168. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  169. package/lib/components/Video/providers/get-provider.js +7 -6
  170. package/lib/components/Video/providers/get-provider.js.map +1 -1
  171. package/lib/components/index.js +32 -31
  172. package/lib/components/index.js.map +1 -1
  173. package/lib/constants/index.js +2 -2
  174. package/lib/constants/index.js.map +1 -1
  175. package/lib/helpers/build-query-fields.js +1 -2
  176. package/lib/helpers/build-query-fields.js.map +1 -1
  177. package/lib/helpers/build-raw-query-stringified.js +0 -1
  178. package/lib/helpers/build-raw-query-stringified.js.map +1 -1
  179. package/lib/helpers/check-props-to-use.js +0 -1
  180. package/lib/helpers/check-props-to-use.js.map +1 -1
  181. package/lib/helpers/get-component-id.js +18 -0
  182. package/lib/helpers/get-component-id.js.map +1 -0
  183. package/lib/helpers/get-entities-with-banner.js +1 -1
  184. package/lib/helpers/get-generic-render-variables.js +0 -1
  185. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  186. package/lib/helpers/get-wrapped-value-with-link.js +0 -1
  187. package/lib/helpers/get-wrapped-value-with-link.js.map +1 -1
  188. package/lib/helpers/index.js +7 -0
  189. package/lib/helpers/index.js.map +1 -1
  190. package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js +0 -1
  191. package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
  192. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +1 -1
  193. package/lib/helpers/is-filter-entitys-id.js +1 -0
  194. package/lib/helpers/is-filter-entitys-id.js.map +1 -1
  195. package/lib/helpers/parse-TextBlock.js +2 -1
  196. package/lib/helpers/parse-TextBlock.js.map +1 -1
  197. package/lib/helpers/parse-props-to-display.js +2 -1
  198. package/lib/helpers/parse-props-to-display.js.map +1 -1
  199. package/lib/helpers/process-data-summary-value.js +3 -2
  200. package/lib/helpers/process-data-summary-value.js.map +1 -1
  201. package/lib/helpers/remove-unwanted-characters.js +1 -1
  202. package/lib/helpers/render-children.js +3 -3
  203. package/lib/helpers/render-children.js.map +1 -1
  204. package/lib/hooks/helpers/RenderComponent.js +1 -0
  205. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  206. package/lib/hooks/helpers/StoreImages.js +2 -1
  207. package/lib/hooks/helpers/StoreImages.js.map +1 -1
  208. package/lib/hooks/helpers/check-collisions.js +1 -0
  209. package/lib/hooks/helpers/check-collisions.js.map +1 -1
  210. package/lib/hooks/helpers/get-lightbox-images.js +8 -7
  211. package/lib/hooks/helpers/get-lightbox-images.js.map +1 -1
  212. package/lib/hooks/helpers/inject-textblock-banners.js +1 -1
  213. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  214. package/lib/hooks/use-page-builder.js +1 -1
  215. package/lib/hooks/use-page-builder.js.map +1 -1
  216. package/lib/hooks/use-portal.js +2 -1
  217. package/lib/hooks/use-portal.js.map +1 -1
  218. package/lib/index.js +6 -0
  219. package/lib/index.js.map +1 -1
  220. package/lib/utils/get-class-modifiers.js +1 -0
  221. package/lib/utils/get-class-modifiers.js.map +1 -1
  222. package/lib/utils/get-props-to-display-modifiers.js +0 -1
  223. package/lib/utils/get-props-to-display-modifiers.js.map +1 -1
  224. package/lib/variants/FloatingSideButton/index.js.map +1 -1
  225. package/lib/variants/HeroImage/index.js.map +1 -1
  226. package/lib/variants/Infographic/index.js +3 -2
  227. package/lib/variants/Infographic/index.js.map +1 -1
  228. package/lib/variants/LiveBlogList/LiveBlogList.js +2 -1
  229. package/lib/variants/LiveBlogList/LiveBlogList.js.map +1 -1
  230. package/lib/variants/LiveBlogList/index.js +3 -2
  231. package/lib/variants/LiveBlogList/index.js.map +1 -1
  232. package/lib/variants/LongformGallery/LongformGallery.js +0 -1
  233. package/lib/variants/LongformGallery/LongformGallery.js.map +1 -1
  234. package/lib/variants/LongformGallery/LongformGalleryImage.js.map +1 -1
  235. package/lib/variants/LongformGallery/index.js +3 -2
  236. package/lib/variants/LongformGallery/index.js.map +1 -1
  237. package/lib/variants/LongformRow/index.js.map +1 -1
  238. package/lib/variants/ParallaxImageTextRight/index.js.map +1 -1
  239. package/lib/variants/SlideSummary/index.js +3 -2
  240. package/lib/variants/SlideSummary/index.js.map +1 -1
  241. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js +0 -1
  242. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
  243. package/lib/variants/ThumbnailCarousel/index.js +3 -2
  244. package/lib/variants/ThumbnailCarousel/index.js.map +1 -1
  245. package/lib-es/HOC/recreateOnNavigation.js.map +1 -1
  246. package/lib-es/HOC/withTitle.js.map +1 -1
  247. package/lib-es/application/query/index.js.map +1 -1
  248. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  249. package/lib-es/components/Banner/Banner.js.map +1 -1
  250. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  251. package/lib-es/components/Banner/helpers.js.map +1 -1
  252. package/lib-es/components/Banner/index.js +1 -1
  253. package/lib-es/components/Banner/index.js.map +1 -1
  254. package/lib-es/components/Card/Card.js.map +1 -1
  255. package/lib-es/components/Card/CardsFactory.js.map +1 -1
  256. package/lib-es/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
  257. package/lib-es/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  258. package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
  259. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  260. package/lib-es/components/ContentGroup/helpers/get-active-tab.js.map +1 -1
  261. package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
  262. package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
  263. package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
  264. package/lib-es/components/DataSummary/DataSummaryTypes/index.js +5 -5
  265. package/lib-es/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  266. package/lib-es/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
  267. package/lib-es/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  268. package/lib-es/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
  269. package/lib-es/components/EmailConfirm/EmailConfirm.js.map +1 -1
  270. package/lib-es/components/EmailConfirm/mutation.js.map +1 -1
  271. package/lib-es/components/ErrorMessage/index.js +1 -1
  272. package/lib-es/components/ErrorMessage/index.js.map +1 -1
  273. package/lib-es/components/Iframe/Iframe.js.map +1 -1
  274. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  275. package/lib-es/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  276. package/lib-es/components/Image/GlobalLightbox/index.js +1 -1
  277. package/lib-es/components/Image/GlobalLightbox/index.js.map +1 -1
  278. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
  279. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  280. package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -1
  281. package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -1
  282. package/lib-es/components/Layout/Layout.js.map +1 -1
  283. package/lib-es/components/Layout/LayoutFactory.js +1 -1
  284. package/lib-es/components/Layout/LayoutFactory.js.map +1 -1
  285. package/lib-es/components/Layout/helpers/get-styles-to-update.js.map +1 -1
  286. package/lib-es/components/LazyImage/index.js +1 -1
  287. package/lib-es/components/LazyImage/index.js.map +1 -1
  288. package/lib-es/components/List/ListRender.js +23 -10
  289. package/lib-es/components/List/ListRender.js.map +1 -1
  290. package/lib-es/components/List/components/Header/ListHeader.js.map +1 -1
  291. package/lib-es/components/List/components/Pagination/Classic.js +9 -6
  292. package/lib-es/components/List/components/Pagination/Classic.js.map +1 -1
  293. package/lib-es/components/List/components/Pagination/ListPagination.js +8 -11
  294. package/lib-es/components/List/components/Pagination/ListPagination.js.map +1 -1
  295. package/lib-es/components/List/helpers/build-az-url.js.map +1 -1
  296. package/lib-es/components/List/helpers/build-pagination-items.js +4 -3
  297. package/lib-es/components/List/helpers/build-pagination-items.js.map +1 -1
  298. package/lib-es/components/List/helpers/build-pagination-url.js +2 -2
  299. package/lib-es/components/List/helpers/build-pagination-url.js.map +1 -1
  300. package/lib-es/components/List/helpers/get-az-query-filter.js.map +1 -1
  301. package/lib-es/components/List/helpers/get-list-query.js.map +1 -1
  302. package/lib-es/components/Loading/Loading.js.map +1 -1
  303. package/lib-es/components/Loading/index.js +2 -2
  304. package/lib-es/components/Loading/index.js.map +1 -1
  305. package/lib-es/components/Menu/Menu.js.map +1 -1
  306. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
  307. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -1
  308. package/lib-es/components/ModalAdapter/ModalAdapter.js +1 -1
  309. package/lib-es/components/ModalAdapter/ModalAdapter.js.map +1 -1
  310. package/lib-es/components/ModalAdapter/index.js +1 -1
  311. package/lib-es/components/ModalAdapter/index.js.map +1 -1
  312. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  313. package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -1
  314. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  315. package/lib-es/components/SearchFilter/SearchFilterContainer.js +8 -10
  316. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  317. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  318. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  319. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  320. package/lib-es/components/SearchFilter/constants.js.map +1 -1
  321. package/lib-es/components/SearchFilter/helpers/build-list-name-query.js.map +1 -1
  322. package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +1 -1
  323. package/lib-es/components/SearchFilter/helpers/build-url-query.js +8 -1
  324. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  325. package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
  326. package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -1
  327. package/lib-es/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
  328. package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  329. package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  330. package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  331. package/lib-es/components/SocialFollow/SFItem.js.map +1 -1
  332. package/lib-es/components/Video/Video.js.map +1 -1
  333. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  334. package/lib-es/components/Video/providers/Vimeo/helpers/add-extra-params-to-url.js.map +1 -1
  335. package/lib-es/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
  336. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  337. package/lib-es/components/Video/providers/YouTube/helpers/index.js.map +1 -1
  338. package/lib-es/components/Video/providers/get-provider.js +5 -5
  339. package/lib-es/components/Video/providers/get-provider.js.map +1 -1
  340. package/lib-es/components/Wrapper.js.map +1 -1
  341. package/lib-es/components/index.js +30 -30
  342. package/lib-es/components/index.js.map +1 -1
  343. package/lib-es/constants/componentsDefaultValues.js.map +1 -1
  344. package/lib-es/constants/index.js +2 -2
  345. package/lib-es/constants/index.js.map +1 -1
  346. package/lib-es/helpers/build-az-filter.js.map +1 -1
  347. package/lib-es/helpers/build-filters-query.js.map +1 -1
  348. package/lib-es/helpers/build-inherited-filters.js.map +1 -1
  349. package/lib-es/helpers/build-props-query.js.map +1 -1
  350. package/lib-es/helpers/build-query-fields.js +1 -1
  351. package/lib-es/helpers/build-query-fields.js.map +1 -1
  352. package/lib-es/helpers/build-query-key.js.map +1 -1
  353. package/lib-es/helpers/build-raw-query-base.js.map +1 -1
  354. package/lib-es/helpers/build-raw-query-stringified.js.map +1 -1
  355. package/lib-es/helpers/build-search-values-checkbox-select.js.map +1 -1
  356. package/lib-es/helpers/build-sort-values.js.map +1 -1
  357. package/lib-es/helpers/get-component-id.js +7 -0
  358. package/lib-es/helpers/get-component-id.js.map +1 -0
  359. package/lib-es/helpers/get-display-count-data.js.map +1 -1
  360. package/lib-es/helpers/get-entity-data.js.map +1 -1
  361. package/lib-es/helpers/get-extra-az-bits.js.map +1 -1
  362. package/lib-es/helpers/get-inherited-filters.js.map +1 -1
  363. package/lib-es/helpers/get-modifiers.js.map +1 -1
  364. package/lib-es/helpers/get-pagination-index.js.map +1 -1
  365. package/lib-es/helpers/get-query-props.js.map +1 -1
  366. package/lib-es/helpers/get-sort-by-field-name.js.map +1 -1
  367. package/lib-es/helpers/index.js +1 -0
  368. package/lib-es/helpers/index.js.map +1 -1
  369. package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  370. package/lib-es/helpers/is-filter-entitys-id.js.map +1 -1
  371. package/lib-es/helpers/process-data-summary-value.js +1 -1
  372. package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
  373. package/lib-es/hooks/helpers/buildPBComponents.js.map +1 -1
  374. package/lib-es/hooks/helpers/inject-textblock-banners.js +1 -1
  375. package/lib-es/hooks/helpers/inject-textblock-banners.js.map +1 -1
  376. package/lib-es/hooks/helpers/insert-banners.js.map +1 -1
  377. package/lib-es/hooks/helpers/update-targetings.js.map +1 -1
  378. package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -1
  379. package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -1
  380. package/lib-es/index.js +1 -1
  381. package/lib-es/index.js.map +1 -1
  382. package/lib-es/utils/component-map.js.map +1 -1
  383. package/lib-es/utils/get-class-modifiers.js.map +1 -1
  384. package/lib-es/utils/variant-handler.js.map +1 -1
  385. package/lib-es/variants/Infographic/index.js +1 -1
  386. package/lib-es/variants/Infographic/index.js.map +1 -1
  387. package/lib-es/variants/Infographic/useInfographic.js.map +1 -1
  388. package/lib-es/variants/LiveBlogList/LiveBlogList.js.map +1 -1
  389. package/lib-es/variants/LiveBlogList/index.js +1 -1
  390. package/lib-es/variants/LiveBlogList/index.js.map +1 -1
  391. package/lib-es/variants/LongformGallery/LongformGalleryImage.js.map +1 -1
  392. package/lib-es/variants/LongformGallery/constants.js.map +1 -1
  393. package/lib-es/variants/LongformGallery/index.js +1 -1
  394. package/lib-es/variants/LongformGallery/index.js.map +1 -1
  395. package/lib-es/variants/SlideSummary/index.js +1 -1
  396. package/lib-es/variants/SlideSummary/index.js.map +1 -1
  397. package/lib-es/variants/ThumbnailCarousel/index.js +1 -1
  398. package/lib-es/variants/ThumbnailCarousel/index.js.map +1 -1
  399. package/package.json +3 -2
  400. package/src/components/List/ListRender.js +61 -42
  401. package/src/components/List/components/Pagination/Classic.js +26 -6
  402. package/src/components/List/components/Pagination/ListPagination.js +8 -12
  403. package/src/components/List/helpers/build-pagination-items.js +11 -3
  404. package/src/components/List/helpers/build-pagination-url.js +2 -2
  405. package/src/components/Loading/index.js +2 -2
  406. package/src/components/SearchFilter/SearchFilterContainer.js +12 -10
  407. package/src/components/SearchFilter/helpers/build-url-query.js +10 -1
  408. package/src/constants/index.js +4 -4
  409. package/src/helpers/build-query-fields.js +1 -1
  410. package/src/helpers/get-component-id.js +9 -0
  411. package/src/helpers/index.js +1 -0
  412. package/src/index.js +2 -1
  413. package/tests/unit/src/components/List/__snapshots__/ListRender.test.js.snap +4 -2
  414. package/tests/unit/src/components/List/helpers/__snapshots__/build-pagination-items.test.js.snap +21 -21
  415. package/tests/unit/src/components/Loading/__snapshots__/Loading.test.js.snap +2 -14
  416. package/tests/unit/src/helpers/__snapshots__/build-query-fields.test.js.snap +2 -2
  417. package/tests/unit/src/helpers/get-component-id.test.js +36 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dynamic","SlideSummary","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/SlideSummary/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst SlideSummary = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantSlideSummary\" */ './SlideSummary')\n )\n};\nexport default SlideSummary;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,YAAY,GAAG;EACnBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL,OAAO,CAAC,MACxB,MAAM,CAAC,oDAAqD,gBAAgB,CAC9E;AACF,CAAC;AACD,eAAeC,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dynamic","SlideSummary","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/SlideSummary/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst SlideSummary = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantSlideSummary\" */ './SlideSummary')\n )\n};\nexport default SlideSummary;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,YAAY,GAAG;EACnBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL,OAAO,CAAC,MACxB,MAAM,EAAC,oDAAqD,gBAAgB,CAC9E;AACF,CAAC;AACD,eAAeC,YAAY","ignoreList":[]}
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import dynamic from 'next/dynamic';
5
5
  const ThumbnailCarousel = {
6
6
  getSettings: componentSettings => _objectSpread({}, componentSettings),
7
- VariantComponent: dynamic(() => import(/* webpackChunkName: "blazePbVariantThumbnailCarousel" */'./ThumbnailCarousel'))
7
+ VariantComponent: dynamic(() => import( /* webpackChunkName: "blazePbVariantThumbnailCarousel" */'./ThumbnailCarousel'))
8
8
  };
9
9
  export default ThumbnailCarousel;
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dynamic","ThumbnailCarousel","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/ThumbnailCarousel/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst ThumbnailCarousel = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantThumbnailCarousel\" */ './ThumbnailCarousel')\n )\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL,OAAO,CAAC,MACxB,MAAM,CAAC,yDAA0D,qBAAqB,CACxF;AACF,CAAC;AAED,eAAeC,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dynamic","ThumbnailCarousel","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/ThumbnailCarousel/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst ThumbnailCarousel = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantThumbnailCarousel\" */ './ThumbnailCarousel')\n )\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL,OAAO,CAAC,MACxB,MAAM,EAAC,yDAA0D,qBAAqB,CACxF;AACF,CAAC;AAED,eAAeC,iBAAiB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-alpha.50",
3
+ "version": "0.146.0-alpha.52",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -45,6 +45,7 @@
45
45
  "@blaze-react/select": "0.8.0-alpha.80",
46
46
  "@blaze-react/utils": "0.5.15",
47
47
  "core-js": "^3.2.1",
48
+ "cssesc": "^3.0.0",
48
49
  "dayjs": "^1.11.11",
49
50
  "entities": "^2.0.0",
50
51
  "html-react-parser": "^3.0.4",
@@ -90,5 +91,5 @@
90
91
  "lib/*",
91
92
  "lib-es/*"
92
93
  ],
93
- "gitHead": "1599a916aa4fd9dbaace05ea2c6892ddd5e26dfb"
94
+ "gitHead": "f0e8234a5233884e820519c2aa24b09c25f8e69c"
94
95
  }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { useQuery } from '@apollo/client';
3
3
  import PropTypes from 'prop-types';
4
4
  import ListPagination from './components/Pagination';
@@ -6,6 +6,7 @@ import ListHeader from './components/Header';
6
6
  import { LOAD_MORE } from '../../constants';
7
7
  import { useAppSyncEventHook } from '../../hooks';
8
8
  import { buildQueryBooster } from './helpers';
9
+ import { getComponentId } from '../../helpers';
9
10
 
10
11
  const ListRender = props => {
11
12
  const {
@@ -28,65 +29,83 @@ const ListRender = props => {
28
29
  azFilter,
29
30
  displayTotal
30
31
  } = props;
32
+ const listRef = useRef(null);
31
33
  const { data: updatedVariables } = useAppSyncEventHook({
32
34
  eventName: 'list:query-variables',
33
35
  data: variables,
34
36
  props
35
37
  });
36
38
  const boostedVariables = buildQueryBooster(props, updatedVariables);
37
- const { data = {}, error, loading, fetchMore } = useQuery(action, {
38
- variables: boostedVariables
39
- });
39
+ const { data = { [actionKey]: { results: [] }, total: 0 }, error, loading, fetchMore } = useQuery(
40
+ action,
41
+ {
42
+ variables: boostedVariables
43
+ }
44
+ );
40
45
 
41
- if (loading) return '';
46
+ if (loading && !listRef.current) {
47
+ // don't render if loading for the first time with no reference
48
+ return '';
49
+ }
42
50
  if (error) return error.message;
43
51
  if (!data[actionKey] || !data[actionKey].results) return null;
44
52
 
45
53
  const listData = data[actionKey].results;
46
54
  const listTotal = data[actionKey].total;
47
55
 
48
- if (!listData || !listData.length) return null;
49
- const { length: currentListLength } = listData;
56
+ if ((!listData || !listData.length) && !loading) return null;
57
+ const currentListLength = listData.length;
50
58
  const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);
51
59
  const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;
60
+ const componentId = getComponentId(name);
52
61
 
53
62
  return (
54
63
  <>
55
- <span className="list-top" />
56
- {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}
57
- {displayTotal && (
58
- <div className="list_total_results w-full text-left p-4">Total results: {totalDisplay}</div>
59
- )}
60
- <ListComponent
61
- orderedListData={listData}
62
- isInfinite={isInfinite}
63
- initialOffset={initialOffset}
64
- actionKey={actionKey}
65
- limitToUse={limitToUse}
66
- fetchMore={fetchMore}
67
- omitWrappers={omitWrappers}
68
- itemsPerPageToUse={itemsPerPageToUse || listData.length}
69
- listTotal={listTotal}
70
- currentListLength={currentListLength}
71
- currentPage={currentPage}
72
- query={query}
73
- url={url}
74
- itemsToDisplay={itemsToDisplay}
75
- {...props}
76
- />
77
- {paginationType !== LOAD_MORE && (
78
- <ListPagination
79
- limitToUse={limitToUse}
80
- itemsPerPage={itemsPerPageToUse}
81
- listTotal={listTotal}
82
- name={name}
83
- isInfinite={isInfinite}
84
- currentListLength={currentListLength}
85
- paginationType={paginationType}
86
- currentPage={currentPage}
87
- query={query}
88
- url={url}
89
- />
64
+ <div ref={listRef} id={componentId} className="list-top" />
65
+ {!loading && (
66
+ <>
67
+ {isAZ && (
68
+ <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />
69
+ )}
70
+ {displayTotal && (
71
+ <div className="list_total_results w-full text-left p-4">
72
+ Total results: {totalDisplay}
73
+ </div>
74
+ )}
75
+ <ListComponent
76
+ orderedListData={listData}
77
+ isInfinite={isInfinite}
78
+ initialOffset={initialOffset}
79
+ actionKey={actionKey}
80
+ limitToUse={limitToUse}
81
+ fetchMore={fetchMore}
82
+ omitWrappers={omitWrappers}
83
+ itemsPerPageToUse={itemsPerPageToUse || listData.length}
84
+ listTotal={listTotal}
85
+ currentListLength={currentListLength}
86
+ currentPage={currentPage}
87
+ query={query}
88
+ url={url}
89
+ itemsToDisplay={itemsToDisplay}
90
+ {...props}
91
+ />
92
+ {paginationType !== LOAD_MORE && (
93
+ <ListPagination
94
+ listRef={listRef}
95
+ componentId={componentId}
96
+ limitToUse={limitToUse}
97
+ itemsPerPage={itemsPerPageToUse}
98
+ listTotal={listTotal}
99
+ name={name}
100
+ isInfinite={isInfinite}
101
+ currentListLength={currentListLength}
102
+ paginationType={paginationType}
103
+ currentPage={currentPage}
104
+ query={query}
105
+ url={url}
106
+ />
107
+ )}
108
+ </>
90
109
  )}
91
110
  </>
92
111
  );
@@ -5,13 +5,32 @@ import BlazeLink from '../../../BlazeLink';
5
5
  import buildPaginationUrl from '../../helpers/build-pagination-url';
6
6
  import { NEXT_STRING, PREVIOUS_STRING } from '../../../../constants';
7
7
 
8
- const Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onClick }) => {
9
- const pages = buildPaginationItems({ name, numberOfPages, currentPage, query, url, onClick });
8
+ const Classic = ({
9
+ name,
10
+ numberOfPages,
11
+ currentPage,
12
+ query,
13
+ url,
14
+ isLastPage,
15
+ onClick,
16
+ componentId
17
+ }) => {
18
+ const pages = buildPaginationItems({
19
+ name,
20
+ numberOfPages,
21
+ currentPage,
22
+ query,
23
+ url,
24
+ onClick,
25
+ componentId
26
+ });
10
27
  const nextPage = currentPage + 1;
11
28
  const previousPage = currentPage - 1;
12
29
  const previousPageLink =
13
- currentPage > 1 ? buildPaginationUrl(name, previousPage, query, url) : null;
14
- const nextPageLink = !isLastPage ? buildPaginationUrl(name, nextPage, query, url) : null;
30
+ currentPage > 1 ? buildPaginationUrl(name, previousPage, query, url, componentId) : null;
31
+ const nextPageLink = !isLastPage
32
+ ? buildPaginationUrl(name, nextPage, query, url, componentId)
33
+ : null;
15
34
 
16
35
  return (
17
36
  <>
@@ -21,7 +40,7 @@ const Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onC
21
40
  className="pagination_page-previous"
22
41
  onClick={onClick}
23
42
  shallow
24
- scroll>
43
+ scroll={false}>
25
44
  {`${PREVIOUS_STRING} page`}
26
45
  </BlazeLink>
27
46
  )}
@@ -32,7 +51,7 @@ const Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onC
32
51
  className="pagination_page-next"
33
52
  onClick={onClick}
34
53
  shallow
35
- scroll>
54
+ scroll={false}>
36
55
  {`${NEXT_STRING} page`}
37
56
  </BlazeLink>
38
57
  )}
@@ -41,6 +60,7 @@ const Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onC
41
60
  };
42
61
 
43
62
  Classic.propTypes = {
63
+ componentId: PropTypes.string.isRequired,
44
64
  numberOfPages: PropTypes.number.isRequired,
45
65
  currentPage: PropTypes.number.isRequired,
46
66
  name: PropTypes.string.isRequired,
@@ -1,10 +1,11 @@
1
- import React, { useState, useEffect, useRef } from 'react';
1
+ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Classic from './Classic';
4
4
  import LoadMore from './LoadMore';
5
- import { LOAD_MORE, SCROLL_OFFSET } from '../../../../constants';
5
+ import { LOAD_MORE } from '../../../../constants';
6
6
 
7
7
  const ListPagination = ({
8
+ listRef,
8
9
  listTotal,
9
10
  name,
10
11
  itemsPerPage,
@@ -15,18 +16,12 @@ const ListPagination = ({
15
16
  ...props
16
17
  }) => {
17
18
  const [showPagination, setShowPagination] = useState(true);
18
- const paginationRef = useRef(null);
19
19
 
20
20
  const isLoadMore = paginationType === LOAD_MORE;
21
+
21
22
  const scrollOnClick = () => {
22
- if (!isLoadMore && paginationRef && paginationRef.current) {
23
- window.scrollTo({
24
- left: 0,
25
- top:
26
- window.pageYOffset -
27
- SCROLL_OFFSET +
28
- paginationRef.current.previousSibling.getBoundingClientRect().top
29
- });
23
+ if (!isLoadMore && listRef && listRef.current) {
24
+ listRef.current.scrollIntoView();
30
25
  }
31
26
  };
32
27
 
@@ -54,13 +49,14 @@ const ListPagination = ({
54
49
  };
55
50
 
56
51
  return (
57
- <div className="pagination" ref={paginationRef}>
52
+ <div className="pagination">
58
53
  {isLoadMore ? <LoadMore {...paginationProps} /> : <Classic {...paginationProps} />}
59
54
  </div>
60
55
  );
61
56
  };
62
57
 
63
58
  ListPagination.propTypes = {
59
+ listRef: PropTypes.object.isRequired,
64
60
  currentPage: PropTypes.number.isRequired,
65
61
  paginationType: PropTypes.string.isRequired,
66
62
  listTotal: PropTypes.number.isRequired,
@@ -3,7 +3,15 @@ import BlazeLink from '../../BlazeLink';
3
3
  import buildPaginationUrl from './build-pagination-url';
4
4
  import { PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE } from '../../../constants';
5
5
 
6
- const buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, onClick }) => {
6
+ const buildPaginationItems = ({
7
+ name,
8
+ numberOfPages,
9
+ currentPage,
10
+ query,
11
+ url,
12
+ onClick,
13
+ componentId
14
+ }) => {
7
15
  const pages = [];
8
16
  const paginationDifference =
9
17
  currentPage > PAGINATION_DIFFERENCE ? currentPage - PAGINATION_DIFFERENCE : 0;
@@ -13,7 +21,7 @@ const buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, on
13
21
  for (let index = 0; index < numberOfPages; index += 1) {
14
22
  const page = index + 1 + paginationDifference;
15
23
  if (pages.length < PAGINATION_DISPLAY_LIMIT && page <= numberOfPages) {
16
- const href = buildPaginationUrl(name, page, query, url);
24
+ const href = buildPaginationUrl(name, page, query, url, componentId);
17
25
  const pageHtml =
18
26
  page === currentPage ? (
19
27
  <span key={page} className="pagination_page-item--current">
@@ -26,7 +34,7 @@ const buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, on
26
34
  className="pagination_page-item"
27
35
  onClick={onClick}
28
36
  shallow
29
- scroll
37
+ scroll={false}
30
38
  ariaLabel={`Page ${page}`}>
31
39
  {page}
32
40
  </BlazeLink>
@@ -1,10 +1,10 @@
1
1
  import { stringify } from 'query-string';
2
2
  import { PB_QUERY_CONST, PAGINATION_QUERY_CONST } from '../../../constants';
3
3
 
4
- const buildPaginationUrl = (name, page, query, url) => {
4
+ const buildPaginationUrl = (name, page, query, url, componentId) => {
5
5
  const newQuery = { ...query, [`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`]: page };
6
6
  const stringQuery = stringify(newQuery);
7
- return `${url}?${stringQuery}`;
7
+ return `${url}?${stringQuery}${componentId ? `#${componentId}` : ''}`;
8
8
  };
9
9
 
10
10
  export default buildPaginationUrl;
@@ -1,3 +1,3 @@
1
- import Loading from './Loading';
1
+ import dynamic from 'next/dynamic';
2
2
 
3
- export default Loading;
3
+ export default dynamic(() => import(/* webpackChunkName: "blazePbLoading" */ './Loading'));
@@ -19,10 +19,10 @@ import {
19
19
  getInheritedFilters,
20
20
  getQueryProps,
21
21
  buildRawQueryStringified,
22
- buildFiltersQuery
22
+ buildFiltersQuery,
23
+ getComponentId
23
24
  } from '../../helpers';
24
25
  import { RAW_RESULTS } from './constants';
25
- import { SCROLL_OFFSET } from '../../constants';
26
26
  import searchFilterReducer from './searchFilterReducer';
27
27
  import { useGetEntitySchemasAsObj } from '../../hooks';
28
28
 
@@ -133,10 +133,13 @@ const SearchFilterContainer = ({
133
133
  }
134
134
 
135
135
  const handleSearch = newQuery => {
136
+ const componentId = listComponentName ? getComponentId(listComponentName) : '';
136
137
  setDisplaySearchFilter(false);
137
138
  const hashBit = asPath.split('#')[1] || '';
138
- const parsedHashBit = hashBit ? `#${hashBit}` : '';
139
- scrollToFirstList();
139
+ let parsedHashBit = hashBit ? `#${hashBit}` : '';
140
+ parsedHashBit = parsedHashBit || `#${componentId}`;
141
+
142
+ scrollToFirstList(componentId);
140
143
  if (!newQuery) {
141
144
  const baseQuery = `${currentUrl}${parsedHashBit}`;
142
145
  setUrlPath(baseQuery);
@@ -149,15 +152,14 @@ const SearchFilterContainer = ({
149
152
  return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });
150
153
  };
151
154
 
152
- const scrollToFirstList = () => {
153
- const [list] = document.getElementsByClassName('list-top');
155
+ const scrollToFirstList = componentId => {
156
+ const list = componentId
157
+ ? document.getElementById(componentId)
158
+ : document.getElementsByClassName('list-top')[0];
154
159
  const shouldScrollToFirstList = !url && list;
155
160
 
156
161
  if (shouldScrollToFirstList) {
157
- window.scrollTo({
158
- left: 0,
159
- top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top
160
- });
162
+ list.scrollIntoView();
161
163
  } else {
162
164
  window.scrollTo(0, 0);
163
165
  }
@@ -22,7 +22,16 @@ const buildUrlQuery = (filterValues = {}, filters = [], listComponentName = '',
22
22
  });
23
23
 
24
24
  Object.keys(query).forEach(key => {
25
- if (queryKeys.indexOf(key) === -1) newQuery.push(`${key}=${query[key]}`);
25
+ if (queryKeys.indexOf(key) !== -1) return;
26
+
27
+ let shouldAdd = true;
28
+ if (!listComponentName) {
29
+ shouldAdd = !key.endsWith('[page]');
30
+ } else {
31
+ shouldAdd = !key.includes(listComponentName);
32
+ }
33
+
34
+ if (shouldAdd) newQuery.push(`${key}=${query[key]}`);
26
35
  });
27
36
 
28
37
  return newQuery.join('&');
@@ -165,8 +165,6 @@ const AZ = [
165
165
 
166
166
  const AZ_DEFAULT_PROP = 'name';
167
167
 
168
- const SCROLL_OFFSET = process.env.BLAZE_SCROLL_OFFSET || 50;
169
-
170
168
  const BANNER_LOADING = 'loading';
171
169
  const BANNER_EMPTY = 'empty';
172
170
  const BANNER_LOADED = 'loaded';
@@ -178,6 +176,8 @@ const DATA_SUMMARY_URL_REGEX = /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,2
178
176
  const DATA_SUMMARY_TEL_REGEX = /^\+{0,1}[0-9\(\)\.\- \/]{7,}$/; // note: very loose phone number match not for validation
179
177
  const SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;
180
178
 
179
+ const COMPONENT_ID_PREFIX = 'pb-';
180
+
181
181
  export {
182
182
  BANNER_LOADING,
183
183
  BANNER_EMPTY,
@@ -279,12 +279,12 @@ export {
279
279
  AZ_QUERY_CONST,
280
280
  AZ_DEFAULT_PROP,
281
281
  AZ,
282
- SCROLL_OFFSET,
283
282
  ANCHOR_TAG,
284
283
  TARGET_BLANK,
285
284
  DATA_SUMMARY_EMAIL_REGEX,
286
285
  DATA_SUMMARY_URL_REGEX,
287
286
  DATA_SUMMARY_TEL_REGEX,
288
287
  VIMEO_OEMBED_URL,
289
- SIZE
288
+ SIZE,
289
+ COMPONENT_ID_PREFIX
290
290
  };
@@ -6,7 +6,7 @@ const buildQueryFields = (sanitizedEntityFields, entityTypes, isFull) =>
6
6
  ${sanitizedEntityFields}
7
7
  __typename
8
8
  id
9
- ${isFull ? 'pageBuilderComponents' : ''}
9
+ ${isFull ? 'pageBuilderComponents: preparedPageBuilderComponents' : ''}
10
10
  }`
11
11
  )}
12
12
  },
@@ -0,0 +1,9 @@
1
+ import cssesc from 'cssesc';
2
+ import { COMPONENT_ID_PREFIX } from '../constants';
3
+
4
+ const getComponentId = componentName =>
5
+ cssesc(`${COMPONENT_ID_PREFIX}${componentName}`, {
6
+ isIdentifier: true
7
+ });
8
+
9
+ export default getComponentId;
@@ -61,3 +61,4 @@ export { default as shouldReturn } from './should-return';
61
61
  export { default as shouldSkipSingleQuery } from './should-skip-single-query';
62
62
  export { default as buildRawQueryStringified } from './build-raw-query-stringified';
63
63
  export { default as buildFiltersQuery } from './build-filters-query';
64
+ export { default as getComponentId } from './get-component-id';
package/src/index.js CHANGED
@@ -25,7 +25,8 @@ export {
25
25
  buildFiltersQuery,
26
26
  getUnpublishedEntityName,
27
27
  renderChildren,
28
- hasChildren
28
+ hasChildren,
29
+ getComponentId
29
30
  } from './helpers';
30
31
  export { withTitle } from './HOC';
31
32
  export { useGetEntitySchema, useGetEntitySchemasAsObj, useGetSingleEntitySchema } from './hooks';
@@ -4,8 +4,9 @@ exports[`ListRender component should not render a List if no actionKey match is
4
4
 
5
5
  exports[`ListRender component should not render a List with total if displayTotal is true 1`] = `
6
6
  <DocumentFragment>
7
- <span
7
+ <div
8
8
  class="list-top"
9
+ id="pb-list"
9
10
  />
10
11
  <div
11
12
  class="list_total_results w-full text-left p-4"
@@ -23,8 +24,9 @@ exports[`ListRender component should not render a List with total if displayTota
23
24
 
24
25
  exports[`ListRender component should render a List based on passed parameters 1`] = `
25
26
  <DocumentFragment>
26
- <span
27
+ <div
27
28
  class="list-top"
29
+ id="pb-list"
28
30
  />
29
31
  <div>
30
32
  Mocked List Comp