@blaze-cms/react-page-builder 0.124.0-alpha.4 → 0.124.0-alpha.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +347 -0
- package/README.md +9 -0
- package/example.env +1 -0
- package/lib/BannerContext/index.js.map +1 -1
- package/lib/HOC/withInfiniteScroll.js.map +1 -1
- package/lib/HOC/withTitle.js.map +1 -1
- package/lib/PBContext/index.js.map +1 -1
- package/lib/application/query/index.js +9 -3
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/BackToTop/BackToTop.js.map +1 -1
- package/lib/components/Banner/AdSlotRender.js.map +1 -1
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/BannerRender.js.map +1 -1
- package/lib/components/Banner/helpers.js.map +1 -1
- package/lib/components/Banner/index.js.map +1 -1
- package/lib/components/BlazeLink.js.map +1 -1
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/components/Button.js +18 -5
- package/lib/components/Button.js.map +1 -1
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardContainer.js +3 -7
- package/lib/components/Card/CardContainer.js.map +1 -1
- package/lib/components/Card/CardFactory.js +6 -3
- package/lib/components/Card/CardFactory.js.map +1 -1
- package/lib/components/Card/CardRender.js.map +1 -1
- package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
- package/lib/components/Card/helpers/filters-setup.js.map +1 -1
- package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
- package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
- package/lib/components/CarouselWrapper.js +2 -2
- package/lib/components/CarouselWrapper.js.map +1 -1
- package/lib/components/ClickWrapper.js.map +1 -1
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/Code/ScriptTag.js.map +1 -1
- package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-data-summary-query.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
- package/lib/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -1
- package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/Image/ImageDetails.js.map +1 -1
- package/lib/components/Image/ImageFactory.js.map +1 -1
- package/lib/components/Image/ImageRender.js +5 -1
- package/lib/components/Image/ImageRender.js.map +1 -1
- package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
- package/lib/components/ItemList/ItemListButton/ItemListButton.js +161 -0
- package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
- package/lib/components/ItemList/ItemListButton/index.js +16 -0
- package/lib/components/ItemList/ItemListButton/index.js.map +1 -0
- package/lib/components/ItemList/ItemListCounter/ItemListCounter.js +83 -0
- package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
- package/lib/components/ItemList/ItemListCounter/index.js +16 -0
- package/lib/components/ItemList/ItemListCounter/index.js.map +1 -0
- package/lib/components/ItemList/ItemListNew/ItemListNew.js +87 -0
- package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
- package/lib/components/ItemList/ItemListNew/index.js +16 -0
- package/lib/components/ItemList/ItemListNew/index.js.map +1 -0
- package/lib/components/ItemList/constants.js +19 -0
- package/lib/components/ItemList/constants.js.map +1 -0
- package/lib/components/ItemList/helpers/get-item-list-data.js +17 -0
- package/lib/components/ItemList/helpers/get-item-list-data.js.map +1 -0
- package/lib/components/ItemList/helpers/get-item-list-id.js +23 -0
- package/lib/components/ItemList/helpers/get-item-list-id.js.map +1 -0
- package/lib/components/ItemList/helpers/get-item-list-ids.js +28 -0
- package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
- package/lib/components/ItemList/helpers/index.js +50 -0
- package/lib/components/ItemList/helpers/index.js.map +1 -0
- package/lib/components/ItemList/helpers/set-item-list-id.js +22 -0
- package/lib/components/ItemList/helpers/set-item-list-id.js.map +1 -0
- package/lib/components/ItemList/helpers/set-param-and-redirect.js +51 -0
- package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
- package/lib/components/ItemList/hooks/index.js +18 -0
- package/lib/components/ItemList/hooks/index.js.map +1 -0
- package/lib/components/ItemList/hooks/use-item-list-id.js +45 -0
- package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -0
- package/lib/components/Layout/Layout.js.map +1 -1
- package/lib/components/Layout/helpers/check-if-row-has-columns.js.map +1 -1
- package/lib/components/LazyImage/LazyImage.js +5 -1
- package/lib/components/LazyImage/LazyImage.js.map +1 -1
- package/lib/components/LazyImage/index.js.map +1 -1
- package/lib/components/List/ListBuilder.js +12 -6
- package/lib/components/List/ListBuilder.js.map +1 -1
- package/lib/components/List/ListFactory.js +34 -7
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -1
- package/lib/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib/components/List/components/Pagination/Classic.js.map +1 -1
- package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
- package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
- package/lib/components/List/helpers/build-az-aggregations.js.map +1 -1
- package/lib/components/List/helpers/build-az-url.js.map +1 -1
- package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
- package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
- package/lib/components/List/helpers/has-required-item-list-details.js +29 -0
- package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -0
- package/lib/components/List/helpers/index.js +8 -0
- package/lib/components/List/helpers/index.js.map +1 -1
- package/lib/components/Login/LoggedInMessage.js.map +1 -1
- package/lib/components/Login/Login.js.map +1 -1
- package/lib/components/Login/LoginForm.js.map +1 -1
- package/lib/components/Menu/Menu.js +41 -28
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/MenuContext.js +20 -0
- package/lib/components/Menu/MenuContext.js.map +1 -0
- package/lib/components/MenuItem/MenuItem.js +26 -7
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
- package/lib/components/PasswordReset/helpers/validatePassword.js.map +1 -1
- package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
- package/lib/components/SearchContent/SearchContent.js +183 -0
- package/lib/components/SearchContent/SearchContent.js.map +1 -0
- package/lib/components/SearchContent/SearchContentItems.js +51 -0
- package/lib/components/SearchContent/SearchContentItems.js.map +1 -0
- package/lib/components/SearchContent/SearchContentResults.js +45 -0
- package/lib/components/SearchContent/SearchContentResults.js.map +1 -0
- package/lib/components/SearchContent/SearchContentToggleIcon.js +42 -0
- package/lib/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
- package/lib/components/SearchContent/index.js +2 -233
- package/lib/components/SearchContent/index.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +27 -69
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +87 -23
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js +19 -9
- 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 +27 -11
- package/lib/components/SearchFilter/components/Select.js.map +1 -1
- package/lib/components/SearchFilter/components/TextSearch.js +1 -5
- package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib/components/SearchFilter/constants.js +1 -1
- package/lib/components/SearchFilter/constants.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-filters-query.js +87 -0
- package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
- package/lib/components/SearchFilter/helpers/build-query.js +1 -1
- package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
- package/lib/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
- package/lib/components/SearchFilter/helpers/calculate-min-max.js.map +1 -1
- package/lib/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +18 -3
- package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
- package/lib/components/SearchFilter/helpers/index.js +8 -0
- package/lib/components/SearchFilter/helpers/index.js.map +1 -1
- package/lib/components/SearchFilter/helpers/parse-filter-value.js +3 -7
- package/lib/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
- package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib/components/SocialFollow/SFItem.js.map +1 -1
- package/lib/components/SocialFollow/SocialFollow.js.map +1 -1
- package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
- package/lib/components/SubMenu/SubMenu.js.map +1 -1
- package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
- package/lib/components/TextBlock/index.js.map +1 -1
- package/lib/components/Video/Video.js.map +1 -1
- package/lib/components/Video/VideoModal.js.map +1 -1
- package/lib/components/Video/VideoRender.js.map +1 -1
- package/lib/components/Video/providers/Default.js.map +1 -1
- package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/lib/components/Video/providers/get-provider.js.map +1 -1
- package/lib/components/Wrapper.js.map +1 -1
- package/lib/components/index.js +16 -1
- package/lib/components/index.js.map +1 -1
- package/lib/constants/index.js +3 -1
- package/lib/constants/index.js.map +1 -1
- package/lib/helpers/build-inherited-filters.js.map +1 -1
- package/lib/helpers/build-raw-query-base.js.map +1 -1
- package/lib/helpers/build-raw-query.js.map +1 -1
- package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/lib/helpers/check-props-to-use.js.map +1 -1
- package/lib/helpers/get-entities-with-banner.js.map +1 -1
- package/lib/helpers/get-entity-data.js.map +1 -1
- package/lib/helpers/get-entity-render-props.js.map +1 -1
- package/lib/helpers/get-filter-props.js.map +1 -1
- package/lib/helpers/get-generic-props.js.map +1 -1
- package/lib/helpers/get-generic-render-variables.js.map +1 -1
- package/lib/helpers/get-image-ids.js.map +1 -1
- package/lib/helpers/get-parsed-prop-values.js.map +1 -1
- package/lib/helpers/get-prop-values.js.map +1 -1
- package/lib/helpers/get-query-filters.js.map +1 -1
- package/lib/helpers/get-query-props.js.map +1 -1
- package/lib/helpers/get-updated-filter-by.js.map +1 -1
- package/lib/helpers/inject-banner.js.map +1 -1
- package/lib/helpers/inject-banners-to-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -1
- package/lib/helpers/is-filter-entitys-id.js.map +1 -1
- package/lib/helpers/parse-TextBlock.js.map +1 -1
- package/lib/helpers/parse-props-to-display.js.map +1 -1
- package/lib/helpers/render-children.js.map +1 -1
- package/lib/helpers/sort-response-data.js.map +1 -1
- package/lib/hooks/helpers/RenderComponent.js.map +1 -1
- package/lib/hooks/helpers/append-gtm-classname.js +1 -0
- package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
- package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
- package/lib/hooks/helpers/getComponent.js.map +1 -1
- package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
- package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
- package/lib/hooks/helpers/insert-banners.js.map +1 -1
- package/lib/hooks/helpers/update-targetings.js.map +1 -1
- package/lib/hooks/use-banner-insertion.js.map +1 -1
- package/lib/hooks/use-check-mobile-screen.js.map +1 -1
- package/lib/hooks/use-get-entity-schema.js.map +1 -1
- package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
- package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib/hooks/use-get-images.js.map +1 -1
- package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
- package/lib/hooks/use-page-builder.js.map +1 -1
- package/lib/utils/get-class-modifiers.js.map +1 -1
- package/lib/utils/get-image-data.js.map +1 -1
- package/lib-es/application/query/index.js +49 -1
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/Button.js +18 -6
- package/lib-es/components/Button.js.map +1 -1
- package/lib-es/components/Card/CardContainer.js +3 -7
- package/lib-es/components/Card/CardContainer.js.map +1 -1
- package/lib-es/components/Card/CardFactory.js +7 -4
- package/lib-es/components/Card/CardFactory.js.map +1 -1
- package/lib-es/components/CarouselWrapper.js +2 -2
- package/lib-es/components/CarouselWrapper.js.map +1 -1
- package/lib-es/components/Image/ImageRender.js +4 -1
- package/lib-es/components/Image/ImageRender.js.map +1 -1
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js +111 -0
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
- package/lib-es/components/ItemList/ItemListButton/index.js +3 -0
- package/lib-es/components/ItemList/ItemListButton/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js +60 -0
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
- package/lib-es/components/ItemList/ItemListCounter/index.js +3 -0
- package/lib-es/components/ItemList/ItemListCounter/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +64 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/index.js +3 -0
- package/lib-es/components/ItemList/ItemListNew/index.js.map +1 -0
- package/lib-es/components/ItemList/constants.js +6 -0
- package/lib-es/components/ItemList/constants.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-data.js +7 -0
- package/lib-es/components/ItemList/helpers/get-item-list-data.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-id.js +11 -0
- package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/helpers/get-item-list-ids.js +13 -0
- package/lib-es/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
- package/lib-es/components/ItemList/helpers/index.js +6 -0
- package/lib-es/components/ItemList/helpers/index.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js +10 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js +20 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
- package/lib-es/components/ItemList/hooks/index.js +2 -0
- package/lib-es/components/ItemList/hooks/index.js.map +1 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js +26 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js.map +1 -0
- package/lib-es/components/LazyImage/LazyImage.js +4 -1
- package/lib-es/components/LazyImage/LazyImage.js.map +1 -1
- package/lib-es/components/List/ListBuilder.js +12 -6
- package/lib-es/components/List/ListBuilder.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +33 -9
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/List/helpers/has-required-item-list-details.js +20 -0
- package/lib-es/components/List/helpers/has-required-item-list-details.js.map +1 -0
- package/lib-es/components/List/helpers/index.js +1 -0
- package/lib-es/components/List/helpers/index.js.map +1 -1
- package/lib-es/components/Menu/Menu.js +54 -46
- package/lib-es/components/Menu/Menu.js.map +1 -1
- package/lib-es/components/Menu/MenuContext.js +6 -0
- package/lib-es/components/Menu/MenuContext.js.map +1 -0
- package/lib-es/components/MenuItem/MenuItem.js +24 -9
- package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContent.js +129 -0
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentItems.js +33 -0
- package/lib-es/components/SearchContent/SearchContentItems.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentResults.js +31 -0
- package/lib-es/components/SearchContent/SearchContentResults.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContentToggleIcon.js +30 -0
- package/lib-es/components/SearchContent/SearchContentToggleIcon.js.map +1 -0
- package/lib-es/components/SearchContent/index.js +1 -172
- package/lib-es/components/SearchContent/index.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +2 -4
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +21 -46
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +70 -15
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js +18 -9
- package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Select.js +23 -8
- package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
- package/lib-es/components/SearchFilter/components/TextSearch.js +1 -5
- package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib-es/components/SearchFilter/constants.js +1 -1
- package/lib-es/components/SearchFilter/constants.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-filters-query.js +54 -0
- package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/build-query.js +1 -1
- package/lib-es/components/SearchFilter/helpers/build-query.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
- package/lib-es/components/SearchFilter/helpers/build-raw-query-stringified.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +13 -1
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/index.js +2 -1
- package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/parse-filter-value.js +3 -3
- package/lib-es/components/SearchFilter/helpers/parse-filter-value.js.map +1 -1
- package/lib-es/components/index.js +10 -1
- package/lib-es/components/index.js.map +1 -1
- package/lib-es/constants/index.js +2 -1
- package/lib-es/constants/index.js.map +1 -1
- package/lib-es/helpers/build-raw-query.js.map +1 -1
- package/lib-es/hooks/helpers/append-gtm-classname.js +1 -0
- package/lib-es/hooks/helpers/append-gtm-classname.js.map +1 -1
- package/package.json +5 -4
- package/src/application/query/index.js +55 -1
- package/src/components/Button.js +27 -5
- package/src/components/Card/CardContainer.js +2 -6
- package/src/components/Card/CardFactory.js +5 -3
- package/src/components/CarouselWrapper.js +2 -2
- package/src/components/Image/ImageRender.js +3 -0
- package/src/components/ItemList/ItemListButton/ItemListButton.js +94 -0
- package/src/components/ItemList/ItemListButton/index.js +3 -0
- package/src/components/ItemList/ItemListCounter/ItemListCounter.js +52 -0
- package/src/components/ItemList/ItemListCounter/index.js +3 -0
- package/src/components/ItemList/ItemListNew/ItemListNew.js +51 -0
- package/src/components/ItemList/ItemListNew/index.js +3 -0
- package/src/components/ItemList/constants.js +5 -0
- package/src/components/ItemList/helpers/get-item-list-data.js +6 -0
- package/src/components/ItemList/helpers/get-item-list-id.js +11 -0
- package/src/components/ItemList/helpers/get-item-list-ids.js +10 -0
- package/src/components/ItemList/helpers/index.js +5 -0
- package/src/components/ItemList/helpers/set-item-list-id.js +9 -0
- package/src/components/ItemList/helpers/set-param-and-redirect.js +20 -0
- package/src/components/ItemList/hooks/index.js +1 -0
- package/src/components/ItemList/hooks/use-item-list-id.js +27 -0
- package/src/components/LazyImage/LazyImage.js +11 -1
- package/src/components/List/ListBuilder.js +10 -5
- package/src/components/List/ListFactory.js +48 -12
- package/src/components/List/helpers/has-required-item-list-details.js +14 -0
- package/src/components/List/helpers/index.js +1 -0
- package/src/components/Menu/Menu.js +61 -54
- package/src/components/Menu/MenuContext.js +5 -0
- package/src/components/MenuItem/MenuItem.js +39 -14
- package/src/components/SearchContent/SearchContent.js +136 -0
- package/src/components/SearchContent/SearchContentItems.js +28 -0
- package/src/components/SearchContent/SearchContentResults.js +27 -0
- package/src/components/SearchContent/SearchContentToggleIcon.js +27 -0
- package/src/components/SearchContent/index.js +1 -177
- package/src/components/SearchFilter/SearchFilter/FiltersList.js +30 -37
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +20 -28
- package/src/components/SearchFilter/SearchFilterContainer.js +61 -16
- package/src/components/SearchFilter/components/Checkbox.js +23 -8
- package/src/components/SearchFilter/components/Select.js +18 -11
- package/src/components/SearchFilter/components/TextSearch.js +1 -3
- package/src/components/SearchFilter/constants.js +1 -1
- package/src/components/SearchFilter/helpers/build-filters-query.js +40 -0
- package/src/components/SearchFilter/helpers/build-query.js +3 -1
- package/src/components/SearchFilter/helpers/build-raw-query-stringified.js +2 -1
- package/src/components/SearchFilter/helpers/get-initial-filter-values.js +12 -1
- package/src/components/SearchFilter/helpers/index.js +3 -1
- package/src/components/SearchFilter/helpers/parse-filter-value.js +3 -3
- package/src/components/index.js +10 -1
- package/src/constants/index.js +2 -0
- package/src/helpers/build-raw-query.js +1 -0
- package/src/hooks/helpers/append-gtm-classname.js +3 -0
- package/tests/helpers/mocks.js +4 -4
- package/tests/unit/src/components/Button.test.js +55 -1
- package/tests/unit/src/components/ItemList/ItemListButton.test.js +175 -0
- package/tests/unit/src/components/ItemList/ItemListCounter.test.js +65 -0
- package/tests/unit/src/components/ItemList/ItemListNew.test.js +164 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListButton.test.js.snap +107 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListCounter.test.js.snap +31 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +27 -0
- package/tests/unit/src/components/ItemList/helpers/get-item-list-data.test.js +28 -0
- package/tests/unit/src/components/ItemList/helpers/get-item-list-id.test.js +20 -0
- package/tests/unit/src/components/ItemList/helpers/get-item-list-ids.test.js +19 -0
- package/tests/unit/src/components/ItemList/helpers/set-item-list-id.test.js +13 -0
- package/tests/unit/src/components/ItemList/helpers/set-param-and-redirect.test.js +30 -0
- package/tests/unit/src/components/ItemList/hooks/use-item-list-id.test.js +32 -0
- package/tests/unit/src/components/List/helpers/has-required-item-list-details.test.js +30 -0
- package/tests/unit/src/components/Menu/Menu.test.js +9 -3
- package/tests/unit/src/components/Menu/__snapshots__/Menu.test.js.snap +12 -11
- package/tests/unit/src/components/MenuItem/MenuItem.test.js +1 -1
- package/tests/unit/src/components/MenuItem/SubMenu.test.js +5 -1
- package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +54 -10
- package/tests/unit/src/components/SearchContent/SearchContent.test.js +29 -0
- package/tests/unit/src/components/SearchContent/__snapshots__/SearchContent.test.js.snap +9 -0
- package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +26 -7
- package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +4 -0
- package/tests/unit/src/components/SearchFilter/components/__snapshots__/Checkbox.test.js.snap +2 -0
- package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +4 -0
- package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +2 -2
- package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +25 -11
- package/tests/unit/src/components/SearchFilter/helpers/parse-filter-value.test.js +1 -1
- package/tests/unit/src/components/__snapshots__/index.test.js.snap +12 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
const _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction"];
|
|
4
|
+
const _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction", "childSeoVisibility", "afterClickText"];
|
|
5
5
|
|
|
6
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
7
|
|
|
@@ -10,10 +10,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
10
10
|
import React, { useState, Fragment } from 'react';
|
|
11
11
|
import { useCookies } from 'react-cookie';
|
|
12
12
|
import { useRouter } from 'next/router';
|
|
13
|
+
import classnames from 'classnames';
|
|
13
14
|
import BlazeButton from '@blaze-react/button';
|
|
14
15
|
import { handleLogout } from '@blaze-cms/core-auth-ui';
|
|
15
16
|
import { useApolloClient } from '@apollo/client';
|
|
16
|
-
import PropTypes from 'prop-types';
|
|
17
|
+
import PropTypes, { bool, string } from 'prop-types';
|
|
17
18
|
import ClickWrapper from './ClickWrapper';
|
|
18
19
|
import BlazeLink from './BlazeLink';
|
|
19
20
|
import { withTitle } from '../HOC';
|
|
@@ -30,7 +31,9 @@ const Button = props => {
|
|
|
30
31
|
name,
|
|
31
32
|
style,
|
|
32
33
|
children,
|
|
33
|
-
clickAction
|
|
34
|
+
clickAction,
|
|
35
|
+
childSeoVisibility,
|
|
36
|
+
afterClickText
|
|
34
37
|
} = props,
|
|
35
38
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
36
39
|
|
|
@@ -81,35 +84,44 @@ const Button = props => {
|
|
|
81
84
|
wrapperProps
|
|
82
85
|
} = getClickWrapperOptions(children, props);
|
|
83
86
|
const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;
|
|
84
|
-
|
|
87
|
+
const contentClassName = classnames('button__content', {
|
|
88
|
+
'button__content--show': showChildren
|
|
89
|
+
});
|
|
90
|
+
return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, childSeoVisibility && /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: contentClassName
|
|
92
|
+
}, renderedChildren), !childSeoVisibility && showChildren && renderedChildren, /*#__PURE__*/React.createElement(DynamicButton, _extends({
|
|
85
93
|
className: modifiers,
|
|
86
94
|
onClick: handleClick
|
|
87
95
|
}, currentProps), icon && /*#__PURE__*/React.createElement("i", {
|
|
88
96
|
className: icon
|
|
89
|
-
}),
|
|
97
|
+
}), showChildren ? afterClickText : text));
|
|
90
98
|
};
|
|
91
99
|
|
|
92
100
|
Button.propTypes = {
|
|
93
101
|
clickAction: PropTypes.string,
|
|
94
102
|
text: PropTypes.string,
|
|
103
|
+
afterClickText: string,
|
|
95
104
|
name: PropTypes.string,
|
|
96
105
|
type: PropTypes.string,
|
|
97
106
|
url: PropTypes.string,
|
|
98
107
|
size: PropTypes.string,
|
|
99
108
|
icon: PropTypes.string,
|
|
100
109
|
style: PropTypes.string,
|
|
110
|
+
childSeoVisibility: bool,
|
|
101
111
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
|
|
102
112
|
};
|
|
103
113
|
Button.defaultProps = {
|
|
104
114
|
clickAction: '',
|
|
105
115
|
text: '',
|
|
116
|
+
afterClickText: '',
|
|
106
117
|
name: '',
|
|
107
118
|
type: '',
|
|
108
119
|
url: null,
|
|
109
120
|
size: '',
|
|
110
121
|
icon: '',
|
|
111
122
|
style: '',
|
|
112
|
-
children: []
|
|
123
|
+
children: [],
|
|
124
|
+
childSeoVisibility: false
|
|
113
125
|
};
|
|
114
126
|
export default withTitle(Button);
|
|
115
127
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useCookies","useRouter","BlazeButton","handleLogout","useApolloClient","PropTypes","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","propTypes","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "
|
|
3
|
+
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "overlayModifier", "titleOverlayModifier"],
|
|
4
4
|
_excluded2 = ["baseAdunit", "id"];
|
|
5
5
|
import React, { useContext } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
@@ -36,7 +36,6 @@ const CardContainer = _ref => {
|
|
|
36
36
|
enableAutoScroll,
|
|
37
37
|
enableOverlay,
|
|
38
38
|
autoScrollTimer,
|
|
39
|
-
arrowSize,
|
|
40
39
|
overlayModifier,
|
|
41
40
|
titleOverlayModifier
|
|
42
41
|
} = _ref,
|
|
@@ -93,7 +92,6 @@ const CardContainer = _ref => {
|
|
|
93
92
|
displayThumbnail: displayThumbnail,
|
|
94
93
|
displayTitle: displayTitle,
|
|
95
94
|
priority: priority,
|
|
96
|
-
arrowSize: arrowSize,
|
|
97
95
|
enableOverlay: enableOverlay,
|
|
98
96
|
overlayModifier: overlayModifier,
|
|
99
97
|
titleOverlayModifier: titleOverlayModifier
|
|
@@ -123,8 +121,7 @@ CardContainer.propTypes = {
|
|
|
123
121
|
enableOverlay: PropTypes.bool,
|
|
124
122
|
overlayModifier: PropTypes.string,
|
|
125
123
|
titleOverlayModifier: PropTypes.string,
|
|
126
|
-
autoScrollTimer: PropTypes.number
|
|
127
|
-
arrowSize: PropTypes.string
|
|
124
|
+
autoScrollTimer: PropTypes.number
|
|
128
125
|
};
|
|
129
126
|
CardContainer.defaultProps = {
|
|
130
127
|
gtmChildren: [],
|
|
@@ -146,8 +143,7 @@ CardContainer.defaultProps = {
|
|
|
146
143
|
enableOverlay: false,
|
|
147
144
|
autoScrollTimer: 0,
|
|
148
145
|
overlayModifier: '',
|
|
149
|
-
titleOverlayModifier: ''
|
|
150
|
-
arrowSize: ''
|
|
146
|
+
titleOverlayModifier: ''
|
|
151
147
|
};
|
|
152
148
|
export default withTitle(CardContainer);
|
|
153
149
|
//# sourceMappingURL=CardContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","
|
|
1
|
+
{"version":3,"file":"CardContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"sources":["../../../src/components/Card/CardContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["entity", "propsToDisplay", "itemsToDisplay"],
|
|
3
|
+
const _excluded = ["entity", "propsToDisplay", "itemsToDisplay", "itemListName"],
|
|
4
4
|
_excluded2 = ["gridModifier"];
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { useQuery } from '@apollo/client';
|
|
@@ -14,7 +14,8 @@ const CardFactory = _ref => {
|
|
|
14
14
|
let {
|
|
15
15
|
entity,
|
|
16
16
|
propsToDisplay,
|
|
17
|
-
itemsToDisplay
|
|
17
|
+
itemsToDisplay,
|
|
18
|
+
itemListName
|
|
18
19
|
} = _ref,
|
|
19
20
|
cardProps = _objectWithoutProperties(_ref, _excluded);
|
|
20
21
|
|
|
@@ -53,11 +54,13 @@ const CardFactory = _ref => {
|
|
|
53
54
|
CardFactory.propTypes = {
|
|
54
55
|
entity: PropTypes.string.isRequired,
|
|
55
56
|
propsToDisplay: PropTypes.array,
|
|
56
|
-
itemsToDisplay: PropTypes.array
|
|
57
|
+
itemsToDisplay: PropTypes.array,
|
|
58
|
+
itemListName: PropTypes.string
|
|
57
59
|
};
|
|
58
60
|
CardFactory.defaultProps = {
|
|
59
61
|
propsToDisplay: [],
|
|
60
|
-
itemsToDisplay: []
|
|
62
|
+
itemsToDisplay: [],
|
|
63
|
+
itemListName: ''
|
|
61
64
|
};
|
|
62
65
|
export default CardFactory;
|
|
63
66
|
//# sourceMappingURL=CardFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFactory.js","names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"sources":["../../../src/components/Card/CardFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardRender from './CardRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardFactory = ({ entity, propsToDisplay, itemsToDisplay, ...cardProps }) => {\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n entity={entity}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n />\n );\n};\n\nCardFactory.propTypes = {\n entity: PropTypes.string.isRequired,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: []\n};\n\nexport default CardFactory;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,eAAT,EAA0BC,eAA1B,EAA2CC,eAA3C,QAAkE,eAAlE;AACA,SAASC,WAAT,QAA4B,iBAA5B;;AAEA,MAAMC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"CardFactory.js","names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","itemListName","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"sources":["../../../src/components/Card/CardFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardRender from './CardRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardFactory = ({ entity, propsToDisplay, itemsToDisplay, itemListName, ...cardProps }) => {\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n entity={entity}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n />\n );\n};\n\nCardFactory.propTypes = {\n entity: PropTypes.string.isRequired,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nCardFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: [],\n itemListName: ''\n};\n\nexport default CardFactory;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,eAAT,EAA0BC,eAA1B,EAA2CC,eAA3C,QAAkE,eAAlE;AACA,SAASC,WAAT,QAA4B,iBAA5B;;AAEA,MAAMC,WAAW,GAAG,QAA4E;EAAA,IAA3E;IAAEC,MAAF;IAAUC,cAAV;IAA0BC,cAA1B;IAA0CC;EAA1C,CAA2E;EAAA,IAAhBC,SAAgB;;EAC9F,MAAM;IAAEC,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BhB,QAAQ,CAACE,qBAAD,EAAwB;IAC/De,SAAS,EAAE;MAAEC,EAAE,EAAET;IAAN;EADoD,CAAxB,CAAzC;EAIA,IAAIO,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACI,OAAb;EACX,IAAI,CAACL,IAAL,EAAW,OAAO,IAAP;EAEX,MAAMM,oBAAoB,GAAGd,eAAe,CAACI,cAAD,CAA5C;EACA,MAAMW,UAAU,GAAGjB,eAAe,CAACU,IAAD,EAAOM,oBAAP,EAA6BP,SAA7B,CAAf,IAA0D,EAA7E;;EACA,yBAA6CR,eAAe,CAACQ,SAAD,CAA5D;EAAA,MAAM;IAAES;EAAF,CAAN;EAAA,MAAyBC,eAAzB;;EACA,MAAMC,sBAAsB,GAAGD,eAAe,CAACE,MAAhB,GAAyBlB,WAAzB,GAAuC,EAAtE;EAEA,oBACE,oBAAC,UAAD;IACE,YAAY,EAAG,GAAEe,YAAa,GAAEE,sBAAuB,EADzD;IAEE,cAAc,EAAEA,sBAFlB;IAGE,MAAM,EAAEf,MAHV;IAIE,cAAc,EAAEE,cAJlB;IAKE,cAAc,EAAED,cALlB;IAME,YAAY,EAAEW;EANhB,GAOME,eAPN,EADF;AAWD,CAzBD;;AA2BAf,WAAW,CAACkB,SAAZ,GAAwB;EACtBjB,MAAM,EAAER,SAAS,CAAC0B,MAAV,CAAiBC,UADH;EAEtBlB,cAAc,EAAET,SAAS,CAAC4B,KAFJ;EAGtBlB,cAAc,EAAEV,SAAS,CAAC4B,KAHJ;EAItBjB,YAAY,EAAEX,SAAS,CAAC0B;AAJF,CAAxB;AAOAnB,WAAW,CAACsB,YAAZ,GAA2B;EACzBpB,cAAc,EAAE,EADS;EAEzBC,cAAc,EAAE,EAFS;EAGzBC,YAAY,EAAE;AAHW,CAA3B;AAMA,eAAeJ,WAAf"}
|
|
@@ -95,7 +95,7 @@ const CarouselWrapper = ({
|
|
|
95
95
|
handleButtonNavigation();
|
|
96
96
|
}
|
|
97
97
|
}, /*#__PURE__*/React.createElement("i", {
|
|
98
|
-
className: "carousel--arrow-
|
|
98
|
+
className: "cards-carousel--arrow cards-carousel--arrow__left"
|
|
99
99
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
100
100
|
className: "cards-carousel--right-button-wrapper"
|
|
101
101
|
}, displayRight && /*#__PURE__*/React.createElement("button", {
|
|
@@ -106,7 +106,7 @@ const CarouselWrapper = ({
|
|
|
106
106
|
handleButtonNavigation(true);
|
|
107
107
|
}
|
|
108
108
|
}, /*#__PURE__*/React.createElement("i", {
|
|
109
|
-
className: "carousel--arrow-
|
|
109
|
+
className: "cards-carousel--arrow cards-carousel--arrow__right"
|
|
110
110
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
111
111
|
className: contentClassName,
|
|
112
112
|
ref: ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselWrapper.js","names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"sources":["../../src/components/CarouselWrapper.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"carousel--arrow-
|
|
1
|
+
{"version":3,"file":"CarouselWrapper.js","names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"sources":["../../src/components/CarouselWrapper.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"cards-carousel--arrow cards-carousel--arrow__left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"cards-carousel--arrow cards-carousel--arrow__right\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
const _excluded = ["alt", "imageUrl", "handleEnableLightbox", "toggleLightbox", "displayLightbox", "enableLightbox", "caption", "lightboxImgProps", "name", "metaTitle", "heroModifier", "style", "isHero", "priority", "sizeKey"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import Head from 'next/head';
|
|
6
7
|
import { ResponsiveImage } from '@blaze-cms/image-cdn-react';
|
|
7
8
|
import Lightbox from './Lightbox';
|
|
8
9
|
|
|
@@ -29,12 +30,14 @@ const ImageRender = _ref => {
|
|
|
29
30
|
const imageStyle = enableLightbox ? {
|
|
30
31
|
cursor: 'pointer'
|
|
31
32
|
} : style;
|
|
33
|
+
const HeadComponent = priority ? Head : null;
|
|
32
34
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResponsiveImage, {
|
|
33
35
|
sizeKey: sizeKey,
|
|
34
36
|
alt: alt,
|
|
35
37
|
src: imageUrl,
|
|
36
38
|
onClick: handleEnableLightbox,
|
|
37
|
-
style: imageStyle
|
|
39
|
+
style: imageStyle,
|
|
40
|
+
HeadComponent: HeadComponent
|
|
38
41
|
}), displayLightbox && /*#__PURE__*/React.createElement(Lightbox, _extends({
|
|
39
42
|
imageUrl: imageUrl,
|
|
40
43
|
alt: alt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageRender.js","names":["React","PropTypes","ResponsiveImage","Lightbox","ImageRender","alt","imageUrl","handleEnableLightbox","toggleLightbox","displayLightbox","enableLightbox","caption","lightboxImgProps","name","metaTitle","heroModifier","style","isHero","priority","sizeKey","otherProps","imageStyle","cursor","propTypes","bool","isRequired","string","func","object","defaultProps"],"sources":["../../../src/components/Image/ImageRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport Lightbox from './Lightbox';\n\nconst ImageRender = ({\n alt,\n imageUrl,\n handleEnableLightbox,\n toggleLightbox,\n displayLightbox,\n enableLightbox,\n caption,\n lightboxImgProps,\n name,\n metaTitle,\n heroModifier,\n style,\n isHero,\n priority,\n sizeKey,\n ...otherProps\n}) => {\n const imageStyle = enableLightbox ? { cursor: 'pointer' } : style;\n\n return (\n <>\n <ResponsiveImage\n sizeKey={sizeKey}\n alt={alt}\n src={imageUrl}\n onClick={handleEnableLightbox}\n style={imageStyle}\n />\n {displayLightbox && (\n <Lightbox\n imageUrl={imageUrl}\n alt={alt}\n priority={priority}\n closeModal={toggleLightbox}\n caption={caption}\n imgWrapperProps={lightboxImgProps}\n name={metaTitle || name}\n {...otherProps}\n />\n )}\n </>\n );\n};\n\nImageRender.propTypes = {\n displayLightbox: PropTypes.bool.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n alt: PropTypes.string,\n caption: PropTypes.string,\n imageUrl: PropTypes.string.isRequired,\n name: PropTypes.string,\n heroModifier: PropTypes.string,\n metaTitle: PropTypes.string,\n handleEnableLightbox: PropTypes.func.isRequired,\n toggleLightbox: PropTypes.func.isRequired,\n lightboxImgProps: PropTypes.object.isRequired,\n style: PropTypes.object,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n sizeKey: PropTypes.string\n};\n\nImageRender.defaultProps = {\n name: '',\n metaTitle: '',\n heroModifier: '',\n alt: '',\n caption: '',\n isHero: false,\n priority: false,\n style: {},\n sizeKey: ''\n};\n\nexport default ImageRender;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,MAAMC,WAAW,GAAG,QAiBd;EAAA,IAjBe;IACnBC,GADmB;IAEnBC,QAFmB;IAGnBC,oBAHmB;IAInBC,cAJmB;IAKnBC,eALmB;IAMnBC,cANmB;IAOnBC,OAPmB;IAQnBC,gBARmB;IASnBC,IATmB;IAUnBC,SAVmB;IAWnBC,YAXmB;IAYnBC,KAZmB;IAanBC,MAbmB;IAcnBC,QAdmB;IAenBC;EAfmB,CAiBf;EAAA,IADDC,UACC;;EACJ,MAAMC,UAAU,GAAGX,cAAc,GAAG;IAAEY,MAAM,EAAE;EAAV,CAAH,GAA2BN,KAA5D;EAEA,oBACE,uDACE,oBAAC,eAAD;IACE,OAAO,
|
|
1
|
+
{"version":3,"file":"ImageRender.js","names":["React","PropTypes","Head","ResponsiveImage","Lightbox","ImageRender","alt","imageUrl","handleEnableLightbox","toggleLightbox","displayLightbox","enableLightbox","caption","lightboxImgProps","name","metaTitle","heroModifier","style","isHero","priority","sizeKey","otherProps","imageStyle","cursor","HeadComponent","propTypes","bool","isRequired","string","func","object","defaultProps"],"sources":["../../../src/components/Image/ImageRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Head from 'next/head';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport Lightbox from './Lightbox';\n\nconst ImageRender = ({\n alt,\n imageUrl,\n handleEnableLightbox,\n toggleLightbox,\n displayLightbox,\n enableLightbox,\n caption,\n lightboxImgProps,\n name,\n metaTitle,\n heroModifier,\n style,\n isHero,\n priority,\n sizeKey,\n ...otherProps\n}) => {\n const imageStyle = enableLightbox ? { cursor: 'pointer' } : style;\n const HeadComponent = priority ? Head : null;\n\n return (\n <>\n <ResponsiveImage\n sizeKey={sizeKey}\n alt={alt}\n src={imageUrl}\n onClick={handleEnableLightbox}\n style={imageStyle}\n HeadComponent={HeadComponent}\n />\n {displayLightbox && (\n <Lightbox\n imageUrl={imageUrl}\n alt={alt}\n priority={priority}\n closeModal={toggleLightbox}\n caption={caption}\n imgWrapperProps={lightboxImgProps}\n name={metaTitle || name}\n {...otherProps}\n />\n )}\n </>\n );\n};\n\nImageRender.propTypes = {\n displayLightbox: PropTypes.bool.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n alt: PropTypes.string,\n caption: PropTypes.string,\n imageUrl: PropTypes.string.isRequired,\n name: PropTypes.string,\n heroModifier: PropTypes.string,\n metaTitle: PropTypes.string,\n handleEnableLightbox: PropTypes.func.isRequired,\n toggleLightbox: PropTypes.func.isRequired,\n lightboxImgProps: PropTypes.object.isRequired,\n style: PropTypes.object,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n sizeKey: PropTypes.string\n};\n\nImageRender.defaultProps = {\n name: '',\n metaTitle: '',\n heroModifier: '',\n alt: '',\n caption: '',\n isHero: false,\n priority: false,\n style: {},\n sizeKey: ''\n};\n\nexport default ImageRender;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,MAAMC,WAAW,GAAG,QAiBd;EAAA,IAjBe;IACnBC,GADmB;IAEnBC,QAFmB;IAGnBC,oBAHmB;IAInBC,cAJmB;IAKnBC,eALmB;IAMnBC,cANmB;IAOnBC,OAPmB;IAQnBC,gBARmB;IASnBC,IATmB;IAUnBC,SAVmB;IAWnBC,YAXmB;IAYnBC,KAZmB;IAanBC,MAbmB;IAcnBC,QAdmB;IAenBC;EAfmB,CAiBf;EAAA,IADDC,UACC;;EACJ,MAAMC,UAAU,GAAGX,cAAc,GAAG;IAAEY,MAAM,EAAE;EAAV,CAAH,GAA2BN,KAA5D;EACA,MAAMO,aAAa,GAAGL,QAAQ,GAAGjB,IAAH,GAAU,IAAxC;EAEA,oBACE,uDACE,oBAAC,eAAD;IACE,OAAO,EAAEkB,OADX;IAEE,GAAG,EAAEd,GAFP;IAGE,GAAG,EAAEC,QAHP;IAIE,OAAO,EAAEC,oBAJX;IAKE,KAAK,EAAEc,UALT;IAME,aAAa,EAAEE;EANjB,EADF,EASGd,eAAe,iBACd,oBAAC,QAAD;IACE,QAAQ,EAAEH,QADZ;IAEE,GAAG,EAAED,GAFP;IAGE,QAAQ,EAAEa,QAHZ;IAIE,UAAU,EAAEV,cAJd;IAKE,OAAO,EAAEG,OALX;IAME,eAAe,EAAEC,gBANnB;IAOE,IAAI,EAAEE,SAAS,IAAID;EAPrB,GAQMO,UARN,EAVJ,CADF;AAwBD,CA7CD;;AA+CAhB,WAAW,CAACoB,SAAZ,GAAwB;EACtBf,eAAe,EAAET,SAAS,CAACyB,IAAV,CAAeC,UADV;EAEtBhB,cAAc,EAAEV,SAAS,CAACyB,IAAV,CAAeC,UAFT;EAGtBrB,GAAG,EAAEL,SAAS,CAAC2B,MAHO;EAItBhB,OAAO,EAAEX,SAAS,CAAC2B,MAJG;EAKtBrB,QAAQ,EAAEN,SAAS,CAAC2B,MAAV,CAAiBD,UALL;EAMtBb,IAAI,EAAEb,SAAS,CAAC2B,MANM;EAOtBZ,YAAY,EAAEf,SAAS,CAAC2B,MAPF;EAQtBb,SAAS,EAAEd,SAAS,CAAC2B,MARC;EAStBpB,oBAAoB,EAAEP,SAAS,CAAC4B,IAAV,CAAeF,UATf;EAUtBlB,cAAc,EAAER,SAAS,CAAC4B,IAAV,CAAeF,UAVT;EAWtBd,gBAAgB,EAAEZ,SAAS,CAAC6B,MAAV,CAAiBH,UAXb;EAYtBV,KAAK,EAAEhB,SAAS,CAAC6B,MAZK;EAatBZ,MAAM,EAAEjB,SAAS,CAACyB,IAbI;EActBP,QAAQ,EAAElB,SAAS,CAACyB,IAdE;EAetBN,OAAO,EAAEnB,SAAS,CAAC2B;AAfG,CAAxB;AAkBAvB,WAAW,CAAC0B,YAAZ,GAA2B;EACzBjB,IAAI,EAAE,EADmB;EAEzBC,SAAS,EAAE,EAFc;EAGzBC,YAAY,EAAE,EAHW;EAIzBV,GAAG,EAAE,EAJoB;EAKzBM,OAAO,EAAE,EALgB;EAMzBM,MAAM,EAAE,KANiB;EAOzBC,QAAQ,EAAE,KAPe;EAQzBF,KAAK,EAAE,EARkB;EASzBG,OAAO,EAAE;AATgB,CAA3B;AAYA,eAAef,WAAf"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { BsBookmarkStarFill, BsBookmarkCheckFill, BsBookmarkStar, BsBookmarkXFill } from 'react-icons/bs';
|
|
4
|
+
import { useQuery, useMutation } from '@apollo/client';
|
|
5
|
+
import { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';
|
|
6
|
+
import { getItemListData, setItemListId } from '../helpers';
|
|
7
|
+
import { useItemListId } from '../hooks';
|
|
8
|
+
|
|
9
|
+
const ItemListButton = ({
|
|
10
|
+
listName,
|
|
11
|
+
parent,
|
|
12
|
+
modifier
|
|
13
|
+
}) => {
|
|
14
|
+
const {
|
|
15
|
+
itemId,
|
|
16
|
+
itemEntity
|
|
17
|
+
} = parent;
|
|
18
|
+
const [isHover, setIsHover] = useState(false);
|
|
19
|
+
const {
|
|
20
|
+
listId
|
|
21
|
+
} = useItemListId({
|
|
22
|
+
listName
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const getIcon = () => {
|
|
26
|
+
if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;
|
|
27
|
+
return isHover ? BsBookmarkStarFill : BsBookmarkStar;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const {
|
|
31
|
+
data,
|
|
32
|
+
error,
|
|
33
|
+
loading
|
|
34
|
+
} = useQuery(getItemList, {
|
|
35
|
+
variables: {
|
|
36
|
+
id: listId
|
|
37
|
+
},
|
|
38
|
+
skip: !listId
|
|
39
|
+
});
|
|
40
|
+
const [addListItem] = useMutation(addItemsToList, {
|
|
41
|
+
onCompleted: ({
|
|
42
|
+
addItemsToList: listAddResult
|
|
43
|
+
}) => {
|
|
44
|
+
const {
|
|
45
|
+
result: {
|
|
46
|
+
id
|
|
47
|
+
}
|
|
48
|
+
} = listAddResult;
|
|
49
|
+
|
|
50
|
+
if (!listId) {
|
|
51
|
+
setItemListId(listName, id);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const [removeListItem] = useMutation(removeItemsFromList);
|
|
56
|
+
|
|
57
|
+
const clickHandler = () => {
|
|
58
|
+
setIsHover(false);
|
|
59
|
+
isInList ? removeListItem({
|
|
60
|
+
variables: {
|
|
61
|
+
listId,
|
|
62
|
+
listItems: [{
|
|
63
|
+
itemId,
|
|
64
|
+
itemEntity
|
|
65
|
+
}]
|
|
66
|
+
},
|
|
67
|
+
skip: !listId
|
|
68
|
+
}) : addListItem({
|
|
69
|
+
variables: {
|
|
70
|
+
name: listName,
|
|
71
|
+
id: listId,
|
|
72
|
+
listItems: [{
|
|
73
|
+
itemId,
|
|
74
|
+
itemEntity
|
|
75
|
+
}]
|
|
76
|
+
},
|
|
77
|
+
skip: !listId
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
if (loading) return '';
|
|
82
|
+
if (error) return error.message;
|
|
83
|
+
const listItems = getItemListData(data);
|
|
84
|
+
const isInList = !!listItems.find(({
|
|
85
|
+
itemId: idToCheck,
|
|
86
|
+
itemEntity: entityToCheck
|
|
87
|
+
}) => idToCheck === itemId && entityToCheck === itemEntity);
|
|
88
|
+
const Icon = getIcon();
|
|
89
|
+
const stateClassName = isInList ? 'item-list-button--selected' : '';
|
|
90
|
+
const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');
|
|
91
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: className,
|
|
93
|
+
role: "button",
|
|
94
|
+
onClick: clickHandler,
|
|
95
|
+
onMouseEnter: () => setIsHover(true),
|
|
96
|
+
onMouseLeave: () => setIsHover(false)
|
|
97
|
+
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(Icon, null)));
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
ItemListButton.propTypes = {
|
|
101
|
+
parent: PropTypes.object,
|
|
102
|
+
listName: PropTypes.string,
|
|
103
|
+
modifier: PropTypes.string
|
|
104
|
+
};
|
|
105
|
+
ItemListButton.defaultProps = {
|
|
106
|
+
parent: {},
|
|
107
|
+
listName: '',
|
|
108
|
+
modifier: ''
|
|
109
|
+
};
|
|
110
|
+
export default ItemListButton;
|
|
111
|
+
//# sourceMappingURL=ItemListButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemListButton.js","names":["React","useState","PropTypes","BsBookmarkStarFill","BsBookmarkCheckFill","BsBookmarkStar","BsBookmarkXFill","useQuery","useMutation","getItemList","addItemsToList","removeItemsFromList","getItemListData","setItemListId","useItemListId","ItemListButton","listName","parent","modifier","itemId","itemEntity","isHover","setIsHover","listId","getIcon","isInList","data","error","loading","variables","id","skip","addListItem","onCompleted","listAddResult","result","removeListItem","clickHandler","listItems","name","message","find","idToCheck","entityToCheck","Icon","stateClassName","className","filter","Boolean","join","propTypes","object","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListButton/ItemListButton.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n BsBookmarkStarFill,\n BsBookmarkCheckFill,\n BsBookmarkStar,\n BsBookmarkXFill\n} from 'react-icons/bs';\nimport { useQuery, useMutation } from '@apollo/client';\nimport { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';\nimport { getItemListData, setItemListId } from '../helpers';\nimport { useItemListId } from '../hooks';\n\nconst ItemListButton = ({ listName, parent, modifier }) => {\n const { itemId, itemEntity } = parent;\n const [isHover, setIsHover] = useState(false);\n const { listId } = useItemListId({ listName });\n\n const getIcon = () => {\n if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;\n return isHover ? BsBookmarkStarFill : BsBookmarkStar;\n };\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n const [addListItem] = useMutation(addItemsToList, {\n onCompleted: ({ addItemsToList: listAddResult }) => {\n const {\n result: { id }\n } = listAddResult;\n\n if (!listId) {\n setItemListId(listName, id);\n }\n }\n });\n\n const [removeListItem] = useMutation(removeItemsFromList);\n\n const clickHandler = () => {\n setIsHover(false);\n isInList\n ? removeListItem({\n variables: { listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n })\n : addListItem({\n variables: { name: listName, id: listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n });\n };\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const isInList = !!listItems.find(\n ({ itemId: idToCheck, itemEntity: entityToCheck }) =>\n idToCheck === itemId && entityToCheck === itemEntity\n );\n const Icon = getIcon();\n const stateClassName = isInList ? 'item-list-button--selected' : '';\n const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');\n\n return (\n <div\n className={className}\n role=\"button\"\n onClick={clickHandler}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}>\n <i>\n <Icon />\n </i>\n </div>\n );\n};\n\nItemListButton.propTypes = {\n parent: PropTypes.object,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListButton.defaultProps = {\n parent: {},\n listName: '',\n modifier: ''\n};\n\nexport default ItemListButton;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ItemListButton"],"sources":["../../../../src/components/ItemList/ItemListButton/index.js"],"sourcesContent":["import ItemListButton from './ItemListButton';\n\nexport default ItemListButton;\n"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAeA,cAAf"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { useRouter } from 'next/router';
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
|
+
import { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';
|
|
6
|
+
import { getItemList } from '../../../application/query';
|
|
7
|
+
import { useItemListId } from '../hooks';
|
|
8
|
+
import { getItemListData } from '../helpers';
|
|
9
|
+
|
|
10
|
+
const ItemListCounter = ({
|
|
11
|
+
listName,
|
|
12
|
+
modifier,
|
|
13
|
+
url
|
|
14
|
+
}) => {
|
|
15
|
+
const router = useRouter();
|
|
16
|
+
const {
|
|
17
|
+
listId
|
|
18
|
+
} = useItemListId({
|
|
19
|
+
listName
|
|
20
|
+
});
|
|
21
|
+
const {
|
|
22
|
+
data,
|
|
23
|
+
error,
|
|
24
|
+
loading
|
|
25
|
+
} = useQuery(getItemList, {
|
|
26
|
+
variables: {
|
|
27
|
+
id: listId
|
|
28
|
+
},
|
|
29
|
+
skip: !listId
|
|
30
|
+
});
|
|
31
|
+
if (loading) return '';
|
|
32
|
+
if (error) return error.message;
|
|
33
|
+
const listItems = getItemListData(data);
|
|
34
|
+
const listLength = listItems.length;
|
|
35
|
+
const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;
|
|
36
|
+
|
|
37
|
+
const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);
|
|
38
|
+
|
|
39
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
role: "button",
|
|
41
|
+
type: "button",
|
|
42
|
+
className: `item-list-counter ${modifier}`,
|
|
43
|
+
onClick: handleClick
|
|
44
|
+
}, /*#__PURE__*/React.createElement(CounterIcon, null), /*#__PURE__*/React.createElement("span", {
|
|
45
|
+
className: "item-list-counter__badge"
|
|
46
|
+
}, listLength));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
ItemListCounter.propTypes = {
|
|
50
|
+
url: PropTypes.string,
|
|
51
|
+
listName: PropTypes.string,
|
|
52
|
+
modifier: PropTypes.string
|
|
53
|
+
};
|
|
54
|
+
ItemListCounter.defaultProps = {
|
|
55
|
+
url: '',
|
|
56
|
+
listName: '',
|
|
57
|
+
modifier: ''
|
|
58
|
+
};
|
|
59
|
+
export default ItemListCounter;
|
|
60
|
+
//# sourceMappingURL=ItemListCounter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemListCounter.js","names":["React","PropTypes","useRouter","useQuery","BsBookmarkStarFill","BsBookmarkStar","getItemList","useItemListId","getItemListData","ItemListCounter","listName","modifier","url","router","listId","data","error","loading","variables","id","skip","message","listItems","listLength","length","CounterIcon","handleClick","push","propTypes","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListCounter/ItemListCounter.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData } from '../helpers';\n\nconst ItemListCounter = ({ listName, modifier, url }) => {\n const router = useRouter();\n const { listId } = useItemListId({ listName });\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const listLength = listItems.length;\n const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;\n\n const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);\n\n return (\n <div\n role=\"button\"\n type=\"button\"\n className={`item-list-counter ${modifier}`}\n onClick={handleClick}>\n <CounterIcon />\n <span className=\"item-list-counter__badge\">{listLength}</span>\n </div>\n );\n};\n\nItemListCounter.propTypes = {\n url: PropTypes.string,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListCounter.defaultProps = {\n url: '',\n listName: '',\n modifier: ''\n};\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAASC,kBAAT,EAA6BC,cAA7B,QAAmD,gBAAnD;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,aAAT,QAA8B,UAA9B;AACA,SAASC,eAAT,QAAgC,YAAhC;;AAEA,MAAMC,eAAe,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAiC;EACvD,MAAMC,MAAM,GAAGX,SAAS,EAAxB;EACA,MAAM;IAAEY;EAAF,IAAaP,aAAa,CAAC;IAAEG;EAAF,CAAD,CAAhC;EAEA,MAAM;IAAEK,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2Bd,QAAQ,CAACG,WAAD,EAAc;IACrDY,SAAS,EAAE;MAAEC,EAAE,EAAEL;IAAN,CAD0C;IAErDM,IAAI,EAAE,CAACN;EAF8C,CAAd,CAAzC;EAKA,IAAIG,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACK,OAAb;EAEX,MAAMC,SAAS,GAAGd,eAAe,CAACO,IAAD,CAAjC;EACA,MAAMQ,UAAU,GAAGD,SAAS,CAACE,MAA7B;EACA,MAAMC,WAAW,GAAGF,UAAU,GAAGnB,kBAAH,GAAwBC,cAAtD;;EAEA,MAAMqB,WAAW,GAAG,MAAMb,MAAM,CAACc,IAAP,CAAY,WAAZ,EAA0B,GAAEf,GAAI,eAAcE,MAAO,EAArD,CAA1B;;EAEA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,IAAI,EAAC,QAFP;IAGE,SAAS,EAAG,qBAAoBH,QAAS,EAH3C;IAIE,OAAO,EAAEe;EAJX,gBAKE,oBAAC,WAAD,OALF,eAME;IAAM,SAAS,EAAC;EAAhB,GAA4CH,UAA5C,CANF,CADF;AAUD,CA5BD;;AA8BAd,eAAe,CAACmB,SAAhB,GAA4B;EAC1BhB,GAAG,EAAEX,SAAS,CAAC4B,MADW;EAE1BnB,QAAQ,EAAET,SAAS,CAAC4B,MAFM;EAG1BlB,QAAQ,EAAEV,SAAS,CAAC4B;AAHM,CAA5B;AAMApB,eAAe,CAACqB,YAAhB,GAA+B;EAC7BlB,GAAG,EAAE,EADwB;EAE7BF,QAAQ,EAAE,EAFmB;EAG7BC,QAAQ,EAAE;AAHmB,CAA/B;AAMA,eAAeF,eAAf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ItemListCounter"],"sources":["../../../../src/components/ItemList/ItemListCounter/index.js"],"sourcesContent":["import ItemListCounter from './ItemListCounter';\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,mBAA5B;AAEA,eAAeA,eAAf"}
|