@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":"SearchFilterContainer.js","names":["SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","router","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","action","RAW_RESULTS","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","CHECKBOX_SELECT","includes","push","RANGE","docType","variables","limit","skip","data","error","loading","message","length","searchPublishedContent","rawResults","aggregations","filterData","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","document","getElementsByClassName","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport { buildNewQuery, buildRawQueryStringified, getInitialFilterValues } from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop\n}) => {\n const router = useRouter();\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (loading) return null;\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData = {} } = {} } = {} } =\n data || {};\n\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n return (\n <SearchFilter\n key={key}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n initialFilterValues={initialFilterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["reducer","state","action","newValues","type","shouldSearch","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","useRouter","asPath","searchFilterRef","useRef","useState","key","setKey","displaySearchFilter","setDisplaySearchFilter","parseUrl","currentUrl","query","sort","sortby","useReducer","filterValues","dispatch","hasUrl","sortValues","stringify","baseQuery","getSearchPublishedContent","RAW_RESULTS","checkboxSelectValues","rangeValues","forEach","propsToDisplay","CHECKBOX_SELECT","includes","push","RANGE","getEntityData","docType","filtersQuery","buildFiltersQuery","rawQueryStringified","buildRawQueryStringified","useQuery","variables","limit","skip","data","error","message","length","searchPublishedContent","rawResults","filterData","aggregations","initialFilterValues","getInitialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","buildNewQuery","document","getElementsByClassName","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(asPath);\n const [filterValues, dispatch] = useReducer(reducer, query);\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery(filterValues || query, filterBy, filterByProperty)\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -29,6 +29,8 @@ require("core-js/modules/es.array.filter.js");
29
29
 
30
30
  require("core-js/modules/es.object.to-string.js");
31
31
 
32
+ require("core-js/modules/es.array.concat.js");
33
+
32
34
  require("core-js/modules/es.array.for-each.js");
33
35
 
34
36
  require("core-js/modules/web.dom-collections.for-each.js");
@@ -67,13 +69,16 @@ var Checkbox = function Checkbox(_ref) {
67
69
  updateFilterValues = _ref.updateFilterValues,
68
70
  filterValues = _ref.filterValues,
69
71
  label = _ref.label,
70
- shouldSearch = _ref.shouldSearch;
72
+ shouldSearch = _ref.shouldSearch,
73
+ displayFilterCount = _ref.displayFilterCount;
71
74
 
72
75
  var _useState = (0, _react.useState)(null),
73
76
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
74
77
  checkboxLimit = _useState2[0],
75
78
  setCheckboxLimit = _useState2[1];
76
79
 
80
+ if (!data[prop]) return null;
81
+
77
82
  var handleCheckboxOptions = function handleCheckboxOptions() {
78
83
  if (checkboxLimit[prop] === _constants.LIMIT_MIN) {
79
84
  setCheckboxLimit((0, _defineProperty2["default"])({}, prop, _constants.LIMIT_MAX));
@@ -97,16 +102,19 @@ var Checkbox = function Checkbox(_ref) {
97
102
 
98
103
  var multiple = [];
99
104
  var sortedValues = data[prop].buckets.map(function (_ref2) {
100
- var key = _ref2.key;
101
- return key;
105
+ var key = _ref2.key,
106
+ count = _ref2.doc_count;
107
+ var optionLabel = displayFilterCount ? "".concat(key, " (").concat(count, ")") : key;
108
+ return [key, optionLabel, !count];
102
109
  }).filter(Boolean).sort();
103
110
  sortedValues.forEach(function (value, i) {
104
111
  return i < checkboxLimit[prop] && multiple.push({
105
- label: (0, _lodash["default"])(value),
106
- value: value,
112
+ label: (0, _lodash["default"])(value[1]),
113
+ value: value[0],
107
114
  name: prop,
108
- checked: checkboxQueryParams.includes(value),
109
- id: value
115
+ checked: checkboxQueryParams.includes(value[0]),
116
+ id: value[0],
117
+ disabled: value[2]
110
118
  });
111
119
  });
112
120
  var shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === _constants.LIMIT_MIN;
@@ -141,11 +149,13 @@ Checkbox.propTypes = {
141
149
  filterValues: _propTypes["default"].object.isRequired,
142
150
  updateFilterValues: _propTypes["default"].func.isRequired,
143
151
  shouldSearch: _propTypes["default"].bool,
144
- label: _propTypes["default"].string
152
+ label: _propTypes["default"].string,
153
+ displayFilterCount: _propTypes["default"].bool
145
154
  };
146
155
  Checkbox.defaultProps = {
147
156
  shouldSearch: false,
148
- label: ''
157
+ label: '',
158
+ displayFilterCount: false
149
159
  };
150
160
 
151
161
  var _default = (0, _HOC.withTitle)(Checkbox);
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["Checkbox","data","prop","updateFilterValues","filterValues","label","shouldSearch","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","LIMIT_MIN","LIMIT_MAX","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","shouldDisplayMore","eData","newCheckboxValues","length","MORE","LESS","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({ data, prop, updateFilterValues, filterValues, label, shouldSearch }) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key }) => key)\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value),\n value,\n name: prop,\n checked: checkboxQueryParams.includes(value),\n id: value\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: ''\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["Checkbox","data","prop","updateFilterValues","filterValues","label","shouldSearch","displayFilterCount","useState","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","LIMIT_MIN","LIMIT_MAX","checkboxQueryParams","decodeValue","map","val","multiple","sortedValues","buckets","key","count","doc_count","optionLabel","filter","Boolean","sort","forEach","value","i","push","upperFirst","name","checked","includes","id","disabled","shouldDisplayMore","eData","newCheckboxValues","length","MORE","LESS","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps","withTitle"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["Range","rangeInterval","label","entity","propsToDisplay","updateFilterValues","filterValues","shouldSearch","router","debounceAmount","asPath","query","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","shouldShowRange","handleChange","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { withTitle } from '../../../HOC';\nimport { getSelectOptions, getIntersectedProp, getRangeValue } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n updateFilterValues,\n filterValues,\n shouldSearch\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 100;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = rangeValue;\n const shouldShowRange = rangeOption && min !== max;\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n {shouldShowRange && (\n <RangeFilter\n key={rangeOption}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={rangeValue}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n )}\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Range.js","names":["Range","rangeInterval","label","entity","propsToDisplay","updateFilterValues","filterValues","shouldSearch","router","useRouter","debounceAmount","parseUrl","decodeValue","asPath","query","hasMultipleOptions","length","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","useGetSingleEntitySchema","data","getEntitySchema","loading","options","getSelectOptions","min","max","shouldShowRange","handleChange","debounce","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","getRangeValue","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","withTitle"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { withTitle } from '../../../HOC';\nimport { getSelectOptions, getIntersectedProp, getRangeValue } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n updateFilterValues,\n filterValues,\n shouldSearch\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 100;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = rangeValue;\n const shouldShowRange = rangeOption && min !== max;\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n {shouldShowRange && (\n <RangeFilter\n key={rangeOption}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={rangeValue}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n )}\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
@@ -19,6 +19,8 @@ require("core-js/modules/es.object.to-string.js");
19
19
 
20
20
  require("core-js/modules/es.array.map.js");
21
21
 
22
+ require("core-js/modules/es.array.concat.js");
23
+
22
24
  var _react = _interopRequireDefault(require("react"));
23
25
 
24
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -36,12 +38,22 @@ var SelectFilter = function SelectFilter(_ref) {
36
38
  updateFilterValues = _ref.updateFilterValues,
37
39
  filterValues = _ref.filterValues,
38
40
  shouldSearch = _ref.shouldSearch,
39
- displayLabelAsPlaceholder = _ref.displayLabelAsPlaceholder;
41
+ displayLabelAsPlaceholder = _ref.displayLabelAsPlaceholder,
42
+ displayFilterCount = _ref.displayFilterCount;
40
43
  var filterValue = filterValues[prop] || '';
41
- var options = data[prop].buckets.map(function (bucket) {
42
- return bucket.key;
44
+ var disabledOptions = [];
45
+
46
+ var _ref2 = data[prop] || {},
47
+ _ref2$buckets = _ref2.buckets,
48
+ buckets = _ref2$buckets === void 0 ? [] : _ref2$buckets;
49
+
50
+ var options = buckets.map(function (_ref3) {
51
+ var key = _ref3.key,
52
+ count = _ref3.doc_count;
53
+ if (!count) disabledOptions.push(key);
54
+ var optionLabel = displayFilterCount ? "".concat(key, " (").concat(count, ")") : key;
55
+ return [key, optionLabel];
43
56
  }).filter(Boolean).sort();
44
- var optionsJoined = options;
45
57
  var labelText = label || prop;
46
58
  var labelToUse = labelText;
47
59
  var defaultTextValue = _constants.DEFAULT_OPTION;
@@ -56,30 +68,34 @@ var SelectFilter = function SelectFilter(_ref) {
56
68
  value: filterValue,
57
69
  id: prop,
58
70
  "data-testid": "filter-".concat(prop),
59
- options: optionsJoined,
71
+ options: options,
60
72
  defaultTextValue: defaultTextValue,
61
- onChange: function onChange(_ref2) {
62
- var value = _ref2.value;
73
+ onChange: function onChange(_ref4) {
74
+ var value = _ref4.value;
63
75
  var valueToUse = value;
64
76
  if (value === defaultTextValue) valueToUse = '';
65
77
  updateFilterValues((0, _defineProperty2["default"])({}, prop, valueToUse), shouldSearch);
66
- }
78
+ },
79
+ disabled: disabledOptions
67
80
  });
68
81
  };
69
82
 
70
83
  SelectFilter.propTypes = {
71
84
  data: _propTypes["default"].object.isRequired,
72
85
  prop: _propTypes["default"].string.isRequired,
73
- filterValues: _propTypes["default"].object.isRequired,
86
+ filterValues: _propTypes["default"].object,
74
87
  updateFilterValues: _propTypes["default"].func.isRequired,
75
88
  shouldSearch: _propTypes["default"].bool,
76
89
  label: _propTypes["default"].string,
77
- displayLabelAsPlaceholder: _propTypes["default"].bool
90
+ displayLabelAsPlaceholder: _propTypes["default"].bool,
91
+ displayFilterCount: _propTypes["default"].bool
78
92
  };
79
93
  SelectFilter.defaultProps = {
94
+ filterValues: {},
80
95
  shouldSearch: false,
81
96
  label: '',
82
- displayLabelAsPlaceholder: false
97
+ displayLabelAsPlaceholder: false,
98
+ displayFilterCount: false
83
99
  };
84
100
 
85
101
  var _default = (0, _HOC.withTitle)(SelectFilter);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","filterValue","options","buckets","map","bucket","key","filter","Boolean","sort","optionsJoined","labelText","labelToUse","defaultTextValue","DEFAULT_OPTION","value","valueToUse","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { withTitle } from '../../../HOC';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder\n}) => {\n const filterValue = filterValues[prop] || '';\n\n const options = data[prop].buckets\n .map(bucket => bucket.key)\n .filter(Boolean)\n .sort();\n\n const optionsJoined = options;\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n data-testid={`filter-${prop}`}\n options={optionsJoined}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n />\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n displayLabelAsPlaceholder: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n shouldSearch: false,\n label: '',\n displayLabelAsPlaceholder: false\n};\n\nexport default withTitle(SelectFilter);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAQf;EAAA,IAPJC,IAOI,QAPJA,IAOI;EAAA,IANJC,KAMI,QANJA,KAMI;EAAA,IALJC,IAKI,QALJA,IAKI;EAAA,IAJJC,kBAII,QAJJA,kBAII;EAAA,IAHJC,YAGI,QAHJA,YAGI;EAAA,IAFJC,YAEI,QAFJA,YAEI;EAAA,IADJC,yBACI,QADJA,yBACI;EACJ,IAAMC,WAAW,GAAGH,YAAY,CAACF,IAAD,CAAZ,IAAsB,EAA1C;EAEA,IAAMM,OAAO,GAAGR,IAAI,CAACE,IAAD,CAAJ,CAAWO,OAAX,CACbC,GADa,CACT,UAAAC,MAAM;IAAA,OAAIA,MAAM,CAACC,GAAX;EAAA,CADG,EAEbC,MAFa,CAENC,OAFM,EAGbC,IAHa,EAAhB;EAKA,IAAMC,aAAa,GAAGR,OAAtB;EAEA,IAAMS,SAAS,GAAGhB,KAAK,IAAIC,IAA3B;EACA,IAAIgB,UAAU,GAAGD,SAAjB;EACA,IAAIE,gBAAgB,GAAGC,yBAAvB;;EACA,IAAId,yBAAJ,EAA+B;IAC7Ba,gBAAgB,GAAGD,UAAnB;IACAA,UAAU,GAAG,IAAb;EACD;;EAED,oBACE,gCAAC,kBAAD;IACE,KAAK,EAAEA,UADT;IAEE,KAAK,EAAEX,WAFT;IAGE,EAAE,EAAEL,IAHN;IAIE,gCAAuBA,IAAvB,CAJF;IAKE,OAAO,EAAEc,aALX;IAME,gBAAgB,EAAEG,gBANpB;IAOE,QAAQ,EAAE,yBAAe;MAAA,IAAZE,KAAY,SAAZA,KAAY;MACvB,IAAIC,UAAU,GAAGD,KAAjB;MACA,IAAIA,KAAK,KAAKF,gBAAd,EAAgCG,UAAU,GAAG,EAAb;MAEhCnB,kBAAkB,sCAAID,IAAJ,EAAWoB,UAAX,GAAyBjB,YAAzB,CAAlB;IACD;EAZH,EADF;AAgBD,CA1CD;;AA4CAN,YAAY,CAACwB,SAAb,GAAyB;EACvBvB,IAAI,EAAEwB,sBAAUC,MAAV,CAAiBC,UADA;EAEvBxB,IAAI,EAAEsB,sBAAUG,MAAV,CAAiBD,UAFA;EAGvBtB,YAAY,EAAEoB,sBAAUC,MAAV,CAAiBC,UAHR;EAIvBvB,kBAAkB,EAAEqB,sBAAUI,IAAV,CAAeF,UAJZ;EAKvBrB,YAAY,EAAEmB,sBAAUK,IALD;EAMvB5B,KAAK,EAAEuB,sBAAUG,MANM;EAOvBrB,yBAAyB,EAAEkB,sBAAUK;AAPd,CAAzB;AAUA9B,YAAY,CAAC+B,YAAb,GAA4B;EAC1BzB,YAAY,EAAE,KADY;EAE1BJ,KAAK,EAAE,EAFmB;EAG1BK,yBAAyB,EAAE;AAHD,CAA5B;;eAMe,oBAAUP,YAAV,C"}
1
+ {"version":3,"file":"Select.js","names":["SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","filterValue","disabledOptions","buckets","options","map","key","count","doc_count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","DEFAULT_OPTION","value","valueToUse","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps","withTitle"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { withTitle } from '../../../HOC';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default withTitle(SelectFilter);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OASf;EAAA,IARJC,IAQI,QARJA,IAQI;EAAA,IAPJC,KAOI,QAPJA,KAOI;EAAA,IANJC,IAMI,QANJA,IAMI;EAAA,IALJC,kBAKI,QALJA,kBAKI;EAAA,IAJJC,YAII,QAJJA,YAII;EAAA,IAHJC,YAGI,QAHJA,YAGI;EAAA,IAFJC,yBAEI,QAFJA,yBAEI;EAAA,IADJC,kBACI,QADJA,kBACI;EACJ,IAAMC,WAAW,GAAGJ,YAAY,CAACF,IAAD,CAAZ,IAAsB,EAA1C;EACA,IAAMO,eAAe,GAAG,EAAxB;;EACA,YAAyBT,IAAI,CAACE,IAAD,CAAJ,IAAc,EAAvC;EAAA,0BAAQQ,OAAR;EAAA,IAAQA,OAAR,8BAAkB,EAAlB;;EACA,IAAMC,OAAO,GAAGD,OAAO,CACpBE,GADa,CACT,iBAA+B;IAAA,IAA5BC,GAA4B,SAA5BA,GAA4B;IAAA,IAAZC,KAAY,SAAvBC,SAAuB;IAClC,IAAI,CAACD,KAAL,EAAYL,eAAe,CAACO,IAAhB,CAAqBH,GAArB;IACZ,IAAMI,WAAW,GAAGV,kBAAkB,aAAMM,GAAN,eAAcC,KAAd,SAAyBD,GAA/D;IACA,OAAO,CAACA,GAAD,EAAMI,WAAN,CAAP;EACD,CALa,EAMbC,MANa,CAMNC,OANM,EAObC,IAPa,EAAhB;EASA,IAAMC,SAAS,GAAGpB,KAAK,IAAIC,IAA3B;EACA,IAAIoB,UAAU,GAAGD,SAAjB;EACA,IAAIE,gBAAgB,GAAGC,yBAAvB;;EACA,IAAIlB,yBAAJ,EAA+B;IAC7BiB,gBAAgB,GAAGD,UAAnB;IACAA,UAAU,GAAG,IAAb;EACD;;EAED,oBACE,gCAAC,kBAAD;IACE,KAAK,EAAEA,UADT;IAEE,KAAK,EAAEd,WAFT;IAGE,EAAE,EAAEN,IAHN;IAIE,gCAAuBA,IAAvB,CAJF;IAKE,OAAO,EAAES,OALX;IAME,gBAAgB,EAAEY,gBANpB;IAOE,QAAQ,EAAE,yBAAe;MAAA,IAAZE,KAAY,SAAZA,KAAY;MACvB,IAAIC,UAAU,GAAGD,KAAjB;MACA,IAAIA,KAAK,KAAKF,gBAAd,EAAgCG,UAAU,GAAG,EAAb;MAChCvB,kBAAkB,sCAAID,IAAJ,EAAWwB,UAAX,GAAyBrB,YAAzB,CAAlB;IACD,CAXH;IAYE,QAAQ,EAAEI;EAZZ,EADF;AAgBD,CA9CD;;AAgDAV,YAAY,CAAC4B,SAAb,GAAyB;EACvB3B,IAAI,EAAE4B,qBAAA,CAAUC,MAAV,CAAiBC,UADA;EAEvB5B,IAAI,EAAE0B,qBAAA,CAAUG,MAAV,CAAiBD,UAFA;EAGvB1B,YAAY,EAAEwB,qBAAA,CAAUC,MAHD;EAIvB1B,kBAAkB,EAAEyB,qBAAA,CAAUI,IAAV,CAAeF,UAJZ;EAKvBzB,YAAY,EAAEuB,qBAAA,CAAUK,IALD;EAMvBhC,KAAK,EAAE2B,qBAAA,CAAUG,MANM;EAOvBzB,yBAAyB,EAAEsB,qBAAA,CAAUK,IAPd;EAQvB1B,kBAAkB,EAAEqB,qBAAA,CAAUK;AARP,CAAzB;AAWAlC,YAAY,CAACmC,YAAb,GAA4B;EAC1B9B,YAAY,EAAE,EADY;EAE1BC,YAAY,EAAE,KAFY;EAG1BJ,KAAK,EAAE,EAHmB;EAI1BK,yBAAyB,EAAE,KAJD;EAK1BC,kBAAkB,EAAE;AALM,CAA5B;;eAQe,IAAA4B,cAAA,EAAUpC,YAAV,C"}
@@ -26,9 +26,7 @@ var _constants = require("../constants");
26
26
  var TextSearch = function TextSearch(_ref) {
27
27
  var label = _ref.label,
28
28
  searchValue = _ref.searchValue,
29
- updateFilterValues = _ref.updateFilterValues,
30
- handleSubmit = _ref.handleSubmit,
31
- filterValues = _ref.filterValues;
29
+ updateFilterValues = _ref.updateFilterValues;
32
30
  return /*#__PURE__*/_react["default"].createElement("div", {
33
31
  className: "search"
34
32
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -54,10 +52,8 @@ var TextSearch = function TextSearch(_ref) {
54
52
  };
55
53
 
56
54
  TextSearch.propTypes = {
57
- filterValues: _propTypes["default"].object.isRequired,
58
55
  searchValue: _propTypes["default"].string.isRequired,
59
56
  updateFilterValues: _propTypes["default"].func.isRequired,
60
- handleSubmit: _propTypes["default"].func.isRequired,
61
57
  label: _propTypes["default"].string
62
58
  };
63
59
  TextSearch.defaultProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"TextSearch.js","names":["TextSearch","label","searchValue","updateFilterValues","handleSubmit","filterValues","SEARCH_TERM","eValue","value","e","preventDefault","propTypes","PropTypes","object","isRequired","string","func","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/TextSearch.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from '@blaze-react/input';\nimport { MdSearch } from 'react-icons/md';\nimport { withTitle } from '../../../HOC';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues, handleSubmit, filterValues }) => (\n <div className=\"search\">\n <div className=\"search__wrapper\">\n <div className=\"form-field form-field--input form-field--search\">\n <Input\n id={SEARCH_TERM}\n value={searchValue}\n placeholder={label || 'Search'}\n onChange={({ value: eValue }) => {\n updateFilterValues({ [SEARCH_TERM]: eValue }, false);\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"icon-button icon-button--search\"\n onClick={e => {\n e.preventDefault();\n updateFilterValues({ [SEARCH_TERM]: searchValue }, true);\n }}>\n <i>\n <MdSearch />\n </i>\n </button>\n </div>\n </div>\n);\n\nTextSearch.propTypes = {\n filterValues: PropTypes.object.isRequired,\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n label: ''\n};\n\nexport default withTitle(TextSearch);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,IAAUC,WAAV,QAAUA,WAAV;EAAA,IAAuBC,kBAAvB,QAAuBA,kBAAvB;EAAA,IAA2CC,YAA3C,QAA2CA,YAA3C;EAAA,IAAyDC,YAAzD,QAAyDA,YAAzD;EAAA,oBACjB;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE,gCAAC,iBAAD;IACE,EAAE,EAAEC,sBADN;IAEE,KAAK,EAAEJ,WAFT;IAGE,WAAW,EAAED,KAAK,IAAI,QAHxB;IAIE,QAAQ,EAAE,yBAAuB;MAAA,IAAbM,MAAa,SAApBC,KAAoB;MAC/BL,kBAAkB,sCAAIG,sBAAJ,EAAkBC,MAAlB,GAA4B,KAA5B,CAAlB;IACD;EANH,EADF,CADF,eAWE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,iCAFZ;IAGE,OAAO,EAAE,iBAAAE,CAAC,EAAI;MACZA,CAAC,CAACC,cAAF;MACAP,kBAAkB,sCAAIG,sBAAJ,EAAkBJ,WAAlB,GAAiC,IAAjC,CAAlB;IACD;EANH,gBAOE,wDACE,gCAAC,YAAD,OADF,CAPF,CAXF,CADF,CADiB;AAAA,CAAnB;;AA4BAF,UAAU,CAACW,SAAX,GAAuB;EACrBN,YAAY,EAAEO,sBAAUC,MAAV,CAAiBC,UADV;EAErBZ,WAAW,EAAEU,sBAAUG,MAAV,CAAiBD,UAFT;EAGrBX,kBAAkB,EAAES,sBAAUI,IAAV,CAAeF,UAHd;EAIrBV,YAAY,EAAEQ,sBAAUI,IAAV,CAAeF,UAJR;EAKrBb,KAAK,EAAEW,sBAAUG;AALI,CAAvB;AAQAf,UAAU,CAACiB,YAAX,GAA0B;EACxBhB,KAAK,EAAE;AADiB,CAA1B;;eAIe,oBAAUD,UAAV,C"}
1
+ {"version":3,"file":"TextSearch.js","names":["TextSearch","label","searchValue","updateFilterValues","SEARCH_TERM","eValue","value","e","preventDefault","propTypes","PropTypes","string","isRequired","func","defaultProps","withTitle"],"sources":["../../../../src/components/SearchFilter/components/TextSearch.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from '@blaze-react/input';\nimport { MdSearch } from 'react-icons/md';\nimport { withTitle } from '../../../HOC';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues }) => (\n <div className=\"search\">\n <div className=\"search__wrapper\">\n <div className=\"form-field form-field--input form-field--search\">\n <Input\n id={SEARCH_TERM}\n value={searchValue}\n placeholder={label || 'Search'}\n onChange={({ value: eValue }) => {\n updateFilterValues({ [SEARCH_TERM]: eValue }, false);\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"icon-button icon-button--search\"\n onClick={e => {\n e.preventDefault();\n updateFilterValues({ [SEARCH_TERM]: searchValue }, true);\n }}>\n <i>\n <MdSearch />\n </i>\n </button>\n </div>\n </div>\n);\n\nTextSearch.propTypes = {\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n label: ''\n};\n\nexport default withTitle(TextSearch);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,IAAUC,WAAV,QAAUA,WAAV;EAAA,IAAuBC,kBAAvB,QAAuBA,kBAAvB;EAAA,oBACjB;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE,gCAAC,iBAAD;IACE,EAAE,EAAEC,sBADN;IAEE,KAAK,EAAEF,WAFT;IAGE,WAAW,EAAED,KAAK,IAAI,QAHxB;IAIE,QAAQ,EAAE,yBAAuB;MAAA,IAAbI,MAAa,SAApBC,KAAoB;MAC/BH,kBAAkB,sCAAIC,sBAAJ,EAAkBC,MAAlB,GAA4B,KAA5B,CAAlB;IACD;EANH,EADF,CADF,eAWE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,iCAFZ;IAGE,OAAO,EAAE,iBAAAE,CAAC,EAAI;MACZA,CAAC,CAACC,cAAF;MACAL,kBAAkB,sCAAIC,sBAAJ,EAAkBF,WAAlB,GAAiC,IAAjC,CAAlB;IACD;EANH,gBAOE,wDACE,gCAAC,YAAD,OADF,CAPF,CAXF,CADF,CADiB;AAAA,CAAnB;;AA4BAF,UAAU,CAACS,SAAX,GAAuB;EACrBP,WAAW,EAAEQ,qBAAA,CAAUC,MAAV,CAAiBC,UADT;EAErBT,kBAAkB,EAAEO,qBAAA,CAAUG,IAAV,CAAeD,UAFd;EAGrBX,KAAK,EAAES,qBAAA,CAAUC;AAHI,CAAvB;AAMAX,UAAU,CAACc,YAAX,GAA0B;EACxBb,KAAK,EAAE;AADiB,CAA1B;;eAIe,IAAAc,cAAA,EAAUf,UAAV,C"}
@@ -14,7 +14,7 @@ var TEXT_SEARCH = 'text-search';
14
14
  exports.TEXT_SEARCH = TEXT_SEARCH;
15
15
  var SEARCH_TERM = 'search_term';
16
16
  exports.SEARCH_TERM = SEARCH_TERM;
17
- var SIZE = 50;
17
+ var SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;
18
18
  exports.SIZE = SIZE;
19
19
  var KEYWORD = 'keyword';
20
20
  exports.KEYWORD = KEYWORD;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = 50;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,EAAb;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;;AAEA,IAAMC,yBAAyB,GAAG,sBAAlC;AACA,IAAMC,oBAAoB,GAAG;EAC3BC,cAAc,YAAKF,yBAAL,oBADa;EAE3BG,cAAc,YAAKH,yBAAL,oBAFa;EAG3BI,cAAc,YAAKJ,yBAAL,oBAHa;EAI3BK,cAAc,YAAKL,yBAAL,oBAJa;EAK3BM,eAAe,YAAKN,yBAAL,qBALY;EAM3BO,eAAe,YAAKP,yBAAL,qBANY;EAO3BQ,eAAe,YAAKR,yBAAL,qBAPY;EAQ3BS,eAAe,YAAKT,yBAAL;AARY,CAA7B"}
1
+ {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","process","env","BLAZE_PB_SEARCH_FILETER_AGG_SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAGC,OAAO,CAACC,GAAR,CAAYC,gCAAZ,IAAgD,GAA7D;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;;AAEA,IAAMC,yBAAyB,GAAG,sBAAlC;AACA,IAAMC,oBAAoB,GAAG;EAC3BC,cAAc,YAAKF,yBAAL,oBADa;EAE3BG,cAAc,YAAKH,yBAAL,oBAFa;EAG3BI,cAAc,YAAKJ,yBAAL,oBAHa;EAI3BK,cAAc,YAAKL,yBAAL,oBAJa;EAK3BM,eAAe,YAAKN,yBAAL,qBALY;EAM3BO,eAAe,YAAKP,yBAAL,qBANY;EAO3BQ,eAAe,YAAKR,yBAAL,qBAPY;EAQ3BS,eAAe,YAAKT,yBAAL;AARY,CAA7B"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ require("core-js/modules/es.array.is-array.js");
17
+
18
+ require("core-js/modules/es.array.for-each.js");
19
+
20
+ require("core-js/modules/es.object.to-string.js");
21
+
22
+ require("core-js/modules/web.dom-collections.for-each.js");
23
+
24
+ require("core-js/modules/es.object.keys.js");
25
+
26
+ require("core-js/modules/es.regexp.exec.js");
27
+
28
+ require("core-js/modules/es.string.split.js");
29
+
30
+ require("core-js/modules/es.array.index-of.js");
31
+
32
+ var builFilterObject = function builFilterObject(key, value, filters) {
33
+ var isArray = Array.isArray(value);
34
+
35
+ if (!isArray) {
36
+ var singleFilterObj = {
37
+ match: (0, _defineProperty2["default"])({}, key, value)
38
+ };
39
+ filters.push(singleFilterObj);
40
+ return;
41
+ }
42
+
43
+ value.forEach(function (filterValue) {
44
+ filters.push({
45
+ match: (0, _defineProperty2["default"])({}, key, filterValue)
46
+ });
47
+ });
48
+ };
49
+
50
+ var buildFiltersQuery = function buildFiltersQuery(query, filterBy, filterByProperty) {
51
+ var mustFilters = [];
52
+ Object.keys(query).forEach(function (queryKey) {
53
+ if (queryKey === 'search_term' || queryKey === 'shouldSearch') return;
54
+ if (!queryKey || !query[queryKey]) return;
55
+ var queryValue = query[queryKey];
56
+ var queryKeyword = "".concat(queryKey, ".keyword");
57
+ builFilterObject(queryKeyword, queryValue, mustFilters);
58
+ });
59
+
60
+ if (filterByProperty && filterByProperty.length) {
61
+ filterByProperty && filterByProperty.forEach(function (filterByPropOption) {
62
+ var _filterByPropOption$s = filterByPropOption.split('/'),
63
+ _filterByPropOption$s2 = (0, _slicedToArray2["default"])(_filterByPropOption$s, 1),
64
+ filterByPropKey = _filterByPropOption$s2[0];
65
+
66
+ filterBy.forEach(function (filterByOption) {
67
+ if (filterByOption.indexOf(filterByPropKey) === -1) return;
68
+
69
+ var _filterByOption$split = filterByOption.split('/'),
70
+ _filterByOption$split2 = (0, _slicedToArray2["default"])(_filterByOption$split, 2),
71
+ filteryByValue = _filterByOption$split2[1];
72
+
73
+ var filterByKeyword = "".concat(filterByPropKey, ".keyword");
74
+ if (!filteryByValue) return;
75
+ mustFilters.push({
76
+ match: (0, _defineProperty2["default"])({}, filterByKeyword, filteryByValue)
77
+ });
78
+ });
79
+ });
80
+ }
81
+
82
+ return mustFilters;
83
+ };
84
+
85
+ var _default = buildFiltersQuery;
86
+ exports["default"] = _default;
87
+ //# sourceMappingURL=build-filters-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-filters-query.js","names":["builFilterObject","key","value","filters","isArray","Array","singleFilterObj","match","push","forEach","filterValue","buildFiltersQuery","query","filterBy","filterByProperty","mustFilters","Object","keys","queryKey","queryValue","queryKeyword","length","filterByPropOption","split","filterByPropKey","filterByOption","indexOf","filteryByValue","filterByKeyword"],"sources":["../../../../src/components/SearchFilter/helpers/build-filters-query.js"],"sourcesContent":["const builFilterObject = (key, value, filters) => {\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\nconst buildFiltersQuery = (query, filterBy, filterByProperty) => {\n const mustFilters = [];\n Object.keys(query).forEach(queryKey => {\n if (queryKey === 'search_term' || queryKey === 'shouldSearch') return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n const queryKeyword = `${queryKey}.keyword`;\n builFilterObject(queryKeyword, queryValue, mustFilters);\n });\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty &&\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,GAAD,EAAMC,KAAN,EAAaC,OAAb,EAAyB;EAChD,IAAMC,OAAO,GAAGC,KAAK,CAACD,OAAN,CAAcF,KAAd,CAAhB;;EACA,IAAI,CAACE,OAAL,EAAc;IACZ,IAAME,eAAe,GAAG;MAAEC,KAAK,uCAAKN,GAAL,EAAWC,KAAX;IAAP,CAAxB;IACAC,OAAO,CAACK,IAAR,CAAaF,eAAb;IACA;EACD;;EAEDJ,KAAK,CAACO,OAAN,CAAc,UAAAC,WAAW,EAAI;IAC3BP,OAAO,CAACK,IAAR,CAAa;MAAED,KAAK,uCAAKN,GAAL,EAAWS,WAAX;IAAP,CAAb;EACD,CAFD;AAGD,CAXD;;AAYA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,QAAR,EAAkBC,gBAAlB,EAAuC;EAC/D,IAAMC,WAAW,GAAG,EAApB;EACAC,MAAM,CAACC,IAAP,CAAYL,KAAZ,EAAmBH,OAAnB,CAA2B,UAAAS,QAAQ,EAAI;IACrC,IAAIA,QAAQ,KAAK,aAAb,IAA8BA,QAAQ,KAAK,cAA/C,EAA+D;IAC/D,IAAI,CAACA,QAAD,IAAa,CAACN,KAAK,CAACM,QAAD,CAAvB,EAAmC;IACnC,IAAMC,UAAU,GAAGP,KAAK,CAACM,QAAD,CAAxB;IACA,IAAME,YAAY,aAAMF,QAAN,aAAlB;IACAlB,gBAAgB,CAACoB,YAAD,EAAeD,UAAf,EAA2BJ,WAA3B,CAAhB;EACD,CAND;;EAQA,IAAID,gBAAgB,IAAIA,gBAAgB,CAACO,MAAzC,EAAiD;IAC/CP,gBAAgB,IACdA,gBAAgB,CAACL,OAAjB,CAAyB,UAAAa,kBAAkB,EAAI;MAC7C,4BAA0BA,kBAAkB,CAACC,KAAnB,CAAyB,GAAzB,CAA1B;MAAA;MAAA,IAAOC,eAAP;;MACAX,QAAQ,CAACJ,OAAT,CAAiB,UAAAgB,cAAc,EAAI;QACjC,IAAIA,cAAc,CAACC,OAAf,CAAuBF,eAAvB,MAA4C,CAAC,CAAjD,EAAoD;;QACpD,4BAA2BC,cAAc,CAACF,KAAf,CAAqB,GAArB,CAA3B;QAAA;QAAA,IAASI,cAAT;;QACA,IAAMC,eAAe,aAAMJ,eAAN,aAArB;QACA,IAAI,CAACG,cAAL,EAAqB;QACrBZ,WAAW,CAACP,IAAZ,CAAiB;UAAED,KAAK,uCAAKqB,eAAL,EAAuBD,cAAvB;QAAP,CAAjB;MACD,CAND;IAOD,CATD,CADF;EAWD;;EAED,OAAOZ,WAAP;AACD,CAzBD;;eA2BeJ,iB"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-query.js","names":["buildQuery","filterValues","filters","newQuery","searchValue","SEARCH_TERM","push","forEach","propsToDisplay","type","TEXT_SEARCH","prop","value","parsedValue","includes","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\n\nconst buildQuery = (filterValues, filters) => {\n const newQuery = [];\n const searchValue = filterValues[SEARCH_TERM];\n if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const parsedValue = parseFilterValue(prop, type, value);\n if (parsedValue && !newQuery.includes(parsedValue)) {\n newQuery.push(parsedValue);\n }\n });\n });\n\n return newQuery.join('&');\n};\n\nexport default buildQuery;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,YAAD,EAAeC,OAAf,EAA2B;EAC5C,IAAMC,QAAQ,GAAG,EAAjB;EACA,IAAMC,WAAW,GAAGH,YAAY,CAACI,sBAAD,CAAhC;EACA,IAAID,WAAJ,EAAiBD,QAAQ,CAACG,IAAT,WAAiBD,sBAAjB,cAAgCD,WAAhC;EAEjBF,OAAO,CAACK,OAAR,CAAgB,gBAA8B;IAAA,IAA3BC,cAA2B,QAA3BA,cAA2B;IAAA,IAAXC,IAAW,QAAXA,IAAW;IAC5C,IAAIA,IAAI,KAAKC,sBAAb,EAA0B;IAE1BF,cAAc,CAACD,OAAf,CAAuB,UAAAI,IAAI,EAAI;MAC7B,IAAMC,KAAK,GAAGX,YAAY,CAACU,IAAD,CAA1B;MACA,IAAME,WAAW,GAAG,kCAAiBF,IAAjB,EAAuBF,IAAvB,EAA6BG,KAA7B,CAApB;;MACA,IAAIC,WAAW,IAAI,CAACV,QAAQ,CAACW,QAAT,CAAkBD,WAAlB,CAApB,EAAoD;QAClDV,QAAQ,CAACG,IAAT,CAAcO,WAAd;MACD;IACF,CAND;EAOD,CAVD;EAYA,OAAOV,QAAQ,CAACY,IAAT,CAAc,GAAd,CAAP;AACD,CAlBD;;eAoBef,U"}
1
+ {"version":3,"file":"build-query.js","names":["buildQuery","filterValues","filters","newQuery","searchValue","SEARCH_TERM","push","forEach","propsToDisplay","type","TEXT_SEARCH","prop","value","parsedValue","parseFilterValue","includes","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\n\nconst buildQuery = (filterValues, filters) => {\n const newQuery = [];\n const searchValue = filterValues[SEARCH_TERM];\n if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const parsedValue = parseFilterValue(prop, type, value);\n if (parsedValue && !newQuery.includes(parsedValue)) {\n newQuery.push(parsedValue);\n }\n });\n });\n\n return newQuery.join('&');\n};\n\nexport default buildQuery;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,YAAD,EAAeC,OAAf,EAA2B;EAC5C,IAAMC,QAAQ,GAAG,EAAjB;EACA,IAAMC,WAAW,GAAGH,YAAY,CAACI,sBAAD,CAAhC;EACA,IAAID,WAAJ,EAAiBD,QAAQ,CAACG,IAAT,WAAiBD,sBAAjB,cAAgCD,WAAhC;EAEjBF,OAAO,CAACK,OAAR,CAAgB,gBAA8B;IAAA,IAA3BC,cAA2B,QAA3BA,cAA2B;IAAA,IAAXC,IAAW,QAAXA,IAAW;IAC5C,IAAIA,IAAI,KAAKC,sBAAb,EAA0B;IAE1BF,cAAc,CAACD,OAAf,CAAuB,UAAAI,IAAI,EAAI;MAC7B,IAAMC,KAAK,GAAGX,YAAY,CAACU,IAAD,CAA1B;MACA,IAAME,WAAW,GAAG,IAAAC,4BAAA,EAAiBH,IAAjB,EAAuBF,IAAvB,EAA6BG,KAA7B,CAApB;;MACA,IAAIC,WAAW,IAAI,CAACV,QAAQ,CAACY,QAAT,CAAkBF,WAAlB,CAApB,EAAoD;QAClDV,QAAQ,CAACG,IAAT,CAAcO,WAAd;MACD;IACF,CAND;EAOD,CAVD;EAYA,OAAOV,QAAQ,CAACa,IAAT,CAAc,GAAd,CAAP;AACD,CAlBD;;eAoBehB,U"}
@@ -17,7 +17,7 @@ require("core-js/modules/es.array.concat.js");
17
17
 
18
18
  var _constants = require("../constants");
19
19
 
20
- var buildRawQueryStringified = function buildRawQueryStringified(checkboxSelectValues, rangeValues, entity) {
20
+ var buildRawQueryStringified = function buildRawQueryStringified(checkboxSelectValues, rangeValues, entity, mustFilters) {
21
21
  if (!checkboxSelectValues.length && !rangeValues.length) return '';
22
22
  var aggs = {};
23
23
  checkboxSelectValues.forEach(function (fieldName) {
@@ -47,6 +47,7 @@ var buildRawQueryStringified = function buildRawQueryStringified(checkboxSelectV
47
47
  docType: entity
48
48
  }
49
49
  }],
50
+ must: mustFilters,
50
51
  minimum_should_match: 1
51
52
  }
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-raw-query-stringified.js","names":["buildRawQueryStringified","checkboxSelectValues","rangeValues","entity","length","aggs","forEach","fieldName","terms","field","KEYWORD","size","SIZE","stats","JSON","stringify","query","bool","filter","should","match","docType","minimum_should_match"],"sources":["../../../../src/components/SearchFilter/helpers/build-raw-query-stringified.js"],"sourcesContent":["import { KEYWORD, SIZE } from '../constants';\n\nconst buildRawQueryStringified = (checkboxSelectValues, rangeValues, entity) => {\n if (!checkboxSelectValues.length && !rangeValues.length) return '';\n\n const aggs = {};\n\n checkboxSelectValues.forEach(fieldName => {\n aggs[fieldName] = {\n terms: {\n field: `${fieldName}.${KEYWORD}`,\n size: SIZE\n }\n };\n });\n\n rangeValues.forEach(fieldName => {\n aggs[fieldName] = {\n stats: {\n field: fieldName\n }\n };\n });\n\n return JSON.stringify({\n aggs,\n size: 0,\n query: {\n bool: {\n filter: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n minimum_should_match: 1\n }\n }\n }\n }\n });\n};\n\nexport default buildRawQueryStringified;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,oBAAD,EAAuBC,WAAvB,EAAoCC,MAApC,EAA+C;EAC9E,IAAI,CAACF,oBAAoB,CAACG,MAAtB,IAAgC,CAACF,WAAW,CAACE,MAAjD,EAAyD,OAAO,EAAP;EAEzD,IAAMC,IAAI,GAAG,EAAb;EAEAJ,oBAAoB,CAACK,OAArB,CAA6B,UAAAC,SAAS,EAAI;IACxCF,IAAI,CAACE,SAAD,CAAJ,GAAkB;MAChBC,KAAK,EAAE;QACLC,KAAK,YAAKF,SAAL,cAAkBG,kBAAlB,CADA;QAELC,IAAI,EAAEC;MAFD;IADS,CAAlB;EAMD,CAPD;EASAV,WAAW,CAACI,OAAZ,CAAoB,UAAAC,SAAS,EAAI;IAC/BF,IAAI,CAACE,SAAD,CAAJ,GAAkB;MAChBM,KAAK,EAAE;QACLJ,KAAK,EAAEF;MADF;IADS,CAAlB;EAKD,CAND;EAQA,OAAOO,IAAI,CAACC,SAAL,CAAe;IACpBV,IAAI,EAAJA,IADoB;IAEpBM,IAAI,EAAE,CAFc;IAGpBK,KAAK,EAAE;MACLC,IAAI,EAAE;QACJC,MAAM,EAAE;UACND,IAAI,EAAE;YACJE,MAAM,EAAE,CACN;cACEC,KAAK,EAAE;gBACLC,OAAO,EAAElB;cADJ;YADT,CADM,CADJ;YAQJmB,oBAAoB,EAAE;UARlB;QADA;MADJ;IADD;EAHa,CAAf,CAAP;AAoBD,CA1CD;;eA4CetB,wB"}
1
+ {"version":3,"file":"build-raw-query-stringified.js","names":["buildRawQueryStringified","checkboxSelectValues","rangeValues","entity","mustFilters","length","aggs","forEach","fieldName","terms","field","KEYWORD","size","SIZE","stats","JSON","stringify","query","bool","filter","should","match","docType","must","minimum_should_match"],"sources":["../../../../src/components/SearchFilter/helpers/build-raw-query-stringified.js"],"sourcesContent":["import { KEYWORD, SIZE } from '../constants';\n\nconst buildRawQueryStringified = (checkboxSelectValues, rangeValues, entity, mustFilters) => {\n if (!checkboxSelectValues.length && !rangeValues.length) return '';\n\n const aggs = {};\n\n checkboxSelectValues.forEach(fieldName => {\n aggs[fieldName] = {\n terms: {\n field: `${fieldName}.${KEYWORD}`,\n size: SIZE\n }\n };\n });\n\n rangeValues.forEach(fieldName => {\n aggs[fieldName] = {\n stats: {\n field: fieldName\n }\n };\n });\n\n return JSON.stringify({\n aggs,\n size: 0,\n query: {\n bool: {\n filter: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n must: mustFilters,\n minimum_should_match: 1\n }\n }\n }\n }\n });\n};\n\nexport default buildRawQueryStringified;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,oBAAD,EAAuBC,WAAvB,EAAoCC,MAApC,EAA4CC,WAA5C,EAA4D;EAC3F,IAAI,CAACH,oBAAoB,CAACI,MAAtB,IAAgC,CAACH,WAAW,CAACG,MAAjD,EAAyD,OAAO,EAAP;EAEzD,IAAMC,IAAI,GAAG,EAAb;EAEAL,oBAAoB,CAACM,OAArB,CAA6B,UAAAC,SAAS,EAAI;IACxCF,IAAI,CAACE,SAAD,CAAJ,GAAkB;MAChBC,KAAK,EAAE;QACLC,KAAK,YAAKF,SAAL,cAAkBG,kBAAlB,CADA;QAELC,IAAI,EAAEC;MAFD;IADS,CAAlB;EAMD,CAPD;EASAX,WAAW,CAACK,OAAZ,CAAoB,UAAAC,SAAS,EAAI;IAC/BF,IAAI,CAACE,SAAD,CAAJ,GAAkB;MAChBM,KAAK,EAAE;QACLJ,KAAK,EAAEF;MADF;IADS,CAAlB;EAKD,CAND;EAQA,OAAOO,IAAI,CAACC,SAAL,CAAe;IACpBV,IAAI,EAAJA,IADoB;IAEpBM,IAAI,EAAE,CAFc;IAGpBK,KAAK,EAAE;MACLC,IAAI,EAAE;QACJC,MAAM,EAAE;UACND,IAAI,EAAE;YACJE,MAAM,EAAE,CACN;cACEC,KAAK,EAAE;gBACLC,OAAO,EAAEnB;cADJ;YADT,CADM,CADJ;YAQJoB,IAAI,EAAEnB,WARF;YASJoB,oBAAoB,EAAE;UATlB;QADA;MADJ;IADD;EAHa,CAAf,CAAP;AAqBD,CA3CD;;eA6CexB,wB"}
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-min-max.js","names":["calculateMinMax","filterAggregations","rangeInterval","min","max","Math","floor","Number","ceil","step"],"sources":["../../../../src/components/SearchFilter/helpers/calculate-min-max.js"],"sourcesContent":["import calculateStep from './calculate-step';\n\nconst calculateMinMax = (filterAggregations, rangeInterval) => {\n let { min, max } = filterAggregations;\n min = Math.floor(Number(min));\n max = Math.ceil(Number(max));\n min -= min % rangeInterval;\n const step = calculateStep(max, rangeInterval);\n max += step;\n return { min, max };\n};\n\nexport default calculateMinMax;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,kBAAD,EAAqBC,aAArB,EAAuC;EAC7D,IAAMC,GAAN,GAAmBF,kBAAnB,CAAME,GAAN;EAAA,IAAWC,GAAX,GAAmBH,kBAAnB,CAAWG,GAAX;EACAD,GAAG,GAAGE,IAAI,CAACC,KAAL,CAAWC,MAAM,CAACJ,GAAD,CAAjB,CAAN;EACAC,GAAG,GAAGC,IAAI,CAACG,IAAL,CAAUD,MAAM,CAACH,GAAD,CAAhB,CAAN;EACAD,GAAG,IAAIA,GAAG,GAAGD,aAAb;EACA,IAAMO,IAAI,GAAG,+BAAcL,GAAd,EAAmBF,aAAnB,CAAb;EACAE,GAAG,IAAIK,IAAP;EACA,OAAO;IAAEN,GAAG,EAAHA,GAAF;IAAOC,GAAG,EAAHA;EAAP,CAAP;AACD,CARD;;eAUeJ,e"}
1
+ {"version":3,"file":"calculate-min-max.js","names":["calculateMinMax","filterAggregations","rangeInterval","min","max","Math","floor","Number","ceil","step","calculateStep"],"sources":["../../../../src/components/SearchFilter/helpers/calculate-min-max.js"],"sourcesContent":["import calculateStep from './calculate-step';\n\nconst calculateMinMax = (filterAggregations, rangeInterval) => {\n let { min, max } = filterAggregations;\n min = Math.floor(Number(min));\n max = Math.ceil(Number(max));\n min -= min % rangeInterval;\n const step = calculateStep(max, rangeInterval);\n max += step;\n return { min, max };\n};\n\nexport default calculateMinMax;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,kBAAD,EAAqBC,aAArB,EAAuC;EAC7D,IAAMC,GAAN,GAAmBF,kBAAnB,CAAME,GAAN;EAAA,IAAWC,GAAX,GAAmBH,kBAAnB,CAAWG,GAAX;EACAD,GAAG,GAAGE,IAAI,CAACC,KAAL,CAAWC,MAAM,CAACJ,GAAD,CAAjB,CAAN;EACAC,GAAG,GAAGC,IAAI,CAACG,IAAL,CAAUD,MAAM,CAACH,GAAD,CAAhB,CAAN;EACAD,GAAG,IAAIA,GAAG,GAAGD,aAAb;EACA,IAAMO,IAAI,GAAG,IAAAC,yBAAA,EAAcN,GAAd,EAAmBF,aAAnB,CAAb;EACAE,GAAG,IAAIK,IAAP;EACA,OAAO;IAAEN,GAAG,EAAHA,GAAF;IAAOC,GAAG,EAAHA;EAAP,CAAP;AACD,CARD;;eAUeJ,e"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-if-range-updated.js","names":["checkIfRangeUpdated","value","min","max","minValue","maxValue"],"sources":["../../../../src/components/SearchFilter/helpers/check-if-range-updated.js"],"sourcesContent":["import { isBrowser } from '../../../helpers';\n\nconst checkIfRangeUpdated = (value, min, max) => {\n const { minValue, maxValue } = value;\n return isBrowser() && (minValue !== min || maxValue !== max);\n};\n\nexport default checkIfRangeUpdated;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,GAAR,EAAaC,GAAb,EAAqB;EAC/C,IAAQC,QAAR,GAA+BH,KAA/B,CAAQG,QAAR;EAAA,IAAkBC,QAAlB,GAA+BJ,KAA/B,CAAkBI,QAAlB;EACA,OAAO,8BAAgBD,QAAQ,KAAKF,GAAb,IAAoBG,QAAQ,KAAKF,GAAjD,CAAP;AACD,CAHD;;eAKeH,mB"}
1
+ {"version":3,"file":"check-if-range-updated.js","names":["checkIfRangeUpdated","value","min","max","minValue","maxValue","isBrowser"],"sources":["../../../../src/components/SearchFilter/helpers/check-if-range-updated.js"],"sourcesContent":["import { isBrowser } from '../../../helpers';\n\nconst checkIfRangeUpdated = (value, min, max) => {\n const { minValue, maxValue } = value;\n return isBrowser() && (minValue !== min || maxValue !== max);\n};\n\nexport default checkIfRangeUpdated;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,GAAR,EAAaC,GAAb,EAAqB;EAC/C,IAAQC,QAAR,GAA+BH,KAA/B,CAAQG,QAAR;EAAA,IAAkBC,QAAlB,GAA+BJ,KAA/B,CAAkBI,QAAlB;EACA,OAAO,IAAAC,kBAAA,QAAgBF,QAAQ,KAAKF,GAAb,IAAoBG,QAAQ,KAAKF,GAAjD,CAAP;AACD,CAHD;;eAKeH,mB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-filter-value-from-query.js","names":["getFilterValueFromQuery","key","filterProps","filterData","query","min","max","rangeInterval","type","queryValue","RANGE","CHECKBOX","map","val","SELECT"],"sources":["../../../../src/components/SearchFilter/helpers/get-filter-value-from-query.js"],"sourcesContent":["import { RANGE, CHECKBOX, SELECT } from '../constants';\nimport getRangeValue from './get-range-value';\nimport { decodeValue } from './decode-encode';\n\nconst getFilterValueFromQuery = (key, filterProps, filterData, query) => {\n const { min, max } = filterData;\n const { rangeInterval, type } = filterProps;\n const queryValue = query[key];\n if (!queryValue && type !== RANGE) return null;\n\n switch (type) {\n case RANGE:\n return getRangeValue(queryValue, rangeInterval, min, max);\n case CHECKBOX:\n return typeof queryValue === 'string'\n ? [decodeValue(queryValue)]\n : queryValue.map(val => decodeValue(val));\n case SELECT:\n return decodeValue(queryValue);\n\n default:\n return null;\n }\n};\n\nexport default getFilterValueFromQuery;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,GAAD,EAAMC,WAAN,EAAmBC,UAAnB,EAA+BC,KAA/B,EAAyC;EACvE,IAAQC,GAAR,GAAqBF,UAArB,CAAQE,GAAR;EAAA,IAAaC,GAAb,GAAqBH,UAArB,CAAaG,GAAb;EACA,IAAQC,aAAR,GAAgCL,WAAhC,CAAQK,aAAR;EAAA,IAAuBC,IAAvB,GAAgCN,WAAhC,CAAuBM,IAAvB;EACA,IAAMC,UAAU,GAAGL,KAAK,CAACH,GAAD,CAAxB;EACA,IAAI,CAACQ,UAAD,IAAeD,IAAI,KAAKE,gBAA5B,EAAmC,OAAO,IAAP;;EAEnC,QAAQF,IAAR;IACE,KAAKE,gBAAL;MACE,OAAO,+BAAcD,UAAd,EAA0BF,aAA1B,EAAyCF,GAAzC,EAA8CC,GAA9C,CAAP;;IACF,KAAKK,mBAAL;MACE,OAAO,OAAOF,UAAP,KAAsB,QAAtB,GACH,CAAC,+BAAYA,UAAZ,CAAD,CADG,GAEHA,UAAU,CAACG,GAAX,CAAe,UAAAC,GAAG;QAAA,OAAI,+BAAYA,GAAZ,CAAJ;MAAA,CAAlB,CAFJ;;IAGF,KAAKC,iBAAL;MACE,OAAO,+BAAYL,UAAZ,CAAP;;IAEF;MACE,OAAO,IAAP;EAXJ;AAaD,CAnBD;;eAqBeT,uB"}
1
+ {"version":3,"file":"get-filter-value-from-query.js","names":["getFilterValueFromQuery","key","filterProps","filterData","query","min","max","rangeInterval","type","queryValue","RANGE","getRangeValue","CHECKBOX","decodeValue","map","val","SELECT"],"sources":["../../../../src/components/SearchFilter/helpers/get-filter-value-from-query.js"],"sourcesContent":["import { RANGE, CHECKBOX, SELECT } from '../constants';\nimport getRangeValue from './get-range-value';\nimport { decodeValue } from './decode-encode';\n\nconst getFilterValueFromQuery = (key, filterProps, filterData, query) => {\n const { min, max } = filterData;\n const { rangeInterval, type } = filterProps;\n const queryValue = query[key];\n if (!queryValue && type !== RANGE) return null;\n\n switch (type) {\n case RANGE:\n return getRangeValue(queryValue, rangeInterval, min, max);\n case CHECKBOX:\n return typeof queryValue === 'string'\n ? [decodeValue(queryValue)]\n : queryValue.map(val => decodeValue(val));\n case SELECT:\n return decodeValue(queryValue);\n\n default:\n return null;\n }\n};\n\nexport default getFilterValueFromQuery;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,GAAD,EAAMC,WAAN,EAAmBC,UAAnB,EAA+BC,KAA/B,EAAyC;EACvE,IAAQC,GAAR,GAAqBF,UAArB,CAAQE,GAAR;EAAA,IAAaC,GAAb,GAAqBH,UAArB,CAAaG,GAAb;EACA,IAAQC,aAAR,GAAgCL,WAAhC,CAAQK,aAAR;EAAA,IAAuBC,IAAvB,GAAgCN,WAAhC,CAAuBM,IAAvB;EACA,IAAMC,UAAU,GAAGL,KAAK,CAACH,GAAD,CAAxB;EACA,IAAI,CAACQ,UAAD,IAAeD,IAAI,KAAKE,gBAA5B,EAAmC,OAAO,IAAP;;EAEnC,QAAQF,IAAR;IACE,KAAKE,gBAAL;MACE,OAAO,IAAAC,yBAAA,EAAcF,UAAd,EAA0BF,aAA1B,EAAyCF,GAAzC,EAA8CC,GAA9C,CAAP;;IACF,KAAKM,mBAAL;MACE,OAAO,OAAOH,UAAP,KAAsB,QAAtB,GACH,CAAC,IAAAI,yBAAA,EAAYJ,UAAZ,CAAD,CADG,GAEHA,UAAU,CAACK,GAAX,CAAe,UAAAC,GAAG;QAAA,OAAI,IAAAF,yBAAA,EAAYE,GAAZ,CAAJ;MAAA,CAAlB,CAFJ;;IAGF,KAAKC,iBAAL;MACE,OAAO,IAAAH,yBAAA,EAAYJ,UAAZ,CAAP;;IAEF;MACE,OAAO,IAAP;EAXJ;AAaD,CAnBD;;eAqBeT,uB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-initial-filter-values.js","names":["getInitialFilterValues","filterData","filters","query","filterValues","Object","keys","forEach","key","filterProps","find","propsToDisplay","prop","SEARCH_TERM"],"sources":["../../../../src/components/SearchFilter/helpers/get-initial-filter-values.js"],"sourcesContent":["import { SEARCH_TERM } from '../constants';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\n\nconst getInitialFilterValues = (filterData, filters, query) => {\n const filterValues = {};\n Object.keys(filterData).forEach(key => {\n const filterProps =\n filters.find(({ propsToDisplay }) => propsToDisplay.find(prop => key === prop)) || {};\n filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);\n });\n filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';\n\n return filterValues;\n};\n\nexport default getInitialFilterValues;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,UAAD,EAAaC,OAAb,EAAsBC,KAAtB,EAAgC;EAC7D,IAAMC,YAAY,GAAG,EAArB;EACAC,MAAM,CAACC,IAAP,CAAYL,UAAZ,EAAwBM,OAAxB,CAAgC,UAAAC,GAAG,EAAI;IACrC,IAAMC,WAAW,GACfP,OAAO,CAACQ,IAAR,CAAa;MAAA,IAAGC,cAAH,QAAGA,cAAH;MAAA,OAAwBA,cAAc,CAACD,IAAf,CAAoB,UAAAE,IAAI;QAAA,OAAIJ,GAAG,KAAKI,IAAZ;MAAA,CAAxB,CAAxB;IAAA,CAAb,KAAmF,EADrF;IAEAR,YAAY,CAACI,GAAD,CAAZ,GAAoB,yCAAwBA,GAAxB,EAA6BC,WAA7B,EAA0CR,UAAU,CAACO,GAAD,CAApD,EAA2DL,KAA3D,CAApB;EACD,CAJD;EAKAC,YAAY,CAACS,sBAAD,CAAZ,GAA4BV,KAAK,CAACU,sBAAD,CAAL,IAAsB,EAAlD;EAEA,OAAOT,YAAP;AACD,CAVD;;eAYeJ,sB"}
1
+ {"version":3,"file":"get-initial-filter-values.js","names":["getInitialFilterValues","filterData","filters","query","filterValues","Object","keys","forEach","key","filterProps","find","propsToDisplay","prop","getFilterValueFromQuery","SEARCH_TERM"],"sources":["../../../../src/components/SearchFilter/helpers/get-initial-filter-values.js"],"sourcesContent":["import { SEARCH_TERM } from '../constants';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\n\nconst getInitialFilterValues = (filterData, filters, query) => {\n const filterValues = {};\n\n Object.keys(filterData).forEach(key => {\n const filterProps =\n filters.find(({ propsToDisplay }) => propsToDisplay.find(prop => key === prop)) || {};\n filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);\n });\n filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';\n\n return filterValues;\n};\n\nexport default getInitialFilterValues;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,UAAD,EAAaC,OAAb,EAAsBC,KAAtB,EAAgC;EAC7D,IAAMC,YAAY,GAAG,EAArB;EAEAC,MAAM,CAACC,IAAP,CAAYL,UAAZ,EAAwBM,OAAxB,CAAgC,UAAAC,GAAG,EAAI;IACrC,IAAMC,WAAW,GACfP,OAAO,CAACQ,IAAR,CAAa;MAAA,IAAGC,cAAH,QAAGA,cAAH;MAAA,OAAwBA,cAAc,CAACD,IAAf,CAAoB,UAAAE,IAAI;QAAA,OAAIJ,GAAG,KAAKI,IAAZ;MAAA,CAAxB,CAAxB;IAAA,CAAb,KAAmF,EADrF;IAEAR,YAAY,CAACI,GAAD,CAAZ,GAAoB,IAAAK,mCAAA,EAAwBL,GAAxB,EAA6BC,WAA7B,EAA0CR,UAAU,CAACO,GAAD,CAApD,EAA2DL,KAA3D,CAApB;EACD,CAJD;EAKAC,YAAY,CAACU,sBAAD,CAAZ,GAA4BX,KAAK,CAACW,sBAAD,CAAL,IAAsB,EAAlD;EAEA,OAAOV,YAAP;AACD,CAXD;;eAaeJ,sB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-intersected-prop.js","names":["getIntersectedProp","rangeQueryValues","propsToDisplay","Object","keys"],"sources":["../../../../src/components/SearchFilter/helpers/get-intersected-prop.js"],"sourcesContent":["import intersection from 'lodash.intersection';\n\nconst getIntersectedProp = (rangeQueryValues, propsToDisplay) =>\n intersection(Object.keys(rangeQueryValues), propsToDisplay)[0];\n\nexport default getIntersectedProp;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,gBAAD,EAAmBC,cAAnB;EAAA,OACzB,wBAAaC,MAAM,CAACC,IAAP,CAAYH,gBAAZ,CAAb,EAA4CC,cAA5C,EAA4D,CAA5D,CADyB;AAAA,CAA3B;;eAGeF,kB"}
1
+ {"version":3,"file":"get-intersected-prop.js","names":["getIntersectedProp","rangeQueryValues","propsToDisplay","intersection","Object","keys"],"sources":["../../../../src/components/SearchFilter/helpers/get-intersected-prop.js"],"sourcesContent":["import intersection from 'lodash.intersection';\n\nconst getIntersectedProp = (rangeQueryValues, propsToDisplay) =>\n intersection(Object.keys(rangeQueryValues), propsToDisplay)[0];\n\nexport default getIntersectedProp;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,gBAAD,EAAmBC,cAAnB;EAAA,OACzB,IAAAC,kBAAA,EAAaC,MAAM,CAACC,IAAP,CAAYJ,gBAAZ,CAAb,EAA4CC,cAA5C,EAA4D,CAA5D,CADyB;AAAA,CAA3B;;eAGeF,kB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-range-value.js","names":["getRangeValue","rawQueryProp","rangeInterval","_min","_max","min","max","Array","isArray","split","queryParamMin","queryParamMax","updatedMinValue","Number","updatedMaxValue","step","maxValue","minValue"],"sources":["../../../../src/components/SearchFilter/helpers/get-range-value.js"],"sourcesContent":["import calculateMinMax from './calculate-min-max';\n\nconst getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {\n const { min, max } = calculateMinMax({ min: _min, max: _max }, rangeInterval);\n\n if (rawQueryProp) {\n const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp)\n ? rawQueryProp[0].split('-')\n : rawQueryProp.split('-');\n const updatedMinValue = Number(queryParamMin);\n const updatedMaxValue = Number(queryParamMax);\n\n return {\n min,\n max,\n step: rangeInterval,\n maxValue: updatedMaxValue,\n minValue: updatedMinValue\n };\n }\n\n return {\n max,\n min,\n step: rangeInterval,\n maxValue: max,\n minValue: min\n };\n};\n\nexport default getRangeValue;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,YAAD,EAAeC,aAAf,EAA8BC,IAA9B,EAAoCC,IAApC,EAA6C;EACjE,uBAAqB,kCAAgB;IAAEC,GAAG,EAAEF,IAAP;IAAaG,GAAG,EAAEF;EAAlB,CAAhB,EAA0CF,aAA1C,CAArB;EAAA,IAAQG,GAAR,oBAAQA,GAAR;EAAA,IAAaC,GAAb,oBAAaA,GAAb;;EAEA,IAAIL,YAAJ,EAAkB;IAChB,WAAuCM,KAAK,CAACC,OAAN,CAAcP,YAAd,IACnCA,YAAY,CAAC,CAAD,CAAZ,CAAgBQ,KAAhB,CAAsB,GAAtB,CADmC,GAEnCR,YAAY,CAACQ,KAAb,CAAmB,GAAnB,CAFJ;IAAA;IAAA,IAAOC,aAAP;IAAA,IAAsBC,aAAtB;;IAGA,IAAMC,eAAe,GAAGC,MAAM,CAACH,aAAD,CAA9B;IACA,IAAMI,eAAe,GAAGD,MAAM,CAACF,aAAD,CAA9B;IAEA,OAAO;MACLN,GAAG,EAAHA,GADK;MAELC,GAAG,EAAHA,GAFK;MAGLS,IAAI,EAAEb,aAHD;MAILc,QAAQ,EAAEF,eAJL;MAKLG,QAAQ,EAAEL;IALL,CAAP;EAOD;;EAED,OAAO;IACLN,GAAG,EAAHA,GADK;IAELD,GAAG,EAAHA,GAFK;IAGLU,IAAI,EAAEb,aAHD;IAILc,QAAQ,EAAEV,GAJL;IAKLW,QAAQ,EAAEZ;EALL,CAAP;AAOD,CA1BD;;eA4BeL,a"}
1
+ {"version":3,"file":"get-range-value.js","names":["getRangeValue","rawQueryProp","rangeInterval","_min","_max","calculateMinMax","min","max","Array","isArray","split","queryParamMin","queryParamMax","updatedMinValue","Number","updatedMaxValue","step","maxValue","minValue"],"sources":["../../../../src/components/SearchFilter/helpers/get-range-value.js"],"sourcesContent":["import calculateMinMax from './calculate-min-max';\n\nconst getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {\n const { min, max } = calculateMinMax({ min: _min, max: _max }, rangeInterval);\n\n if (rawQueryProp) {\n const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp)\n ? rawQueryProp[0].split('-')\n : rawQueryProp.split('-');\n const updatedMinValue = Number(queryParamMin);\n const updatedMaxValue = Number(queryParamMax);\n\n return {\n min,\n max,\n step: rangeInterval,\n maxValue: updatedMaxValue,\n minValue: updatedMinValue\n };\n }\n\n return {\n max,\n min,\n step: rangeInterval,\n maxValue: max,\n minValue: min\n };\n};\n\nexport default getRangeValue;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,YAAD,EAAeC,aAAf,EAA8BC,IAA9B,EAAoCC,IAApC,EAA6C;EACjE,uBAAqB,IAAAC,4BAAA,EAAgB;IAAEC,GAAG,EAAEH,IAAP;IAAaI,GAAG,EAAEH;EAAlB,CAAhB,EAA0CF,aAA1C,CAArB;EAAA,IAAQI,GAAR,oBAAQA,GAAR;EAAA,IAAaC,GAAb,oBAAaA,GAAb;;EAEA,IAAIN,YAAJ,EAAkB;IAChB,WAAuCO,KAAK,CAACC,OAAN,CAAcR,YAAd,IACnCA,YAAY,CAAC,CAAD,CAAZ,CAAgBS,KAAhB,CAAsB,GAAtB,CADmC,GAEnCT,YAAY,CAACS,KAAb,CAAmB,GAAnB,CAFJ;IAAA;IAAA,IAAOC,aAAP;IAAA,IAAsBC,aAAtB;;IAGA,IAAMC,eAAe,GAAGC,MAAM,CAACH,aAAD,CAA9B;IACA,IAAMI,eAAe,GAAGD,MAAM,CAACF,aAAD,CAA9B;IAEA,OAAO;MACLN,GAAG,EAAHA,GADK;MAELC,GAAG,EAAHA,GAFK;MAGLS,IAAI,EAAEd,aAHD;MAILe,QAAQ,EAAEF,eAJL;MAKLG,QAAQ,EAAEL;IALL,CAAP;EAOD;;EAED,OAAO;IACLN,GAAG,EAAHA,GADK;IAELD,GAAG,EAAHA,GAFK;IAGLU,IAAI,EAAEd,aAHD;IAILe,QAAQ,EAAEV,GAJL;IAKLW,QAAQ,EAAEZ;EALL,CAAP;AAOD,CA1BD;;eA4BeN,a"}