@athoscommerce/snap-preact 1.1.5 → 1.2.0
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/dist/cjs/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/BadgeImage/BadgeImage.js +10 -1
- package/dist/cjs/components/src/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/BadgePill/BadgePill.js +10 -1
- package/dist/cjs/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.js +10 -1
- package/dist/cjs/components/src/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/BadgeText/BadgeText.js +10 -1
- package/dist/cjs/components/src/components/Atoms/Banner/Banner.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Banner/Banner.js +13 -5
- package/dist/cjs/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.js +10 -1
- package/dist/cjs/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Button/Button.js +10 -3
- package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +11 -3
- package/dist/cjs/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/FormattedNumber/FormattedNumber.js +10 -1
- package/dist/cjs/components/src/components/Atoms/Icon/Icon.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Icon/Icon.js +10 -1
- package/dist/cjs/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Image/Image.js +12 -3
- package/dist/cjs/components/src/components/Atoms/InlineBanner/InlineBanner.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/InlineBanner/InlineBanner.js +10 -1
- package/dist/cjs/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/LoadingBar/LoadingBar.js +10 -1
- package/dist/cjs/components/src/components/Atoms/Overlay/Overlay.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Overlay/Overlay.js +11 -2
- package/dist/cjs/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/PaginationInfo/PaginationInfo.js +12 -5
- package/dist/cjs/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Price/Price.js +10 -1
- package/dist/cjs/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/SearchHeader/SearchHeader.js +10 -3
- package/dist/cjs/components/src/components/Atoms/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/Skeleton/Skeleton.js +10 -1
- package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +4 -18
- package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +10 -4
- package/dist/cjs/components/src/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Carousel/Carousel.js +10 -2
- package/dist/cjs/components/src/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Checkbox/Checkbox.js +10 -3
- package/dist/cjs/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/ErrorHandler/ErrorHandler.js +10 -3
- package/dist/cjs/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.js +9 -1
- package/dist/cjs/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +9 -1
- package/dist/cjs/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/FacetListOptions/FacetListOptions.js +9 -1
- package/dist/cjs/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +9 -1
- package/dist/cjs/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/FacetSlider/FacetSlider.js +19 -12
- package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Filter/Filter.js +11 -4
- package/dist/cjs/components/src/components/Molecules/Grid/Grid.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Grid/Grid.js +11 -3
- package/dist/cjs/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/LayoutSelector/LayoutSelector.js +10 -1
- package/dist/cjs/components/src/components/Molecules/List/List.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/List/List.js +11 -4
- package/dist/cjs/components/src/components/Molecules/LoadMore/LoadMore.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/LoadMore/LoadMore.js +13 -6
- package/dist/cjs/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Modal/Modal.js +9 -1
- package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +13 -7
- package/dist/cjs/components/src/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Pagination/Pagination.js +12 -5
- package/dist/cjs/components/src/components/Molecules/PerPage/PerPage.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/PerPage/PerPage.js +13 -5
- package/dist/cjs/components/src/components/Molecules/Radio/Radio.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Radio/Radio.js +10 -3
- package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.js +11 -4
- package/dist/cjs/components/src/components/Molecules/Rating/Rating.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Rating/Rating.js +10 -1
- package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts +1 -0
- package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Result/Result.js +12 -6
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +10 -1
- package/dist/cjs/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Select/Select.js +12 -5
- package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +11 -3
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +83 -38
- package/dist/cjs/components/src/components/Molecules/SortBy/SortBy.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/SortBy/SortBy.js +12 -4
- package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.js +10 -2
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +9 -4
- package/dist/cjs/components/src/components/Molecules/Terms/Terms.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Terms/Terms.js +9 -2
- package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.js +9 -1
- package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts +2 -2
- package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.js +26 -23
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +2 -2
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +1 -1
- package/dist/cjs/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/BranchOverride/BranchOverride.js +12 -3
- package/dist/cjs/components/src/components/Organisms/Facet/Facet.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Facet/Facet.js +19 -12
- package/dist/cjs/components/src/components/Organisms/Facets/Facets.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Facets/Facets.js +10 -2
- package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +10 -3
- package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.js +10 -3
- package/dist/cjs/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/MobileSidebar/MobileSidebar.js +9 -1
- package/dist/cjs/components/src/components/Organisms/NoResults/NoResults.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/NoResults/NoResults.js +22 -19
- package/dist/cjs/components/src/components/Organisms/Results/Results.d.ts +2 -2
- package/dist/cjs/components/src/components/Organisms/Results/Results.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Results/Results.js +18 -16
- package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.d.ts +1 -1
- package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.js +12 -5
- package/dist/cjs/components/src/components/Organisms/TermsList/TermsList.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/TermsList/TermsList.js +11 -2
- package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.js +10 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +3 -2
- package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +3 -2
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +3 -2
- package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.d.ts +4 -4
- package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.js +5 -2
- package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts +3 -8
- package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +12 -5
- package/dist/cjs/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts +3 -9
- package/dist/cjs/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts +3 -9
- package/dist/cjs/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.js +1 -2
- package/dist/cjs/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts +3 -9
- package/dist/cjs/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts +3 -5
- package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.js +1 -2
- package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts +3 -3
- package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +6 -2
- package/dist/cjs/components/src/components/Templates/Search/Search.d.ts +3 -3
- package/dist/cjs/components/src/components/Templates/Search/Search.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts +1 -1
- package/dist/cjs/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts +1 -1
- package/dist/cjs/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts.map +1 -1
- package/dist/cjs/components/src/hooks/createRecommendationTemplate.d.ts +3 -4
- package/dist/cjs/components/src/hooks/createRecommendationTemplate.d.ts.map +1 -1
- package/dist/cjs/components/src/hooks/createRecommendationTemplate.js +9 -13
- package/dist/cjs/components/src/hooks/useComponent.d.ts.map +1 -1
- package/dist/cjs/components/src/hooks/useComponent.js +3 -0
- package/dist/cjs/components/src/index.d.ts +2 -0
- package/dist/cjs/components/src/index.d.ts.map +1 -1
- package/dist/cjs/components/src/index.js +2 -0
- package/dist/cjs/components/src/providers/theme.d.ts +14 -0
- package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/atoms/breadcrumbs.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/atoms/breadcrumbs.js +6 -0
- package/dist/cjs/components/src/themes/pike/components/atoms/dropdown.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/atoms/dropdown.js +4 -13
- package/dist/cjs/components/src/themes/pike/components/molecules/carousel.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/carousel.js +9 -23
- package/dist/cjs/components/src/themes/pike/components/molecules/checkbox.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/checkbox.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/molecules/errorHandler.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/errorHandler.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/molecules/facetHierarchyOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/facetHierarchyOptions.js +4 -10
- package/dist/cjs/components/src/themes/pike/components/molecules/facetListOptions.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/facetListOptions.js +5 -13
- package/dist/cjs/components/src/themes/pike/components/molecules/facetPaletteOptions.js +10 -23
- package/dist/cjs/components/src/themes/pike/components/molecules/filter.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/filter.js +3 -10
- package/dist/cjs/components/src/themes/pike/components/molecules/grid.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/list.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/list.js +6 -15
- package/dist/cjs/components/src/themes/pike/components/molecules/loadMore.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/loadMore.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/molecules/pagination.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/radio.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/radio.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/molecules/radioList.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/radioList.js +66 -30
- package/dist/cjs/components/src/themes/pike/components/molecules/result.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/result.js +20 -29
- package/dist/cjs/components/src/themes/pike/components/molecules/searchInput.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/searchInput.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/molecules/select.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/select.js +4 -13
- package/dist/cjs/components/src/themes/pike/components/molecules/swatches.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/molecules/swatches.js +11 -5
- package/dist/cjs/components/src/themes/pike/components/molecules/terms.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/autocomplete.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/autocomplete.js +11 -9
- package/dist/cjs/components/src/themes/pike/components/organisms/facet.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/facet.js +5 -5
- package/dist/cjs/components/src/themes/pike/components/organisms/facetsHorizontal.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/facetsHorizontal.js +6 -6
- package/dist/cjs/components/src/themes/pike/components/organisms/mobileSidebar.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/mobileSidebar.js +1 -0
- package/dist/cjs/components/src/themes/pike/components/organisms/noResults.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/organisms/noResults.js +2 -11
- package/dist/cjs/components/src/themes/pike/components/organisms/toolbar.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteFixed.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteFixed.js +7 -2
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteModal.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteModal.js +5 -3
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteShared.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteShared.js +42 -34
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteSlideout.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteSlideout.js +7 -0
- package/dist/cjs/components/src/themes/pike/components/templates/recommendation.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendation.js +7 -8
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationBundle.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationBundle.js +4 -8
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationBundleEasyAdd.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationBundleList.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationBundleVertical.js +3 -4
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationEmail.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationEmail.js +19 -8
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationGrid.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/recommendationGrid.js +18 -6
- package/dist/cjs/components/src/themes/pike/components/templates/search.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/search.js +14 -18
- package/dist/cjs/components/src/themes/pike/components/templates/searchCollapsible.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/searchHorizontal.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/searchHorizontal.js +14 -17
- package/dist/cjs/components/src/themes/pike/custom.d.ts +3 -2
- package/dist/cjs/components/src/themes/pike/custom.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/pike/custom.js +13 -5
- package/dist/cjs/components/src/types.d.ts +1 -7
- package/dist/cjs/components/src/types.d.ts.map +1 -1
- package/dist/cjs/components/src/utilities/cloneWithProps.d.ts.map +1 -1
- package/dist/cjs/components/src/utilities/cloneWithProps.js +24 -1
- package/dist/cjs/components/src/utilities/mergeProps.d.ts.map +1 -1
- package/dist/cjs/components/src/utilities/mergeProps.js +95 -6
- package/dist/cjs/src/Snap.d.ts +1 -2
- package/dist/cjs/src/Snap.d.ts.map +1 -1
- package/dist/cjs/src/Snap.js +40 -13
- package/dist/cjs/src/SnapHybrid.d.ts +12 -0
- package/dist/cjs/src/SnapHybrid.d.ts.map +1 -0
- package/dist/cjs/src/SnapHybrid.js +65 -0
- package/dist/cjs/src/Templates/SnapTemplates.d.ts +19 -7
- package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/cjs/src/Templates/SnapTemplates.js +29 -47
- package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts +128 -7
- package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/LibraryStore.js +188 -4
- package/dist/cjs/src/Templates/Stores/TargetStore.d.ts +0 -2
- package/dist/cjs/src/Templates/Stores/TargetStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TargetStore.js +0 -7
- package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +12 -3
- package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +95 -8
- package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +1 -5
- package/dist/cjs/src/Templates/index.d.ts +1 -0
- package/dist/cjs/src/Templates/index.d.ts.map +1 -1
- package/dist/cjs/src/index.d.ts +1 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +3 -1
- package/dist/cjs/src/types.d.ts +1 -1
- package/dist/cjs/src/types.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/BadgeImage/BadgeImage.js +10 -2
- package/dist/esm/components/src/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/BadgePill/BadgePill.js +10 -2
- package/dist/esm/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.js +10 -2
- package/dist/esm/components/src/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/BadgeText/BadgeText.js +10 -2
- package/dist/esm/components/src/components/Atoms/Banner/Banner.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Banner/Banner.js +10 -2
- package/dist/esm/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.js +10 -2
- package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Button/Button.js +11 -4
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +11 -4
- package/dist/esm/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/FormattedNumber/FormattedNumber.js +11 -3
- package/dist/esm/components/src/components/Atoms/Icon/Icon.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Icon/Icon.js +10 -2
- package/dist/esm/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Image/Image.js +10 -2
- package/dist/esm/components/src/components/Atoms/InlineBanner/InlineBanner.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/InlineBanner/InlineBanner.js +10 -2
- package/dist/esm/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/LoadingBar/LoadingBar.js +10 -2
- package/dist/esm/components/src/components/Atoms/Overlay/Overlay.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Overlay/Overlay.js +10 -2
- package/dist/esm/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/PaginationInfo/PaginationInfo.js +10 -3
- package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Price/Price.js +11 -3
- package/dist/esm/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/SearchHeader/SearchHeader.js +10 -3
- package/dist/esm/components/src/components/Atoms/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Skeleton/Skeleton.js +10 -2
- package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +1 -15
- package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +7 -1
- package/dist/esm/components/src/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Carousel/Carousel.js +10 -2
- package/dist/esm/components/src/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Checkbox/Checkbox.js +10 -3
- package/dist/esm/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/ErrorHandler/ErrorHandler.js +10 -3
- package/dist/esm/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.js +10 -3
- package/dist/esm/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +10 -3
- package/dist/esm/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/FacetListOptions/FacetListOptions.js +10 -3
- package/dist/esm/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +10 -3
- package/dist/esm/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/FacetSlider/FacetSlider.js +10 -3
- package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Filter/Filter.js +10 -3
- package/dist/esm/components/src/components/Molecules/Grid/Grid.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Grid/Grid.js +10 -3
- package/dist/esm/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/LayoutSelector/LayoutSelector.js +10 -2
- package/dist/esm/components/src/components/Molecules/List/List.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/List/List.js +10 -3
- package/dist/esm/components/src/components/Molecules/LoadMore/LoadMore.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/LoadMore/LoadMore.js +10 -3
- package/dist/esm/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Modal/Modal.js +10 -3
- package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +8 -2
- package/dist/esm/components/src/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Pagination/Pagination.js +10 -3
- package/dist/esm/components/src/components/Molecules/PerPage/PerPage.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/PerPage/PerPage.js +10 -2
- package/dist/esm/components/src/components/Molecules/Radio/Radio.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Radio/Radio.js +10 -3
- package/dist/esm/components/src/components/Molecules/RadioList/RadioList.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/RadioList/RadioList.js +10 -3
- package/dist/esm/components/src/components/Molecules/Rating/Rating.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Rating/Rating.js +10 -2
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +1 -0
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.js +10 -4
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +10 -2
- package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Select/Select.js +10 -3
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +10 -3
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +75 -26
- package/dist/esm/components/src/components/Molecules/SortBy/SortBy.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/SortBy/SortBy.js +10 -2
- package/dist/esm/components/src/components/Molecules/Swatches/Swatches.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Swatches/Swatches.js +10 -3
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +9 -4
- package/dist/esm/components/src/components/Molecules/Terms/Terms.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Terms/Terms.js +10 -3
- package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.js +10 -3
- package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts +2 -2
- package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.js +10 -7
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +2 -2
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +2 -2
- package/dist/esm/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/BranchOverride/BranchOverride.js +10 -2
- package/dist/esm/components/src/components/Organisms/Facet/Facet.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Facet/Facet.js +10 -3
- package/dist/esm/components/src/components/Organisms/Facets/Facets.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Facets/Facets.js +10 -2
- package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +10 -3
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.js +10 -3
- package/dist/esm/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/MobileSidebar/MobileSidebar.js +10 -3
- package/dist/esm/components/src/components/Organisms/NoResults/NoResults.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/NoResults/NoResults.js +9 -6
- package/dist/esm/components/src/components/Organisms/Results/Results.d.ts +2 -2
- package/dist/esm/components/src/components/Organisms/Results/Results.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Results/Results.js +17 -15
- package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.d.ts +1 -1
- package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.js +10 -3
- package/dist/esm/components/src/components/Organisms/TermsList/TermsList.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/TermsList/TermsList.js +10 -2
- package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.js +10 -2
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +3 -2
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +3 -2
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +3 -2
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts +4 -4
- package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.js +6 -3
- package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts +3 -8
- package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +11 -3
- package/dist/esm/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts +3 -9
- package/dist/esm/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts +3 -9
- package/dist/esm/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.js +0 -2
- package/dist/esm/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts +3 -9
- package/dist/esm/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts +3 -5
- package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.js +8 -3
- package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts +3 -3
- package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +7 -3
- package/dist/esm/components/src/components/Templates/Search/Search.d.ts +3 -3
- package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts +1 -1
- package/dist/esm/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts +1 -1
- package/dist/esm/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/createRecommendationTemplate.d.ts +3 -4
- package/dist/esm/components/src/hooks/createRecommendationTemplate.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/createRecommendationTemplate.js +2 -6
- package/dist/esm/components/src/hooks/useComponent.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/useComponent.js +3 -0
- package/dist/esm/components/src/index.d.ts +2 -0
- package/dist/esm/components/src/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.js +2 -0
- package/dist/esm/components/src/providers/theme.d.ts +14 -0
- package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/atoms/breadcrumbs.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/atoms/breadcrumbs.js +6 -0
- package/dist/esm/components/src/themes/pike/components/atoms/dropdown.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/atoms/dropdown.js +1 -2
- package/dist/esm/components/src/themes/pike/components/molecules/carousel.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/carousel.js +7 -18
- package/dist/esm/components/src/themes/pike/components/molecules/checkbox.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/checkbox.js +1 -0
- package/dist/esm/components/src/themes/pike/components/molecules/errorHandler.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/errorHandler.js +1 -0
- package/dist/esm/components/src/themes/pike/components/molecules/facetHierarchyOptions.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/facetHierarchyOptions.js +3 -4
- package/dist/esm/components/src/themes/pike/components/molecules/facetListOptions.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/facetListOptions.js +3 -4
- package/dist/esm/components/src/themes/pike/components/molecules/facetPaletteOptions.js +3 -3
- package/dist/esm/components/src/themes/pike/components/molecules/filter.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/filter.js +2 -3
- package/dist/esm/components/src/themes/pike/components/molecules/grid.js +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/list.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/list.js +3 -4
- package/dist/esm/components/src/themes/pike/components/molecules/loadMore.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/loadMore.js +1 -0
- package/dist/esm/components/src/themes/pike/components/molecules/pagination.js +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/radio.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/radio.js +1 -0
- package/dist/esm/components/src/themes/pike/components/molecules/radioList.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/radioList.js +60 -16
- package/dist/esm/components/src/themes/pike/components/molecules/result.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/result.js +13 -6
- package/dist/esm/components/src/themes/pike/components/molecules/searchInput.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/searchInput.js +1 -0
- package/dist/esm/components/src/themes/pike/components/molecules/select.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/select.js +1 -2
- package/dist/esm/components/src/themes/pike/components/molecules/swatches.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/molecules/swatches.js +11 -5
- package/dist/esm/components/src/themes/pike/components/molecules/terms.js +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/autocomplete.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/autocomplete.js +11 -9
- package/dist/esm/components/src/themes/pike/components/organisms/facet.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/facet.js +5 -5
- package/dist/esm/components/src/themes/pike/components/organisms/facetsHorizontal.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/facetsHorizontal.js +6 -6
- package/dist/esm/components/src/themes/pike/components/organisms/mobileSidebar.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/mobileSidebar.js +2 -1
- package/dist/esm/components/src/themes/pike/components/organisms/noResults.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/organisms/noResults.js +2 -6
- package/dist/esm/components/src/themes/pike/components/organisms/toolbar.js +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteFixed.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteFixed.js +7 -2
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteModal.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteModal.js +5 -2
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteShared.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteShared.js +17 -10
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteSlideout.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteSlideout.js +7 -0
- package/dist/esm/components/src/themes/pike/components/templates/recommendation.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendation.js +7 -6
- package/dist/esm/components/src/themes/pike/components/templates/recommendationBundle.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendationBundle.js +4 -6
- package/dist/esm/components/src/themes/pike/components/templates/recommendationBundleEasyAdd.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendationBundleList.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendationBundleVertical.js +1 -2
- package/dist/esm/components/src/themes/pike/components/templates/recommendationEmail.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendationEmail.js +21 -6
- package/dist/esm/components/src/themes/pike/components/templates/recommendationGrid.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/recommendationGrid.js +23 -9
- package/dist/esm/components/src/themes/pike/components/templates/search.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/search.js +14 -18
- package/dist/esm/components/src/themes/pike/components/templates/searchCollapsible.js +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/searchHorizontal.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/searchHorizontal.js +13 -16
- package/dist/esm/components/src/themes/pike/custom.d.ts +3 -2
- package/dist/esm/components/src/themes/pike/custom.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/custom.js +13 -5
- package/dist/esm/components/src/types.d.ts +1 -7
- package/dist/esm/components/src/types.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/cloneWithProps.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/cloneWithProps.js +14 -2
- package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/mergeProps.js +93 -6
- package/dist/esm/src/Snap.d.ts +1 -2
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +32 -5
- package/dist/esm/src/SnapHybrid.d.ts +12 -0
- package/dist/esm/src/SnapHybrid.d.ts.map +1 -0
- package/dist/esm/src/SnapHybrid.js +27 -0
- package/dist/esm/src/Templates/SnapTemplates.d.ts +19 -7
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +14 -42
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +128 -7
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/LibraryStore.js +188 -4
- package/dist/esm/src/Templates/Stores/TargetStore.d.ts +0 -2
- package/dist/esm/src/Templates/Stores/TargetStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TargetStore.js +0 -7
- package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +1 -3
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +95 -8
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.js +1 -5
- package/dist/esm/src/Templates/index.d.ts +1 -0
- package/dist/esm/src/Templates/index.d.ts.map +1 -1
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +1 -0
- package/dist/esm/src/types.d.ts +1 -1
- package/dist/esm/src/types.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Symbol to track prop-value pairs that originated from theme configuration
|
|
2
|
+
const THEME_PROPS_MAP_SYMBOL = Symbol.for('__themePropsMap__');
|
|
1
3
|
export function mergeProps(componentType, globalTheme, defaultProps, props) {
|
|
2
4
|
/*
|
|
3
5
|
|
|
@@ -55,14 +57,72 @@ export function mergeProps(componentType, globalTheme, defaultProps, props) {
|
|
|
55
57
|
// add globalTheme props for components with selector matches if they exist
|
|
56
58
|
const filteredGlobalApplicableSelectors = filterSelectors(globalTheme?.components || {}, treePath);
|
|
57
59
|
const globalApplicableSelectors = filteredGlobalApplicableSelectors.sort(sortSelectors);
|
|
58
|
-
|
|
60
|
+
// Split selectors into base theme (with *) and user overrides (without *)
|
|
61
|
+
const baseThemeSelectors = globalApplicableSelectors.filter((s) => s.includes('*'));
|
|
62
|
+
const userOverrideSelectors = globalApplicableSelectors.filter((s) => !s.includes('*'));
|
|
63
|
+
// 1. Apply base theme props first, tracking which props are set by SPECIFIC selectors
|
|
64
|
+
// Specific selectors are those with multiple path segments (like 'facet icon.collapse')
|
|
65
|
+
// Props set by specific selectors should NOT be overridden by parent's passed values
|
|
66
|
+
const propsSetBySpecificSelectors = new Set();
|
|
67
|
+
baseThemeSelectors.forEach((selector) => {
|
|
59
68
|
const componentProps = globalTheme.components?.[selector];
|
|
60
69
|
if (componentProps) {
|
|
70
|
+
// Check if this is a "specific" selector (has parent component in path)
|
|
71
|
+
// Remove the * prefix and responsive suffixes for checking
|
|
72
|
+
const cleanSelector = selector
|
|
73
|
+
.replace(/^\*/, '')
|
|
74
|
+
.replace(/\([MDT]\)$/, '')
|
|
75
|
+
.trim();
|
|
76
|
+
const isSpecificSelector = cleanSelector.split(' ').length > 1;
|
|
77
|
+
if (isSpecificSelector) {
|
|
78
|
+
// Track which props are set by specific selectors
|
|
79
|
+
Object.keys(componentProps).forEach((key) => propsSetBySpecificSelectors.add(key));
|
|
80
|
+
}
|
|
61
81
|
mergedProps = mergeThemeProps(componentProps, mergedProps);
|
|
62
82
|
}
|
|
63
83
|
});
|
|
64
|
-
//
|
|
65
|
-
//
|
|
84
|
+
// 2. Respread props whose VALUES originated from a parent's theme.
|
|
85
|
+
// This ensures theme-derived props from parent beat child's base theme,
|
|
86
|
+
// BUT skip props that were set by SPECIFIC selectors (like 'facet icon.collapse')
|
|
87
|
+
// User overrides (applied next) will still have the final say.
|
|
88
|
+
const parentThemePropsMap = props.theme?.[THEME_PROPS_MAP_SYMBOL];
|
|
89
|
+
if (parentThemePropsMap instanceof Map && parentThemePropsMap.size > 0) {
|
|
90
|
+
const propsToRespread = {};
|
|
91
|
+
const parentThemeValuesArray = Array.from(parentThemePropsMap.values());
|
|
92
|
+
for (const key of Object.keys(props)) {
|
|
93
|
+
// Skip meta props
|
|
94
|
+
if (key === 'treePath' || key === 'theme' || key === 'name')
|
|
95
|
+
continue;
|
|
96
|
+
// Skip props that were set by a specific selector in child's theme
|
|
97
|
+
if (propsSetBySpecificSelectors.has(key))
|
|
98
|
+
continue;
|
|
99
|
+
const propValue = props[key];
|
|
100
|
+
// Only respread if the VALUE came from a parent's theme (check all parent theme values)
|
|
101
|
+
if (propValue !== undefined && parentThemeValuesArray.indexOf(propValue) !== -1) {
|
|
102
|
+
propsToRespread[key] = propValue;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (Object.keys(propsToRespread).length > 0) {
|
|
106
|
+
mergedProps = {
|
|
107
|
+
...mergedProps,
|
|
108
|
+
...propsToRespread,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// 3. Apply user overrides.
|
|
113
|
+
// Pass preserveExistingMapKeys=true so that props already tracked in the theme map
|
|
114
|
+
// (e.g. from baseThemeSelectors) keep their theme-derived value in the map.
|
|
115
|
+
// New props introduced only by user overrides are still added to the map.
|
|
116
|
+
userOverrideSelectors.forEach((selector) => {
|
|
117
|
+
const componentProps = globalTheme.components?.[selector];
|
|
118
|
+
if (componentProps) {
|
|
119
|
+
mergedProps = mergeThemeProps(componentProps, mergedProps, true);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
// 4. Apply props.theme component overrides last.
|
|
123
|
+
// These come from parent-injected theme data (e.g. layout option overrides set by useLayoutOptions)
|
|
124
|
+
// and must win over global user overrides because they represent a more specific context.
|
|
125
|
+
// e.g. `searchCollapsible results: { columns: 6 }` beats a global `results: { columns: 5 }` override.
|
|
66
126
|
const themeApplicableSelectors = filterSelectors(theme?.components || {}, treePath).sort(sortSelectors);
|
|
67
127
|
themeApplicableSelectors.forEach((selector) => {
|
|
68
128
|
const componentProps = theme?.components?.[selector];
|
|
@@ -85,8 +145,21 @@ export function mergeProps(componentType, globalTheme, defaultProps, props) {
|
|
|
85
145
|
if (globalTheme.variables && mergedProps.theme) {
|
|
86
146
|
mergedProps.theme.variables = globalTheme.variables;
|
|
87
147
|
}
|
|
88
|
-
//
|
|
89
|
-
|
|
148
|
+
// Store current theme prop-value pairs on props.theme so they travel to children
|
|
149
|
+
const currentThemePropsMap = mergedProps[THEME_PROPS_MAP_SYMBOL] || new Map();
|
|
150
|
+
if (currentThemePropsMap.size > 0 && mergedProps.theme) {
|
|
151
|
+
// Merge with any existing parent theme values
|
|
152
|
+
const combinedThemePropsMap = new Map(currentThemePropsMap);
|
|
153
|
+
if (parentThemePropsMap instanceof Map) {
|
|
154
|
+
parentThemePropsMap.forEach((val, key) => {
|
|
155
|
+
if (!combinedThemePropsMap.has(key)) {
|
|
156
|
+
combinedThemePropsMap.set(key, val);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
mergedProps.theme[THEME_PROPS_MAP_SYMBOL] = combinedThemePropsMap;
|
|
161
|
+
}
|
|
162
|
+
if (treePath && (treePath.indexOf('customComponent') > -1 || (treePath.startsWith('storybook') && treePath.split(' ').length == 2))) {
|
|
90
163
|
mergedProps = {
|
|
91
164
|
...mergedProps,
|
|
92
165
|
...props,
|
|
@@ -96,13 +169,27 @@ export function mergeProps(componentType, globalTheme, defaultProps, props) {
|
|
|
96
169
|
}
|
|
97
170
|
return mergedProps;
|
|
98
171
|
}
|
|
99
|
-
function mergeThemeProps(componentThemeProps, mergedProps) {
|
|
172
|
+
function mergeThemeProps(componentThemeProps, mergedProps, preserveExistingMapKeys = false) {
|
|
100
173
|
// add theme props if they exist
|
|
101
174
|
if (componentThemeProps) {
|
|
175
|
+
// Track prop-value pairs that came from theme (for detecting theme-derived props in children).
|
|
176
|
+
// When preserveExistingMapKeys is true (used for user overrides), existing map entries are not
|
|
177
|
+
// overwritten — only new keys are added. This preserves original theme-derived values in the
|
|
178
|
+
// map so child components can correctly identify which props came from the theme.
|
|
179
|
+
const existingThemePropsMap = mergedProps[THEME_PROPS_MAP_SYMBOL] || new Map();
|
|
180
|
+
for (const [key, value] of Object.entries(componentThemeProps)) {
|
|
181
|
+
// Only track primitive values and non-null objects (skip functions, undefined, etc.)
|
|
182
|
+
if (value !== undefined && value !== null && typeof value !== 'function') {
|
|
183
|
+
if (!preserveExistingMapKeys || !existingThemePropsMap.has(key)) {
|
|
184
|
+
existingThemePropsMap.set(key, value);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
102
188
|
mergedProps = {
|
|
103
189
|
...mergedProps,
|
|
104
190
|
...componentThemeProps,
|
|
105
191
|
};
|
|
192
|
+
mergedProps[THEME_PROPS_MAP_SYMBOL] = existingThemePropsMap;
|
|
106
193
|
}
|
|
107
194
|
return mergedProps;
|
|
108
195
|
}
|
package/dist/esm/src/Snap.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export type SnapConfig = {
|
|
|
60
60
|
recommendation?: SnapConfigControllerDefinition<RecommendationControllerConfig>[];
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
|
-
type SnapServices = {
|
|
63
|
+
export type SnapServices = {
|
|
64
64
|
client?: Client;
|
|
65
65
|
tracker?: Tracker;
|
|
66
66
|
logger?: Logger;
|
|
@@ -91,5 +91,4 @@ export declare class Snap {
|
|
|
91
91
|
};
|
|
92
92
|
constructor(config: SnapConfig, services?: SnapServices);
|
|
93
93
|
}
|
|
94
|
-
export {};
|
|
95
94
|
//# sourceMappingURL=Snap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../../src/Snap.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../../src/Snap.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/src/Snap.js
CHANGED
|
@@ -209,7 +209,20 @@ export class Snap {
|
|
|
209
209
|
let globalContext = {};
|
|
210
210
|
try {
|
|
211
211
|
// get global context
|
|
212
|
-
globalContext = getContext([
|
|
212
|
+
globalContext = getContext([
|
|
213
|
+
'shopper',
|
|
214
|
+
'config',
|
|
215
|
+
'custom',
|
|
216
|
+
'merchandising',
|
|
217
|
+
'siteId',
|
|
218
|
+
'currency',
|
|
219
|
+
'page',
|
|
220
|
+
'backgroundFilters',
|
|
221
|
+
'collection',
|
|
222
|
+
'tags',
|
|
223
|
+
'category',
|
|
224
|
+
'brand',
|
|
225
|
+
]);
|
|
213
226
|
}
|
|
214
227
|
catch (err) {
|
|
215
228
|
console.error('Snap failed to find global context');
|
|
@@ -280,16 +293,28 @@ export class Snap {
|
|
|
280
293
|
this.mode = AppMode.development;
|
|
281
294
|
}
|
|
282
295
|
}
|
|
296
|
+
const initiatorPrefix = window?.athos?.managed ? `managed/` : '';
|
|
283
297
|
// client mode uses client config over snap config
|
|
284
298
|
if (this.config.client) {
|
|
285
299
|
this.config.client.config = this.config.client.config || {};
|
|
286
|
-
this.config.client.config.initiator
|
|
300
|
+
if (!this.config.client.config.initiator) {
|
|
301
|
+
this.config.client.config.initiator = `athos/${initiatorPrefix}snap/preact/${version}`;
|
|
302
|
+
}
|
|
287
303
|
this.config.client.config.mode = this.config.client.config.mode || this.mode;
|
|
288
304
|
}
|
|
289
305
|
// feature check block
|
|
290
306
|
configureSnapFeatures(this.config);
|
|
291
307
|
this.client = services?.client || new Client(this.config.client.globals, this.config.client.config);
|
|
292
|
-
this.logger =
|
|
308
|
+
this.logger =
|
|
309
|
+
services?.logger ||
|
|
310
|
+
new Logger({
|
|
311
|
+
prefix: `${this.config.tracker?.config?.framework == 'snap/templates'
|
|
312
|
+
? 'Snap Preact Templates '
|
|
313
|
+
: this.config.tracker?.config?.framework == 'snap/hybrid'
|
|
314
|
+
? 'Snap Preact Hybrid '
|
|
315
|
+
: 'Snap Preact '}`,
|
|
316
|
+
mode: this.mode,
|
|
317
|
+
});
|
|
293
318
|
// create tracker
|
|
294
319
|
let trackerGlobals = this.config.tracker?.globals || this.config.client.globals;
|
|
295
320
|
if (this.context.currency?.code) {
|
|
@@ -302,8 +327,10 @@ export class Snap {
|
|
|
302
327
|
cart: this.context.shopper.cart,
|
|
303
328
|
});
|
|
304
329
|
}
|
|
305
|
-
const
|
|
306
|
-
|
|
330
|
+
const trackerConfig = deepmerge(this.config.tracker?.config || {}, {
|
|
331
|
+
framework: `${initiatorPrefix}${this.config.tracker?.config?.framework || 'snap'}/preact`,
|
|
332
|
+
mode: this.mode,
|
|
333
|
+
});
|
|
307
334
|
this.tracker = services?.tracker || new Tracker(trackerGlobals, trackerConfig);
|
|
308
335
|
// log version
|
|
309
336
|
this.logger.imageText({
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Snap, SnapConfig, SnapServices } from './Snap';
|
|
2
|
+
import { SnapTemplatesConfigLocked, SnapTemplatesConfigUnlocked } from './Templates/SnapTemplates';
|
|
3
|
+
type HybridIntegrationConfig = {
|
|
4
|
+
templatesConfig: SnapTemplatesConfigLocked | SnapTemplatesConfigUnlocked;
|
|
5
|
+
snapConfig: SnapConfig;
|
|
6
|
+
services?: SnapServices;
|
|
7
|
+
};
|
|
8
|
+
export declare class SnapHybrid extends Snap {
|
|
9
|
+
constructor(config: HybridIntegrationConfig);
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=SnapHybrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnapHybrid.d.ts","sourceRoot":"","sources":["../../../src/SnapHybrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAoB,MAAM,2BAA2B,CAAC;AAKrH,KAAK,uBAAuB,GAAG;IAC9B,eAAe,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;IACzE,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,qBAAa,UAAW,SAAQ,IAAI;gBACvB,MAAM,EAAE,uBAAuB;CAqB3C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Snap } from './Snap';
|
|
2
|
+
import { createSnapConfig } from './Templates/SnapTemplates';
|
|
3
|
+
import { TemplatesStore } from './Templates/Stores/TemplateStore';
|
|
4
|
+
import deepmerge from 'deepmerge';
|
|
5
|
+
import { isPlainObject } from 'is-plain-object';
|
|
6
|
+
import { version } from '@athoscommerce/snap-toolbox';
|
|
7
|
+
export class SnapHybrid extends Snap {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
const templatesStore = new TemplatesStore({ config: config.templatesConfig });
|
|
10
|
+
const convertedTemplatesConfig = createSnapConfig(config.templatesConfig, templatesStore);
|
|
11
|
+
const mergedConfig = deepmerge(convertedTemplatesConfig, config.snapConfig, {
|
|
12
|
+
isMergeableObject: (value) => isPlainObject(value) || Array.isArray(value),
|
|
13
|
+
arrayMerge: (target, source) => [...target, ...source],
|
|
14
|
+
});
|
|
15
|
+
const initiatorPrefix = window?.athos?.managed ? `managed/` : '';
|
|
16
|
+
mergedConfig.client.config = {
|
|
17
|
+
...mergedConfig.client.config,
|
|
18
|
+
initiator: `athos/${initiatorPrefix}snap/preact/hybrid/${version}`,
|
|
19
|
+
};
|
|
20
|
+
mergedConfig.tracker.config = {
|
|
21
|
+
...mergedConfig.tracker.config,
|
|
22
|
+
initiator: `athos/${initiatorPrefix}snap/preact/hybrid/${version}`,
|
|
23
|
+
framework: 'snap/hybrid',
|
|
24
|
+
};
|
|
25
|
+
super(mergedConfig, { ...config.services, templatesStore });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -2,36 +2,35 @@ import { Snap } from '../Snap';
|
|
|
2
2
|
import { TemplatesStore } from './Stores/TemplateStore';
|
|
3
3
|
import { type SearchStoreConfigSettings, type AutocompleteStoreConfigSettings } from '@athoscommerce/snap-store-mobx';
|
|
4
4
|
import type { UrlTranslatorConfig } from '@athoscommerce/snap-url-manager';
|
|
5
|
+
import type { PluginGrouping } from '@athoscommerce/snap-controller';
|
|
5
6
|
import type { RecommendationInstantiatorConfigSettings, RecommendationComponentObject } from '../Instantiators/RecommendationInstantiator';
|
|
6
7
|
import type { SnapFeatures } from '../types';
|
|
7
8
|
import type { SnapConfig, ExtendedTarget } from '../Snap';
|
|
8
|
-
import type { PluginsConfigs, TemplateStoreConfigConfig } from './Stores/TemplateStore';
|
|
9
|
+
import type { PluginsConfigs, PluginsConfigsUnlocked, TemplateStoreConfigConfig, TemplateStoreConfigConfigUnlocked } from './Stores/TemplateStore';
|
|
9
10
|
import { LibraryImports } from './Stores/LibraryStore';
|
|
10
11
|
export declare const TEMPLATE_EDIT_COOKIE = "athosEditor";
|
|
12
|
+
export declare const TEMPLATE_EDITOR_PARAM = "athos-editor";
|
|
11
13
|
export type SearchTargetConfig = {
|
|
12
14
|
selector: string;
|
|
13
15
|
component: keyof LibraryImports['component']['search'];
|
|
14
|
-
resultComponent?: keyof LibraryImports['component']['result'] | (string & NonNullable<unknown>);
|
|
15
16
|
};
|
|
16
17
|
export type AutocompleteTargetConfig = {
|
|
17
18
|
selector: string;
|
|
18
19
|
inputSelector?: string;
|
|
19
20
|
component: keyof LibraryImports['component']['autocomplete'];
|
|
20
|
-
resultComponent?: keyof LibraryImports['component']['result'] | (string & NonNullable<unknown>);
|
|
21
21
|
};
|
|
22
22
|
export type RecommendationDefaultTargetConfig = {
|
|
23
23
|
component: keyof LibraryImports['component']['recommendation']['default'];
|
|
24
|
-
resultComponent?: keyof LibraryImports['component']['result'] | (string & NonNullable<unknown>);
|
|
25
24
|
};
|
|
26
25
|
export type RecommendationEmailTargetConfig = {
|
|
27
26
|
component: keyof LibraryImports['component']['recommendation']['email'];
|
|
28
|
-
resultComponent?: keyof LibraryImports['component']['result'] | (string & NonNullable<unknown>);
|
|
29
27
|
};
|
|
30
28
|
export type RecommendationBundleTargetConfig = {
|
|
31
29
|
component: keyof LibraryImports['component']['recommendation']['bundle'];
|
|
32
|
-
resultComponent?: keyof LibraryImports['component']['result'] | (string & NonNullable<unknown>);
|
|
33
30
|
};
|
|
34
|
-
export type SnapTemplatesConfig =
|
|
31
|
+
export type SnapTemplatesConfig = SnapTemplatesConfigUnlocked | SnapTemplatesConfigLocked;
|
|
32
|
+
export type SnapTemplatesConfigLocked = TemplateStoreConfigConfig & {
|
|
33
|
+
unlocked: false;
|
|
35
34
|
url?: UrlTranslatorConfig;
|
|
36
35
|
features?: SnapFeatures;
|
|
37
36
|
search?: {
|
|
@@ -58,6 +57,18 @@ export type SnapTemplatesConfig = TemplateStoreConfigConfig & {
|
|
|
58
57
|
plugins?: PluginsConfigs;
|
|
59
58
|
};
|
|
60
59
|
};
|
|
60
|
+
export type SnapTemplatesConfigUnlocked = Omit<SnapTemplatesConfigLocked, 'unlocked' | 'plugins' | 'search' | 'autocomplete' | 'recommendation'> & TemplateStoreConfigConfigUnlocked & {
|
|
61
|
+
unlocked: true;
|
|
62
|
+
search?: Omit<NonNullable<SnapTemplatesConfigLocked['search']>, 'plugins'> & {
|
|
63
|
+
plugins?: PluginsConfigsUnlocked;
|
|
64
|
+
};
|
|
65
|
+
autocomplete?: Omit<NonNullable<SnapTemplatesConfigLocked['autocomplete']>, 'plugins'> & {
|
|
66
|
+
plugins?: PluginsConfigsUnlocked;
|
|
67
|
+
};
|
|
68
|
+
recommendation?: Omit<NonNullable<SnapTemplatesConfigLocked['recommendation']>, 'plugins'> & {
|
|
69
|
+
plugins?: PluginsConfigsUnlocked;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
61
72
|
export declare const DEFAULT_FEATURES: SnapFeatures;
|
|
62
73
|
export declare const DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS: AutocompleteStoreConfigSettings;
|
|
63
74
|
export declare class SnapTemplates extends Snap {
|
|
@@ -73,4 +84,5 @@ export declare function createRecommendationComponentMapping(templateConfig: Sna
|
|
|
73
84
|
[name: string]: RecommendationComponentObject;
|
|
74
85
|
};
|
|
75
86
|
export declare function createSnapConfig(templateConfig: SnapTemplatesConfig, templatesStore: TemplatesStore): SnapConfig;
|
|
87
|
+
export declare function createPlugins(templateConfig: SnapTemplatesConfig, templatesStore: TemplatesStore, controllerType?: 'autocomplete' | 'search' | 'recommendation'): PluginGrouping[];
|
|
76
88
|
//# sourceMappingURL=SnapTemplates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnapTemplates.d.ts","sourceRoot":"","sources":["../../../../src/Templates/SnapTemplates.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,OAAO,EAAkB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACtH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SnapTemplates.d.ts","sourceRoot":"","sources":["../../../../src/Templates/SnapTemplates.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ import { render } from 'preact';
|
|
|
3
3
|
import deepmerge from 'deepmerge';
|
|
4
4
|
import { Snap } from '../Snap';
|
|
5
5
|
import { TemplateSelect } from '../../components/src/components/Atoms/TemplateSelect';
|
|
6
|
-
import { DomTargeter, url, cookies,
|
|
6
|
+
import { DomTargeter, url, cookies, version } from '@athoscommerce/snap-toolbox';
|
|
7
7
|
import { TemplatesStore } from './Stores/TemplateStore';
|
|
8
8
|
export const TEMPLATE_EDIT_COOKIE = 'athosEditor';
|
|
9
|
-
const TEMPLATE_EDITOR_PARAM = 'athos-editor';
|
|
9
|
+
export const TEMPLATE_EDITOR_PARAM = 'athos-editor';
|
|
10
10
|
export const DEFAULT_FEATURES = {};
|
|
11
11
|
export const DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = {
|
|
12
12
|
trending: {
|
|
@@ -19,22 +19,6 @@ export class SnapTemplates extends Snap {
|
|
|
19
19
|
const editMode = Boolean((urlParams?.params?.query && TEMPLATE_EDITOR_PARAM in urlParams.params.query) || cookies.get(TEMPLATE_EDIT_COOKIE));
|
|
20
20
|
const templatesStore = new TemplatesStore({ config, settings: { editMode } });
|
|
21
21
|
const snapConfig = createSnapConfig(config, templatesStore);
|
|
22
|
-
// get more context (all the things needed for the platform of choice as well as generic backgroundFilters)
|
|
23
|
-
let contextParams = ['backgroundFilters'];
|
|
24
|
-
switch (templatesStore.platform) {
|
|
25
|
-
case 'shopify':
|
|
26
|
-
contextParams = contextParams.concat(['collection', 'tags']);
|
|
27
|
-
break;
|
|
28
|
-
case 'bigCommerce':
|
|
29
|
-
contextParams = contextParams.concat(['category', 'brand']);
|
|
30
|
-
break;
|
|
31
|
-
case 'magento2':
|
|
32
|
-
contextParams = contextParams.concat(['category']);
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
snapConfig.context = getContext(contextParams);
|
|
38
22
|
super(snapConfig, { templatesStore });
|
|
39
23
|
this.templates = templatesStore;
|
|
40
24
|
if (editMode) {
|
|
@@ -97,10 +81,6 @@ export function mapBreakpoints(breakpointsKeys, breakpointSettings) {
|
|
|
97
81
|
export const createSearchTargeters = (templateConfig, templatesStore) => {
|
|
98
82
|
const targets = templateConfig.search?.targets || [];
|
|
99
83
|
return targets.map((target) => {
|
|
100
|
-
// use theme provided resultComponent if specified
|
|
101
|
-
if (!target.resultComponent && templateConfig.theme.resultComponent) {
|
|
102
|
-
target.resultComponent = templateConfig.theme.resultComponent;
|
|
103
|
-
}
|
|
104
84
|
const targetId = templatesStore.addTarget('search', target);
|
|
105
85
|
const targeter = {
|
|
106
86
|
selector: target.selector,
|
|
@@ -108,9 +88,6 @@ export const createSearchTargeters = (templateConfig, templatesStore) => {
|
|
|
108
88
|
component: async () => {
|
|
109
89
|
const componentImportPromises = [];
|
|
110
90
|
componentImportPromises.push(templatesStore.library.import.component.search[target.component]());
|
|
111
|
-
if (target.resultComponent && templatesStore.library.import.component.result[target.resultComponent]) {
|
|
112
|
-
componentImportPromises.push(templatesStore.library.import.component.result[target.resultComponent]());
|
|
113
|
-
}
|
|
114
91
|
await Promise.all(componentImportPromises);
|
|
115
92
|
return TemplateSelect;
|
|
116
93
|
},
|
|
@@ -122,19 +99,12 @@ export const createSearchTargeters = (templateConfig, templatesStore) => {
|
|
|
122
99
|
export function createAutocompleteTargeters(templateConfig, templatesStore) {
|
|
123
100
|
const targets = templateConfig.autocomplete?.targets || [];
|
|
124
101
|
return targets.map((target) => {
|
|
125
|
-
// use theme provided resultComponent if specified
|
|
126
|
-
if (!target.resultComponent && templateConfig.theme.resultComponent) {
|
|
127
|
-
target.resultComponent = templateConfig.theme.resultComponent;
|
|
128
|
-
}
|
|
129
102
|
const targetId = templatesStore.addTarget('autocomplete', target);
|
|
130
103
|
const targeter = {
|
|
131
104
|
selector: target.selector,
|
|
132
105
|
component: async () => {
|
|
133
106
|
const componentImportPromises = [];
|
|
134
107
|
componentImportPromises.push(templatesStore.library.import.component.autocomplete[target.component]());
|
|
135
|
-
if (target.resultComponent && templatesStore.library.import.component.result[target.resultComponent]) {
|
|
136
|
-
componentImportPromises.push(templatesStore.library.import.component.result[target.resultComponent]());
|
|
137
|
-
}
|
|
138
108
|
await Promise.all(componentImportPromises);
|
|
139
109
|
return TemplateSelect;
|
|
140
110
|
},
|
|
@@ -155,10 +125,6 @@ export function createRecommendationComponentMapping(templateConfig, templatesSt
|
|
|
155
125
|
Object.keys(templateConfig.recommendation[recsType] || {}).forEach((targetName) => {
|
|
156
126
|
const type = `recommendation/${recsType}`;
|
|
157
127
|
const target = templateConfig.recommendation[recsType][targetName];
|
|
158
|
-
// use theme provided resultComponent if specified
|
|
159
|
-
if (!target.resultComponent && templateConfig.theme.resultComponent) {
|
|
160
|
-
target.resultComponent = templateConfig.theme.resultComponent;
|
|
161
|
-
}
|
|
162
128
|
const mappedConfig = {
|
|
163
129
|
component: async () => {
|
|
164
130
|
const componentImportPromises = [];
|
|
@@ -179,9 +145,6 @@ export function createRecommendationComponentMapping(templateConfig, templatesSt
|
|
|
179
145
|
break;
|
|
180
146
|
}
|
|
181
147
|
}
|
|
182
|
-
if (target.resultComponent && templatesStore.library.import.component.result[target.resultComponent]) {
|
|
183
|
-
componentImportPromises.push(templatesStore.library.import.component.result[target.resultComponent]());
|
|
184
|
-
}
|
|
185
148
|
await Promise.all(componentImportPromises);
|
|
186
149
|
return TemplateSelect;
|
|
187
150
|
},
|
|
@@ -199,6 +162,7 @@ export function createRecommendationComponentMapping(templateConfig, templatesSt
|
|
|
199
162
|
}, {});
|
|
200
163
|
}
|
|
201
164
|
export function createSnapConfig(templateConfig, templatesStore) {
|
|
165
|
+
const initiatorPrefix = window?.athos?.managed ? `managed/` : '';
|
|
202
166
|
const snapConfig = {
|
|
203
167
|
features: templateConfig.features || DEFAULT_FEATURES,
|
|
204
168
|
client: {
|
|
@@ -207,11 +171,12 @@ export function createSnapConfig(templateConfig, templatesStore) {
|
|
|
207
171
|
},
|
|
208
172
|
config: {
|
|
209
173
|
...(templateConfig.config?.client || {}),
|
|
210
|
-
initiator: `snap/templates/${version}`,
|
|
174
|
+
initiator: `athos/${initiatorPrefix}snap/preact/templates/${version}`,
|
|
211
175
|
},
|
|
212
176
|
},
|
|
213
177
|
tracker: {
|
|
214
178
|
config: {
|
|
179
|
+
initiator: `athos/${initiatorPrefix}snap/preact/templates/${version}`,
|
|
215
180
|
framework: 'snap/templates',
|
|
216
181
|
},
|
|
217
182
|
},
|
|
@@ -318,8 +283,7 @@ export function createSnapConfig(templateConfig, templatesStore) {
|
|
|
318
283
|
}
|
|
319
284
|
return snapConfig;
|
|
320
285
|
}
|
|
321
|
-
|
|
322
|
-
function createPlugins(templateConfig, templatesStore, controllerType) {
|
|
286
|
+
export function createPlugins(templateConfig, templatesStore, controllerType) {
|
|
323
287
|
const plugins = [];
|
|
324
288
|
let controllerConfig;
|
|
325
289
|
if (controllerType) {
|
|
@@ -384,5 +348,13 @@ function createPlugins(templateConfig, templatesStore, controllerType) {
|
|
|
384
348
|
default:
|
|
385
349
|
break;
|
|
386
350
|
}
|
|
351
|
+
// Handle custom plugins (only available when unlocked: true)
|
|
352
|
+
const customPlugins = deepmerge(templateConfig.plugins?.custom || {}, controllerConfig?.plugins?.custom || {});
|
|
353
|
+
Object.keys(customPlugins).forEach((pluginName) => {
|
|
354
|
+
const customPlugin = customPlugins[pluginName];
|
|
355
|
+
if (customPlugin?.function) {
|
|
356
|
+
plugins.push([customPlugin.function, ...(customPlugin.args || [])]);
|
|
357
|
+
}
|
|
358
|
+
});
|
|
387
359
|
return plugins;
|
|
388
360
|
}
|