@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.45 → 0.146.0-node18-tooltips.38
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.
- package/CHANGELOG.md +45 -105
- package/lib/components/Menu/Menu.js +1 -4
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/MenuContext.js +1 -2
- package/lib/components/Menu/MenuContext.js.map +1 -1
- package/lib/components/MenuItem/MenuItemRender.js +12 -27
- package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib/components/MenuItem/helpers/index.js +0 -14
- package/lib/components/MenuItem/helpers/index.js.map +1 -1
- package/lib-es/BannerContext/helpers/index.js +3 -0
- package/lib-es/BannerContext/helpers/index.js.map +1 -0
- package/lib-es/BannerContext/helpers/set-initial-banner-counters.js +17 -0
- package/lib-es/BannerContext/helpers/set-initial-banner-counters.js.map +1 -0
- package/lib-es/BannerContext/index.js +29 -0
- package/lib-es/BannerContext/index.js.map +1 -0
- package/lib-es/HOC/index.js +3 -0
- package/lib-es/HOC/index.js.map +1 -0
- package/lib-es/HOC/recreateOnNavigation.js +20 -0
- package/lib-es/HOC/recreateOnNavigation.js.map +1 -0
- package/lib-es/HOC/withInfiniteScroll.js +62 -0
- package/lib-es/HOC/withInfiniteScroll.js.map +1 -0
- package/lib-es/HOC/withTitle.js +36 -0
- package/lib-es/HOC/withTitle.js.map +1 -0
- package/lib-es/PBContext/index.js +6 -0
- package/lib-es/PBContext/index.js.map +1 -0
- package/lib-es/application/query/index.js +178 -0
- package/lib-es/application/query/index.js.map +1 -0
- package/lib-es/components/BackToTop/BackToTop.js +38 -0
- package/lib-es/components/BackToTop/BackToTop.js.map +1 -0
- package/lib-es/components/BackToTop/index.js +3 -0
- package/lib-es/components/BackToTop/index.js.map +1 -0
- package/lib-es/components/Banner/AdSlotRender.js +73 -0
- package/lib-es/components/Banner/AdSlotRender.js.map +1 -0
- package/lib-es/components/Banner/Banner.js +94 -0
- package/lib-es/components/Banner/Banner.js.map +1 -0
- package/lib-es/components/Banner/BannerRender.js +125 -0
- package/lib-es/components/Banner/BannerRender.js.map +1 -0
- package/lib-es/components/Banner/helpers.js +155 -0
- package/lib-es/components/Banner/helpers.js.map +1 -0
- package/lib-es/components/Banner/index.js +3 -0
- package/lib-es/components/Banner/index.js.map +1 -0
- package/lib-es/components/BlazeLink.js +68 -0
- package/lib-es/components/BlazeLink.js.map +1 -0
- package/lib-es/components/Breadcrumb/Breadcrumb.js +88 -0
- package/lib-es/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib-es/components/Breadcrumb/index.js +3 -0
- package/lib-es/components/Breadcrumb/index.js.map +1 -0
- package/lib-es/components/Button.js +134 -0
- package/lib-es/components/Button.js.map +1 -0
- package/lib-es/components/Card/Card.js +290 -0
- package/lib-es/components/Card/Card.js.map +1 -0
- package/lib-es/components/Card/CardsContainer.js +186 -0
- package/lib-es/components/Card/CardsContainer.js.map +1 -0
- package/lib-es/components/Card/CardsFactory.js +99 -0
- package/lib-es/components/Card/CardsFactory.js.map +1 -0
- package/lib-es/components/Card/CardsRender.js +194 -0
- package/lib-es/components/Card/CardsRender.js.map +1 -0
- package/lib-es/components/Card/constants.js +4 -0
- package/lib-es/components/Card/constants.js.map +1 -0
- package/lib-es/components/Card/helpers/get-dynamic-grid-classes.js +21 -0
- package/lib-es/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -0
- package/lib-es/components/Card/helpers/get-published-listing-url.js +3 -0
- package/lib-es/components/Card/helpers/get-published-listing-url.js.map +1 -0
- package/lib-es/components/Card/helpers/index.js +10 -0
- package/lib-es/components/Card/helpers/index.js.map +1 -0
- package/lib-es/components/Card/helpers/use-dynamic-size-key.js +6 -0
- package/lib-es/components/Card/helpers/use-dynamic-size-key.js.map +1 -0
- package/lib-es/components/Card/index.js +3 -0
- package/lib-es/components/Card/index.js.map +1 -0
- package/lib-es/components/Carousel/Carousel.js +78 -0
- package/lib-es/components/Carousel/Carousel.js.map +1 -0
- package/lib-es/components/Carousel/CarouselImage/CarouselImage.js +59 -0
- package/lib-es/components/Carousel/CarouselImage/CarouselImage.js.map +1 -0
- package/lib-es/components/Carousel/CarouselImage/constants.js +2 -0
- package/lib-es/components/Carousel/CarouselImage/constants.js.map +1 -0
- package/lib-es/components/Carousel/CarouselImage/index.js +3 -0
- package/lib-es/components/Carousel/CarouselImage/index.js.map +1 -0
- package/lib-es/components/Carousel/CarouselRender/CarouselRender.js +74 -0
- package/lib-es/components/Carousel/CarouselRender/CarouselRender.js.map +1 -0
- package/lib-es/components/Carousel/CarouselRender/index.js +3 -0
- package/lib-es/components/Carousel/CarouselRender/index.js.map +1 -0
- package/lib-es/components/Carousel/hooks/useCarouselNavigation.js +49 -0
- package/lib-es/components/Carousel/hooks/useCarouselNavigation.js.map +1 -0
- package/lib-es/components/Carousel/index.js +3 -0
- package/lib-es/components/Carousel/index.js.map +1 -0
- package/lib-es/components/CarouselWrapper/CarouselWrapper.js +22 -0
- package/lib-es/components/CarouselWrapper/CarouselWrapper.js.map +1 -0
- package/lib-es/components/CarouselWrapper/DefaultCarousel.js +140 -0
- package/lib-es/components/CarouselWrapper/DefaultCarousel.js.map +1 -0
- package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js +43 -0
- package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -0
- package/lib-es/components/CarouselWrapper/index.js +3 -0
- package/lib-es/components/CarouselWrapper/index.js.map +1 -0
- package/lib-es/components/ClickWrapper.js +40 -0
- package/lib-es/components/ClickWrapper.js.map +1 -0
- package/lib-es/components/Code/Code.js +43 -0
- package/lib-es/components/Code/Code.js.map +1 -0
- package/lib-es/components/Code/ScriptTag.js +32 -0
- package/lib-es/components/Code/ScriptTag.js.map +1 -0
- package/lib-es/components/Code/helpers/index.js +2 -0
- package/lib-es/components/Code/helpers/index.js.map +1 -0
- package/lib-es/components/Code/helpers/wrap-script-tags.js +36 -0
- package/lib-es/components/Code/helpers/wrap-script-tags.js.map +1 -0
- package/lib-es/components/Code/index.js +3 -0
- package/lib-es/components/Code/index.js.map +1 -0
- package/lib-es/components/ContentGroup/ContentGroup.js +46 -0
- package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
- package/lib-es/components/ContentGroup/ContentGroupAccordion.js +138 -0
- package/lib-es/components/ContentGroup/ContentGroupAccordion.js.map +1 -0
- package/lib-es/components/ContentGroup/ContentGroupTabs.js +83 -0
- package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
- package/lib-es/components/ContentGroup/constants.js +18 -0
- package/lib-es/components/ContentGroup/constants.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/get-active-tab.js +9 -0
- package/lib-es/components/ContentGroup/helpers/get-active-tab.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/get-sections-data.js +15 -0
- package/lib-es/components/ContentGroup/helpers/get-sections-data.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/get-structured-data-properties.js +33 -0
- package/lib-es/components/ContentGroup/helpers/get-structured-data-properties.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/index.js +4 -0
- package/lib-es/components/ContentGroup/helpers/index.js.map +1 -0
- package/lib-es/components/ContentGroup/index.js +3 -0
- package/lib-es/components/ContentGroup/index.js.map +1 -0
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
- package/lib-es/components/ContentGroupSection/index.js +3 -0
- package/lib-es/components/ContentGroupSection/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryFactory.js +93 -0
- package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryRender.js +92 -0
- package/lib-es/components/DataSummary/DataSummaryRender.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js +24 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js +24 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/index.js +3 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js +23 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +28 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/index.js +3 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js +23 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js +35 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/index.js +3 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js +23 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js +34 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/index.js +3 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js +23 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js +29 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/index.js +3 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/TextSummary/index.js.map +1 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/index.js +9 -0
- package/lib-es/components/DataSummary/DataSummaryTypes/index.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +61 -0
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js +45 -0
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-data-summary-query.js +19 -0
- package/lib-es/components/DataSummary/helpers/get-data-summary-query.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-link-based-on-value.js +15 -0
- package/lib-es/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-link-props.js +6 -0
- package/lib-es/components/DataSummary/helpers/get-link-props.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +9 -0
- package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-loop-props-limit.js +12 -0
- package/lib-es/components/DataSummary/helpers/get-loop-props-limit.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-prop-value.js +20 -0
- package/lib-es/components/DataSummary/helpers/get-prop-value.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-record-id.js +14 -0
- package/lib-es/components/DataSummary/helpers/get-record-id.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/get-value-from-array.js +17 -0
- package/lib-es/components/DataSummary/helpers/get-value-from-array.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/index.js +11 -0
- package/lib-es/components/DataSummary/helpers/index.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/parse-boolean-values.js +7 -0
- package/lib-es/components/DataSummary/helpers/parse-boolean-values.js.map +1 -0
- package/lib-es/components/DataSummary/helpers/strip-summary-props-content.js +14 -0
- package/lib-es/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -0
- package/lib-es/components/DataSummary/index.js +3 -0
- package/lib-es/components/DataSummary/index.js.map +1 -0
- package/lib-es/components/DateTime/DateTime.js +36 -0
- package/lib-es/components/DateTime/DateTime.js.map +1 -0
- package/lib-es/components/DateTime/index.js +3 -0
- package/lib-es/components/DateTime/index.js.map +1 -0
- package/lib-es/components/EmailConfirm/EmailConfirm.js +71 -0
- package/lib-es/components/EmailConfirm/EmailConfirm.js.map +1 -0
- package/lib-es/components/EmailConfirm/index.js +3 -0
- package/lib-es/components/EmailConfirm/index.js.map +1 -0
- package/lib-es/components/EmailConfirm/mutation.js +13 -0
- package/lib-es/components/EmailConfirm/mutation.js.map +1 -0
- package/lib-es/components/ErrorMessage/ErrorMessage.js +30 -0
- package/lib-es/components/ErrorMessage/ErrorMessage.js.map +1 -0
- package/lib-es/components/ErrorMessage/index.js +3 -0
- package/lib-es/components/ErrorMessage/index.js.map +1 -0
- package/lib-es/components/Iframe/Iframe.js +42 -0
- package/lib-es/components/Iframe/Iframe.js.map +1 -0
- package/lib-es/components/Iframe/constants.js +7 -0
- package/lib-es/components/Iframe/constants.js.map +1 -0
- package/lib-es/components/Iframe/index.js +3 -0
- package/lib-es/components/Iframe/index.js.map +1 -0
- package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js +161 -0
- package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -0
- package/lib-es/components/Image/GlobalLightbox/NavButton.js +24 -0
- package/lib-es/components/Image/GlobalLightbox/NavButton.js.map +1 -0
- package/lib-es/components/Image/GlobalLightbox/index.js +3 -0
- package/lib-es/components/Image/GlobalLightbox/index.js.map +1 -0
- package/lib-es/components/Image/Image.js +173 -0
- package/lib-es/components/Image/Image.js.map +1 -0
- package/lib-es/components/Image/ImageDetails.js +27 -0
- package/lib-es/components/Image/ImageDetails.js.map +1 -0
- package/lib-es/components/Image/ImageFactory.js +86 -0
- package/lib-es/components/Image/ImageFactory.js.map +1 -0
- package/lib-es/components/Image/ImageRender.js +86 -0
- package/lib-es/components/Image/ImageRender.js.map +1 -0
- package/lib-es/components/Image/Lightbox/Lightbox.js +63 -0
- package/lib-es/components/Image/Lightbox/Lightbox.js.map +1 -0
- package/lib-es/components/Image/Lightbox/index.js +3 -0
- package/lib-es/components/Image/Lightbox/index.js.map +1 -0
- package/lib-es/components/Image/index.js +3 -0
- package/lib-es/components/Image/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js +107 -0
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
- package/lib-es/components/ItemList/ItemListButton/index.js +3 -0
- package/lib-es/components/ItemList/ItemListButton/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js +57 -0
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
- package/lib-es/components/ItemList/ItemListCounter/index.js +3 -0
- package/lib-es/components/ItemList/ItemListCounter/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +60 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/index.js +3 -0
- package/lib-es/components/ItemList/ItemListNew/index.js.map +1 -0
- package/lib-es/components/ItemList/constants.js +6 -0
- package/lib-es/components/ItemList/constants.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-data.js +6 -0
- package/lib-es/components/ItemList/helpers/get-item-list-data.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-id.js +9 -0
- package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-ids.js +11 -0
- package/lib-es/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
- package/lib-es/components/ItemList/helpers/index.js +6 -0
- package/lib-es/components/ItemList/helpers/index.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js +8 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js +17 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
- package/lib-es/components/ItemList/hooks/index.js +2 -0
- package/lib-es/components/ItemList/hooks/index.js.map +1 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js +23 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/icons/AddedBookmark.js +33 -0
- package/lib-es/components/ItemList/icons/AddedBookmark.js.map +1 -0
- package/lib-es/components/ItemList/icons/BaseBookmark.js +37 -0
- package/lib-es/components/ItemList/icons/BaseBookmark.js.map +1 -0
- package/lib-es/components/ItemList/icons/HoverBookmark.js +35 -0
- package/lib-es/components/ItemList/icons/HoverBookmark.js.map +1 -0
- package/lib-es/components/ItemList/icons/RemoveBookmark.js +33 -0
- package/lib-es/components/ItemList/icons/RemoveBookmark.js.map +1 -0
- package/lib-es/components/ItemList/icons/index.js +5 -0
- package/lib-es/components/ItemList/icons/index.js.map +1 -0
- package/lib-es/components/Layout/Layout.js +85 -0
- package/lib-es/components/Layout/Layout.js.map +1 -0
- package/lib-es/components/Layout/LayoutFactory.js +14 -0
- package/lib-es/components/Layout/LayoutFactory.js.map +1 -0
- package/lib-es/components/Layout/LayoutWithStickyTimer.js +42 -0
- package/lib-es/components/Layout/LayoutWithStickyTimer.js.map +1 -0
- package/lib-es/components/Layout/constants.js +6 -0
- package/lib-es/components/Layout/constants.js.map +1 -0
- package/lib-es/components/Layout/helpers/check-if-row-has-columns.js +19 -0
- package/lib-es/components/Layout/helpers/check-if-row-has-columns.js.map +1 -0
- package/lib-es/components/Layout/helpers/get-styles-to-update.js +10 -0
- package/lib-es/components/Layout/helpers/get-styles-to-update.js.map +1 -0
- package/lib-es/components/Layout/helpers/index.js +4 -0
- package/lib-es/components/Layout/helpers/index.js.map +1 -0
- package/lib-es/components/Layout/index.js +3 -0
- package/lib-es/components/Layout/index.js.map +1 -0
- package/lib-es/components/LazyImage/LazyImage.js +41 -0
- package/lib-es/components/LazyImage/LazyImage.js.map +1 -0
- package/lib-es/components/LazyImage/index.js +3 -0
- package/lib-es/components/LazyImage/index.js.map +1 -0
- package/lib-es/components/List/ListBuilder.js +206 -0
- package/lib-es/components/List/ListBuilder.js.map +1 -0
- package/lib-es/components/List/ListFactory.js +213 -0
- package/lib-es/components/List/ListFactory.js.map +1 -0
- package/lib-es/components/List/ListRender.js +134 -0
- package/lib-es/components/List/ListRender.js.map +1 -0
- package/lib-es/components/List/components/Cards/CardRenderWithInfiniteScroll.js +4 -0
- package/lib-es/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -0
- package/lib-es/components/List/components/Cards/CardsRender.js +106 -0
- package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -0
- package/lib-es/components/List/components/Cards/CardsRenderItem.js +121 -0
- package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -0
- package/lib-es/components/List/components/Cards/CardsRenderWrapper.js +59 -0
- package/lib-es/components/List/components/Cards/CardsRenderWrapper.js.map +1 -0
- package/lib-es/components/List/components/Cards/index.js +3 -0
- package/lib-es/components/List/components/Cards/index.js.map +1 -0
- package/lib-es/components/List/components/Full/FullRender.js +92 -0
- package/lib-es/components/List/components/Full/FullRender.js.map +1 -0
- package/lib-es/components/List/components/Full/FullRenderItem.js +95 -0
- package/lib-es/components/List/components/Full/FullRenderItem.js.map +1 -0
- package/lib-es/components/List/components/Full/FullRenderWithInfiniteScroll.js +4 -0
- package/lib-es/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -0
- package/lib-es/components/List/components/Full/index.js +3 -0
- package/lib-es/components/List/components/Full/index.js.map +1 -0
- package/lib-es/components/List/components/Header/ListHeader.js +64 -0
- package/lib-es/components/List/components/Header/ListHeader.js.map +1 -0
- package/lib-es/components/List/components/Header/index.js +3 -0
- package/lib-es/components/List/components/Header/index.js.map +1 -0
- package/lib-es/components/List/components/Pagination/Classic.js +55 -0
- package/lib-es/components/List/components/Pagination/Classic.js.map +1 -0
- package/lib-es/components/List/components/Pagination/ListPagination.js +63 -0
- package/lib-es/components/List/components/Pagination/ListPagination.js.map +1 -0
- package/lib-es/components/List/components/Pagination/LoadMore.js +37 -0
- package/lib-es/components/List/components/Pagination/LoadMore.js.map +1 -0
- package/lib-es/components/List/components/Pagination/index.js +3 -0
- package/lib-es/components/List/components/Pagination/index.js.map +1 -0
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +42 -0
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -0
- package/lib-es/components/List/components/helpers/check-if-should-render-gtm.js +14 -0
- package/lib-es/components/List/components/helpers/check-if-should-render-gtm.js.map +1 -0
- package/lib-es/components/List/components/helpers/index.js +4 -0
- package/lib-es/components/List/components/helpers/index.js.map +1 -0
- package/lib-es/components/List/components/index.js +5 -0
- package/lib-es/components/List/components/index.js.map +1 -0
- package/lib-es/components/List/constants.js +10 -0
- package/lib-es/components/List/constants.js.map +1 -0
- package/lib-es/components/List/helpers/build-az-aggregations.js +25 -0
- package/lib-es/components/List/helpers/build-az-aggregations.js.map +1 -0
- package/lib-es/components/List/helpers/build-az-url.js +26 -0
- package/lib-es/components/List/helpers/build-az-url.js.map +1 -0
- package/lib-es/components/List/helpers/build-pagination-items.js +39 -0
- package/lib-es/components/List/helpers/build-pagination-items.js.map +1 -0
- package/lib-es/components/List/helpers/build-pagination-url.js +14 -0
- package/lib-es/components/List/helpers/build-pagination-url.js.map +1 -0
- package/lib-es/components/List/helpers/build-query-booster.js +41 -0
- package/lib-es/components/List/helpers/build-query-booster.js.map +1 -0
- package/lib-es/components/List/helpers/get-az-query-filter.js +7 -0
- package/lib-es/components/List/helpers/get-az-query-filter.js.map +1 -0
- package/lib-es/components/List/helpers/get-items-per-page-to-use.js +7 -0
- package/lib-es/components/List/helpers/get-items-per-page-to-use.js.map +1 -0
- package/lib-es/components/List/helpers/get-list-component.js +9 -0
- package/lib-es/components/List/helpers/get-list-component.js.map +1 -0
- package/lib-es/components/List/helpers/get-list-query.js +27 -0
- package/lib-es/components/List/helpers/get-list-query.js.map +1 -0
- package/lib-es/components/List/helpers/get-list-specific-search-filter.js +12 -0
- package/lib-es/components/List/helpers/get-list-specific-search-filter.js.map +1 -0
- package/lib-es/components/List/helpers/get-sort-props.js +32 -0
- package/lib-es/components/List/helpers/get-sort-props.js.map +1 -0
- package/lib-es/components/List/helpers/has-required-item-list-details.js +16 -0
- package/lib-es/components/List/helpers/has-required-item-list-details.js.map +1 -0
- package/lib-es/components/List/helpers/index.js +13 -0
- package/lib-es/components/List/helpers/index.js.map +1 -0
- package/lib-es/components/List/helpers/sort-aggs.js +22 -0
- package/lib-es/components/List/helpers/sort-aggs.js.map +1 -0
- package/lib-es/components/List/helpers/strip-query-key.js +6 -0
- package/lib-es/components/List/helpers/strip-query-key.js.map +1 -0
- package/lib-es/components/List/index.js +3 -0
- package/lib-es/components/List/index.js.map +1 -0
- package/lib-es/components/Loading/Loading.js +27 -0
- package/lib-es/components/Loading/Loading.js.map +1 -0
- package/lib-es/components/Loading/constants.js +5 -0
- package/lib-es/components/Loading/constants.js.map +1 -0
- package/lib-es/components/Loading/helpers.js +8 -0
- package/lib-es/components/Loading/helpers.js.map +1 -0
- package/lib-es/components/Loading/index.js +3 -0
- package/lib-es/components/Loading/index.js.map +1 -0
- package/lib-es/components/Menu/Menu.js +117 -0
- package/lib-es/components/Menu/Menu.js.map +1 -0
- package/lib-es/components/Menu/MenuContext.js +6 -0
- package/lib-es/components/Menu/MenuContext.js.map +1 -0
- package/lib-es/components/Menu/index.js +3 -0
- package/lib-es/components/Menu/index.js.map +1 -0
- package/lib-es/components/MenuItem/MenuEntitiesItem.js +178 -0
- package/lib-es/components/MenuItem/MenuEntitiesItem.js.map +1 -0
- package/lib-es/components/MenuItem/MenuItem.js +41 -0
- package/lib-es/components/MenuItem/MenuItem.js.map +1 -0
- package/lib-es/components/MenuItem/MenuItemRender.js +100 -0
- package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -0
- package/lib-es/components/MenuItem/helpers/index.js +3 -0
- package/lib-es/components/MenuItem/helpers/index.js.map +1 -0
- package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js +20 -0
- package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -0
- package/lib-es/components/MenuItem/index.js +3 -0
- package/lib-es/components/MenuItem/index.js.map +1 -0
- package/lib-es/components/Modal/Modal.js +32 -0
- package/lib-es/components/Modal/Modal.js.map +1 -0
- package/lib-es/components/Modal/index.js +3 -0
- package/lib-es/components/Modal/index.js.map +1 -0
- package/lib-es/components/ModalAdapter/ModalAdapter.js +13 -0
- package/lib-es/components/ModalAdapter/ModalAdapter.js.map +1 -0
- package/lib-es/components/ModalAdapter/index.js +3 -0
- package/lib-es/components/ModalAdapter/index.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContent.js +152 -0
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentItems.js +31 -0
- package/lib-es/components/SearchContent/SearchContentItems.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentResults.js +28 -0
- package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentToggleIcon.js +17 -0
- package/lib-es/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
- package/lib-es/components/SearchContent/constants.js +4 -0
- package/lib-es/components/SearchContent/constants.js.map +1 -0
- package/lib-es/components/SearchContent/index.js +3 -0
- package/lib-es/components/SearchContent/index.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/CloseMobileForm.js +24 -0
- package/lib-es/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +110 -0
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js +31 -0
- package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js +31 -0
- package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +209 -0
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilter/index.js +3 -0
- package/lib-es/components/SearchFilter/SearchFilter/index.js.map +1 -0
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +227 -0
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -0
- package/lib-es/components/SearchFilter/components/Checkbox.js +102 -0
- package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -0
- package/lib-es/components/SearchFilter/components/Range.js +130 -0
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -0
- package/lib-es/components/SearchFilter/components/Select.js +78 -0
- package/lib-es/components/SearchFilter/components/Select.js.map +1 -0
- package/lib-es/components/SearchFilter/components/TextSearch.js +52 -0
- package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -0
- package/lib-es/components/SearchFilter/components/index.js +6 -0
- package/lib-es/components/SearchFilter/components/index.js.map +1 -0
- package/lib-es/components/SearchFilter/constants.js +32 -0
- package/lib-es/components/SearchFilter/constants.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/build-list-name-query.js +15 -0
- package/lib-es/components/SearchFilter/helpers/build-list-name-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/build-new-url.js +9 -0
- package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/build-url-query.js +37 -0
- package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/calculate-min-max.js +18 -0
- package/lib-es/components/SearchFilter/helpers/calculate-min-max.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/calculate-step.js +3 -0
- package/lib-es/components/SearchFilter/helpers/calculate-step.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/check-if-range-updated.js +10 -0
- package/lib-es/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/decode-encode.js +4 -0
- package/lib-es/components/SearchFilter/helpers/decode-encode.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-display-value.js +6 -0
- package/lib-es/components/SearchFilter/helpers/get-display-value.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +18 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-value-from-query.js +27 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-values.js +19 -0
- package/lib-es/components/SearchFilter/helpers/get-filter-values.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +21 -0
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-intersected-prop.js +4 -0
- package/lib-es/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-range-value.js +33 -0
- package/lib-es/components/SearchFilter/helpers/get-range-value.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js +18 -0
- package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-select-options.js +14 -0
- package/lib-es/components/SearchFilter/helpers/get-select-options.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js +19 -0
- package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/index.js +19 -0
- package/lib-es/components/SearchFilter/helpers/index.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/is-device-desktop.js +4 -0
- package/lib-es/components/SearchFilter/helpers/is-device-desktop.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/parse-filter-value.js +21 -0
- package/lib-es/components/SearchFilter/helpers/parse-filter-value.js.map +1 -0
- package/lib-es/components/SearchFilter/index.js +3 -0
- package/lib-es/components/SearchFilter/index.js.map +1 -0
- package/lib-es/components/SearchFilter/searchFilterReducer.js +26 -0
- package/lib-es/components/SearchFilter/searchFilterReducer.js.map +1 -0
- package/lib-es/components/SearchFilterSort/SearchFilterSort.js +79 -0
- package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -0
- package/lib-es/components/SearchFilterSort/constants.js +6 -0
- package/lib-es/components/SearchFilterSort/constants.js.map +1 -0
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js +39 -0
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -0
- package/lib-es/components/SearchFilterSort/helpers/index.js +3 -0
- package/lib-es/components/SearchFilterSort/helpers/index.js.map +1 -0
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js +19 -0
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -0
- package/lib-es/components/SearchFilterSort/index.js +3 -0
- package/lib-es/components/SearchFilterSort/index.js.map +1 -0
- package/lib-es/components/SocialFollow/SFItem.js +33 -0
- package/lib-es/components/SocialFollow/SFItem.js.map +1 -0
- package/lib-es/components/SocialFollow/SocialFollow.js +38 -0
- package/lib-es/components/SocialFollow/SocialFollow.js.map +1 -0
- package/lib-es/components/SocialFollow/SocialFollowRender.js +33 -0
- package/lib-es/components/SocialFollow/SocialFollowRender.js.map +1 -0
- package/lib-es/components/SocialFollow/index.js +3 -0
- package/lib-es/components/SocialFollow/index.js.map +1 -0
- package/lib-es/components/SocialFollow/sf.config.js +50 -0
- package/lib-es/components/SocialFollow/sf.config.js.map +1 -0
- package/lib-es/components/SubMenu/SubMenu.js +23 -0
- package/lib-es/components/SubMenu/SubMenu.js.map +1 -0
- package/lib-es/components/SubMenu/index.js +3 -0
- package/lib-es/components/SubMenu/index.js.map +1 -0
- package/lib-es/components/TextBlock/TextBlockRender.js +20 -0
- package/lib-es/components/TextBlock/TextBlockRender.js.map +1 -0
- package/lib-es/components/TextBlock/index.js +53 -0
- package/lib-es/components/TextBlock/index.js.map +1 -0
- package/lib-es/components/Video/Video.js +98 -0
- package/lib-es/components/Video/Video.js.map +1 -0
- package/lib-es/components/Video/VideoContext.js +6 -0
- package/lib-es/components/Video/VideoContext.js.map +1 -0
- package/lib-es/components/Video/VideoModal.js +30 -0
- package/lib-es/components/Video/VideoModal.js.map +1 -0
- package/lib-es/components/Video/VideoRender.js +44 -0
- package/lib-es/components/Video/VideoRender.js.map +1 -0
- package/lib-es/components/Video/constants.js +7 -0
- package/lib-es/components/Video/constants.js.map +1 -0
- package/lib-es/components/Video/helpers/emit-gtm-event.js +25 -0
- package/lib-es/components/Video/helpers/emit-gtm-event.js.map +1 -0
- package/lib-es/components/Video/index.js +3 -0
- package/lib-es/components/Video/index.js.map +1 -0
- package/lib-es/components/Video/providers/Default.js +36 -0
- package/lib-es/components/Video/providers/Default.js.map +1 -0
- package/lib-es/components/Video/providers/JWPlayer/JWPlayerController.js +65 -0
- package/lib-es/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -0
- package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js +87 -0
- package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -0
- package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js +68 -0
- package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -0
- package/lib-es/components/Video/providers/Vimeo/helpers/add-extra-params-to-url.js +14 -0
- package/lib-es/components/Video/providers/Vimeo/helpers/add-extra-params-to-url.js.map +1 -0
- package/lib-es/components/Video/providers/Vimeo/helpers/index.js +3 -0
- package/lib-es/components/Video/providers/Vimeo/helpers/index.js.map +1 -0
- package/lib-es/components/Video/providers/YouTube/YouTubeProvider.js +40 -0
- package/lib-es/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -0
- package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js +213 -0
- package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -0
- package/lib-es/components/Video/providers/YouTube/helpers/index.js +26 -0
- package/lib-es/components/Video/providers/YouTube/helpers/index.js.map +1 -0
- package/lib-es/components/Video/providers/get-provider.js +13 -0
- package/lib-es/components/Video/providers/get-provider.js.map +1 -0
- package/lib-es/components/Video/providers/index.js +3 -0
- package/lib-es/components/Video/providers/index.js.map +1 -0
- package/lib-es/components/Wrapper.js +36 -0
- package/lib-es/components/Wrapper.js.map +1 -0
- package/lib-es/components/index.js +36 -0
- package/lib-es/components/index.js.map +1 -0
- package/lib-es/constants/componentsDefaultValues.js +20 -0
- package/lib-es/constants/componentsDefaultValues.js.map +1 -0
- package/lib-es/constants/index.js +143 -0
- package/lib-es/constants/index.js.map +1 -0
- package/lib-es/helpers/append-images.js +28 -0
- package/lib-es/helpers/append-images.js.map +1 -0
- package/lib-es/helpers/build-az-filter.js +16 -0
- package/lib-es/helpers/build-az-filter.js.map +1 -0
- package/lib-es/helpers/build-checkbox-filters.js +28 -0
- package/lib-es/helpers/build-checkbox-filters.js.map +1 -0
- package/lib-es/helpers/build-filters-query.js +86 -0
- package/lib-es/helpers/build-filters-query.js.map +1 -0
- package/lib-es/helpers/build-image-properties.js +29 -0
- package/lib-es/helpers/build-image-properties.js.map +1 -0
- package/lib-es/helpers/build-inherited-filters.js +67 -0
- package/lib-es/helpers/build-inherited-filters.js.map +1 -0
- package/lib-es/helpers/build-link-extra-props.js +17 -0
- package/lib-es/helpers/build-link-extra-props.js.map +1 -0
- package/lib-es/helpers/build-props-query.js +98 -0
- package/lib-es/helpers/build-props-query.js.map +1 -0
- package/lib-es/helpers/build-query-fields.js +13 -0
- package/lib-es/helpers/build-query-fields.js.map +1 -0
- package/lib-es/helpers/build-query-key.js +7 -0
- package/lib-es/helpers/build-query-key.js.map +1 -0
- package/lib-es/helpers/build-raw-query-base.js +113 -0
- package/lib-es/helpers/build-raw-query-base.js.map +1 -0
- package/lib-es/helpers/build-raw-query-stringified.js +44 -0
- package/lib-es/helpers/build-raw-query-stringified.js.map +1 -0
- package/lib-es/helpers/build-raw-query.js +132 -0
- package/lib-es/helpers/build-raw-query.js.map +1 -0
- package/lib-es/helpers/build-search-values-checkbox-select.js +64 -0
- package/lib-es/helpers/build-search-values-checkbox-select.js.map +1 -0
- package/lib-es/helpers/build-search-values-text.js +34 -0
- package/lib-es/helpers/build-search-values-text.js.map +1 -0
- package/lib-es/helpers/build-set-filters.js +32 -0
- package/lib-es/helpers/build-set-filters.js.map +1 -0
- package/lib-es/helpers/build-sort-values.js +34 -0
- package/lib-es/helpers/build-sort-values.js.map +1 -0
- package/lib-es/helpers/check-for-error.js +11 -0
- package/lib-es/helpers/check-for-error.js.map +1 -0
- package/lib-es/helpers/check-props-to-use.js +9 -0
- package/lib-es/helpers/check-props-to-use.js.map +1 -0
- package/lib-es/helpers/entities/constants.js +11 -0
- package/lib-es/helpers/entities/constants.js.map +1 -0
- package/lib-es/helpers/filter-query-setup.js +61 -0
- package/lib-es/helpers/filter-query-setup.js.map +1 -0
- package/lib-es/helpers/filters-setup.js +41 -0
- package/lib-es/helpers/filters-setup.js.map +1 -0
- package/lib-es/helpers/get-banner-data.js +17 -0
- package/lib-es/helpers/get-banner-data.js.map +1 -0
- package/lib-es/helpers/get-checkbox-filters.js +7 -0
- package/lib-es/helpers/get-checkbox-filters.js.map +1 -0
- package/lib-es/helpers/get-click-wrapper-options.js +43 -0
- package/lib-es/helpers/get-click-wrapper-options.js.map +1 -0
- package/lib-es/helpers/get-component-id.js +7 -0
- package/lib-es/helpers/get-component-id.js.map +1 -0
- package/lib-es/helpers/get-current-offset.js +7 -0
- package/lib-es/helpers/get-current-offset.js.map +1 -0
- package/lib-es/helpers/get-dictionary-match.js +11 -0
- package/lib-es/helpers/get-dictionary-match.js.map +1 -0
- package/lib-es/helpers/get-display-count-data.js +13 -0
- package/lib-es/helpers/get-display-count-data.js.map +1 -0
- package/lib-es/helpers/get-elasticsearch-operator.js +6 -0
- package/lib-es/helpers/get-elasticsearch-operator.js.map +1 -0
- package/lib-es/helpers/get-entities-with-banner.js +33 -0
- package/lib-es/helpers/get-entities-with-banner.js.map +1 -0
- package/lib-es/helpers/get-entity-data.js +29 -0
- package/lib-es/helpers/get-entity-data.js.map +1 -0
- package/lib-es/helpers/get-entity-render-props.js +21 -0
- package/lib-es/helpers/get-entity-render-props.js.map +1 -0
- package/lib-es/helpers/get-extra-az-bits.js +54 -0
- package/lib-es/helpers/get-extra-az-bits.js.map +1 -0
- package/lib-es/helpers/get-filter-props.js +60 -0
- package/lib-es/helpers/get-filter-props.js.map +1 -0
- package/lib-es/helpers/get-filter-relation-keys.js +8 -0
- package/lib-es/helpers/get-filter-relation-keys.js.map +1 -0
- package/lib-es/helpers/get-generic-props.js +16 -0
- package/lib-es/helpers/get-generic-props.js.map +1 -0
- package/lib-es/helpers/get-generic-render-variables.js +64 -0
- package/lib-es/helpers/get-generic-render-variables.js.map +1 -0
- package/lib-es/helpers/get-image-ids.js +26 -0
- package/lib-es/helpers/get-image-ids.js.map +1 -0
- package/lib-es/helpers/get-inherited-filters.js +12 -0
- package/lib-es/helpers/get-inherited-filters.js.map +1 -0
- package/lib-es/helpers/get-items-to-display-ids.js +12 -0
- package/lib-es/helpers/get-items-to-display-ids.js.map +1 -0
- package/lib-es/helpers/get-modifiers.js +16 -0
- package/lib-es/helpers/get-modifiers.js.map +1 -0
- package/lib-es/helpers/get-not-equal-query.js +9 -0
- package/lib-es/helpers/get-not-equal-query.js.map +1 -0
- package/lib-es/helpers/get-pagination-index.js +8 -0
- package/lib-es/helpers/get-pagination-index.js.map +1 -0
- package/lib-es/helpers/get-parsed-prop-values.js +32 -0
- package/lib-es/helpers/get-parsed-prop-values.js.map +1 -0
- package/lib-es/helpers/get-parsed-summary-value.js +13 -0
- package/lib-es/helpers/get-parsed-summary-value.js.map +1 -0
- package/lib-es/helpers/get-prop-values.js +14 -0
- package/lib-es/helpers/get-prop-values.js.map +1 -0
- package/lib-es/helpers/get-query-filters.js +22 -0
- package/lib-es/helpers/get-query-filters.js.map +1 -0
- package/lib-es/helpers/get-query-props.js +37 -0
- package/lib-es/helpers/get-query-props.js.map +1 -0
- package/lib-es/helpers/get-required-schemas.js +20 -0
- package/lib-es/helpers/get-required-schemas.js.map +1 -0
- package/lib-es/helpers/get-sanitized-prop-values.js +3 -0
- package/lib-es/helpers/get-sanitized-prop-values.js.map +1 -0
- package/lib-es/helpers/get-search-filter-type.js +12 -0
- package/lib-es/helpers/get-search-filter-type.js.map +1 -0
- package/lib-es/helpers/get-sort-by-field-name.js +20 -0
- package/lib-es/helpers/get-sort-by-field-name.js.map +1 -0
- package/lib-es/helpers/get-unpublished-entity-name.js +5 -0
- package/lib-es/helpers/get-unpublished-entity-name.js.map +1 -0
- package/lib-es/helpers/get-updated-filter-by.js +11 -0
- package/lib-es/helpers/get-updated-filter-by.js.map +1 -0
- package/lib-es/helpers/get-updated-items-to-display.js +32 -0
- package/lib-es/helpers/get-updated-items-to-display.js.map +1 -0
- package/lib-es/helpers/get-updated-sort-properties.js +15 -0
- package/lib-es/helpers/get-updated-sort-properties.js.map +1 -0
- package/lib-es/helpers/get-wrapped-value-with-link.js +25 -0
- package/lib-es/helpers/get-wrapped-value-with-link.js.map +1 -0
- package/lib-es/helpers/group-entities.js +10 -0
- package/lib-es/helpers/group-entities.js.map +1 -0
- package/lib-es/helpers/has-children.js +10 -0
- package/lib-es/helpers/has-children.js.map +1 -0
- package/lib-es/helpers/index.js +65 -0
- package/lib-es/helpers/index.js.map +1 -0
- package/lib-es/helpers/inject-banner.js +15 -0
- package/lib-es/helpers/inject-banner.js.map +1 -0
- package/lib-es/helpers/inject-banners-to-entities.js +19 -0
- package/lib-es/helpers/inject-banners-to-entities.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js +15 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-entities/index.js +3 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-entities/index.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +19 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js +26 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/index.js +3 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/index.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/index.js +3 -0
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/index.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/index.js +3 -0
- package/lib-es/helpers/inject-multiple-banners/index.js.map +1 -0
- package/lib-es/helpers/inject-multiple-banners/inject-multiple-banners.js +11 -0
- package/lib-es/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -0
- package/lib-es/helpers/is-browser.js +3 -0
- package/lib-es/helpers/is-browser.js.map +1 -0
- package/lib-es/helpers/is-filter-entitys-id.js +8 -0
- package/lib-es/helpers/is-filter-entitys-id.js.map +1 -0
- package/lib-es/helpers/is-object.js +3 -0
- package/lib-es/helpers/is-object.js.map +1 -0
- package/lib-es/helpers/is-using-relation-image.js +3 -0
- package/lib-es/helpers/is-using-relation-image.js.map +1 -0
- package/lib-es/helpers/parse-TextBlock.js +30 -0
- package/lib-es/helpers/parse-TextBlock.js.map +1 -0
- package/lib-es/helpers/parse-interval.js +4 -0
- package/lib-es/helpers/parse-interval.js.map +1 -0
- package/lib-es/helpers/parse-props-to-display.js +36 -0
- package/lib-es/helpers/parse-props-to-display.js.map +1 -0
- package/lib-es/helpers/process-data-summary-value.js +36 -0
- package/lib-es/helpers/process-data-summary-value.js.map +1 -0
- package/lib-es/helpers/remove-extra-items.js +13 -0
- package/lib-es/helpers/remove-extra-items.js.map +1 -0
- package/lib-es/helpers/remove-unwanted-characters.js +21 -0
- package/lib-es/helpers/remove-unwanted-characters.js.map +1 -0
- package/lib-es/helpers/render-children.js +21 -0
- package/lib-es/helpers/render-children.js.map +1 -0
- package/lib-es/helpers/should-render-waypoint.js +3 -0
- package/lib-es/helpers/should-render-waypoint.js.map +1 -0
- package/lib-es/helpers/should-return.js +3 -0
- package/lib-es/helpers/should-return.js.map +1 -0
- package/lib-es/helpers/should-show-property.js +6 -0
- package/lib-es/helpers/should-show-property.js.map +1 -0
- package/lib-es/helpers/should-skip-single-query.js +4 -0
- package/lib-es/helpers/should-skip-single-query.js.map +1 -0
- package/lib-es/helpers/sort-response-data.js +10 -0
- package/lib-es/helpers/sort-response-data.js.map +1 -0
- package/lib-es/helpers/split-children.js +69 -0
- package/lib-es/helpers/split-children.js.map +1 -0
- package/lib-es/helpers/update-childrens-parent.js +17 -0
- package/lib-es/helpers/update-childrens-parent.js.map +1 -0
- package/lib-es/hooks/helpers/RenderComponent.js +80 -0
- package/lib-es/hooks/helpers/RenderComponent.js.map +1 -0
- package/lib-es/hooks/helpers/StoreImages.js +56 -0
- package/lib-es/hooks/helpers/StoreImages.js.map +1 -0
- package/lib-es/hooks/helpers/append-gtm-classname.js +38 -0
- package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -0
- package/lib-es/hooks/helpers/buildPBComponents.js +88 -0
- package/lib-es/hooks/helpers/buildPBComponents.js.map +1 -0
- package/lib-es/hooks/helpers/check-banner-insertion-set.js +17 -0
- package/lib-es/hooks/helpers/check-banner-insertion-set.js.map +1 -0
- package/lib-es/hooks/helpers/check-collisions.js +30 -0
- package/lib-es/hooks/helpers/check-collisions.js.map +1 -0
- package/lib-es/hooks/helpers/constants.js +6 -0
- package/lib-es/hooks/helpers/constants.js.map +1 -0
- package/lib-es/hooks/helpers/get-banner-index.js +3 -0
- package/lib-es/hooks/helpers/get-banner-index.js.map +1 -0
- package/lib-es/hooks/helpers/get-components-to-insert-by-type.js +27 -0
- package/lib-es/hooks/helpers/get-components-to-insert-by-type.js.map +1 -0
- package/lib-es/hooks/helpers/get-lightbox-images.js +40 -0
- package/lib-es/hooks/helpers/get-lightbox-images.js.map +1 -0
- package/lib-es/hooks/helpers/getComponent.js +5 -0
- package/lib-es/hooks/helpers/getComponent.js.map +1 -0
- package/lib-es/hooks/helpers/getVariant.js +14 -0
- package/lib-es/hooks/helpers/getVariant.js.map +1 -0
- package/lib-es/hooks/helpers/index.js +3 -0
- package/lib-es/hooks/helpers/index.js.map +1 -0
- package/lib-es/hooks/helpers/inject-element-components.js +59 -0
- package/lib-es/hooks/helpers/inject-element-components.js.map +1 -0
- package/lib-es/hooks/helpers/inject-textblock-banners.js +95 -0
- package/lib-es/hooks/helpers/inject-textblock-banners.js.map +1 -0
- package/lib-es/hooks/helpers/insert-banners.js +83 -0
- package/lib-es/hooks/helpers/insert-banners.js.map +1 -0
- package/lib-es/hooks/helpers/update-targetings.js +15 -0
- package/lib-es/hooks/helpers/update-targetings.js.map +1 -0
- package/lib-es/hooks/index.js +12 -0
- package/lib-es/hooks/index.js.map +1 -0
- package/lib-es/hooks/use-app-sync-event-hook.js +37 -0
- package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -0
- package/lib-es/hooks/use-banner-insertion.js +22 -0
- package/lib-es/hooks/use-banner-insertion.js.map +1 -0
- package/lib-es/hooks/use-check-mobile-screen.js +29 -0
- package/lib-es/hooks/use-check-mobile-screen.js.map +1 -0
- package/lib-es/hooks/use-filter-aggregation-values.js +31 -0
- package/lib-es/hooks/use-filter-aggregation-values.js.map +1 -0
- package/lib-es/hooks/use-get-entity-schema.js +39 -0
- package/lib-es/hooks/use-get-entity-schema.js.map +1 -0
- package/lib-es/hooks/use-get-entity-schemas-as-obj.js +13 -0
- package/lib-es/hooks/use-get-entity-schemas-as-obj.js.map +1 -0
- package/lib-es/hooks/use-get-image-id-from-relation.js +37 -0
- package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -0
- package/lib-es/hooks/use-get-images.js +37 -0
- package/lib-es/hooks/use-get-images.js.map +1 -0
- package/lib-es/hooks/use-get-single-entity-schema.js +21 -0
- package/lib-es/hooks/use-get-single-entity-schema.js.map +1 -0
- package/lib-es/hooks/use-page-builder.js +17 -0
- package/lib-es/hooks/use-page-builder.js.map +1 -0
- package/lib-es/hooks/use-portal.js +14 -0
- package/lib-es/hooks/use-portal.js.map +1 -0
- package/lib-es/index.js +17 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/system-components/EditorMode/BlazeLogo.js +67 -0
- package/lib-es/system-components/EditorMode/BlazeLogo.js.map +1 -0
- package/lib-es/system-components/EditorMode/PbWrapper.js +34 -0
- package/lib-es/system-components/EditorMode/PbWrapper.js.map +1 -0
- package/lib-es/system-components/EditorMode/constants.js +3 -0
- package/lib-es/system-components/EditorMode/constants.js.map +1 -0
- package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +93 -0
- package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -0
- package/lib-es/system-components/EditorMode/helpers/check-is-over-blaze-icon.js +19 -0
- package/lib-es/system-components/EditorMode/helpers/check-is-over-blaze-icon.js.map +1 -0
- package/lib-es/system-components/index.js +3 -0
- package/lib-es/system-components/index.js.map +1 -0
- package/lib-es/translations.js +37 -0
- package/lib-es/translations.js.map +1 -0
- package/lib-es/utils/component-map.js +30 -0
- package/lib-es/utils/component-map.js.map +1 -0
- package/lib-es/utils/get-class-modifiers.js +81 -0
- package/lib-es/utils/get-class-modifiers.js.map +1 -0
- package/lib-es/utils/get-image-data.js +16 -0
- package/lib-es/utils/get-image-data.js.map +1 -0
- package/lib-es/utils/get-props-to-display-modifiers.js +5 -0
- package/lib-es/utils/get-props-to-display-modifiers.js.map +1 -0
- package/lib-es/utils/index.js +8 -0
- package/lib-es/utils/index.js.map +1 -0
- package/lib-es/utils/is-object-empty.js +4 -0
- package/lib-es/utils/is-object-empty.js.map +1 -0
- package/lib-es/utils/variant-handler.js +27 -0
- package/lib-es/utils/variant-handler.js.map +1 -0
- package/lib-es/variants/FloatingSideButton/index.js +10 -0
- package/lib-es/variants/FloatingSideButton/index.js.map +1 -0
- package/lib-es/variants/HeroImage/index.js +10 -0
- package/lib-es/variants/HeroImage/index.js.map +1 -0
- package/lib-es/variants/Infographic/Infographic.js +16 -0
- package/lib-es/variants/Infographic/Infographic.js.map +1 -0
- package/lib-es/variants/Infographic/index.js +10 -0
- package/lib-es/variants/Infographic/index.js.map +1 -0
- package/lib-es/variants/Infographic/useInfographic.js +23 -0
- package/lib-es/variants/Infographic/useInfographic.js.map +1 -0
- package/lib-es/variants/LiveBlogList/LiveBlogList.js +80 -0
- package/lib-es/variants/LiveBlogList/LiveBlogList.js.map +1 -0
- package/lib-es/variants/LiveBlogList/index.js +12 -0
- package/lib-es/variants/LiveBlogList/index.js.map +1 -0
- package/lib-es/variants/LongformGallery/LongformGallery.js +40 -0
- package/lib-es/variants/LongformGallery/LongformGallery.js.map +1 -0
- package/lib-es/variants/LongformGallery/LongformGalleryImage.js +59 -0
- package/lib-es/variants/LongformGallery/LongformGalleryImage.js.map +1 -0
- package/lib-es/variants/LongformGallery/constants.js +18 -0
- package/lib-es/variants/LongformGallery/constants.js.map +1 -0
- package/lib-es/variants/LongformGallery/helpers/index.js +5 -0
- package/lib-es/variants/LongformGallery/helpers/index.js.map +1 -0
- package/lib-es/variants/LongformGallery/helpers/parseImageData.js +26 -0
- package/lib-es/variants/LongformGallery/helpers/parseImageData.js.map +1 -0
- package/lib-es/variants/LongformGallery/helpers/separateImages.js +25 -0
- package/lib-es/variants/LongformGallery/helpers/separateImages.js.map +1 -0
- package/lib-es/variants/LongformGallery/helpers/shouldSkip.js +3 -0
- package/lib-es/variants/LongformGallery/helpers/shouldSkip.js.map +1 -0
- package/lib-es/variants/LongformGallery/index.js +12 -0
- package/lib-es/variants/LongformGallery/index.js.map +1 -0
- package/lib-es/variants/LongformGallery/useLongformGallery.js +47 -0
- package/lib-es/variants/LongformGallery/useLongformGallery.js.map +1 -0
- package/lib-es/variants/LongformRow/index.js +10 -0
- package/lib-es/variants/LongformRow/index.js.map +1 -0
- package/lib-es/variants/ParallaxImageTextRight/index.js +11 -0
- package/lib-es/variants/ParallaxImageTextRight/index.js.map +1 -0
- package/lib-es/variants/SlideSummary/SlideSummary.js +23 -0
- package/lib-es/variants/SlideSummary/SlideSummary.js.map +1 -0
- package/lib-es/variants/SlideSummary/index.js +10 -0
- package/lib-es/variants/SlideSummary/index.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js +49 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +30 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/index.js +3 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/index.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +62 -0
- package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/index.js +10 -0
- package/lib-es/variants/ThumbnailCarousel/index.js.map +1 -0
- package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js +47 -0
- package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js.map +1 -0
- package/lib-es/variants/index.js +21 -0
- package/lib-es/variants/index.js.map +1 -0
- package/package.json +11 -10
- package/src/components/Menu/Menu.js +1 -3
- package/src/components/Menu/MenuContext.js +1 -1
- package/src/components/MenuItem/MenuItemRender.js +12 -40
- package/src/components/MenuItem/helpers/index.js +1 -3
- package/tests/unit/src/components/MenuItem/MenuItem.test.js +0 -5
- package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +3 -11
- package/lib/components/MenuItem/helpers/has-active-child.js +0 -19
- package/lib/components/MenuItem/helpers/has-active-child.js.map +0 -1
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js +0 -18
- package/lib/components/MenuItem/helpers/isUrlPathMatch.js.map +0 -1
- package/src/components/MenuItem/helpers/has-active-child.js +0 -10
- package/src/components/MenuItem/helpers/isUrlPathMatch.js +0 -10
- package/tests/unit/src/components/MenuItem/helpers/constants.js +0 -73
- package/tests/unit/src/components/MenuItem/helpers/has-active-child.test.js +0 -35
- package/tests/unit/src/components/MenuItem/helpers/is-url-path-match.test.js +0 -53
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';
|
|
2
|
+
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
3
|
+
import { useRouter } from 'next/router';
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { parseUrl } from 'query-string';
|
|
7
|
+
import SearchFilter from './SearchFilter';
|
|
8
|
+
import { withTitle } from '../../HOC';
|
|
9
|
+
import { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';
|
|
10
|
+
import { buildNewUrl, getFilterValues, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy, buildListNameQuery } from './helpers';
|
|
11
|
+
import { getEntityData, getInheritedFilters, getQueryProps, buildRawQueryStringified, buildFiltersQuery, getComponentId } from '../../helpers';
|
|
12
|
+
import { RAW_RESULTS } from './constants';
|
|
13
|
+
import searchFilterReducer from './searchFilterReducer';
|
|
14
|
+
import { useGetEntitySchemasAsObj } from '../../hooks';
|
|
15
|
+
const SearchFilterContainer = ({
|
|
16
|
+
entity,
|
|
17
|
+
url,
|
|
18
|
+
filters,
|
|
19
|
+
name,
|
|
20
|
+
isCollapsedOnResponsive,
|
|
21
|
+
groupAfterMobile,
|
|
22
|
+
groupAfterDesktop,
|
|
23
|
+
filterBy,
|
|
24
|
+
filterByProperty,
|
|
25
|
+
shouldAddFilters,
|
|
26
|
+
listComponentName,
|
|
27
|
+
parent,
|
|
28
|
+
mobileRefineButtonText
|
|
29
|
+
}) => {
|
|
30
|
+
const {
|
|
31
|
+
isPreview
|
|
32
|
+
} = useContext(MainContext);
|
|
33
|
+
const router = useRouter();
|
|
34
|
+
const {
|
|
35
|
+
asPath
|
|
36
|
+
} = router;
|
|
37
|
+
const searchFilterRef = useRef(null);
|
|
38
|
+
const [key, setKey] = useState(`filter-${name}`);
|
|
39
|
+
const [displaySearchFilter, setDisplaySearchFilter] = useState(false);
|
|
40
|
+
const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update
|
|
41
|
+
const [filterValues, dispatch] = useReducer(searchFilterReducer, null);
|
|
42
|
+
const {
|
|
43
|
+
url: currentUrl,
|
|
44
|
+
query
|
|
45
|
+
} = parseUrl(urlPath);
|
|
46
|
+
const updatedQuery = buildListNameQuery(query, listComponentName);
|
|
47
|
+
const {
|
|
48
|
+
itemId: parentId,
|
|
49
|
+
itemEntity: parentEntity
|
|
50
|
+
} = parent;
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (asPath === urlPath) return;
|
|
53
|
+
const {
|
|
54
|
+
query: newQuery
|
|
55
|
+
} = parseUrl(asPath);
|
|
56
|
+
const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);
|
|
57
|
+
const newValues = getFilterValues(filterData, filters, updatedNewQuery);
|
|
58
|
+
if (newValues) dispatch({
|
|
59
|
+
newValues,
|
|
60
|
+
shouldSearch: false,
|
|
61
|
+
type: 'update'
|
|
62
|
+
});
|
|
63
|
+
setUrlPath(asPath);
|
|
64
|
+
},
|
|
65
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
66
|
+
[asPath]);
|
|
67
|
+
const {
|
|
68
|
+
data: mainSchemas = {},
|
|
69
|
+
loading: schemasLoading
|
|
70
|
+
} = useGetEntitySchemasAsObj([parentEntity, entity]);
|
|
71
|
+
const {
|
|
72
|
+
[parentEntity]: parentSchema = {},
|
|
73
|
+
[entity]: filterEntitySchema = {}
|
|
74
|
+
} = mainSchemas;
|
|
75
|
+
const {
|
|
76
|
+
actions = {}
|
|
77
|
+
} = parentSchema || {};
|
|
78
|
+
const getAction = isPreview ? actions.get : actions.getPublished;
|
|
79
|
+
const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);
|
|
80
|
+
const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);
|
|
81
|
+
const {
|
|
82
|
+
data: {
|
|
83
|
+
entityData: parentData
|
|
84
|
+
} = {},
|
|
85
|
+
loading: parentQueryLoading
|
|
86
|
+
} = useQuery(generateSingleItemQuery(getAction, queryProps), {
|
|
87
|
+
variables: {
|
|
88
|
+
id: parentId
|
|
89
|
+
},
|
|
90
|
+
skip: schemasLoading || !inheritedFilters.length
|
|
91
|
+
});
|
|
92
|
+
const {
|
|
93
|
+
updatedFilterBy,
|
|
94
|
+
updatedFilterByProperty
|
|
95
|
+
} = getUpdatedFilterBy(filterBy, filterByProperty, parentData);
|
|
96
|
+
const action = getSearchPublishedContent(RAW_RESULTS);
|
|
97
|
+
const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);
|
|
98
|
+
const {
|
|
99
|
+
docType
|
|
100
|
+
} = getEntityData(entity);
|
|
101
|
+
const filtersQuery = buildFiltersQuery({
|
|
102
|
+
shouldAddFilters,
|
|
103
|
+
query: filterValues,
|
|
104
|
+
filterBy: updatedFilterBy,
|
|
105
|
+
filterByProperty: updatedFilterByProperty,
|
|
106
|
+
rangeValues,
|
|
107
|
+
queryKeys: Object.keys(updatedQuery)
|
|
108
|
+
});
|
|
109
|
+
const rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType, filtersQuery);
|
|
110
|
+
const {
|
|
111
|
+
data,
|
|
112
|
+
error,
|
|
113
|
+
loading
|
|
114
|
+
} = useQuery(action, {
|
|
115
|
+
variables: {
|
|
116
|
+
rawQueryStringified,
|
|
117
|
+
limit: 0
|
|
118
|
+
},
|
|
119
|
+
// we only want aggs so limit=0 for no search results
|
|
120
|
+
skip: !rawQueryStringified || parentQueryLoading
|
|
121
|
+
});
|
|
122
|
+
if (error) return error.message;
|
|
123
|
+
if (!filters.length) return null;
|
|
124
|
+
const {
|
|
125
|
+
searchPublishedContent: {
|
|
126
|
+
rawResults: {
|
|
127
|
+
aggregations: filterData
|
|
128
|
+
} = {}
|
|
129
|
+
} = {}
|
|
130
|
+
} = data || {};
|
|
131
|
+
if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {
|
|
132
|
+
const newValues = getFilterValues(filterData, filters, updatedQuery);
|
|
133
|
+
dispatch({
|
|
134
|
+
newValues,
|
|
135
|
+
shouldSearch: false,
|
|
136
|
+
type: 'update'
|
|
137
|
+
});
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
const handleSearch = newQuery => {
|
|
141
|
+
const componentId = listComponentName ? getComponentId(listComponentName) : '';
|
|
142
|
+
setDisplaySearchFilter(false);
|
|
143
|
+
const hashBit = asPath.split('#')[1] || '';
|
|
144
|
+
let parsedHashBit = hashBit ? `#${hashBit}` : '';
|
|
145
|
+
parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');
|
|
146
|
+
scrollToFirstList(componentId);
|
|
147
|
+
if (!newQuery) {
|
|
148
|
+
const baseUrl = url || currentUrl;
|
|
149
|
+
const baseQuery = `${baseUrl}${parsedHashBit}`;
|
|
150
|
+
setUrlPath(baseQuery);
|
|
151
|
+
return router.push('/Resolver', baseQuery, {
|
|
152
|
+
shallow: !url,
|
|
153
|
+
scroll: false
|
|
154
|
+
}).then(() => {
|
|
155
|
+
setKey(`filter-${name}:${Date.now()}`); // remove after range component update
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
const hashToUse = componentId;
|
|
159
|
+
const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);
|
|
160
|
+
setUrlPath(newUrl);
|
|
161
|
+
return router.push('/Resolver', newUrl, {
|
|
162
|
+
shallow: !url,
|
|
163
|
+
scroll: false
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
const scrollToFirstList = componentId => {
|
|
167
|
+
const list = componentId ? document.getElementById(componentId) : document.getElementsByClassName('list-top')[0];
|
|
168
|
+
const shouldScrollToFirstList = !url && list;
|
|
169
|
+
if (shouldScrollToFirstList) {
|
|
170
|
+
list.scrollIntoView();
|
|
171
|
+
} else {
|
|
172
|
+
window.scrollTo(0, 0);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
if (!filterValues) return null;
|
|
176
|
+
return /*#__PURE__*/React.createElement(SearchFilter, {
|
|
177
|
+
key: key,
|
|
178
|
+
setAppliedFilters: dispatch,
|
|
179
|
+
query: updatedQuery,
|
|
180
|
+
listComponentName: listComponentName,
|
|
181
|
+
searchFilterRef: searchFilterRef,
|
|
182
|
+
data: filterData,
|
|
183
|
+
filters: filters,
|
|
184
|
+
hasUrl: !!url,
|
|
185
|
+
entity: entity,
|
|
186
|
+
handleSearch: handleSearch,
|
|
187
|
+
filterValues: filterValues,
|
|
188
|
+
name: name,
|
|
189
|
+
isCollapsedOnResponsive: isCollapsedOnResponsive,
|
|
190
|
+
displaySearchFilter: displaySearchFilter,
|
|
191
|
+
setDisplaySearchFilter: setDisplaySearchFilter,
|
|
192
|
+
groupAfterMobile: groupAfterMobile,
|
|
193
|
+
groupAfterDesktop: groupAfterDesktop,
|
|
194
|
+
mobileRefineButtonText: mobileRefineButtonText
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
SearchFilterContainer.propTypes = {
|
|
198
|
+
mobileRefineButtonText: PropTypes.string,
|
|
199
|
+
entity: PropTypes.string,
|
|
200
|
+
url: PropTypes.string,
|
|
201
|
+
filters: PropTypes.array,
|
|
202
|
+
name: PropTypes.string.isRequired,
|
|
203
|
+
isCollapsedOnResponsive: PropTypes.bool,
|
|
204
|
+
groupAfterMobile: PropTypes.number,
|
|
205
|
+
groupAfterDesktop: PropTypes.number,
|
|
206
|
+
filterBy: PropTypes.array,
|
|
207
|
+
filterByProperty: PropTypes.array,
|
|
208
|
+
shouldAddFilters: PropTypes.bool,
|
|
209
|
+
listComponentName: PropTypes.string,
|
|
210
|
+
parent: PropTypes.object
|
|
211
|
+
};
|
|
212
|
+
SearchFilterContainer.defaultProps = {
|
|
213
|
+
url: null,
|
|
214
|
+
filters: [],
|
|
215
|
+
entity: '',
|
|
216
|
+
isCollapsedOnResponsive: true,
|
|
217
|
+
groupAfterMobile: 0,
|
|
218
|
+
groupAfterDesktop: 0,
|
|
219
|
+
filterBy: [],
|
|
220
|
+
filterByProperty: [],
|
|
221
|
+
shouldAddFilters: false,
|
|
222
|
+
listComponentName: '',
|
|
223
|
+
parent: {},
|
|
224
|
+
mobileRefineButtonText: ''
|
|
225
|
+
};
|
|
226
|
+
export default withTitle(SearchFilterContainer);
|
|
227
|
+
//# sourceMappingURL=SearchFilterContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","getComponentId","RAW_RESULTS","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","filterData","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","handleSearch","componentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery,\n getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\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 || parentQueryLoading\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 && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashToUse = componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\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 mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\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 listComponentName: PropTypes.string,\n parent: PropTypes.object\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 listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import upperFirst from 'lodash.upperfirst';
|
|
4
|
+
import { Checkboxes } from '@blaze-react/checkboxes';
|
|
5
|
+
import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
|
|
6
|
+
import { withTitle } from '../../../HOC';
|
|
7
|
+
import { decodeValue } from '../helpers';
|
|
8
|
+
import { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';
|
|
9
|
+
const Checkbox = ({
|
|
10
|
+
data,
|
|
11
|
+
prop,
|
|
12
|
+
updateFilterValues,
|
|
13
|
+
filterValues,
|
|
14
|
+
label,
|
|
15
|
+
elementTitle,
|
|
16
|
+
shouldSearch,
|
|
17
|
+
displayFilterCount
|
|
18
|
+
}) => {
|
|
19
|
+
const [checkboxLimit, setCheckboxLimit] = useState(null);
|
|
20
|
+
if (!data[prop]) return null;
|
|
21
|
+
const handleCheckboxOptions = () => {
|
|
22
|
+
if (checkboxLimit[prop] === LIMIT_MIN) {
|
|
23
|
+
setCheckboxLimit({
|
|
24
|
+
[prop]: LIMIT_MAX
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
setCheckboxLimit({
|
|
28
|
+
[prop]: LIMIT_MIN
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
if (!checkboxLimit) {
|
|
33
|
+
setCheckboxLimit({
|
|
34
|
+
[prop]: LIMIT_MIN
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (!checkboxLimit) return null;
|
|
38
|
+
let checkboxQueryParams = [];
|
|
39
|
+
if (filterValues && filterValues[prop]) {
|
|
40
|
+
checkboxQueryParams = typeof filterValues[prop] === 'string' ? [decodeValue(filterValues[prop])] : filterValues[prop].map(val => decodeValue(val));
|
|
41
|
+
}
|
|
42
|
+
const multiple = [];
|
|
43
|
+
const sortedValues = data[prop].buckets.map(({
|
|
44
|
+
key,
|
|
45
|
+
doc_count: count
|
|
46
|
+
}) => {
|
|
47
|
+
const optionLabel = displayFilterCount ? `${key} (${count})` : key;
|
|
48
|
+
return [key, optionLabel, !count];
|
|
49
|
+
}).filter(Boolean).sort();
|
|
50
|
+
sortedValues.forEach((value, i) => i < checkboxLimit[prop] && multiple.push({
|
|
51
|
+
label: upperFirst(value[1]),
|
|
52
|
+
value: value[0],
|
|
53
|
+
name: prop,
|
|
54
|
+
checked: checkboxQueryParams.includes(value[0]),
|
|
55
|
+
id: value[0],
|
|
56
|
+
disabled: value[2]
|
|
57
|
+
}));
|
|
58
|
+
const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;
|
|
59
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, label ? /*#__PURE__*/React.createElement("p", null, label) : '', /*#__PURE__*/React.createElement(Checkboxes, {
|
|
60
|
+
className: "form-checkbox",
|
|
61
|
+
options: multiple,
|
|
62
|
+
onChange: ({
|
|
63
|
+
data: eData
|
|
64
|
+
}) => {
|
|
65
|
+
const newCheckboxValues = eData.filter(({
|
|
66
|
+
checked
|
|
67
|
+
}) => checked).map(({
|
|
68
|
+
value
|
|
69
|
+
}) => value);
|
|
70
|
+
updateFilterValues({
|
|
71
|
+
[prop]: newCheckboxValues
|
|
72
|
+
}, shouldSearch);
|
|
73
|
+
}
|
|
74
|
+
}), data[prop].buckets.length > LIMIT_MIN && /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
role: "button",
|
|
76
|
+
className: "see-more",
|
|
77
|
+
onClick: handleCheckboxOptions,
|
|
78
|
+
"aria-label": shouldDisplayMore ? `See ${MORE} ${label} options` : `See ${LESS} ${label} options`
|
|
79
|
+
}, shouldDisplayMore ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaChevronDown, {
|
|
80
|
+
className: "inline-icon"
|
|
81
|
+
})), ` See ${MORE}`) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaChevronUp, {
|
|
82
|
+
className: "inline-icon"
|
|
83
|
+
})), ` See ${LESS}`)));
|
|
84
|
+
};
|
|
85
|
+
Checkbox.propTypes = {
|
|
86
|
+
data: PropTypes.object.isRequired,
|
|
87
|
+
prop: PropTypes.string.isRequired,
|
|
88
|
+
filterValues: PropTypes.object.isRequired,
|
|
89
|
+
updateFilterValues: PropTypes.func.isRequired,
|
|
90
|
+
shouldSearch: PropTypes.bool,
|
|
91
|
+
label: PropTypes.string,
|
|
92
|
+
elementTitle: PropTypes.string,
|
|
93
|
+
displayFilterCount: PropTypes.bool
|
|
94
|
+
};
|
|
95
|
+
Checkbox.defaultProps = {
|
|
96
|
+
shouldSearch: false,
|
|
97
|
+
label: '',
|
|
98
|
+
elementTitle: '',
|
|
99
|
+
displayFilterCount: false
|
|
100
|
+
};
|
|
101
|
+
export default withTitle(Checkbox);
|
|
102
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","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 = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n elementTitle,\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 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\n role=\"button\"\n className=\"see-more\"\n onClick={handleCheckboxOptions}\n aria-label={\n shouldDisplayMore ? `See ${MORE} ${label} options` : `See ${LESS} ${label} options`\n }>\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 elementTitle: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import debounce from 'lodash.debounce';
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import RangeFilter from '@blaze-react/range-filter';
|
|
9
|
+
import { useRouter } from 'next/router';
|
|
10
|
+
import Select from '@blaze-react/select';
|
|
11
|
+
import { parseUrl } from 'query-string';
|
|
12
|
+
import { useGetSingleEntitySchema } from '../../../hooks';
|
|
13
|
+
import { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';
|
|
14
|
+
import { decodeValue } from '../helpers/decode-encode';
|
|
15
|
+
const Range = ({
|
|
16
|
+
rangeInterval,
|
|
17
|
+
label,
|
|
18
|
+
entity,
|
|
19
|
+
propsToDisplay,
|
|
20
|
+
dataAggregations,
|
|
21
|
+
updateFilterValues,
|
|
22
|
+
filterValues,
|
|
23
|
+
shouldSearch,
|
|
24
|
+
elementTitle,
|
|
25
|
+
unit
|
|
26
|
+
}) => {
|
|
27
|
+
const router = useRouter();
|
|
28
|
+
const debounceAmount = shouldSearch ? 1200 : 400;
|
|
29
|
+
const {
|
|
30
|
+
query
|
|
31
|
+
} = parseUrl(decodeValue(router.asPath));
|
|
32
|
+
const hasMultipleOptions = propsToDisplay.length > 1;
|
|
33
|
+
const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];
|
|
34
|
+
const rangeOption = filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption || initialRangeOption;
|
|
35
|
+
const rangeValue = filterValues[rangeOption];
|
|
36
|
+
const {
|
|
37
|
+
data: {
|
|
38
|
+
getEntitySchema = {}
|
|
39
|
+
} = {},
|
|
40
|
+
loading
|
|
41
|
+
} = useGetSingleEntitySchema(entity, !hasMultipleOptions);
|
|
42
|
+
if (loading || !rangeOption || !rangeValue) return '';
|
|
43
|
+
const options = getSelectOptions(getEntitySchema, propsToDisplay);
|
|
44
|
+
const {
|
|
45
|
+
min,
|
|
46
|
+
max
|
|
47
|
+
} = calculateMinMax(dataAggregations[rangeOption], rangeInterval);
|
|
48
|
+
const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;
|
|
49
|
+
const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;
|
|
50
|
+
const valueToUse = _objectSpread(_objectSpread({}, rangeValue), {}, {
|
|
51
|
+
min,
|
|
52
|
+
max,
|
|
53
|
+
minValue,
|
|
54
|
+
maxValue
|
|
55
|
+
});
|
|
56
|
+
const handleChange = debounce((option, value) => {
|
|
57
|
+
updateFilterValues({
|
|
58
|
+
[option]: _objectSpread(_objectSpread({}, value), {}, {
|
|
59
|
+
selectedOption: rangeOption
|
|
60
|
+
})
|
|
61
|
+
}, shouldSearch);
|
|
62
|
+
}, debounceAmount);
|
|
63
|
+
let displayLabel = '';
|
|
64
|
+
if (!hasMultipleOptions) {
|
|
65
|
+
displayLabel = label;
|
|
66
|
+
}
|
|
67
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: "heading heading--section"
|
|
69
|
+
}, elementTitle), hasMultipleOptions && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, label), /*#__PURE__*/React.createElement(Select, {
|
|
70
|
+
value: rangeOption,
|
|
71
|
+
id: rangeOption,
|
|
72
|
+
options: options,
|
|
73
|
+
required: true,
|
|
74
|
+
onChange: ({
|
|
75
|
+
value
|
|
76
|
+
}) => {
|
|
77
|
+
const updatedOptions = {};
|
|
78
|
+
propsToDisplay.forEach(prop => {
|
|
79
|
+
const {
|
|
80
|
+
min: aggMin,
|
|
81
|
+
max: aggMax
|
|
82
|
+
} = calculateMinMax(dataAggregations[prop], rangeInterval);
|
|
83
|
+
const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);
|
|
84
|
+
updatedOptions[prop] = _objectSpread(_objectSpread({}, initValue), {}, {
|
|
85
|
+
selectedOption: value
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
updateFilterValues(updatedOptions, false);
|
|
89
|
+
}
|
|
90
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: classNames('range-filter-wrapper', {
|
|
92
|
+
'has-unit': unit
|
|
93
|
+
}),
|
|
94
|
+
style: unit ? {
|
|
95
|
+
'--unit': `"${unit}"`
|
|
96
|
+
} : {}
|
|
97
|
+
}, /*#__PURE__*/React.createElement(RangeFilter, {
|
|
98
|
+
key: `${rangeOption}-${min}-${max}`,
|
|
99
|
+
name: rangeOption,
|
|
100
|
+
label: displayLabel,
|
|
101
|
+
value: valueToUse,
|
|
102
|
+
id: rangeOption,
|
|
103
|
+
onChange: ({
|
|
104
|
+
value
|
|
105
|
+
}) => {
|
|
106
|
+
handleChange(rangeOption, value);
|
|
107
|
+
}
|
|
108
|
+
})));
|
|
109
|
+
};
|
|
110
|
+
Range.propTypes = {
|
|
111
|
+
propsToDisplay: PropTypes.array.isRequired,
|
|
112
|
+
entity: PropTypes.string.isRequired,
|
|
113
|
+
filterValues: PropTypes.object.isRequired,
|
|
114
|
+
updateFilterValues: PropTypes.func.isRequired,
|
|
115
|
+
shouldSearch: PropTypes.bool,
|
|
116
|
+
rangeInterval: PropTypes.number,
|
|
117
|
+
label: PropTypes.string,
|
|
118
|
+
elementTitle: PropTypes.string,
|
|
119
|
+
dataAggregations: PropTypes.object.isRequired,
|
|
120
|
+
unit: PropTypes.string
|
|
121
|
+
};
|
|
122
|
+
Range.defaultProps = {
|
|
123
|
+
shouldSearch: false,
|
|
124
|
+
rangeInterval: 1,
|
|
125
|
+
label: '',
|
|
126
|
+
elementTitle: '',
|
|
127
|
+
unit: ''
|
|
128
|
+
};
|
|
129
|
+
export default Range;
|
|
130
|
+
//# sourceMappingURL=Range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","classNames","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","aggMin","aggMax","initValue","style","key","name","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 classNames from 'classnames';\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 { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\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 } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\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: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${min}-${max}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\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 elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,SAASC,SAAS,QAAQ,aAAa;AACvC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,wBAAwB,QAAQ,gBAAgB;AACzD,SAASC,gBAAgB,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,eAAe,QAAQ,YAAY;AACjG,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,MAAMC,KAAK,GAAGA,CAAC;EACbC,aAAa;EACbC,KAAK;EACLC,MAAM;EACNC,cAAc;EACdC,gBAAgB;EAChBC,kBAAkB;EAClBC,YAAY;EACZC,YAAY;EACZC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGpB,SAAS,CAAC,CAAC;EAC1B,MAAMqB,cAAc,GAAGJ,YAAY,GAAG,IAAI,GAAG,GAAG;EAChD,MAAM;IAAEK;EAAM,CAAC,GAAGpB,QAAQ,CAACM,WAAW,CAACY,MAAM,CAACG,MAAM,CAAC,CAAC;EACtD,MAAMC,kBAAkB,GAAGX,cAAc,CAACY,MAAM,GAAG,CAAC;EACpD,MAAMC,kBAAkB,GAAGrB,kBAAkB,CAACiB,KAAK,EAAET,cAAc,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC;EACzF,MAAMc,WAAW,GACdX,YAAY,CAACU,kBAAkB,CAAC,IAAIV,YAAY,CAACU,kBAAkB,CAAC,CAACE,cAAc,IACpFF,kBAAkB;EACpB,MAAMG,UAAU,GAAGb,YAAY,CAACW,WAAW,CAAC;EAE5C,MAAM;IAAEG,IAAI,EAAE;MAAEC,eAAe,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAG7B,wBAAwB,CAC/ES,MAAM,EACN,CAACY,kBACH,CAAC;EAED,IAAIQ,OAAO,IAAI,CAACL,WAAW,IAAI,CAACE,UAAU,EAAE,OAAO,EAAE;EAErD,MAAMI,OAAO,GAAG7B,gBAAgB,CAAC2B,eAAe,EAAElB,cAAc,CAAC;EACjE,MAAM;IAAEqB,GAAG;IAAEC;EAAI,CAAC,GAAG5B,eAAe,CAACO,gBAAgB,CAACa,WAAW,CAAC,EAAEjB,aAAa,CAAC;EAClF,MAAM0B,QAAQ,GAAGP,UAAU,CAACO,QAAQ,GAAGF,GAAG,GAAGA,GAAG,GAAGL,UAAU,CAACO,QAAQ;EACtE,MAAMC,QAAQ,GAAGR,UAAU,CAACQ,QAAQ,GAAGF,GAAG,GAAGA,GAAG,GAAGN,UAAU,CAACQ,QAAQ;EACtE,MAAMC,UAAU,GAAAC,aAAA,CAAAA,aAAA,KAAQV,UAAU;IAAEK,GAAG;IAAEC,GAAG;IAAEC,QAAQ;IAAEC;EAAQ,EAAE;EAElE,MAAMG,YAAY,GAAG3C,QAAQ,CAAC,CAAC4C,MAAM,EAAEC,KAAK,KAAK;IAC/C3B,kBAAkB,CAAC;MAAE,CAAC0B,MAAM,GAAAF,aAAA,CAAAA,aAAA,KAAQG,KAAK;QAAEd,cAAc,EAAED;MAAW;IAAG,CAAC,EAAEV,YAAY,CAAC;EAC3F,CAAC,EAAEI,cAAc,CAAC;EAElB,IAAIsB,YAAY,GAAG,EAAE;EACrB,IAAI,CAACnB,kBAAkB,EAAE;IACvBmB,YAAY,GAAGhC,KAAK;EACtB;EAEA,oBACEhB,KAAA,CAAAiD,aAAA,CAAAjD,KAAA,CAAAkD,QAAA,QACG3B,YAAY,iBAAIvB,KAAA,CAAAiD,aAAA;IAAKE,SAAS,EAAC;EAA0B,GAAE5B,YAAkB,CAAC,EAC9EM,kBAAkB,iBACjB7B,KAAA,CAAAiD,aAAA,CAAAjD,KAAA,CAAAkD,QAAA,qBACElD,KAAA,CAAAiD,aAAA,gBAAQjC,KAAa,CAAC,eACtBhB,KAAA,CAAAiD,aAAA,CAAC3C,MAAM;IACLyC,KAAK,EAAEf,WAAY;IACnBoB,EAAE,EAAEpB,WAAY;IAChBM,OAAO,EAAEA,OAAQ;IACjBe,QAAQ;IACRC,QAAQ,EAAEA,CAAC;MAAEP;IAAM,CAAC,KAAK;MACvB,MAAMQ,cAAc,GAAG,CAAC,CAAC;MACzBrC,cAAc,CAACsC,OAAO,CAACC,IAAI,IAAI;QAC7B,MAAM;UAAElB,GAAG,EAAEmB,MAAM;UAAElB,GAAG,EAAEmB;QAAO,CAAC,GAAG/C,eAAe,CAClDO,gBAAgB,CAACsC,IAAI,CAAC,EACtB1C,aACF,CAAC;QACD,MAAM6C,SAAS,GAAGjD,aAAa,CAAC,IAAI,EAAEI,aAAa,EAAE2C,MAAM,EAAEC,MAAM,CAAC;QACpEJ,cAAc,CAACE,IAAI,CAAC,GAAAb,aAAA,CAAAA,aAAA,KAAQgB,SAAS;UAAE3B,cAAc,EAAEc;QAAK,EAAE;MAChE,CAAC,CAAC;MAEF3B,kBAAkB,CAACmC,cAAc,EAAE,KAAK,CAAC;IAC3C;EAAE,CACH,CACD,CACH,eACDvD,KAAA,CAAAiD,aAAA;IACEE,SAAS,EAAEhD,UAAU,CAAC,sBAAsB,EAAE;MAC5C,UAAU,EAAEqB;IACd,CAAC,CAAE;IACHqC,KAAK,EAAErC,IAAI,GAAG;MAAE,QAAQ,EAAE,IAAIA,IAAI;IAAI,CAAC,GAAG,CAAC;EAAE,gBAC7CxB,KAAA,CAAAiD,aAAA,CAAC7C,WAAW;IACV0D,GAAG,EAAE,GAAG9B,WAAW,IAAIO,GAAG,IAAIC,GAAG,EAAG;IACpCuB,IAAI,EAAE/B,WAAY;IAClBhB,KAAK,EAAEgC,YAAa;IACpBD,KAAK,EAAEJ,UAAW;IAClBS,EAAE,EAAEpB,WAAY;IAChBsB,QAAQ,EAAEA,CAAC;MAAEP;IAAM,CAAC,KAAK;MACvBF,YAAY,CAACb,WAAW,EAAEe,KAAK,CAAC;IAClC;EAAE,CACH,CACE,CACL,CAAC;AAEP,CAAC;AAEDjC,KAAK,CAACkD,SAAS,GAAG;EAChB9C,cAAc,EAAEjB,SAAS,CAACgE,KAAK,CAACC,UAAU;EAC1CjD,MAAM,EAAEhB,SAAS,CAACkE,MAAM,CAACD,UAAU;EACnC7C,YAAY,EAAEpB,SAAS,CAACmE,MAAM,CAACF,UAAU;EACzC9C,kBAAkB,EAAEnB,SAAS,CAACoE,IAAI,CAACH,UAAU;EAC7C5C,YAAY,EAAErB,SAAS,CAACqE,IAAI;EAC5BvD,aAAa,EAAEd,SAAS,CAACsE,MAAM;EAC/BvD,KAAK,EAAEf,SAAS,CAACkE,MAAM;EACvB5C,YAAY,EAAEtB,SAAS,CAACkE,MAAM;EAC9BhD,gBAAgB,EAAElB,SAAS,CAACmE,MAAM,CAACF,UAAU;EAC7C1C,IAAI,EAAEvB,SAAS,CAACkE;AAClB,CAAC;AAEDrD,KAAK,CAAC0D,YAAY,GAAG;EACnBlD,YAAY,EAAE,KAAK;EACnBP,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE,EAAE;EACTO,YAAY,EAAE,EAAE;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,eAAeV,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Select from '@blaze-react/select';
|
|
4
|
+
import { DEFAULT_OPTION } from '../constants';
|
|
5
|
+
const SelectFilter = ({
|
|
6
|
+
data,
|
|
7
|
+
label,
|
|
8
|
+
prop,
|
|
9
|
+
updateFilterValues,
|
|
10
|
+
filterValues,
|
|
11
|
+
shouldSearch,
|
|
12
|
+
displayLabelAsPlaceholder,
|
|
13
|
+
displayFilterCount,
|
|
14
|
+
elementTitle
|
|
15
|
+
}) => {
|
|
16
|
+
const filterValue = filterValues[prop] || '';
|
|
17
|
+
const disabledOptions = [];
|
|
18
|
+
const {
|
|
19
|
+
buckets = []
|
|
20
|
+
} = data[prop] || {};
|
|
21
|
+
const options = buckets.map(({
|
|
22
|
+
key,
|
|
23
|
+
doc_count: count
|
|
24
|
+
}) => {
|
|
25
|
+
if (!count) disabledOptions.push(key);
|
|
26
|
+
const optionLabel = displayFilterCount ? `${key} (${count})` : key;
|
|
27
|
+
return [key, optionLabel];
|
|
28
|
+
}).filter(Boolean).sort();
|
|
29
|
+
const labelText = label || prop;
|
|
30
|
+
let labelToUse = labelText;
|
|
31
|
+
let defaultTextValue = DEFAULT_OPTION;
|
|
32
|
+
if (displayLabelAsPlaceholder) {
|
|
33
|
+
defaultTextValue = labelToUse;
|
|
34
|
+
labelToUse = null;
|
|
35
|
+
}
|
|
36
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
|
|
37
|
+
className: "heading heading--section"
|
|
38
|
+
}, elementTitle), /*#__PURE__*/React.createElement(Select, {
|
|
39
|
+
label: labelToUse,
|
|
40
|
+
value: filterValue,
|
|
41
|
+
id: prop,
|
|
42
|
+
name: `filter-${prop}`,
|
|
43
|
+
"data-testid": `filter-${prop}`,
|
|
44
|
+
options: options,
|
|
45
|
+
defaultTextValue: defaultTextValue,
|
|
46
|
+
onChange: ({
|
|
47
|
+
value
|
|
48
|
+
}) => {
|
|
49
|
+
let valueToUse = value;
|
|
50
|
+
if (value === defaultTextValue) valueToUse = '';
|
|
51
|
+
updateFilterValues({
|
|
52
|
+
[prop]: valueToUse
|
|
53
|
+
}, shouldSearch);
|
|
54
|
+
},
|
|
55
|
+
disabled: disabledOptions
|
|
56
|
+
}));
|
|
57
|
+
};
|
|
58
|
+
SelectFilter.propTypes = {
|
|
59
|
+
data: PropTypes.object.isRequired,
|
|
60
|
+
prop: PropTypes.string.isRequired,
|
|
61
|
+
filterValues: PropTypes.object,
|
|
62
|
+
updateFilterValues: PropTypes.func.isRequired,
|
|
63
|
+
shouldSearch: PropTypes.bool,
|
|
64
|
+
label: PropTypes.string,
|
|
65
|
+
elementTitle: PropTypes.string,
|
|
66
|
+
displayLabelAsPlaceholder: PropTypes.bool,
|
|
67
|
+
displayFilterCount: PropTypes.bool
|
|
68
|
+
};
|
|
69
|
+
SelectFilter.defaultProps = {
|
|
70
|
+
filterValues: {},
|
|
71
|
+
shouldSearch: false,
|
|
72
|
+
label: '',
|
|
73
|
+
elementTitle: '',
|
|
74
|
+
displayLabelAsPlaceholder: false,
|
|
75
|
+
displayFilterCount: false
|
|
76
|
+
};
|
|
77
|
+
export default SelectFilter;
|
|
78
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","PropTypes","Select","DEFAULT_OPTION","SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","buckets","options","map","key","doc_count","count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","createElement","Fragment","className","value","id","name","onChange","valueToUse","disabled","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 { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n\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 <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n name={`filter-${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\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\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 elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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","ignoreList":[]}
|