@athoscommerce/snap-preact 1.5.1 → 1.7.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.
Files changed (533) hide show
  1. package/dist/cjs/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts +2 -1
  2. package/dist/cjs/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -1
  3. package/dist/cjs/components/src/components/Atoms/BadgeImage/BadgeImage.js +4 -8
  4. package/dist/cjs/components/src/components/Atoms/BadgePill/BadgePill.d.ts +2 -1
  5. package/dist/cjs/components/src/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -1
  6. package/dist/cjs/components/src/components/Atoms/BadgePill/BadgePill.js +4 -8
  7. package/dist/cjs/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts +2 -1
  8. package/dist/cjs/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -1
  9. package/dist/cjs/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.js +4 -8
  10. package/dist/cjs/components/src/components/Atoms/BadgeText/BadgeText.d.ts +2 -1
  11. package/dist/cjs/components/src/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -1
  12. package/dist/cjs/components/src/components/Atoms/BadgeText/BadgeText.js +4 -8
  13. package/dist/cjs/components/src/components/Atoms/Banner/Banner.d.ts.map +1 -1
  14. package/dist/cjs/components/src/components/Atoms/Banner/Banner.js +6 -9
  15. package/dist/cjs/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  16. package/dist/cjs/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  17. package/dist/cjs/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.js +4 -8
  18. package/dist/cjs/components/src/components/Atoms/Button/Button.d.ts +3 -3
  19. package/dist/cjs/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  20. package/dist/cjs/components/src/components/Atoms/Button/Button.js +8 -9
  21. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.d.ts +2 -2
  22. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  23. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +4 -8
  24. package/dist/cjs/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts +2 -1
  25. package/dist/cjs/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts.map +1 -1
  26. package/dist/cjs/components/src/components/Atoms/FormattedNumber/FormattedNumber.js +4 -8
  27. package/dist/cjs/components/src/components/Atoms/Icon/Icon.d.ts +3 -2
  28. package/dist/cjs/components/src/components/Atoms/Icon/Icon.d.ts.map +1 -1
  29. package/dist/cjs/components/src/components/Atoms/Icon/Icon.js +17 -9
  30. package/dist/cjs/components/src/components/Atoms/Image/Image.d.ts +2 -1
  31. package/dist/cjs/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
  32. package/dist/cjs/components/src/components/Atoms/Image/Image.js +4 -8
  33. package/dist/cjs/components/src/components/Atoms/InlineBanner/InlineBanner.d.ts.map +1 -1
  34. package/dist/cjs/components/src/components/Atoms/InlineBanner/InlineBanner.js +4 -8
  35. package/dist/cjs/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts +2 -1
  36. package/dist/cjs/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts.map +1 -1
  37. package/dist/cjs/components/src/components/Atoms/LoadingBar/LoadingBar.js +4 -8
  38. package/dist/cjs/components/src/components/Atoms/Overlay/Overlay.d.ts +2 -1
  39. package/dist/cjs/components/src/components/Atoms/Overlay/Overlay.d.ts.map +1 -1
  40. package/dist/cjs/components/src/components/Atoms/Overlay/Overlay.js +4 -8
  41. package/dist/cjs/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts +2 -1
  42. package/dist/cjs/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts.map +1 -1
  43. package/dist/cjs/components/src/components/Atoms/PaginationInfo/PaginationInfo.js +8 -11
  44. package/dist/cjs/components/src/components/Atoms/Price/Price.d.ts +2 -1
  45. package/dist/cjs/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
  46. package/dist/cjs/components/src/components/Atoms/Price/Price.js +4 -8
  47. package/dist/cjs/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts +2 -1
  48. package/dist/cjs/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts.map +1 -1
  49. package/dist/cjs/components/src/components/Atoms/SearchHeader/SearchHeader.js +6 -9
  50. package/dist/cjs/components/src/components/Atoms/Skeleton/Skeleton.d.ts +2 -1
  51. package/dist/cjs/components/src/components/Atoms/Skeleton/Skeleton.d.ts.map +1 -1
  52. package/dist/cjs/components/src/components/Atoms/Skeleton/Skeleton.js +4 -8
  53. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts +2 -1
  54. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
  55. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +16 -16
  56. package/dist/cjs/components/src/components/Molecules/Carousel/Carousel.d.ts +2 -2
  57. package/dist/cjs/components/src/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  58. package/dist/cjs/components/src/components/Molecules/Carousel/Carousel.js +42 -38
  59. package/dist/cjs/components/src/components/Molecules/Checkbox/Checkbox.d.ts +2 -1
  60. package/dist/cjs/components/src/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
  61. package/dist/cjs/components/src/components/Molecules/Checkbox/Checkbox.js +6 -9
  62. package/dist/cjs/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts +2 -1
  63. package/dist/cjs/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts.map +1 -1
  64. package/dist/cjs/components/src/components/Molecules/ErrorHandler/ErrorHandler.js +6 -9
  65. package/dist/cjs/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +2 -1
  66. package/dist/cjs/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
  67. package/dist/cjs/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.js +4 -8
  68. package/dist/cjs/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +2 -1
  69. package/dist/cjs/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
  70. package/dist/cjs/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +4 -8
  71. package/dist/cjs/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts +2 -1
  72. package/dist/cjs/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
  73. package/dist/cjs/components/src/components/Molecules/FacetListOptions/FacetListOptions.js +4 -8
  74. package/dist/cjs/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +2 -1
  75. package/dist/cjs/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
  76. package/dist/cjs/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +6 -8
  77. package/dist/cjs/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts +2 -1
  78. package/dist/cjs/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
  79. package/dist/cjs/components/src/components/Molecules/FacetSlider/FacetSlider.js +13 -16
  80. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts +2 -1
  81. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  82. package/dist/cjs/components/src/components/Molecules/Filter/Filter.js +7 -10
  83. package/dist/cjs/components/src/components/Molecules/Grid/Grid.d.ts +2 -1
  84. package/dist/cjs/components/src/components/Molecules/Grid/Grid.d.ts.map +1 -1
  85. package/dist/cjs/components/src/components/Molecules/Grid/Grid.js +16 -12
  86. package/dist/cjs/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts +2 -1
  87. package/dist/cjs/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts.map +1 -1
  88. package/dist/cjs/components/src/components/Molecules/LayoutSelector/LayoutSelector.js +4 -8
  89. package/dist/cjs/components/src/components/Molecules/List/List.d.ts +2 -1
  90. package/dist/cjs/components/src/components/Molecules/List/List.d.ts.map +1 -1
  91. package/dist/cjs/components/src/components/Molecules/List/List.js +6 -9
  92. package/dist/cjs/components/src/components/Molecules/LoadMore/LoadMore.d.ts +2 -1
  93. package/dist/cjs/components/src/components/Molecules/LoadMore/LoadMore.d.ts.map +1 -1
  94. package/dist/cjs/components/src/components/Molecules/LoadMore/LoadMore.js +8 -11
  95. package/dist/cjs/components/src/components/Molecules/Modal/Modal.d.ts +2 -2
  96. package/dist/cjs/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
  97. package/dist/cjs/components/src/components/Molecules/Modal/Modal.js +4 -8
  98. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  99. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  100. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +19 -19
  101. package/dist/cjs/components/src/components/Molecules/OverlayResult/OverlayResult.d.ts +48 -0
  102. package/dist/cjs/components/src/components/Molecules/OverlayResult/OverlayResult.d.ts.map +1 -0
  103. package/dist/cjs/components/src/components/Molecules/OverlayResult/OverlayResult.js +241 -0
  104. package/dist/cjs/components/src/components/Molecules/OverlayResult/index.d.ts +2 -0
  105. package/dist/cjs/components/src/components/Molecules/OverlayResult/index.d.ts.map +1 -0
  106. package/dist/cjs/components/src/components/Molecules/OverlayResult/index.js +17 -0
  107. package/dist/cjs/components/src/components/Molecules/Pagination/Pagination.d.ts +2 -1
  108. package/dist/cjs/components/src/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
  109. package/dist/cjs/components/src/components/Molecules/Pagination/Pagination.js +8 -11
  110. package/dist/cjs/components/src/components/Molecules/PerPage/PerPage.d.ts +2 -1
  111. package/dist/cjs/components/src/components/Molecules/PerPage/PerPage.d.ts.map +1 -1
  112. package/dist/cjs/components/src/components/Molecules/PerPage/PerPage.js +8 -11
  113. package/dist/cjs/components/src/components/Molecules/Radio/Radio.d.ts +2 -1
  114. package/dist/cjs/components/src/components/Molecules/Radio/Radio.d.ts.map +1 -1
  115. package/dist/cjs/components/src/components/Molecules/Radio/Radio.js +6 -9
  116. package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.d.ts +2 -1
  117. package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.d.ts.map +1 -1
  118. package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.js +6 -9
  119. package/dist/cjs/components/src/components/Molecules/Rating/Rating.d.ts +2 -1
  120. package/dist/cjs/components/src/components/Molecules/Rating/Rating.d.ts.map +1 -1
  121. package/dist/cjs/components/src/components/Molecules/Rating/Rating.js +4 -8
  122. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts +2 -2
  123. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  124. package/dist/cjs/components/src/components/Molecules/Result/Result.js +8 -11
  125. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts +2 -1
  126. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  127. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +4 -8
  128. package/dist/cjs/components/src/components/Molecules/Select/Select.d.ts +2 -1
  129. package/dist/cjs/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
  130. package/dist/cjs/components/src/components/Molecules/Select/Select.js +6 -9
  131. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.d.ts +2 -2
  132. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  133. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +4 -8
  134. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.d.ts +2 -1
  135. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  136. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +6 -9
  137. package/dist/cjs/components/src/components/Molecules/SortBy/SortBy.d.ts +2 -1
  138. package/dist/cjs/components/src/components/Molecules/SortBy/SortBy.d.ts.map +1 -1
  139. package/dist/cjs/components/src/components/Molecules/SortBy/SortBy.js +7 -10
  140. package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.d.ts +2 -1
  141. package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.d.ts.map +1 -1
  142. package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.js +17 -14
  143. package/dist/cjs/components/src/components/Molecules/Terms/Terms.d.ts +2 -1
  144. package/dist/cjs/components/src/components/Molecules/Terms/Terms.d.ts.map +1 -1
  145. package/dist/cjs/components/src/components/Molecules/Terms/Terms.js +5 -8
  146. package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts +2 -1
  147. package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
  148. package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.js +4 -8
  149. package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts +2 -1
  150. package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  151. package/dist/cjs/components/src/components/Organisms/Autocomplete/Autocomplete.js +20 -25
  152. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +3 -2
  153. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  154. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +14 -6
  155. package/dist/cjs/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts +2 -1
  156. package/dist/cjs/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -1
  157. package/dist/cjs/components/src/components/Organisms/BranchOverride/BranchOverride.js +4 -8
  158. package/dist/cjs/components/src/components/Organisms/Facet/Facet.d.ts +2 -1
  159. package/dist/cjs/components/src/components/Organisms/Facet/Facet.d.ts.map +1 -1
  160. package/dist/cjs/components/src/components/Organisms/Facet/Facet.js +27 -18
  161. package/dist/cjs/components/src/components/Organisms/Facets/Facets.d.ts +2 -1
  162. package/dist/cjs/components/src/components/Organisms/Facets/Facets.d.ts.map +1 -1
  163. package/dist/cjs/components/src/components/Organisms/Facets/Facets.js +5 -8
  164. package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts +2 -1
  165. package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map +1 -1
  166. package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +5 -8
  167. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -1
  168. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  169. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.js +6 -9
  170. package/dist/cjs/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts +2 -1
  171. package/dist/cjs/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts.map +1 -1
  172. package/dist/cjs/components/src/components/Organisms/MobileSidebar/MobileSidebar.js +4 -8
  173. package/dist/cjs/components/src/components/Organisms/NoResults/NoResults.d.ts +2 -1
  174. package/dist/cjs/components/src/components/Organisms/NoResults/NoResults.d.ts.map +1 -1
  175. package/dist/cjs/components/src/components/Organisms/NoResults/NoResults.js +25 -26
  176. package/dist/cjs/components/src/components/Organisms/Results/Results.d.ts +4 -2
  177. package/dist/cjs/components/src/components/Organisms/Results/Results.d.ts.map +1 -1
  178. package/dist/cjs/components/src/components/Organisms/Results/Results.js +18 -11
  179. package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.d.ts +2 -1
  180. package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.d.ts.map +1 -1
  181. package/dist/cjs/components/src/components/Organisms/Sidebar/Sidebar.js +6 -9
  182. package/dist/cjs/components/src/components/Organisms/TermsList/TermsList.d.ts +2 -1
  183. package/dist/cjs/components/src/components/Organisms/TermsList/TermsList.d.ts.map +1 -1
  184. package/dist/cjs/components/src/components/Organisms/TermsList/TermsList.js +4 -8
  185. package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.d.ts +2 -1
  186. package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.d.ts.map +1 -1
  187. package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.js +4 -8
  188. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +4 -3
  189. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  190. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +4 -3
  191. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  192. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +4 -3
  193. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  194. package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.d.ts +2 -1
  195. package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
  196. package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.js +17 -7
  197. package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts +2 -1
  198. package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
  199. package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +32 -14
  200. package/dist/cjs/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts +1 -1
  201. package/dist/cjs/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts.map +1 -1
  202. package/dist/cjs/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts +1 -1
  203. package/dist/cjs/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts.map +1 -1
  204. package/dist/cjs/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts +1 -1
  205. package/dist/cjs/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts.map +1 -1
  206. package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts +2 -1
  207. package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts.map +1 -1
  208. package/dist/cjs/components/src/components/Templates/RecommendationEmail/RecommendationEmail.js +16 -5
  209. package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts +2 -1
  210. package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
  211. package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +15 -5
  212. package/dist/cjs/components/src/components/Templates/Search/Search.d.ts +2 -1
  213. package/dist/cjs/components/src/components/Templates/Search/Search.d.ts.map +1 -1
  214. package/dist/cjs/components/src/components/Templates/Search/Search.js +2 -4
  215. package/dist/cjs/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts +1 -1
  216. package/dist/cjs/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts.map +1 -1
  217. package/dist/cjs/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts +1 -1
  218. package/dist/cjs/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts.map +1 -1
  219. package/dist/cjs/components/src/hooks/createRecommendationTemplate.d.ts.map +1 -1
  220. package/dist/cjs/components/src/hooks/createRecommendationTemplate.js +17 -13
  221. package/dist/cjs/components/src/hooks/index.d.ts +1 -0
  222. package/dist/cjs/components/src/hooks/index.d.ts.map +1 -1
  223. package/dist/cjs/components/src/hooks/index.js +1 -0
  224. package/dist/cjs/components/src/hooks/useComponent.d.ts +5 -1
  225. package/dist/cjs/components/src/hooks/useComponent.d.ts.map +1 -1
  226. package/dist/cjs/components/src/hooks/useComponent.js +42 -4
  227. package/dist/cjs/components/src/hooks/useCustomComponentOverride.d.ts +12 -0
  228. package/dist/cjs/components/src/hooks/useCustomComponentOverride.d.ts.map +1 -0
  229. package/dist/cjs/components/src/hooks/useCustomComponentOverride.js +31 -0
  230. package/dist/cjs/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
  231. package/dist/cjs/components/src/hooks/useLayoutOptions.js +8 -0
  232. package/dist/cjs/components/src/index.d.ts +12 -1
  233. package/dist/cjs/components/src/index.d.ts.map +1 -1
  234. package/dist/cjs/components/src/index.js +14 -2
  235. package/dist/cjs/components/src/providers/theme.d.ts +1 -1
  236. package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
  237. package/dist/cjs/components/src/providers/themeComponents.d.ts +78 -2
  238. package/dist/cjs/components/src/providers/themeComponents.d.ts.map +1 -1
  239. package/dist/cjs/components/src/providers/themeComponents.js +75 -0
  240. package/dist/cjs/components/src/themes/pike/components/molecules/checkbox.d.ts.map +1 -1
  241. package/dist/cjs/components/src/themes/pike/components/molecules/checkbox.js +1 -4
  242. package/dist/cjs/components/src/themes/pike/components/molecules/layoutSelector.d.ts.map +1 -1
  243. package/dist/cjs/components/src/themes/pike/components/molecules/layoutSelector.js +0 -7
  244. package/dist/cjs/components/src/themes/pike/components/templates/autocompleteFixed.js +4 -4
  245. package/dist/cjs/components/src/themes/pike/components/templates/autocompleteModal.js +4 -4
  246. package/dist/cjs/components/src/themes/pike/components/templates/autocompleteShared.js +3 -3
  247. package/dist/cjs/components/src/themes/pike/components/templates/autocompleteSlideout.js +4 -4
  248. package/dist/cjs/components/src/themes/themeComponents/autocompleteFixed.js +1 -1
  249. package/dist/cjs/components/src/themes/themeComponents/autocompleteModal.js +1 -1
  250. package/dist/cjs/components/src/themes/themeComponents/autocompleteSlideout.js +1 -1
  251. package/dist/cjs/components/src/utilities/mergeProps.d.ts.map +1 -1
  252. package/dist/cjs/components/src/utilities/mergeProps.js +3 -3
  253. package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
  254. package/dist/cjs/src/Templates/SnapTemplates.js +3 -0
  255. package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts +5 -4
  256. package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  257. package/dist/cjs/src/Templates/Stores/LibraryStore.js +29 -67
  258. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +6 -67
  259. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  260. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts +1 -1
  261. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  262. package/dist/cjs/src/Templates/Stores/library/components/OverlayResult.d.ts +2 -0
  263. package/dist/cjs/src/Templates/Stores/library/components/OverlayResult.d.ts.map +1 -0
  264. package/dist/cjs/src/Templates/Stores/library/components/OverlayResult.js +5 -0
  265. package/dist/cjs/src/Templates/index.d.ts +1 -1
  266. package/dist/cjs/src/Templates/index.d.ts.map +1 -1
  267. package/dist/esm/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts +2 -1
  268. package/dist/esm/components/src/components/Atoms/BadgeImage/BadgeImage.d.ts.map +1 -1
  269. package/dist/esm/components/src/components/Atoms/BadgeImage/BadgeImage.js +6 -9
  270. package/dist/esm/components/src/components/Atoms/BadgePill/BadgePill.d.ts +2 -1
  271. package/dist/esm/components/src/components/Atoms/BadgePill/BadgePill.d.ts.map +1 -1
  272. package/dist/esm/components/src/components/Atoms/BadgePill/BadgePill.js +6 -9
  273. package/dist/esm/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts +2 -1
  274. package/dist/esm/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.d.ts.map +1 -1
  275. package/dist/esm/components/src/components/Atoms/BadgeRectangle/BadgeRectangle.js +6 -9
  276. package/dist/esm/components/src/components/Atoms/BadgeText/BadgeText.d.ts +2 -1
  277. package/dist/esm/components/src/components/Atoms/BadgeText/BadgeText.d.ts.map +1 -1
  278. package/dist/esm/components/src/components/Atoms/BadgeText/BadgeText.js +6 -9
  279. package/dist/esm/components/src/components/Atoms/Banner/Banner.d.ts.map +1 -1
  280. package/dist/esm/components/src/components/Atoms/Banner/Banner.js +6 -9
  281. package/dist/esm/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  282. package/dist/esm/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  283. package/dist/esm/components/src/components/Atoms/Breadcrumbs/Breadcrumbs.js +6 -9
  284. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +3 -3
  285. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  286. package/dist/esm/components/src/components/Atoms/Button/Button.js +10 -11
  287. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +2 -2
  288. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  289. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +7 -10
  290. package/dist/esm/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts +2 -1
  291. package/dist/esm/components/src/components/Atoms/FormattedNumber/FormattedNumber.d.ts.map +1 -1
  292. package/dist/esm/components/src/components/Atoms/FormattedNumber/FormattedNumber.js +7 -10
  293. package/dist/esm/components/src/components/Atoms/Icon/Icon.d.ts +3 -2
  294. package/dist/esm/components/src/components/Atoms/Icon/Icon.d.ts.map +1 -1
  295. package/dist/esm/components/src/components/Atoms/Icon/Icon.js +23 -11
  296. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts +2 -1
  297. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
  298. package/dist/esm/components/src/components/Atoms/Image/Image.js +6 -9
  299. package/dist/esm/components/src/components/Atoms/InlineBanner/InlineBanner.d.ts.map +1 -1
  300. package/dist/esm/components/src/components/Atoms/InlineBanner/InlineBanner.js +6 -9
  301. package/dist/esm/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts +2 -1
  302. package/dist/esm/components/src/components/Atoms/LoadingBar/LoadingBar.d.ts.map +1 -1
  303. package/dist/esm/components/src/components/Atoms/LoadingBar/LoadingBar.js +6 -9
  304. package/dist/esm/components/src/components/Atoms/Overlay/Overlay.d.ts +2 -1
  305. package/dist/esm/components/src/components/Atoms/Overlay/Overlay.d.ts.map +1 -1
  306. package/dist/esm/components/src/components/Atoms/Overlay/Overlay.js +6 -9
  307. package/dist/esm/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts +2 -1
  308. package/dist/esm/components/src/components/Atoms/PaginationInfo/PaginationInfo.d.ts.map +1 -1
  309. package/dist/esm/components/src/components/Atoms/PaginationInfo/PaginationInfo.js +6 -9
  310. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts +2 -1
  311. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
  312. package/dist/esm/components/src/components/Atoms/Price/Price.js +7 -10
  313. package/dist/esm/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts +2 -1
  314. package/dist/esm/components/src/components/Atoms/SearchHeader/SearchHeader.d.ts.map +1 -1
  315. package/dist/esm/components/src/components/Atoms/SearchHeader/SearchHeader.js +6 -9
  316. package/dist/esm/components/src/components/Atoms/Skeleton/Skeleton.d.ts +2 -1
  317. package/dist/esm/components/src/components/Atoms/Skeleton/Skeleton.d.ts.map +1 -1
  318. package/dist/esm/components/src/components/Atoms/Skeleton/Skeleton.js +6 -9
  319. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts +2 -1
  320. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
  321. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +13 -14
  322. package/dist/esm/components/src/components/Molecules/Carousel/Carousel.d.ts +2 -2
  323. package/dist/esm/components/src/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
  324. package/dist/esm/components/src/components/Molecules/Carousel/Carousel.js +47 -43
  325. package/dist/esm/components/src/components/Molecules/Checkbox/Checkbox.d.ts +2 -1
  326. package/dist/esm/components/src/components/Molecules/Checkbox/Checkbox.d.ts.map +1 -1
  327. package/dist/esm/components/src/components/Molecules/Checkbox/Checkbox.js +6 -9
  328. package/dist/esm/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts +2 -1
  329. package/dist/esm/components/src/components/Molecules/ErrorHandler/ErrorHandler.d.ts.map +1 -1
  330. package/dist/esm/components/src/components/Molecules/ErrorHandler/ErrorHandler.js +6 -9
  331. package/dist/esm/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +2 -1
  332. package/dist/esm/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
  333. package/dist/esm/components/src/components/Molecules/FacetGridOptions/FacetGridOptions.js +6 -9
  334. package/dist/esm/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +2 -1
  335. package/dist/esm/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
  336. package/dist/esm/components/src/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +6 -9
  337. package/dist/esm/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts +2 -1
  338. package/dist/esm/components/src/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
  339. package/dist/esm/components/src/components/Molecules/FacetListOptions/FacetListOptions.js +6 -9
  340. package/dist/esm/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +2 -1
  341. package/dist/esm/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
  342. package/dist/esm/components/src/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +9 -10
  343. package/dist/esm/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts +2 -1
  344. package/dist/esm/components/src/components/Molecules/FacetSlider/FacetSlider.d.ts.map +1 -1
  345. package/dist/esm/components/src/components/Molecules/FacetSlider/FacetSlider.js +6 -9
  346. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts +2 -1
  347. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  348. package/dist/esm/components/src/components/Molecules/Filter/Filter.js +6 -9
  349. package/dist/esm/components/src/components/Molecules/Grid/Grid.d.ts +2 -1
  350. package/dist/esm/components/src/components/Molecules/Grid/Grid.d.ts.map +1 -1
  351. package/dist/esm/components/src/components/Molecules/Grid/Grid.js +18 -14
  352. package/dist/esm/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts +2 -1
  353. package/dist/esm/components/src/components/Molecules/LayoutSelector/LayoutSelector.d.ts.map +1 -1
  354. package/dist/esm/components/src/components/Molecules/LayoutSelector/LayoutSelector.js +6 -9
  355. package/dist/esm/components/src/components/Molecules/List/List.d.ts +2 -1
  356. package/dist/esm/components/src/components/Molecules/List/List.d.ts.map +1 -1
  357. package/dist/esm/components/src/components/Molecules/List/List.js +6 -9
  358. package/dist/esm/components/src/components/Molecules/LoadMore/LoadMore.d.ts +2 -1
  359. package/dist/esm/components/src/components/Molecules/LoadMore/LoadMore.d.ts.map +1 -1
  360. package/dist/esm/components/src/components/Molecules/LoadMore/LoadMore.js +6 -9
  361. package/dist/esm/components/src/components/Molecules/Modal/Modal.d.ts +2 -2
  362. package/dist/esm/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
  363. package/dist/esm/components/src/components/Molecules/Modal/Modal.js +6 -9
  364. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  365. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  366. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +13 -14
  367. package/dist/esm/components/src/components/Molecules/OverlayResult/OverlayResult.d.ts +48 -0
  368. package/dist/esm/components/src/components/Molecules/OverlayResult/OverlayResult.d.ts.map +1 -0
  369. package/dist/esm/components/src/components/Molecules/OverlayResult/OverlayResult.js +260 -0
  370. package/dist/esm/components/src/components/Molecules/OverlayResult/index.d.ts +2 -0
  371. package/dist/esm/components/src/components/Molecules/OverlayResult/index.d.ts.map +1 -0
  372. package/dist/esm/components/src/components/Molecules/OverlayResult/index.js +1 -0
  373. package/dist/esm/components/src/components/Molecules/Pagination/Pagination.d.ts +2 -1
  374. package/dist/esm/components/src/components/Molecules/Pagination/Pagination.d.ts.map +1 -1
  375. package/dist/esm/components/src/components/Molecules/Pagination/Pagination.js +6 -9
  376. package/dist/esm/components/src/components/Molecules/PerPage/PerPage.d.ts +2 -1
  377. package/dist/esm/components/src/components/Molecules/PerPage/PerPage.d.ts.map +1 -1
  378. package/dist/esm/components/src/components/Molecules/PerPage/PerPage.js +6 -9
  379. package/dist/esm/components/src/components/Molecules/Radio/Radio.d.ts +2 -1
  380. package/dist/esm/components/src/components/Molecules/Radio/Radio.d.ts.map +1 -1
  381. package/dist/esm/components/src/components/Molecules/Radio/Radio.js +6 -9
  382. package/dist/esm/components/src/components/Molecules/RadioList/RadioList.d.ts +2 -1
  383. package/dist/esm/components/src/components/Molecules/RadioList/RadioList.d.ts.map +1 -1
  384. package/dist/esm/components/src/components/Molecules/RadioList/RadioList.js +6 -9
  385. package/dist/esm/components/src/components/Molecules/Rating/Rating.d.ts +2 -1
  386. package/dist/esm/components/src/components/Molecules/Rating/Rating.d.ts.map +1 -1
  387. package/dist/esm/components/src/components/Molecules/Rating/Rating.js +6 -9
  388. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +2 -2
  389. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  390. package/dist/esm/components/src/components/Molecules/Result/Result.js +11 -11
  391. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +2 -1
  392. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  393. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +6 -9
  394. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts +2 -1
  395. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
  396. package/dist/esm/components/src/components/Molecules/Select/Select.js +6 -9
  397. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts +2 -2
  398. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  399. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +6 -9
  400. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +2 -1
  401. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  402. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +7 -10
  403. package/dist/esm/components/src/components/Molecules/SortBy/SortBy.d.ts +2 -1
  404. package/dist/esm/components/src/components/Molecules/SortBy/SortBy.d.ts.map +1 -1
  405. package/dist/esm/components/src/components/Molecules/SortBy/SortBy.js +6 -9
  406. package/dist/esm/components/src/components/Molecules/Swatches/Swatches.d.ts +2 -1
  407. package/dist/esm/components/src/components/Molecules/Swatches/Swatches.d.ts.map +1 -1
  408. package/dist/esm/components/src/components/Molecules/Swatches/Swatches.js +18 -14
  409. package/dist/esm/components/src/components/Molecules/Terms/Terms.d.ts +2 -1
  410. package/dist/esm/components/src/components/Molecules/Terms/Terms.d.ts.map +1 -1
  411. package/dist/esm/components/src/components/Molecules/Terms/Terms.js +6 -9
  412. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts +2 -1
  413. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
  414. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.js +6 -9
  415. package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts +2 -1
  416. package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
  417. package/dist/esm/components/src/components/Organisms/Autocomplete/Autocomplete.js +5 -10
  418. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +3 -2
  419. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  420. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +14 -5
  421. package/dist/esm/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts +2 -1
  422. package/dist/esm/components/src/components/Organisms/BranchOverride/BranchOverride.d.ts.map +1 -1
  423. package/dist/esm/components/src/components/Organisms/BranchOverride/BranchOverride.js +6 -9
  424. package/dist/esm/components/src/components/Organisms/Facet/Facet.d.ts +2 -1
  425. package/dist/esm/components/src/components/Organisms/Facet/Facet.d.ts.map +1 -1
  426. package/dist/esm/components/src/components/Organisms/Facet/Facet.js +20 -9
  427. package/dist/esm/components/src/components/Organisms/Facets/Facets.d.ts +2 -1
  428. package/dist/esm/components/src/components/Organisms/Facets/Facets.d.ts.map +1 -1
  429. package/dist/esm/components/src/components/Organisms/Facets/Facets.js +6 -9
  430. package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts +2 -1
  431. package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map +1 -1
  432. package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +6 -9
  433. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -1
  434. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  435. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.js +6 -9
  436. package/dist/esm/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts +2 -1
  437. package/dist/esm/components/src/components/Organisms/MobileSidebar/MobileSidebar.d.ts.map +1 -1
  438. package/dist/esm/components/src/components/Organisms/MobileSidebar/MobileSidebar.js +6 -9
  439. package/dist/esm/components/src/components/Organisms/NoResults/NoResults.d.ts +2 -1
  440. package/dist/esm/components/src/components/Organisms/NoResults/NoResults.d.ts.map +1 -1
  441. package/dist/esm/components/src/components/Organisms/NoResults/NoResults.js +22 -23
  442. package/dist/esm/components/src/components/Organisms/Results/Results.d.ts +4 -2
  443. package/dist/esm/components/src/components/Organisms/Results/Results.d.ts.map +1 -1
  444. package/dist/esm/components/src/components/Organisms/Results/Results.js +19 -12
  445. package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.d.ts +2 -1
  446. package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.d.ts.map +1 -1
  447. package/dist/esm/components/src/components/Organisms/Sidebar/Sidebar.js +6 -9
  448. package/dist/esm/components/src/components/Organisms/TermsList/TermsList.d.ts +2 -1
  449. package/dist/esm/components/src/components/Organisms/TermsList/TermsList.d.ts.map +1 -1
  450. package/dist/esm/components/src/components/Organisms/TermsList/TermsList.js +6 -9
  451. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.d.ts +2 -1
  452. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.d.ts.map +1 -1
  453. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.js +6 -9
  454. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +4 -3
  455. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  456. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +4 -3
  457. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  458. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +4 -3
  459. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  460. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts +2 -1
  461. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
  462. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.js +15 -5
  463. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts +2 -1
  464. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
  465. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +25 -7
  466. package/dist/esm/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts +1 -1
  467. package/dist/esm/components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.d.ts.map +1 -1
  468. package/dist/esm/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts +1 -1
  469. package/dist/esm/components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.d.ts.map +1 -1
  470. package/dist/esm/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts +1 -1
  471. package/dist/esm/components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.d.ts.map +1 -1
  472. package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts +2 -1
  473. package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.d.ts.map +1 -1
  474. package/dist/esm/components/src/components/Templates/RecommendationEmail/RecommendationEmail.js +15 -4
  475. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts +2 -1
  476. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
  477. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +15 -5
  478. package/dist/esm/components/src/components/Templates/Search/Search.d.ts +2 -1
  479. package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
  480. package/dist/esm/components/src/components/Templates/Search/Search.js +2 -4
  481. package/dist/esm/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts +1 -1
  482. package/dist/esm/components/src/components/Templates/SearchCollapsible/SearchCollapsible.d.ts.map +1 -1
  483. package/dist/esm/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts +1 -1
  484. package/dist/esm/components/src/components/Templates/SearchHorizontal/SearchHorizontal.d.ts.map +1 -1
  485. package/dist/esm/components/src/hooks/createRecommendationTemplate.d.ts.map +1 -1
  486. package/dist/esm/components/src/hooks/createRecommendationTemplate.js +15 -11
  487. package/dist/esm/components/src/hooks/index.d.ts +1 -0
  488. package/dist/esm/components/src/hooks/index.d.ts.map +1 -1
  489. package/dist/esm/components/src/hooks/index.js +1 -0
  490. package/dist/esm/components/src/hooks/useComponent.d.ts +5 -1
  491. package/dist/esm/components/src/hooks/useComponent.d.ts.map +1 -1
  492. package/dist/esm/components/src/hooks/useComponent.js +42 -4
  493. package/dist/esm/components/src/hooks/useCustomComponentOverride.d.ts +12 -0
  494. package/dist/esm/components/src/hooks/useCustomComponentOverride.d.ts.map +1 -0
  495. package/dist/esm/components/src/hooks/useCustomComponentOverride.js +15 -0
  496. package/dist/esm/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
  497. package/dist/esm/components/src/hooks/useLayoutOptions.js +8 -0
  498. package/dist/esm/components/src/index.d.ts +12 -1
  499. package/dist/esm/components/src/index.d.ts.map +1 -1
  500. package/dist/esm/components/src/index.js +12 -1
  501. package/dist/esm/components/src/providers/theme.d.ts +1 -1
  502. package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
  503. package/dist/esm/components/src/providers/themeComponents.d.ts +78 -2
  504. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  505. package/dist/esm/components/src/providers/themeComponents.js +66 -1
  506. package/dist/esm/components/src/themes/pike/components/molecules/checkbox.d.ts.map +1 -1
  507. package/dist/esm/components/src/themes/pike/components/molecules/checkbox.js +1 -3
  508. package/dist/esm/components/src/themes/pike/components/molecules/layoutSelector.d.ts.map +1 -1
  509. package/dist/esm/components/src/themes/pike/components/molecules/layoutSelector.js +0 -7
  510. package/dist/esm/components/src/themes/pike/components/templates/autocompleteFixed.js +4 -4
  511. package/dist/esm/components/src/themes/pike/components/templates/autocompleteModal.js +4 -4
  512. package/dist/esm/components/src/themes/pike/components/templates/autocompleteShared.js +3 -3
  513. package/dist/esm/components/src/themes/pike/components/templates/autocompleteSlideout.js +4 -4
  514. package/dist/esm/components/src/themes/themeComponents/autocompleteFixed.js +1 -1
  515. package/dist/esm/components/src/themes/themeComponents/autocompleteModal.js +1 -1
  516. package/dist/esm/components/src/themes/themeComponents/autocompleteSlideout.js +1 -1
  517. package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
  518. package/dist/esm/components/src/utilities/mergeProps.js +3 -2
  519. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  520. package/dist/esm/src/Templates/SnapTemplates.js +3 -0
  521. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +5 -4
  522. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  523. package/dist/esm/src/Templates/Stores/LibraryStore.js +8 -67
  524. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +6 -67
  525. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  526. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +1 -1
  527. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  528. package/dist/esm/src/Templates/Stores/library/components/OverlayResult.d.ts +2 -0
  529. package/dist/esm/src/Templates/Stores/library/components/OverlayResult.d.ts.map +1 -0
  530. package/dist/esm/src/Templates/Stores/library/components/OverlayResult.js +1 -0
  531. package/dist/esm/src/Templates/index.d.ts +1 -1
  532. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  533. package/package.json +12 -12
@@ -142,7 +142,7 @@ var defaultStyles = function (_a) {
142
142
  };
143
143
  exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (properties) {
144
144
  var _a, _b;
145
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
145
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
146
146
  var globalTheme = (0, providers_1.useTheme)();
147
147
  var globalTreePath = (0, providers_1.useTreePath)();
148
148
  var defaultCarouselBreakpoints = {
@@ -195,7 +195,14 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
195
195
  props = __assign(__assign(__assign({}, props), displaySettings), { theme: theme });
196
196
  }
197
197
  }
198
- var title = props.title, description = props.description, controller = props.controller, breakpoints = props.breakpoints, results = props.results, carousel = props.carousel, preselectedCount = props.preselectedCount, separatorIcon = props.separatorIcon, hideCheckboxes = props.hideCheckboxes, limit = props.limit, seedText = props.seedText, vertical = props.vertical, onAddToCart = props.onAddToCart, separatorIconSeedOnly = props.separatorIconSeedOnly, resultComponent = props.resultComponent, ctaSlot = props.ctaSlot, hideSeed = props.hideSeed, ctaButtonText = props.ctaButtonText, ctaButtonSuccessText = props.ctaButtonSuccessText, ctaButtonSuccessTimeout = props.ctaButtonSuccessTimeout, disableStyles = props.disableStyles, ctaIcon = props.ctaIcon, ctaInline = props.ctaInline, hideSeedText = props.hideSeedText, lazyRender = props.lazyRender, className = props.className, internalClassName = props.internalClassName, alias = props.alias, _ = props.style, __ = props.styleScript, ___ = props.themeStyleScript, treePath = props.treePath, additionalProps = __rest(props, ["title", "description", "controller", "breakpoints", "results", "carousel", "preselectedCount", "separatorIcon", "hideCheckboxes", "limit", "seedText", "vertical", "onAddToCart", "separatorIconSeedOnly", "resultComponent", "ctaSlot", "hideSeed", "ctaButtonText", "ctaButtonSuccessText", "ctaButtonSuccessTimeout", "disableStyles", "ctaIcon", "ctaInline", "hideSeedText", "lazyRender", "className", "internalClassName", "alias", "style", "styleScript", "themeStyleScript", "treePath"]);
198
+ var title = props.title, description = props.description, controller = props.controller, breakpoints = props.breakpoints, results = props.results, carousel = props.carousel, preselectedCount = props.preselectedCount, separatorIcon = props.separatorIcon, hideCheckboxes = props.hideCheckboxes, limit = props.limit, seedText = props.seedText, vertical = props.vertical, onAddToCart = props.onAddToCart, separatorIconSeedOnly = props.separatorIconSeedOnly, ctaSlot = props.ctaSlot, hideSeed = props.hideSeed, ctaButtonText = props.ctaButtonText, ctaButtonSuccessText = props.ctaButtonSuccessText, ctaButtonSuccessTimeout = props.ctaButtonSuccessTimeout, disableStyles = props.disableStyles, ctaIcon = props.ctaIcon, ctaInline = props.ctaInline, hideSeedText = props.hideSeedText, lazyRender = props.lazyRender, className = props.className, internalClassName = props.internalClassName, alias = props.alias, _ = props.style, __ = props.styleScript, ___ = props.themeStyleScript, treePath = props.treePath, additionalProps = __rest(props, ["title", "description", "controller", "breakpoints", "results", "carousel", "preselectedCount", "separatorIcon", "hideCheckboxes", "limit", "seedText", "vertical", "onAddToCart", "separatorIconSeedOnly", "ctaSlot", "hideSeed", "ctaButtonText", "ctaButtonSuccessText", "ctaButtonSuccessTimeout", "disableStyles", "ctaIcon", "ctaInline", "hideSeedText", "lazyRender", "className", "internalClassName", "alias", "style", "styleScript", "themeStyleScript", "treePath"]);
199
+ var resultComponent = props.resultComponent;
200
+ var snap = (0, providers_1.useSnap)();
201
+ var isNamedResultComponent = typeof resultComponent === 'string';
202
+ var resultComponentName = isNamedResultComponent ? resultComponent : '';
203
+ var resultComponentMap = ((_t = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _t === void 0 ? void 0 : _t.library.import.component.result) || {};
204
+ var _2 = (0, hooks_2.useComponent)(resultComponentMap, isNamedResultComponent ? resultComponentName : undefined), resultComponentOverride = _2.ComponentOverride, shouldWaitForNamedResultComponent = _2.shouldWaitForNamedOverride;
205
+ var resolvedResultComponent = isNamedResultComponent ? resultComponentOverride : resultComponent;
199
206
  var mergedlazyRender = __assign({ enabled: true, offset: '10%' }, lazyRender);
200
207
  var mergedCarouselProps = __assign({ enabled: true, loop: false, spaceBetween: 10 }, carousel);
201
208
  var seedInCarousel = mergedCarouselProps.seedInCarousel, prevButton = mergedCarouselProps.prevButton, nextButton = mergedCarouselProps.nextButton, hideButtons = mergedCarouselProps.hideButtons, loop = mergedCarouselProps.loop, spaceBetween = mergedCarouselProps.spaceBetween, pagination = mergedCarouselProps.pagination;
@@ -203,7 +210,7 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
203
210
  if (!controller || controller.type !== 'recommendation') {
204
211
  throw new Error("<RecommendationBundle> Component requires 'controller' prop with an instance of RecommendationController");
205
212
  }
206
- var resultsToRender = results || ((_t = controller.store) === null || _t === void 0 ? void 0 : _t.results);
213
+ var resultsToRender = results || ((_u = controller.store) === null || _u === void 0 ? void 0 : _u.results);
207
214
  if (limit) {
208
215
  resultsToRender = resultsToRender.slice(0, hideSeed && resultsToRender.filter(function (result) { return result.bundleSeed == true; }).length ? limit + 1 : limit);
209
216
  }
@@ -211,13 +218,13 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
211
218
  if (!cartStore) {
212
219
  throw new Error("<RecommendationBundle> Component requires 'cartStore' to exist in the recommendation store");
213
220
  }
214
- if (!(results && results.length) && !((_v = (_u = controller.store) === null || _u === void 0 ? void 0 : _u.results) === null || _v === void 0 ? void 0 : _v.length)) {
221
+ if (!(results && results.length) && !((_w = (_v = controller.store) === null || _v === void 0 ? void 0 : _v.results) === null || _w === void 0 ? void 0 : _w.length)) {
215
222
  controller.log.error("<RecommendationBundle> Component has no results to render!");
216
223
  return null;
217
224
  }
218
225
  var seed = results
219
226
  ? results.filter(function (result) { return result.bundleSeed == true; }).pop()
220
- : (_x = (_w = controller.store) === null || _w === void 0 ? void 0 : _w.results) === null || _x === void 0 ? void 0 : _x.filter(function (result) { return result.bundleSeed == true; }).pop();
227
+ : (_y = (_x = controller.store) === null || _x === void 0 ? void 0 : _x.results) === null || _y === void 0 ? void 0 : _y.filter(function (result) { return result.bundleSeed == true; }).pop();
221
228
  var resultSubProps = alias == 'recommendationBundleList' ? { hideImage: true, hideBadge: true } : {};
222
229
  var subProps = {
223
230
  carousel: __assign(__assign({ loop: loop,
@@ -236,7 +243,7 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
236
243
  theme: props === null || props === void 0 ? void 0 : props.theme, treePath: treePath }),
237
244
  };
238
245
  var hasSeed = Boolean(resultsToRender.filter(function (result) { return result.bundleSeed == true; }).length);
239
- var slidesPerView = ((_y = props.carousel) === null || _y === void 0 ? void 0 : _y.slidesPerView) || props.slidesPerView;
246
+ var slidesPerView = ((_z = props.carousel) === null || _z === void 0 ? void 0 : _z.slidesPerView) || props.slidesPerView;
240
247
  if (!slidesPerView) {
241
248
  slidesPerView = 2;
242
249
  }
@@ -284,7 +291,7 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
284
291
  };
285
292
  };
286
293
  //no breakpoint props allowed in templates
287
- if (!(((_z = properties.theme) === null || _z === void 0 ? void 0 : _z.type) == 'templates' || (globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.type) == 'templates')) {
294
+ if (!(((_0 = properties.theme) === null || _0 === void 0 ? void 0 : _0.type) == 'templates' || (globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.type) == 'templates')) {
288
295
  Object.keys(props.breakpoints).forEach(function (breakpoint) {
289
296
  var obj = props.breakpoints[breakpoint];
290
297
  var _a = adjustSlides_1(obj), adjustedSlidesPerView = _a.slidesPerView, adjustedSlidesPerGroup = _a.slidesPerGroup;
@@ -292,7 +299,7 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
292
299
  });
293
300
  }
294
301
  else {
295
- var _1 = adjustSlides_1(__assign(__assign({}, mergedCarouselProps), { slidesPerView: slidesPerView })), adjustedSlidesPerView = _1.slidesPerView, adjustedSlidesPerGroup = _1.slidesPerGroup;
302
+ var _3 = adjustSlides_1(__assign(__assign({}, mergedCarouselProps), { slidesPerView: slidesPerView })), adjustedSlidesPerView = _3.slidesPerView, adjustedSlidesPerGroup = _3.slidesPerGroup;
296
303
  displaySettings = __assign(__assign({}, mergedCarouselProps), { slidesPerView: adjustedSlidesPerView, slidesPerGroup: adjustedSlidesPerGroup });
297
304
  }
298
305
  }
@@ -336,7 +343,7 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
336
343
  };
337
344
  var seedRef = (0, hooks_1.useRef)();
338
345
  var carouselRef = (0, hooks_1.useRef)();
339
- var _2 = (0, hooks_1.useState)(false), isVisible = _2[0], setIsVisible = _2[1];
346
+ var _4 = (0, hooks_1.useState)(false), isVisible = _4[0], setIsVisible = _4[1];
340
347
  var recsRef = (0, hooks_1.useRef)(null);
341
348
  var inView = (mergedlazyRender === null || mergedlazyRender === void 0 ? void 0 : mergedlazyRender.enabled) ? (0, hooks_2.useIntersection)(recsRef, "".concat(mergedlazyRender.offset, " 0px ").concat(mergedlazyRender.offset, " 0px"), true) : true;
342
349
  if (inView) {
@@ -379,7 +386,14 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
379
386
  if (isSeed) {
380
387
  attributes = __assign(__assign({}, attributes), { seedText: seedText, seed: true, icon: separatorIcon, lang: { seedText: lang.seedText } });
381
388
  }
382
- return !isSeed || ((seedInCarousel || (carousel === null || carousel === void 0 ? void 0 : carousel.enabled) == false) && isSeed && !hideSeed) ? ((0, jsx_runtime_1.jsx)(ResultTracker_1.ResultTracker, { controller: controller, result: result, track: { impression: Boolean(!isSeed) }, children: (0, jsx_runtime_1.jsx)(BundleSelector_1.BundleSelector, __assign({}, attributes, { children: resultComponent ? ((0, utilities_1.cloneWithProps)(resultComponent, { controller: controller, treePath: treePath, result: result, seed: isSeed, selected: selected, onProductSelect: onProductSelect })) : ((0, jsx_runtime_1.jsx)(Result_1.Result, __assign({}, subProps.result, { controller: controller, result: result }))) })) }, result.id)) : null;
389
+ return !isSeed || ((seedInCarousel || (carousel === null || carousel === void 0 ? void 0 : carousel.enabled) == false) && isSeed && !hideSeed) ? ((0, jsx_runtime_1.jsx)(ResultTracker_1.ResultTracker, { controller: controller, result: result, track: { impression: Boolean(!isSeed) }, children: (0, jsx_runtime_1.jsx)(BundleSelector_1.BundleSelector, __assign({}, attributes, { children: resolvedResultComponent ? ((0, utilities_1.cloneWithProps)(resolvedResultComponent, {
390
+ controller: controller,
391
+ treePath: treePath,
392
+ result: result,
393
+ seed: isSeed,
394
+ selected: selected,
395
+ onProductSelect: onProductSelect,
396
+ })) : shouldWaitForNamedResultComponent ? null : ((0, jsx_runtime_1.jsx)(Result_1.Result, __assign({}, subProps.result, { controller: controller, result: result }))) })) }, result.id)) : null;
383
397
  });
384
398
  }, [
385
399
  resultsToRender,
@@ -389,7 +403,8 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
389
403
  separatorIcon,
390
404
  seedInCarousel,
391
405
  hideSeed,
392
- resultComponent,
406
+ shouldWaitForNamedResultComponent,
407
+ resolvedResultComponent,
393
408
  props.theme,
394
409
  seedText,
395
410
  ]);
@@ -399,12 +414,12 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
399
414
  return (resultsToRender === null || resultsToRender === void 0 ? void 0 : resultsToRender.length) ? ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", __assign({}, styling, { ref: recsRef, className: (0, classnames_1.default)(classNamePrefix, (_a = {}, _a["".concat(classNamePrefix, "--stacked")] = !ctaInline, _a), className, internalClassName), children: isVisible ? ((0, jsx_runtime_1.jsxs)(ProfileTracker_1.RecommendationProfileTracker, { controller: controller, children: [title && ((0, jsx_runtime_1.jsx)("h3", { className: "".concat(classNamePrefix, "__title"), children: (0, jsx_runtime_1.jsx)("span", { children: title }) })), description && ((0, jsx_runtime_1.jsx)("p", { className: "ss__recommendation-bundle__description", children: (0, jsx_runtime_1.jsx)("span", { children: description }) })), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)("".concat(classNamePrefix, "__wrapper"), (_b = {},
400
415
  _b["".concat(classNamePrefix, "__wrapper--seed-in-carousel")] = seedInCarousel,
401
416
  _b["".concat(classNamePrefix, "__wrapper--vertical")] = vertical,
402
- _b)), children: [carouselEnabled ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!seedInCarousel && !hideSeed && seed && ((0, jsx_runtime_1.jsx)("div", { className: "".concat(classNamePrefix, "__wrapper__seed-container"), children: (0, jsx_runtime_1.jsx)(ResultTracker_1.ResultTracker, { controller: controller, result: seed, track: { impression: false }, children: (0, jsx_runtime_1.jsx)(BundleSelector_1.BundleSelector, { seedText: seedText, seed: true, title: (_0 = seed.display.mappings.core) === null || _0 === void 0 ? void 0 : _0.name, onCheck: function (e) {
417
+ _b)), children: [carouselEnabled ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!seedInCarousel && !hideSeed && seed && ((0, jsx_runtime_1.jsx)("div", { className: "".concat(classNamePrefix, "__wrapper__seed-container"), children: (0, jsx_runtime_1.jsx)(ResultTracker_1.ResultTracker, { controller: controller, result: seed, track: { impression: false }, children: (0, jsx_runtime_1.jsx)(BundleSelector_1.BundleSelector, { seedText: seedText, seed: true, title: (_1 = seed.display.mappings.core) === null || _1 === void 0 ? void 0 : _1.name, onCheck: function (e) {
403
418
  e.stopPropagation();
404
419
  onProductSelect(seed);
405
420
  }, checked: selectedItems.findIndex(function (item) { return item.id == seed.id; }) > -1, icon: separatorIcon, hideCheckboxes: hideCheckboxes, theme: props.theme, ref: seedRef, treePath: treePath, classNamePrefix: classNamePrefix, lang: { seedText: lang.seedText }, children: (function () {
406
- if (resultComponent && controller) {
407
- return (0, utilities_1.cloneWithProps)(resultComponent, {
421
+ if (resolvedResultComponent && controller) {
422
+ return (0, utilities_1.cloneWithProps)(resolvedResultComponent, {
408
423
  controller: controller,
409
424
  seed: true,
410
425
  selected: selectedItems.findIndex(function (item) { return item.id == seed.id; }) > -1,
@@ -413,6 +428,9 @@ exports.RecommendationBundle = (0, mobx_react_lite_1.observer)(function (propert
413
428
  treePath: treePath,
414
429
  });
415
430
  }
431
+ else if (shouldWaitForNamedResultComponent) {
432
+ return null;
433
+ }
416
434
  else {
417
435
  return (0, jsx_runtime_1.jsx)(Result_1.Result, __assign({}, subProps.result, { controller: controller, result: seed }));
418
436
  }
@@ -10,6 +10,6 @@ export type RecommendationBundleEasyAddProps = {
10
10
  alias?: string | undefined;
11
11
  lang?: Partial<RecommendationBundleLang> | undefined;
12
12
  results?: Product[] | undefined;
13
- } & RecommendationBundleEasyAddTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
13
+ } & Omit<RecommendationBundleEasyAddTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
14
14
  export type RecommendationBundleEasyAddTemplatesLegalProps = Omit<RecommendationBundleProps, 'controller' | 'alias' | 'lang' | 'results' | 'hideSeed' | 'limit' | 'hideCheckboxes' | 'carousel' | 'separatorIcon' | 'separatorIconSeedOnly' | 'preselectedCount' | 'breakpoints'>;
15
15
  //# sourceMappingURL=RecommendationBundleEasyAdd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationBundleEasyAdd.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAY9F,eAAO,MAAM,2BAA2B,gBAAyB,gCAAgC;;CAwC/F,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG;IAC9C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,8CAA8C,GACjD,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,8CAA8C,GAAG,IAAI,CAChE,yBAAyB,EACvB,YAAY,GACZ,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,uBAAuB,GACvB,kBAAkB,GAClB,aAAa,CACf,CAAC"}
1
+ {"version":3,"file":"RecommendationBundleEasyAdd.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleEasyAdd/RecommendationBundleEasyAdd.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAY9F,eAAO,MAAM,2BAA2B,gBAAyB,gCAAgC;;CAwC/F,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG;IAC9C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,IAAI,CAAC,8CAA8C,EAAE,iBAAiB,CAAC,GAC1E,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,8CAA8C,GAAG,IAAI,CAChE,yBAAyB,EACvB,YAAY,GACZ,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,uBAAuB,GACvB,kBAAkB,GAClB,aAAa,CACf,CAAC"}
@@ -11,7 +11,7 @@ export type RecommendationBundleListProps = {
11
11
  alias?: string | undefined;
12
12
  lang?: Partial<RecommendationBundleLang> | undefined;
13
13
  results?: Product[] | undefined;
14
- } & RecommendationBundleListTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
14
+ } & Omit<RecommendationBundleListTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
15
15
  export type RecommendationBundleListTemplatesLegalProps = Omit<RecommendationBundleProps, 'controller' | 'alias' | 'lang' | 'results' | 'seedText' | 'ctaInline' | 'ctaIcon' | 'vertical' | 'slidesPerView' | 'carousel' | 'breakpoints'>;
16
16
  export declare const CTASlot: ((props: BundledCTAProps) => import("@emotion/react/jsx-runtime").JSX.Element) & {
17
17
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationBundleList.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAKpH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAwDzD,eAAO,MAAM,wBAAwB,gBAAyB,6BAA6B;;CAyCzF,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC3C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,2CAA2C,GAC9C,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,2CAA2C,GAAG,IAAI,CAC7D,yBAAyB,EACzB,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAC9I,CAAC;AAcF,eAAO,MAAM,OAAO,WAAoB,eAAe;;CAmIrD,CAAC"}
1
+ {"version":3,"file":"RecommendationBundleList.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleList/RecommendationBundleList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAKpH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAwDzD,eAAO,MAAM,wBAAwB,gBAAyB,6BAA6B;;CAyCzF,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC3C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,IAAI,CAAC,2CAA2C,EAAE,iBAAiB,CAAC,GACvE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,2CAA2C,GAAG,IAAI,CAC7D,yBAAyB,EACzB,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAC9I,CAAC;AAcF,eAAO,MAAM,OAAO,WAAoB,eAAe;;CAmIrD,CAAC"}
@@ -10,6 +10,6 @@ export type RecommendationBundleVerticalProps = {
10
10
  alias?: string | undefined;
11
11
  lang?: Partial<RecommendationBundleLang> | undefined;
12
12
  results?: Product[] | undefined;
13
- } & RecommendationBundleVerticalTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
13
+ } & Omit<RecommendationBundleVerticalTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
14
14
  export type RecommendationBundleVerticalTemplatesLegalProps = Omit<RecommendationBundleProps, 'controller' | 'alias' | 'lang' | 'results' | 'vertical' | 'ctaInline' | 'carousel' | 'slidesPerView'>;
15
15
  //# sourceMappingURL=RecommendationBundleVertical.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationBundleVertical.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAe9F,eAAO,MAAM,4BAA4B,gBAAyB,iCAAiC;;CAkCjG,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG;IAC/C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,+CAA+C,GAClD,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,+CAA+C,GAAG,IAAI,CACjE,yBAAyB,EACzB,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,CACrG,CAAC"}
1
+ {"version":3,"file":"RecommendationBundleVertical.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationBundleVertical/RecommendationBundleVertical.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAwB,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAe9F,eAAO,MAAM,4BAA4B,gBAAyB,iCAAiC;;CAkCjG,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG;IAC/C,UAAU,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAChC,GAAG,IAAI,CAAC,+CAA+C,EAAE,iBAAiB,CAAC,GAC3E,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,+CAA+C,GAAG,IAAI,CACjE,yBAAyB,EACzB,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,CACrG,CAAC"}
@@ -11,8 +11,9 @@ export type RecommendationEmailProps = {
11
11
  controller?: RecommendationController;
12
12
  results?: Product[];
13
13
  resultComponent?: JSXComponent | JSX.Element;
14
- } & RecommendationEmailTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
14
+ } & Omit<RecommendationEmailTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
15
15
  export type RecommendationEmailTemplatesLegalProps = {
16
+ resultComponent?: string;
16
17
  resultProps?: Partial<ResultProps> | Record<string, any>;
17
18
  resultWidth?: string;
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationEmail.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationEmail/RecommendationEmail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAU,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAS,cAAc,EAAyB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3E,eAAO,MAAM,sCAAsC,EAAE,cAAc,CAClE,wCAAwC,EACxC,wBAAwB,EACxB,sCAAsC,CAMtC,CAAC;AAMF,eAAO,MAAM,mBAAmB,gBAAyB,wBAAwB;;CA0E/E,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;CAC7C,GAAG,sCAAsC,GACzC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,sCAAsC,GAAG;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"RecommendationEmail.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationEmail/RecommendationEmail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAU,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAS,cAAc,EAAkC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI3E,eAAO,MAAM,sCAAsC,EAAE,cAAc,CAClE,wCAAwC,EACxC,wBAAwB,EACxB,sCAAsC,CAMtC,CAAC;AAMF,eAAO,MAAM,mBAAmB,gBAAyB,wBAAwB;;CAuF/E,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;CAC7C,GAAG,IAAI,CAAC,sCAAsC,EAAE,iBAAiB,CAAC,GAClE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,sCAAsC,GAAG;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -22,6 +22,7 @@ var classnames_1 = __importDefault(require("classnames"));
22
22
  var Result_1 = require("../../Molecules/Result");
23
23
  var utilities_1 = require("../../../utilities");
24
24
  var providers_1 = require("../../../providers");
25
+ var hooks_1 = require("../../../hooks");
25
26
  exports.recommendationEmailThemeComponentProps = {
26
27
  default: {},
27
28
  mobile: {},
@@ -32,7 +33,7 @@ var defaultStyles = function () {
32
33
  return (0, react_1.css)({});
33
34
  };
34
35
  exports.RecommendationEmail = (0, mobx_react_lite_1.observer)(function (properties) {
35
- var _a, _b, _c, _d, _e;
36
+ var _a, _b, _c, _d, _e, _f;
36
37
  var globalTheme = (0, providers_1.useTheme)();
37
38
  var globalTreePath = (0, providers_1.useTreePath)();
38
39
  var defaultProps = {
@@ -41,7 +42,14 @@ exports.RecommendationEmail = (0, mobx_react_lite_1.observer)(function (properti
41
42
  treePath: globalTreePath,
42
43
  };
43
44
  var props = (0, utilities_1.mergeProps)('recommendationEmail', globalTheme, defaultProps, properties);
44
- var controller = props.controller, results = props.results, resultComponent = props.resultComponent, resultProps = props.resultProps, resultWidth = props.resultWidth, treePath = props.treePath, disableStyles = props.disableStyles, internalClassName = props.internalClassName, className = props.className;
45
+ var controller = props.controller, results = props.results, resultProps = props.resultProps, resultWidth = props.resultWidth, treePath = props.treePath, disableStyles = props.disableStyles, internalClassName = props.internalClassName, className = props.className;
46
+ var resultComponent = props.resultComponent;
47
+ var snap = (0, providers_1.useSnap)();
48
+ var isNamedResultComponent = typeof resultComponent === 'string';
49
+ var resultComponentName = isNamedResultComponent ? resultComponent : '';
50
+ var resultComponentMap = ((_e = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _e === void 0 ? void 0 : _e.library.import.component.result) || {};
51
+ var _g = (0, hooks_1.useComponent)(resultComponentMap, isNamedResultComponent ? resultComponentName : undefined), resultComponentOverride = _g.ComponentOverride, shouldWaitForNamedResultComponent = _g.shouldWaitForNamedOverride;
52
+ var resolvedResultComponent = isNamedResultComponent ? resultComponentOverride : resultComponent;
45
53
  var subProps = {
46
54
  result: __assign(__assign({
47
55
  // default props
@@ -52,12 +60,15 @@ exports.RecommendationEmail = (0, mobx_react_lite_1.observer)(function (properti
52
60
  theme: props === null || props === void 0 ? void 0 : props.theme, treePath: treePath }),
53
61
  };
54
62
  var styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
55
- var resultsToRender = results || ((_e = controller === null || controller === void 0 ? void 0 : controller.store) === null || _e === void 0 ? void 0 : _e.results) || [];
63
+ var resultsToRender = results || ((_f = controller === null || controller === void 0 ? void 0 : controller.store) === null || _f === void 0 ? void 0 : _f.results) || [];
56
64
  return resultsToRender.length > 0 ? ((0, jsx_runtime_1.jsx)("div", __assign({ className: (0, classnames_1.default)('ss__recommendation-email', className, internalClassName) }, styling, { children: resultsToRender.map(function (result, idx) { return ((0, jsx_runtime_1.jsx)("div", { id: "ss-emailrec".concat(idx), className: (0, classnames_1.default)('ss__recommendation-email__result-wrapper'), style: { display: 'block', width: resultWidth }, children: (function () {
57
- if (resultComponent) {
58
- return (0, utilities_1.cloneWithProps)(resultComponent, __assign(__assign({ controller: controller, result: result }, resultProps), { email: true, treePath: treePath }));
65
+ if (resolvedResultComponent) {
66
+ return (0, utilities_1.cloneWithProps)(resolvedResultComponent, __assign(__assign({ controller: controller, result: result }, resultProps), { email: true, treePath: treePath }));
59
67
  }
60
68
  else {
69
+ if (shouldWaitForNamedResultComponent) {
70
+ return null;
71
+ }
61
72
  return ((0, jsx_runtime_1.jsx)(Result_1.Result, __assign({ result: result, hideBadge: true, theme: {
62
73
  components: {
63
74
  image: {
@@ -9,8 +9,9 @@ export type RecommendationGridProps = {
9
9
  breakpoints?: BreakpointsProps;
10
10
  resultComponent?: JSXComponent | JSX.Element;
11
11
  results?: Product[];
12
- } & RecommendationGridTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
12
+ } & Omit<RecommendationGridTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
13
13
  export type RecommendationGridTemplatesLegalProps = {
14
+ resultComponent?: string;
14
15
  title?: string;
15
16
  columns?: number;
16
17
  rows?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationGrid.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationGrid/RecommendationGrid.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA6B7F,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CAgI7E,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,wBAAwB,CAAC;IACrC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,GAAG,qCAAqC,GACxC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,qCAAqC,GAAG;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"RecommendationGrid.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/RecommendationGrid/RecommendationGrid.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA8B7F,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CA6I7E,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,wBAAwB,CAAC;IACrC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,GAAG,IAAI,CAAC,qCAAqC,EAAE,iBAAiB,CAAC,GACjE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,qCAAqC,GAAG;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACF,CAAC"}
@@ -48,7 +48,7 @@ var defaultStyles = function (_a) {
48
48
  });
49
49
  };
50
50
  exports.RecommendationGrid = (0, mobx_react_lite_1.observer)(function (properties) {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
52
52
  var globalTheme = (0, providers_1.useTheme)();
53
53
  var globalTreePath = (0, providers_1.useTreePath)();
54
54
  var defaultProps = {
@@ -66,7 +66,14 @@ exports.RecommendationGrid = (0, mobx_react_lite_1.observer)(function (propertie
66
66
  var theme_1 = (0, deepmerge_1.default)((props === null || props === void 0 ? void 0 : props.theme) || {}, (displaySettings === null || displaySettings === void 0 ? void 0 : displaySettings.theme) || {}, { arrayMerge: function (destinationArray, sourceArray) { return sourceArray; } });
67
67
  props = __assign(__assign(__assign({}, props), displaySettings), { theme: theme_1 });
68
68
  }
69
- var disableStyles = props.disableStyles, title = props.title, resultComponent = props.resultComponent, trim = props.trim, lazyRender = props.lazyRender, className = props.className, internalClassName = props.internalClassName, treePath = props.treePath, theme = props.theme, controller = props.controller;
69
+ var disableStyles = props.disableStyles, title = props.title, trim = props.trim, lazyRender = props.lazyRender, className = props.className, internalClassName = props.internalClassName, treePath = props.treePath, theme = props.theme, controller = props.controller;
70
+ var resultComponent = props.resultComponent;
71
+ var snap = (0, providers_1.useSnap)();
72
+ var isNamedResultComponent = typeof resultComponent === 'string';
73
+ var resultComponentName = isNamedResultComponent ? resultComponent : '';
74
+ var resultComponentMap = ((_o = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _o === void 0 ? void 0 : _o.library.import.component.result) || {};
75
+ var _p = (0, hooks_2.useComponent)(resultComponentMap, isNamedResultComponent ? resultComponentName : undefined), resultComponentOverride = _p.ComponentOverride, shouldWaitForNamedResultComponent = _p.shouldWaitForNamedOverride;
76
+ var resolvedResultComponent = isNamedResultComponent ? resultComponentOverride : resultComponent;
70
77
  var mergedlazyRender = __assign({ enabled: true, offset: '10%' }, lazyRender);
71
78
  var subProps = {
72
79
  result: __assign(__assign({
@@ -100,7 +107,7 @@ exports.RecommendationGrid = (0, mobx_react_lite_1.observer)(function (propertie
100
107
  results = results === null || results === void 0 ? void 0 : results.slice(0, props.columns * props.rows);
101
108
  }
102
109
  var styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
103
- var _o = (0, react_2.useState)(false), isVisible = _o[0], setIsVisible = _o[1];
110
+ var _q = (0, react_2.useState)(false), isVisible = _q[0], setIsVisible = _q[1];
104
111
  var recsRef = (0, hooks_1.useRef)(null);
105
112
  var inView = (mergedlazyRender === null || mergedlazyRender === void 0 ? void 0 : mergedlazyRender.enabled) ? (0, hooks_2.useIntersection)(recsRef, "".concat(mergedlazyRender.offset, " 0px ").concat(mergedlazyRender.offset, " 0px"), true) : true;
106
113
  if (inView) {
@@ -108,8 +115,8 @@ exports.RecommendationGrid = (0, mobx_react_lite_1.observer)(function (propertie
108
115
  }
109
116
  return (results === null || results === void 0 ? void 0 : results.length) ? ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", __assign({}, styling, { ref: recsRef, className: (0, classnames_1.default)('ss__recommendation-grid', className, internalClassName), children: isVisible ? ((0, jsx_runtime_1.jsxs)(ProfileTracker_1.RecommendationProfileTracker, { controller: controller, children: [title && (0, jsx_runtime_1.jsx)("h3", { className: "ss__recommendation-grid__title", children: title }), (0, jsx_runtime_1.jsx)("div", { className: "ss__recommendation-grid__results", children: results.map(function (result) {
110
117
  return (function () {
111
- if (resultComponent && controller) {
112
- return (0, utilities_1.cloneWithProps)(resultComponent, {
118
+ if (resolvedResultComponent && controller) {
119
+ return (0, utilities_1.cloneWithProps)(resolvedResultComponent, {
113
120
  controller: controller,
114
121
  result: result,
115
122
  theme: theme,
@@ -117,6 +124,9 @@ exports.RecommendationGrid = (0, mobx_react_lite_1.observer)(function (propertie
117
124
  });
118
125
  }
119
126
  else {
127
+ if (shouldWaitForNamedResultComponent) {
128
+ return null;
129
+ }
120
130
  return ((0, jsx_runtime_1.jsx)(ResultTracker_1.ResultTracker, { result: result, controller: controller, children: (0, jsx_runtime_1.jsx)(Result_1.Result, __assign({}, subProps.result, { result: result, controller: controller, treePath: treePath }), result.id) }));
121
131
  }
122
132
  })();
@@ -10,8 +10,9 @@ export type SearchProps = {
10
10
  lang?: Partial<SearchLang>;
11
11
  alias?: 'searchCollapsible' | 'searchHorizontal';
12
12
  resultComponent?: JSXComponent | JSX.Element;
13
- } & SearchTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
13
+ } & Omit<SearchTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
14
14
  export type SearchTemplatesLegalProps = {
15
+ resultComponent?: string;
15
16
  mobileDisplayAt?: string;
16
17
  hideSidebar?: boolean;
17
18
  hideTopToolbar?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Search/Search.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAe,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAKlG,OAAO,EAAE,IAAI,EAA0B,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAwCnE,eAAO,MAAM,MAAM,gBAAyB,WAAW;;CA+LrD,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;CAC7C,GAAG,yBAAyB,GAC5B,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,yBAAyB,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Search/Search.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAe,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAKlG,OAAO,EAAE,IAAI,EAA0B,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAwCnE,eAAO,MAAM,MAAM,gBAAyB,WAAW;;CA6LrD,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;CAC7C,GAAG,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,GACrD,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,yBAAyB,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F"}
@@ -78,10 +78,8 @@ exports.Search = (0, mobx_react_lite_1.observer)(function (properties) {
78
78
  if (props.alias) {
79
79
  classNamePrefix = "ss__".concat((0, componentNameToClassName_1.componentNameToClassName)(props.alias));
80
80
  }
81
- // handle selected layoutOptions
82
- if ((globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.name) && props.layoutOptions) {
83
- (0, useLayoutOptions_1.useLayoutOptions)(props, globalTheme);
84
- }
81
+ // handle selected layoutOptions - must always call to preserve hook order
82
+ (0, useLayoutOptions_1.useLayoutOptions)(props, globalTheme);
85
83
  var store = controller.store;
86
84
  var isMobile = (0, hooks_2.useMediaQuery)("(max-width: ".concat(mobileDisplayAt, ")"));
87
85
  var _f = (0, hooks_1.useState)(Boolean(alias !== 'searchHorizontal' && !toggleSidebarStartClosed)), sidebarOpenState = _f[0], setSidebarOpenState = _f[1];
@@ -6,6 +6,6 @@ export declare const SearchCollapsible: ((properties: SearchCollapsibleProps) =>
6
6
  };
7
7
  export type SearchCollapsibleProps = {
8
8
  controller: SearchController;
9
- } & SearchProps & SearchCollapsibleTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
9
+ } & SearchProps & Omit<SearchCollapsibleTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
10
10
  export type SearchCollapsibleTemplatesLegalProps = SearchTemplatesLegalProps;
11
11
  //# sourceMappingURL=SearchCollapsible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchCollapsible.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/SearchCollapsible/SearchCollapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAU,WAAW,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElF,eAAO,MAAM,iBAAiB,gBAAyB,sBAAsB;;CAM3E,CAAC;AAIH,MAAM,MAAM,sBAAsB,GAAG;IACpC,UAAU,EAAE,gBAAgB,CAAC;CAC7B,GAAG,WAAW,GACd,oCAAoC,GACpC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,oCAAoC,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"SearchCollapsible.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/SearchCollapsible/SearchCollapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAU,WAAW,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElF,eAAO,MAAM,iBAAiB,gBAAyB,sBAAsB;;CAM3E,CAAC;AAIH,MAAM,MAAM,sBAAsB,GAAG;IACpC,UAAU,EAAE,gBAAgB,CAAC;CAC7B,GAAG,WAAW,GACd,IAAI,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,GAC7D,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,oCAAoC,GAAG,yBAAyB,CAAC"}
@@ -6,6 +6,6 @@ export declare const SearchHorizontal: ((properties: SearchHorizontalProps) => i
6
6
  };
7
7
  export type SearchHorizontalProps = {
8
8
  controller: SearchController;
9
- } & SearchProps & SearchHorizontalTemplatesLegalProps & Omit<ComponentProps, 'customComponent'>;
9
+ } & SearchProps & Omit<SearchHorizontalTemplatesLegalProps, 'resultComponent'> & Omit<ComponentProps, 'customComponent'>;
10
10
  export type SearchHorizontalTemplatesLegalProps = SearchTemplatesLegalProps;
11
11
  //# sourceMappingURL=SearchHorizontal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchHorizontal.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/SearchHorizontal/SearchHorizontal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAU,WAAW,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElF,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB;;CAMzE,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,gBAAgB,CAAC;CAC7B,GAAG,WAAW,GACd,mCAAmC,GACnC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,mCAAmC,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"SearchHorizontal.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/SearchHorizontal/SearchHorizontal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAU,WAAW,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElF,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB;;CAMzE,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,gBAAgB,CAAC;CAC7B,GAAG,WAAW,GACd,IAAI,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,GAC5D,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAEzC,MAAM,MAAM,mCAAmC,GAAG,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createRecommendationTemplate.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/createRecommendationTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAK1G,OAAO,EAAE,YAAY,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAEpG,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,4BAA4B,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;KACjD,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,GAAG;IACjB,+BAA+B,EAAE,CAAC,CAAC,KAAK,EAAE,4BAA4B,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7G,qCAAqC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChE,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CA6CjF"}
1
+ {"version":3,"file":"createRecommendationTemplate.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/createRecommendationTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAK1G,OAAO,EAAE,YAAY,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAEpG,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,4BAA4B,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;KACjD,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,GAAG;IACjB,+BAA+B,EAAE,CAAC,CAAC,KAAK,EAAE,4BAA4B,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7G,qCAAqC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChE,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAqDjF"}
@@ -5,16 +5,26 @@ var providers_1 = require("../providers");
5
5
  var useCreateController_1 = require("./useCreateController");
6
6
  var useComponent_1 = require("./useComponent");
7
7
  function createRecommendationTemplate(templates) {
8
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
8
+ var _a, _b, _c, _d, _e, _f, _g, _h;
9
9
  var recommendationTemplateComponent;
10
10
  var recommendationTemplateResultComponent;
11
11
  var recsController;
12
- if ((_a = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _a === void 0 ? void 0 : _a.enabled) {
13
- var componentName = ((_b = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _b === void 0 ? void 0 : _b.component) || 'RecommendationGrid';
14
- var snap = (0, providers_1.useSnap)();
12
+ var snap = (0, providers_1.useSnap)();
13
+ var recommendationTemplatesEnabled = Boolean((_a = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _a === void 0 ? void 0 : _a.enabled);
14
+ var componentName = recommendationTemplatesEnabled ? ((_b = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _b === void 0 ? void 0 : _b.component) || 'RecommendationGrid' : undefined;
15
+ var resultComponentName = recommendationTemplatesEnabled ? ((_c = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _c === void 0 ? void 0 : _c.resultComponent) || 'Result' : undefined;
16
+ var recommendationTemplateComponentMap = ((_d = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _d === void 0 ? void 0 : _d.library.import.component.recommendation.default) || {};
17
+ var recommendationTemplateResultComponentMap = ((_e = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _e === void 0 ? void 0 : _e.library.import.component.result) || {};
18
+ var _j = (0, useComponent_1.useComponent)(recommendationTemplateComponentMap, componentName), namedRecommendationTemplateComponent = _j.ComponentOverride, shouldWaitForNamedRecommendationTemplateComponent = _j.shouldWaitForNamedOverride;
19
+ var _k = (0, useComponent_1.useComponent)(recommendationTemplateResultComponentMap, resultComponentName), namedRecommendationTemplateResultComponent = _k.ComponentOverride, shouldWaitForNamedRecommendationTemplateResultComponent = _k.shouldWaitForNamedOverride;
20
+ if (recommendationTemplatesEnabled) {
21
+ recommendationTemplateComponent = shouldWaitForNamedRecommendationTemplateComponent
22
+ ? undefined
23
+ : namedRecommendationTemplateComponent;
24
+ recommendationTemplateResultComponent = shouldWaitForNamedRecommendationTemplateResultComponent
25
+ ? undefined
26
+ : namedRecommendationTemplateResultComponent;
15
27
  if (snap === null || snap === void 0 ? void 0 : snap.templates) {
16
- var defaultResultComponentFromTheme = 'Result';
17
- var resultComponentName = (((_c = templates === null || templates === void 0 ? void 0 : templates.recommendation) === null || _c === void 0 ? void 0 : _c.resultComponent) || defaultResultComponentFromTheme);
18
28
  var mergedConfig = Object.assign({
19
29
  id: '',
20
30
  tag: 'no-results',
@@ -22,15 +32,9 @@ function createRecommendationTemplate(templates) {
22
32
  }, templates.recommendation.config);
23
33
  mergedConfig.id = mergedConfig.id || "search-".concat(mergedConfig.tag);
24
34
  recsController = (0, useCreateController_1.useCreateController)(snap, 'recommendation', mergedConfig);
25
- if (!((_d = recsController === null || recsController === void 0 ? void 0 : recsController.store) === null || _d === void 0 ? void 0 : _d.loaded) && !((_e = recsController === null || recsController === void 0 ? void 0 : recsController.store) === null || _e === void 0 ? void 0 : _e.loading) && ((_f = recsController === null || recsController === void 0 ? void 0 : recsController.store.error) === null || _f === void 0 ? void 0 : _f.type) !== 'error') {
35
+ if (!((_f = recsController === null || recsController === void 0 ? void 0 : recsController.store) === null || _f === void 0 ? void 0 : _f.loaded) && !((_g = recsController === null || recsController === void 0 ? void 0 : recsController.store) === null || _g === void 0 ? void 0 : _g.loading) && ((_h = recsController === null || recsController === void 0 ? void 0 : recsController.store.error) === null || _h === void 0 ? void 0 : _h.type) !== 'error') {
26
36
  recsController === null || recsController === void 0 ? void 0 : recsController.search();
27
37
  }
28
- if (resultComponentName && ((_g = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _g === void 0 ? void 0 : _g.library.import.component.result)) {
29
- recommendationTemplateResultComponent = (0, useComponent_1.useComponent)((_h = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _h === void 0 ? void 0 : _h.library.import.component.result, resultComponentName);
30
- }
31
- if (componentName && ((_j = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _j === void 0 ? void 0 : _j.library.import.component.recommendation.default)) {
32
- recommendationTemplateComponent = (0, useComponent_1.useComponent)((_k = snap === null || snap === void 0 ? void 0 : snap.templates) === null || _k === void 0 ? void 0 : _k.library.import.component.recommendation.default, componentName);
33
- }
34
38
  }
35
39
  }
36
40
  var returnObj = {
@@ -10,5 +10,6 @@ export { useLang, Lang } from './useLang';
10
10
  export * from './useDeepCompareEffect';
11
11
  export * from './useCreateController';
12
12
  export * from './useComponent';
13
+ export * from './useCustomComponentOverride';
13
14
  export * from './useTracking';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC"}
@@ -28,4 +28,5 @@ Object.defineProperty(exports, "useLang", { enumerable: true, get: function () {
28
28
  __exportStar(require("./useDeepCompareEffect"), exports);
29
29
  __exportStar(require("./useCreateController"), exports);
30
30
  __exportStar(require("./useComponent"), exports);
31
+ __exportStar(require("./useCustomComponentOverride"), exports);
31
32
  __exportStar(require("./useTracking"), exports);
@@ -1,3 +1,7 @@
1
1
  import { ComponentMap, JSXComponent } from '../types';
2
- export declare const useComponent: (map: ComponentMap, name: string) => JSXComponent | undefined;
2
+ export type UseComponentResult = {
3
+ ComponentOverride: JSXComponent | undefined;
4
+ shouldWaitForNamedOverride: boolean;
5
+ };
6
+ export declare const useComponent: (map: ComponentMap, name?: string) => UseComponentResult;
3
7
  //# sourceMappingURL=useComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useComponent.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/useComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,YAAY,QAAS,YAAY,QAAQ,MAAM,KAAG,YAAY,GAAG,SAoB7E,CAAC"}
1
+ {"version":3,"file":"useComponent.d.ts","sourceRoot":"","sources":["../../../../../components/src/hooks/useComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAChC,iBAAiB,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,0BAA0B,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,YAAY,QAAS,YAAY,SAAS,MAAM,KAAG,kBAgE/D,CAAC"}
@@ -4,23 +4,61 @@ exports.useComponent = void 0;
4
4
  var hooks_1 = require("preact/hooks");
5
5
  var useComponent = function (map, name) {
6
6
  var _a = (0, hooks_1.useState)(undefined), importedComponent = _a[0], setImportedComponent = _a[1];
7
+ var _b = (0, hooks_1.useState)(false), importFailed = _b[0], setImportFailed = _b[1];
7
8
  (0, hooks_1.useEffect)(function () {
9
+ // This flag belongs to one specific effect run.
10
+ // Cleanup flips it so any async work from that run can no longer update state.
11
+ var isActive = true;
12
+ if (!name) {
13
+ // Clear the current component when nothing is selected.
14
+ setImportedComponent(undefined);
15
+ return function () {
16
+ isActive = false;
17
+ };
18
+ }
19
+ setImportFailed(false);
8
20
  var importFn = map[name];
9
21
  if (importFn && typeof importFn === 'function') {
10
22
  var componentFn_1 = importFn();
11
23
  if (componentFn_1 instanceof Promise) {
12
- componentFn_1.then(function (component) {
24
+ // Guard against stale promises resolving after the effect has moved on.
25
+ componentFn_1
26
+ .then(function (component) {
27
+ if (!isActive) {
28
+ return;
29
+ }
13
30
  setImportedComponent(function () { return component; });
31
+ })
32
+ .catch(function (error) {
33
+ if (!isActive) {
34
+ return;
35
+ }
36
+ setImportFailed(true);
37
+ setImportedComponent(undefined);
38
+ console.warn("Failed to load component \"".concat(name, "\"."), error);
14
39
  });
15
40
  }
16
41
  else {
17
- setImportedComponent(function () { return componentFn_1; });
42
+ // Synchronous resolution can update immediately as long as this effect is still current.
43
+ if (isActive) {
44
+ setImportedComponent(function () { return componentFn_1; });
45
+ }
18
46
  }
19
47
  }
20
48
  else {
49
+ // Missing map entries intentionally clear the component and warn for easier debugging.
50
+ setImportedComponent(undefined);
21
51
  console.warn("Component \"".concat(name, "\" not found in component map."));
22
52
  }
23
- }, []);
24
- return importedComponent;
53
+ // Cleanup runs before the next effect invocation and on unmount.
54
+ return function () {
55
+ isActive = false;
56
+ };
57
+ }, [map, name]);
58
+ var hasNamedOverride = Boolean(name && typeof map[name] === 'function');
59
+ return {
60
+ ComponentOverride: importedComponent,
61
+ shouldWaitForNamedOverride: hasNamedOverride && !importedComponent && !importFailed,
62
+ };
25
63
  };
26
64
  exports.useComponent = useComponent;