@athoscommerce/snap-preact 1.2.3-beta.3 → 1.2.3-beta.5

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 (218) hide show
  1. package/README.md +16 -0
  2. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  3. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  4. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  5. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
  6. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
  7. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
  8. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
  9. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
  10. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +29 -27
  11. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  12. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  13. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  14. package/dist/cjs/components/src/components/Molecules/Result/Result.js +11 -6
  15. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
  16. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  17. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
  18. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
  19. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
  20. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.js +31 -31
  21. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  22. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -36
  23. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts +8 -0
  24. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
  25. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +715 -427
  26. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
  27. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.js +13 -3
  28. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
  29. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
  30. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.js +22 -19
  31. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
  32. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
  33. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.js +40 -23
  34. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
  35. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
  36. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.js +8 -7
  37. package/dist/cjs/components/src/components/Organisms/Facet/Facet.js +2 -1
  38. package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +2 -1
  39. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  40. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  41. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
  42. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
  43. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +461 -0
  44. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
  45. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
  46. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.js +17 -0
  47. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  48. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -2
  49. package/dist/cjs/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  50. package/dist/cjs/components/src/hooks/useAcRenderedInput.js +65 -15
  51. package/dist/cjs/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  52. package/dist/cjs/components/src/hooks/useMediaQuery.js +3 -1
  53. package/dist/cjs/components/src/index.d.ts +1 -0
  54. package/dist/cjs/components/src/index.d.ts.map +1 -1
  55. package/dist/cjs/components/src/index.js +1 -0
  56. package/dist/cjs/components/src/providers/theme.d.ts +1 -1
  57. package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
  58. package/dist/cjs/components/src/themes/base/base.js +3 -3
  59. package/dist/cjs/components/src/utilities/Colour/Colour.d.ts +11 -0
  60. package/dist/cjs/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  61. package/dist/cjs/components/src/utilities/Colour/Colour.js +32 -0
  62. package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
  63. package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  64. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +161 -123
  65. package/dist/cjs/src/Snap.d.ts +1 -1
  66. package/dist/cjs/src/Snap.d.ts.map +1 -1
  67. package/dist/cjs/src/Snap.js +18 -6
  68. package/dist/cjs/src/SnapHybrid.d.ts.map +1 -1
  69. package/dist/cjs/src/Templates/SnapTemplates.d.ts +13 -72
  70. package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
  71. package/dist/cjs/src/Templates/SnapTemplates.js +123 -72
  72. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts +7 -6
  73. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  74. package/dist/cjs/src/Templates/Stores/TargetStore.js +14 -8
  75. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  76. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  77. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +467 -96
  78. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  79. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  80. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +123 -70
  81. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  82. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  83. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  84. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  85. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +86 -1
  86. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  87. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +33 -14
  88. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +93 -30
  89. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  90. package/dist/cjs/src/Templates/Stores/TemplateStore.js +33 -41
  91. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts +2 -8
  92. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  93. package/dist/cjs/src/Templates/Stores/ThemeStore.js +3 -28
  94. package/dist/cjs/src/Templates/index.d.ts +1 -1
  95. package/dist/cjs/src/Templates/index.d.ts.map +1 -1
  96. package/dist/cjs/src/create/createChatController.js +1 -1
  97. package/dist/cjs/src/index.d.ts +1 -0
  98. package/dist/cjs/src/index.d.ts.map +1 -1
  99. package/dist/cjs/src/setupEvents.d.ts +13 -0
  100. package/dist/cjs/src/setupEvents.d.ts.map +1 -1
  101. package/dist/cjs/src/setupEvents.js +56 -8
  102. package/dist/cjs/src/types.d.ts +3 -1
  103. package/dist/cjs/src/types.d.ts.map +1 -1
  104. package/dist/cjs/src/utils/combineMerge.d.ts +2 -0
  105. package/dist/cjs/src/utils/combineMerge.d.ts.map +1 -0
  106. package/dist/cjs/src/utils/combineMerge.js +22 -0
  107. package/dist/cjs/src/utils/index.d.ts +1 -0
  108. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  109. package/dist/cjs/src/utils/index.js +3 -1
  110. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  111. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  112. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  113. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
  114. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
  115. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
  116. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
  117. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
  118. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +29 -28
  119. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  120. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  121. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  122. package/dist/esm/components/src/components/Molecules/Result/Result.js +9 -4
  123. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
  124. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  125. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
  126. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
  127. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
  128. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.js +29 -29
  129. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  130. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -35
  131. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +8 -0
  132. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
  133. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +636 -359
  134. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
  135. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.js +13 -3
  136. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
  137. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
  138. package/dist/esm/components/src/components/Organisms/Chat/MessageText.js +21 -19
  139. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
  140. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
  141. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.js +37 -23
  142. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
  143. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
  144. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.js +8 -7
  145. package/dist/esm/components/src/components/Organisms/Facet/Facet.js +1 -1
  146. package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +1 -1
  147. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  148. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  149. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
  150. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
  151. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +436 -0
  152. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
  153. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
  154. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.js +1 -0
  155. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  156. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -2
  157. package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  158. package/dist/esm/components/src/hooks/useAcRenderedInput.js +61 -11
  159. package/dist/esm/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  160. package/dist/esm/components/src/hooks/useMediaQuery.js +3 -1
  161. package/dist/esm/components/src/index.d.ts +1 -0
  162. package/dist/esm/components/src/index.d.ts.map +1 -1
  163. package/dist/esm/components/src/index.js +1 -0
  164. package/dist/esm/components/src/providers/theme.d.ts +1 -1
  165. package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
  166. package/dist/esm/components/src/themes/base/base.js +3 -3
  167. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +11 -0
  168. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  169. package/dist/esm/components/src/utilities/Colour/Colour.js +30 -0
  170. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
  171. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  172. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +130 -84
  173. package/dist/esm/src/Snap.d.ts +1 -1
  174. package/dist/esm/src/Snap.d.ts.map +1 -1
  175. package/dist/esm/src/Snap.js +21 -6
  176. package/dist/esm/src/SnapHybrid.d.ts.map +1 -1
  177. package/dist/esm/src/Templates/SnapTemplates.d.ts +13 -72
  178. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  179. package/dist/esm/src/Templates/SnapTemplates.js +137 -78
  180. package/dist/esm/src/Templates/Stores/TargetStore.d.ts +7 -6
  181. package/dist/esm/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  182. package/dist/esm/src/Templates/Stores/TargetStore.js +14 -8
  183. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  184. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  185. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +447 -89
  186. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  187. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  188. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +118 -66
  189. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  190. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  191. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  192. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  193. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +82 -1
  194. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  195. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +27 -8
  196. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +93 -30
  197. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  198. package/dist/esm/src/Templates/Stores/TemplateStore.js +29 -38
  199. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +2 -8
  200. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  201. package/dist/esm/src/Templates/Stores/ThemeStore.js +3 -26
  202. package/dist/esm/src/Templates/index.d.ts +1 -1
  203. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  204. package/dist/esm/src/create/createChatController.js +1 -1
  205. package/dist/esm/src/index.d.ts +1 -0
  206. package/dist/esm/src/index.d.ts.map +1 -1
  207. package/dist/esm/src/setupEvents.d.ts +13 -0
  208. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  209. package/dist/esm/src/setupEvents.js +25 -8
  210. package/dist/esm/src/types.d.ts +3 -1
  211. package/dist/esm/src/types.d.ts.map +1 -1
  212. package/dist/esm/src/utils/combineMerge.d.ts +2 -0
  213. package/dist/esm/src/utils/combineMerge.d.ts.map +1 -0
  214. package/dist/esm/src/utils/combineMerge.js +16 -0
  215. package/dist/esm/src/utils/index.d.ts +1 -0
  216. package/dist/esm/src/utils/index.d.ts.map +1 -1
  217. package/dist/esm/src/utils/index.js +1 -0
  218. package/package.json +20 -14
@@ -1 +1 @@
1
- {"version":3,"file":"ChatResult.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/ChatResult.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAMzD,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAyG7D,eAAO,MAAM,UAAU,8EA+GtB,CAAC;AAMF,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C"}
1
+ {"version":3,"file":"ChatResult.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/ChatResult.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAMzD,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAmH7D,eAAO,MAAM,UAAU,8EA+GtB,CAAC;AAMF,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C"}
@@ -32,8 +32,17 @@ var defaultStyles = function () {
32
32
  overflow: 'hidden',
33
33
  '.ss__chat__result__image': {
34
34
  width: '100%',
35
+ aspectRatio: '1 / 1',
35
36
  position: 'relative',
36
37
  overflow: 'hidden',
38
+ // fixed-aspect frame: scale the image to fill it and crop overflow so
39
+ // results with different intrinsic image aspect ratios still line up
40
+ // at the same height when displayed side-by-side.
41
+ img: {
42
+ width: '100%',
43
+ height: '100%',
44
+ objectFit: 'cover',
45
+ },
37
46
  '.ss__chat__result__image__buttons': {
38
47
  position: 'absolute',
39
48
  bottom: 0,
@@ -75,6 +84,7 @@ var defaultStyles = function () {
75
84
  backgroundColor: '#000',
76
85
  borderRadius: '50%',
77
86
  justifyContent: 'center',
87
+ boxSizing: 'border-box',
78
88
  '&.ss__chat__result__image__icons__icon--cart': {
79
89
  backgroundColor: '#feeeae',
80
90
  svg: {
@@ -150,16 +160,16 @@ exports.ChatResult = (0, providers_1.withTracking)((0, mobx_react_lite_1.observe
150
160
  };
151
161
  var styling = (0, utilities_1.mergeStyles)(properties, defaultStyles);
152
162
  return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "ss__chat__result", ref: trackingRef }, styling, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__result__image", children: [(0, jsx_runtime_1.jsx)(__1.OverlayBadge, { controller: controller, result: result, renderEmpty: true, children: (0, jsx_runtime_1.jsx)(Image_1.Image, __assign({ className: 'ss__chat__result__detail-slot__image', alt: ((_d = result.display.mappings.core) === null || _d === void 0 ? void 0 : _d.name) || '', src: ((_e = result.display.mappings.core) === null || _e === void 0 ? void 0 : _e.imageUrl) || '' }, subProps.image)) }), (0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__result__image__buttons", children: [controller.store.features.similarProducts.enabled && ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: 'ss__chat__result__image__buttons__similar', content: 'Similar', onClick: function () {
153
- controller.discussProduct(result, { requestType: 'productSimilar' });
163
+ controller.productSimilar(result);
154
164
  } })), (0, jsx_runtime_1.jsx)(Button_1.Button, { className: 'ss__chat__result__image__buttons__compare', content: isInComparison ? undefined : 'Compare', icon: isInComparison ? { icon: 'check-thin', title: 'Added to comparison' } : undefined, onClick: function () {
155
165
  controller.compareProduct(result);
156
166
  } })] }), (0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__result__image__icons", children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { className: 'ss__chat__result__image__icons__icon--inquire', icon: { icon: 'chat', title: 'Discuss Product' }, onClick: function () {
157
- controller.discussProduct(result, { requestType: 'productQuery' });
167
+ controller.productQuery(result);
158
168
  } }), (0, jsx_runtime_1.jsx)(Button_1.Button, { className: 'ss__chat__result__image__icons__icon--cart', icon: { icon: 'cart', title: isConfigurable ? 'Configure' : 'Add to Cart' }, onClick: function () {
159
169
  // configurable products need a variant selection — open the product
160
170
  // information panel so the user can pick options before adding to cart
161
171
  if (isConfigurable) {
162
- controller.viewProduct(result);
172
+ controller.productQuickView(result);
163
173
  return;
164
174
  }
165
175
  controller.track.product.addToCart(result);
@@ -6,8 +6,10 @@ export interface MessageTextProps {
6
6
  chatItem: any;
7
7
  controller: ChatController;
8
8
  scrollToBottom: () => void;
9
- onViewProduct?: () => void;
9
+ onProductQuickView?: () => void;
10
10
  showDetailsButton?: boolean;
11
11
  sideChatOpen?: boolean;
12
+ primaryColor?: string;
13
+ primaryColorText?: string;
12
14
  }
13
15
  //# sourceMappingURL=MessageText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageText.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/MessageText.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA0HhE,eAAO,MAAM,WAAW,WAAoB,gBAAgB;;CA2D1D,CAAC;AAqCH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"MessageText.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/MessageText.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA4HhE,eAAO,MAAM,WAAW,WAAoB,gBAAgB;;CA6D1D,CAAC;AAqCH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -23,7 +23,10 @@ var marked_1 = require("marked");
23
23
  var __1 = require("../../..");
24
24
  var utilities_1 = require("../../../utilities");
25
25
  var Button_1 = require("../../Atoms/Button");
26
- var defaultStyles = function () {
26
+ var defaultStyles = function (_a) {
27
+ var primaryColor = _a.primaryColor, primaryColorText = _a.primaryColorText;
28
+ var colorPrimary = primaryColor || '#253B80';
29
+ var colorPrimaryText = primaryColorText || '#fff';
27
30
  return (0, __1.css)({
28
31
  display: 'flex',
29
32
  flexDirection: 'column',
@@ -49,30 +52,30 @@ var defaultStyles = function () {
49
52
  height: '2em',
50
53
  padding: 0,
51
54
  borderRadius: '50%',
52
- border: '1px solid #253B80',
55
+ border: "1px solid ".concat(colorPrimary),
53
56
  background: '#fff',
54
57
  display: 'flex',
55
58
  alignItems: 'center',
56
59
  justifyContent: 'center',
57
60
  cursor: 'pointer',
58
61
  svg: {
59
- fill: '#253B80',
60
- stroke: '#253B80',
62
+ fill: colorPrimary,
63
+ stroke: colorPrimary,
61
64
  },
62
65
  '&.ss__chat__message-text__view-side-chat--active': {
63
- background: '#253B80',
66
+ background: colorPrimary,
64
67
  svg: {
65
- fill: '#fff',
66
- stroke: '#fff',
68
+ fill: colorPrimaryText,
69
+ stroke: colorPrimaryText,
67
70
  },
68
71
  },
69
72
  },
70
73
  },
71
74
  '.ss__chat__message-text__show-details': {
72
75
  alignSelf: 'flex-start',
73
- border: '1px solid #253B80',
76
+ border: "1px solid ".concat(colorPrimary),
74
77
  background: '#fff',
75
- color: '#253B80',
78
+ color: colorPrimary,
76
79
  borderRadius: '999px',
77
80
  padding: '6px 16px',
78
81
  fontSize: '14px',
@@ -83,16 +86,16 @@ var defaultStyles = function () {
83
86
  gap: '6px',
84
87
  marginTop: '4px',
85
88
  '&:not(.ss__button--disabled):hover': {
86
- background: '#253B80',
87
- color: '#fff',
89
+ background: colorPrimary,
90
+ color: colorPrimaryText,
88
91
  svg: {
89
- fill: '#fff',
90
- stroke: '#fff',
92
+ fill: colorPrimaryText,
93
+ stroke: colorPrimaryText,
91
94
  },
92
95
  },
93
96
  svg: {
94
- fill: '#253B80',
95
- stroke: '#253B80',
97
+ fill: colorPrimary,
98
+ stroke: colorPrimary,
96
99
  },
97
100
  },
98
101
  '.ss__chat__message-text__results': {
@@ -116,8 +119,8 @@ var defaultStyles = function () {
116
119
  },
117
120
  '.ss__carousel__next-wrapper, .ss__carousel__prev-wrapper': {
118
121
  svg: {
119
- fill: '#0066cc',
120
- stroke: '#0066cc',
122
+ fill: colorPrimary,
123
+ stroke: colorPrimary,
121
124
  },
122
125
  },
123
126
  },
@@ -139,7 +142,7 @@ var defaultStyles = function () {
139
142
  };
140
143
  exports.MessageText = (0, mobx_react_lite_1.observer)(function (props) {
141
144
  var _a, _b;
142
- var controller = props.controller, chatItem = props.chatItem, scrollToBottom = props.scrollToBottom, onViewProduct = props.onViewProduct, showDetailsButton = props.showDetailsButton;
145
+ var controller = props.controller, chatItem = props.chatItem, scrollToBottom = props.scrollToBottom, onProductQuickView = props.onProductQuickView, showDetailsButton = props.showDetailsButton;
143
146
  var styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
144
147
  var text = chatItem.overallSummary || chatItem.text || ((_a = chatItem.comparisonData) === null || _a === void 0 ? void 0 : _a.summary) || chatItem.errorMessage || chatItem.messageForDrift || '';
145
148
  var currentChat = controller.store.currentChat;
@@ -166,5 +169,5 @@ exports.MessageText = (0, mobx_react_lite_1.observer)(function (props) {
166
169
  }
167
170
  } })) : null] })), shouldShowDetailsButton && ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "ss__chat__message-text__show-details", icon: { icon: 'angle-right', title: 'Show Details' }, onClick: function () {
168
171
  currentChat === null || currentChat === void 0 ? void 0 : currentChat.setActiveMessage(chatItem.id);
169
- }, children: "Show Details" })), chatItem && (0, jsx_runtime_1.jsx)(ResultsDisplay_1.ResultsDisplay, { controller: controller, chatItem: chatItem, scrollToBottom: scrollToBottom, onViewProduct: onViewProduct })] })));
172
+ }, children: "Show Details" })), chatItem && ((0, jsx_runtime_1.jsx)(ResultsDisplay_1.ResultsDisplay, { controller: controller, chatItem: chatItem, scrollToBottom: scrollToBottom, onProductQuickView: onProductQuickView }))] })));
170
173
  });
@@ -5,7 +5,9 @@ export declare const MessageUser: ((props: MessageUserProps) => import("@emotion
5
5
  interface MessageUserProps {
6
6
  chatItem: any;
7
7
  controller: ChatController;
8
- onViewProduct?: (product: any) => void;
8
+ onProductQuickView?: (product: any) => void;
9
+ primaryColor?: string;
10
+ primaryColorText?: string;
9
11
  }
10
12
  export {};
11
13
  //# sourceMappingURL=MessageUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUser.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/MessageUser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAwIhE,eAAO,MAAM,WAAW,WAAoB,gBAAgB;;CA6F1D,CAAC;AAEH,UAAU,gBAAgB;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"MessageUser.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/MessageUser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA0IhE,eAAO,MAAM,WAAW,WAAoB,gBAAgB;;CA2G1D,CAAC;AAEH,UAAU,gBAAgB;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -19,12 +19,13 @@ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
19
19
  var mobx_react_lite_1 = require("mobx-react-lite");
20
20
  var classnames_1 = __importDefault(require("classnames"));
21
21
  var Image_1 = require("../../Atoms/Image");
22
- var marked_1 = require("marked");
23
22
  var Icon_1 = require("../../Atoms/Icon");
24
23
  var __1 = require("../../..");
25
24
  var utilities_1 = require("../../../utilities");
26
- var defaultStyles = function () {
27
- var colorPrimary = '#253B80';
25
+ var defaultStyles = function (_a) {
26
+ var primaryColor = _a.primaryColor, primaryColorText = _a.primaryColorText;
27
+ var colorPrimary = primaryColor || '#253B80';
28
+ var colorPrimaryText = primaryColorText || '#fff';
28
29
  return (0, __1.css)({
29
30
  display: 'flex',
30
31
  flexDirection: 'column',
@@ -54,17 +55,19 @@ var defaultStyles = function () {
54
55
  borderRadius: '12px',
55
56
  borderBottomRightRadius: '3px',
56
57
  backgroundColor: colorPrimary,
57
- color: '#fff',
58
+ color: colorPrimaryText,
58
59
  },
59
60
  '.ss__chat__message-user__attachments': {
60
61
  listStyleType: 'none',
61
62
  padding: 0,
62
63
  margin: 0,
63
64
  display: 'flex',
64
- flexWrap: 'wrap',
65
+ flexDirection: 'row',
66
+ flexWrap: 'nowrap',
65
67
  justifyContent: 'flex-end',
66
- flex: '0 0 40px',
67
- alignSelf: 'flex-end',
68
+ alignItems: 'center',
69
+ gap: '4px',
70
+ alignSelf: 'end',
68
71
  '.ss__chat__message-user__attachment__product, .ss__chat__message-user__attachment__image, .ss__chat__message-user__attachment__facet': {
69
72
  width: '40px',
70
73
  height: '40px',
@@ -164,7 +167,7 @@ function findProductInChat(chat, productId) {
164
167
  return null;
165
168
  }
166
169
  exports.MessageUser = (0, mobx_react_lite_1.observer)(function (props) {
167
- var controller = props.controller, chatItem = props.chatItem, onViewProduct = props.onViewProduct;
170
+ var controller = props.controller, chatItem = props.chatItem, onProductQuickView = props.onProductQuickView;
168
171
  var store = controller.store;
169
172
  var styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
170
173
  var requestTypeLabel = getRequestTypeLabel(chatItem);
@@ -176,23 +179,39 @@ exports.MessageUser = (0, mobx_react_lite_1.observer)(function (props) {
176
179
  var existingQuery = chat === null || chat === void 0 ? void 0 : chat.find(function (m) { var _a; return m.messageType === 'productQuery' && ((_a = m.sourceProduct) === null || _a === void 0 ? void 0 : _a.id) === attachment.productId; });
177
180
  if (existingQuery) {
178
181
  (_b = store.currentChat) === null || _b === void 0 ? void 0 : _b.setActiveMessage(existingQuery.id);
179
- onViewProduct === null || onViewProduct === void 0 ? void 0 : onViewProduct(existingQuery.sourceProduct);
182
+ onProductQuickView === null || onProductQuickView === void 0 ? void 0 : onProductQuickView(existingQuery.sourceProduct);
180
183
  return;
181
184
  }
182
185
  var product = findProductInChat(chat, attachment.productId);
183
186
  if (product) {
184
- controller.viewProduct(product);
185
- onViewProduct === null || onViewProduct === void 0 ? void 0 : onViewProduct(product);
187
+ controller.productQuickView(product);
188
+ onProductQuickView === null || onProductQuickView === void 0 ? void 0 : onProductQuickView(product);
186
189
  }
187
190
  };
188
191
  return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "ss__chat__message-user" }, styling, { children: (0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__message-user__row", children: [(0, jsx_runtime_1.jsx)("ul", { className: "ss__chat__message-user__attachments", children: (function () {
189
192
  var _a;
190
- if (!((_a = chatItem.attachments) === null || _a === void 0 ? void 0 : _a.length))
193
+ var resolved = (chatItem.attachments || []).map(function (id) { var _a; return (_a = store.currentChat) === null || _a === void 0 ? void 0 : _a.attachments.get(id); }).filter(Boolean);
194
+ // Facets are no longer chat attachments — they live on the request that was
195
+ // stored on the message, derived from urlManager filter state at send-time.
196
+ var filterOptions = [];
197
+ var searchFilters = (_a = chatItem.request) === null || _a === void 0 ? void 0 : _a.searchFilters;
198
+ searchFilters === null || searchFilters === void 0 ? void 0 : searchFilters.forEach(function (filter) {
199
+ var _a;
200
+ (_a = filter.options) === null || _a === void 0 ? void 0 : _a.forEach(function (option) {
201
+ var _a, _b;
202
+ if ('low' in option || 'high' in option) {
203
+ var low = (_a = option.low) !== null && _a !== void 0 ? _a : '*';
204
+ var high = (_b = option.high) !== null && _b !== void 0 ? _b : '*';
205
+ filterOptions.push({ facetKey: filter.key, label: "".concat(low, "-").concat(high) });
206
+ }
207
+ else {
208
+ filterOptions.push({ facetKey: filter.key, label: option.key });
209
+ }
210
+ });
211
+ });
212
+ if (resolved.length === 0 && filterOptions.length === 0)
191
213
  return null;
192
- var resolved = chatItem.attachments.map(function (id) { var _a; return (_a = store.currentChat) === null || _a === void 0 ? void 0 : _a.attachments.get(id); }).filter(Boolean);
193
- var totalFacets = resolved.filter(function (a) { return a.type === 'facet'; }).length;
194
- var hiddenFacetCount = Math.max(0, totalFacets - 2);
195
- var facetIndex = 0;
214
+ var hiddenFacetCount = Math.max(0, filterOptions.length - 1);
196
215
  var items = resolved
197
216
  .map(function (attachment) {
198
217
  var _a;
@@ -205,20 +224,18 @@ exports.MessageUser = (0, mobx_react_lite_1.observer)(function (props) {
205
224
  'ss__chat__message-user__attachment__product--clickable': canOpen,
206
225
  }), onClick: canOpen ? function () { return handleProductAttachmentClick(attachment); } : undefined, title: canOpen ? "View details for ".concat(attachment.name) : undefined, children: (0, jsx_runtime_1.jsx)(Image_1.Image, { style: { height: '200px', width: '200px' }, src: attachment.thumbnailUrl || '', alt: attachment.name }) }, attachment.id));
207
226
  }
208
- case 'facet': {
209
- facetIndex += 1;
210
- if (facetIndex > 2)
211
- return null;
212
- return ((0, jsx_runtime_1.jsx)("li", { className: "ss__chat__message-user__attachment__facet", children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { title: "Filter: ".concat(attachment.facetLabel, " = ").concat(attachment.label), icon: "filter-funnel", size: 27 }) }, attachment.id));
213
- }
214
227
  default:
215
228
  return null;
216
229
  }
217
230
  })
218
231
  .filter(Boolean);
232
+ if (filterOptions.length > 0) {
233
+ var first = filterOptions[0];
234
+ items.push((0, jsx_runtime_1.jsx)("li", { className: "ss__chat__message-user__attachment__facet", title: "Filter: ".concat(first.facetKey, " = ").concat(first.label), children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { icon: "filter-funnel", size: 27 }) }, "facet-first"));
235
+ }
219
236
  if (hiddenFacetCount > 0) {
220
237
  items.push((0, jsx_runtime_1.jsxs)("li", { className: "ss__chat__message-user__attachment__facet ss__chat__message-user__attachment__facet--overflow", title: "".concat(hiddenFacetCount, " more filter").concat(hiddenFacetCount === 1 ? '' : 's'), children: ["+", hiddenFacetCount] }, "facet-overflow"));
221
238
  }
222
239
  return items;
223
- })() }), (0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__message-user__text-wrapper", children: [requestTypeLabel ? (0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-user__request-type", children: requestTypeLabel }) : null, chatItem.text ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-user__text", dangerouslySetInnerHTML: { __html: marked_1.marked.parse(chatItem.text) } })) : null] })] }) })));
240
+ })() }), (0, jsx_runtime_1.jsxs)("div", { className: "ss__chat__message-user__text-wrapper", children: [requestTypeLabel ? (0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-user__request-type", children: requestTypeLabel }) : null, chatItem.text ? (0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-user__text", children: chatItem.text }) : null] })] }) })));
224
241
  });
@@ -6,6 +6,6 @@ export interface ResultsDisplayProps {
6
6
  chatItem: any;
7
7
  controller: ChatController;
8
8
  scrollToBottom: () => void;
9
- onViewProduct?: () => void;
9
+ onProductQuickView?: () => void;
10
10
  }
11
11
  //# sourceMappingURL=ResultsDisplay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResultsDisplay.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/ResultsDisplay.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgChE,eAAO,MAAM,cAAc,WAAoB,mBAAmB;;CA8EhE,CAAC;AAEH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"ResultsDisplay.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/ResultsDisplay.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgChE,eAAO,MAAM,cAAc,WAAoB,mBAAmB;;CA+EhE,CAAC;AAEH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
@@ -46,7 +46,7 @@ var carouselStyleScript = function () {
46
46
  };
47
47
  exports.ResultsDisplay = (0, mobx_react_lite_1.observer)(function (props) {
48
48
  var _a, _b;
49
- var chatItem = props.chatItem, controller = props.controller, scrollToBottom = props.scrollToBottom, onViewProduct = props.onViewProduct;
49
+ var chatItem = props.chatItem, controller = props.controller, scrollToBottom = props.scrollToBottom, onProductQuickView = props.onProductQuickView;
50
50
  var currentChat = controller.store.currentChat;
51
51
  var activeMessage = currentChat === null || currentChat === void 0 ? void 0 : currentChat.activeMessage;
52
52
  var isSideChatOpen = !!activeMessage &&
@@ -57,7 +57,8 @@ exports.ResultsDisplay = (0, mobx_react_lite_1.observer)(function (props) {
57
57
  // at >= 1200px there's room to keep 2.9 slides alongside the secondary chat
58
58
  var isConstrained = !isNarrow && isSideChatOpen && typeof window !== 'undefined' && window.innerWidth >= 768 && window.innerWidth <= 1200;
59
59
  var slidesPerView = isNarrow || isConstrained ? 1.9 : 2.9;
60
- var carouselProps = {
60
+ var visibleSlides = Math.ceil(slidesPerView);
61
+ var buildCarouselProps = function () { return ({
61
62
  breakpoints: undefined,
62
63
  slidesPerView: slidesPerView,
63
64
  slidesPerGroup: isNarrow || isConstrained ? 2 : 3,
@@ -66,24 +67,24 @@ exports.ResultsDisplay = (0, mobx_react_lite_1.observer)(function (props) {
66
67
  centerInsufficientSlides: false,
67
68
  freeMode: true,
68
69
  styleScript: carouselStyleScript,
69
- };
70
+ }); };
70
71
  var handleResultClick = function (e, result) {
71
72
  // buttons should be able to be clicked without triggering the product click
72
73
  if (e.composedPath().some(function (el) { return el instanceof HTMLElement && el.matches('button, .ss__button, a'); }))
73
74
  return;
74
75
  controller.track.product.click(e, result);
75
- controller.viewProduct(result);
76
- onViewProduct === null || onViewProduct === void 0 ? void 0 : onViewProduct();
76
+ controller.productQuickView(result);
77
+ onProductQuickView === null || onProductQuickView === void 0 ? void 0 : onProductQuickView();
77
78
  };
78
79
  if (chatItem.messageType === 'productRecommendation' && ((_a = chatItem.recommendationResult) === null || _a === void 0 ? void 0 : _a.length)) {
79
80
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: chatItem.recommendationResult.map(function (recommendation, index) {
80
81
  var _a;
81
- return ((_a = recommendation.results) === null || _a === void 0 ? void 0 : _a.length) > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results", style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(Carousel_1.Carousel, __assign({}, carouselProps, { hideButtons: recommendation.results.length <= slidesPerView, children: recommendation.results.map(function (result) {
82
+ return ((_a = recommendation.results) === null || _a === void 0 ? void 0 : _a.length) > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results", style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(Carousel_1.Carousel, __assign({}, buildCarouselProps(), { hideButtons: recommendation.results.length <= visibleSlides, children: recommendation.results.map(function (result) {
82
83
  return ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results__result", style: { height: '100%', width: '100%', display: 'flex', cursor: 'pointer' }, onClick: function (e) { return handleResultClick(e, result); }, children: (0, jsx_runtime_1.jsx)(ChatResult_1.ChatResult, { result: result, controller: controller, scrollToBottom: scrollToBottom }) }, result.id));
83
84
  }) })) }, index)) : null;
84
85
  }) }));
85
86
  }
86
- return ((_b = chatItem.results) === null || _b === void 0 ? void 0 : _b.length) > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results", style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(Carousel_1.Carousel, __assign({}, carouselProps, { hideButtons: chatItem.results.length <= slidesPerView, children: chatItem.results.map(function (result) {
87
+ return ((_b = chatItem.results) === null || _b === void 0 ? void 0 : _b.length) > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results", style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(Carousel_1.Carousel, __assign({}, buildCarouselProps(), { hideButtons: chatItem.results.length <= visibleSlides, children: chatItem.results.map(function (result) {
87
88
  return ((0, jsx_runtime_1.jsx)("div", { className: "ss__chat__message-text__results__result", style: { height: '100%', width: '100%', display: 'flex', cursor: 'pointer' }, onClick: function (e) { return handleResultClick(e, result); }, children: (0, jsx_runtime_1.jsx)(ChatResult_1.ChatResult, { result: result, controller: controller, scrollToBottom: scrollToBottom }) }, result.id));
88
89
  }) })) })) : null;
89
90
  });
@@ -379,8 +379,9 @@ exports.Facet = (0, mobx_react_lite_1.observer)(function (properties) {
379
379
  return facet && renderFacet ? ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__facet', "ss__facet--".concat(facet.field), "".concat(facet.collapsed ? 'ss__facet--collapsed' : ''), className, internalClassName, "".concat(facet.display ? "ss__facet--".concat(facet.display) : ''), (statefulOverflow ? (overflowState === null || overflowState === void 0 ? void 0 : overflowState.remaining) || 0 > 0 : (((_s = facet === null || facet === void 0 ? void 0 : facet.overflow) === null || _s === void 0 ? void 0 : _s.remaining) || 0) > 0) || (facet === null || facet === void 0 ? void 0 : facet.display) == 'slider'
380
380
  ? ''
381
381
  : 'ss__facet--showing-all'), children: justContent ? ((0, jsx_runtime_1.jsx)(FacetContent, __assign({}, facetContentProps, { mergedLang: mergedLang }))) : ((0, jsx_runtime_1.jsx)(Dropdown_1.Dropdown, __assign({}, subProps.dropdown, { open: disableCollapse || !(facet === null || facet === void 0 ? void 0 : facet.collapsed), onClick: function () { return !disableCollapse && facet.toggleCollapse && (facet === null || facet === void 0 ? void 0 : facet.toggleCollapse()); }, disableA11y: true, button: (0, jsx_runtime_1.jsxs)("div", __assign({ className: "ss__facet__header", ref: function (e) { return (0, useA11y_1.useA11y)(e, disableCollapse ? -1 : 0); }, role: "heading", "aria-level": 3 }, mergedLang.dropdownButton.attributes, { children: [(0, jsx_runtime_1.jsxs)("span", { className: "ss__facet__header__inner", children: [(0, jsx_runtime_1.jsx)("span", __assign({}, mergedLang.dropdownButton.value, { children: facet === null || facet === void 0 ? void 0 : facet.label })), showSelectedCount && selectedCount && facet.type !== 'range' ? ((0, jsx_runtime_1.jsx)("span", { className: "ss__facet__header__selected-count", children: hideSelectedCountParenthesis ? selectedCount : "(".concat(selectedCount, ")") })) : null, (mergedLang.clearAllText.value || clearAllIcon) && selectedCount ? ((0, jsx_runtime_1.jsx)(Button_1.Button, __assign({}, subProps.button, { internalClassName: "ss__facet__header__clear-all", name: 'reset-facet', onClick: function (e) {
382
+ var _a;
382
383
  e.stopPropagation();
383
- facet === null || facet === void 0 ? void 0 : facet.clear.url.link.onClick();
384
+ (_a = facet === null || facet === void 0 ? void 0 : facet.clear.url) === null || _a === void 0 ? void 0 : _a.link.onClick();
384
385
  }, icon: clearAllIcon ? clearAllIcon : undefined, children: mergedLang.clearAllText.value && showClearAllText ? (0, jsx_runtime_1.jsx)("label", __assign({}, mergedLang.clearAllText.all)) : null }))) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}))] }), !disableCollapse && ((0, jsx_runtime_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, ((facet === null || facet === void 0 ? void 0 : facet.collapsed)
385
386
  ? __assign({}, (typeof iconExpand == 'string' ? { icon: iconExpand } : iconExpand)) : __assign({}, (typeof iconCollapse == 'string' ? { icon: iconCollapse } : iconCollapse))), { name: (facet === null || facet === void 0 ? void 0 : facet.collapsed) ? 'expand' : 'collapse' })))] })), children: (0, jsx_runtime_1.jsx)(FacetContent, __assign({}, facetContentProps, { mergedLang: mergedLang })) }))) })) })) : null;
386
387
  });
@@ -230,8 +230,9 @@ exports.FacetsHorizontal = (0, mobx_react_lite_1.observer)(function (properties)
230
230
  setSelectedFacet(undefined);
231
231
  }
232
232
  }, button: (0, jsx_runtime_1.jsxs)("div", __assign({ className: "ss__dropdown__button__heading" }, mergedLang.dropdownButton.attributes, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "ss__facet__header__inner", children: [(0, jsx_runtime_1.jsx)("span", __assign({}, mergedLang.dropdownButton.value, { children: facet === null || facet === void 0 ? void 0 : facet.label })), showSelectedCount && selectedCount && facet.type !== 'range' ? ((0, jsx_runtime_1.jsx)("span", { className: "ss__facet__header__selected-count", children: hideSelectedCountParenthesis ? selectedCount : "(".concat(selectedCount, ")") })) : null, (mergedLang.clearAllText.value || clearAllIcon) && selectedCount ? ((0, jsx_runtime_1.jsx)(Button_1.Button, __assign({}, subProps.button, { internalClassName: "ss__facet__header__clear-all", name: 'reset-facet', onClick: function (e) {
233
+ var _a;
233
234
  e.stopPropagation();
234
- facet === null || facet === void 0 ? void 0 : facet.clear.url.link.onClick();
235
+ (_a = facet === null || facet === void 0 ? void 0 : facet.clear.url) === null || _a === void 0 ? void 0 : _a.link.onClick();
235
236
  }, icon: clearAllIcon ? clearAllIcon : undefined, children: mergedLang.clearAllText.value && showClearAllText ? (0, jsx_runtime_1.jsx)("label", __assign({}, mergedLang.clearAllText.all)) : null }))) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}))] }), (0, jsx_runtime_1.jsx)(Icon_1.Icon, __assign({}, subProps.icon, ((selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.field) === facet.field
236
237
  ? __assign({}, (typeof iconExpand == 'string' ? { icon: iconExpand } : iconExpand)) : __assign({}, (typeof iconCollapse == 'string' ? { icon: iconCollapse } : iconCollapse)))))] })), disableOverlay: false, children: (0, jsx_runtime_1.jsx)(Facet_1.Facet, __assign({}, subProps.facet, { facet: facet })) })));
237
238
  }), !hideFiltersButton && (isOverflowing || alwaysShowFiltersButton) && ((0, jsx_runtime_1.jsx)(MobileSidebar_1.MobileSidebar, __assign({ controller: controller }, subProps.MobileSidebar)))] }) })) })) : null;
@@ -15,8 +15,8 @@ export type FilterSummaryTemplatesLegalProps = {
15
15
  type?: 'inline' | 'list';
16
16
  title?: string;
17
17
  hideTitle?: boolean;
18
- filterIcon?: IconType | Partial<IconProps>;
19
- clearAllIcon?: IconType | Partial<IconProps>;
18
+ filterIcon?: IconType | Partial<IconProps> | false;
19
+ clearAllIcon?: IconType | Partial<IconProps> | false;
20
20
  separator?: string;
21
21
  hideFacetLabel?: boolean;
22
22
  clearAllLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSummary.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FilterSummary/FilterSummary.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAyB,MAAM,gBAAgB,CAAC;AA2D7D,eAAO,MAAM,aAAa,gBAAyB,kBAAkB;;CAyHnE,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClC,GAAG,gCAAgC,GACnC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,MAAM,gCAAgC,GAAG;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK,IAAI,CAAC;IACjG,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,UAAU,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"FilterSummary.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FilterSummary/FilterSummary.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAyB,MAAM,gBAAgB,CAAC;AA2D7D,eAAO,MAAM,aAAa,gBAAyB,kBAAkB;;CAyHnE,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClC,GAAG,gCAAgC,GACnC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,MAAM,gCAAgC,GAAG;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IACnD,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK,IAAI,CAAC;IACjG,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,UAAU,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACH"}
@@ -0,0 +1,11 @@
1
+ import { h } from 'preact';
2
+ import type { SearchController, AutocompleteController, RecommendationController, ChatController } from '@athoscommerce/snap-controller';
3
+ import { ComponentProps } from '../../../types';
4
+ export declare const ProductQuickView: ((properties: ProductQuickViewProps) => h.JSX.Element | null) & {
5
+ displayName: string;
6
+ };
7
+ export type ProductQuickViewProps = ComponentProps & {
8
+ controller: SearchController | AutocompleteController | RecommendationController | ChatController;
9
+ displayFields?: string[];
10
+ };
11
+ //# sourceMappingURL=ProductQuickView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductQuickView.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ProductQuickView/ProductQuickView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAQzI,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAgY7D,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB,KAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI;;CAkDhG,CAAC;AA2MH,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACpD,UAAU,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,cAAc,CAAC;IAClG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC"}