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

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 (438) hide show
  1. package/CHANGELOG.md +347 -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 +18 -5
  19. package/lib/components/Button.js.map +1 -1
  20. package/lib/components/Card/Card.js.map +1 -1
  21. package/lib/components/Card/CardContainer.js +3 -7
  22. package/lib/components/Card/CardContainer.js.map +1 -1
  23. package/lib/components/Card/CardFactory.js +6 -3
  24. package/lib/components/Card/CardFactory.js.map +1 -1
  25. package/lib/components/Card/CardRender.js.map +1 -1
  26. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  27. package/lib/components/Card/helpers/filters-setup.js.map +1 -1
  28. package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
  29. package/lib/components/Carousel/Carousel.js.map +1 -1
  30. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  31. package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  32. package/lib/components/CarouselWrapper.js +2 -2
  33. package/lib/components/CarouselWrapper.js.map +1 -1
  34. package/lib/components/ClickWrapper.js.map +1 -1
  35. package/lib/components/Code/Code.js.map +1 -1
  36. package/lib/components/Code/ScriptTag.js.map +1 -1
  37. package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
  38. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  39. package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
  40. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
  41. package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
  42. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -1
  43. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  44. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -1
  45. package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
  46. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -1
  47. package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
  48. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -1
  49. package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
  50. package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  51. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  52. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  53. package/lib/components/DataSummary/helpers/get-data-summary-query.js.map +1 -1
  54. package/lib/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
  55. package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  56. package/lib/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
  57. package/lib/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -1
  58. package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
  59. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  60. package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  61. package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
  62. package/lib/components/Image/Image.js.map +1 -1
  63. package/lib/components/Image/ImageDetails.js.map +1 -1
  64. package/lib/components/Image/ImageFactory.js.map +1 -1
  65. package/lib/components/Image/ImageRender.js +5 -1
  66. package/lib/components/Image/ImageRender.js.map +1 -1
  67. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  68. package/lib/components/ItemList/ItemListButton/ItemListButton.js +161 -0
  69. package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
  70. package/lib/components/ItemList/ItemListButton/index.js +16 -0
  71. package/lib/components/ItemList/ItemListButton/index.js.map +1 -0
  72. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js +83 -0
  73. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
  74. package/lib/components/ItemList/ItemListCounter/index.js +16 -0
  75. package/lib/components/ItemList/ItemListCounter/index.js.map +1 -0
  76. package/lib/components/ItemList/ItemListNew/ItemListNew.js +87 -0
  77. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
  78. package/lib/components/ItemList/ItemListNew/index.js +16 -0
  79. package/lib/components/ItemList/ItemListNew/index.js.map +1 -0
  80. package/lib/components/ItemList/constants.js +19 -0
  81. package/lib/components/ItemList/constants.js.map +1 -0
  82. package/lib/components/ItemList/helpers/get-item-list-data.js +17 -0
  83. package/lib/components/ItemList/helpers/get-item-list-data.js.map +1 -0
  84. package/lib/components/ItemList/helpers/get-item-list-id.js +23 -0
  85. package/lib/components/ItemList/helpers/get-item-list-id.js.map +1 -0
  86. package/lib/components/ItemList/helpers/get-item-list-ids.js +28 -0
  87. package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
  88. package/lib/components/ItemList/helpers/index.js +50 -0
  89. package/lib/components/ItemList/helpers/index.js.map +1 -0
  90. package/lib/components/ItemList/helpers/set-item-list-id.js +22 -0
  91. package/lib/components/ItemList/helpers/set-item-list-id.js.map +1 -0
  92. package/lib/components/ItemList/helpers/set-param-and-redirect.js +51 -0
  93. package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
  94. package/lib/components/ItemList/hooks/index.js +18 -0
  95. package/lib/components/ItemList/hooks/index.js.map +1 -0
  96. package/lib/components/ItemList/hooks/use-item-list-id.js +45 -0
  97. package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -0
  98. package/lib/components/Layout/Layout.js.map +1 -1
  99. package/lib/components/Layout/helpers/check-if-row-has-columns.js.map +1 -1
  100. package/lib/components/LazyImage/LazyImage.js +5 -1
  101. package/lib/components/LazyImage/LazyImage.js.map +1 -1
  102. package/lib/components/LazyImage/index.js.map +1 -1
  103. package/lib/components/List/ListBuilder.js +12 -6
  104. package/lib/components/List/ListBuilder.js.map +1 -1
  105. package/lib/components/List/ListFactory.js +34 -7
  106. package/lib/components/List/ListFactory.js.map +1 -1
  107. package/lib/components/List/ListRender.js.map +1 -1
  108. package/lib/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -1
  109. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  110. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  111. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  112. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  113. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  114. package/lib/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -1
  115. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  116. package/lib/components/List/components/Pagination/Classic.js.map +1 -1
  117. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  118. package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
  119. package/lib/components/List/helpers/build-az-aggregations.js.map +1 -1
  120. package/lib/components/List/helpers/build-az-url.js.map +1 -1
  121. package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
  122. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  123. package/lib/components/List/helpers/has-required-item-list-details.js +29 -0
  124. package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -0
  125. package/lib/components/List/helpers/index.js +8 -0
  126. package/lib/components/List/helpers/index.js.map +1 -1
  127. package/lib/components/Login/LoggedInMessage.js.map +1 -1
  128. package/lib/components/Login/Login.js.map +1 -1
  129. package/lib/components/Login/LoginForm.js.map +1 -1
  130. package/lib/components/Menu/Menu.js +41 -28
  131. package/lib/components/Menu/Menu.js.map +1 -1
  132. package/lib/components/Menu/MenuContext.js +20 -0
  133. package/lib/components/Menu/MenuContext.js.map +1 -0
  134. package/lib/components/MenuItem/MenuItem.js +26 -7
  135. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  136. package/lib/components/Modal/Modal.js.map +1 -1
  137. package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
  138. package/lib/components/PasswordReset/helpers/validatePassword.js.map +1 -1
  139. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
  140. package/lib/components/SearchContent/SearchContent.js +183 -0
  141. package/lib/components/SearchContent/SearchContent.js.map +1 -0
  142. package/lib/components/SearchContent/SearchContentItems.js +51 -0
  143. package/lib/components/SearchContent/SearchContentItems.js.map +1 -0
  144. package/lib/components/SearchContent/SearchContentResults.js +45 -0
  145. package/lib/components/SearchContent/SearchContentResults.js.map +1 -0
  146. package/lib/components/SearchContent/SearchContentToggleIcon.js +42 -0
  147. package/lib/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
  148. package/lib/components/SearchContent/index.js +2 -233
  149. package/lib/components/SearchContent/index.js.map +1 -1
  150. package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
  151. package/lib/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
  152. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  153. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  154. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  155. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +27 -69
  156. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  157. package/lib/components/SearchFilter/SearchFilterContainer.js +87 -23
  158. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  159. package/lib/components/SearchFilter/components/Checkbox.js +19 -9
  160. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  161. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  162. package/lib/components/SearchFilter/components/Select.js +27 -11
  163. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  164. package/lib/components/SearchFilter/components/TextSearch.js +1 -5
  165. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  166. package/lib/components/SearchFilter/constants.js +1 -1
  167. package/lib/components/SearchFilter/constants.js.map +1 -1
  168. package/lib/components/SearchFilter/helpers/build-filters-query.js +87 -0
  169. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
  170. package/lib/components/SearchFilter/helpers/build-query.js +1 -1
  171. package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
  172. package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  173. package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
  174. package/lib/components/SearchFilter/helpers/calculate-min-max.js.map +1 -1
  175. package/lib/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -1
  176. package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
  177. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +18 -3
  178. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
  179. package/lib/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -1
  180. package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
  181. package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
  182. package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
  183. package/lib/components/SearchFilter/helpers/index.js +8 -0
  184. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  185. package/lib/components/SearchFilter/helpers/parse-filter-value.js +3 -7
  186. package/lib/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
  187. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  188. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  189. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  190. package/lib/components/SocialFollow/SFItem.js.map +1 -1
  191. package/lib/components/SocialFollow/SocialFollow.js.map +1 -1
  192. package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
  193. package/lib/components/SubMenu/SubMenu.js.map +1 -1
  194. package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
  195. package/lib/components/TextBlock/index.js.map +1 -1
  196. package/lib/components/Video/Video.js.map +1 -1
  197. package/lib/components/Video/VideoModal.js.map +1 -1
  198. package/lib/components/Video/VideoRender.js.map +1 -1
  199. package/lib/components/Video/providers/Default.js.map +1 -1
  200. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  201. package/lib/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
  202. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  203. package/lib/components/Video/providers/get-provider.js.map +1 -1
  204. package/lib/components/Wrapper.js.map +1 -1
  205. package/lib/components/index.js +16 -1
  206. package/lib/components/index.js.map +1 -1
  207. package/lib/constants/index.js +3 -1
  208. package/lib/constants/index.js.map +1 -1
  209. package/lib/helpers/build-inherited-filters.js.map +1 -1
  210. package/lib/helpers/build-raw-query-base.js.map +1 -1
  211. package/lib/helpers/build-raw-query.js.map +1 -1
  212. package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
  213. package/lib/helpers/check-props-to-use.js.map +1 -1
  214. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  215. package/lib/helpers/get-entity-data.js.map +1 -1
  216. package/lib/helpers/get-entity-render-props.js.map +1 -1
  217. package/lib/helpers/get-filter-props.js.map +1 -1
  218. package/lib/helpers/get-generic-props.js.map +1 -1
  219. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  220. package/lib/helpers/get-image-ids.js.map +1 -1
  221. package/lib/helpers/get-parsed-prop-values.js.map +1 -1
  222. package/lib/helpers/get-prop-values.js.map +1 -1
  223. package/lib/helpers/get-query-filters.js.map +1 -1
  224. package/lib/helpers/get-query-props.js.map +1 -1
  225. package/lib/helpers/get-updated-filter-by.js.map +1 -1
  226. package/lib/helpers/inject-banner.js.map +1 -1
  227. package/lib/helpers/inject-banners-to-entities.js.map +1 -1
  228. package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
  229. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  230. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -1
  231. package/lib/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -1
  232. package/lib/helpers/is-filter-entitys-id.js.map +1 -1
  233. package/lib/helpers/parse-TextBlock.js.map +1 -1
  234. package/lib/helpers/parse-props-to-display.js.map +1 -1
  235. package/lib/helpers/render-children.js.map +1 -1
  236. package/lib/helpers/sort-response-data.js.map +1 -1
  237. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  238. package/lib/hooks/helpers/append-gtm-classname.js +1 -0
  239. package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
  240. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  241. package/lib/hooks/helpers/getComponent.js.map +1 -1
  242. package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
  243. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  244. package/lib/hooks/helpers/insert-banners.js.map +1 -1
  245. package/lib/hooks/helpers/update-targetings.js.map +1 -1
  246. package/lib/hooks/use-banner-insertion.js.map +1 -1
  247. package/lib/hooks/use-check-mobile-screen.js.map +1 -1
  248. package/lib/hooks/use-get-entity-schema.js.map +1 -1
  249. package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
  250. package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
  251. package/lib/hooks/use-get-images.js.map +1 -1
  252. package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
  253. package/lib/hooks/use-page-builder.js.map +1 -1
  254. package/lib/utils/get-class-modifiers.js.map +1 -1
  255. package/lib/utils/get-image-data.js.map +1 -1
  256. package/lib-es/application/query/index.js +49 -1
  257. package/lib-es/application/query/index.js.map +1 -1
  258. package/lib-es/components/Button.js +18 -6
  259. package/lib-es/components/Button.js.map +1 -1
  260. package/lib-es/components/Card/CardContainer.js +3 -7
  261. package/lib-es/components/Card/CardContainer.js.map +1 -1
  262. package/lib-es/components/Card/CardFactory.js +7 -4
  263. package/lib-es/components/Card/CardFactory.js.map +1 -1
  264. package/lib-es/components/CarouselWrapper.js +2 -2
  265. package/lib-es/components/CarouselWrapper.js.map +1 -1
  266. package/lib-es/components/Image/ImageRender.js +4 -1
  267. package/lib-es/components/Image/ImageRender.js.map +1 -1
  268. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js +111 -0
  269. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
  270. package/lib-es/components/ItemList/ItemListButton/index.js +3 -0
  271. package/lib-es/components/ItemList/ItemListButton/index.js.map +1 -0
  272. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js +60 -0
  273. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
  274. package/lib-es/components/ItemList/ItemListCounter/index.js +3 -0
  275. package/lib-es/components/ItemList/ItemListCounter/index.js.map +1 -0
  276. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +64 -0
  277. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
  278. package/lib-es/components/ItemList/ItemListNew/index.js +3 -0
  279. package/lib-es/components/ItemList/ItemListNew/index.js.map +1 -0
  280. package/lib-es/components/ItemList/constants.js +6 -0
  281. package/lib-es/components/ItemList/constants.js.map +1 -0
  282. package/lib-es/components/ItemList/helpers/get-item-list-data.js +7 -0
  283. package/lib-es/components/ItemList/helpers/get-item-list-data.js.map +1 -0
  284. package/lib-es/components/ItemList/helpers/get-item-list-id.js +11 -0
  285. package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -0
  286. package/lib-es/components/ItemList/helpers/get-item-list-ids.js +13 -0
  287. package/lib-es/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
  288. package/lib-es/components/ItemList/helpers/index.js +6 -0
  289. package/lib-es/components/ItemList/helpers/index.js.map +1 -0
  290. package/lib-es/components/ItemList/helpers/set-item-list-id.js +10 -0
  291. package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -0
  292. package/lib-es/components/ItemList/helpers/set-param-and-redirect.js +20 -0
  293. package/lib-es/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
  294. package/lib-es/components/ItemList/hooks/index.js +2 -0
  295. package/lib-es/components/ItemList/hooks/index.js.map +1 -0
  296. package/lib-es/components/ItemList/hooks/use-item-list-id.js +26 -0
  297. package/lib-es/components/ItemList/hooks/use-item-list-id.js.map +1 -0
  298. package/lib-es/components/LazyImage/LazyImage.js +4 -1
  299. package/lib-es/components/LazyImage/LazyImage.js.map +1 -1
  300. package/lib-es/components/List/ListBuilder.js +12 -6
  301. package/lib-es/components/List/ListBuilder.js.map +1 -1
  302. package/lib-es/components/List/ListFactory.js +33 -9
  303. package/lib-es/components/List/ListFactory.js.map +1 -1
  304. package/lib-es/components/List/helpers/has-required-item-list-details.js +20 -0
  305. package/lib-es/components/List/helpers/has-required-item-list-details.js.map +1 -0
  306. package/lib-es/components/List/helpers/index.js +1 -0
  307. package/lib-es/components/List/helpers/index.js.map +1 -1
  308. package/lib-es/components/Menu/Menu.js +54 -46
  309. package/lib-es/components/Menu/Menu.js.map +1 -1
  310. package/lib-es/components/Menu/MenuContext.js +6 -0
  311. package/lib-es/components/Menu/MenuContext.js.map +1 -0
  312. package/lib-es/components/MenuItem/MenuItem.js +24 -9
  313. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  314. package/lib-es/components/SearchContent/SearchContent.js +129 -0
  315. package/lib-es/components/SearchContent/SearchContent.js.map +1 -0
  316. package/lib-es/components/SearchContent/SearchContentItems.js +33 -0
  317. package/lib-es/components/SearchContent/SearchContentItems.js.map +1 -0
  318. package/lib-es/components/SearchContent/SearchContentResults.js +31 -0
  319. package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -0
  320. package/lib-es/components/SearchContent/SearchContentToggleIcon.js +30 -0
  321. package/lib-es/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
  322. package/lib-es/components/SearchContent/index.js +1 -172
  323. package/lib-es/components/SearchContent/index.js.map +1 -1
  324. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
  325. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  326. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +21 -46
  327. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  328. package/lib-es/components/SearchFilter/SearchFilterContainer.js +70 -15
  329. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  330. package/lib-es/components/SearchFilter/components/Checkbox.js +18 -9
  331. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  332. package/lib-es/components/SearchFilter/components/Select.js +23 -8
  333. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  334. package/lib-es/components/SearchFilter/components/TextSearch.js +1 -5
  335. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  336. package/lib-es/components/SearchFilter/constants.js +1 -1
  337. package/lib-es/components/SearchFilter/constants.js.map +1 -1
  338. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +54 -0
  339. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
  340. package/lib-es/components/SearchFilter/helpers/build-query.js +1 -1
  341. package/lib-es/components/SearchFilter/helpers/build-query.js.map +1 -1
  342. package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  343. package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
  344. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +13 -1
  345. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
  346. package/lib-es/components/SearchFilter/helpers/index.js +2 -1
  347. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  348. package/lib-es/components/SearchFilter/helpers/parse-filter-value.js +3 -3
  349. package/lib-es/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
  350. package/lib-es/components/index.js +10 -1
  351. package/lib-es/components/index.js.map +1 -1
  352. package/lib-es/constants/index.js +2 -1
  353. package/lib-es/constants/index.js.map +1 -1
  354. package/lib-es/helpers/build-raw-query.js.map +1 -1
  355. package/lib-es/hooks/helpers/append-gtm-classname.js +1 -0
  356. package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
  357. package/package.json +5 -4
  358. package/src/application/query/index.js +55 -1
  359. package/src/components/Button.js +27 -5
  360. package/src/components/Card/CardContainer.js +2 -6
  361. package/src/components/Card/CardFactory.js +5 -3
  362. package/src/components/CarouselWrapper.js +2 -2
  363. package/src/components/Image/ImageRender.js +3 -0
  364. package/src/components/ItemList/ItemListButton/ItemListButton.js +94 -0
  365. package/src/components/ItemList/ItemListButton/index.js +3 -0
  366. package/src/components/ItemList/ItemListCounter/ItemListCounter.js +52 -0
  367. package/src/components/ItemList/ItemListCounter/index.js +3 -0
  368. package/src/components/ItemList/ItemListNew/ItemListNew.js +51 -0
  369. package/src/components/ItemList/ItemListNew/index.js +3 -0
  370. package/src/components/ItemList/constants.js +5 -0
  371. package/src/components/ItemList/helpers/get-item-list-data.js +6 -0
  372. package/src/components/ItemList/helpers/get-item-list-id.js +11 -0
  373. package/src/components/ItemList/helpers/get-item-list-ids.js +10 -0
  374. package/src/components/ItemList/helpers/index.js +5 -0
  375. package/src/components/ItemList/helpers/set-item-list-id.js +9 -0
  376. package/src/components/ItemList/helpers/set-param-and-redirect.js +20 -0
  377. package/src/components/ItemList/hooks/index.js +1 -0
  378. package/src/components/ItemList/hooks/use-item-list-id.js +27 -0
  379. package/src/components/LazyImage/LazyImage.js +11 -1
  380. package/src/components/List/ListBuilder.js +10 -5
  381. package/src/components/List/ListFactory.js +48 -12
  382. package/src/components/List/helpers/has-required-item-list-details.js +14 -0
  383. package/src/components/List/helpers/index.js +1 -0
  384. package/src/components/Menu/Menu.js +61 -54
  385. package/src/components/Menu/MenuContext.js +5 -0
  386. package/src/components/MenuItem/MenuItem.js +39 -14
  387. package/src/components/SearchContent/SearchContent.js +136 -0
  388. package/src/components/SearchContent/SearchContentItems.js +28 -0
  389. package/src/components/SearchContent/SearchContentResults.js +27 -0
  390. package/src/components/SearchContent/SearchContentToggleIcon.js +27 -0
  391. package/src/components/SearchContent/index.js +1 -177
  392. package/src/components/SearchFilter/SearchFilter/FiltersList.js +30 -37
  393. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +20 -28
  394. package/src/components/SearchFilter/SearchFilterContainer.js +61 -16
  395. package/src/components/SearchFilter/components/Checkbox.js +23 -8
  396. package/src/components/SearchFilter/components/Select.js +18 -11
  397. package/src/components/SearchFilter/components/TextSearch.js +1 -3
  398. package/src/components/SearchFilter/constants.js +1 -1
  399. package/src/components/SearchFilter/helpers/build-filters-query.js +40 -0
  400. package/src/components/SearchFilter/helpers/build-query.js +3 -1
  401. package/src/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
  402. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +12 -1
  403. package/src/components/SearchFilter/helpers/index.js +3 -1
  404. package/src/components/SearchFilter/helpers/parse-filter-value.js +3 -3
  405. package/src/components/index.js +10 -1
  406. package/src/constants/index.js +2 -0
  407. package/src/helpers/build-raw-query.js +1 -0
  408. package/src/hooks/helpers/append-gtm-classname.js +3 -0
  409. package/tests/helpers/mocks.js +4 -4
  410. package/tests/unit/src/components/Button.test.js +55 -1
  411. package/tests/unit/src/components/ItemList/ItemListButton.test.js +175 -0
  412. package/tests/unit/src/components/ItemList/ItemListCounter.test.js +65 -0
  413. package/tests/unit/src/components/ItemList/ItemListNew.test.js +164 -0
  414. package/tests/unit/src/components/ItemList/__snapshots__/ItemListButton.test.js.snap +107 -0
  415. package/tests/unit/src/components/ItemList/__snapshots__/ItemListCounter.test.js.snap +31 -0
  416. package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +27 -0
  417. package/tests/unit/src/components/ItemList/helpers/get-item-list-data.test.js +28 -0
  418. package/tests/unit/src/components/ItemList/helpers/get-item-list-id.test.js +20 -0
  419. package/tests/unit/src/components/ItemList/helpers/get-item-list-ids.test.js +19 -0
  420. package/tests/unit/src/components/ItemList/helpers/set-item-list-id.test.js +13 -0
  421. package/tests/unit/src/components/ItemList/helpers/set-param-and-redirect.test.js +30 -0
  422. package/tests/unit/src/components/ItemList/hooks/use-item-list-id.test.js +32 -0
  423. package/tests/unit/src/components/List/helpers/has-required-item-list-details.test.js +30 -0
  424. package/tests/unit/src/components/Menu/Menu.test.js +9 -3
  425. package/tests/unit/src/components/Menu/__snapshots__/Menu.test.js.snap +12 -11
  426. package/tests/unit/src/components/MenuItem/MenuItem.test.js +1 -1
  427. package/tests/unit/src/components/MenuItem/SubMenu.test.js +5 -1
  428. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +54 -10
  429. package/tests/unit/src/components/SearchContent/SearchContent.test.js +29 -0
  430. package/tests/unit/src/components/SearchContent/__snapshots__/SearchContent.test.js.snap +9 -0
  431. package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +26 -7
  432. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +4 -0
  433. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Checkbox.test.js.snap +2 -0
  434. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +4 -0
  435. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +2 -2
  436. package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +25 -11
  437. package/tests/unit/src/components/SearchFilter/helpers/parse-filter-value.test.js +1 -1
  438. package/tests/unit/src/components/__snapshots__/index.test.js.snap +12 -0
@@ -5,4 +5,5 @@ export { default as buildAzUrl } from './build-az-url';
5
5
  export { default as sortAggs } from './sort-aggs';
6
6
  export { default as getItemsPerPageToUse } from './get-items-per-page-to-use';
7
7
  export { default as getSortProps } from './get-sort-props';
8
+ export { default as hasRequiredItemListDetails } from './has-required-item-list-details';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAApB,QAAgD,0BAAhD;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,uBAA5C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,yBAA/C;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,gBAAtC;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,aAApC;AACA,SAASL,OAAO,IAAIM,oBAApB,QAAgD,6BAAhD;AACA,SAASN,OAAO,IAAIO,YAApB,QAAwC,kBAAxC"}
1
+ {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAApB,QAAgD,0BAAhD;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,uBAA5C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,yBAA/C;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,gBAAtC;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,aAApC;AACA,SAASL,OAAO,IAAIM,oBAApB,QAAgD,6BAAhD;AACA,SAASN,OAAO,IAAIO,YAApB,QAAwC,kBAAxC;AACA,SAASP,OAAO,IAAIQ,0BAApB,QAAsD,kCAAtD"}
@@ -1,53 +1,68 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- const _excluded = ["children", "collapse", "modifier", "mobileMenuModifier", "mobileMenuChildrenModifier", "mobileIconAlignment", "mobileButtonModifier", "hamburgerIconModifier", "logoOnMobile", "logoOnDesktop", "logoOnMobileUrl", "logoOnMobileAlt", "logoOnMobileModifier", "logoOnDesktopModifier", "logoOnDesktopAlignment", "closeIconModifier"];
3
- import React, { useState } from 'react';
1
+ import React, { useState, useEffect } from 'react';
4
2
  import PropTypes from 'prop-types';
5
3
  import BlazeButton from '@blaze-react/button';
4
+ import classnames from 'classnames';
5
+ import { useRouter } from 'next/router';
6
6
  import { MdMenu, MdClose } from 'react-icons/md';
7
- import { useCheckMobileScreen } from '../../hooks';
8
- import { HIDDEN } from '../../constants';
7
+ import { Link } from '@blaze-cms/nextjs-components';
8
+ import MenuContext from './MenuContext';
9
9
 
10
- const Menu = _ref => {
11
- let {
12
- children,
13
- collapse,
14
- modifier,
15
- mobileMenuModifier,
16
- mobileMenuChildrenModifier,
17
- mobileIconAlignment,
18
- mobileButtonModifier,
19
- hamburgerIconModifier,
20
- logoOnMobile,
21
- logoOnDesktop,
22
- logoOnMobileUrl,
23
- logoOnMobileAlt,
24
- logoOnMobileModifier,
25
- logoOnDesktopModifier,
26
- logoOnDesktopAlignment,
27
- closeIconModifier
28
- } = _ref,
29
- rest = _objectWithoutProperties(_ref, _excluded);
30
-
31
- const isMobile = useCheckMobileScreen();
10
+ const Menu = ({
11
+ children,
12
+ collapse,
13
+ modifier,
14
+ mobileMenuModifier,
15
+ mobileMenuChildrenModifier,
16
+ mobileIconAlignment,
17
+ mobileButtonModifier,
18
+ hamburgerIconModifier,
19
+ logoOnMobile,
20
+ logoOnDesktop,
21
+ logoOnMobileUrl,
22
+ logoOnMobileAlt,
23
+ logoOnMobileModifier,
24
+ logoOnDesktopModifier,
25
+ logoOnDesktopAlignment,
26
+ closeIconModifier
27
+ }) => {
28
+ const router = useRouter();
32
29
  const [showMobileMenu, setShowMobileMenu] = useState(false);
33
- const shouldDisplayCollapsed = collapse && isMobile;
34
- const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;
35
- const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;
36
- const childrenDesktopModifier = shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;
37
- const childrenMobileModifier = shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;
30
+ useEffect(() => {
31
+ const handleRouteChange = () => setShowMobileMenu(false);
32
+
33
+ router.events.on('routeChangeStart', handleRouteChange);
34
+ return () => {
35
+ router.events.off('routeChangeStart', handleRouteChange);
36
+ };
37
+ }, [router.events]);
38
+ const shouldDisplayChildren = collapse ? showMobileMenu : true;
39
+ const childModifiers = classnames({
40
+ [mobileMenuChildrenModifier]: shouldDisplayChildren,
41
+ [modifier]: !showMobileMenu
42
+ });
38
43
  const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';
39
- return /*#__PURE__*/React.createElement(React.Fragment, null, collapse && /*#__PURE__*/React.createElement("div", {
44
+ const menuWrapperClasses = classnames('menu--wrapper', {
45
+ 'menu--wrapper--mobile-open': showMobileMenu,
46
+ 'menu--wrapper--mobile-closed': collapse && !showMobileMenu
47
+ });
48
+ return /*#__PURE__*/React.createElement(MenuContext.Provider, {
49
+ value: {
50
+ showMobileMenu
51
+ }
52
+ }, /*#__PURE__*/React.createElement("div", {
53
+ className: menuWrapperClasses
54
+ }, collapse && /*#__PURE__*/React.createElement("div", {
40
55
  className: "menu--mobile-wrapper"
41
56
  }, /*#__PURE__*/React.createElement("div", {
42
57
  className: `flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`
43
58
  }, /*#__PURE__*/React.createElement(BlazeButton, {
44
- className: mobileButtonClass,
59
+ className: `menu--mobile-button ${mobileButtonModifier}`,
45
60
  onClick: () => setShowMobileMenu(!showMobileMenu)
46
61
  }, /*#__PURE__*/React.createElement("i", null, showMobileMenu ? /*#__PURE__*/React.createElement(MdClose, {
47
62
  className: closeIconModifier
48
63
  }) : /*#__PURE__*/React.createElement(MdMenu, {
49
64
  className: hamburgerIconModifier
50
- }))))), logoOnMobile && /*#__PURE__*/React.createElement("a", {
65
+ }))))), logoOnMobile && !showMobileMenu && /*#__PURE__*/React.createElement(Link, {
51
66
  href: "/"
52
67
  }, /*#__PURE__*/React.createElement("img", {
53
68
  src: logoOnMobileUrl,
@@ -56,22 +71,15 @@ const Menu = _ref => {
56
71
  })), /*#__PURE__*/React.createElement("div", {
57
72
  className: "menu--desktop-wrapper"
58
73
  }, /*#__PURE__*/React.createElement("ul", {
59
- className: isMobile ? childrenMobileModifier : childrenDesktopModifier
60
- }, logoOnDesktop && logoOnDesktopAlignment === 'left' && /*#__PURE__*/React.createElement("a", {
61
- href: "/",
62
- className: "menu--desktop__logo-wrapper"
63
- }, /*#__PURE__*/React.createElement("img", {
64
- src: logoOnMobileUrl,
65
- alt: logoOnMobileAlt,
66
- className: logoOnDesktopModifier
67
- })), children, logoOnDesktop && logoOnDesktopAlignment === 'right' && /*#__PURE__*/React.createElement("a", {
74
+ className: childModifiers
75
+ }, logoOnDesktop && /*#__PURE__*/React.createElement("a", {
68
76
  href: "/",
69
- className: "menu--desktop__logo-wrapper"
77
+ className: ""
70
78
  }, /*#__PURE__*/React.createElement("img", {
71
79
  src: logoOnMobileUrl,
72
80
  alt: logoOnMobileAlt,
73
81
  className: logoOnDesktopModifier
74
- })))));
82
+ })), children))));
75
83
  };
76
84
 
77
85
  Menu.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","useState","PropTypes","BlazeButton","MdMenu","MdClose","useCheckMobileScreen","HIDDEN","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","rest","isMobile","showMobileMenu","setShowMobileMenu","shouldDisplayCollapsed","mobileButtonClass","shouldDisplayChildren","childrenDesktopModifier","childrenMobileModifier","isMobileMenuExpanded","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { useCheckMobileScreen } from '../../hooks';\nimport { HIDDEN } from '../../constants';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n logoOnDesktopAlignment,\n closeIconModifier,\n ...rest\n}) => {\n const isMobile = useCheckMobileScreen();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n const shouldDisplayCollapsed = collapse && isMobile;\n const mobileButtonClass = shouldDisplayCollapsed && isMobile ? mobileButtonModifier : HIDDEN;\n const shouldDisplayChildren = shouldDisplayCollapsed ? showMobileMenu : true;\n const childrenDesktopModifier =\n shouldDisplayChildren && !isMobile ? modifier : `${modifier} ${HIDDEN}`;\n\n const childrenMobileModifier =\n shouldDisplayChildren && isMobile ? `${mobileMenuChildrenModifier}` : ` ${HIDDEN}`;\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n\n return (\n <>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={mobileButtonClass}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile && (\n <a href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </a>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={isMobile ? childrenMobileModifier : childrenDesktopModifier}>\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'left' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n {logoOnDesktop &&\n logoOnDesktopAlignment === 'right' && (\n <a href=\"/\" className=\"menu--desktop__logo-wrapper\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n </ul>\n </div>\n </>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n logoOnDesktopAlignment: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n logoOnDesktopAlignment,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n logoOnDesktopAlignment: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ const MenuContext = React.createContext({
3
+ showMobileMenu: false
4
+ });
5
+ export default MenuContext;
6
+ //# sourceMappingURL=MenuContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContext.js","names":["React","MenuContext","createContext","showMobileMenu"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false });\n\nexport default MenuContext;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,MAAMC,WAAW,GAAGD,KAAK,CAACE,aAAN,CAAoB;EAAEC,cAAc,EAAE;AAAlB,CAApB,CAApB;AAEA,eAAeF,WAAf"}
@@ -1,8 +1,10 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState, useContext, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';
3
+ import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
4
+ import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
4
5
  import { hasChildren } from '../../helpers';
5
6
  import BlazeLink from '../BlazeLink';
7
+ import MenuContext from '../Menu/MenuContext';
6
8
 
7
9
  const MenuItem = ({
8
10
  children,
@@ -12,6 +14,12 @@ const MenuItem = ({
12
14
  url
13
15
  }) => {
14
16
  const [displayChildren, setDisplayChildren] = useState(false);
17
+ const {
18
+ showMobileMenu
19
+ } = useContext(MenuContext);
20
+ useEffect(() => {
21
+ if (!showMobileMenu) setDisplayChildren(false);
22
+ }, [showMobileMenu]);
15
23
  const isHoverEvent = eventType === HOVER;
16
24
  const childrenDisplayClass = displayChildren ? '' : HIDDEN;
17
25
 
@@ -19,12 +27,13 @@ const MenuItem = ({
19
27
  type
20
28
  }) => {
21
29
  if (isHoverEvent) {
22
- if (type === MOUSE_ENTER) setDisplayChildren(true);
23
- if (type === MOUSE_LEAVE) setDisplayChildren(false);
24
- }
30
+ if (type === MOUSE_ENTER) {
31
+ setDisplayChildren(true);
32
+ }
25
33
 
26
- if (type === CLICK && eventType === CLICK && !url) {
27
- setDisplayChildren(!displayChildren);
34
+ if (type === MOUSE_LEAVE) {
35
+ setDisplayChildren(false);
36
+ }
28
37
  }
29
38
  };
30
39
 
@@ -33,13 +42,19 @@ const MenuItem = ({
33
42
  className: modifier,
34
43
  onMouseEnter: handleItemEvent,
35
44
  onMouseLeave: handleItemEvent
45
+ }, /*#__PURE__*/React.createElement("div", {
46
+ className: "menu--item--link"
36
47
  }, url ? /*#__PURE__*/React.createElement(BlazeLink, {
37
48
  href: url
38
49
  }, text) : /*#__PURE__*/React.createElement("span", {
39
50
  role: "button",
40
51
  onClick: handleItemEvent
41
- }, text), hasValidChildren && /*#__PURE__*/React.createElement("div", {
42
- className: childrenDisplayClass
52
+ }, text), hasValidChildren && /*#__PURE__*/React.createElement("i", {
53
+ role: "button",
54
+ className: "menu--item--link--icon",
55
+ onClick: () => setDisplayChildren(!displayChildren)
56
+ }, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
57
+ className: `menu--item-children ${childrenDisplayClass}`
43
58
  }, children));
44
59
  };
45
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useState","PropTypes","HOVER","MOUSE_ENTER","MOUSE_LEAVE","CLICK","HIDDEN","hasChildren","BlazeLink","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, CLICK, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) setDisplayChildren(true);\n if (type === MOUSE_LEAVE) setDisplayChildren(false);\n }\n if (type === CLICK && eventType === CLICK && !url) {\n setDisplayChildren(!displayChildren);\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && <div className={childrenDisplayClass}>{children}</div>}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,KAAT,EAAgBC,WAAhB,EAA6BC,WAA7B,EAA0CC,KAA1C,EAAiDC,MAAjD,QAA+D,iBAA/D;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,QAAF;EAAYC,SAAZ;EAAuBC,IAAvB;EAA6BC,QAA7B;EAAuCC;AAAvC,CAAD,KAAkD;EACjE,MAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwChB,QAAQ,CAAC,KAAD,CAAtD;EACA,MAAMiB,YAAY,GAAGN,SAAS,KAAKT,KAAnC;EACA,MAAMgB,oBAAoB,GAAGH,eAAe,GAAG,EAAH,GAAQT,MAApD;;EAEA,MAAMa,eAAe,GAAG,CAAC;IAAEC;EAAF,CAAD,KAAc;IACpC,IAAIH,YAAJ,EAAkB;MAChB,IAAIG,IAAI,KAAKjB,WAAb,EAA0Ba,kBAAkB,CAAC,IAAD,CAAlB;MAC1B,IAAII,IAAI,KAAKhB,WAAb,EAA0BY,kBAAkB,CAAC,KAAD,CAAlB;IAC3B;;IACD,IAAII,IAAI,KAAKf,KAAT,IAAkBM,SAAS,KAAKN,KAAhC,IAAyC,CAACS,GAA9C,EAAmD;MACjDE,kBAAkB,CAAC,CAACD,eAAF,CAAlB;IACD;EACF,CARD;;EASA,MAAMM,gBAAgB,GAAGd,WAAW,CAACG,QAAD,CAApC;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAEM,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,GACGL,GAAG,gBACF,oBAAC,SAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEO;EAA7B,GACGP,IADH,CAJJ,EAQGS,gBAAgB,iBAAI;IAAK,SAAS,EAAEH;EAAhB,GAAuCR,QAAvC,CARvB,CADF;AAYD,CA5BD;;AA8BAD,QAAQ,CAACa,SAAT,GAAqB;EACnBT,QAAQ,EAAEZ,SAAS,CAACsB,MADD;EAEnBX,IAAI,EAAEX,SAAS,CAACsB,MAFG;EAGnBT,GAAG,EAAEb,SAAS,CAACsB,MAHI;EAInBZ,SAAS,EAAEV,SAAS,CAACsB,MAAV,CAAiBC,UAJT;EAKnBd,QAAQ,EAAET,SAAS,CAACwB,SAAV,CAAoB,CAACxB,SAAS,CAACyB,OAAV,CAAkBzB,SAAS,CAAC0B,IAA5B,CAAD,EAAoC1B,SAAS,CAAC0B,IAA9C,CAApB;AALS,CAArB;AAQAlB,QAAQ,CAACmB,YAAT,GAAwB;EACtBd,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;AAOA,eAAeD,QAAf"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,UAA1B,EAAsCC,SAAtC,QAAuD,OAAvD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,aAAT,EAAwBC,WAAxB,QAA2C,gBAA3C;AACA,SAASC,KAAT,EAAgBC,WAAhB,EAA6BC,WAA7B,EAA0CC,MAA1C,QAAwD,iBAAxD;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,WAAP,MAAwB,qBAAxB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,QAAF;EAAYC,SAAZ;EAAuBC,IAAvB;EAA6BC,QAA7B;EAAuCC;AAAvC,CAAD,KAAkD;EACjE,MAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCpB,QAAQ,CAAC,KAAD,CAAtD;EACA,MAAM;IAAEqB;EAAF,IAAqBpB,UAAU,CAACW,WAAD,CAArC;EAEAV,SAAS,CACP,MAAM;IACJ,IAAI,CAACmB,cAAL,EAAqBD,kBAAkB,CAAC,KAAD,CAAlB;EACtB,CAHM,EAIP,CAACC,cAAD,CAJO,CAAT;EAOA,MAAMC,YAAY,GAAGP,SAAS,KAAKT,KAAnC;EACA,MAAMiB,oBAAoB,GAAGJ,eAAe,GAAG,EAAH,GAAQV,MAApD;;EAEA,MAAMe,eAAe,GAAG,CAAC;IAAEC;EAAF,CAAD,KAAc;IACpC,IAAIH,YAAJ,EAAkB;MAChB,IAAIG,IAAI,KAAKlB,WAAb,EAA0B;QACxBa,kBAAkB,CAAC,IAAD,CAAlB;MACD;;MACD,IAAIK,IAAI,KAAKjB,WAAb,EAA0B;QACxBY,kBAAkB,CAAC,KAAD,CAAlB;MACD;IACF;EACF,CATD;;EAUA,MAAMM,gBAAgB,GAAGhB,WAAW,CAACI,QAAD,CAApC;EAEA,oBACE;IAAI,SAAS,EAAEG,QAAf;IAAyB,YAAY,EAAEO,eAAvC;IAAwD,YAAY,EAAEA;EAAtE,gBACE;IAAK,SAAS,EAAC;EAAf,GACGN,GAAG,gBACF,oBAAC,SAAD;IAAW,IAAI,EAAEA;EAAjB,GAAuBF,IAAvB,CADE,gBAGF;IAAM,IAAI,EAAC,QAAX;IAAoB,OAAO,EAAEQ;EAA7B,GACGR,IADH,CAJJ,EAQGU,gBAAgB,iBACf;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,wBAFZ;IAGE,OAAO,EAAE,MAAMN,kBAAkB,CAAC,CAACD,eAAF;EAHnC,GAIGA,eAAe,gBAAG,oBAAC,WAAD,OAAH,gBAAqB,oBAAC,aAAD,OAJvC,CATJ,CADF,EAmBGO,gBAAgB,iBACf;IAAK,SAAS,EAAG,uBAAsBH,oBAAqB;EAA5D,GAAgET,QAAhE,CApBJ,CADF;AAyBD,CAnDD;;AAqDAD,QAAQ,CAACc,SAAT,GAAqB;EACnBV,QAAQ,EAAEd,SAAS,CAACyB,MADD;EAEnBZ,IAAI,EAAEb,SAAS,CAACyB,MAFG;EAGnBV,GAAG,EAAEf,SAAS,CAACyB,MAHI;EAInBb,SAAS,EAAEZ,SAAS,CAACyB,MAAV,CAAiBC,UAJT;EAKnBf,QAAQ,EAAEX,SAAS,CAAC2B,SAAV,CAAoB,CAAC3B,SAAS,CAAC4B,OAAV,CAAkB5B,SAAS,CAAC6B,IAA5B,CAAD,EAAoC7B,SAAS,CAAC6B,IAA9C,CAApB;AALS,CAArB;AAQAnB,QAAQ,CAACoB,YAAT,GAAwB;EACtBf,GAAG,EAAE,EADiB;EAEtBD,QAAQ,EAAE,EAFY;EAGtBD,IAAI,EAAE,EAHgB;EAItBF,QAAQ,EAAE;AAJY,CAAxB;AAOA,eAAeD,QAAf"}
@@ -0,0 +1,129 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useRouter } from 'next/router';
4
+ import { useDebounceSearch } from '@blaze-cms/plugin-search-ui';
5
+ import SearchContentResults from './SearchContentResults';
6
+ import SearchContentToggleIcon from './SearchContentToggleIcon';
7
+
8
+ const SearchContent = ({
9
+ entities,
10
+ searchInputAlignment,
11
+ searchInputWrapperMobile,
12
+ searchInputWrapperDesktop,
13
+ collapsible,
14
+ isMobile,
15
+ placeholder,
16
+ modifier
17
+ }) => {
18
+ const [collapsed, setCollapsed] = useState(collapsible);
19
+ const router = useRouter();
20
+ const {
21
+ results,
22
+ searchTerm,
23
+ setSearchTerm,
24
+ debouncedSearchTerm
25
+ } = useDebounceSearch({
26
+ entities,
27
+ initialSearchTerm: '',
28
+ resultKeys: 'id, name, image { url }, url'
29
+ });
30
+ useEffect(() => {
31
+ const handleRouteChange = () => setSearchTerm('');
32
+
33
+ router.events.on('routeChangeStart', handleRouteChange);
34
+ return () => {
35
+ router.events.off('routeChangeStart', handleRouteChange);
36
+ };
37
+ }, [router.events, setSearchTerm]);
38
+ const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;
39
+
40
+ const handleClick = (e, url) => {
41
+ e.preventDefault();
42
+ router.push(url);
43
+ };
44
+
45
+ const handleKeyPress = e => {
46
+ if (e.key === 'Enter' && e.target.value !== '') {
47
+ router.push(`/search?search_term=${e.target.value}`);
48
+ }
49
+ };
50
+
51
+ const handleOnBlur = () => {
52
+ if (!collapsible) return;
53
+ if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);
54
+ };
55
+
56
+ const handleClearSearchResults = () => {
57
+ setSearchTerm('');
58
+ };
59
+
60
+ const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');
61
+ return collapsed ? /*#__PURE__*/React.createElement("div", {
62
+ className: className
63
+ }, /*#__PURE__*/React.createElement("div", {
64
+ className: "search-content--collapse__wrapper"
65
+ }, /*#__PURE__*/React.createElement("label", {
66
+ className: "search-content--collapse__label"
67
+ }, /*#__PURE__*/React.createElement("span", {
68
+ className: "search-content--collapse__icon_wrapper"
69
+ }, /*#__PURE__*/React.createElement("svg", {
70
+ className: "search-content--collapse__icon",
71
+ viewBox: "0 0 20 20"
72
+ }, /*#__PURE__*/React.createElement("path", {
73
+ fillRule: "evenodd",
74
+ d: "M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z",
75
+ clipRule: "evenodd"
76
+ }))), /*#__PURE__*/React.createElement("input", {
77
+ onFocus: () => setCollapsed(false),
78
+ onChange: e => setSearchTerm(e.target.value),
79
+ type: "text",
80
+ name: "search",
81
+ className: "search-content--collapse__input"
82
+ })))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
83
+ className: className
84
+ }, /*#__PURE__*/React.createElement("div", {
85
+ className: "search-content--expanded__wrapper"
86
+ }, /*#__PURE__*/React.createElement("label", {
87
+ className: "search-content--expanded__label"
88
+ }, /*#__PURE__*/React.createElement("span", {
89
+ className: "search-content--expanded__icon_wrapper"
90
+ }, /*#__PURE__*/React.createElement(SearchContentToggleIcon, {
91
+ results: results,
92
+ onClear: handleClearSearchResults
93
+ })), /*#__PURE__*/React.createElement("input", {
94
+ type: "text",
95
+ name: "search",
96
+ onChange: e => setSearchTerm(e.target.value),
97
+ onKeyPress: handleKeyPress,
98
+ className: "search-content--expanded__input",
99
+ placeholder: placeholder,
100
+ value: searchTerm,
101
+ onBlur: handleOnBlur
102
+ }))), /*#__PURE__*/React.createElement(SearchContentResults, {
103
+ results: results,
104
+ debouncedSearchTerm: debouncedSearchTerm,
105
+ handleClick: handleClick
106
+ })));
107
+ };
108
+
109
+ SearchContent.propTypes = {
110
+ searchInputAlignment: PropTypes.string,
111
+ searchInputWrapperMobile: PropTypes.string,
112
+ searchInputWrapperDesktop: PropTypes.string,
113
+ placeholder: PropTypes.string,
114
+ isMobile: PropTypes.bool,
115
+ collapsible: PropTypes.bool,
116
+ entities: PropTypes.array.isRequired,
117
+ modifier: PropTypes.string
118
+ };
119
+ SearchContent.defaultProps = {
120
+ searchInputAlignment: '',
121
+ searchInputWrapperMobile: '',
122
+ searchInputWrapperDesktop: '',
123
+ placeholder: '',
124
+ isMobile: false,
125
+ collapsible: false,
126
+ modifier: ''
127
+ };
128
+ export default SearchContent;
129
+ //# sourceMappingURL=SearchContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","modifier","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder,\n modifier\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsible) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: ''\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import BlazeLink from '../BlazeLink';
3
+ import LazyImage from '../LazyImage';
4
+
5
+ const SearchContentItems = ({
6
+ results = [],
7
+ onClick
8
+ }) => results.map(item => {
9
+ if (!item.url) return null;
10
+ const {
11
+ id,
12
+ name,
13
+ image,
14
+ url
15
+ } = item;
16
+ return /*#__PURE__*/React.createElement(BlazeLink, {
17
+ href: url,
18
+ onClick: onClick,
19
+ key: id
20
+ }, /*#__PURE__*/React.createElement("div", {
21
+ className: "search-content--results__wrapper"
22
+ }, image !== null && image !== void 0 && image.url ? /*#__PURE__*/React.createElement(LazyImage, {
23
+ src: image.url,
24
+ alt: name,
25
+ className: "search-content--results__image",
26
+ sizeKey: "search-result"
27
+ }) : null, /*#__PURE__*/React.createElement("span", {
28
+ className: "search-content--results__title"
29
+ }, name)));
30
+ });
31
+
32
+ export default SearchContentItems;
33
+ //# sourceMappingURL=SearchContentItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContentItems.js","names":["React","BlazeLink","LazyImage","SearchContentItems","results","onClick","map","item","url","id","name","image"],"sources":["../../../src/components/SearchContent/SearchContentItems.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport LazyImage from '../LazyImage';\n\nconst SearchContentItems = ({ results = [], onClick }) =>\n results.map(item => {\n if (!item.url) return null;\n\n const { id, name, image, url } = item;\n\n return (\n <BlazeLink href={url} onClick={onClick} key={id}>\n <div className=\"search-content--results__wrapper\">\n {image?.url ? (\n <LazyImage\n src={image.url}\n alt={name}\n className=\"search-content--results__image\"\n sizeKey=\"search-result\"\n />\n ) : null}\n <span className=\"search-content--results__title\">{name}</span>\n </div>\n </BlazeLink>\n );\n });\n\nexport default SearchContentItems;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,kBAAkB,GAAG,CAAC;EAAEC,OAAO,GAAG,EAAZ;EAAgBC;AAAhB,CAAD,KACzBD,OAAO,CAACE,GAAR,CAAYC,IAAI,IAAI;EAClB,IAAI,CAACA,IAAI,CAACC,GAAV,EAAe,OAAO,IAAP;EAEf,MAAM;IAAEC,EAAF;IAAMC,IAAN;IAAYC,KAAZ;IAAmBH;EAAnB,IAA2BD,IAAjC;EAEA,oBACE,oBAAC,SAAD;IAAW,IAAI,EAAEC,GAAjB;IAAsB,OAAO,EAAEH,OAA/B;IAAwC,GAAG,EAAEI;EAA7C,gBACE;IAAK,SAAS,EAAC;EAAf,GACGE,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEH,GAAP,gBACC,oBAAC,SAAD;IACE,GAAG,EAAEG,KAAK,CAACH,GADb;IAEE,GAAG,EAAEE,IAFP;IAGE,SAAS,EAAC,gCAHZ;IAIE,OAAO,EAAC;EAJV,EADD,GAOG,IARN,eASE;IAAM,SAAS,EAAC;EAAhB,GAAkDA,IAAlD,CATF,CADF,CADF;AAeD,CApBD,CADF;;AAuBA,eAAeP,kBAAf"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import BlazeLink from '../BlazeLink';
3
+ import SearchContentItems from './SearchContentItems';
4
+
5
+ const SearchContentResults = ({
6
+ results,
7
+ debouncedSearchTerm,
8
+ onClick
9
+ }) => {
10
+ if (debouncedSearchTerm !== '') {
11
+ return /*#__PURE__*/React.createElement("div", {
12
+ className: "search-content--results__wrapper"
13
+ }, /*#__PURE__*/React.createElement("div", {
14
+ className: "search-content--results__wrapper--message"
15
+ }, /*#__PURE__*/React.createElement("div", {
16
+ className: "search-content--results__content"
17
+ }, results.length === 0 && /*#__PURE__*/React.createElement("div", {
18
+ className: "search-content--results__message"
19
+ }, /*#__PURE__*/React.createElement(BlazeLink, {
20
+ href: `/search?search_term=${debouncedSearchTerm}`
21
+ }, `Search all results for: ${debouncedSearchTerm}`)), results.length > 0 && /*#__PURE__*/React.createElement(SearchContentItems, {
22
+ results: results,
23
+ onClick: onClick
24
+ }))));
25
+ }
26
+
27
+ return null;
28
+ };
29
+
30
+ export default SearchContentResults;
31
+ //# sourceMappingURL=SearchContentResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContentResults.js","names":["React","BlazeLink","SearchContentItems","SearchContentResults","results","debouncedSearchTerm","onClick","length"],"sources":["../../../src/components/SearchContent/SearchContentResults.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport SearchContentItems from './SearchContentItems';\n\nconst SearchContentResults = ({ results, debouncedSearchTerm, onClick }) => {\n if (debouncedSearchTerm !== '') {\n return (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"search-content--results__content\">\n {results.length === 0 && (\n <div className=\"search-content--results__message\">\n <BlazeLink href={`/search?search_term=${debouncedSearchTerm}`}>\n {`Search all results for: ${debouncedSearchTerm}`}\n </BlazeLink>\n </div>\n )}\n {results.length > 0 && <SearchContentItems results={results} onClick={onClick} />}\n </div>\n </div>\n </div>\n );\n }\n return null;\n};\n\nexport default SearchContentResults;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,kBAAP,MAA+B,sBAA/B;;AAEA,MAAMC,oBAAoB,GAAG,CAAC;EAAEC,OAAF;EAAWC,mBAAX;EAAgCC;AAAhC,CAAD,KAA+C;EAC1E,IAAID,mBAAmB,KAAK,EAA5B,EAAgC;IAC9B,oBACE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAK,SAAS,EAAC;IAAf,GACGD,OAAO,CAACG,MAAR,KAAmB,CAAnB,iBACC;MAAK,SAAS,EAAC;IAAf,gBACE,oBAAC,SAAD;MAAW,IAAI,EAAG,uBAAsBF,mBAAoB;IAA5D,GACI,2BAA0BA,mBAAoB,EADlD,CADF,CAFJ,EAQGD,OAAO,CAACG,MAAR,GAAiB,CAAjB,iBAAsB,oBAAC,kBAAD;MAAoB,OAAO,EAAEH,OAA7B;MAAsC,OAAO,EAAEE;IAA/C,EARzB,CADF,CADF,CADF;EAgBD;;EACD,OAAO,IAAP;AACD,CApBD;;AAsBA,eAAeH,oBAAf"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+
3
+ const SearchContentToggleIcon = ({
4
+ results,
5
+ onClear
6
+ }) => {
7
+ if (results && results.length > 0) {
8
+ return /*#__PURE__*/React.createElement("svg", {
9
+ className: "search-content--expanded__icon",
10
+ viewBox: "0 0 20 20",
11
+ onClick: onClear
12
+ }, /*#__PURE__*/React.createElement("path", {
13
+ fillRule: "evenodd",
14
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
15
+ clipRule: "evenodd"
16
+ }));
17
+ }
18
+
19
+ return /*#__PURE__*/React.createElement("svg", {
20
+ className: "search-content--expanded__icon",
21
+ viewBox: "0 0 20 20"
22
+ }, /*#__PURE__*/React.createElement("path", {
23
+ fillRule: "evenodd",
24
+ d: "M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z",
25
+ clipRule: "evenodd"
26
+ }));
27
+ };
28
+
29
+ export default SearchContentToggleIcon;
30
+ //# sourceMappingURL=SearchContentToggleIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContentToggleIcon.js","names":["React","SearchContentToggleIcon","results","onClear","length"],"sources":["../../../src/components/SearchContent/SearchContentToggleIcon.js"],"sourcesContent":["import React from 'react';\n\nconst SearchContentToggleIcon = ({ results, onClear }) => {\n if (results && results.length > 0) {\n return (\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\" onClick={onClear}>\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n }\n\n return (\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n};\n\nexport default SearchContentToggleIcon;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,MAAMC,uBAAuB,GAAG,CAAC;EAAEC,OAAF;EAAWC;AAAX,CAAD,KAA0B;EACxD,IAAID,OAAO,IAAIA,OAAO,CAACE,MAAR,GAAiB,CAAhC,EAAmC;IACjC,oBACE;MAAK,SAAS,EAAC,gCAAf;MAAgD,OAAO,EAAC,WAAxD;MAAoE,OAAO,EAAED;IAA7E,gBACE;MACE,QAAQ,EAAC,SADX;MAEE,CAAC,EAAC,oMAFJ;MAGE,QAAQ,EAAC;IAHX,EADF,CADF;EASD;;EAED,oBACE;IAAK,SAAS,EAAC,gCAAf;IAAgD,OAAO,EAAC;EAAxD,gBACE;IACE,QAAQ,EAAC,SADX;IAEE,CAAC,EAAC,kHAFJ;IAGE,QAAQ,EAAC;EAHX,EADF,CADF;AASD,CAtBD;;AAwBA,eAAeF,uBAAf"}