@athoscommerce/snap-preact 1.12.1-beta.152 → 1.13.1

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 (421) hide show
  1. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +11 -56
  2. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +0 -13
  3. package/dist/cjs/components/src/components/Atoms/Price/Price.js +2 -2
  4. package/dist/cjs/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
  5. package/dist/cjs/components/src/components/Molecules/Result/Result.js +4 -51
  6. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  7. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +28 -24
  8. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +59 -34
  9. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
  10. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
  11. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  12. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
  13. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
  14. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
  15. package/dist/cjs/components/src/hooks/useLayoutOptions.js +19 -14
  16. package/dist/cjs/components/src/index.js +1 -17
  17. package/dist/cjs/components/src/providers/themeComponents.js +0 -20
  18. package/dist/cjs/components/src/themes/base/components/templates/index.js +0 -10
  19. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +0 -10
  20. package/dist/cjs/components/src/themes/pike/components/templates/index.js +0 -10
  21. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +0 -10
  22. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +0 -10
  23. package/dist/cjs/components/src/utilities/Colour/Colour.js +0 -41
  24. package/dist/cjs/components/src/utilities/mergeProps.js +647 -184
  25. package/dist/cjs/components/src/utilities/snapify.js +0 -27
  26. package/dist/cjs/src/Snap.js +1 -71
  27. package/dist/cjs/src/Templates/SnapTemplates.js +21 -107
  28. package/dist/cjs/src/Templates/Stores/LibraryStore.js +3 -51
  29. package/dist/cjs/src/Templates/Stores/TemplateStore.js +40 -11
  30. package/dist/cjs/src/Templates/Stores/ThemeStore.js +125 -32
  31. package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +52 -29
  32. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +0 -474
  33. package/dist/cjs/src/Templates/Stores/library/languages/de.js +0 -474
  34. package/dist/cjs/src/Templates/Stores/library/languages/es.js +0 -479
  35. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +0 -479
  36. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +0 -474
  37. package/dist/cjs/src/Templates/Stores/library/languages/it.js +0 -474
  38. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +0 -474
  39. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +0 -474
  40. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +0 -474
  41. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +0 -474
  42. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +0 -474
  43. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +0 -474
  44. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +0 -474
  45. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +0 -474
  46. package/dist/cjs/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +5 -0
  47. package/dist/cjs/src/create/index.js +1 -3
  48. package/dist/cjs/src/setupEvents.js +0 -44
  49. package/dist/cjs/src/utils/index.js +1 -3
  50. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +1 -3
  51. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  52. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +1 -6
  53. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  54. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +12 -57
  55. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +0 -13
  56. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  57. package/dist/esm/components/src/components/Atoms/Icon/paths.js +0 -13
  58. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts +2 -0
  59. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
  60. package/dist/esm/components/src/components/Atoms/Price/Price.js +2 -2
  61. package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.d.ts.map +1 -1
  62. package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
  63. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  64. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  65. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +3 -7
  66. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  67. package/dist/esm/components/src/components/Molecules/Result/Result.js +4 -51
  68. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -3
  69. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  70. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  71. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts +2 -2
  72. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
  73. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  74. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +29 -25
  75. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
  76. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  77. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +59 -34
  78. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  79. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
  80. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
  81. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
  82. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  83. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  84. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
  85. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  86. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
  87. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  88. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
  89. package/dist/esm/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
  90. package/dist/esm/components/src/hooks/useLayoutOptions.js +19 -14
  91. package/dist/esm/components/src/index.d.ts +0 -14
  92. package/dist/esm/components/src/index.d.ts.map +1 -1
  93. package/dist/esm/components/src/index.js +0 -14
  94. package/dist/esm/components/src/providers/langComponents.d.ts +5 -20
  95. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  96. package/dist/esm/components/src/providers/themeComponents.d.ts +215 -396
  97. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  98. package/dist/esm/components/src/providers/themeComponents.js +0 -20
  99. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  100. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  101. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  102. package/dist/esm/components/src/themes/base/components/templates/index.js +0 -10
  103. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  104. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +0 -10
  105. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  106. package/dist/esm/components/src/themes/pike/components/templates/index.js +0 -10
  107. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  108. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +0 -10
  109. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  110. package/dist/esm/components/src/themes/snappy/components/templates/index.js +0 -10
  111. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +0 -15
  112. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  113. package/dist/esm/components/src/utilities/Colour/Colour.js +0 -41
  114. package/dist/esm/components/src/utilities/mergeProps.d.ts +11 -0
  115. package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
  116. package/dist/esm/components/src/utilities/mergeProps.js +647 -184
  117. package/dist/esm/components/src/utilities/snapify.d.ts +2 -3
  118. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  119. package/dist/esm/components/src/utilities/snapify.js +2 -29
  120. package/dist/esm/src/Snap.d.ts +1 -2
  121. package/dist/esm/src/Snap.d.ts.map +1 -1
  122. package/dist/esm/src/Snap.js +2 -72
  123. package/dist/esm/src/Templates/SnapTemplates.d.ts +33 -21
  124. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  125. package/dist/esm/src/Templates/SnapTemplates.js +21 -105
  126. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +7 -43
  127. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  128. package/dist/esm/src/Templates/Stores/LibraryStore.js +3 -51
  129. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +15 -25
  130. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  131. package/dist/esm/src/Templates/Stores/TemplateStore.js +34 -11
  132. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +5 -2
  133. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  134. package/dist/esm/src/Templates/Stores/ThemeStore.js +125 -32
  135. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +27 -0
  136. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -1
  137. package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +52 -29
  138. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
  139. package/dist/esm/src/Templates/Stores/library/languages/ar.js +0 -474
  140. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
  141. package/dist/esm/src/Templates/Stores/library/languages/de.js +0 -474
  142. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  143. package/dist/esm/src/Templates/Stores/library/languages/es.js +0 -479
  144. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  145. package/dist/esm/src/Templates/Stores/library/languages/fr.js +0 -479
  146. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
  147. package/dist/esm/src/Templates/Stores/library/languages/hi.js +0 -474
  148. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
  149. package/dist/esm/src/Templates/Stores/library/languages/it.js +0 -474
  150. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
  151. package/dist/esm/src/Templates/Stores/library/languages/ja.js +0 -474
  152. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
  153. package/dist/esm/src/Templates/Stores/library/languages/ko.js +0 -474
  154. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
  155. package/dist/esm/src/Templates/Stores/library/languages/nl.js +0 -474
  156. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
  157. package/dist/esm/src/Templates/Stores/library/languages/pt.js +0 -474
  158. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
  159. package/dist/esm/src/Templates/Stores/library/languages/ru.js +0 -474
  160. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
  161. package/dist/esm/src/Templates/Stores/library/languages/tr.js +0 -474
  162. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
  163. package/dist/esm/src/Templates/Stores/library/languages/vi.js +0 -474
  164. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
  165. package/dist/esm/src/Templates/Stores/library/languages/zh.js +0 -474
  166. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts +2 -0
  167. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts.map +1 -0
  168. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +1 -0
  169. package/dist/esm/src/create/index.d.ts +0 -1
  170. package/dist/esm/src/create/index.d.ts.map +1 -1
  171. package/dist/esm/src/create/index.js +0 -1
  172. package/dist/esm/src/setupEvents.d.ts +0 -13
  173. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  174. package/dist/esm/src/setupEvents.js +0 -44
  175. package/dist/esm/src/types.d.ts +3 -13
  176. package/dist/esm/src/types.d.ts.map +1 -1
  177. package/dist/esm/src/utils/index.d.ts +0 -1
  178. package/dist/esm/src/utils/index.d.ts.map +1 -1
  179. package/dist/esm/src/utils/index.js +0 -1
  180. package/eslint/src/validate-config.cjs +520 -0
  181. package/package.json +13 -15
  182. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -99
  183. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -17
  184. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -221
  185. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -17
  186. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -209
  187. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
  188. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -258
  189. package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +0 -17
  190. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -282
  191. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +0 -17
  192. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -173
  193. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
  194. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -577
  195. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -17
  196. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +0 -252
  197. package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +0 -17
  198. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -113
  199. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -17
  200. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -107
  201. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -17
  202. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +0 -621
  203. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +0 -105
  204. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -104
  205. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -161
  206. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -166
  207. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -369
  208. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -130
  209. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -218
  210. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -123
  211. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -173
  212. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -149
  213. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -60
  214. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -66
  215. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -96
  216. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -113
  217. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -135
  218. package/dist/cjs/components/src/components/Organisms/Chat/index.js +0 -18
  219. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +0 -94
  220. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -11
  221. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +0 -18
  222. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +0 -47
  223. package/dist/cjs/components/src/components/Templates/Chat/index.js +0 -17
  224. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +0 -47
  225. package/dist/cjs/components/src/components/Templates/ChatButton/index.js +0 -17
  226. package/dist/cjs/components/src/themes/base/components/templates/chat.js +0 -6
  227. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +0 -6
  228. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +0 -6
  229. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +0 -6
  230. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +0 -6
  231. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +0 -6
  232. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +0 -6
  233. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +0 -6
  234. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +0 -6
  235. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +0 -6
  236. package/dist/cjs/components/src/themes/themeComponents/chat.js +0 -14
  237. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +0 -9
  238. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +0 -5
  239. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +0 -5
  240. package/dist/cjs/src/create/createChatController.js +0 -30
  241. package/dist/cjs/src/utils/applyChatTargetInject.js +0 -25
  242. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -17
  243. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
  244. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -92
  245. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
  246. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
  247. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -1
  248. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +0 -30
  249. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +0 -1
  250. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -215
  251. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +0 -2
  252. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +0 -1
  253. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -1
  254. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -19
  255. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
  256. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -203
  257. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
  258. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
  259. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -1
  260. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +0 -36
  261. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +0 -1
  262. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -252
  263. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +0 -2
  264. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +0 -1
  265. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +0 -1
  266. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +0 -38
  267. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +0 -1
  268. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -276
  269. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +0 -2
  270. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +0 -1
  271. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +0 -1
  272. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -19
  273. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
  274. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -167
  275. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
  276. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
  277. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -1
  278. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -38
  279. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
  280. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -571
  281. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
  282. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
  283. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -1
  284. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +0 -35
  285. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +0 -1
  286. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +0 -246
  287. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +0 -2
  288. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +0 -1
  289. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +0 -1
  290. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +0 -24
  291. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +0 -1
  292. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -107
  293. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +0 -2
  294. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +0 -1
  295. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -1
  296. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +0 -16
  297. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +0 -1
  298. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -101
  299. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +0 -2
  300. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +0 -1
  301. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -1
  302. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +0 -41
  303. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
  304. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +0 -615
  305. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +0 -76
  306. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +0 -1
  307. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +0 -100
  308. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +0 -26
  309. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +0 -1
  310. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -98
  311. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +0 -13
  312. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +0 -1
  313. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -155
  314. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +0 -19
  315. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +0 -1
  316. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -160
  317. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +0 -18
  318. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +0 -1
  319. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -363
  320. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +0 -11
  321. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +0 -1
  322. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -124
  323. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +0 -30
  324. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +0 -1
  325. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -212
  326. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +0 -13
  327. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +0 -1
  328. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -117
  329. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +0 -19
  330. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +0 -1
  331. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -167
  332. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +0 -14
  333. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +0 -1
  334. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -143
  335. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +0 -15
  336. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +0 -1
  337. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -56
  338. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +0 -32
  339. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +0 -1
  340. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -62
  341. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +0 -40
  342. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +0 -1
  343. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -92
  344. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +0 -43
  345. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +0 -1
  346. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -109
  347. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +0 -26
  348. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +0 -1
  349. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -131
  350. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +0 -3
  351. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
  352. package/dist/esm/components/src/components/Organisms/Chat/index.js +0 -2
  353. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +0 -18
  354. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +0 -1
  355. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +0 -88
  356. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +0 -7
  357. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +0 -1
  358. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -8
  359. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +0 -3
  360. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +0 -1
  361. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +0 -2
  362. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +0 -12
  363. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +0 -1
  364. package/dist/esm/components/src/components/Templates/Chat/Chat.js +0 -41
  365. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +0 -2
  366. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +0 -1
  367. package/dist/esm/components/src/components/Templates/Chat/index.js +0 -1
  368. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +0 -13
  369. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +0 -1
  370. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +0 -41
  371. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +0 -2
  372. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +0 -1
  373. package/dist/esm/components/src/components/Templates/ChatButton/index.js +0 -1
  374. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +0 -4
  375. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +0 -1
  376. package/dist/esm/components/src/themes/base/components/templates/chat.js +0 -3
  377. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +0 -4
  378. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +0 -1
  379. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +0 -3
  380. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +0 -4
  381. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +0 -1
  382. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +0 -3
  383. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +0 -4
  384. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +0 -1
  385. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +0 -3
  386. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +0 -4
  387. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +0 -1
  388. package/dist/esm/components/src/themes/pike/components/templates/chat.js +0 -3
  389. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +0 -4
  390. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +0 -1
  391. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +0 -3
  392. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +0 -4
  393. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +0 -1
  394. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +0 -3
  395. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +0 -4
  396. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +0 -1
  397. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +0 -3
  398. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +0 -4
  399. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +0 -1
  400. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +0 -3
  401. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +0 -4
  402. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +0 -1
  403. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +0 -3
  404. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +0 -4
  405. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +0 -1
  406. package/dist/esm/components/src/themes/themeComponents/chat.js +0 -11
  407. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +0 -4
  408. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +0 -1
  409. package/dist/esm/components/src/themes/themeComponents/chatButton.js +0 -6
  410. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +0 -2
  411. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
  412. package/dist/esm/src/Templates/Stores/library/components/Chat.js +0 -1
  413. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +0 -2
  414. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +0 -1
  415. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +0 -1
  416. package/dist/esm/src/create/createChatController.d.ts +0 -5
  417. package/dist/esm/src/create/createChatController.d.ts.map +0 -1
  418. package/dist/esm/src/create/createChatController.js +0 -28
  419. package/dist/esm/src/utils/applyChatTargetInject.d.ts +0 -3
  420. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +0 -1
  421. package/dist/esm/src/utils/applyChatTargetInject.js +0 -22
@@ -1,577 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ChatProductQueryMessage = void 0;
7
- const react_1 = require("@emotion/react");
8
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
9
- const hooks_1 = require("preact/hooks");
10
- const mobx_react_lite_1 = require("mobx-react-lite");
11
- const react_2 = require("@emotion/react");
12
- const classnames_1 = __importDefault(require("classnames"));
13
- const deepmerge_1 = __importDefault(require("deepmerge"));
14
- const providers_1 = require("../../../providers");
15
- const utilities_1 = require("../../../utilities");
16
- const hooks_2 = require("../../../hooks");
17
- const Image_1 = require("../../Atoms/Image");
18
- const Button_1 = require("../../Atoms/Button");
19
- const Price_1 = require("../../Atoms/Price");
20
- const defaultStyles = ({ primaryColor, primaryColorText, theme }) => {
21
- const colorPrimary = primaryColor || utilities_1.Colour.concrete(theme?.variables?.colors?.primary) || '#253B80';
22
- const colorPrimaryText = primaryColorText || '#fff';
23
- const colorAccent = utilities_1.Colour.concrete(theme?.variables?.colors?.accent) || '#D4A843';
24
- const colorCta = utilities_1.Colour.concrete(theme?.variables?.colors?.accent) || '#feeeae';
25
- // neutral colors — no theme variable equivalents
26
- const colorText = '#374151';
27
- const colorBorder = '#E5E7EB';
28
- return (0, react_2.css)({
29
- display: 'flex',
30
- flexDirection: 'column',
31
- gap: '1em',
32
- paddingBottom: '1em',
33
- '.ss__chat-product-query-message__header__back.ss__button': {
34
- // Overlay banner pinned to the top of the secondary chat's scrollable messages
35
- // container so it stays visible while the product details scroll underneath.
36
- // Styling mirrors `.ss__chat__session-feedback` (dark primary bg, primary text,
37
- // 8px/15px padding, 10px gap, 14px font). Rendered as a direct child of the
38
- // component root (not the header) so sticky holds across the full scroll range.
39
- // Negative marginBottom cancels the root's `gap: 1em` so the banner sits flush
40
- // against the header below it.
41
- position: 'sticky',
42
- top: 0,
43
- zIndex: 2,
44
- marginBottom: '-1em',
45
- display: 'flex',
46
- flexDirection: 'row-reverse',
47
- justifyContent: 'flex-end',
48
- alignItems: 'center',
49
- gap: '10px',
50
- padding: '8px 15px',
51
- background: colorPrimary,
52
- color: colorPrimaryText,
53
- fontSize: '14px',
54
- cursor: 'pointer',
55
- border: 'none',
56
- font: 'inherit',
57
- width: 'auto',
58
- '.ss__button__content': {
59
- width: 'auto',
60
- },
61
- // pin the background so the Chat organism's generic `.ss__button:hover`
62
- // lightening rule (higher specificity) doesn't recolor the banner
63
- '&:not(.ss__button--disabled):hover': {
64
- background: colorPrimary,
65
- },
66
- '&:focus-visible': {
67
- outline: `2px solid ${colorPrimaryText}`,
68
- outlineOffset: '-2px',
69
- },
70
- svg: {
71
- fill: colorPrimaryText,
72
- stroke: colorPrimaryText,
73
- },
74
- },
75
- '.ss__chat-product-query-message__header': {
76
- background: colorPrimary,
77
- padding: '1em',
78
- display: 'flex',
79
- flexDirection: 'column',
80
- '.ss__price': {
81
- color: colorPrimaryText,
82
- },
83
- '.ss__chat-product-query-message__header__product': {
84
- display: 'flex',
85
- gap: '1em',
86
- '.ss__chat-product-query-message__header__product__image': {
87
- width: '25%',
88
- objectFit: 'contain',
89
- flexShrink: 0,
90
- borderRadius: '0.33em',
91
- overflow: 'hidden',
92
- },
93
- '.ss__chat-product-query-message__header__product__details': {
94
- display: 'flex',
95
- flexDirection: 'column',
96
- gap: '0.5em',
97
- flex: 1,
98
- justifyContent: 'space-evenly',
99
- '.ss__chat-product-query-message__header__product__details__name': {
100
- fontWeight: 'bold',
101
- fontSize: '1.2em',
102
- a: {
103
- color: colorPrimaryText,
104
- textDecoration: 'none',
105
- '&:hover': {
106
- textDecoration: 'underline',
107
- },
108
- },
109
- },
110
- '.ss__chat-product-query-message__header__product__details__price': {
111
- fontWeight: 'bold',
112
- fontSize: '1.1em',
113
- color: colorAccent,
114
- display: 'flex',
115
- gap: '0.5em',
116
- alignItems: 'center',
117
- },
118
- },
119
- '.ss__chat-product-query-message__header__product__actions': {
120
- display: 'flex',
121
- flexDirection: 'row',
122
- gap: '0.5em',
123
- '.ss__chat-product-query-message__header__product__actions__add-to-cart .ss__button': {
124
- flexDirection: 'row-reverse',
125
- borderRadius: '0.5em',
126
- padding: '0.4em 0.75em',
127
- fontWeight: 'bold',
128
- border: 'none',
129
- whiteSpace: 'nowrap',
130
- cursor: 'pointer',
131
- fontSize: '0.8em',
132
- background: colorCta,
133
- color: '#000',
134
- justifyContent: 'center',
135
- width: '100%',
136
- textAlign: 'center',
137
- svg: {
138
- fill: '#000',
139
- stroke: '#000',
140
- },
141
- '&:not(.ss__button--disabled):hover': {
142
- filter: 'brightness(0.97)',
143
- },
144
- },
145
- '.ss__chat-product-query-message__header__product__actions__show-similar .ss__button, .ss__chat-product-query-message__header__product__actions__discuss-product .ss__button': {
146
- flexDirection: 'row-reverse',
147
- borderRadius: '0.5em',
148
- padding: '0.4em 0.75em',
149
- fontWeight: 'bold',
150
- whiteSpace: 'nowrap',
151
- cursor: 'pointer',
152
- fontSize: '0.8em',
153
- background: '#000',
154
- color: '#fff',
155
- justifyContent: 'center',
156
- width: '100%',
157
- textAlign: 'center',
158
- svg: {
159
- fill: '#fff',
160
- stroke: '#fff',
161
- },
162
- },
163
- },
164
- },
165
- },
166
- '.ss__chat-product-query-message__variants': {
167
- padding: '0 2em',
168
- display: 'flex',
169
- flexDirection: 'column',
170
- gap: '1em',
171
- '.ss__chat-product-query-message__variants__label': {
172
- fontWeight: '600',
173
- fontSize: '0.9em',
174
- color: colorText,
175
- textTransform: 'uppercase',
176
- marginBottom: '0.5em',
177
- },
178
- '.ss__chat-product-query-message__variants__swatches': {
179
- display: 'flex',
180
- flexWrap: 'wrap',
181
- gap: '0.5em',
182
- '.ss__chat-product-query-message__variants__swatch.ss__button': {
183
- display: 'flex',
184
- flex: '1 1 auto',
185
- cursor: 'pointer',
186
- padding: '0.25em',
187
- borderRadius: '0.5em',
188
- border: '2px solid transparent',
189
- transition: 'border-color 0.15s ease',
190
- background: 'transparent',
191
- font: 'inherit',
192
- color: 'inherit',
193
- '.ss__button__content': {
194
- display: 'flex',
195
- flexDirection: 'column',
196
- alignItems: 'center',
197
- gap: '0.25em',
198
- },
199
- '&:not(.ss__button--disabled):hover': {
200
- borderColor: colorPrimary,
201
- },
202
- '&:focus-visible': {
203
- outline: `2px solid ${colorPrimary}`,
204
- outlineOffset: '2px',
205
- },
206
- '&[aria-disabled="true"]': {
207
- cursor: 'not-allowed',
208
- },
209
- '&.ss__chat-product-query-message__variants__swatch--selected': {
210
- borderColor: colorPrimary,
211
- borderWidth: '3px',
212
- padding: '0.15em',
213
- },
214
- '&.ss__chat-product-query-message__variants__swatch--unavailable': {
215
- opacity: 0.4,
216
- },
217
- '&.ss__chat-product-query-message__variants__swatch--text-only': {
218
- padding: '0.4em 0.75em',
219
- '&.ss__chat-product-query-message__variants__swatch--selected': {
220
- padding: '0.3em 0.65em',
221
- },
222
- '.ss__chat-product-query-message__variants__swatch__value': {
223
- fontSize: '1em',
224
- maxWidth: 'none',
225
- },
226
- },
227
- '.ss__chat-product-query-message__variants__swatch__image': {
228
- width: '48px',
229
- height: '48px',
230
- objectFit: 'cover',
231
- borderRadius: '50%',
232
- border: `1px solid ${colorBorder}`,
233
- },
234
- '.ss__chat-product-query-message__variants__swatch__value': {
235
- fontSize: '0.75em',
236
- color: colorText,
237
- textAlign: 'center',
238
- maxWidth: '60px',
239
- overflow: 'hidden',
240
- textOverflow: 'ellipsis',
241
- whiteSpace: 'nowrap',
242
- },
243
- },
244
- },
245
- },
246
- '.ss__chat-product-query-message__section': {
247
- padding: '0 1em',
248
- '.ss__chat-product-query-message__section__table': {
249
- width: '100%',
250
- maxWidth: '100%',
251
- tableLayout: 'fixed',
252
- borderCollapse: 'separate',
253
- borderSpacing: 0,
254
- fontSize: '0.9em',
255
- 'tbody tr': {
256
- transition: 'background-color 0.15s ease',
257
- },
258
- 'tbody tr:hover': {
259
- background: '#F3F4F6',
260
- },
261
- 'th, td': {
262
- padding: '0.75em 1em',
263
- verticalAlign: 'top',
264
- wordBreak: 'break-word',
265
- overflowWrap: 'anywhere',
266
- textAlign: 'left',
267
- borderBottom: `1px solid ${colorBorder}`,
268
- },
269
- 'tbody tr:last-of-type th, tbody tr:last-of-type td': {
270
- borderBottom: 'none',
271
- },
272
- 'th[scope="row"]': {
273
- fontWeight: '600',
274
- color: '#6B7280',
275
- textTransform: 'uppercase',
276
- fontSize: '0.8em',
277
- letterSpacing: '0.03em',
278
- width: '40%',
279
- },
280
- 'td:last-of-type': {
281
- textAlign: 'right',
282
- color: '#111827',
283
- fontWeight: '500',
284
- },
285
- '.ss__chat-product-query-message__section__table__availability--in-stock': {
286
- color: '#10B981',
287
- fontWeight: '600',
288
- },
289
- '.ss__chat-product-query-message__section__table__availability--out-of-stock': {
290
- color: '#DC2626',
291
- fontWeight: '600',
292
- },
293
- '.ss__chat-product-query-message__section__table__price': {
294
- display: 'flex',
295
- gap: '0.5em',
296
- alignItems: 'center',
297
- justifyContent: 'flex-end',
298
- },
299
- },
300
- },
301
- '.ss__chat-product-query-message__description': {
302
- padding: '0 1em',
303
- fontSize: '0.9em',
304
- color: colorText,
305
- lineHeight: '1.5',
306
- },
307
- });
308
- };
309
- // fields that have dedicated rendering in the product card; skip them in the info table
310
- const CARD_FIELDS = new Set([
311
- 'name',
312
- 'brand',
313
- 'price',
314
- 'msrp',
315
- 'imageUrl',
316
- 'thumbnailImageUrl',
317
- 'secureImageUrl',
318
- 'secureThumbnailImageUrl',
319
- 'url',
320
- 'addToCartUrl',
321
- 'uid',
322
- 'sku',
323
- 'parentId',
324
- 'parentImageUrl',
325
- 'description',
326
- 'caption',
327
- 'popularity',
328
- 'stockMessage',
329
- ]);
330
- // preferred ordering for the structured info table - any extras get appended after
331
- const PREFERRED_INFO_ORDER = ['material', 'fit', 'color', 'sizes', 'size', 'category', 'rating', 'availability'];
332
- const formatLabel = (key) => {
333
- return key
334
- .replace(/[_-]+/g, ' ')
335
- .replace(/([a-z])([A-Z])/g, '$1 $2')
336
- .trim();
337
- };
338
- const stripHtml = (str) => str.replace(/<[^>]*>/g, '');
339
- const formatValue = (value) => {
340
- if (Array.isArray(value)) {
341
- return stripHtml(value.filter((v) => v != null && v !== '').join(', '));
342
- }
343
- if (value == null) {
344
- return '';
345
- }
346
- return stripHtml(String(value));
347
- };
348
- const collectInfoRows = (display, availabilityLabels, displayFields) => {
349
- const core = display?.mappings?.core || {};
350
- const attributes = display?.attributes || {};
351
- const filterByDisplayFields = displayFields && displayFields.length > 0;
352
- const displayFieldsLower = filterByDisplayFields ? displayFields.map((f) => f.toLowerCase()) : [];
353
- const merged = {};
354
- // when displayFields is specified, include matching core fields that are normally skipped
355
- if (filterByDisplayFields) {
356
- Object.entries(core).forEach(([key, value]) => {
357
- if (displayFieldsLower.includes(key.toLowerCase()) && value != null) {
358
- merged[key] = value;
359
- }
360
- });
361
- }
362
- // pull selected core fields (rating + availability)
363
- if (core.rating != null) {
364
- const rating = core.rating;
365
- const ratingCount = core.ratingCount;
366
- merged.rating = ratingCount ? `${rating}/5.0 (${ratingCount} reviews)` : `${rating}/5.0`;
367
- }
368
- if (core.available != null) {
369
- merged.availability = core.available ? availabilityLabels.inStock : availabilityLabels.outOfStock;
370
- }
371
- // merge product attributes, skipping ones already shown on the card
372
- Object.entries(attributes).forEach(([key, value]) => {
373
- if (!filterByDisplayFields && CARD_FIELDS.has(key))
374
- return;
375
- const formatted = formatValue(value);
376
- if (!formatted)
377
- return;
378
- merged[key] = formatted;
379
- });
380
- const seen = new Set();
381
- const ordered = [];
382
- PREFERRED_INFO_ORDER.forEach((preferred) => {
383
- const match = Object.keys(merged).find((k) => k.toLowerCase() === preferred);
384
- if (match && !seen.has(match)) {
385
- seen.add(match);
386
- ordered.push({ key: match, rawKey: match, label: formatLabel(match), value: formatValue(merged[match]) });
387
- }
388
- });
389
- Object.keys(merged).forEach((key) => {
390
- if (seen.has(key))
391
- return;
392
- seen.add(key);
393
- ordered.push({ key, rawKey: key, label: formatLabel(key), value: formatValue(merged[key]) });
394
- });
395
- // filter and sort by displayFields order
396
- if (filterByDisplayFields) {
397
- const filtered = ordered.filter((row) => displayFieldsLower.includes(row.rawKey.toLowerCase()));
398
- filtered.sort((a, b) => displayFieldsLower.indexOf(a.rawKey.toLowerCase()) - displayFieldsLower.indexOf(b.rawKey.toLowerCase()));
399
- return filtered;
400
- }
401
- return ordered;
402
- };
403
- const resolveLangValue = (langEntry) => typeof langEntry?.value == 'function' ? langEntry.value() : langEntry?.value;
404
- exports.ChatProductQueryMessage = (0, mobx_react_lite_1.observer)((properties) => {
405
- const globalTheme = (0, providers_1.useTheme)();
406
- const globalTreePath = (0, providers_1.useTreePath)();
407
- const defaultProps = {
408
- treePath: globalTreePath,
409
- };
410
- const props = (0, utilities_1.mergeProps)('chatProductQueryMessage', globalTheme, defaultProps, properties);
411
- const { chatItem, controller, displayFields, disableStyles, className, internalClassName, treePath } = props;
412
- const { overrideElement, shouldRenderDefault } = (0, hooks_2.useCustomComponentOverride)('chatProductQueryMessage', props);
413
- const subProps = {
414
- image: {
415
- // inherited props
416
- ...(0, utilities_1.defined)({
417
- disableStyles,
418
- }),
419
- // component theme overrides
420
- theme: props?.theme,
421
- treePath,
422
- },
423
- button: {
424
- disableStyles,
425
- theme: props.theme,
426
- treePath,
427
- },
428
- };
429
- const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
430
- const { messageType, sourceProduct } = chatItem;
431
- const product = controller?.store.productQuickview;
432
- const productQuickviewError = controller?.store.productQuickviewError;
433
- const chatMessages = controller?.store.currentChat?.chat || [];
434
- const sourceMessage = chatItem.sourceMessageId ? chatMessages.find((m) => m.id === chatItem.sourceMessageId) : null;
435
- const cameFromInspiration = sourceMessage?.messageType === 'inspirationResult';
436
- const cameFromComparison = sourceMessage?.messageType === 'productComparison';
437
- const variants = product?.variants;
438
- const selections = variants?.selections || [];
439
- // Ensure every selection has an initial value picked. Without this, entering
440
- // the quickview from inspiration leaves all selections empty, and the first
441
- // variant click can't narrow `refineSelections` to a single variant — so the
442
- // active variant (and hero image) doesn't update until a second selection is
443
- // made. Prefer the variant whose own id (uid) matches the clicked result's id
444
- // so the panel reflects exactly the variant the user clicked; fall back to the
445
- // first available value. Single-value selections also get hidden from the UI
446
- // (handled by `visibleSelections` below).
447
- (0, hooks_1.useEffect)(() => {
448
- if (messageType !== 'productQuery' || !product)
449
- return;
450
- const sourceId = sourceProduct?.id;
451
- const matchedVariant = sourceId != null ? variants?.data?.find((variant) => variant.mappings?.core?.uid === sourceId) : undefined;
452
- selections.forEach((selection) => {
453
- if (selection.selected)
454
- return;
455
- const matchedValue = matchedVariant?.options?.[selection.field]?.value;
456
- const target = (matchedValue != null && selection.values.find((v) => v.available && v.value == matchedValue)) ||
457
- selection.values.find((v) => v.available) ||
458
- selection.values[0];
459
- if (target) {
460
- selection.select(target.value);
461
- }
462
- });
463
- }, [selections]);
464
- // after all hooks — an override that resolves or fails mid-lifecycle must not
465
- // change the hook count between renders
466
- if (!shouldRenderDefault) {
467
- return overrideElement;
468
- }
469
- //initialize lang
470
- const defaultLang = {
471
- loadingText: {
472
- value: 'Loading product details...',
473
- },
474
- backToComparisonButton: {
475
- value: 'Back to comparison',
476
- attributes: {
477
- 'aria-label': 'Back to comparison',
478
- },
479
- },
480
- backToInspirationButton: {
481
- value: 'Back to inspiration',
482
- attributes: {
483
- 'aria-label': 'Back to inspiration',
484
- },
485
- },
486
- addToCartButton: {
487
- value: 'Add to Cart',
488
- },
489
- similarButton: {
490
- value: 'Similar',
491
- },
492
- discussButton: {
493
- value: 'Discuss',
494
- },
495
- inStockText: {
496
- value: 'In Stock',
497
- },
498
- outOfStockText: {
499
- value: 'Out of Stock',
500
- },
501
- unavailableText: {
502
- value: 'unavailable',
503
- },
504
- variantsGroup: {
505
- attributes: {
506
- 'aria-label': 'Variant selection',
507
- },
508
- },
509
- productInformationTable: {
510
- attributes: {
511
- 'aria-label': 'Product information',
512
- },
513
- },
514
- };
515
- //deep merge with props.lang
516
- const lang = (0, deepmerge_1.default)(defaultLang, props.lang || {});
517
- const mergedLang = (0, hooks_2.useLang)(lang, {
518
- controller,
519
- chatItem,
520
- }, { activeBreakpoint: globalTheme?.activeBreakpoint });
521
- if (messageType !== 'productQuery') {
522
- controller?.log?.warn('ChatProductQueryMessage received message with unsupported type:', messageType, 'Expected type: productQuery');
523
- return null;
524
- }
525
- if (!product) {
526
- return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message', className, internalClassName), ...styling, children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header'), children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product'), children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__details'), children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__details__name'), children: productQuickviewError || resolveLangValue(lang.loadingText) }) }) }) }) }) }));
527
- }
528
- const displayed = product.display;
529
- const displayedCore = displayed.mappings?.core || {};
530
- const visibleSelections = selections.filter((selection) => selection.values.length > 1);
531
- const displayedData = {
532
- mappings: displayed.mappings,
533
- attributes: displayed.attributes || {},
534
- };
535
- const allInfoRows = collectInfoRows(displayedData, { inStock: resolveLangValue(lang.inStockText), outOfStock: resolveLangValue(lang.outOfStockText) }, displayFields);
536
- const descriptionRow = allInfoRows.find((row) => row.rawKey.toLowerCase() === 'description');
537
- const infoRows = allInfoRows.filter((row) => row.rawKey.toLowerCase() !== 'description');
538
- const handleBack = () => {
539
- controller?.store.currentChat?.popProductQueryMessage(chatItem.sourceMessageId);
540
- controller?.store.clearProductQuickview();
541
- };
542
- const unavailableText = resolveLangValue(lang.unavailableText);
543
- return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message', className, internalClassName), ...styling, children: [(cameFromInspiration || cameFromComparison) && ((0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.button, internalClassName: (0, classnames_1.default)('ss__chat-product-query-message__header__back'), icon: { icon: 'angle-left', size: '14px' }, onClick: handleBack, lang: { button: cameFromComparison ? lang.backToComparisonButton : lang.backToInspirationButton } })), (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header'), children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product'), children: [(displayedCore.imageUrl || displayedCore.parentImageUrl) && ((0, jsx_runtime_1.jsx)(Image_1.Image, { ...subProps.image, className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__image'), src: (displayedCore.imageUrl || displayedCore.parentImageUrl), alt: displayedCore.name || '' })), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__details'), children: [displayedCore.name && ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__details__name'), children: displayedCore.url ? ((0, jsx_runtime_1.jsx)("a", { href: displayedCore.url, onClick: (e) => controller?.track.product.click(e, product), children: displayedCore.name })) : (displayedCore.name) })), displayedCore.price != null && ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__details__price'), children: [displayedCore.msrp != null && Number(displayedCore.msrp) > Number(displayedCore.price) && ((0, jsx_runtime_1.jsx)(Price_1.Price, { value: displayedCore.msrp, lineThrough: true })), (0, jsx_runtime_1.jsx)(Price_1.Price, { value: displayedCore.price })] })), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__actions'), children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__actions__add-to-cart'), children: (0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.button, icon: "cart", onClick: () => {
544
- controller?.track.product.addToCart(product);
545
- controller?.addToCart(product);
546
- }, lang: { button: lang.addToCartButton } }) }), controller?.store.features.similarProducts.enabled && ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__actions__show-similar'), children: (0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.button, icon: "search-thin", onClick: () => controller?.productSimilar(sourceProduct), lang: { button: lang.similarButton } }) })), (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__header__product__actions__discuss-product'), children: (0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.button, icon: "chat",
547
- // pass the quickview product (not sourceProduct) — its display is masked
548
- // to the active variant, so the attachment shows the selected variant
549
- onClick: () => controller?.productQuery(product), lang: { button: lang.discussButton } }) })] })] })] }) }), visibleSelections.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__variants'), role: "group", ...mergedLang.variantsGroup.attributes, children: visibleSelections.map((selection) => {
550
- // If every value in this selection shares the same thumbnail (or none have
551
- // one), the image carries no signal — show text only.
552
- const firstThumb = selection.values[0]?.thumbnailImageUrl;
553
- const allSameThumb = selection.values.every((v) => v.thumbnailImageUrl === firstThumb);
554
- const showThumbs = !allSameThumb;
555
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__variants__label'), id: `ss__chat-pq-variant-${selection.field}`, children: [formatLabel(selection.field), " (", selection.values.length, ")"] }), (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__variants__swatches'), role: "radiogroup", "aria-labelledby": `ss__chat-pq-variant-${selection.field}`, children: selection.values.map((selectionValue) => {
556
- const isUnavailable = !selectionValue.available;
557
- const isSelected = selection.selected?.value === selectionValue.value;
558
- return ((0, react_1.createElement)(Button_1.Button, { ...subProps.button, key: selectionValue.value, internalClassName: (0, classnames_1.default)('ss__chat-product-query-message__variants__swatch', {
559
- 'ss__chat-product-query-message__variants__swatch--selected': isSelected,
560
- 'ss__chat-product-query-message__variants__swatch--unavailable': isUnavailable,
561
- 'ss__chat-product-query-message__variants__swatch--text-only': !showThumbs,
562
- }), ...{ role: 'radio', 'aria-checked': isSelected }, disabled: isUnavailable, lang: {
563
- button: {
564
- attributes: {
565
- title: selectionValue.value,
566
- 'aria-label': `${formatLabel(selection.field)}: ${selectionValue.value}${isUnavailable ? ` (${unavailableText})` : ''}`,
567
- },
568
- },
569
- }, onClick: () => selection.select(selectionValue.value) },
570
- showThumbs && selectionValue.thumbnailImageUrl ? ((0, jsx_runtime_1.jsx)(Image_1.Image, { ...subProps.image, className: (0, classnames_1.default)('ss__chat-product-query-message__variants__swatch__image'), src: selectionValue.thumbnailImageUrl, alt: selectionValue.value })) : null,
571
- (0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('ss__chat-product-query-message__variants__swatch__value'), children: selectionValue.value })));
572
- }) })] }, selection.field));
573
- }) })), infoRows.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__section'), children: (0, jsx_runtime_1.jsx)("table", { className: (0, classnames_1.default)('ss__chat-product-query-message__section__table'), ...mergedLang.productInformationTable.attributes, children: (0, jsx_runtime_1.jsx)("tbody", { children: infoRows.map((row) => ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("th", { scope: "row", children: row.label }), (0, jsx_runtime_1.jsx)("td", { children: row.rawKey === 'availability' ? ((0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)({
574
- 'ss__chat-product-query-message__section__table__availability--in-stock': displayedCore.available,
575
- 'ss__chat-product-query-message__section__table__availability--out-of-stock': !displayedCore.available,
576
- }), children: displayedCore.available ? `✓ ${row.value}` : row.value })) : row.rawKey.toLowerCase() === 'price' ? ((0, jsx_runtime_1.jsxs)("span", { className: "ss__chat-product-query-message__section__table__price", children: [displayedCore.msrp != null && Number(displayedCore.msrp) > Number(row.value) && ((0, jsx_runtime_1.jsx)(Price_1.Price, { value: Number(displayedCore.msrp), lineThrough: true })), (0, jsx_runtime_1.jsx)(Price_1.Price, { value: Number(row.value) })] })) : (row.value) })] }, row.key))) }) }) })), descriptionRow && (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-product-query-message__description'), children: descriptionRow.value })] }) }));
577
- });
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ChatProductQueryMessage"), exports);