@blaze-cms/react-page-builder 0.146.0-alpha.21 → 0.146.0-alpha.26
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 +19 -0
- package/lib/BannerContext/index.js +1 -1
- package/lib/BannerContext/index.js.map +1 -1
- package/lib/HOC/withInfiniteScroll.js +2 -2
- package/lib/HOC/withInfiniteScroll.js.map +1 -1
- package/lib/HOC/withTitle.js +1 -1
- package/lib/HOC/withTitle.js.map +1 -1
- package/lib/components/BackToTop/BackToTop.js +1 -1
- package/lib/components/BackToTop/BackToTop.js.map +1 -1
- package/lib/components/Banner/AdSlotRender.js +1 -1
- package/lib/components/Banner/AdSlotRender.js.map +1 -1
- package/lib/components/Banner/Banner.js +1 -1
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/helpers.js +3 -3
- package/lib/components/Banner/helpers.js.map +1 -1
- package/lib/components/Banner/index.js +2 -2
- package/lib/components/Banner/index.js.map +1 -1
- package/lib/components/BlazeLink.js +1 -1
- package/lib/components/BlazeLink.js.map +1 -1
- package/lib/components/Breadcrumb/Breadcrumb.js +1 -1
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/components/Button.js +1 -1
- package/lib/components/Button.js.map +1 -1
- package/lib/components/Card/Card.js +1 -1
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardsContainer.js +1 -1
- package/lib/components/Card/CardsContainer.js.map +1 -1
- package/lib/components/Card/CardsRender.js +1 -1
- package/lib/components/Card/CardsRender.js.map +1 -1
- package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
- package/lib/components/CarouselWrapper/DefaultCarousel.js +1 -1
- package/lib/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
- package/lib/components/ClickWrapper.js +1 -1
- package/lib/components/ClickWrapper.js.map +1 -1
- package/lib/components/Code/Code.js +1 -1
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/Code/ScriptTag.js +1 -1
- package/lib/components/Code/ScriptTag.js.map +1 -1
- package/lib/components/ContentGroup/ContentGroupTabs.js +1 -1
- package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/index.js +6 -6
- package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
- package/lib/components/EmailConfirm/EmailConfirm.js +1 -1
- package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/index.js +2 -2
- package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
- package/lib/components/Image/Image.js +1 -1
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/Image/ImageFactory.js +1 -1
- package/lib/components/Image/ImageFactory.js.map +1 -1
- package/lib/components/Image/Lightbox/Lightbox.js +1 -1
- package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
- package/lib/components/ItemList/ItemListButton/ItemListButton.js +1 -1
- package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
- package/lib/components/ItemList/helpers/set-param-and-redirect.js +1 -0
- package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -1
- package/lib/components/Layout/LayoutFactory.js +2 -2
- package/lib/components/Layout/LayoutFactory.js.map +1 -1
- package/lib/components/Layout/LayoutWithStickyTimer.js +1 -1
- package/lib/components/Layout/LayoutWithStickyTimer.js.map +1 -1
- package/lib/components/LazyImage/index.js +2 -2
- package/lib/components/LazyImage/index.js.map +1 -1
- package/lib/components/List/ListFactory.js +1 -1
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRender.js +1 -1
- package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderWrapper.js +1 -1
- package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js +1 -1
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
- package/lib/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib/components/List/components/Pagination/ListPagination.js +1 -1
- package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
- package/lib/components/List/components/helpers/check-if-should-render-banner.js +0 -1
- package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
- package/lib/components/List/components/helpers/check-if-should-render-gtm.js +0 -1
- package/lib/components/List/components/helpers/check-if-should-render-gtm.js.map +1 -1
- package/lib/components/List/helpers/build-query-booster.js +1 -0
- package/lib/components/List/helpers/build-query-booster.js.map +1 -1
- package/lib/components/Menu/Menu.js +1 -1
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/MenuItem/MenuItemRender.js +1 -1
- package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/ModalAdapter/ModalAdapter.js +1 -1
- package/lib/components/ModalAdapter/ModalAdapter.js.map +1 -1
- package/lib/components/ModalAdapter/index.js +17 -3
- package/lib/components/ModalAdapter/index.js.map +1 -1
- package/lib/components/SearchContent/SearchContent.js +1 -1
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js +1 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +3 -3
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib/components/SearchFilter/components/Select.js.map +1 -1
- package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-range-value.js +9 -7
- package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib/components/Video/VideoModal.js +1 -1
- package/lib/components/Video/VideoModal.js.map +1 -1
- package/lib/components/Video/VideoRender.js +1 -1
- package/lib/components/Video/VideoRender.js.map +1 -1
- package/lib/components/Video/providers/JWPlayer/JWPlayerController.js +1 -2
- package/lib/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -1
- package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js +1 -1
- package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
- package/lib/components/Video/providers/Vimeo/VimeoProvider.js +2 -2
- package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +1 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/lib/components/Video/providers/get-provider.js +6 -6
- package/lib/components/Video/providers/get-provider.js.map +1 -1
- package/lib/components/index.js +31 -31
- package/lib/components/index.js.map +1 -1
- package/lib/helpers/build-raw-query-stringified.js +1 -0
- package/lib/helpers/build-raw-query-stringified.js.map +1 -1
- package/lib/helpers/build-search-values-checkbox-select.js +1 -0
- package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/lib/helpers/get-generic-render-variables.js +1 -0
- package/lib/helpers/get-generic-render-variables.js.map +1 -1
- package/lib/helpers/parse-TextBlock.js +1 -1
- package/lib/helpers/parse-TextBlock.js.map +1 -1
- package/lib/helpers/parse-props-to-display.js +1 -1
- package/lib/helpers/parse-props-to-display.js.map +1 -1
- package/lib/helpers/process-data-summary-value.js +1 -2
- package/lib/helpers/process-data-summary-value.js.map +1 -1
- package/lib/helpers/render-children.js +3 -3
- package/lib/helpers/render-children.js.map +1 -1
- package/lib/hooks/helpers/StoreImages.js +1 -2
- package/lib/hooks/helpers/StoreImages.js.map +1 -1
- package/lib/hooks/helpers/get-lightbox-images.js +6 -6
- package/lib/hooks/helpers/get-lightbox-images.js.map +1 -1
- package/lib/hooks/helpers/inject-textblock-banners.js +1 -1
- package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
- package/lib/hooks/use-page-builder.js +1 -1
- package/lib/hooks/use-page-builder.js.map +1 -1
- package/lib/hooks/use-portal.js +1 -1
- package/lib/hooks/use-portal.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/variants/HeroImage/index.js.map +1 -1
- package/lib/variants/Infographic/index.js +2 -2
- package/lib/variants/Infographic/index.js.map +1 -1
- package/lib/variants/LongformGallery/LongformGalleryImage.js.map +1 -1
- package/lib/variants/LongformGallery/index.js +2 -2
- package/lib/variants/LongformGallery/index.js.map +1 -1
- package/lib/variants/LongformRow/index.js.map +1 -1
- package/lib/variants/ParallaxImageTextRight/index.js.map +1 -1
- package/lib/variants/SlideSummary/index.js +2 -2
- package/lib/variants/SlideSummary/index.js.map +1 -1
- package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
- package/lib/variants/ThumbnailCarousel/index.js +2 -2
- package/lib/variants/ThumbnailCarousel/index.js.map +1 -1
- package/lib-es/HOC/recreateOnNavigation.js.map +1 -1
- package/lib-es/HOC/withTitle.js.map +1 -1
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
- package/lib-es/components/Banner/Banner.js.map +1 -1
- package/lib-es/components/Banner/BannerRender.js.map +1 -1
- package/lib-es/components/Banner/helpers.js.map +1 -1
- package/lib-es/components/Banner/index.js +1 -1
- package/lib-es/components/Banner/index.js.map +1 -1
- package/lib-es/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/CardsFactory.js.map +1 -1
- package/lib-es/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
- package/lib-es/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
- package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
- package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
- package/lib-es/components/ContentGroup/helpers/get-active-tab.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/index.js +5 -5
- package/lib-es/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/get-prop-value.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
- package/lib-es/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib-es/components/EmailConfirm/mutation.js.map +1 -1
- package/lib-es/components/Iframe/Iframe.js.map +1 -1
- package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/lib-es/components/Image/GlobalLightbox/NavButton.js.map +1 -1
- package/lib-es/components/Image/GlobalLightbox/index.js +1 -1
- package/lib-es/components/Image/GlobalLightbox/index.js.map +1 -1
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
- package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -1
- package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -1
- package/lib-es/components/Layout/Layout.js.map +1 -1
- package/lib-es/components/Layout/LayoutFactory.js +1 -1
- package/lib-es/components/Layout/LayoutFactory.js.map +1 -1
- package/lib-es/components/Layout/helpers/get-styles-to-update.js.map +1 -1
- package/lib-es/components/LazyImage/index.js +1 -1
- package/lib-es/components/LazyImage/index.js.map +1 -1
- package/lib-es/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib-es/components/List/components/Pagination/Classic.js.map +1 -1
- package/lib-es/components/List/helpers/build-az-url.js.map +1 -1
- package/lib-es/components/List/helpers/build-pagination-items.js.map +1 -1
- package/lib-es/components/List/helpers/build-pagination-url.js.map +1 -1
- package/lib-es/components/List/helpers/get-az-query-filter.js.map +1 -1
- package/lib-es/components/List/helpers/get-list-query.js.map +1 -1
- package/lib-es/components/Loading/Loading.js.map +1 -1
- package/lib-es/components/Menu/Menu.js.map +1 -1
- package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -1
- package/lib-es/components/ModalAdapter/ModalAdapter.js +1 -1
- package/lib-es/components/ModalAdapter/ModalAdapter.js.map +1 -1
- package/lib-es/components/ModalAdapter/index.js +2 -2
- package/lib-es/components/ModalAdapter/index.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +2 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
- package/lib-es/components/SearchFilter/constants.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-list-name-query.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-range-value.js +9 -7
- package/lib-es/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
- package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib-es/components/SocialFollow/SFItem.js.map +1 -1
- package/lib-es/components/Video/Video.js.map +1 -1
- package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
- package/lib-es/components/Video/providers/Vimeo/helpers/add-extra-params-to-url.js.map +1 -1
- package/lib-es/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
- package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/lib-es/components/Video/providers/YouTube/helpers/index.js.map +1 -1
- package/lib-es/components/Video/providers/get-provider.js +5 -5
- package/lib-es/components/Video/providers/get-provider.js.map +1 -1
- package/lib-es/components/Wrapper.js.map +1 -1
- package/lib-es/components/index.js +30 -30
- package/lib-es/components/index.js.map +1 -1
- package/lib-es/constants/componentsDefaultValues.js.map +1 -1
- package/lib-es/constants/index.js.map +1 -1
- package/lib-es/helpers/build-az-filter.js.map +1 -1
- package/lib-es/helpers/build-filters-query.js.map +1 -1
- package/lib-es/helpers/build-inherited-filters.js.map +1 -1
- package/lib-es/helpers/build-props-query.js.map +1 -1
- package/lib-es/helpers/build-query-fields.js.map +1 -1
- package/lib-es/helpers/build-query-key.js.map +1 -1
- package/lib-es/helpers/build-raw-query-base.js.map +1 -1
- package/lib-es/helpers/build-raw-query-stringified.js.map +1 -1
- package/lib-es/helpers/build-search-values-checkbox-select.js +1 -0
- package/lib-es/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/lib-es/helpers/build-sort-values.js.map +1 -1
- package/lib-es/helpers/get-display-count-data.js.map +1 -1
- package/lib-es/helpers/get-entity-data.js.map +1 -1
- package/lib-es/helpers/get-extra-az-bits.js.map +1 -1
- package/lib-es/helpers/get-inherited-filters.js.map +1 -1
- package/lib-es/helpers/get-modifiers.js.map +1 -1
- package/lib-es/helpers/get-pagination-index.js.map +1 -1
- package/lib-es/helpers/get-query-props.js.map +1 -1
- package/lib-es/helpers/get-sort-by-field-name.js.map +1 -1
- package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
- package/lib-es/helpers/is-filter-entitys-id.js.map +1 -1
- package/lib-es/helpers/process-data-summary-value.js +1 -1
- package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
- package/lib-es/hooks/helpers/buildPBComponents.js.map +1 -1
- package/lib-es/hooks/helpers/inject-textblock-banners.js +1 -1
- package/lib-es/hooks/helpers/inject-textblock-banners.js.map +1 -1
- package/lib-es/hooks/helpers/insert-banners.js.map +1 -1
- package/lib-es/hooks/helpers/update-targetings.js.map +1 -1
- package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -1
- package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib-es/index.js +1 -0
- package/lib-es/index.js.map +1 -1
- package/lib-es/utils/component-map.js.map +1 -1
- package/lib-es/utils/get-class-modifiers.js.map +1 -1
- package/lib-es/utils/variant-handler.js.map +1 -1
- package/lib-es/variants/Infographic/index.js +1 -1
- package/lib-es/variants/Infographic/index.js.map +1 -1
- package/lib-es/variants/Infographic/useInfographic.js.map +1 -1
- package/lib-es/variants/LongformGallery/LongformGalleryImage.js.map +1 -1
- package/lib-es/variants/LongformGallery/constants.js.map +1 -1
- package/lib-es/variants/LongformGallery/index.js +1 -1
- package/lib-es/variants/LongformGallery/index.js.map +1 -1
- package/lib-es/variants/SlideSummary/index.js +1 -1
- package/lib-es/variants/SlideSummary/index.js.map +1 -1
- package/lib-es/variants/ThumbnailCarousel/index.js +1 -1
- package/lib-es/variants/ThumbnailCarousel/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/ModalAdapter/index.js +4 -2
- package/src/components/SearchFilter/SearchFilterContainer.js +3 -1
- package/src/components/SearchFilter/helpers/get-range-value.js +10 -8
- package/src/helpers/build-search-values-checkbox-select.js +1 -0
- package/src/index.js +1 -0
- package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +1 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-az-url.js","names":["stringify","isObjectEmpty","PB_QUERY_CONST","AZ_QUERY_CONST","PAGINATION_QUERY_CONST","buildNewQuery","query","name","key","blankQuery","_objectSpread","toLowerCase","buildAzUrl","url","newQuery","queryString"],"sources":["../../../../src/components/List/helpers/build-az-url.js"],"sourcesContent":["import { stringify } from 'query-string';\nimport { isObjectEmpty } from '../../../utils';\nimport { PB_QUERY_CONST, AZ_QUERY_CONST, PAGINATION_QUERY_CONST } from '../../../constants';\n\nconst buildNewQuery = (query, name, key) => {\n if (!key) {\n const blankQuery = {\n ...query\n };\n if (blankQuery[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`])\n delete blankQuery[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`];\n if (blankQuery[`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`])\n delete blankQuery[`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`];\n if (isObjectEmpty(blankQuery)) return '';\n\n return blankQuery;\n }\n\n return {\n ...query,\n [`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`]: key.toLowerCase(),\n [`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`]: 1\n };\n};\nconst buildAzUrl = (query, name, key, url) => {\n const newQuery = buildNewQuery(query, name, key);\n const queryString = stringify(newQuery);\n\n return queryString ? `${url}?${queryString}` : url;\n};\n\nexport default buildAzUrl;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,cAAc,EAAEC,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAE3F,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,IAAI,EAAEC,GAAG,KAAK;EAC1C,IAAI,CAACA,GAAG,EAAE;IACR,MAAMC,UAAU,GAAAC,aAAA,KACXJ,KAAK,CACT;IACD,IAAIG,UAAU,
|
|
1
|
+
{"version":3,"file":"build-az-url.js","names":["stringify","isObjectEmpty","PB_QUERY_CONST","AZ_QUERY_CONST","PAGINATION_QUERY_CONST","buildNewQuery","query","name","key","blankQuery","_objectSpread","toLowerCase","buildAzUrl","url","newQuery","queryString"],"sources":["../../../../src/components/List/helpers/build-az-url.js"],"sourcesContent":["import { stringify } from 'query-string';\nimport { isObjectEmpty } from '../../../utils';\nimport { PB_QUERY_CONST, AZ_QUERY_CONST, PAGINATION_QUERY_CONST } from '../../../constants';\n\nconst buildNewQuery = (query, name, key) => {\n if (!key) {\n const blankQuery = {\n ...query\n };\n if (blankQuery[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`])\n delete blankQuery[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`];\n if (blankQuery[`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`])\n delete blankQuery[`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`];\n if (isObjectEmpty(blankQuery)) return '';\n\n return blankQuery;\n }\n\n return {\n ...query,\n [`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`]: key.toLowerCase(),\n [`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`]: 1\n };\n};\nconst buildAzUrl = (query, name, key, url) => {\n const newQuery = buildNewQuery(query, name, key);\n const queryString = stringify(newQuery);\n\n return queryString ? `${url}?${queryString}` : url;\n};\n\nexport default buildAzUrl;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,cAAc,EAAEC,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAE3F,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,IAAI,EAAEC,GAAG,KAAK;EAC1C,IAAI,CAACA,GAAG,EAAE;IACR,MAAMC,UAAU,GAAAC,aAAA,KACXJ,KAAK,CACT;IACD,IAAIG,UAAU,CAAC,GAAGP,cAAc,IAAIK,IAAI,IAAIJ,cAAc,EAAE,CAAC,EAC3D,OAAOM,UAAU,CAAC,GAAGP,cAAc,IAAIK,IAAI,IAAIJ,cAAc,EAAE,CAAC;IAClE,IAAIM,UAAU,CAAC,GAAGP,cAAc,IAAIK,IAAI,IAAIH,sBAAsB,EAAE,CAAC,EACnE,OAAOK,UAAU,CAAC,GAAGP,cAAc,IAAIK,IAAI,IAAIH,sBAAsB,EAAE,CAAC;IAC1E,IAAIH,aAAa,CAACQ,UAAU,CAAC,EAAE,OAAO,EAAE;IAExC,OAAOA,UAAU;EACnB;EAEA,OAAAC,aAAA,CAAAA,aAAA,KACKJ,KAAK;IACR,CAAC,GAAGJ,cAAc,IAAIK,IAAI,IAAIJ,cAAc,EAAE,GAAGK,GAAG,CAACG,WAAW,CAAC,CAAC;IAClE,CAAC,GAAGT,cAAc,IAAIK,IAAI,IAAIH,sBAAsB,EAAE,GAAG;EAAC;AAE9D,CAAC;AACD,MAAMQ,UAAU,GAAGA,CAACN,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEK,GAAG,KAAK;EAC5C,MAAMC,QAAQ,GAAGT,aAAa,CAACC,KAAK,EAAEC,IAAI,EAAEC,GAAG,CAAC;EAChD,MAAMO,WAAW,GAAGf,SAAS,CAACc,QAAQ,CAAC;EAEvC,OAAOC,WAAW,GAAG,GAAGF,GAAG,IAAIE,WAAW,EAAE,GAAGF,GAAG;AACpD,CAAC;AAED,eAAeD,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-pagination-items.js","names":["React","BlazeLink","buildPaginationUrl","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","buildPaginationItems","name","numberOfPages","currentPage","query","url","onClick","pages","paginationDifference","index","page","length","href","pageHtml","createElement","key","className","shallow","scroll","ariaLabel","push"],"sources":["../../../../src/components/List/helpers/build-pagination-items.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../../BlazeLink';\nimport buildPaginationUrl from './build-pagination-url';\nimport { PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE } from '../../../constants';\n\nconst buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, onClick }) => {\n const pages = [];\n const paginationDifference =\n currentPage > PAGINATION_DIFFERENCE ? currentPage - PAGINATION_DIFFERENCE : 0;\n\n if (numberOfPages <= 1) return null;\n\n for (let index = 0; index < numberOfPages; index += 1) {\n const page = index + 1 + paginationDifference;\n if (pages.length < PAGINATION_DISPLAY_LIMIT && page <= numberOfPages) {\n const href = buildPaginationUrl(name, page, query, url);\n const pageHtml =\n page === currentPage ? (\n <span key={page} className=\"pagination_page-item--current\">\n {page}\n </span>\n ) : (\n <BlazeLink\n key={page}\n href={href}\n className=\"pagination_page-item\"\n onClick={onClick}\n shallow\n scroll\n ariaLabel={`Page ${page}`}>\n {page}\n </BlazeLink>\n );\n pages.push(pageHtml);\n }\n }\n\n return pages;\n};\n\nexport default buildPaginationItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,wBAAwB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAEpF,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC;AAAQ,CAAC,KAAK;EAC1F,MAAMC,KAAK,GAAG,EAAE;EAChB,MAAMC,oBAAoB,GACxBL,WAAW,GAAGJ,qBAAqB,GAAGI,WAAW,GAAGJ,qBAAqB,GAAG,CAAC;EAE/E,IAAIG,aAAa,IAAI,CAAC,EAAE,OAAO,IAAI;EAEnC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,aAAa,EAAEO,KAAK,IAAI,CAAC,EAAE;IACrD,MAAMC,IAAI,GAAGD,KAAK,GAAG,CAAC,GAAGD,oBAAoB;IAC7C,IAAID,KAAK,CAACI,MAAM,GAAGb,wBAAwB,IAAIY,IAAI,IAAIR,aAAa,EAAE;MACpE,MAAMU,IAAI,GAAGf,kBAAkB,CAACI,IAAI,EAAES,IAAI,EAAEN,KAAK,EAAEC,GAAG,CAAC;MACvD,MAAMQ,QAAQ,GACZH,IAAI,KAAKP,WAAW,gBAClBR,KAAA,CAAAmB,aAAA;QAAMC,GAAG,EAAEL,IAAK;QAACM,SAAS,EAAC;MAA+B,GACvDN,IACG,CAAC,gBAEPf,KAAA,CAAAmB,aAAA,CAAClB,SAAS;QACRmB,GAAG,EAAEL,IAAK;QACVE,IAAI,EAAEA,IAAK;QACXI,SAAS,EAAC,sBAAsB;QAChCV,OAAO,EAAEA,OAAQ;QACjBW,OAAO;QACPC,MAAM;QACNC,SAAS,
|
|
1
|
+
{"version":3,"file":"build-pagination-items.js","names":["React","BlazeLink","buildPaginationUrl","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","buildPaginationItems","name","numberOfPages","currentPage","query","url","onClick","pages","paginationDifference","index","page","length","href","pageHtml","createElement","key","className","shallow","scroll","ariaLabel","push"],"sources":["../../../../src/components/List/helpers/build-pagination-items.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../../BlazeLink';\nimport buildPaginationUrl from './build-pagination-url';\nimport { PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE } from '../../../constants';\n\nconst buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, onClick }) => {\n const pages = [];\n const paginationDifference =\n currentPage > PAGINATION_DIFFERENCE ? currentPage - PAGINATION_DIFFERENCE : 0;\n\n if (numberOfPages <= 1) return null;\n\n for (let index = 0; index < numberOfPages; index += 1) {\n const page = index + 1 + paginationDifference;\n if (pages.length < PAGINATION_DISPLAY_LIMIT && page <= numberOfPages) {\n const href = buildPaginationUrl(name, page, query, url);\n const pageHtml =\n page === currentPage ? (\n <span key={page} className=\"pagination_page-item--current\">\n {page}\n </span>\n ) : (\n <BlazeLink\n key={page}\n href={href}\n className=\"pagination_page-item\"\n onClick={onClick}\n shallow\n scroll\n ariaLabel={`Page ${page}`}>\n {page}\n </BlazeLink>\n );\n pages.push(pageHtml);\n }\n }\n\n return pages;\n};\n\nexport default buildPaginationItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,wBAAwB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAEpF,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC;AAAQ,CAAC,KAAK;EAC1F,MAAMC,KAAK,GAAG,EAAE;EAChB,MAAMC,oBAAoB,GACxBL,WAAW,GAAGJ,qBAAqB,GAAGI,WAAW,GAAGJ,qBAAqB,GAAG,CAAC;EAE/E,IAAIG,aAAa,IAAI,CAAC,EAAE,OAAO,IAAI;EAEnC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,aAAa,EAAEO,KAAK,IAAI,CAAC,EAAE;IACrD,MAAMC,IAAI,GAAGD,KAAK,GAAG,CAAC,GAAGD,oBAAoB;IAC7C,IAAID,KAAK,CAACI,MAAM,GAAGb,wBAAwB,IAAIY,IAAI,IAAIR,aAAa,EAAE;MACpE,MAAMU,IAAI,GAAGf,kBAAkB,CAACI,IAAI,EAAES,IAAI,EAAEN,KAAK,EAAEC,GAAG,CAAC;MACvD,MAAMQ,QAAQ,GACZH,IAAI,KAAKP,WAAW,gBAClBR,KAAA,CAAAmB,aAAA;QAAMC,GAAG,EAAEL,IAAK;QAACM,SAAS,EAAC;MAA+B,GACvDN,IACG,CAAC,gBAEPf,KAAA,CAAAmB,aAAA,CAAClB,SAAS;QACRmB,GAAG,EAAEL,IAAK;QACVE,IAAI,EAAEA,IAAK;QACXI,SAAS,EAAC,sBAAsB;QAChCV,OAAO,EAAEA,OAAQ;QACjBW,OAAO;QACPC,MAAM;QACNC,SAAS,EAAE,QAAQT,IAAI;MAAG,GACzBA,IACQ,CACZ;MACHH,KAAK,CAACa,IAAI,CAACP,QAAQ,CAAC;IACtB;EACF;EAEA,OAAON,KAAK;AACd,CAAC;AAED,eAAeP,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-pagination-url.js","names":["stringify","PB_QUERY_CONST","PAGINATION_QUERY_CONST","buildPaginationUrl","name","page","query","url","newQuery","_objectSpread","stringQuery"],"sources":["../../../../src/components/List/helpers/build-pagination-url.js"],"sourcesContent":["import { stringify } from 'query-string';\nimport { PB_QUERY_CONST, PAGINATION_QUERY_CONST } from '../../../constants';\n\nconst buildPaginationUrl = (name, page, query, url) => {\n const newQuery = { ...query, [`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`]: page };\n const stringQuery = stringify(newQuery);\n return `${url}?${stringQuery}`;\n};\n\nexport default buildPaginationUrl;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAE3E,MAAMC,kBAAkB,GAAGA,CAACC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,KAAK;EACrD,MAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KAAQH,KAAK;IAAE,
|
|
1
|
+
{"version":3,"file":"build-pagination-url.js","names":["stringify","PB_QUERY_CONST","PAGINATION_QUERY_CONST","buildPaginationUrl","name","page","query","url","newQuery","_objectSpread","stringQuery"],"sources":["../../../../src/components/List/helpers/build-pagination-url.js"],"sourcesContent":["import { stringify } from 'query-string';\nimport { PB_QUERY_CONST, PAGINATION_QUERY_CONST } from '../../../constants';\n\nconst buildPaginationUrl = (name, page, query, url) => {\n const newQuery = { ...query, [`${PB_QUERY_CONST}[${name}]${PAGINATION_QUERY_CONST}`]: page };\n const stringQuery = stringify(newQuery);\n return `${url}?${stringQuery}`;\n};\n\nexport default buildPaginationUrl;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAE3E,MAAMC,kBAAkB,GAAGA,CAACC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,KAAK;EACrD,MAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KAAQH,KAAK;IAAE,CAAC,GAAGL,cAAc,IAAIG,IAAI,IAAIF,sBAAsB,EAAE,GAAGG;EAAI,EAAE;EAC5F,MAAMK,WAAW,GAAGV,SAAS,CAACQ,QAAQ,CAAC;EACvC,OAAO,GAAGD,GAAG,IAAIG,WAAW,EAAE;AAChC,CAAC;AAED,eAAeP,kBAAkB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-az-query-filter.js","names":["AZ_QUERY_CONST","PB_QUERY_CONST","getAzQueryFilter","query","name"],"sources":["../../../../src/components/List/helpers/get-az-query-filter.js"],"sourcesContent":["import { AZ_QUERY_CONST, PB_QUERY_CONST } from '../../../constants';\n\nconst getAzQueryFilter = (query, name) => {\n if (!query || !name) return null;\n return query[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`];\n};\n\nexport default getAzQueryFilter;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,cAAc,QAAQ,oBAAoB;AAEnE,MAAMC,gBAAgB,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACxC,IAAI,CAACD,KAAK,IAAI,CAACC,IAAI,EAAE,OAAO,IAAI;EAChC,OAAOD,KAAK,
|
|
1
|
+
{"version":3,"file":"get-az-query-filter.js","names":["AZ_QUERY_CONST","PB_QUERY_CONST","getAzQueryFilter","query","name"],"sources":["../../../../src/components/List/helpers/get-az-query-filter.js"],"sourcesContent":["import { AZ_QUERY_CONST, PB_QUERY_CONST } from '../../../constants';\n\nconst getAzQueryFilter = (query, name) => {\n if (!query || !name) return null;\n return query[`${PB_QUERY_CONST}[${name}]${AZ_QUERY_CONST}`];\n};\n\nexport default getAzQueryFilter;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,cAAc,QAAQ,oBAAoB;AAEnE,MAAMC,gBAAgB,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACxC,IAAI,CAACD,KAAK,IAAI,CAACC,IAAI,EAAE,OAAO,IAAI;EAChC,OAAOD,KAAK,CAAC,GAAGF,cAAc,IAAIG,IAAI,IAAIJ,cAAc,EAAE,CAAC;AAC7D,CAAC;AAED,eAAeE,gBAAgB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-list-query.js","names":["AZ_QUERY_CONST","PB_QUERY_CONST","stripQueryKey","getListQuery","query","hasListSpecificFilters","name","updatedQuery","listKey","paginationKey","azFilterKey","sortKey","sortByKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","sort","sortby"],"sources":["../../../../src/components/List/helpers/get-list-query.js"],"sourcesContent":["import { AZ_QUERY_CONST, PB_QUERY_CONST } from '../../../constants';\nimport stripQueryKey from './strip-query-key';\n\nconst getListQuery = (query, hasListSpecificFilters, name) => {\n const updatedQuery = {};\n const listKey = `${PB_QUERY_CONST}[${name}]`;\n const paginationKey = `${listKey}[page]`;\n const azFilterKey = `${listKey}${AZ_QUERY_CONST}`;\n const sortKey = `${listKey}[sort]`;\n const sortByKey = `${listKey}[sortby]`;\n\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listKey}`) !== -1;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n if (hasListSpecificFilters) {\n const strippedKey = stripQueryKey(queryKey, listKey, paginationKey);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n } else {\n if (queryKey.indexOf(`${PB_QUERY_CONST}[`) === -1) updatedQuery[queryKey] = decodedQueryValue;\n if (queryKey.indexOf(paginationKey) !== -1) updatedQuery[queryKey] = decodedQueryValue;\n if (queryKey.indexOf(azFilterKey) !== -1) updatedQuery[queryKey] = decodedQueryValue;\n }\n });\n updatedQuery.sort = query[sortKey] || query.sort;\n updatedQuery.sortby = query[sortByKey] || query.sortby;\n return updatedQuery;\n};\n\nexport default getListQuery;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,cAAc,QAAQ,oBAAoB;AACnE,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,MAAMC,YAAY,GAAGA,CAACC,KAAK,EAAEC,sBAAsB,EAAEC,IAAI,KAAK;EAC5D,MAAMC,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,OAAO,
|
|
1
|
+
{"version":3,"file":"get-list-query.js","names":["AZ_QUERY_CONST","PB_QUERY_CONST","stripQueryKey","getListQuery","query","hasListSpecificFilters","name","updatedQuery","listKey","paginationKey","azFilterKey","sortKey","sortByKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","sort","sortby"],"sources":["../../../../src/components/List/helpers/get-list-query.js"],"sourcesContent":["import { AZ_QUERY_CONST, PB_QUERY_CONST } from '../../../constants';\nimport stripQueryKey from './strip-query-key';\n\nconst getListQuery = (query, hasListSpecificFilters, name) => {\n const updatedQuery = {};\n const listKey = `${PB_QUERY_CONST}[${name}]`;\n const paginationKey = `${listKey}[page]`;\n const azFilterKey = `${listKey}${AZ_QUERY_CONST}`;\n const sortKey = `${listKey}[sort]`;\n const sortByKey = `${listKey}[sortby]`;\n\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listKey}`) !== -1;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n if (hasListSpecificFilters) {\n const strippedKey = stripQueryKey(queryKey, listKey, paginationKey);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n } else {\n if (queryKey.indexOf(`${PB_QUERY_CONST}[`) === -1) updatedQuery[queryKey] = decodedQueryValue;\n if (queryKey.indexOf(paginationKey) !== -1) updatedQuery[queryKey] = decodedQueryValue;\n if (queryKey.indexOf(azFilterKey) !== -1) updatedQuery[queryKey] = decodedQueryValue;\n }\n });\n updatedQuery.sort = query[sortKey] || query.sort;\n updatedQuery.sortby = query[sortByKey] || query.sortby;\n return updatedQuery;\n};\n\nexport default getListQuery;\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,cAAc,QAAQ,oBAAoB;AACnE,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,MAAMC,YAAY,GAAGA,CAACC,KAAK,EAAEC,sBAAsB,EAAEC,IAAI,KAAK;EAC5D,MAAMC,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,OAAO,GAAG,GAAGP,cAAc,IAAIK,IAAI,GAAG;EAC5C,MAAMG,aAAa,GAAG,GAAGD,OAAO,QAAQ;EACxC,MAAME,WAAW,GAAG,GAAGF,OAAO,GAAGR,cAAc,EAAE;EACjD,MAAMW,OAAO,GAAG,GAAGH,OAAO,QAAQ;EAClC,MAAMI,SAAS,GAAG,GAAGJ,OAAO,UAAU;EAEtCK,MAAM,CAACC,IAAI,CAACV,KAAK,CAAC,CAACW,OAAO,CAACC,QAAQ,IAAI;IACrC,MAAMC,SAAS,GAAGD,QAAQ,CAACE,OAAO,CAAC,GAAGV,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACvD,MAAMW,iBAAiB,GAAGC,KAAK,CAACC,OAAO,CAACjB,KAAK,CAACY,QAAQ,CAAC,CAAC,GACpDZ,KAAK,CAACY,QAAQ,CAAC,CAACM,GAAG,CAACC,KAAK,IAAIC,kBAAkB,CAACD,KAAK,CAAC,CAAC,GACvDC,kBAAkB,CAACpB,KAAK,CAACY,QAAQ,CAAC,CAAC;IACvC,IAAIX,sBAAsB,EAAE;MAC1B,MAAMoB,WAAW,GAAGvB,aAAa,CAACc,QAAQ,EAAER,OAAO,EAAEC,aAAa,CAAC;MACnE,IAAIQ,SAAS,EAAEV,YAAY,CAACkB,WAAW,CAAC,GAAGN,iBAAiB;IAC9D,CAAC,MAAM;MACL,IAAIH,QAAQ,CAACE,OAAO,CAAC,GAAGjB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC,EAAEM,YAAY,CAACS,QAAQ,CAAC,GAAGG,iBAAiB;MAC7F,IAAIH,QAAQ,CAACE,OAAO,CAACT,aAAa,CAAC,KAAK,CAAC,CAAC,EAAEF,YAAY,CAACS,QAAQ,CAAC,GAAGG,iBAAiB;MACtF,IAAIH,QAAQ,CAACE,OAAO,CAACR,WAAW,CAAC,KAAK,CAAC,CAAC,EAAEH,YAAY,CAACS,QAAQ,CAAC,GAAGG,iBAAiB;IACtF;EACF,CAAC,CAAC;EACFZ,YAAY,CAACmB,IAAI,GAAGtB,KAAK,CAACO,OAAO,CAAC,IAAIP,KAAK,CAACsB,IAAI;EAChDnB,YAAY,CAACoB,MAAM,GAAGvB,KAAK,CAACQ,SAAS,CAAC,IAAIR,KAAK,CAACuB,MAAM;EACtD,OAAOpB,YAAY;AACrB,CAAC;AAED,eAAeJ,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","names":["React","PropTypes","DOTS_TYPE","LOADING_CLASSNAME","SPINNER_TYPE","getLoaderType","Loading","type","loaderType","CLASSNAME","createElement","className","Fragment","propTypes","string","defaultProps"],"sources":["../../../src/components/Loading/Loading.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DOTS_TYPE, LOADING_CLASSNAME, SPINNER_TYPE } from './constants';\nimport { getLoaderType } from './helpers';\n\nconst Loading = ({ type }) => {\n const loaderType = getLoaderType(type);\n const CLASSNAME = `${LOADING_CLASSNAME}__${loaderType}`;\n\n return (\n <div className={CLASSNAME}>\n {loaderType === DOTS_TYPE && (\n <>\n <div className={`${CLASSNAME}__dot`} />\n <div className={`${CLASSNAME}__dot`} />\n <div className={`${CLASSNAME}__dot`} />\n </>\n )}\n </div>\n );\n};\n\nLoading.propTypes = {\n type: PropTypes.string\n};\n\nLoading.defaultProps = {\n type: SPINNER_TYPE\n};\n\nexport default Loading;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,EAAEC,iBAAiB,EAAEC,YAAY,QAAQ,aAAa;AACxE,SAASC,aAAa,QAAQ,WAAW;AAEzC,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC5B,MAAMC,UAAU,GAAGH,aAAa,CAACE,IAAI,CAAC;EACtC,MAAME,SAAS,
|
|
1
|
+
{"version":3,"file":"Loading.js","names":["React","PropTypes","DOTS_TYPE","LOADING_CLASSNAME","SPINNER_TYPE","getLoaderType","Loading","type","loaderType","CLASSNAME","createElement","className","Fragment","propTypes","string","defaultProps"],"sources":["../../../src/components/Loading/Loading.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DOTS_TYPE, LOADING_CLASSNAME, SPINNER_TYPE } from './constants';\nimport { getLoaderType } from './helpers';\n\nconst Loading = ({ type }) => {\n const loaderType = getLoaderType(type);\n const CLASSNAME = `${LOADING_CLASSNAME}__${loaderType}`;\n\n return (\n <div className={CLASSNAME}>\n {loaderType === DOTS_TYPE && (\n <>\n <div className={`${CLASSNAME}__dot`} />\n <div className={`${CLASSNAME}__dot`} />\n <div className={`${CLASSNAME}__dot`} />\n </>\n )}\n </div>\n );\n};\n\nLoading.propTypes = {\n type: PropTypes.string\n};\n\nLoading.defaultProps = {\n type: SPINNER_TYPE\n};\n\nexport default Loading;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,EAAEC,iBAAiB,EAAEC,YAAY,QAAQ,aAAa;AACxE,SAASC,aAAa,QAAQ,WAAW;AAEzC,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC5B,MAAMC,UAAU,GAAGH,aAAa,CAACE,IAAI,CAAC;EACtC,MAAME,SAAS,GAAG,GAAGN,iBAAiB,KAAKK,UAAU,EAAE;EAEvD,oBACER,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEF;EAAU,GACvBD,UAAU,KAAKN,SAAS,iBACvBF,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAE,GAAGF,SAAS;EAAQ,CAAE,CAAC,eACvCT,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAE,GAAGF,SAAS;EAAQ,CAAE,CAAC,eACvCT,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAE,GAAGF,SAAS;EAAQ,CAAE,CACtC,CAED,CAAC;AAEV,CAAC;AAEDH,OAAO,CAACO,SAAS,GAAG;EAClBN,IAAI,EAAEN,SAAS,CAACa;AAClB,CAAC;AAEDR,OAAO,CAACS,YAAY,GAAG;EACrBR,IAAI,EAAEH;AACR,CAAC;AAED,eAAeE,OAAO","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","BlazeLink","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","label","href","name","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,EAAEC,OAAO,QAAQ,gBAAgB;AAChD,SAASC,IAAI,QAAQ,8BAA8B;AACnD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,IAAI,GAAGA,CAAC;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,kBAAkB;EAClBC,0BAA0B;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBC,qBAAqB;EACrBC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,oBAAoB;EACpBC,qBAAqB;EACrBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACuB,cAAc,EAAEC,iBAAiB,CAAC,GAAG7B,QAAQ,CAAC,KAAK,CAAC;EAE3DC,SAAS,CACP,MAAM;IACJ,MAAM6B,iBAAiB,GAAGA,CAAA,KAAMD,iBAAiB,CAAC,KAAK,CAAC;IACxDF,MAAM,CAACI,MAAM,CAACC,EAAE,CAAC,kBAAkB,EAAEF,iBAAiB,CAAC;IAEvD,OAAO,MAAM;MACXH,MAAM,CAACI,MAAM,CAACE,GAAG,CAAC,kBAAkB,EAAEH,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EACD,CAACH,MAAM,CAACI,MAAM,CAChB,CAAC;EAED,MAAMG,qBAAqB,GAAGrB,QAAQ,GAAGe,cAAc,GAAG,IAAI;EAE9D,MAAMO,cAAc,GAAG/B,UAAU,CAAC;IAChC,CAACY,0BAA0B,GAAGkB,qBAAqB;IACnD,CAACpB,QAAQ,GAAG,CAACc;EACf,CAAC,CAAC;EAEF,MAAMQ,oBAAoB,GAAGR,cAAc,
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","BlazeLink","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","label","href","name","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","MenuItemRender","children","eventType","text","modifier","url","parent","displayChildren","setDisplayChildren","showMobileMenu","loading","loadingText","data","textToUse","loadingUrl","urlToUse","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n if (loadingUrl || loadingText) return '';\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC9D,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,aAAa,EAAEC,WAAW,QAAQ,gBAAgB;AAC3D,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,KAAK,EAAEC,WAAW,EAAEC,WAAW,EAAEC,MAAM,QAAQ,iBAAiB;AACzE,SAASC,WAAW,QAAQ,eAAe;AAC3C,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,SAASC,wBAAwB,QAAQ,WAAW;AAEpD,MAAMC,cAAc,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,GAAG;EAAEC;AAAO,CAAC,KAAK;EAC/E,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGvB,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM;IAAEwB;EAAe,CAAC,GAAGvB,UAAU,CAACY,WAAW,CAAC;EAClD,MAAM;IACJY,OAAO,EAAEC,WAAW;IACpBC,IAAI,EAAE,CAACC,SAAS;EAClB,CAAC,GAAGtB,iBAAiB,CAACe,MAAM,EAAE,CAACH,IAAI,CAAC,CAAC;EAErC,MAAM;IACJO,OAAO,EAAEI,UAAU;IACnBF,IAAI,EAAE,CAACG,QAAQ;EACjB,CAAC,GAAGxB,iBAAiB,CAACe,MAAM,EAAE,CAACP,wBAAwB,CAACM,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;EAE5ElB,SAAS,CACP,MAAM;IACJ,IAAI,CAACsB,cAAc,EAAED,kBAAkB,CAAC,KAAK,CAAC;EAChD,CAAC,EACD,CAACC,cAAc,CACjB,CAAC;EAED,IAAIK,UAAU,IAAIH,WAAW,EAAE,OAAO,EAAE;EAExC,MAAMK,YAAY,GAAGd,SAAS,KAAKV,KAAK;EACxC,MAAMyB,oBAAoB,GAAGV,eAAe,GAAG,EAAE,GAAGZ,MAAM;EAE1D,MAAMuB,eAAe,GAAGA,CAAC;IAAEC;EAAK,CAAC,KAAK;IACpC,IAAIH,YAAY,EAAE;MAChB,IAAIG,IAAI,KAAK1B,WAAW,EAAE;QACxBe,kBAAkB,CAAC,IAAI,CAAC;MAC1B;MACA,IAAIW,IAAI,KAAKzB,WAAW,EAAE;QACxBc,kBAAkB,CAAC,KAAK,CAAC;MAC3B;IACF;EACF,CAAC;EACD,MAAMY,gBAAgB,GAAGxB,WAAW,CAACK,QAAQ,CAAC;EAE9C,oBACEjB,KAAA,CAAAqC,aAAA;IAAIC,SAAS,EAAElB,QAAS;IAACmB,YAAY,EAAEL,eAAgB;IAACM,YAAY,EAAEN;EAAgB,gBACpFlC,KAAA,CAAAqC,aAAA;IAAKC,SAAS,EAAC;EAAkB,GAC9BP,QAAQ,gBACP/B,KAAA,CAAAqC,aAAA,CAACxB,SAAS;IAAC4B,IAAI,EAAEV;EAAS,GAAEF,SAAqB,CAAC,gBAElD7B,KAAA,CAAAqC,aAAA;IAAMK,IAAI,EAAC,QAAQ;IAACC,OAAO,EAAET;EAAgB,GAC1CL,SACG,CACP,EACAO,gBAAgB,iBACfpC,KAAA,CAAAqC,aAAA;IACEK,IAAI,EAAC,QAAQ;IACbJ,SAAS,EAAC,wBAAwB;IAClCK,OAAO,EAAEA,CAAA,KAAMnB,kBAAkB,CAAC,CAACD,eAAe;EAAE,GACnDA,eAAe,gBAAGvB,KAAA,CAAAqC,aAAA,CAAC/B,WAAW,MAAE,CAAC,gBAAGN,KAAA,CAAAqC,aAAA,CAAChC,aAAa,MAAE,CACpD,CAEF,CAAC,EAEL+B,gBAAgB,iBACfpC,KAAA,CAAAqC,aAAA;IAAKC,SAAS,
|
|
1
|
+
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","MenuItemRender","children","eventType","text","modifier","url","parent","displayChildren","setDisplayChildren","showMobileMenu","loading","loadingText","data","textToUse","loadingUrl","urlToUse","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n if (loadingUrl || loadingText) return '';\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);\n\n result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;EAEzC,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);\n\n result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;EAEzC,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,EAAE,MAAMF,MAAM,QAAQ,CAAC;EAEtEC,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,EAAE,KAAKF,MAAM,OAAO,CAAC;EAEjE,OAAOC,MAAM;AACf,CAAC;AAED,eAAeH,wBAAwB","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import { usePortal } from '../../hooks';
|
|
|
7
7
|
const ModalAdapter = _ref => {
|
|
8
8
|
let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
9
9
|
const target = usePortal();
|
|
10
|
-
return ReactDOM.createPortal(
|
|
10
|
+
return ReactDOM.createPortal(/*#__PURE__*/React.createElement(Modal, props), target);
|
|
11
11
|
};
|
|
12
12
|
export default ModalAdapter;
|
|
13
13
|
//# sourceMappingURL=ModalAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalAdapter.js","names":["React","Modal","ReactDOM","usePortal","ModalAdapter","_ref","props","_extends","_objectDestructuringEmpty","target","createPortal","createElement"],"sources":["../../../src/components/ModalAdapter/ModalAdapter.js"],"sourcesContent":["import React from 'react';\nimport Modal from '@blaze-react/modal';\nimport ReactDOM from 'react-dom';\nimport { usePortal } from '../../hooks';\n\nconst ModalAdapter = ({ ...props }) => {\n const target = usePortal();\n\n return ReactDOM.createPortal(<Modal {...props} />, target);\n};\n\nexport default ModalAdapter;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,QAAQ,MAAM,WAAW;AAChC,SAASC,SAAS,QAAQ,aAAa;AAEvC,MAAMC,YAAY,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC9B,MAAMI,MAAM,GAAGN,SAAS,CAAC,CAAC;EAE1B,OAAOD,QAAQ,CAACQ,YAAY,
|
|
1
|
+
{"version":3,"file":"ModalAdapter.js","names":["React","Modal","ReactDOM","usePortal","ModalAdapter","_ref","props","_extends","_objectDestructuringEmpty","target","createPortal","createElement"],"sources":["../../../src/components/ModalAdapter/ModalAdapter.js"],"sourcesContent":["import React from 'react';\nimport Modal from '@blaze-react/modal';\nimport ReactDOM from 'react-dom';\nimport { usePortal } from '../../hooks';\n\nconst ModalAdapter = ({ ...props }) => {\n const target = usePortal();\n\n return ReactDOM.createPortal(<Modal {...props} />, target);\n};\n\nexport default ModalAdapter;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,QAAQ,MAAM,WAAW;AAChC,SAASC,SAAS,QAAQ,aAAa;AAEvC,MAAMC,YAAY,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC9B,MAAMI,MAAM,GAAGN,SAAS,CAAC,CAAC;EAE1B,OAAOD,QAAQ,CAACQ,YAAY,cAACV,KAAA,CAAAW,aAAA,CAACV,KAAK,EAAKK,KAAQ,CAAC,EAAEG,MAAM,CAAC;AAC5D,CAAC;AAED,eAAeL,YAAY","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default ModalAdapter;
|
|
1
|
+
import dynamic from 'next/dynamic';
|
|
2
|
+
export default dynamic(() => import(/* webpackChunkName: "blazePbModalAdaptor" */'./ModalAdapter'));
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["dynamic"],"sources":["../../../src/components/ModalAdapter/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nexport default dynamic(() =>\n import(/* webpackChunkName: \"blazePbModalAdaptor\" */ './ModalAdapter')\n);\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,eAAeA,OAAO,CAAC,MACrB,MAAM,CAAC,6CAA8C,gBAAgB,CACvE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n}) => {\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [collapsedSearch, router.events, setSearchTerm]\n );\n\n useEffect(\n () => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n if (collapsedSearch) {\n setCollapsed(true);\n setSearchTerm('');\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n },\n [collapsedSearch, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,uBAAuB,MAAM,2BAA2B;AAE/D,MAAMC,aAAa,GAAGA,CAAC;EACrBC,QAAQ;EACRC,wBAAwB;EACxBC,yBAAyB;EACzBC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC,eAAe;EACfC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGhB,MAAM,CAAC,IAAI,CAAC;EACrC,MAAM,CAACiB,SAAS,EAAEC,YAAY,CAAC,GAAGpB,QAAQ,CAACe,eAAe,CAAC;EAC3D,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGtB,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMuB,MAAM,GAAGnB,SAAS,CAAC,CAAC;EAE1B,MAAM;IAAEoB,OAAO;IAAEC,UAAU;IAAEC,aAAa;IAAEC;EAAoB,CAAC,GAAGtB,iBAAiB,CAAC;IACpFI,QAAQ;IACRmB,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF5B,SAAS,CACP,MAAM;IACJ,MAAM6B,iBAAiB,GAAGA,CAAA,KAAM;MAC9BJ,aAAa,CAAC,EAAE,CAAC;MACjBJ,cAAc,CAAC,KAAK,CAAC;MACrB,IAAIP,eAAe,EAAEK,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IACDG,MAAM,CAACQ,MAAM,CAACC,EAAE,CAAC,kBAAkB,EAAEF,iBAAiB,CAAC;IAEvD,OAAO,MAAM;MACXP,MAAM,CAACQ,MAAM,CAACE,GAAG,CAAC,kBAAkB,EAAEH,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EACD,CAACf,eAAe,EAAEQ,MAAM,CAACQ,MAAM,EAAEL,aAAa,CAChD,CAAC;EAEDzB,SAAS,CACP,MAAM;IACJ,MAAMiC,kBAAkB,GAAGC,KAAK,IAAI;MAClC,IAAIjB,gBAAgB,CAACkB,OAAO,IAAI,CAAClB,gBAAgB,CAACkB,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChFhB,cAAc,CAAC,KAAK,CAAC;QACrB,IAAIP,eAAe,EAAE;UACnBK,YAAY,CAAC,IAAI,CAAC;UAClBM,aAAa,CAAC,EAAE,CAAC;QACnB;MACF;IACF,CAAC;IAEDa,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,kBAAkB,CAAC;IAEtD,OAAO,MAAM;MACXK,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,kBAAkB,CAAC;IAC3D,CAAC;EACH,CAAC,EACD,CAACnB,eAAe,EAAEW,aAAa,CACjC,CAAC;EAED,MAAMgB,iBAAiB,GAAG9B,QAAQ,GAAGF,wBAAwB,GAAGC,yBAAyB;EAEzF,MAAMgC,gBAAgB,GAAGA,CAACC,CAAC,EAAEC,GAAG,KAAK;IACnCD,CAAC,CAACE,cAAc,CAAC,CAAC;IAClBvB,MAAM,CAACwB,IAAI,CAACF,GAAG,CAAC;EAClB,CAAC;EAED,MAAMG,aAAa,GAAGJ,CAAC,IAAI;IACzB,IAAIA,CAAC,CAACK,GAAG,KAAK,OAAO,IAAIL,CAAC,CAACN,MAAM,CAACY,KAAK,KAAK,EAAE,EAAE;MAC9C,IAAIjC,4BAA4B,IAAIO,OAAO,IAAIA,OAAO,CAAC2B,MAAM,KAAK,CAAC,IAAI3B,OAAO,CAAC,CAAC,CAAC,CAACqB,GAAG,EAAE;QACrFtB,MAAM,CAACwB,IAAI,CAACvB,OAAO,CAAC,CAAC,CAAC,CAACqB,GAAG,CAAC;MAC7B,CAAC,MAAM;QACLtB,MAAM,CAACwB,IAAI,CAAE,GAAE/B,SAAS,IAAI,SAAU,gBAAe4B,CAAC,CAACN,MAAM,CAACY,KAAM,EAAC,CAAC;MACxE;IACF;EACF,CAAC;EAED,MAAME,eAAe,GAAGA,CAAA,KAAM;IAC5B,MAAMC,WAAW,GAAGtC,eAAe,GAAG,CAACI,SAAS,GAAGQ,mBAAmB;IAEtE,IAAIZ,eAAe,EAAEK,YAAY,CAAC,CAACD,SAAS,CAAC;IAE7C,IAAIkC,WAAW,EAAE;MACf3B,aAAa,CAAC,EAAE,CAAC;MACjBJ,cAAc,CAAC,KAAK,CAAC;IACvB,CAAC,MAAM;MACLA,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAMgC,SAAS,GAAG,CAAC,gBAAgB,EAAExC,QAAQ,EAAE4B,iBAAiB,CAAC,CAACa,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC3F,MAAMC,cAAc,GAAGvC,SAAS,GAAG,0BAA0B,GAAG,0BAA0B;EAE1F,oBACEpB,KAAA,CAAA4D,aAAA;IAAKL,SAAS,EAAEA,SAAU;IAACM,GAAG,EAAE1C;EAAiB,gBAC/CnB,KAAA,CAAA4D,aAAA;IAAKL,SAAS,EAAG,GAAEI,cAAe;EAAW,gBAC3C3D,KAAA,CAAA4D,aAAA;IAAOL,SAAS,EAAG,GAAEI,cAAe;EAAS,gBAC3C3D,KAAA,CAAA4D,aAAA;IAAML,SAAS,EAAG,GAAEI,cAAe;EAAgB,gBACjD3D,KAAA,CAAA4D,aAAA,CAACpD,uBAAuB;IACtBkB,UAAU,EAAEE,mBAAoB;IAChCkC,OAAO,EAAET,eAAgB;IACzBU,YAAY,EAAE/C,eAAe,GAAG,CAACI,SAAS,GAAGQ;EAAoB,CAClE,CACG,CAAC,EACN,CAACR,SAAS,iBACTpB,KAAA,CAAA4D,aAAA;IACEL,SAAS,EAAG,GAAEI,cAAe,SAAS;IACtCK,IAAI,EAAC,MAAM;IACXC,IAAI,EAAC,QAAQ;IACbnD,WAAW,EAAEA,WAAY;IACzBqC,KAAK,EAAEzB,UAAW;IAClBwC,QAAQ,EAAErB,CAAC,IAAIlB,aAAa,CAACkB,CAAC,CAACN,MAAM,CAACY,KAAK,CAAE;IAC7CgB,SAAS,EAAElB,aAAc;IACzBmB,OAAO,EAAEA,CAAA,KAAM7C,cAAc,CAAC,IAAI,CAAE;IACpC,eAAY;EAAsB,CACnC,CAEE,CACJ,CAAC,EACLD,WAAW,iBACVtB,KAAA,CAAA4D,aAAA,CAACrD,oBAAoB;IACnBkB,OAAO,EAAEA,OAAQ;IACjBG,mBAAmB,EAAEA,mBAAoB;IACzCyC,WAAW,EAAEzB;EAAiB,CAC/B,CAEA,CAAC;AAEV,CAAC;AAEDnC,aAAa,CAAC6D,SAAS,GAAG;EACxB3D,wBAAwB,EAAEP,SAAS,CAACmE,MAAM;EAC1C3D,yBAAyB,EAAER,SAAS,CAACmE,MAAM;EAC3CzD,WAAW,EAAEV,SAAS,CAACmE,MAAM;EAC7B1D,QAAQ,EAAET,SAAS,CAACoE,IAAI;EACxB9D,QAAQ,EAAEN,SAAS,CAACqE,KAAK,CAACC,UAAU;EACpC3D,QAAQ,EAAEX,SAAS,CAACmE,MAAM;EAC1BvD,eAAe,EAAEZ,SAAS,CAACoE,IAAI;EAC/BvD,SAAS,EAAEb,SAAS,CAACmE,MAAM;EAC3BrD,4BAA4B,EAAEd,SAAS,CAACoE;AAC1C,CAAC;AAED/D,aAAa,CAACkE,YAAY,GAAG;EAC3BhE,wBAAwB,EAAE,EAAE;EAC5BC,yBAAyB,EAAE,EAAE;EAC7BE,WAAW,EAAE,EAAE;EACfD,QAAQ,EAAE,KAAK;EACfE,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAE,EAAE;EACbC,4BAA4B,EAAE;AAChC,CAAC;AAED,eAAeT,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n}) => {\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [collapsedSearch, router.events, setSearchTerm]\n );\n\n useEffect(\n () => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n if (collapsedSearch) {\n setCollapsed(true);\n setSearchTerm('');\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n },\n [collapsedSearch, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContentResults.js","names":["React","BlazeLink","SearchContentItems","SearchContentResults","results","debouncedSearchTerm","onClick","hasResults","length","createElement","className","href"],"sources":["../../../src/components/SearchContent/SearchContentResults.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport SearchContentItems from './SearchContentItems';\n\nconst SearchContentResults = ({ results, debouncedSearchTerm, onClick }) => {\n if (!debouncedSearchTerm) return null;\n const hasResults = results.length > 0;\n return (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"search-content--results__content\">\n {hasResults ? (\n <SearchContentItems results={results} onClick={onClick} />\n ) : (\n <div className=\"search-content--results__message\">\n <BlazeLink href={`/search?search_term=${debouncedSearchTerm}`}>\n {`Search all results for: ${debouncedSearchTerm}`}\n </BlazeLink>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchContentResults;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,mBAAmB;EAAEC;AAAQ,CAAC,KAAK;EAC1E,IAAI,CAACD,mBAAmB,EAAE,OAAO,IAAI;EACrC,MAAME,UAAU,GAAGH,OAAO,CAACI,MAAM,GAAG,CAAC;EACrC,oBACER,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,gBAC/CV,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAA2C,gBACxDV,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,GAC9CH,UAAU,gBACTP,KAAA,CAAAS,aAAA,CAACP,kBAAkB;IAACE,OAAO,EAAEA,OAAQ;IAACE,OAAO,EAAEA;EAAQ,CAAE,CAAC,gBAE1DN,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,gBAC/CV,KAAA,CAAAS,aAAA,CAACR,SAAS;IAACU,IAAI,
|
|
1
|
+
{"version":3,"file":"SearchContentResults.js","names":["React","BlazeLink","SearchContentItems","SearchContentResults","results","debouncedSearchTerm","onClick","hasResults","length","createElement","className","href"],"sources":["../../../src/components/SearchContent/SearchContentResults.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../BlazeLink';\nimport SearchContentItems from './SearchContentItems';\n\nconst SearchContentResults = ({ results, debouncedSearchTerm, onClick }) => {\n if (!debouncedSearchTerm) return null;\n const hasResults = results.length > 0;\n return (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"search-content--results__content\">\n {hasResults ? (\n <SearchContentItems results={results} onClick={onClick} />\n ) : (\n <div className=\"search-content--results__message\">\n <BlazeLink href={`/search?search_term=${debouncedSearchTerm}`}>\n {`Search all results for: ${debouncedSearchTerm}`}\n </BlazeLink>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchContentResults;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,mBAAmB;EAAEC;AAAQ,CAAC,KAAK;EAC1E,IAAI,CAACD,mBAAmB,EAAE,OAAO,IAAI;EACrC,MAAME,UAAU,GAAGH,OAAO,CAACI,MAAM,GAAG,CAAC;EACrC,oBACER,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,gBAC/CV,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAA2C,gBACxDV,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,GAC9CH,UAAU,gBACTP,KAAA,CAAAS,aAAA,CAACP,kBAAkB;IAACE,OAAO,EAAEA,OAAQ;IAACE,OAAO,EAAEA;EAAQ,CAAE,CAAC,gBAE1DN,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAkC,gBAC/CV,KAAA,CAAAS,aAAA,CAACR,SAAS;IAACU,IAAI,EAAE,uBAAuBN,mBAAmB;EAAG,GAC3D,2BAA2BA,mBAAmB,EACtC,CACR,CAEJ,CACF,CACF,CAAC;AAEV,CAAC;AAED,eAAeF,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","useFilterAggregationValues","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filterData","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","mobileRefineButtonText","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","setStateValues","setSelectProp","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","lastChangedFilter","Object","keys","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { useFilterAggregationValues } from '../../../hooks';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data: filterData,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n mobileRefineButtonText,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const [data, setStateValues, setSelectProp] = useFilterAggregationValues({\n data: filterData,\n filterValues\n });\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n const [lastChangedFilter] = Object.keys(newValues);\n setSelectProp(lastChangedFilter);\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n setStateValues(filterData);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n aria-label={\n moreFiltersDesktopCollapsed\n ? 'Show more search filters'\n : 'Show less search filters'\n }\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\"\n aria-label=\"Toggle Search Filter\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {mobileRefineButtonText || REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object,\n mobileRefineButtonText: PropTypes.string\n};\n\nSearchFilter.defaultProps = {\n mobileRefineButtonText: '',\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","useFilterAggregationValues","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filterData","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","mobileRefineButtonText","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","setStateValues","setSelectProp","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","lastChangedFilter","Object","keys","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { useFilterAggregationValues } from '../../../hooks';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data: filterData,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n mobileRefineButtonText,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const [data, setStateValues, setSelectProp] = useFilterAggregationValues({\n data: filterData,\n filterValues\n });\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n const [lastChangedFilter] = Object.keys(newValues);\n setSelectProp(lastChangedFilter);\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n setStateValues(filterData);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n aria-label={\n moreFiltersDesktopCollapsed\n ? 'Show more search filters'\n : 'Show less search filters'\n }\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\"\n aria-label=\"Toggle Search Filter\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {mobileRefineButtonText || REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object,\n mobileRefineButtonText: PropTypes.string\n};\n\nSearchFilter.defaultProps = {\n mobileRefineButtonText: '',\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -50,11 +50,12 @@ const SearchFilterContainer = ({
|
|
|
50
50
|
itemEntity: parentEntity
|
|
51
51
|
} = parent;
|
|
52
52
|
useEffect(() => {
|
|
53
|
+
if (asPath === urlPath) return;
|
|
53
54
|
const {
|
|
54
55
|
query: newQuery
|
|
55
56
|
} = parseUrl(asPath);
|
|
56
57
|
const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);
|
|
57
|
-
const newValues = getFilterValues(
|
|
58
|
+
const newValues = getFilterValues(filterData, filters, updatedNewQuery);
|
|
58
59
|
if (newValues) dispatch({
|
|
59
60
|
newValues,
|
|
60
61
|
shouldSearch: false,
|
|
@@ -1 +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","RAW_RESULTS","SCROLL_OFFSET","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","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","filterData","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","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} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } 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 const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues({}, 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 setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n 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":[]}
|
|
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","RAW_RESULTS","SCROLL_OFFSET","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","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","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} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } 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 setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n 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":[]}
|
|
@@ -1 +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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,mBAAmB;AAC1C,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,aAAa,EAAEC,WAAW,QAAQ,gBAAgB;AAC3D,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,WAAW,QAAQ,YAAY;AACxC,SAASC,SAAS,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAE/D,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,IAAI;EACJC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,KAAK;EACLC,YAAY;EACZC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGtB,QAAQ,CAAC,IAAI,CAAC;EACxD,IAAI,CAACa,IAAI,CAACC,IAAI,CAAC,EAAE,OAAO,IAAI;EAE5B,MAAMS,qBAAqB,GAAGA,CAAA,KAAM;IAClC,IAAIF,aAAa,CAACP,IAAI,CAAC,KAAKN,SAAS,EAAE;MACrCc,gBAAgB,CAAC;QAAE,CAACR,IAAI,GAAGL;MAAU,CAAC,CAAC;IACzC,CAAC,MAAM;MACLa,gBAAgB,CAAC;QAAE,CAACR,IAAI,GAAGN;MAAU,CAAC,CAAC;IACzC;EACF,CAAC;EAED,IAAI,CAACa,aAAa,EAAE;IAClBC,gBAAgB,CAAC;MAAE,CAACR,IAAI,GAAGN;IAAU,CAAC,CAAC;EACzC;EAEA,IAAI,CAACa,aAAa,EAAE,OAAO,IAAI;EAE/B,IAAIG,mBAAmB,GAAG,EAAE;EAE5B,IAAIR,YAAY,IAAIA,YAAY,CAACF,IAAI,CAAC,EAAE;IACtCU,mBAAmB,GACjB,OAAOR,YAAY,CAACF,IAAI,CAAC,KAAK,QAAQ,GAClC,CAACP,WAAW,CAACS,YAAY,CAACF,IAAI,CAAC,CAAC,CAAC,GACjCE,YAAY,CAACF,IAAI,CAAC,CAACW,GAAG,CAACC,GAAG,IAAInB,WAAW,CAACmB,GAAG,CAAC,CAAC;EACvD;EACA,MAAMC,QAAQ,GAAG,EAAE;EAEnB,MAAMC,YAAY,GAAGf,IAAI,CAACC,IAAI,CAAC,CAACe,OAAO,CACpCJ,GAAG,CAAC,CAAC;IAAEK,GAAG;IAAEC,SAAS,EAAEC;EAAM,CAAC,KAAK;IAClC,MAAMC,WAAW,GAAGb,kBAAkB,
|
|
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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","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 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}) => {\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 // get range from aggregations so it updates\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 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: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: ''\n};\n\nexport default Range;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","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 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}) => {\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 // get range from aggregations so it updates\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 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: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|