@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,43 +0,0 @@
1
- import type { RefObject } from 'preact';
2
- export type UseChatOverflowOptions = {
3
- messagesContainerRef: RefObject<HTMLDivElement>;
4
- headerRef: RefObject<HTMLDivElement>;
5
- /**
6
- * Whether the chat panel is open. State resets on toggle.
7
- */
8
- open: boolean;
9
- /**
10
- * Whether the controller is currently loading. Triggers a scroll-to-bottom when it flips on.
11
- */
12
- loading: boolean;
13
- /**
14
- * Length of the visible chat. Drives the new-message popup + auto-scroll behavior.
15
- */
16
- visibleChatLength: number;
17
- /**
18
- * The last visible message — needed to differentiate auto-scroll for user vs assistant messages.
19
- */
20
- lastVisibleMessage: {
21
- messageType?: string;
22
- } | undefined;
23
- };
24
- export type UseChatOverflowResult = {
25
- /** True when there are messages off-screen below the current scroll position. */
26
- showNewMessages: boolean;
27
- /** Imperative dismiss for the "New messages" popup. */
28
- setShowNewMessages: (value: boolean) => void;
29
- /** True when the messages container is overflowing (used to switch comparison tray between in-flow and overlay). */
30
- messagesOverflow: boolean;
31
- /** Live ref tracking whether the user is currently near the bottom. */
32
- /** Imperatively scroll the messages container to the bottom (smooth). */
33
- scrollToBottom: () => void;
34
- /** Conditional scroll: only scrolls if the user is already near the bottom. */
35
- scrollToBottomIfNear: () => void;
36
- };
37
- /**
38
- * Manages the auto-scroll, "new message" indicator, and overflow detection for the
39
- * chat message list. Owns all scroll listeners and ResizeObservers so the host
40
- * component just consumes the derived state.
41
- */
42
- export declare const useChatOverflow: ({ messagesContainerRef, headerRef, open, loading, visibleChatLength, lastVisibleMessage, }: UseChatOverflowOptions) => UseChatOverflowResult;
43
- //# sourceMappingURL=useChatOverflow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useChatOverflow.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/components/Organisms/Chat/hooks/useChatOverflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACpC,oBAAoB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAChD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,kBAAkB,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,iFAAiF;IACjF,eAAe,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,oHAAoH;IACpH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,yEAAyE;IACzE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,+FAOzB,sBAAsB,KAAG,qBAwG3B,CAAC"}
@@ -1,109 +0,0 @@
1
- import { useEffect, useRef, useState } from 'preact/hooks';
2
- /**
3
- * Manages the auto-scroll, "new message" indicator, and overflow detection for the
4
- * chat message list. Owns all scroll listeners and ResizeObservers so the host
5
- * component just consumes the derived state.
6
- */
7
- export const useChatOverflow = ({ messagesContainerRef, headerRef, open, loading, visibleChatLength, lastVisibleMessage, }) => {
8
- const [showNewMessages, setShowNewMessages] = useState(false);
9
- const [messagesOverflow, setMessagesOverflow] = useState(false);
10
- const isNearBottomRef = useRef(true);
11
- const scrollToBottom = () => {
12
- // Scroll the messages container directly (instead of scrollIntoView on the
13
- // bottom anchor) so the browser never walks up the ancestor chain. On small
14
- // viewports a smooth scrollIntoView could otherwise animate the document /
15
- // visual viewport and visually push the fixed-position chat off-screen.
16
- const container = messagesContainerRef.current;
17
- if (container) {
18
- container.scrollTo({ top: container.scrollHeight, behavior: 'smooth' });
19
- }
20
- };
21
- // Conditional scroll: only scrolls if the user is already near the bottom.
22
- const scrollToBottomIfNear = () => {
23
- if (isNearBottomRef.current) {
24
- scrollToBottom();
25
- }
26
- };
27
- // Scroll to bottom when chat opens
28
- useEffect(() => {
29
- if (open) {
30
- scrollToBottom();
31
- setShowNewMessages(false);
32
- isNearBottomRef.current = true;
33
- }
34
- }, [open]);
35
- // Handle new messages — auto-scroll for user messages, show popup for response messages when scrolled up
36
- useEffect(() => {
37
- if (!open || !lastVisibleMessage)
38
- return;
39
- if (lastVisibleMessage.messageType === 'user') {
40
- scrollToBottom();
41
- setShowNewMessages(false);
42
- }
43
- else if (isNearBottomRef.current) {
44
- scrollToBottom();
45
- setShowNewMessages(false);
46
- }
47
- else {
48
- setShowNewMessages(true);
49
- }
50
- }, [visibleChatLength]);
51
- // Scroll to show loading indicator when user sends a message
52
- useEffect(() => {
53
- if (open && loading) {
54
- scrollToBottom();
55
- }
56
- }, [loading]);
57
- // Track scroll position to dismiss the "New messages" popup when user scrolls to bottom
58
- useEffect(() => {
59
- const container = messagesContainerRef.current;
60
- if (!container)
61
- return;
62
- const handleScroll = () => {
63
- const threshold = 100;
64
- const isNearBottom = container.scrollHeight - container.scrollTop - container.clientHeight < threshold;
65
- isNearBottomRef.current = isNearBottom;
66
- if (isNearBottom) {
67
- setShowNewMessages(false);
68
- }
69
- };
70
- container.addEventListener('scroll', handleScroll);
71
- return () => container.removeEventListener('scroll', handleScroll);
72
- }, [open]);
73
- // Track whether the messages container is overflowing so the comparisons header
74
- // can switch between in-flow (short conversations — top content stays reachable)
75
- // and overlay (overflowing — avoid layout shift when toggling the tray).
76
- // Hysteresis: when already in overlay, only return to in-flow if the content
77
- // would still fit *with* the header re-inserted — otherwise the two states
78
- // fight each other and the layout flickers.
79
- useEffect(() => {
80
- const container = messagesContainerRef.current;
81
- if (!container || typeof ResizeObserver === 'undefined')
82
- return;
83
- const update = () => {
84
- setMessagesOverflow((prev) => {
85
- const headerHeight = headerRef.current?.offsetHeight || 0;
86
- if (prev) {
87
- // Currently overlay: header isn't taking flow space. Only switch
88
- // back to in-flow if the content would fit with the header added.
89
- return container.scrollHeight > container.clientHeight - headerHeight + 1;
90
- }
91
- // Currently in-flow: header already takes space — straightforward check.
92
- return container.scrollHeight > container.clientHeight + 1;
93
- });
94
- };
95
- update();
96
- const observer = new ResizeObserver(update);
97
- observer.observe(container);
98
- if (headerRef.current)
99
- observer.observe(headerRef.current);
100
- return () => observer.disconnect();
101
- }, [open, visibleChatLength]);
102
- return {
103
- showNewMessages,
104
- setShowNewMessages,
105
- messagesOverflow,
106
- scrollToBottom,
107
- scrollToBottomIfNear,
108
- };
109
- };
@@ -1,26 +0,0 @@
1
- import type { RefObject } from 'preact';
2
- export type UseChatScrollLockOptions = {
3
- /** Whether the chat panel is open — the lock is only active while open. */
4
- open: boolean;
5
- /** Ref to the chat root element — touches outside it are always blocked. */
6
- chatRef: RefObject<HTMLDivElement>;
7
- };
8
- /**
9
- * Prevents the background page from scrolling while the chat is open.
10
- *
11
- * Locks body overflow for wheel/keyboard scrolling, and installs a `touchmove`
12
- * handler for touch devices. iOS Safari (real iPad/iPhone) rubber-band-scrolls
13
- * the body when a touchmove inside `.ss__chat__messages` reaches the top/bottom —
14
- * and `overscroll-behavior: contain` is ignored there.
15
- *
16
- * We don't reposition the body (locking via `position: fixed` on `<body>` leaves
17
- * iPad Safari in a stuck viewport state where the page can't scroll after the
18
- * lock is released). Instead the `touchmove` handler:
19
- * - allows the touchmove if it's inside a scrollable region of the chat
20
- * and that region isn't at its scroll edge in the swipe direction;
21
- * - calls `preventDefault()` otherwise — which is what blocks both
22
- * background scrolling and iOS rubber-band overscroll.
23
- * Cleanup just removes the listeners, so nothing can leak into the page.
24
- */
25
- export declare const useChatScrollLock: ({ open, chatRef }: UseChatScrollLockOptions) => void;
26
- //# sourceMappingURL=useChatScrollLock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useChatScrollLock.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/components/Organisms/Chat/hooks/useChatScrollLock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,wBAAwB,GAAG;IACtC,2EAA2E;IAC3E,IAAI,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,sBAAuB,wBAAwB,KAAG,IAyG/E,CAAC"}
@@ -1,131 +0,0 @@
1
- import { useEffect } from 'preact/hooks';
2
- /**
3
- * Prevents the background page from scrolling while the chat is open.
4
- *
5
- * Locks body overflow for wheel/keyboard scrolling, and installs a `touchmove`
6
- * handler for touch devices. iOS Safari (real iPad/iPhone) rubber-band-scrolls
7
- * the body when a touchmove inside `.ss__chat__messages` reaches the top/bottom —
8
- * and `overscroll-behavior: contain` is ignored there.
9
- *
10
- * We don't reposition the body (locking via `position: fixed` on `<body>` leaves
11
- * iPad Safari in a stuck viewport state where the page can't scroll after the
12
- * lock is released). Instead the `touchmove` handler:
13
- * - allows the touchmove if it's inside a scrollable region of the chat
14
- * and that region isn't at its scroll edge in the swipe direction;
15
- * - calls `preventDefault()` otherwise — which is what blocks both
16
- * background scrolling and iOS rubber-band overscroll.
17
- * Cleanup just removes the listeners, so nothing can leak into the page.
18
- */
19
- export const useChatScrollLock = ({ open, chatRef }) => {
20
- // Lock body scroll while chat is open so touch/wheel scrolls don't leak to the page behind
21
- useEffect(() => {
22
- if (!open)
23
- return;
24
- const body = document.body;
25
- const previousOverflow = body.style.overflow;
26
- const previousOverscroll = body.style.overscrollBehavior;
27
- body.style.overflow = 'hidden';
28
- body.style.overscrollBehavior = 'contain';
29
- return () => {
30
- body.style.overflow = previousOverflow;
31
- body.style.overscrollBehavior = previousOverscroll;
32
- };
33
- }, [open]);
34
- useEffect(() => {
35
- if (!open)
36
- return;
37
- if (typeof document === 'undefined')
38
- return;
39
- let startX = 0;
40
- let startY = 0;
41
- let scrollEl = null;
42
- // Walk up from the touch target to find the first ancestor inside the chat
43
- // that is actually scrollable in either axis. Stop at the chat root so we
44
- // never consider elements outside the chat.
45
- const findScrollableInChat = (start) => {
46
- const chatRoot = chatRef.current;
47
- if (!chatRoot)
48
- return null;
49
- let el = start;
50
- while (el && chatRoot.contains(el)) {
51
- const style = getComputedStyle(el);
52
- const scrollableY = (style.overflowY === 'auto' || style.overflowY === 'scroll') && el.scrollHeight > el.clientHeight;
53
- const scrollableX = (style.overflowX === 'auto' || style.overflowX === 'scroll') && el.scrollWidth > el.clientWidth;
54
- if (scrollableY || scrollableX) {
55
- return el;
56
- }
57
- if (el === chatRoot)
58
- break;
59
- el = el.parentElement;
60
- }
61
- return null;
62
- };
63
- const onTouchStart = (e) => {
64
- if (!e.touches[0])
65
- return;
66
- startX = e.touches[0].clientX;
67
- startY = e.touches[0].clientY;
68
- scrollEl = findScrollableInChat(e.target);
69
- };
70
- const onTouchMove = (e) => {
71
- const target = e.target;
72
- const chatRoot = chatRef.current;
73
- const inChat = !!(chatRoot && target && chatRoot.contains(target));
74
- // Touches outside the chat shouldn't scroll the background.
75
- if (!inChat) {
76
- if (e.cancelable)
77
- e.preventDefault();
78
- return;
79
- }
80
- // Inside the chat but no scrollable container — block to prevent body scroll.
81
- if (!scrollEl) {
82
- if (e.cancelable)
83
- e.preventDefault();
84
- return;
85
- }
86
- // Inside a scrollable container — only block when at the edge in the
87
- // swipe direction, so internal scrolling continues to work. Detect the
88
- // dominant axis so horizontally-scrollable rows (e.g. the facets row)
89
- // also get to handle their own touch gestures.
90
- const currentX = e.touches[0]?.clientX ?? startX;
91
- const currentY = e.touches[0]?.clientY ?? startY;
92
- const deltaX = currentX - startX;
93
- const deltaY = currentY - startY;
94
- const horizontal = Math.abs(deltaX) > Math.abs(deltaY);
95
- if (horizontal) {
96
- const scrollsX = scrollEl.scrollWidth > scrollEl.clientWidth;
97
- if (!scrollsX) {
98
- if (e.cancelable)
99
- e.preventDefault();
100
- return;
101
- }
102
- const atLeft = scrollEl.scrollLeft <= 0;
103
- const atRight = scrollEl.scrollLeft + scrollEl.clientWidth >= scrollEl.scrollWidth - 1;
104
- if ((atLeft && deltaX > 0) || (atRight && deltaX < 0)) {
105
- if (e.cancelable)
106
- e.preventDefault();
107
- }
108
- }
109
- else {
110
- const scrollsY = scrollEl.scrollHeight > scrollEl.clientHeight;
111
- if (!scrollsY) {
112
- if (e.cancelable)
113
- e.preventDefault();
114
- return;
115
- }
116
- const atTop = scrollEl.scrollTop <= 0;
117
- const atBottom = scrollEl.scrollTop + scrollEl.clientHeight >= scrollEl.scrollHeight - 1;
118
- if ((atTop && deltaY > 0) || (atBottom && deltaY < 0)) {
119
- if (e.cancelable)
120
- e.preventDefault();
121
- }
122
- }
123
- };
124
- document.addEventListener('touchstart', onTouchStart, { passive: true });
125
- document.addEventListener('touchmove', onTouchMove, { passive: false });
126
- return () => {
127
- document.removeEventListener('touchstart', onTouchStart);
128
- document.removeEventListener('touchmove', onTouchMove);
129
- };
130
- }, [open]);
131
- };
@@ -1,3 +0,0 @@
1
- export * from './Chat';
2
- export * from './Chat.lang';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './Chat';
2
- export * from './Chat.lang';
@@ -1,18 +0,0 @@
1
- import { h, ComponentChildren } from 'preact';
2
- import type { ChatController } from '@athoscommerce/snap-controller';
3
- import { ComponentProps } from '../../../types';
4
- import { IconProps, IconType } from '../../Atoms/Icon';
5
- import { ChatButtonLang } from './ChatButton.lang';
6
- export declare const ChatButtonOrganism: ((properties: ChatButtonOrganismProps) => import("@emotion/react/jsx-runtime").JSX.Element | h.JSX.Element | null) & {
7
- displayName: string;
8
- };
9
- export type ChatButtonOrganismProps = {
10
- controller: ChatController;
11
- lang?: Partial<ChatButtonLang>;
12
- content?: string | JSX.Element;
13
- } & ChatButtonTemplatesLegalProps & ComponentProps<ChatButtonOrganismProps>;
14
- export type ChatButtonTemplatesLegalProps = {
15
- icon?: IconType | Partial<IconProps> | boolean;
16
- children?: ComponentChildren;
17
- };
18
- //# sourceMappingURL=ChatButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatButton.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAQ9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAyC1E,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CA0E7E,CAAC;AAMH,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC/B,GAAG,6BAA6B,GAChC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,MAAM,6BAA6B,GAAG;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC"}
@@ -1,88 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { useRef, useEffect } from 'preact/hooks';
3
- import { css } from '@emotion/react';
4
- import classnames from 'classnames';
5
- import deepmerge from 'deepmerge';
6
- import { observer } from 'mobx-react-lite';
7
- import { useTheme, CacheProvider, useTreePath } from '../../../providers';
8
- import { cloneWithProps, defined, mergeProps, mergeStyles } from '../../../utilities';
9
- import { useCustomComponentOverride } from '../../../hooks';
10
- import { Button } from '../../Atoms/Button';
11
- import { langAttrOf } from '../Chat/Chat.lang';
12
- import { chatButtonDefaultLang } from './ChatButton.lang';
13
- const defaultStyles = ({ theme }) => {
14
- // primary may be 'currentColor' (base theme) — background stays fixed so the
15
- // pill remains legible wherever it inherits its color from
16
- const color = theme?.variables?.colors?.primary || '#333';
17
- return css({
18
- display: 'inline-flex',
19
- alignItems: 'center',
20
- justifyContent: 'center',
21
- gap: '8px',
22
- padding: '8px 16px',
23
- background: '#fff',
24
- color: color,
25
- border: `1px solid ${color}`,
26
- borderRadius: '24px',
27
- fontSize: '14px',
28
- fontWeight: 600,
29
- lineHeight: 1.2,
30
- cursor: 'pointer',
31
- transition: 'box-shadow 0.15s ease',
32
- '&:hover': {
33
- boxShadow: '0 2px 6px rgba(0, 0, 0, 0.15)',
34
- },
35
- '&:focus-visible': {
36
- outline: '2px solid currentColor',
37
- outlineOffset: '2px',
38
- },
39
- // native Button always renders its content span — collapse it when empty
40
- // so the flex gap doesn't offset icon-only buttons
41
- '.ss__button__content:empty': {
42
- display: 'none',
43
- },
44
- '.ss__icon': {
45
- fill: 'currentColor',
46
- stroke: 'currentColor',
47
- },
48
- });
49
- };
50
- export const ChatButtonOrganism = observer((properties) => {
51
- const globalTheme = useTheme();
52
- const globalTreePath = useTreePath();
53
- const defaultProps = {
54
- icon: 'chat',
55
- treePath: globalTreePath,
56
- };
57
- const props = mergeProps('chatButton', globalTheme, defaultProps, properties);
58
- const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('chatButton', props);
59
- const { className, internalClassName, controller, content, children, icon, disableStyles, treePath } = props;
60
- const { store } = controller;
61
- // Register with the store so the Chat organism hides its built-in bubble while
62
- // an external launcher is mounted. Runs before any early return (hooks-order safe).
63
- useEffect(() => store.registerLauncher(), [store]);
64
- // Same visibility rule as the Chat organism: hidden when disabled at bootstrap,
65
- // but kept mounted when chat becomes disabled mid-session.
66
- const wasVisibleRef = useRef(false);
67
- if (!store.chatEnabled && !wasVisibleRef.current) {
68
- return _jsx(_Fragment, {});
69
- }
70
- wasVisibleRef.current = true;
71
- if (!shouldRenderDefault) {
72
- return overrideElement;
73
- }
74
- const subProps = {
75
- button: {
76
- // inherited props
77
- ...defined({
78
- disableStyles,
79
- }),
80
- // component theme overrides
81
- theme: props?.theme,
82
- treePath,
83
- },
84
- };
85
- const styling = mergeStyles(props, defaultStyles);
86
- const lang = deepmerge(chatButtonDefaultLang, props.lang || {});
87
- return (_jsx(CacheProvider, { children: _jsx(Button, { ...styling, ...subProps.button, native: true, type: "button", className: classnames('ss__chat-button', { 'ss__chat-button--open': store.open }, className, internalClassName), "aria-label": store.open ? langAttrOf(lang.closeChatButton, 'aria-label') : langAttrOf(lang.openChatButton, 'aria-label'), title: store.open ? langAttrOf(lang.closeChatButton, 'title') : langAttrOf(lang.openChatButton, 'title'), "aria-expanded": store.open, onClick: () => controller.handlers.button.click(), content: content || children ? (_jsxs("span", { className: "ss__chat-button__content", children: [cloneWithProps(content, { treePath }), cloneWithProps(children, { treePath })] })) : undefined, icon: icon && { internalClassName: 'ss__chat-button__icon', ...(typeof icon == 'string' ? { icon: icon } : typeof icon == 'object' ? icon : {}) } }) }));
88
- });
@@ -1,7 +0,0 @@
1
- import { Lang } from '../../../hooks';
2
- export interface ChatButtonLang {
3
- openChatButton: Lang<never>;
4
- closeChatButton: Lang<never>;
5
- }
6
- export declare const chatButtonDefaultLang: Partial<ChatButtonLang>;
7
- //# sourceMappingURL=ChatButton.lang.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatButton.lang.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/ChatButton.lang.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAOzD,CAAC"}
@@ -1,8 +0,0 @@
1
- export const chatButtonDefaultLang = {
2
- openChatButton: {
3
- attributes: { 'aria-label': 'Open chat', title: 'Open Chat' },
4
- },
5
- closeChatButton: {
6
- attributes: { 'aria-label': 'Close chat', title: 'Close Chat' },
7
- },
8
- };
@@ -1,3 +0,0 @@
1
- export * from './ChatButton';
2
- export * from './ChatButton.lang';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './ChatButton';
2
- export * from './ChatButton.lang';
@@ -1,12 +0,0 @@
1
- import { ComponentProps } from '../../../types';
2
- import { ChatTemplatesLegalProps, ChatLang } from '../../Organisms/Chat';
3
- import type { ChatController } from '@athoscommerce/snap-controller';
4
- export declare const Chat: ((properties: ChatProps) => JSX.Element) & {
5
- displayName: string;
6
- };
7
- export type ChatProps = {
8
- controller: ChatController;
9
- lang?: Partial<ChatLang>;
10
- } & ChatTemplatesLegalProps & ComponentProps<ChatProps>;
11
- export type { ChatTemplatesLegalProps, ChatLang };
12
- //# sourceMappingURL=Chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Chat/Chat.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAmC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAUrE,eAAO,MAAM,IAAI,gBAAyB,SAAS,KAAG,GAAG,CAAC,OAAO;;CAuC/D,CAAC;AAMH,MAAM,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzB,GAAG,uBAAuB,GAC1B,cAAc,CAAC,SAAS,CAAC,CAAC;AAE3B,YAAY,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,41 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { css } from '@emotion/react';
3
- import classnames from 'classnames';
4
- import { observer } from 'mobx-react-lite';
5
- import { useTheme, CacheProvider, useTreePath } from '../../../providers';
6
- import { defined, mergeProps, mergeStyles } from '../../../utilities';
7
- import { ChatOrganism } from '../../Organisms/Chat';
8
- const defaultStyles = () => {
9
- // The template itself is layout-free — the underlying Chat organism handles
10
- // fixed positioning and sizing. The wrapper exists purely so theme overrides
11
- // flow through mergeProps('chat', ...) and so the Chat surface can be themed
12
- // per-template like Search and Recommendation.
13
- return css({});
14
- };
15
- export const Chat = observer((properties) => {
16
- const globalTheme = useTheme();
17
- const globalTreePath = useTreePath();
18
- const defaultProps = {
19
- treePath: globalTreePath,
20
- };
21
- const props = mergeProps('chat', globalTheme, defaultProps, properties);
22
- const { className, internalClassName, controller, disableStyles, treePath } = props;
23
- const subProps = {
24
- Chat: {
25
- // inherited props
26
- ...defined({
27
- disableStyles,
28
- }),
29
- // component theme overrides
30
- theme: props.theme,
31
- treePath,
32
- },
33
- };
34
- const styling = mergeStyles(props, defaultStyles);
35
- // className/internalClassName stay on the template wrapper only — spreading them
36
- // into the organism would duplicate user classes on two DOM levels
37
- // treePath is omitted too — the organism calls mergeProps('chat') itself, and passing
38
- // this one down would append a second 'chat' segment (ss-path="chat chat")
39
- const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
40
- return (_jsx(CacheProvider, { children: _jsx("div", { ...styling, className: classnames('ss__chat-template', className, internalClassName), children: _jsx(ChatOrganism, { ...subProps.Chat, ...organismProps, controller: controller }) }) }));
41
- });
@@ -1,2 +0,0 @@
1
- export * from './Chat';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- export * from './Chat';
@@ -1,13 +0,0 @@
1
- import { ComponentProps } from '../../../types';
2
- import { ChatButtonTemplatesLegalProps, ChatButtonLang } from '../../Organisms/ChatButton';
3
- import type { ChatController } from '@athoscommerce/snap-controller';
4
- export declare const ChatButton: ((properties: ChatButtonProps) => JSX.Element) & {
5
- displayName: string;
6
- };
7
- export type ChatButtonProps = {
8
- controller: ChatController;
9
- lang?: Partial<ChatButtonLang>;
10
- content?: string | JSX.Element;
11
- } & ChatButtonTemplatesLegalProps & ComponentProps<ChatButtonProps>;
12
- export type { ChatButtonTemplatesLegalProps, ChatButtonLang };
13
- //# sourceMappingURL=ChatButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatButton.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAA+C,6BAA6B,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACxI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAUrE,eAAO,MAAM,UAAU,gBAAyB,eAAe,KAAG,GAAG,CAAC,OAAO;;CAuC3E,CAAC;AAMH,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC/B,GAAG,6BAA6B,GAChC,cAAc,CAAC,eAAe,CAAC,CAAC;AAEjC,YAAY,EAAE,6BAA6B,EAAE,cAAc,EAAE,CAAC"}
@@ -1,41 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { css } from '@emotion/react';
3
- import classnames from 'classnames';
4
- import { observer } from 'mobx-react-lite';
5
- import { useTheme, CacheProvider, useTreePath } from '../../../providers';
6
- import { defined, mergeProps, mergeStyles } from '../../../utilities';
7
- import { ChatButtonOrganism } from '../../Organisms/ChatButton';
8
- const defaultStyles = () => {
9
- // inline-block so the wrapper flows alongside its siblings when injected into
10
- // merchant chrome (e.g. a nav); all button styling lives in the organism
11
- return css({
12
- display: 'inline-block',
13
- });
14
- };
15
- export const ChatButton = observer((properties) => {
16
- const globalTheme = useTheme();
17
- const globalTreePath = useTreePath();
18
- const defaultProps = {
19
- treePath: globalTreePath,
20
- };
21
- const props = mergeProps('chatButton', globalTheme, defaultProps, properties);
22
- const { className, internalClassName, controller, disableStyles, treePath } = props;
23
- const subProps = {
24
- ChatButton: {
25
- // inherited props
26
- ...defined({
27
- disableStyles,
28
- }),
29
- // component theme overrides
30
- theme: props.theme,
31
- treePath,
32
- },
33
- };
34
- const styling = mergeStyles(props, defaultStyles);
35
- // className/internalClassName stay on the template wrapper only — spreading them
36
- // into the organism would duplicate user classes on two DOM levels
37
- // treePath is omitted too — the organism calls mergeProps('chatButton') itself, and passing
38
- // this one down would append a second 'chatButton' segment
39
- const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
40
- return (_jsx(CacheProvider, { children: _jsx("div", { ...styling, className: classnames('ss__chat-button-template', className, internalClassName), children: _jsx(ChatButtonOrganism, { ...subProps.ChatButton, ...organismProps, controller: controller }) }) }));
41
- });
@@ -1,2 +0,0 @@
1
- export * from './ChatButton';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/ChatButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- export * from './ChatButton';
@@ -1,4 +0,0 @@
1
- import type { ChatProps, ChatTemplatesLegalProps } from '../../../../components/Templates/Chat';
2
- import { ThemeComponent } from '../../../../providers';
3
- export declare const chat: ThemeComponent<'chat', ChatProps, ChatTemplatesLegalProps>;
4
- //# sourceMappingURL=chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/themes/base/components/templates/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,uBAAuB,CAA2B,CAAC"}
@@ -1,3 +0,0 @@
1
- import { chatThemeComponentProps } from '../../../themeComponents/chat';
2
- // Chat component props come from Template export
3
- export const chat = chatThemeComponentProps;