@athoscommerce/snap-preact 1.2.3-beta.4 → 1.4.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 (312) hide show
  1. package/README.md +16 -0
  2. package/dist/cjs/components/src/components/Atoms/Button/Button.d.ts +1 -1
  3. package/dist/cjs/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  4. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.d.ts +0 -1
  5. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  6. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +13 -30
  7. package/dist/cjs/components/src/components/Atoms/Icon/paths.d.ts +0 -21
  8. package/dist/cjs/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  9. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +0 -21
  10. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  11. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  12. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  13. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +2 -2
  14. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  15. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  16. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +2 -2
  17. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts +3 -3
  18. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  19. package/dist/cjs/components/src/components/Molecules/Result/Result.js +4 -4
  20. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -2
  21. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  22. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +2 -19
  23. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  24. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +12 -30
  25. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
  26. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
  27. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.js +31 -31
  28. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  29. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -36
  30. package/dist/cjs/components/src/components/Organisms/Facet/Facet.js +1 -2
  31. package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +1 -2
  32. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  33. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  34. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  35. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  36. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -2
  37. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  38. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -4
  39. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  40. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -2
  41. package/dist/cjs/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  42. package/dist/cjs/components/src/hooks/useAcRenderedInput.js +65 -15
  43. package/dist/cjs/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  44. package/dist/cjs/components/src/hooks/useMediaQuery.js +3 -1
  45. package/dist/cjs/components/src/index.d.ts +0 -1
  46. package/dist/cjs/components/src/index.d.ts.map +1 -1
  47. package/dist/cjs/components/src/index.js +0 -1
  48. package/dist/cjs/components/src/providers/theme.d.ts +1 -1
  49. package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
  50. package/dist/cjs/components/src/providers/withTracking.d.ts +2 -2
  51. package/dist/cjs/components/src/providers/withTracking.d.ts.map +1 -1
  52. package/dist/cjs/components/src/themes/base/base.js +3 -3
  53. package/dist/cjs/src/Snap.d.ts +1 -2
  54. package/dist/cjs/src/Snap.d.ts.map +1 -1
  55. package/dist/cjs/src/Snap.js +24 -124
  56. package/dist/cjs/src/SnapHybrid.d.ts.map +1 -1
  57. package/dist/cjs/src/Templates/SnapTemplates.d.ts +13 -73
  58. package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
  59. package/dist/cjs/src/Templates/SnapTemplates.js +108 -117
  60. package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts +0 -4
  61. package/dist/cjs/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  62. package/dist/cjs/src/Templates/Stores/LibraryStore.js +0 -19
  63. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts +7 -6
  64. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  65. package/dist/cjs/src/Templates/Stores/TargetStore.js +14 -8
  66. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  67. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  68. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +467 -96
  69. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  70. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  71. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +123 -70
  72. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  73. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  74. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  75. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  76. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +86 -1
  77. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  78. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +33 -14
  79. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +81 -33
  80. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  81. package/dist/cjs/src/Templates/Stores/TemplateStore.js +32 -41
  82. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts +2 -8
  83. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  84. package/dist/cjs/src/Templates/Stores/ThemeStore.js +3 -28
  85. package/dist/cjs/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  86. package/dist/cjs/src/Templates/Stores/library/languages/es.js +0 -5
  87. package/dist/cjs/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  88. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +0 -5
  89. package/dist/cjs/src/Templates/index.d.ts +1 -1
  90. package/dist/cjs/src/Templates/index.d.ts.map +1 -1
  91. package/dist/cjs/src/index.d.ts +1 -0
  92. package/dist/cjs/src/index.d.ts.map +1 -1
  93. package/dist/cjs/src/setupEvents.d.ts.map +1 -1
  94. package/dist/cjs/src/setupEvents.js +0 -39
  95. package/dist/cjs/src/types.d.ts +6 -16
  96. package/dist/cjs/src/types.d.ts.map +1 -1
  97. package/dist/cjs/src/utils/combineMerge.d.ts +2 -0
  98. package/dist/cjs/src/utils/combineMerge.d.ts.map +1 -0
  99. package/dist/cjs/src/utils/combineMerge.js +22 -0
  100. package/dist/cjs/src/utils/index.d.ts +1 -0
  101. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  102. package/dist/cjs/src/utils/index.js +3 -1
  103. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +1 -1
  104. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  105. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +0 -1
  106. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  107. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +9 -33
  108. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +0 -21
  109. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  110. package/dist/esm/components/src/components/Atoms/Icon/paths.js +0 -21
  111. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  112. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  113. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  114. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +1 -1
  115. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  116. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  117. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +1 -1
  118. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +3 -3
  119. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  120. package/dist/esm/components/src/components/Molecules/Result/Result.js +2 -2
  121. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -2
  122. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  123. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +2 -35
  124. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  125. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +12 -30
  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/Facet/Facet.js +1 -1
  132. package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +1 -1
  133. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  134. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  135. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  136. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  137. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -3
  138. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  139. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
  140. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  141. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -3
  142. package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  143. package/dist/esm/components/src/hooks/useAcRenderedInput.js +61 -11
  144. package/dist/esm/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  145. package/dist/esm/components/src/hooks/useMediaQuery.js +3 -1
  146. package/dist/esm/components/src/index.d.ts +0 -1
  147. package/dist/esm/components/src/index.d.ts.map +1 -1
  148. package/dist/esm/components/src/index.js +0 -1
  149. package/dist/esm/components/src/providers/theme.d.ts +1 -1
  150. package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
  151. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  152. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  153. package/dist/esm/components/src/themes/base/base.js +3 -3
  154. package/dist/esm/src/Snap.d.ts +1 -2
  155. package/dist/esm/src/Snap.d.ts.map +1 -1
  156. package/dist/esm/src/Snap.js +0 -59
  157. package/dist/esm/src/SnapHybrid.d.ts.map +1 -1
  158. package/dist/esm/src/Templates/SnapTemplates.d.ts +13 -73
  159. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  160. package/dist/esm/src/Templates/SnapTemplates.js +117 -113
  161. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +0 -4
  162. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  163. package/dist/esm/src/Templates/Stores/LibraryStore.js +0 -6
  164. package/dist/esm/src/Templates/Stores/TargetStore.d.ts +7 -6
  165. package/dist/esm/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  166. package/dist/esm/src/Templates/Stores/TargetStore.js +14 -8
  167. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  168. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  169. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +447 -89
  170. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  171. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  172. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +118 -66
  173. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  174. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  175. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  176. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  177. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +82 -1
  178. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  179. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +27 -8
  180. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +81 -33
  181. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  182. package/dist/esm/src/Templates/Stores/TemplateStore.js +28 -38
  183. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +2 -8
  184. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  185. package/dist/esm/src/Templates/Stores/ThemeStore.js +3 -26
  186. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  187. package/dist/esm/src/Templates/Stores/library/languages/es.js +0 -5
  188. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  189. package/dist/esm/src/Templates/Stores/library/languages/fr.js +0 -5
  190. package/dist/esm/src/Templates/index.d.ts +1 -1
  191. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  192. package/dist/esm/src/index.d.ts +1 -0
  193. package/dist/esm/src/index.d.ts.map +1 -1
  194. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  195. package/dist/esm/src/setupEvents.js +0 -23
  196. package/dist/esm/src/types.d.ts +6 -16
  197. package/dist/esm/src/types.d.ts.map +1 -1
  198. package/dist/esm/src/utils/combineMerge.d.ts +2 -0
  199. package/dist/esm/src/utils/combineMerge.d.ts.map +1 -0
  200. package/dist/esm/src/utils/combineMerge.js +16 -0
  201. package/dist/esm/src/utils/index.d.ts +1 -0
  202. package/dist/esm/src/utils/index.d.ts.map +1 -1
  203. package/dist/esm/src/utils/index.js +1 -0
  204. package/package.json +20 -15
  205. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -7
  206. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
  207. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -85
  208. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
  209. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
  210. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -17
  211. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -18
  212. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
  213. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -118
  214. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
  215. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
  216. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
  217. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -17
  218. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
  219. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -106
  220. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
  221. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
  222. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
  223. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -23
  224. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
  225. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -451
  226. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
  227. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
  228. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -17
  229. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts +0 -15
  230. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
  231. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +0 -1804
  232. package/dist/cjs/components/src/components/Organisms/Chat/ChatAttachmentContext.d.ts +0 -19
  233. package/dist/cjs/components/src/components/Organisms/Chat/ChatAttachmentContext.d.ts.map +0 -1
  234. package/dist/cjs/components/src/components/Organisms/Chat/ChatAttachmentContext.js +0 -22
  235. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.d.ts +0 -11
  236. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.d.ts.map +0 -1
  237. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.js +0 -177
  238. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts +0 -13
  239. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts.map +0 -1
  240. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.js +0 -170
  241. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts +0 -11
  242. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts.map +0 -1
  243. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.js +0 -223
  244. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +0 -11
  245. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +0 -1
  246. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.js +0 -94
  247. package/dist/cjs/components/src/components/Organisms/Chat/SuggestedQuestions.d.ts +0 -12
  248. package/dist/cjs/components/src/components/Organisms/Chat/SuggestedQuestions.d.ts.map +0 -1
  249. package/dist/cjs/components/src/components/Organisms/Chat/SuggestedQuestions.js +0 -73
  250. package/dist/cjs/components/src/components/Organisms/Chat/index.d.ts +0 -2
  251. package/dist/cjs/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
  252. package/dist/cjs/components/src/components/Organisms/Chat/index.js +0 -17
  253. package/dist/cjs/src/Templates/Stores/library/components/Chat.d.ts +0 -2
  254. package/dist/cjs/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
  255. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +0 -5
  256. package/dist/cjs/src/create/createChatController.d.ts +0 -5
  257. package/dist/cjs/src/create/createChatController.d.ts.map +0 -1
  258. package/dist/cjs/src/create/createChatController.js +0 -43
  259. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -7
  260. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
  261. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -67
  262. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
  263. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
  264. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -1
  265. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -18
  266. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
  267. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -112
  268. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
  269. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
  270. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -1
  271. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -17
  272. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
  273. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -85
  274. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
  275. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
  276. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -1
  277. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -23
  278. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
  279. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -427
  280. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
  281. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
  282. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -1
  283. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +0 -15
  284. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
  285. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +0 -1742
  286. package/dist/esm/components/src/components/Organisms/Chat/ChatAttachmentContext.d.ts +0 -19
  287. package/dist/esm/components/src/components/Organisms/Chat/ChatAttachmentContext.d.ts.map +0 -1
  288. package/dist/esm/components/src/components/Organisms/Chat/ChatAttachmentContext.js +0 -16
  289. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.d.ts +0 -11
  290. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.d.ts.map +0 -1
  291. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.js +0 -162
  292. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts +0 -13
  293. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts.map +0 -1
  294. package/dist/esm/components/src/components/Organisms/Chat/MessageText.js +0 -152
  295. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts +0 -11
  296. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts.map +0 -1
  297. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.js +0 -194
  298. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +0 -11
  299. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +0 -1
  300. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.js +0 -78
  301. package/dist/esm/components/src/components/Organisms/Chat/SuggestedQuestions.d.ts +0 -12
  302. package/dist/esm/components/src/components/Organisms/Chat/SuggestedQuestions.d.ts.map +0 -1
  303. package/dist/esm/components/src/components/Organisms/Chat/SuggestedQuestions.js +0 -58
  304. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +0 -2
  305. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
  306. package/dist/esm/components/src/components/Organisms/Chat/index.js +0 -1
  307. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +0 -2
  308. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
  309. package/dist/esm/src/Templates/Stores/library/components/Chat.js +0 -1
  310. package/dist/esm/src/create/createChatController.d.ts +0 -5
  311. package/dist/esm/src/create/createChatController.d.ts.map +0 -1
  312. package/dist/esm/src/create/createChatController.js +0 -29
@@ -1,19 +0,0 @@
1
- export type ChatAttachmentContextItem = {
2
- id: string;
3
- name: string;
4
- imageUrl?: string;
5
- isLoading?: boolean;
6
- hasError?: boolean;
7
- errorMessage?: string;
8
- onClick?: () => void;
9
- onRemove?: () => void;
10
- };
11
- export type ChatAttachmentContextProps = {
12
- title: string;
13
- items: ChatAttachmentContextItem[];
14
- onClose?: () => void;
15
- };
16
- export declare const ChatAttachmentContext: ((props: ChatAttachmentContextProps) => JSX.Element) & {
17
- displayName: string;
18
- };
19
- //# sourceMappingURL=ChatAttachmentContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatAttachmentContext.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/ChatAttachmentContext.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,WAAoB,0BAA0B,KAAG,GAAG,CAAC,OAAO;;CA8D5F,CAAC"}
@@ -1,16 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { observer } from 'mobx-react-lite';
3
- import classnames from 'classnames';
4
- import { Image } from '../../Atoms/Image';
5
- import { Button } from '../../Atoms/Button';
6
- import { Icon } from '../../Atoms/Icon';
7
- export const ChatAttachmentContext = observer((props) => {
8
- const { title, items, onClose } = props;
9
- if (!items || items.length === 0) {
10
- return _jsx(_Fragment, {});
11
- }
12
- return (_jsxs("div", { className: 'ss__chat__attachment-context', children: [_jsxs("div", { className: 'ss__chat__attachment-context__label', children: [_jsx("span", { children: title }), onClose && (_jsx("div", { className: 'ss__chat__attachment-context__label__close', onClick: onClose, children: _jsx(Icon, { icon: 'close-thin', size: '12px' }) }))] }), _jsx("div", { className: 'ss__chat__attachment-context__items', children: items.map((item) => (_jsxs("div", { className: classnames('ss__chat__attachment-context__item', { error: item.hasError, clickable: !!item.onClick }), onClick: item.onClick, style: item.onClick ? { cursor: 'pointer' } : undefined, children: [item.hasError ? (_jsxs(_Fragment, { children: [_jsx("div", { className: 'ss__chat__attachment-context__item__error-icon', children: "\u26A0" }), _jsx("div", { className: 'ss__chat__attachment-context__item__error-message', children: item.errorMessage || `Upload Failed - ${item.name}` })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'ss__chat__attachment-context__item__content', children: [item.imageUrl && _jsx(Image, { className: item.isLoading ? 'loading' : '', src: item.imageUrl, alt: item.name }), item.isLoading && (_jsxs("div", { className: 'ss__chat__attachment-context__item__loading', children: [_jsx("div", { className: 'ss__chat__loading__dot' }), _jsx("div", { className: 'ss__chat__loading__dot' }), _jsx("div", { className: 'ss__chat__loading__dot' })] }))] }), _jsx("div", { className: 'ss__chat__attachment-context__item__name', title: item.name, children: item.name })] })), item.onRemove && (items.length > 1 || !onClose) && (_jsx(Button, { className: 'ss__chat__attachment-context__item__remove', onClick: () => !item.isLoading && item.onRemove?.(), icon: {
13
- icon: 'close-thin',
14
- size: '0.6em',
15
- } }))] }, item.id))) })] }));
16
- });
@@ -1,11 +0,0 @@
1
- import { ChatController } from '@athoscommerce/snap-controller';
2
- import { Product } from '@athoscommerce/snap-store-mobx';
3
- import { ComponentProps } from '../../../types';
4
- export declare const ChatResult: (props: ChatResultProps) => import("@emotion/react/jsx-runtime").JSX.Element;
5
- export interface ChatResultProps extends ComponentProps {
6
- result: Product;
7
- controller: ChatController;
8
- scrollToBottom: () => void;
9
- trackingRef?: (el: HTMLElement | null) => void;
10
- }
11
- //# sourceMappingURL=ChatResult.d.ts.map
@@ -1 +0,0 @@
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;AAkH7D,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,162 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { observer } from 'mobx-react-lite';
3
- import { Image } from '../../Atoms/Image';
4
- import { Button } from '../../Atoms/Button';
5
- import { mergeProps, mergeStyles } from '../../../utilities';
6
- import { css, useTheme, useTreePath, useSnap, withTracking } from '../../../providers';
7
- import { CalloutBadge, OverlayBadge, Price } from '../../..';
8
- import { useComponent } from '../../../hooks';
9
- const defaultStyles = () => {
10
- return css({
11
- display: 'flex',
12
- flexDirection: 'column',
13
- height: '100%',
14
- width: '100%',
15
- boxSizing: 'border-box',
16
- border: '1px solid #e5e7eb',
17
- borderRadius: '1em',
18
- overflow: 'hidden',
19
- '.ss__chat__result__image': {
20
- width: '100%',
21
- aspectRatio: '1 / 1',
22
- position: 'relative',
23
- overflow: 'hidden',
24
- // fixed-aspect frame: scale the image to fill it and crop overflow so
25
- // results with different intrinsic image aspect ratios still line up
26
- // at the same height when displayed side-by-side.
27
- img: {
28
- width: '100%',
29
- height: '100%',
30
- objectFit: 'cover',
31
- },
32
- '.ss__chat__result__image__buttons': {
33
- position: 'absolute',
34
- bottom: 0,
35
- width: '100%',
36
- display: 'flex',
37
- justifyContent: 'center',
38
- gap: '0.5em',
39
- padding: '0.5em',
40
- '.ss__button': {
41
- padding: '0.25em 0.5em',
42
- background: 'rgba(255, 255, 255, 0.9)',
43
- textAlign: 'center',
44
- justifyContent: 'center',
45
- borderRadius: '2em',
46
- boxShadow: 'inset 0 0 1px 0px rgba(0, 0, 0, 0.5)',
47
- flex: '1 1 0',
48
- minWidth: 0,
49
- fontWeight: 'bold',
50
- whiteSpace: 'nowrap',
51
- overflow: 'hidden',
52
- textOverflow: 'ellipsis',
53
- },
54
- },
55
- '.ss__chat__result__image__icons': {
56
- position: 'absolute',
57
- top: 0,
58
- left: 0,
59
- right: 0,
60
- display: 'flex',
61
- flexDirection: 'row',
62
- justifyContent: 'space-between',
63
- gap: '0.5em',
64
- padding: '0.5em',
65
- flex: '0 0 auto',
66
- alignItems: 'flex-start',
67
- '.ss__button': {
68
- height: '2.5em',
69
- width: '2.5em',
70
- backgroundColor: '#000',
71
- borderRadius: '50%',
72
- justifyContent: 'center',
73
- '&.ss__chat__result__image__icons__icon--cart': {
74
- backgroundColor: '#feeeae',
75
- svg: {
76
- fill: '#000',
77
- stroke: '#000',
78
- },
79
- },
80
- svg: {
81
- fill: '#fff',
82
- stroke: '#fff',
83
- },
84
- },
85
- },
86
- },
87
- '.ss__chat__result__content': {
88
- background: '#f9fafb',
89
- display: 'flex',
90
- flexDirection: 'column',
91
- gap: '0.5em',
92
- flex: '1 1 auto',
93
- padding: '0.5em 0',
94
- '.ss__chat__result__content__title--primary': {
95
- padding: '0 0.5em',
96
- },
97
- '.ss__chat__result__content__title--secondary': {
98
- padding: '0 0.5em',
99
- color: '#6A7282',
100
- fontSize: '90%',
101
- },
102
- '.ss__chat__result__content__price': {
103
- padding: '0 0.5em',
104
- color: '#000',
105
- fontWeight: 'bold',
106
- fontSize: '1.2em',
107
- marginTop: 'auto',
108
- },
109
- },
110
- });
111
- };
112
- export const ChatResult = withTracking(observer((properties) => {
113
- const globalTheme = useTheme();
114
- const globalTreePath = useTreePath();
115
- const snap = useSnap();
116
- const defaultProps = {
117
- treePath: globalTreePath,
118
- };
119
- const props = mergeProps('chatResult', globalTheme, defaultProps, properties);
120
- const { controller, result, scrollToBottom, customComponent, trackingRef } = props;
121
- if (customComponent) {
122
- const ComponentOverride = useComponent(snap?.templates?.library.import.component.result || {}, customComponent);
123
- if (ComponentOverride) {
124
- return _jsx(ComponentOverride, { ...props });
125
- }
126
- }
127
- const isInComparison = controller.store.currentChat?.comparisons.items.some((item) => item.result?.id === result.id);
128
- // a result is "configurable" when it ships with selectable variant options
129
- // (e.g. color/size); those need a selection before they can be added to cart
130
- const isConfigurable = !!result.variants?.optionConfig && Object.keys(result.variants.optionConfig).length > 0;
131
- const subProps = {
132
- button: {
133
- // component theme overrides
134
- theme: props.theme,
135
- // treePath,
136
- },
137
- image: {
138
- lazy: false,
139
- onLoad: scrollToBottom,
140
- // component theme overrides
141
- theme: props.theme,
142
- // treePath,
143
- },
144
- };
145
- const styling = mergeStyles(properties, defaultStyles);
146
- return (_jsxs("div", { className: "ss__chat__result", ref: trackingRef, ...styling, children: [_jsxs("div", { className: "ss__chat__result__image", children: [_jsx(OverlayBadge, { controller: controller, result: result, renderEmpty: true, children: _jsx(Image, { className: 'ss__chat__result__detail-slot__image', alt: result.display.mappings.core?.name || '', src: result.display.mappings.core?.imageUrl || '', ...subProps.image }) }), _jsxs("div", { className: "ss__chat__result__image__buttons", children: [controller.store.features.similarProducts.enabled && (_jsx(Button, { className: 'ss__chat__result__image__buttons__similar', content: 'Similar', onClick: () => {
147
- controller.discussProduct(result, { requestType: 'productSimilar' });
148
- } })), _jsx(Button, { className: 'ss__chat__result__image__buttons__compare', content: isInComparison ? undefined : 'Compare', icon: isInComparison ? { icon: 'check-thin', title: 'Added to comparison' } : undefined, onClick: () => {
149
- controller.compareProduct(result);
150
- } })] }), _jsxs("div", { className: "ss__chat__result__image__icons", children: [_jsx(Button, { className: 'ss__chat__result__image__icons__icon--inquire', icon: { icon: 'chat', title: 'Discuss Product' }, onClick: () => {
151
- controller.discussProduct(result, { requestType: 'productQuery' });
152
- } }), _jsx(Button, { className: 'ss__chat__result__image__icons__icon--cart', icon: { icon: 'cart', title: isConfigurable ? 'Configure' : 'Add to Cart' }, onClick: () => {
153
- // configurable products need a variant selection — open the product
154
- // information panel so the user can pick options before adding to cart
155
- if (isConfigurable) {
156
- controller.viewProduct(result);
157
- return;
158
- }
159
- controller.track.product.addToCart(result);
160
- controller.addToCart(result);
161
- } })] })] }), _jsxs("div", { className: "ss__chat__result__content", children: [result.display.mappings.core?.name && (_jsx("div", { className: "ss__chat__result__content__title--primary", children: result.display.mappings.core?.name })), result.display.mappings.core?.price && (_jsx("div", { className: "ss__chat__result__content__price", children: _jsx(Price, { value: result.display.mappings.core?.price }) })), _jsx(CalloutBadge, { controller: controller, result: result })] })] }));
162
- }));
@@ -1,13 +0,0 @@
1
- import { ChatController } from '@athoscommerce/snap-controller';
2
- export declare const MessageText: ((props: MessageTextProps) => import("@emotion/react/jsx-runtime").JSX.Element) & {
3
- displayName: string;
4
- };
5
- export interface MessageTextProps {
6
- chatItem: any;
7
- controller: ChatController;
8
- scrollToBottom: () => void;
9
- onViewProduct?: () => void;
10
- showDetailsButton?: boolean;
11
- sideChatOpen?: boolean;
12
- }
13
- //# sourceMappingURL=MessageText.d.ts.map
@@ -1 +0,0 @@
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,152 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { observer } from 'mobx-react-lite';
3
- import classnames from 'classnames';
4
- import { ResultsDisplay } from './ResultsDisplay';
5
- import { marked } from 'marked';
6
- import { css } from '../../..';
7
- import { mergeStyles } from '../../../utilities';
8
- import { Button } from '../../Atoms/Button';
9
- const defaultStyles = () => {
10
- return css({
11
- display: 'flex',
12
- flexDirection: 'column',
13
- justifyContent: 'flex-start',
14
- gap: '5px',
15
- background: '#fff',
16
- padding: '1em',
17
- borderRadius: '1em',
18
- borderBottomLeftRadius: '3px',
19
- '.ss__chat__message-text__text-wrapper': {
20
- display: 'flex',
21
- flexDirection: 'row',
22
- justifyContent: 'flex-start',
23
- alignItems: 'center',
24
- gap: '8px',
25
- '.ss__chat__message-text__text-wrapper__text': {
26
- alignSelf: 'flex-end',
27
- },
28
- '.ss__chat__message-text__view-side-chat': {
29
- marginLeft: 'auto',
30
- flex: '0 0 auto',
31
- width: '2em',
32
- height: '2em',
33
- padding: 0,
34
- borderRadius: '50%',
35
- border: '1px solid #253B80',
36
- background: '#fff',
37
- display: 'flex',
38
- alignItems: 'center',
39
- justifyContent: 'center',
40
- cursor: 'pointer',
41
- svg: {
42
- fill: '#253B80',
43
- stroke: '#253B80',
44
- },
45
- '&.ss__chat__message-text__view-side-chat--active': {
46
- background: '#253B80',
47
- svg: {
48
- fill: '#fff',
49
- stroke: '#fff',
50
- },
51
- },
52
- },
53
- },
54
- '.ss__chat__message-text__show-details': {
55
- alignSelf: 'flex-start',
56
- border: '1px solid #253B80',
57
- background: '#fff',
58
- color: '#253B80',
59
- borderRadius: '999px',
60
- padding: '6px 16px',
61
- fontSize: '14px',
62
- fontWeight: 500,
63
- cursor: 'pointer',
64
- display: 'flex',
65
- alignItems: 'center',
66
- gap: '6px',
67
- marginTop: '4px',
68
- '&:not(.ss__button--disabled):hover': {
69
- background: '#253B80',
70
- color: '#fff',
71
- svg: {
72
- fill: '#fff',
73
- stroke: '#fff',
74
- },
75
- },
76
- svg: {
77
- fill: '#253B80',
78
- stroke: '#253B80',
79
- },
80
- },
81
- '.ss__chat__message-text__results': {
82
- marginTop: '12px',
83
- '.swiper-container': {
84
- alignItems: 'center',
85
- gap: '5px',
86
- '.swiper-wrapper': {},
87
- '.swiper-scrollbar': {
88
- position: 'static',
89
- width: '95%',
90
- height: '6px',
91
- borderRadius: '6px',
92
- '.swiper-scrollbar-drag': {
93
- borderRadius: '6px',
94
- },
95
- },
96
- '.swiper-pagination-lock': {
97
- display: 'none !important',
98
- },
99
- },
100
- '.ss__carousel__next-wrapper, .ss__carousel__prev-wrapper': {
101
- svg: {
102
- fill: '#0066cc',
103
- stroke: '#0066cc',
104
- },
105
- },
106
- },
107
- '.ss__chat__message-text__facets': {
108
- display: 'flex',
109
- flexWrap: 'wrap',
110
- gap: '10px',
111
- margin: '10px 0 0 0',
112
- '.ss__chat__message-text__facets__facet': {
113
- display: 'flex',
114
- gap: '5px',
115
- alignItems: 'baseline',
116
- label: {
117
- fontWeight: 'bold',
118
- },
119
- },
120
- },
121
- });
122
- };
123
- export const MessageText = observer((props) => {
124
- const { controller, chatItem, scrollToBottom, onViewProduct, showDetailsButton } = props;
125
- const styling = mergeStyles(props, defaultStyles);
126
- const text = chatItem.overallSummary || chatItem.text || chatItem.comparisonData?.summary || chatItem.errorMessage || chatItem.messageForDrift || '';
127
- const currentChat = controller.store.currentChat;
128
- const sideChatLabels = {
129
- inspirationResult: { open: 'View inspiration', close: 'Close inspiration' },
130
- productComparison: { open: 'View comparison', close: 'Close comparison' },
131
- };
132
- const sideChatLabel = sideChatLabels[chatItem?.messageType];
133
- const hasSideChatView = !!sideChatLabel && !!chatItem?.id;
134
- const isSideChatActive = hasSideChatView && !!props.sideChatOpen && currentChat?.activeMessage?.id === chatItem.id;
135
- // Show the prominent "Show Details" button when requested (e.g. mobile subsequent comparisons)
136
- const shouldShowDetailsButton = showDetailsButton && chatItem?.messageType === 'productComparison' && !isSideChatActive;
137
- return (_jsxs("div", { className: "ss__chat__message-text", ...styling, children: [text && (_jsxs("div", { className: "ss__chat__message-text__text-wrapper", children: [_jsx("div", { className: "ss__chat__message-text__text-wrapper__text", dangerouslySetInnerHTML: { __html: marked.parse(text) } }), hasSideChatView ? (_jsx(Button, { className: classnames('ss__chat__message-text__view-side-chat', {
138
- 'ss__chat__message-text__view-side-chat--active': isSideChatActive,
139
- }), icon: {
140
- icon: isSideChatActive ? 'close-thin' : 'angle-right',
141
- title: isSideChatActive ? sideChatLabel.close : sideChatLabel.open,
142
- }, onClick: () => {
143
- if (isSideChatActive) {
144
- currentChat?.dismissSideChat();
145
- }
146
- else {
147
- currentChat?.setActiveMessage(chatItem.id);
148
- }
149
- } })) : null] })), shouldShowDetailsButton && (_jsx(Button, { className: "ss__chat__message-text__show-details", icon: { icon: 'angle-right', title: 'Show Details' }, onClick: () => {
150
- currentChat?.setActiveMessage(chatItem.id);
151
- }, children: "Show Details" })), chatItem && _jsx(ResultsDisplay, { controller: controller, chatItem: chatItem, scrollToBottom: scrollToBottom, onViewProduct: onViewProduct })] }));
152
- });
@@ -1,11 +0,0 @@
1
- import { ChatController } from '@athoscommerce/snap-controller';
2
- export declare const MessageUser: ((props: MessageUserProps) => import("@emotion/react/jsx-runtime").JSX.Element) & {
3
- displayName: string;
4
- };
5
- interface MessageUserProps {
6
- chatItem: any;
7
- controller: ChatController;
8
- onViewProduct?: (product: any) => void;
9
- }
10
- export {};
11
- //# sourceMappingURL=MessageUser.d.ts.map
@@ -1 +0,0 @@
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;AAuIhE,eAAO,MAAM,WAAW,WAAoB,gBAAgB;;CA2F1D,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,194 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { observer } from 'mobx-react-lite';
3
- import classnames from 'classnames';
4
- import { Image } from '../../Atoms/Image';
5
- import { Icon } from '../../Atoms/Icon';
6
- import { css } from '../../..';
7
- import { mergeStyles } from '../../../utilities';
8
- const defaultStyles = () => {
9
- const colorPrimary = '#253B80';
10
- return css({
11
- display: 'flex',
12
- flexDirection: 'column',
13
- alignItems: 'flex-end',
14
- marginLeft: '40px',
15
- '.ss__chat__message-user__request-type': {
16
- fontStyle: 'italic',
17
- color: '#999',
18
- fontSize: '0.8em',
19
- marginBottom: '4px',
20
- textAlign: 'right',
21
- },
22
- '.ss__chat__message-user__row': {
23
- display: 'flex',
24
- flexDirection: 'row',
25
- justifyContent: 'flex-end',
26
- alignItems: 'center',
27
- gap: '10px',
28
- },
29
- '.ss__chat__message-user__text-wrapper': {
30
- display: 'flex',
31
- flexDirection: 'column',
32
- alignItems: 'flex-end',
33
- },
34
- '.ss__chat__message-user__text': {
35
- padding: '0.5em 1em',
36
- borderRadius: '12px',
37
- borderBottomRightRadius: '3px',
38
- backgroundColor: colorPrimary,
39
- color: '#fff',
40
- },
41
- '.ss__chat__message-user__attachments': {
42
- listStyleType: 'none',
43
- padding: 0,
44
- margin: 0,
45
- display: 'flex',
46
- flexWrap: 'wrap',
47
- justifyContent: 'flex-end',
48
- flex: '0 0 40px',
49
- alignSelf: 'flex-end',
50
- '.ss__chat__message-user__attachment__product, .ss__chat__message-user__attachment__image, .ss__chat__message-user__attachment__facet': {
51
- width: '40px',
52
- height: '40px',
53
- borderRadius: '50%',
54
- border: '2px solid #eee',
55
- overflow: 'hidden',
56
- display: 'flex',
57
- justifyContent: 'center',
58
- alignItems: 'center',
59
- '.ss__image': {
60
- aspectRatio: '1 / 1',
61
- width: '100%',
62
- height: '100%',
63
- },
64
- '.ss__icon': {
65
- display: 'flex',
66
- },
67
- },
68
- '.ss__chat__message-user__attachment__product--clickable': {
69
- cursor: 'pointer',
70
- transition: 'border-color 0.15s ease',
71
- '&:hover': {
72
- borderColor: colorPrimary,
73
- },
74
- },
75
- '.ss__chat__message-user__attachment__facet--overflow': {
76
- fontSize: '12px',
77
- fontWeight: 600,
78
- color: '#555',
79
- },
80
- },
81
- });
82
- };
83
- function getRequestTypeLabel(chatItem) {
84
- const requestType = chatItem.requestType;
85
- if (!requestType || requestType === 'general')
86
- return undefined;
87
- switch (requestType) {
88
- case 'productQuery':
89
- return 'Asking about product';
90
- case 'productComparison':
91
- return 'Comparing products';
92
- case 'productSearch':
93
- if (chatItem.request?.searchFilters?.length) {
94
- return 'Filtering products';
95
- }
96
- else {
97
- return 'Searching products';
98
- }
99
- case 'imageSearch':
100
- return 'Searching by image';
101
- case 'productSimilar':
102
- return 'Finding similar products';
103
- default:
104
- return undefined;
105
- }
106
- }
107
- function findProductInChat(chat, productId) {
108
- if (!chat || !productId)
109
- return null;
110
- for (const msg of chat) {
111
- if ((msg.messageType === 'productQuery' || msg.messageType === 'productAnswer') && msg.sourceProduct?.id === productId) {
112
- return msg.sourceProduct;
113
- }
114
- const candidateLists = [];
115
- if (Array.isArray(msg.results))
116
- candidateLists.push(msg.results);
117
- if (Array.isArray(msg.searchResults))
118
- candidateLists.push(msg.searchResults);
119
- if (Array.isArray(msg.inspirationSections)) {
120
- msg.inspirationSections.forEach((section) => {
121
- if (Array.isArray(section.products))
122
- candidateLists.push(section.products);
123
- });
124
- }
125
- if (Array.isArray(msg.recommendationResult)) {
126
- msg.recommendationResult.forEach((rec) => {
127
- if (Array.isArray(rec.results))
128
- candidateLists.push(rec.results);
129
- });
130
- }
131
- for (const list of candidateLists) {
132
- const match = list.find((r) => r?.id === productId);
133
- if (match)
134
- return match;
135
- }
136
- }
137
- return null;
138
- }
139
- export const MessageUser = observer((props) => {
140
- const { controller, chatItem, onViewProduct } = props;
141
- const { store } = controller;
142
- const styling = mergeStyles(props, defaultStyles);
143
- const requestTypeLabel = getRequestTypeLabel(chatItem);
144
- const handleProductAttachmentClick = (attachment) => {
145
- if (!attachment?.productId)
146
- return;
147
- const chat = store.currentChat?.chat;
148
- const existingQuery = chat?.find((m) => m.messageType === 'productQuery' && m.sourceProduct?.id === attachment.productId);
149
- if (existingQuery) {
150
- store.currentChat?.setActiveMessage(existingQuery.id);
151
- onViewProduct?.(existingQuery.sourceProduct);
152
- return;
153
- }
154
- const product = findProductInChat(chat, attachment.productId);
155
- if (product) {
156
- controller.viewProduct(product);
157
- onViewProduct?.(product);
158
- }
159
- };
160
- return (_jsx("div", { className: "ss__chat__message-user", ...styling, children: _jsxs("div", { className: "ss__chat__message-user__row", children: [_jsx("ul", { className: "ss__chat__message-user__attachments", children: (() => {
161
- if (!chatItem.attachments?.length)
162
- return null;
163
- const resolved = chatItem.attachments.map((id) => store.currentChat?.attachments.get(id)).filter(Boolean);
164
- const totalFacets = resolved.filter((a) => a.type === 'facet').length;
165
- const hiddenFacetCount = Math.max(0, totalFacets - 2);
166
- let facetIndex = 0;
167
- const items = resolved
168
- .map((attachment) => {
169
- switch (attachment.type) {
170
- case 'image':
171
- return (_jsx("li", { className: "ss__chat__message-user__attachment__image", children: _jsx(Image, { style: { height: '200px', width: '200px' }, src: attachment.thumbnailUrl || attachment.base64 || '', alt: '' }) }, attachment.id));
172
- case 'product': {
173
- const canOpen = !!findProductInChat(store.currentChat?.chat, attachment.productId);
174
- return (_jsx("li", { className: classnames('ss__chat__message-user__attachment__product', {
175
- 'ss__chat__message-user__attachment__product--clickable': canOpen,
176
- }), onClick: canOpen ? () => handleProductAttachmentClick(attachment) : undefined, title: canOpen ? `View details for ${attachment.name}` : undefined, children: _jsx(Image, { style: { height: '200px', width: '200px' }, src: attachment.thumbnailUrl || '', alt: attachment.name }) }, attachment.id));
177
- }
178
- case 'facet': {
179
- facetIndex += 1;
180
- if (facetIndex > 2)
181
- return null;
182
- return (_jsx("li", { className: "ss__chat__message-user__attachment__facet", children: _jsx(Icon, { title: `Filter: ${attachment.facetLabel} = ${attachment.label}`, icon: "filter-funnel", size: 27 }) }, attachment.id));
183
- }
184
- default:
185
- return null;
186
- }
187
- })
188
- .filter(Boolean);
189
- if (hiddenFacetCount > 0) {
190
- items.push(_jsxs("li", { className: "ss__chat__message-user__attachment__facet ss__chat__message-user__attachment__facet--overflow", title: `${hiddenFacetCount} more filter${hiddenFacetCount === 1 ? '' : 's'}`, children: ["+", hiddenFacetCount] }, "facet-overflow"));
191
- }
192
- return items;
193
- })() }), _jsxs("div", { className: "ss__chat__message-user__text-wrapper", children: [requestTypeLabel ? _jsx("div", { className: "ss__chat__message-user__request-type", children: requestTypeLabel }) : null, chatItem.text ? _jsx("div", { className: "ss__chat__message-user__text", children: chatItem.text }) : null] })] }) }));
194
- });
@@ -1,11 +0,0 @@
1
- import { ChatController } from '@athoscommerce/snap-controller';
2
- export declare const ResultsDisplay: ((props: ResultsDisplayProps) => import("@emotion/react/jsx-runtime").JSX.Element | null) & {
3
- displayName: string;
4
- };
5
- export interface ResultsDisplayProps {
6
- chatItem: any;
7
- controller: ChatController;
8
- scrollToBottom: () => void;
9
- onViewProduct?: () => void;
10
- }
11
- //# sourceMappingURL=ResultsDisplay.d.ts.map
@@ -1 +0,0 @@
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;;CAmFhE,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"}