@blaze-cms/react-page-builder 0.124.0-alpha.4 → 0.124.0-alpha.40

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 (419) hide show
  1. package/CHANGELOG.md +320 -0
  2. package/README.md +9 -0
  3. package/example.env +1 -0
  4. package/lib/BannerContext/index.js.map +1 -1
  5. package/lib/HOC/withInfiniteScroll.js.map +1 -1
  6. package/lib/HOC/withTitle.js.map +1 -1
  7. package/lib/PBContext/index.js.map +1 -1
  8. package/lib/application/query/index.js +9 -3
  9. package/lib/application/query/index.js.map +1 -1
  10. package/lib/components/BackToTop/BackToTop.js.map +1 -1
  11. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  12. package/lib/components/Banner/Banner.js.map +1 -1
  13. package/lib/components/Banner/BannerRender.js.map +1 -1
  14. package/lib/components/Banner/helpers.js.map +1 -1
  15. package/lib/components/Banner/index.js.map +1 -1
  16. package/lib/components/BlazeLink.js.map +1 -1
  17. package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
  18. package/lib/components/Button.js.map +1 -1
  19. package/lib/components/Card/Card.js.map +1 -1
  20. package/lib/components/Card/CardContainer.js +3 -7
  21. package/lib/components/Card/CardContainer.js.map +1 -1
  22. package/lib/components/Card/CardFactory.js +6 -3
  23. package/lib/components/Card/CardFactory.js.map +1 -1
  24. package/lib/components/Card/CardRender.js.map +1 -1
  25. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  26. package/lib/components/Card/helpers/filters-setup.js.map +1 -1
  27. package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
  28. package/lib/components/Carousel/Carousel.js.map +1 -1
  29. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  30. package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  31. package/lib/components/CarouselWrapper.js +2 -2
  32. package/lib/components/CarouselWrapper.js.map +1 -1
  33. package/lib/components/ClickWrapper.js.map +1 -1
  34. package/lib/components/Code/Code.js.map +1 -1
  35. package/lib/components/Code/ScriptTag.js.map +1 -1
  36. package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
  37. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  38. package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
  39. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
  40. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
  41. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -1
  42. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  43. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -1
  44. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
  45. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -1
  46. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
  47. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -1
  48. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
  49. package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  50. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  51. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  52. package/lib/components/DataSummary/helpers/get-data-summary-query.js.map +1 -1
  53. package/lib/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
  54. package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  55. package/lib/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
  56. package/lib/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -1
  57. package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
  58. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  59. package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  60. package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
  61. package/lib/components/Image/Image.js.map +1 -1
  62. package/lib/components/Image/ImageDetails.js.map +1 -1
  63. package/lib/components/Image/ImageFactory.js.map +1 -1
  64. package/lib/components/Image/ImageRender.js +5 -1
  65. package/lib/components/Image/ImageRender.js.map +1 -1
  66. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  67. package/lib/components/ItemList/ItemListButton/ItemListButton.js +161 -0
  68. package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
  69. package/lib/components/ItemList/ItemListButton/index.js +16 -0
  70. package/lib/components/ItemList/ItemListButton/index.js.map +1 -0
  71. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js +83 -0
  72. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
  73. package/lib/components/ItemList/ItemListCounter/index.js +16 -0
  74. package/lib/components/ItemList/ItemListCounter/index.js.map +1 -0
  75. package/lib/components/ItemList/ItemListNew/ItemListNew.js +87 -0
  76. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
  77. package/lib/components/ItemList/ItemListNew/index.js +16 -0
  78. package/lib/components/ItemList/ItemListNew/index.js.map +1 -0
  79. package/lib/components/ItemList/constants.js +19 -0
  80. package/lib/components/ItemList/constants.js.map +1 -0
  81. package/lib/components/ItemList/helpers/get-item-list-data.js +17 -0
  82. package/lib/components/ItemList/helpers/get-item-list-data.js.map +1 -0
  83. package/lib/components/ItemList/helpers/get-item-list-id.js +23 -0
  84. package/lib/components/ItemList/helpers/get-item-list-id.js.map +1 -0
  85. package/lib/components/ItemList/helpers/get-item-list-ids.js +28 -0
  86. package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
  87. package/lib/components/ItemList/helpers/index.js +50 -0
  88. package/lib/components/ItemList/helpers/index.js.map +1 -0
  89. package/lib/components/ItemList/helpers/set-item-list-id.js +22 -0
  90. package/lib/components/ItemList/helpers/set-item-list-id.js.map +1 -0
  91. package/lib/components/ItemList/helpers/set-param-and-redirect.js +51 -0
  92. package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
  93. package/lib/components/ItemList/hooks/index.js +18 -0
  94. package/lib/components/ItemList/hooks/index.js.map +1 -0
  95. package/lib/components/ItemList/hooks/use-item-list-id.js +45 -0
  96. package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -0
  97. package/lib/components/Layout/Layout.js.map +1 -1
  98. package/lib/components/Layout/helpers/check-if-row-has-columns.js.map +1 -1
  99. package/lib/components/LazyImage/LazyImage.js +5 -1
  100. package/lib/components/LazyImage/LazyImage.js.map +1 -1
  101. package/lib/components/LazyImage/index.js.map +1 -1
  102. package/lib/components/List/ListBuilder.js +12 -6
  103. package/lib/components/List/ListBuilder.js.map +1 -1
  104. package/lib/components/List/ListFactory.js +34 -7
  105. package/lib/components/List/ListFactory.js.map +1 -1
  106. package/lib/components/List/ListRender.js.map +1 -1
  107. package/lib/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -1
  108. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  109. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  110. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  111. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  112. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  113. package/lib/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -1
  114. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  115. package/lib/components/List/components/Pagination/Classic.js.map +1 -1
  116. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  117. package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
  118. package/lib/components/List/helpers/build-az-aggregations.js.map +1 -1
  119. package/lib/components/List/helpers/build-az-url.js.map +1 -1
  120. package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
  121. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  122. package/lib/components/List/helpers/has-required-item-list-details.js +29 -0
  123. package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -0
  124. package/lib/components/List/helpers/index.js +8 -0
  125. package/lib/components/List/helpers/index.js.map +1 -1
  126. package/lib/components/Login/LoggedInMessage.js.map +1 -1
  127. package/lib/components/Login/Login.js.map +1 -1
  128. package/lib/components/Login/LoginForm.js.map +1 -1
  129. package/lib/components/Menu/Menu.js +41 -28
  130. package/lib/components/Menu/Menu.js.map +1 -1
  131. package/lib/components/Menu/MenuContext.js +20 -0
  132. package/lib/components/Menu/MenuContext.js.map +1 -0
  133. package/lib/components/MenuItem/MenuItem.js +26 -7
  134. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  135. package/lib/components/Modal/Modal.js.map +1 -1
  136. package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
  137. package/lib/components/PasswordReset/helpers/validatePassword.js.map +1 -1
  138. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
  139. package/lib/components/SearchContent/SearchContent.js +183 -0
  140. package/lib/components/SearchContent/SearchContent.js.map +1 -0
  141. package/lib/components/SearchContent/SearchContentItems.js +51 -0
  142. package/lib/components/SearchContent/SearchContentItems.js.map +1 -0
  143. package/lib/components/SearchContent/SearchContentResults.js +45 -0
  144. package/lib/components/SearchContent/SearchContentResults.js.map +1 -0
  145. package/lib/components/SearchContent/SearchContentToggleIcon.js +42 -0
  146. package/lib/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
  147. package/lib/components/SearchContent/index.js +2 -233
  148. package/lib/components/SearchContent/index.js.map +1 -1
  149. package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
  150. package/lib/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
  151. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  152. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  153. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  154. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +27 -69
  155. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  156. package/lib/components/SearchFilter/SearchFilterContainer.js +87 -23
  157. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  158. package/lib/components/SearchFilter/components/Checkbox.js +19 -9
  159. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  160. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  161. package/lib/components/SearchFilter/components/Select.js +27 -11
  162. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  163. package/lib/components/SearchFilter/components/TextSearch.js +1 -5
  164. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  165. package/lib/components/SearchFilter/constants.js +1 -1
  166. package/lib/components/SearchFilter/constants.js.map +1 -1
  167. package/lib/components/SearchFilter/helpers/build-filters-query.js +87 -0
  168. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
  169. package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
  170. package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  171. package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
  172. package/lib/components/SearchFilter/helpers/calculate-min-max.js.map +1 -1
  173. package/lib/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -1
  174. package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
  175. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
  176. package/lib/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -1
  177. package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
  178. package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
  179. package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
  180. package/lib/components/SearchFilter/helpers/index.js +8 -0
  181. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  182. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  183. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  184. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  185. package/lib/components/SocialFollow/SFItem.js.map +1 -1
  186. package/lib/components/SocialFollow/SocialFollow.js.map +1 -1
  187. package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
  188. package/lib/components/SubMenu/SubMenu.js.map +1 -1
  189. package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
  190. package/lib/components/TextBlock/index.js.map +1 -1
  191. package/lib/components/Video/Video.js.map +1 -1
  192. package/lib/components/Video/VideoModal.js.map +1 -1
  193. package/lib/components/Video/VideoRender.js.map +1 -1
  194. package/lib/components/Video/providers/Default.js.map +1 -1
  195. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  196. package/lib/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
  197. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  198. package/lib/components/Video/providers/get-provider.js.map +1 -1
  199. package/lib/components/Wrapper.js.map +1 -1
  200. package/lib/components/index.js +16 -1
  201. package/lib/components/index.js.map +1 -1
  202. package/lib/constants/index.js +3 -1
  203. package/lib/constants/index.js.map +1 -1
  204. package/lib/helpers/build-inherited-filters.js.map +1 -1
  205. package/lib/helpers/build-raw-query-base.js.map +1 -1
  206. package/lib/helpers/build-raw-query.js.map +1 -1
  207. package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
  208. package/lib/helpers/check-props-to-use.js.map +1 -1
  209. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  210. package/lib/helpers/get-entity-data.js.map +1 -1
  211. package/lib/helpers/get-entity-render-props.js.map +1 -1
  212. package/lib/helpers/get-filter-props.js.map +1 -1
  213. package/lib/helpers/get-generic-props.js.map +1 -1
  214. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  215. package/lib/helpers/get-image-ids.js.map +1 -1
  216. package/lib/helpers/get-parsed-prop-values.js.map +1 -1
  217. package/lib/helpers/get-prop-values.js.map +1 -1
  218. package/lib/helpers/get-query-filters.js.map +1 -1
  219. package/lib/helpers/get-query-props.js.map +1 -1
  220. package/lib/helpers/get-updated-filter-by.js.map +1 -1
  221. package/lib/helpers/inject-banner.js.map +1 -1
  222. package/lib/helpers/inject-banners-to-entities.js.map +1 -1
  223. package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
  224. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  225. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -1
  226. package/lib/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -1
  227. package/lib/helpers/is-filter-entitys-id.js.map +1 -1
  228. package/lib/helpers/parse-TextBlock.js.map +1 -1
  229. package/lib/helpers/parse-props-to-display.js.map +1 -1
  230. package/lib/helpers/render-children.js.map +1 -1
  231. package/lib/helpers/sort-response-data.js.map +1 -1
  232. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  233. package/lib/hooks/helpers/append-gtm-classname.js +1 -0
  234. package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
  235. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  236. package/lib/hooks/helpers/getComponent.js.map +1 -1
  237. package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
  238. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  239. package/lib/hooks/helpers/insert-banners.js.map +1 -1
  240. package/lib/hooks/helpers/update-targetings.js.map +1 -1
  241. package/lib/hooks/use-banner-insertion.js.map +1 -1
  242. package/lib/hooks/use-check-mobile-screen.js.map +1 -1
  243. package/lib/hooks/use-get-entity-schema.js.map +1 -1
  244. package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
  245. package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
  246. package/lib/hooks/use-get-images.js.map +1 -1
  247. package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
  248. package/lib/hooks/use-page-builder.js.map +1 -1
  249. package/lib/utils/get-class-modifiers.js.map +1 -1
  250. package/lib/utils/get-image-data.js.map +1 -1
  251. package/lib-es/application/query/index.js +49 -1
  252. package/lib-es/application/query/index.js.map +1 -1
  253. package/lib-es/components/Card/CardContainer.js +3 -7
  254. package/lib-es/components/Card/CardContainer.js.map +1 -1
  255. package/lib-es/components/Card/CardFactory.js +7 -4
  256. package/lib-es/components/Card/CardFactory.js.map +1 -1
  257. package/lib-es/components/CarouselWrapper.js +2 -2
  258. package/lib-es/components/CarouselWrapper.js.map +1 -1
  259. package/lib-es/components/Image/ImageRender.js +4 -1
  260. package/lib-es/components/Image/ImageRender.js.map +1 -1
  261. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js +111 -0
  262. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
  263. package/lib-es/components/ItemList/ItemListButton/index.js +3 -0
  264. package/lib-es/components/ItemList/ItemListButton/index.js.map +1 -0
  265. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js +60 -0
  266. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
  267. package/lib-es/components/ItemList/ItemListCounter/index.js +3 -0
  268. package/lib-es/components/ItemList/ItemListCounter/index.js.map +1 -0
  269. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +64 -0
  270. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
  271. package/lib-es/components/ItemList/ItemListNew/index.js +3 -0
  272. package/lib-es/components/ItemList/ItemListNew/index.js.map +1 -0
  273. package/lib-es/components/ItemList/constants.js +6 -0
  274. package/lib-es/components/ItemList/constants.js.map +1 -0
  275. package/lib-es/components/ItemList/helpers/get-item-list-data.js +7 -0
  276. package/lib-es/components/ItemList/helpers/get-item-list-data.js.map +1 -0
  277. package/lib-es/components/ItemList/helpers/get-item-list-id.js +11 -0
  278. package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -0
  279. package/lib-es/components/ItemList/helpers/get-item-list-ids.js +13 -0
  280. package/lib-es/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
  281. package/lib-es/components/ItemList/helpers/index.js +6 -0
  282. package/lib-es/components/ItemList/helpers/index.js.map +1 -0
  283. package/lib-es/components/ItemList/helpers/set-item-list-id.js +10 -0
  284. package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -0
  285. package/lib-es/components/ItemList/helpers/set-param-and-redirect.js +20 -0
  286. package/lib-es/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
  287. package/lib-es/components/ItemList/hooks/index.js +2 -0
  288. package/lib-es/components/ItemList/hooks/index.js.map +1 -0
  289. package/lib-es/components/ItemList/hooks/use-item-list-id.js +26 -0
  290. package/lib-es/components/ItemList/hooks/use-item-list-id.js.map +1 -0
  291. package/lib-es/components/LazyImage/LazyImage.js +4 -1
  292. package/lib-es/components/LazyImage/LazyImage.js.map +1 -1
  293. package/lib-es/components/List/ListBuilder.js +12 -6
  294. package/lib-es/components/List/ListBuilder.js.map +1 -1
  295. package/lib-es/components/List/ListFactory.js +33 -9
  296. package/lib-es/components/List/ListFactory.js.map +1 -1
  297. package/lib-es/components/List/helpers/has-required-item-list-details.js +20 -0
  298. package/lib-es/components/List/helpers/has-required-item-list-details.js.map +1 -0
  299. package/lib-es/components/List/helpers/index.js +1 -0
  300. package/lib-es/components/List/helpers/index.js.map +1 -1
  301. package/lib-es/components/Menu/Menu.js +54 -46
  302. package/lib-es/components/Menu/Menu.js.map +1 -1
  303. package/lib-es/components/Menu/MenuContext.js +6 -0
  304. package/lib-es/components/Menu/MenuContext.js.map +1 -0
  305. package/lib-es/components/MenuItem/MenuItem.js +24 -9
  306. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  307. package/lib-es/components/SearchContent/SearchContent.js +129 -0
  308. package/lib-es/components/SearchContent/SearchContent.js.map +1 -0
  309. package/lib-es/components/SearchContent/SearchContentItems.js +33 -0
  310. package/lib-es/components/SearchContent/SearchContentItems.js.map +1 -0
  311. package/lib-es/components/SearchContent/SearchContentResults.js +31 -0
  312. package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -0
  313. package/lib-es/components/SearchContent/SearchContentToggleIcon.js +30 -0
  314. package/lib-es/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
  315. package/lib-es/components/SearchContent/index.js +1 -172
  316. package/lib-es/components/SearchContent/index.js.map +1 -1
  317. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
  318. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  319. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +21 -46
  320. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  321. package/lib-es/components/SearchFilter/SearchFilterContainer.js +70 -15
  322. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  323. package/lib-es/components/SearchFilter/components/Checkbox.js +18 -9
  324. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  325. package/lib-es/components/SearchFilter/components/Select.js +23 -8
  326. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  327. package/lib-es/components/SearchFilter/components/TextSearch.js +1 -5
  328. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  329. package/lib-es/components/SearchFilter/constants.js +1 -1
  330. package/lib-es/components/SearchFilter/constants.js.map +1 -1
  331. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +54 -0
  332. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
  333. package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  334. package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
  335. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
  336. package/lib-es/components/SearchFilter/helpers/index.js +2 -1
  337. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  338. package/lib-es/components/index.js +10 -1
  339. package/lib-es/components/index.js.map +1 -1
  340. package/lib-es/constants/index.js +2 -1
  341. package/lib-es/constants/index.js.map +1 -1
  342. package/lib-es/helpers/build-raw-query.js.map +1 -1
  343. package/lib-es/hooks/helpers/append-gtm-classname.js +1 -0
  344. package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
  345. package/package.json +5 -4
  346. package/src/application/query/index.js +55 -1
  347. package/src/components/Card/CardContainer.js +2 -6
  348. package/src/components/Card/CardFactory.js +5 -3
  349. package/src/components/CarouselWrapper.js +2 -2
  350. package/src/components/Image/ImageRender.js +3 -0
  351. package/src/components/ItemList/ItemListButton/ItemListButton.js +94 -0
  352. package/src/components/ItemList/ItemListButton/index.js +3 -0
  353. package/src/components/ItemList/ItemListCounter/ItemListCounter.js +52 -0
  354. package/src/components/ItemList/ItemListCounter/index.js +3 -0
  355. package/src/components/ItemList/ItemListNew/ItemListNew.js +51 -0
  356. package/src/components/ItemList/ItemListNew/index.js +3 -0
  357. package/src/components/ItemList/constants.js +5 -0
  358. package/src/components/ItemList/helpers/get-item-list-data.js +6 -0
  359. package/src/components/ItemList/helpers/get-item-list-id.js +11 -0
  360. package/src/components/ItemList/helpers/get-item-list-ids.js +10 -0
  361. package/src/components/ItemList/helpers/index.js +5 -0
  362. package/src/components/ItemList/helpers/set-item-list-id.js +9 -0
  363. package/src/components/ItemList/helpers/set-param-and-redirect.js +20 -0
  364. package/src/components/ItemList/hooks/index.js +1 -0
  365. package/src/components/ItemList/hooks/use-item-list-id.js +27 -0
  366. package/src/components/LazyImage/LazyImage.js +11 -1
  367. package/src/components/List/ListBuilder.js +10 -5
  368. package/src/components/List/ListFactory.js +48 -12
  369. package/src/components/List/helpers/has-required-item-list-details.js +14 -0
  370. package/src/components/List/helpers/index.js +1 -0
  371. package/src/components/Menu/Menu.js +61 -54
  372. package/src/components/Menu/MenuContext.js +5 -0
  373. package/src/components/MenuItem/MenuItem.js +39 -14
  374. package/src/components/SearchContent/SearchContent.js +136 -0
  375. package/src/components/SearchContent/SearchContentItems.js +28 -0
  376. package/src/components/SearchContent/SearchContentResults.js +27 -0
  377. package/src/components/SearchContent/SearchContentToggleIcon.js +27 -0
  378. package/src/components/SearchContent/index.js +1 -177
  379. package/src/components/SearchFilter/SearchFilter/FiltersList.js +30 -37
  380. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +20 -28
  381. package/src/components/SearchFilter/SearchFilterContainer.js +58 -16
  382. package/src/components/SearchFilter/components/Checkbox.js +23 -8
  383. package/src/components/SearchFilter/components/Select.js +18 -11
  384. package/src/components/SearchFilter/components/TextSearch.js +1 -3
  385. package/src/components/SearchFilter/constants.js +1 -1
  386. package/src/components/SearchFilter/helpers/build-filters-query.js +40 -0
  387. package/src/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  388. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +1 -0
  389. package/src/components/SearchFilter/helpers/index.js +3 -1
  390. package/src/components/index.js +10 -1
  391. package/src/constants/index.js +2 -0
  392. package/src/helpers/build-raw-query.js +1 -0
  393. package/src/hooks/helpers/append-gtm-classname.js +3 -0
  394. package/tests/helpers/mocks.js +4 -4
  395. package/tests/unit/src/components/ItemList/ItemListButton.test.js +175 -0
  396. package/tests/unit/src/components/ItemList/ItemListCounter.test.js +65 -0
  397. package/tests/unit/src/components/ItemList/ItemListNew.test.js +164 -0
  398. package/tests/unit/src/components/ItemList/__snapshots__/ItemListButton.test.js.snap +107 -0
  399. package/tests/unit/src/components/ItemList/__snapshots__/ItemListCounter.test.js.snap +31 -0
  400. package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +27 -0
  401. package/tests/unit/src/components/ItemList/helpers/get-item-list-data.test.js +28 -0
  402. package/tests/unit/src/components/ItemList/helpers/get-item-list-id.test.js +20 -0
  403. package/tests/unit/src/components/ItemList/helpers/get-item-list-ids.test.js +19 -0
  404. package/tests/unit/src/components/ItemList/helpers/set-item-list-id.test.js +13 -0
  405. package/tests/unit/src/components/ItemList/helpers/set-param-and-redirect.test.js +30 -0
  406. package/tests/unit/src/components/ItemList/hooks/use-item-list-id.test.js +32 -0
  407. package/tests/unit/src/components/List/helpers/has-required-item-list-details.test.js +30 -0
  408. package/tests/unit/src/components/Menu/Menu.test.js +9 -3
  409. package/tests/unit/src/components/Menu/__snapshots__/Menu.test.js.snap +12 -11
  410. package/tests/unit/src/components/MenuItem/MenuItem.test.js +1 -1
  411. package/tests/unit/src/components/MenuItem/SubMenu.test.js +5 -1
  412. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +54 -10
  413. package/tests/unit/src/components/SearchContent/SearchContent.test.js +29 -0
  414. package/tests/unit/src/components/SearchContent/__snapshots__/SearchContent.test.js.snap +9 -0
  415. package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +26 -7
  416. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +4 -0
  417. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Checkbox.test.js.snap +2 -0
  418. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +4 -0
  419. package/tests/unit/src/components/__snapshots__/index.test.js.snap +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselWrapper.js","names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"sources":["../../src/components/CarouselWrapper.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CarouselWrapper.js","names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"sources":["../../src/components/CarouselWrapper.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"cards-carousel--arrow cards-carousel--arrow__left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"cards-carousel--arrow cards-carousel--arrow__right\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"mappings":"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"}
@@ -3,6 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  const _excluded = ["alt", "imageUrl", "handleEnableLightbox", "toggleLightbox", "displayLightbox", "enableLightbox", "caption", "lightboxImgProps", "name", "metaTitle", "heroModifier", "style", "isHero", "priority", "sizeKey"];
4
4
  import React from 'react';
5
5
  import PropTypes from 'prop-types';
6
+ import Head from 'next/head';
6
7
  import { ResponsiveImage } from '@blaze-cms/image-cdn-react';
7
8
  import Lightbox from './Lightbox';
8
9
 
@@ -29,12 +30,14 @@ const ImageRender = _ref => {
29
30
  const imageStyle = enableLightbox ? {
30
31
  cursor: 'pointer'
31
32
  } : style;
33
+ const HeadComponent = priority ? Head : null;
32
34
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResponsiveImage, {
33
35
  sizeKey: sizeKey,
34
36
  alt: alt,
35
37
  src: imageUrl,
36
38
  onClick: handleEnableLightbox,
37
- style: imageStyle
39
+ style: imageStyle,
40
+ HeadComponent: HeadComponent
38
41
  }), displayLightbox && /*#__PURE__*/React.createElement(Lightbox, _extends({
39
42
  imageUrl: imageUrl,
40
43
  alt: alt,
@@ -1 +1 @@
1
- {"version":3,"file":"ImageRender.js","names":["React","PropTypes","ResponsiveImage","Lightbox","ImageRender","alt","imageUrl","handleEnableLightbox","toggleLightbox","displayLightbox","enableLightbox","caption","lightboxImgProps","name","metaTitle","heroModifier","style","isHero","priority","sizeKey","otherProps","imageStyle","cursor","propTypes","bool","isRequired","string","func","object","defaultProps"],"sources":["../../../src/components/Image/ImageRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport Lightbox from './Lightbox';\n\nconst ImageRender = ({\n alt,\n imageUrl,\n handleEnableLightbox,\n toggleLightbox,\n displayLightbox,\n enableLightbox,\n caption,\n lightboxImgProps,\n name,\n metaTitle,\n heroModifier,\n style,\n isHero,\n priority,\n sizeKey,\n ...otherProps\n}) => {\n const imageStyle = enableLightbox ? { cursor: 'pointer' } : style;\n\n return (\n <>\n <ResponsiveImage\n sizeKey={sizeKey}\n alt={alt}\n src={imageUrl}\n onClick={handleEnableLightbox}\n style={imageStyle}\n />\n {displayLightbox && (\n <Lightbox\n imageUrl={imageUrl}\n alt={alt}\n priority={priority}\n closeModal={toggleLightbox}\n caption={caption}\n imgWrapperProps={lightboxImgProps}\n name={metaTitle || name}\n {...otherProps}\n />\n )}\n </>\n );\n};\n\nImageRender.propTypes = {\n displayLightbox: PropTypes.bool.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n alt: PropTypes.string,\n caption: PropTypes.string,\n imageUrl: PropTypes.string.isRequired,\n name: PropTypes.string,\n heroModifier: PropTypes.string,\n metaTitle: PropTypes.string,\n handleEnableLightbox: PropTypes.func.isRequired,\n toggleLightbox: PropTypes.func.isRequired,\n lightboxImgProps: PropTypes.object.isRequired,\n style: PropTypes.object,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n sizeKey: PropTypes.string\n};\n\nImageRender.defaultProps = {\n name: '',\n metaTitle: '',\n heroModifier: '',\n alt: '',\n caption: '',\n isHero: false,\n priority: false,\n style: {},\n sizeKey: ''\n};\n\nexport default ImageRender;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,MAAMC,WAAW,GAAG,QAiBd;EAAA,IAjBe;IACnBC,GADmB;IAEnBC,QAFmB;IAGnBC,oBAHmB;IAInBC,cAJmB;IAKnBC,eALmB;IAMnBC,cANmB;IAOnBC,OAPmB;IAQnBC,gBARmB;IASnBC,IATmB;IAUnBC,SAVmB;IAWnBC,YAXmB;IAYnBC,KAZmB;IAanBC,MAbmB;IAcnBC,QAdmB;IAenBC;EAfmB,CAiBf;EAAA,IADDC,UACC;;EACJ,MAAMC,UAAU,GAAGX,cAAc,GAAG;IAAEY,MAAM,EAAE;EAAV,CAAH,GAA2BN,KAA5D;EAEA,oBACE,uDACE,oBAAC,eAAD;IACE,OAAO,EAAEG,OADX;IAEE,GAAG,EAAEd,GAFP;IAGE,GAAG,EAAEC,QAHP;IAIE,OAAO,EAAEC,oBAJX;IAKE,KAAK,EAAEc;EALT,EADF,EAQGZ,eAAe,iBACd,oBAAC,QAAD;IACE,QAAQ,EAAEH,QADZ;IAEE,GAAG,EAAED,GAFP;IAGE,QAAQ,EAAEa,QAHZ;IAIE,UAAU,EAAEV,cAJd;IAKE,OAAO,EAAEG,OALX;IAME,eAAe,EAAEC,gBANnB;IAOE,IAAI,EAAEE,SAAS,IAAID;EAPrB,GAQMO,UARN,EATJ,CADF;AAuBD,CA3CD;;AA6CAhB,WAAW,CAACmB,SAAZ,GAAwB;EACtBd,eAAe,EAAER,SAAS,CAACuB,IAAV,CAAeC,UADV;EAEtBf,cAAc,EAAET,SAAS,CAACuB,IAAV,CAAeC,UAFT;EAGtBpB,GAAG,EAAEJ,SAAS,CAACyB,MAHO;EAItBf,OAAO,EAAEV,SAAS,CAACyB,MAJG;EAKtBpB,QAAQ,EAAEL,SAAS,CAACyB,MAAV,CAAiBD,UALL;EAMtBZ,IAAI,EAAEZ,SAAS,CAACyB,MANM;EAOtBX,YAAY,EAAEd,SAAS,CAACyB,MAPF;EAQtBZ,SAAS,EAAEb,SAAS,CAACyB,MARC;EAStBnB,oBAAoB,EAAEN,SAAS,CAAC0B,IAAV,CAAeF,UATf;EAUtBjB,cAAc,EAAEP,SAAS,CAAC0B,IAAV,CAAeF,UAVT;EAWtBb,gBAAgB,EAAEX,SAAS,CAAC2B,MAAV,CAAiBH,UAXb;EAYtBT,KAAK,EAAEf,SAAS,CAAC2B,MAZK;EAatBX,MAAM,EAAEhB,SAAS,CAACuB,IAbI;EActBN,QAAQ,EAAEjB,SAAS,CAACuB,IAdE;EAetBL,OAAO,EAAElB,SAAS,CAACyB;AAfG,CAAxB;AAkBAtB,WAAW,CAACyB,YAAZ,GAA2B;EACzBhB,IAAI,EAAE,EADmB;EAEzBC,SAAS,EAAE,EAFc;EAGzBC,YAAY,EAAE,EAHW;EAIzBV,GAAG,EAAE,EAJoB;EAKzBM,OAAO,EAAE,EALgB;EAMzBM,MAAM,EAAE,KANiB;EAOzBC,QAAQ,EAAE,KAPe;EAQzBF,KAAK,EAAE,EARkB;EASzBG,OAAO,EAAE;AATgB,CAA3B;AAYA,eAAef,WAAf"}
1
+ {"version":3,"file":"ImageRender.js","names":["React","PropTypes","Head","ResponsiveImage","Lightbox","ImageRender","alt","imageUrl","handleEnableLightbox","toggleLightbox","displayLightbox","enableLightbox","caption","lightboxImgProps","name","metaTitle","heroModifier","style","isHero","priority","sizeKey","otherProps","imageStyle","cursor","HeadComponent","propTypes","bool","isRequired","string","func","object","defaultProps"],"sources":["../../../src/components/Image/ImageRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Head from 'next/head';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport Lightbox from './Lightbox';\n\nconst ImageRender = ({\n alt,\n imageUrl,\n handleEnableLightbox,\n toggleLightbox,\n displayLightbox,\n enableLightbox,\n caption,\n lightboxImgProps,\n name,\n metaTitle,\n heroModifier,\n style,\n isHero,\n priority,\n sizeKey,\n ...otherProps\n}) => {\n const imageStyle = enableLightbox ? { cursor: 'pointer' } : style;\n const HeadComponent = priority ? Head : null;\n\n return (\n <>\n <ResponsiveImage\n sizeKey={sizeKey}\n alt={alt}\n src={imageUrl}\n onClick={handleEnableLightbox}\n style={imageStyle}\n HeadComponent={HeadComponent}\n />\n {displayLightbox && (\n <Lightbox\n imageUrl={imageUrl}\n alt={alt}\n priority={priority}\n closeModal={toggleLightbox}\n caption={caption}\n imgWrapperProps={lightboxImgProps}\n name={metaTitle || name}\n {...otherProps}\n />\n )}\n </>\n );\n};\n\nImageRender.propTypes = {\n displayLightbox: PropTypes.bool.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n alt: PropTypes.string,\n caption: PropTypes.string,\n imageUrl: PropTypes.string.isRequired,\n name: PropTypes.string,\n heroModifier: PropTypes.string,\n metaTitle: PropTypes.string,\n handleEnableLightbox: PropTypes.func.isRequired,\n toggleLightbox: PropTypes.func.isRequired,\n lightboxImgProps: PropTypes.object.isRequired,\n style: PropTypes.object,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n sizeKey: PropTypes.string\n};\n\nImageRender.defaultProps = {\n name: '',\n metaTitle: '',\n heroModifier: '',\n alt: '',\n caption: '',\n isHero: false,\n priority: false,\n style: {},\n sizeKey: ''\n};\n\nexport default ImageRender;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,MAAMC,WAAW,GAAG,QAiBd;EAAA,IAjBe;IACnBC,GADmB;IAEnBC,QAFmB;IAGnBC,oBAHmB;IAInBC,cAJmB;IAKnBC,eALmB;IAMnBC,cANmB;IAOnBC,OAPmB;IAQnBC,gBARmB;IASnBC,IATmB;IAUnBC,SAVmB;IAWnBC,YAXmB;IAYnBC,KAZmB;IAanBC,MAbmB;IAcnBC,QAdmB;IAenBC;EAfmB,CAiBf;EAAA,IADDC,UACC;;EACJ,MAAMC,UAAU,GAAGX,cAAc,GAAG;IAAEY,MAAM,EAAE;EAAV,CAAH,GAA2BN,KAA5D;EACA,MAAMO,aAAa,GAAGL,QAAQ,GAAGjB,IAAH,GAAU,IAAxC;EAEA,oBACE,uDACE,oBAAC,eAAD;IACE,OAAO,EAAEkB,OADX;IAEE,GAAG,EAAEd,GAFP;IAGE,GAAG,EAAEC,QAHP;IAIE,OAAO,EAAEC,oBAJX;IAKE,KAAK,EAAEc,UALT;IAME,aAAa,EAAEE;EANjB,EADF,EASGd,eAAe,iBACd,oBAAC,QAAD;IACE,QAAQ,EAAEH,QADZ;IAEE,GAAG,EAAED,GAFP;IAGE,QAAQ,EAAEa,QAHZ;IAIE,UAAU,EAAEV,cAJd;IAKE,OAAO,EAAEG,OALX;IAME,eAAe,EAAEC,gBANnB;IAOE,IAAI,EAAEE,SAAS,IAAID;EAPrB,GAQMO,UARN,EAVJ,CADF;AAwBD,CA7CD;;AA+CAhB,WAAW,CAACoB,SAAZ,GAAwB;EACtBf,eAAe,EAAET,SAAS,CAACyB,IAAV,CAAeC,UADV;EAEtBhB,cAAc,EAAEV,SAAS,CAACyB,IAAV,CAAeC,UAFT;EAGtBrB,GAAG,EAAEL,SAAS,CAAC2B,MAHO;EAItBhB,OAAO,EAAEX,SAAS,CAAC2B,MAJG;EAKtBrB,QAAQ,EAAEN,SAAS,CAAC2B,MAAV,CAAiBD,UALL;EAMtBb,IAAI,EAAEb,SAAS,CAAC2B,MANM;EAOtBZ,YAAY,EAAEf,SAAS,CAAC2B,MAPF;EAQtBb,SAAS,EAAEd,SAAS,CAAC2B,MARC;EAStBpB,oBAAoB,EAAEP,SAAS,CAAC4B,IAAV,CAAeF,UATf;EAUtBlB,cAAc,EAAER,SAAS,CAAC4B,IAAV,CAAeF,UAVT;EAWtBd,gBAAgB,EAAEZ,SAAS,CAAC6B,MAAV,CAAiBH,UAXb;EAYtBV,KAAK,EAAEhB,SAAS,CAAC6B,MAZK;EAatBZ,MAAM,EAAEjB,SAAS,CAACyB,IAbI;EActBP,QAAQ,EAAElB,SAAS,CAACyB,IAdE;EAetBN,OAAO,EAAEnB,SAAS,CAAC2B;AAfG,CAAxB;AAkBAvB,WAAW,CAAC0B,YAAZ,GAA2B;EACzBjB,IAAI,EAAE,EADmB;EAEzBC,SAAS,EAAE,EAFc;EAGzBC,YAAY,EAAE,EAHW;EAIzBV,GAAG,EAAE,EAJoB;EAKzBM,OAAO,EAAE,EALgB;EAMzBM,MAAM,EAAE,KANiB;EAOzBC,QAAQ,EAAE,KAPe;EAQzBF,KAAK,EAAE,EARkB;EASzBG,OAAO,EAAE;AATgB,CAA3B;AAYA,eAAef,WAAf"}
@@ -0,0 +1,111 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { BsBookmarkStarFill, BsBookmarkCheckFill, BsBookmarkStar, BsBookmarkXFill } from 'react-icons/bs';
4
+ import { useQuery, useMutation } from '@apollo/client';
5
+ import { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';
6
+ import { getItemListData, setItemListId } from '../helpers';
7
+ import { useItemListId } from '../hooks';
8
+
9
+ const ItemListButton = ({
10
+ listName,
11
+ parent,
12
+ modifier
13
+ }) => {
14
+ const {
15
+ itemId,
16
+ itemEntity
17
+ } = parent;
18
+ const [isHover, setIsHover] = useState(false);
19
+ const {
20
+ listId
21
+ } = useItemListId({
22
+ listName
23
+ });
24
+
25
+ const getIcon = () => {
26
+ if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;
27
+ return isHover ? BsBookmarkStarFill : BsBookmarkStar;
28
+ };
29
+
30
+ const {
31
+ data,
32
+ error,
33
+ loading
34
+ } = useQuery(getItemList, {
35
+ variables: {
36
+ id: listId
37
+ },
38
+ skip: !listId
39
+ });
40
+ const [addListItem] = useMutation(addItemsToList, {
41
+ onCompleted: ({
42
+ addItemsToList: listAddResult
43
+ }) => {
44
+ const {
45
+ result: {
46
+ id
47
+ }
48
+ } = listAddResult;
49
+
50
+ if (!listId) {
51
+ setItemListId(listName, id);
52
+ }
53
+ }
54
+ });
55
+ const [removeListItem] = useMutation(removeItemsFromList);
56
+
57
+ const clickHandler = () => {
58
+ setIsHover(false);
59
+ isInList ? removeListItem({
60
+ variables: {
61
+ listId,
62
+ listItems: [{
63
+ itemId,
64
+ itemEntity
65
+ }]
66
+ },
67
+ skip: !listId
68
+ }) : addListItem({
69
+ variables: {
70
+ name: listName,
71
+ id: listId,
72
+ listItems: [{
73
+ itemId,
74
+ itemEntity
75
+ }]
76
+ },
77
+ skip: !listId
78
+ });
79
+ };
80
+
81
+ if (loading) return '';
82
+ if (error) return error.message;
83
+ const listItems = getItemListData(data);
84
+ const isInList = !!listItems.find(({
85
+ itemId: idToCheck,
86
+ itemEntity: entityToCheck
87
+ }) => idToCheck === itemId && entityToCheck === itemEntity);
88
+ const Icon = getIcon();
89
+ const stateClassName = isInList ? 'item-list-button--selected' : '';
90
+ const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');
91
+ return /*#__PURE__*/React.createElement("div", {
92
+ className: className,
93
+ role: "button",
94
+ onClick: clickHandler,
95
+ onMouseEnter: () => setIsHover(true),
96
+ onMouseLeave: () => setIsHover(false)
97
+ }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(Icon, null)));
98
+ };
99
+
100
+ ItemListButton.propTypes = {
101
+ parent: PropTypes.object,
102
+ listName: PropTypes.string,
103
+ modifier: PropTypes.string
104
+ };
105
+ ItemListButton.defaultProps = {
106
+ parent: {},
107
+ listName: '',
108
+ modifier: ''
109
+ };
110
+ export default ItemListButton;
111
+ //# sourceMappingURL=ItemListButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemListButton.js","names":["React","useState","PropTypes","BsBookmarkStarFill","BsBookmarkCheckFill","BsBookmarkStar","BsBookmarkXFill","useQuery","useMutation","getItemList","addItemsToList","removeItemsFromList","getItemListData","setItemListId","useItemListId","ItemListButton","listName","parent","modifier","itemId","itemEntity","isHover","setIsHover","listId","getIcon","isInList","data","error","loading","variables","id","skip","addListItem","onCompleted","listAddResult","result","removeListItem","clickHandler","listItems","name","message","find","idToCheck","entityToCheck","Icon","stateClassName","className","filter","Boolean","join","propTypes","object","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListButton/ItemListButton.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n BsBookmarkStarFill,\n BsBookmarkCheckFill,\n BsBookmarkStar,\n BsBookmarkXFill\n} from 'react-icons/bs';\nimport { useQuery, useMutation } from '@apollo/client';\nimport { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';\nimport { getItemListData, setItemListId } from '../helpers';\nimport { useItemListId } from '../hooks';\n\nconst ItemListButton = ({ listName, parent, modifier }) => {\n const { itemId, itemEntity } = parent;\n const [isHover, setIsHover] = useState(false);\n const { listId } = useItemListId({ listName });\n\n const getIcon = () => {\n if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;\n return isHover ? BsBookmarkStarFill : BsBookmarkStar;\n };\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n const [addListItem] = useMutation(addItemsToList, {\n onCompleted: ({ addItemsToList: listAddResult }) => {\n const {\n result: { id }\n } = listAddResult;\n\n if (!listId) {\n setItemListId(listName, id);\n }\n }\n });\n\n const [removeListItem] = useMutation(removeItemsFromList);\n\n const clickHandler = () => {\n setIsHover(false);\n isInList\n ? removeListItem({\n variables: { listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n })\n : addListItem({\n variables: { name: listName, id: listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n });\n };\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const isInList = !!listItems.find(\n ({ itemId: idToCheck, itemEntity: entityToCheck }) =>\n idToCheck === itemId && entityToCheck === itemEntity\n );\n const Icon = getIcon();\n const stateClassName = isInList ? 'item-list-button--selected' : '';\n const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');\n\n return (\n <div\n className={className}\n role=\"button\"\n onClick={clickHandler}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}>\n <i>\n <Icon />\n </i>\n </div>\n );\n};\n\nItemListButton.propTypes = {\n parent: PropTypes.object,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListButton.defaultProps = {\n parent: {},\n listName: '',\n modifier: ''\n};\n\nexport default ItemListButton;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,kBADF,EAEEC,mBAFF,EAGEC,cAHF,EAIEC,eAJF,QAKO,gBALP;AAMA,SAASC,QAAT,EAAmBC,WAAnB,QAAsC,gBAAtC;AACA,SAASC,WAAT,EAAsBC,cAAtB,EAAsCC,mBAAtC,QAAiE,4BAAjE;AACA,SAASC,eAAT,EAA0BC,aAA1B,QAA+C,YAA/C;AACA,SAASC,aAAT,QAA8B,UAA9B;;AAEA,MAAMC,cAAc,GAAG,CAAC;EAAEC,QAAF;EAAYC,MAAZ;EAAoBC;AAApB,CAAD,KAAoC;EACzD,MAAM;IAAEC,MAAF;IAAUC;EAAV,IAAyBH,MAA/B;EACA,MAAM,CAACI,OAAD,EAAUC,UAAV,IAAwBrB,QAAQ,CAAC,KAAD,CAAtC;EACA,MAAM;IAAEsB;EAAF,IAAaT,aAAa,CAAC;IAAEE;EAAF,CAAD,CAAhC;;EAEA,MAAMQ,OAAO,GAAG,MAAM;IACpB,IAAIC,QAAJ,EAAc,OAAOJ,OAAO,GAAGf,eAAH,GAAqBF,mBAAnC;IACd,OAAOiB,OAAO,GAAGlB,kBAAH,GAAwBE,cAAtC;EACD,CAHD;;EAKA,MAAM;IAAEqB,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BrB,QAAQ,CAACE,WAAD,EAAc;IACrDoB,SAAS,EAAE;MAAEC,EAAE,EAAEP;IAAN,CAD0C;IAErDQ,IAAI,EAAE,CAACR;EAF8C,CAAd,CAAzC;EAKA,MAAM,CAACS,WAAD,IAAgBxB,WAAW,CAACE,cAAD,EAAiB;IAChDuB,WAAW,EAAE,CAAC;MAAEvB,cAAc,EAAEwB;IAAlB,CAAD,KAAuC;MAClD,MAAM;QACJC,MAAM,EAAE;UAAEL;QAAF;MADJ,IAEFI,aAFJ;;MAIA,IAAI,CAACX,MAAL,EAAa;QACXV,aAAa,CAACG,QAAD,EAAWc,EAAX,CAAb;MACD;IACF;EAT+C,CAAjB,CAAjC;EAYA,MAAM,CAACM,cAAD,IAAmB5B,WAAW,CAACG,mBAAD,CAApC;;EAEA,MAAM0B,YAAY,GAAG,MAAM;IACzBf,UAAU,CAAC,KAAD,CAAV;IACAG,QAAQ,GACJW,cAAc,CAAC;MACbP,SAAS,EAAE;QAAEN,MAAF;QAAUe,SAAS,EAAE,CAAC;UAAEnB,MAAF;UAAUC;QAAV,CAAD;MAArB,CADE;MAEbW,IAAI,EAAE,CAACR;IAFM,CAAD,CADV,GAKJS,WAAW,CAAC;MACVH,SAAS,EAAE;QAAEU,IAAI,EAAEvB,QAAR;QAAkBc,EAAE,EAAEP,MAAtB;QAA8Be,SAAS,EAAE,CAAC;UAAEnB,MAAF;UAAUC;QAAV,CAAD;MAAzC,CADD;MAEVW,IAAI,EAAE,CAACR;IAFG,CAAD,CALf;EASD,CAXD;;EAaA,IAAIK,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACa,OAAb;EAEX,MAAMF,SAAS,GAAG1B,eAAe,CAACc,IAAD,CAAjC;EACA,MAAMD,QAAQ,GAAG,CAAC,CAACa,SAAS,CAACG,IAAV,CACjB,CAAC;IAAEtB,MAAM,EAAEuB,SAAV;IAAqBtB,UAAU,EAAEuB;EAAjC,CAAD,KACED,SAAS,KAAKvB,MAAd,IAAwBwB,aAAa,KAAKvB,UAF3B,CAAnB;EAIA,MAAMwB,IAAI,GAAGpB,OAAO,EAApB;EACA,MAAMqB,cAAc,GAAGpB,QAAQ,GAAG,4BAAH,GAAkC,EAAjE;EACA,MAAMqB,SAAS,GAAG,CAAC,kBAAD,EAAqBD,cAArB,EAAqC3B,QAArC,EAA+C6B,MAA/C,CAAsDC,OAAtD,EAA+DC,IAA/D,CAAoE,GAApE,CAAlB;EAEA,oBACE;IACE,SAAS,EAAEH,SADb;IAEE,IAAI,EAAC,QAFP;IAGE,OAAO,EAAET,YAHX;IAIE,YAAY,EAAE,MAAMf,UAAU,CAAC,IAAD,CAJhC;IAKE,YAAY,EAAE,MAAMA,UAAU,CAAC,KAAD;EALhC,gBAME,4CACE,oBAAC,IAAD,OADF,CANF,CADF;AAYD,CAlED;;AAoEAP,cAAc,CAACmC,SAAf,GAA2B;EACzBjC,MAAM,EAAEf,SAAS,CAACiD,MADO;EAEzBnC,QAAQ,EAAEd,SAAS,CAACkD,MAFK;EAGzBlC,QAAQ,EAAEhB,SAAS,CAACkD;AAHK,CAA3B;AAMArC,cAAc,CAACsC,YAAf,GAA8B;EAC5BpC,MAAM,EAAE,EADoB;EAE5BD,QAAQ,EAAE,EAFkB;EAG5BE,QAAQ,EAAE;AAHkB,CAA9B;AAMA,eAAeH,cAAf"}
@@ -0,0 +1,3 @@
1
+ import ItemListButton from './ItemListButton';
2
+ export default ItemListButton;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ItemListButton"],"sources":["../../../../src/components/ItemList/ItemListButton/index.js"],"sourcesContent":["import ItemListButton from './ItemListButton';\n\nexport default ItemListButton;\n"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAeA,cAAf"}
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useRouter } from 'next/router';
4
+ import { useQuery } from '@apollo/client';
5
+ import { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';
6
+ import { getItemList } from '../../../application/query';
7
+ import { useItemListId } from '../hooks';
8
+ import { getItemListData } from '../helpers';
9
+
10
+ const ItemListCounter = ({
11
+ listName,
12
+ modifier,
13
+ url
14
+ }) => {
15
+ const router = useRouter();
16
+ const {
17
+ listId
18
+ } = useItemListId({
19
+ listName
20
+ });
21
+ const {
22
+ data,
23
+ error,
24
+ loading
25
+ } = useQuery(getItemList, {
26
+ variables: {
27
+ id: listId
28
+ },
29
+ skip: !listId
30
+ });
31
+ if (loading) return '';
32
+ if (error) return error.message;
33
+ const listItems = getItemListData(data);
34
+ const listLength = listItems.length;
35
+ const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;
36
+
37
+ const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);
38
+
39
+ return /*#__PURE__*/React.createElement("div", {
40
+ role: "button",
41
+ type: "button",
42
+ className: `item-list-counter ${modifier}`,
43
+ onClick: handleClick
44
+ }, /*#__PURE__*/React.createElement(CounterIcon, null), /*#__PURE__*/React.createElement("span", {
45
+ className: "item-list-counter__badge"
46
+ }, listLength));
47
+ };
48
+
49
+ ItemListCounter.propTypes = {
50
+ url: PropTypes.string,
51
+ listName: PropTypes.string,
52
+ modifier: PropTypes.string
53
+ };
54
+ ItemListCounter.defaultProps = {
55
+ url: '',
56
+ listName: '',
57
+ modifier: ''
58
+ };
59
+ export default ItemListCounter;
60
+ //# sourceMappingURL=ItemListCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemListCounter.js","names":["React","PropTypes","useRouter","useQuery","BsBookmarkStarFill","BsBookmarkStar","getItemList","useItemListId","getItemListData","ItemListCounter","listName","modifier","url","router","listId","data","error","loading","variables","id","skip","message","listItems","listLength","length","CounterIcon","handleClick","push","propTypes","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListCounter/ItemListCounter.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData } from '../helpers';\n\nconst ItemListCounter = ({ listName, modifier, url }) => {\n const router = useRouter();\n const { listId } = useItemListId({ listName });\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const listLength = listItems.length;\n const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;\n\n const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);\n\n return (\n <div\n role=\"button\"\n type=\"button\"\n className={`item-list-counter ${modifier}`}\n onClick={handleClick}>\n <CounterIcon />\n <span className=\"item-list-counter__badge\">{listLength}</span>\n </div>\n );\n};\n\nItemListCounter.propTypes = {\n url: PropTypes.string,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListCounter.defaultProps = {\n url: '',\n listName: '',\n modifier: ''\n};\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAASC,kBAAT,EAA6BC,cAA7B,QAAmD,gBAAnD;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,aAAT,QAA8B,UAA9B;AACA,SAASC,eAAT,QAAgC,YAAhC;;AAEA,MAAMC,eAAe,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAiC;EACvD,MAAMC,MAAM,GAAGX,SAAS,EAAxB;EACA,MAAM;IAAEY;EAAF,IAAaP,aAAa,CAAC;IAAEG;EAAF,CAAD,CAAhC;EAEA,MAAM;IAAEK,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2Bd,QAAQ,CAACG,WAAD,EAAc;IACrDY,SAAS,EAAE;MAAEC,EAAE,EAAEL;IAAN,CAD0C;IAErDM,IAAI,EAAE,CAACN;EAF8C,CAAd,CAAzC;EAKA,IAAIG,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACK,OAAb;EAEX,MAAMC,SAAS,GAAGd,eAAe,CAACO,IAAD,CAAjC;EACA,MAAMQ,UAAU,GAAGD,SAAS,CAACE,MAA7B;EACA,MAAMC,WAAW,GAAGF,UAAU,GAAGnB,kBAAH,GAAwBC,cAAtD;;EAEA,MAAMqB,WAAW,GAAG,MAAMb,MAAM,CAACc,IAAP,CAAY,WAAZ,EAA0B,GAAEf,GAAI,eAAcE,MAAO,EAArD,CAA1B;;EAEA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,IAAI,EAAC,QAFP;IAGE,SAAS,EAAG,qBAAoBH,QAAS,EAH3C;IAIE,OAAO,EAAEe;EAJX,gBAKE,oBAAC,WAAD,OALF,eAME;IAAM,SAAS,EAAC;EAAhB,GAA4CH,UAA5C,CANF,CADF;AAUD,CA5BD;;AA8BAd,eAAe,CAACmB,SAAhB,GAA4B;EAC1BhB,GAAG,EAAEX,SAAS,CAAC4B,MADW;EAE1BnB,QAAQ,EAAET,SAAS,CAAC4B,MAFM;EAG1BlB,QAAQ,EAAEV,SAAS,CAAC4B;AAHM,CAA5B;AAMApB,eAAe,CAACqB,YAAhB,GAA+B;EAC7BlB,GAAG,EAAE,EADwB;EAE7BF,QAAQ,EAAE,EAFmB;EAG7BC,QAAQ,EAAE;AAHmB,CAA/B;AAMA,eAAeF,eAAf"}
@@ -0,0 +1,3 @@
1
+ import ItemListCounter from './ItemListCounter';
2
+ export default ItemListCounter;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ItemListCounter"],"sources":["../../../../src/components/ItemList/ItemListCounter/index.js"],"sourcesContent":["import ItemListCounter from './ItemListCounter';\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,mBAA5B;AAEA,eAAeA,eAAf"}
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useRouter } from 'next/router';
4
+ import { useQuery } from '@apollo/client';
5
+ import BlazeButton from '@blaze-react/button';
6
+ import { parseUrl } from 'query-string';
7
+ import { getItemList } from '../../../application/query';
8
+ import { useItemListId } from '../hooks';
9
+ import { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';
10
+ import { LIST_ITEM_QUERY_PARAM } from '../constants';
11
+
12
+ const ItemListNew = ({
13
+ listName,
14
+ modifier,
15
+ text
16
+ }) => {
17
+ const router = useRouter();
18
+ const {
19
+ query: {
20
+ [LIST_ITEM_QUERY_PARAM]: listItemId
21
+ } = {}
22
+ } = parseUrl(router.asPath);
23
+ const {
24
+ listId
25
+ } = useItemListId({
26
+ listName
27
+ });
28
+ const listIdToUse = listItemId || listId;
29
+ const {
30
+ data,
31
+ error,
32
+ loading
33
+ } = useQuery(getItemList, {
34
+ variables: {
35
+ id: listIdToUse
36
+ },
37
+ skip: !listIdToUse
38
+ });
39
+ if (loading) return '';
40
+ if (error) return error.message;
41
+ const listItems = getItemListData(data);
42
+ if (!listItems.length) return '';
43
+
44
+ const handleClick = () => {
45
+ setItemListId(listName, '');
46
+ setParamAndRedirect(router);
47
+ };
48
+
49
+ return /*#__PURE__*/React.createElement(BlazeButton, {
50
+ className: `item-list-new ${modifier}`,
51
+ onClick: handleClick
52
+ }, text);
53
+ };
54
+
55
+ ItemListNew.propTypes = {
56
+ listName: PropTypes.string.isRequired,
57
+ modifier: PropTypes.string,
58
+ text: PropTypes.string.isRequired
59
+ };
60
+ ItemListNew.defaultProps = {
61
+ modifier: ''
62
+ };
63
+ export default ItemListNew;
64
+ //# sourceMappingURL=ItemListNew.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemListNew.js","names":["React","PropTypes","useRouter","useQuery","BlazeButton","parseUrl","getItemList","useItemListId","getItemListData","setItemListId","setParamAndRedirect","LIST_ITEM_QUERY_PARAM","ItemListNew","listName","modifier","text","router","query","listItemId","asPath","listId","listIdToUse","data","error","loading","variables","id","skip","message","listItems","length","handleClick","propTypes","string","isRequired","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListNew/ItemListNew.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport BlazeButton from '@blaze-react/button';\nimport { parseUrl } from 'query-string';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';\nimport { LIST_ITEM_QUERY_PARAM } from '../constants';\n\nconst ItemListNew = ({ listName, modifier, text }) => {\n const router = useRouter();\n const { query: { [LIST_ITEM_QUERY_PARAM]: listItemId } = {} } = parseUrl(router.asPath);\n\n const { listId } = useItemListId({ listName });\n const listIdToUse = listItemId || listId;\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listIdToUse },\n skip: !listIdToUse\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n if (!listItems.length) return '';\n\n const handleClick = () => {\n setItemListId(listName, '');\n setParamAndRedirect(router);\n };\n\n return (\n <BlazeButton className={`item-list-new ${modifier}`} onClick={handleClick}>\n {text}\n </BlazeButton>\n );\n};\n\nItemListNew.propTypes = {\n listName: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n text: PropTypes.string.isRequired\n};\n\nItemListNew.defaultProps = {\n modifier: ''\n};\n\nexport default ItemListNew;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,WAAP,MAAwB,qBAAxB;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,aAAT,QAA8B,UAA9B;AACA,SAASC,eAAT,EAA0BC,aAA1B,EAAyCC,mBAAzC,QAAoE,YAApE;AACA,SAASC,qBAAT,QAAsC,cAAtC;;AAEA,MAAMC,WAAW,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAkC;EACpD,MAAMC,MAAM,GAAGd,SAAS,EAAxB;EACA,MAAM;IAAEe,KAAK,EAAE;MAAE,CAACN,qBAAD,GAAyBO;IAA3B,IAA0C;EAAnD,IAA0Db,QAAQ,CAACW,MAAM,CAACG,MAAR,CAAxE;EAEA,MAAM;IAAEC;EAAF,IAAab,aAAa,CAAC;IAAEM;EAAF,CAAD,CAAhC;EACA,MAAMQ,WAAW,GAAGH,UAAU,IAAIE,MAAlC;EACA,MAAM;IAAEE,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BrB,QAAQ,CAACG,WAAD,EAAc;IACrDmB,SAAS,EAAE;MAAEC,EAAE,EAAEL;IAAN,CAD0C;IAErDM,IAAI,EAAE,CAACN;EAF8C,CAAd,CAAzC;EAKA,IAAIG,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACK,OAAb;EAEX,MAAMC,SAAS,GAAGrB,eAAe,CAACc,IAAD,CAAjC;EACA,IAAI,CAACO,SAAS,CAACC,MAAf,EAAuB,OAAO,EAAP;;EAEvB,MAAMC,WAAW,GAAG,MAAM;IACxBtB,aAAa,CAACI,QAAD,EAAW,EAAX,CAAb;IACAH,mBAAmB,CAACM,MAAD,CAAnB;EACD,CAHD;;EAKA,oBACE,oBAAC,WAAD;IAAa,SAAS,EAAG,iBAAgBF,QAAS,EAAlD;IAAqD,OAAO,EAAEiB;EAA9D,GACGhB,IADH,CADF;AAKD,CA3BD;;AA6BAH,WAAW,CAACoB,SAAZ,GAAwB;EACtBnB,QAAQ,EAAEZ,SAAS,CAACgC,MAAV,CAAiBC,UADL;EAEtBpB,QAAQ,EAAEb,SAAS,CAACgC,MAFE;EAGtBlB,IAAI,EAAEd,SAAS,CAACgC,MAAV,CAAiBC;AAHD,CAAxB;AAMAtB,WAAW,CAACuB,YAAZ,GAA2B;EACzBrB,QAAQ,EAAE;AADe,CAA3B;AAIA,eAAeF,WAAf"}
@@ -0,0 +1,3 @@
1
+ import ItemListNew from './ItemListNew';
2
+ export default ItemListNew;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ItemListNew"],"sources":["../../../../src/components/ItemList/ItemListNew/index.js"],"sourcesContent":["import ItemListNew from './ItemListNew';\n\nexport default ItemListNew;\n"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,eAAxB;AAEA,eAAeA,WAAf"}
@@ -0,0 +1,6 @@
1
+ export const ITEM_LIST_BUTTON = 'itemlistbutton';
2
+ export const ITEM_LIST_COUNTER = 'itemlistcounter';
3
+ export const ITEM_LIST_NEW = 'itemlistnew';
4
+ export const LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';
5
+ export const LIST_ITEM_QUERY_PARAM = 'itemListId';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["ITEM_LIST_BUTTON","ITEM_LIST_COUNTER","ITEM_LIST_NEW","LIST_ITEM_LOCAL_KEY","LIST_ITEM_QUERY_PARAM"],"sources":["../../../src/components/ItemList/constants.js"],"sourcesContent":["export const ITEM_LIST_BUTTON = 'itemlistbutton';\nexport const ITEM_LIST_COUNTER = 'itemlistcounter';\nexport const ITEM_LIST_NEW = 'itemlistnew';\nexport const LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\nexport const LIST_ITEM_QUERY_PARAM = 'itemListId';\n"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,gBAAzB;AACP,OAAO,MAAMC,iBAAiB,GAAG,iBAA1B;AACP,OAAO,MAAMC,aAAa,GAAG,aAAtB;AACP,OAAO,MAAMC,mBAAmB,GAAG,kBAA5B;AACP,OAAO,MAAMC,qBAAqB,GAAG,YAA9B"}
@@ -0,0 +1,7 @@
1
+ const getItemListData = data => {
2
+ if (data && data.getItemList && data.getItemList.listItems) return data.getItemList.listItems;
3
+ return [];
4
+ };
5
+
6
+ export default getItemListData;
7
+ //# sourceMappingURL=get-item-list-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-item-list-data.js","names":["getItemListData","data","getItemList","listItems"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-data.js"],"sourcesContent":["const getItemListData = data => {\n if (data && data.getItemList && data.getItemList.listItems) return data.getItemList.listItems;\n return [];\n};\n\nexport default getItemListData;\n"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,IAAI,IAAI;EAC9B,IAAIA,IAAI,IAAIA,IAAI,CAACC,WAAb,IAA4BD,IAAI,CAACC,WAAL,CAAiBC,SAAjD,EAA4D,OAAOF,IAAI,CAACC,WAAL,CAAiBC,SAAxB;EAC5D,OAAO,EAAP;AACD,CAHD;;AAKA,eAAeH,eAAf"}
@@ -0,0 +1,11 @@
1
+ import { LIST_ITEM_LOCAL_KEY } from '../constants';
2
+
3
+ const getItemListId = (listName, queryId) => {
4
+ if (queryId) return queryId;
5
+ if (!listName || typeof localStorage === 'undefined') return '';
6
+ const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;
7
+ return localStorage.getItem(localListName) || '';
8
+ };
9
+
10
+ export default getItemListId;
11
+ //# sourceMappingURL=get-item-list-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-item-list-id.js","names":["LIST_ITEM_LOCAL_KEY","getItemListId","listName","queryId","localStorage","localListName","getItem"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-id.js"],"sourcesContent":["import { LIST_ITEM_LOCAL_KEY } from '../constants';\n\nconst getItemListId = (listName, queryId) => {\n if (queryId) return queryId;\n if (!listName || typeof localStorage === 'undefined') return '';\n\n const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;\n return localStorage.getItem(localListName) || '';\n};\n\nexport default getItemListId;\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,cAApC;;AAEA,MAAMC,aAAa,GAAG,CAACC,QAAD,EAAWC,OAAX,KAAuB;EAC3C,IAAIA,OAAJ,EAAa,OAAOA,OAAP;EACb,IAAI,CAACD,QAAD,IAAa,OAAOE,YAAP,KAAwB,WAAzC,EAAsD,OAAO,EAAP;EAEtD,MAAMC,aAAa,GAAI,GAAEL,mBAAoB,GAAEE,QAAS,EAAxD;EACA,OAAOE,YAAY,CAACE,OAAb,CAAqBD,aAArB,KAAuC,EAA9C;AACD,CAND;;AAQA,eAAeJ,aAAf"}
@@ -0,0 +1,13 @@
1
+ import getItemListData from './get-item-list-data';
2
+
3
+ const getItemListIds = data => {
4
+ const itemListElements = getItemListData(data);
5
+ return itemListElements.length ? itemListElements.map(({
6
+ itemId
7
+ }) => ({
8
+ displayItems: [itemId]
9
+ })) : null;
10
+ };
11
+
12
+ export default getItemListIds;
13
+ //# sourceMappingURL=get-item-list-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-item-list-ids.js","names":["getItemListData","getItemListIds","data","itemListElements","length","map","itemId","displayItems"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-ids.js"],"sourcesContent":["import getItemListData from './get-item-list-data';\n\nconst getItemListIds = data => {\n const itemListElements = getItemListData(data);\n return itemListElements.length\n ? itemListElements.map(({ itemId }) => ({ displayItems: [itemId] }))\n : null;\n};\n\nexport default getItemListIds;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,sBAA5B;;AAEA,MAAMC,cAAc,GAAGC,IAAI,IAAI;EAC7B,MAAMC,gBAAgB,GAAGH,eAAe,CAACE,IAAD,CAAxC;EACA,OAAOC,gBAAgB,CAACC,MAAjB,GACHD,gBAAgB,CAACE,GAAjB,CAAqB,CAAC;IAAEC;EAAF,CAAD,MAAiB;IAAEC,YAAY,EAAE,CAACD,MAAD;EAAhB,CAAjB,CAArB,CADG,GAEH,IAFJ;AAGD,CALD;;AAOA,eAAeL,cAAf"}
@@ -0,0 +1,6 @@
1
+ export { default as getItemListId } from './get-item-list-id';
2
+ export { default as getItemListIds } from './get-item-list-ids';
3
+ export { default as getItemListData } from './get-item-list-data';
4
+ export { default as setItemListId } from './set-item-list-id';
5
+ export { default as setParamAndRedirect } from './set-param-and-redirect';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","getItemListId","getItemListIds","getItemListData","setItemListId","setParamAndRedirect"],"sources":["../../../../src/components/ItemList/helpers/index.js"],"sourcesContent":["export { default as getItemListId } from './get-item-list-id';\nexport { default as getItemListIds } from './get-item-list-ids';\nexport { default as getItemListData } from './get-item-list-data';\nexport { default as setItemListId } from './set-item-list-id';\nexport { default as setParamAndRedirect } from './set-param-and-redirect';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,aAApB,QAAyC,oBAAzC;AACA,SAASD,OAAO,IAAIE,cAApB,QAA0C,qBAA1C;AACA,SAASF,OAAO,IAAIG,eAApB,QAA2C,sBAA3C;AACA,SAASH,OAAO,IAAII,aAApB,QAAyC,oBAAzC;AACA,SAASJ,OAAO,IAAIK,mBAApB,QAA+C,0BAA/C"}
@@ -0,0 +1,10 @@
1
+ import { LIST_ITEM_LOCAL_KEY } from '../constants';
2
+
3
+ const setItemListId = (listName, id) => {
4
+ const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;
5
+ localStorage.setItem(localListName, id);
6
+ window.dispatchEvent(new Event('storage'));
7
+ };
8
+
9
+ export default setItemListId;
10
+ //# sourceMappingURL=set-item-list-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-item-list-id.js","names":["LIST_ITEM_LOCAL_KEY","setItemListId","listName","id","localListName","localStorage","setItem","window","dispatchEvent","Event"],"sources":["../../../../src/components/ItemList/helpers/set-item-list-id.js"],"sourcesContent":["import { LIST_ITEM_LOCAL_KEY } from '../constants';\n\nconst setItemListId = (listName, id) => {\n const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;\n localStorage.setItem(localListName, id);\n window.dispatchEvent(new Event('storage'));\n};\n\nexport default setItemListId;\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,cAApC;;AAEA,MAAMC,aAAa,GAAG,CAACC,QAAD,EAAWC,EAAX,KAAkB;EACtC,MAAMC,aAAa,GAAI,GAAEJ,mBAAoB,GAAEE,QAAS,EAAxD;EACAG,YAAY,CAACC,OAAb,CAAqBF,aAArB,EAAoCD,EAApC;EACAI,MAAM,CAACC,aAAP,CAAqB,IAAIC,KAAJ,CAAU,SAAV,CAArB;AACD,CAJD;;AAMA,eAAeR,aAAf"}
@@ -0,0 +1,20 @@
1
+ import { LIST_ITEM_QUERY_PARAM } from '../constants';
2
+ const placeholderBase = 'https://blazecms.app'; // placeholder for URL, removed later
3
+
4
+ const setParamAndRedirect = (router, value) => {
5
+ const currentUrl = new URL(router.asPath, placeholderBase);
6
+
7
+ if (value) {
8
+ currentUrl.searchParams.set(LIST_ITEM_QUERY_PARAM, value);
9
+ } else if (!currentUrl.searchParams.get(LIST_ITEM_QUERY_PARAM)) return;else {
10
+ currentUrl.searchParams.delete(LIST_ITEM_QUERY_PARAM);
11
+ }
12
+
13
+ const newUrl = currentUrl.toString().replace(placeholderBase, '');
14
+ router.push('/Resolver', newUrl, {
15
+ shallow: true
16
+ });
17
+ };
18
+
19
+ export default setParamAndRedirect;
20
+ //# sourceMappingURL=set-param-and-redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-param-and-redirect.js","names":["LIST_ITEM_QUERY_PARAM","placeholderBase","setParamAndRedirect","router","value","currentUrl","URL","asPath","searchParams","set","get","delete","newUrl","toString","replace","push","shallow"],"sources":["../../../../src/components/ItemList/helpers/set-param-and-redirect.js"],"sourcesContent":["import { LIST_ITEM_QUERY_PARAM } from '../constants';\n\nconst placeholderBase = 'https://blazecms.app'; // placeholder for URL, removed later\n\nconst setParamAndRedirect = (router, value) => {\n const currentUrl = new URL(router.asPath, placeholderBase);\n if (value) {\n currentUrl.searchParams.set(LIST_ITEM_QUERY_PARAM, value);\n } else if (!currentUrl.searchParams.get(LIST_ITEM_QUERY_PARAM)) return;\n else {\n currentUrl.searchParams.delete(LIST_ITEM_QUERY_PARAM);\n }\n\n const newUrl = currentUrl.toString().replace(placeholderBase, '');\n router.push('/Resolver', newUrl, {\n shallow: true\n });\n};\n\nexport default setParamAndRedirect;\n"],"mappings":"AAAA,SAASA,qBAAT,QAAsC,cAAtC;AAEA,MAAMC,eAAe,GAAG,sBAAxB,C,CAAgD;;AAEhD,MAAMC,mBAAmB,GAAG,CAACC,MAAD,EAASC,KAAT,KAAmB;EAC7C,MAAMC,UAAU,GAAG,IAAIC,GAAJ,CAAQH,MAAM,CAACI,MAAf,EAAuBN,eAAvB,CAAnB;;EACA,IAAIG,KAAJ,EAAW;IACTC,UAAU,CAACG,YAAX,CAAwBC,GAAxB,CAA4BT,qBAA5B,EAAmDI,KAAnD;EACD,CAFD,MAEO,IAAI,CAACC,UAAU,CAACG,YAAX,CAAwBE,GAAxB,CAA4BV,qBAA5B,CAAL,EAAyD,OAAzD,KACF;IACHK,UAAU,CAACG,YAAX,CAAwBG,MAAxB,CAA+BX,qBAA/B;EACD;;EAED,MAAMY,MAAM,GAAGP,UAAU,CAACQ,QAAX,GAAsBC,OAAtB,CAA8Bb,eAA9B,EAA+C,EAA/C,CAAf;EACAE,MAAM,CAACY,IAAP,CAAY,WAAZ,EAAyBH,MAAzB,EAAiC;IAC/BI,OAAO,EAAE;EADsB,CAAjC;AAGD,CAbD;;AAeA,eAAed,mBAAf"}
@@ -0,0 +1,2 @@
1
+ export { default as useItemListId } from './use-item-list-id';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","useItemListId"],"sources":["../../../../src/components/ItemList/hooks/index.js"],"sourcesContent":["export { default as useItemListId } from './use-item-list-id';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,aAApB,QAAyC,oBAAzC"}
@@ -0,0 +1,26 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { getItemListId } from '../helpers';
3
+
4
+ const useItemListId = ({
5
+ listName
6
+ }) => {
7
+ const idFromStorage = getItemListId(listName);
8
+ const [listId, setListId] = useState(idFromStorage);
9
+ useEffect(() => {
10
+ const storageEventHandler = () => {
11
+ const newId = getItemListId(listName);
12
+ setListId(newId);
13
+ };
14
+
15
+ window.addEventListener('storage', storageEventHandler);
16
+ return () => {
17
+ window.removeEventListener('storage', storageEventHandler);
18
+ };
19
+ }, [listName]);
20
+ return {
21
+ listId
22
+ };
23
+ };
24
+
25
+ export default useItemListId;
26
+ //# sourceMappingURL=use-item-list-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-item-list-id.js","names":["useState","useEffect","getItemListId","useItemListId","listName","idFromStorage","listId","setListId","storageEventHandler","newId","window","addEventListener","removeEventListener"],"sources":["../../../../src/components/ItemList/hooks/use-item-list-id.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { getItemListId } from '../helpers';\n\nconst useItemListId = ({ listName }) => {\n const idFromStorage = getItemListId(listName);\n const [listId, setListId] = useState(idFromStorage);\n\n useEffect(\n () => {\n const storageEventHandler = () => {\n const newId = getItemListId(listName);\n setListId(newId);\n };\n\n window.addEventListener('storage', storageEventHandler);\n\n return () => {\n window.removeEventListener('storage', storageEventHandler);\n };\n },\n [listName]\n );\n\n return { listId };\n};\n\nexport default useItemListId;\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,aAAT,QAA8B,YAA9B;;AAEA,MAAMC,aAAa,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAkB;EACtC,MAAMC,aAAa,GAAGH,aAAa,CAACE,QAAD,CAAnC;EACA,MAAM,CAACE,MAAD,EAASC,SAAT,IAAsBP,QAAQ,CAACK,aAAD,CAApC;EAEAJ,SAAS,CACP,MAAM;IACJ,MAAMO,mBAAmB,GAAG,MAAM;MAChC,MAAMC,KAAK,GAAGP,aAAa,CAACE,QAAD,CAA3B;MACAG,SAAS,CAACE,KAAD,CAAT;IACD,CAHD;;IAKAC,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCH,mBAAnC;IAEA,OAAO,MAAM;MACXE,MAAM,CAACE,mBAAP,CAA2B,SAA3B,EAAsCJ,mBAAtC;IACD,CAFD;EAGD,CAZM,EAaP,CAACJ,QAAD,CAbO,CAAT;EAgBA,OAAO;IAAEE;EAAF,CAAP;AACD,CArBD;;AAuBA,eAAeH,aAAf"}
@@ -4,6 +4,7 @@ const _excluded = ["src", "alt", "sizeKey", "priority"];
4
4
  import React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { ResponsiveImage } from '@blaze-cms/image-cdn-react';
7
+ import Head from 'next/head';
7
8
  import { useInView } from '@blaze-react/utils/lib/customHooks';
8
9
  import { IN_VIEW_CONFIG } from '../../constants';
9
10
 
@@ -18,12 +19,14 @@ const LazyImage = _ref => {
18
19
 
19
20
  const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);
20
21
  const shouldRender = priority || isIntersecting;
22
+ const HeadComponent = priority ? Head : null;
21
23
  return /*#__PURE__*/React.createElement("span", {
22
24
  ref: outerRef
23
25
  }, shouldRender && /*#__PURE__*/React.createElement(ResponsiveImage, _extends({
24
26
  src: src,
25
27
  alt: alt,
26
- sizeKey: sizeKey
28
+ sizeKey: sizeKey,
29
+ HeadComponent: HeadComponent
27
30
  }, props)));
28
31
  };
29
32
 
@@ -1 +1 @@
1
- {"version":3,"file":"LazyImage.js","names":["React","PropTypes","ResponsiveImage","useInView","IN_VIEW_CONFIG","LazyImage","src","alt","sizeKey","priority","props","isIntersecting","outerRef","shouldRender","propTypes","string","isRequired","bool","defaultProps"],"sources":["../../../src/components/LazyImage/LazyImage.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../constants';\n\nconst LazyImage = ({ src, alt, sizeKey, priority, ...props }) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const shouldRender = priority || isIntersecting;\n\n return (\n <span ref={outerRef}>\n {shouldRender && <ResponsiveImage src={src} alt={alt} sizeKey={sizeKey} {...props} />}\n </span>\n );\n};\n\nLazyImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string,\n sizeKey: PropTypes.string.isRequired,\n priority: PropTypes.bool\n};\n\nLazyImage.defaultProps = {\n alt: '',\n priority: false\n};\n\nexport default LazyImage;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,SAASC,SAAT,QAA0B,oCAA1B;AACA,SAASC,cAAT,QAA+B,iBAA/B;;AAEA,MAAMC,SAAS,GAAG,QAA+C;EAAA,IAA9C;IAAEC,GAAF;IAAOC,GAAP;IAAYC,OAAZ;IAAqBC;EAArB,CAA8C;EAAA,IAAZC,KAAY;;EAC/D,MAAM,CAACC,cAAD,EAAiBC,QAAjB,IAA6BT,SAAS,CAACC,cAAD,CAA5C;EACA,MAAMS,YAAY,GAAGJ,QAAQ,IAAIE,cAAjC;EAEA,oBACE;IAAM,GAAG,EAAEC;EAAX,GACGC,YAAY,iBAAI,oBAAC,eAAD;IAAiB,GAAG,EAAEP,GAAtB;IAA2B,GAAG,EAAEC,GAAhC;IAAqC,OAAO,EAAEC;EAA9C,GAA2DE,KAA3D,EADnB,CADF;AAKD,CATD;;AAWAL,SAAS,CAACS,SAAV,GAAsB;EACpBR,GAAG,EAAEL,SAAS,CAACc,MAAV,CAAiBC,UADF;EAEpBT,GAAG,EAAEN,SAAS,CAACc,MAFK;EAGpBP,OAAO,EAAEP,SAAS,CAACc,MAAV,CAAiBC,UAHN;EAIpBP,QAAQ,EAAER,SAAS,CAACgB;AAJA,CAAtB;AAOAZ,SAAS,CAACa,YAAV,GAAyB;EACvBX,GAAG,EAAE,EADkB;EAEvBE,QAAQ,EAAE;AAFa,CAAzB;AAKA,eAAeJ,SAAf"}
1
+ {"version":3,"file":"LazyImage.js","names":["React","PropTypes","ResponsiveImage","Head","useInView","IN_VIEW_CONFIG","LazyImage","src","alt","sizeKey","priority","props","isIntersecting","outerRef","shouldRender","HeadComponent","propTypes","string","isRequired","bool","defaultProps"],"sources":["../../../src/components/LazyImage/LazyImage.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport Head from 'next/head';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../constants';\n\nconst LazyImage = ({ src, alt, sizeKey, priority, ...props }) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const shouldRender = priority || isIntersecting;\n const HeadComponent = priority ? Head : null;\n\n return (\n <span ref={outerRef}>\n {shouldRender && (\n <ResponsiveImage\n src={src}\n alt={alt}\n sizeKey={sizeKey}\n HeadComponent={HeadComponent}\n {...props}\n />\n )}\n </span>\n );\n};\n\nLazyImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string,\n sizeKey: PropTypes.string.isRequired,\n priority: PropTypes.bool\n};\n\nLazyImage.defaultProps = {\n alt: '',\n priority: false\n};\n\nexport default LazyImage;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,oCAA1B;AACA,SAASC,cAAT,QAA+B,iBAA/B;;AAEA,MAAMC,SAAS,GAAG,QAA+C;EAAA,IAA9C;IAAEC,GAAF;IAAOC,GAAP;IAAYC,OAAZ;IAAqBC;EAArB,CAA8C;EAAA,IAAZC,KAAY;;EAC/D,MAAM,CAACC,cAAD,EAAiBC,QAAjB,IAA6BT,SAAS,CAACC,cAAD,CAA5C;EACA,MAAMS,YAAY,GAAGJ,QAAQ,IAAIE,cAAjC;EACA,MAAMG,aAAa,GAAGL,QAAQ,GAAGP,IAAH,GAAU,IAAxC;EAEA,oBACE;IAAM,GAAG,EAAEU;EAAX,GACGC,YAAY,iBACX,oBAAC,eAAD;IACE,GAAG,EAAEP,GADP;IAEE,GAAG,EAAEC,GAFP;IAGE,OAAO,EAAEC,OAHX;IAIE,aAAa,EAAEM;EAJjB,GAKMJ,KALN,EAFJ,CADF;AAaD,CAlBD;;AAoBAL,SAAS,CAACU,SAAV,GAAsB;EACpBT,GAAG,EAAEN,SAAS,CAACgB,MAAV,CAAiBC,UADF;EAEpBV,GAAG,EAAEP,SAAS,CAACgB,MAFK;EAGpBR,OAAO,EAAER,SAAS,CAACgB,MAAV,CAAiBC,UAHN;EAIpBR,QAAQ,EAAET,SAAS,CAACkB;AAJA,CAAtB;AAOAb,SAAS,CAACc,YAAV,GAAyB;EACvBZ,GAAG,EAAE,EADkB;EAEvBE,QAAQ,EAAE;AAFa,CAAzB;AAKA,eAAeJ,SAAf"}