@athoscommerce/snap-preact 1.13.2 → 1.13.3-beta.187

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 (403) hide show
  1. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +99 -0
  2. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +17 -0
  3. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +56 -11
  4. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +13 -0
  5. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +221 -0
  6. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +17 -0
  7. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +211 -0
  8. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +17 -0
  9. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +259 -0
  10. package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +17 -0
  11. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +286 -0
  12. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +17 -0
  13. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +174 -0
  14. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +17 -0
  15. package/dist/cjs/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +514 -0
  16. package/dist/cjs/components/src/components/Molecules/ChatQuickview/index.js +17 -0
  17. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +252 -0
  18. package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +17 -0
  19. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +113 -0
  20. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +17 -0
  21. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +107 -0
  22. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +17 -0
  23. package/dist/cjs/components/src/components/Molecules/Result/Result.js +51 -4
  24. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  25. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +24 -28
  26. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
  27. package/dist/cjs/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
  28. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
  29. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +628 -0
  30. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +110 -0
  31. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +105 -0
  32. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +161 -0
  33. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +166 -0
  34. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +369 -0
  35. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +130 -0
  36. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +218 -0
  37. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +123 -0
  38. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +173 -0
  39. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +149 -0
  40. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +62 -0
  41. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +66 -0
  42. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +96 -0
  43. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +113 -0
  44. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +135 -0
  45. package/dist/cjs/components/src/components/Organisms/Chat/index.js +18 -0
  46. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +94 -0
  47. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +11 -0
  48. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +18 -0
  49. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
  50. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  51. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
  52. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
  53. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
  54. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +47 -0
  55. package/dist/cjs/components/src/components/Templates/Chat/index.js +17 -0
  56. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +47 -0
  57. package/dist/cjs/components/src/components/Templates/ChatButton/index.js +17 -0
  58. package/dist/cjs/components/src/components/Templates/Search/Search.js +9 -1
  59. package/dist/cjs/components/src/index.js +17 -1
  60. package/dist/cjs/components/src/providers/themeComponents.js +20 -0
  61. package/dist/cjs/components/src/themes/base/components/templates/chat.js +6 -0
  62. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +6 -0
  63. package/dist/cjs/components/src/themes/base/components/templates/index.js +10 -0
  64. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +6 -0
  65. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +6 -0
  66. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +10 -0
  67. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +6 -0
  68. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +6 -0
  69. package/dist/cjs/components/src/themes/pike/components/templates/index.js +10 -0
  70. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +6 -0
  71. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +6 -0
  72. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +10 -0
  73. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +6 -0
  74. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +6 -0
  75. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +10 -0
  76. package/dist/cjs/components/src/themes/themeComponents/chat.js +14 -0
  77. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +9 -0
  78. package/dist/cjs/components/src/utilities/Colour/Colour.js +41 -0
  79. package/dist/cjs/components/src/utilities/snapify.js +27 -0
  80. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +4 -1
  81. package/dist/cjs/src/Snap.js +83 -1
  82. package/dist/cjs/src/Templates/SnapTemplates.js +55 -5
  83. package/dist/cjs/src/Templates/Stores/LibraryStore.js +51 -1
  84. package/dist/cjs/src/Templates/Stores/TemplateStore.js +3 -3
  85. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +5 -0
  86. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +5 -0
  87. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +485 -0
  88. package/dist/cjs/src/Templates/Stores/library/languages/de.js +485 -0
  89. package/dist/cjs/src/Templates/Stores/library/languages/es.js +490 -0
  90. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +490 -0
  91. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +485 -0
  92. package/dist/cjs/src/Templates/Stores/library/languages/it.js +485 -0
  93. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +485 -0
  94. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +485 -0
  95. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +485 -0
  96. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +485 -0
  97. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +485 -0
  98. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +485 -0
  99. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +485 -0
  100. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +485 -0
  101. package/dist/cjs/src/create/createChatController.js +31 -0
  102. package/dist/cjs/src/create/index.js +3 -1
  103. package/dist/cjs/src/setupEvents.js +44 -0
  104. package/dist/cjs/src/utils/applyChatTargetInject.js +25 -0
  105. package/dist/cjs/src/utils/index.js +3 -1
  106. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +3 -1
  107. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  108. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +17 -0
  109. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +1 -0
  110. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +92 -0
  111. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +2 -0
  112. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +1 -0
  113. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +1 -0
  114. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +6 -1
  115. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  116. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +57 -12
  117. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +13 -0
  118. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  119. package/dist/esm/components/src/components/Atoms/Icon/paths.js +13 -0
  120. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +37 -0
  121. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +1 -0
  122. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +215 -0
  123. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +2 -0
  124. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +1 -0
  125. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +1 -0
  126. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +30 -0
  127. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -0
  128. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +205 -0
  129. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +2 -0
  130. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +1 -0
  131. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +1 -0
  132. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +36 -0
  133. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +1 -0
  134. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +253 -0
  135. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +2 -0
  136. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +1 -0
  137. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +1 -0
  138. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +52 -0
  139. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +1 -0
  140. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +280 -0
  141. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +2 -0
  142. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +1 -0
  143. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +1 -0
  144. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +25 -0
  145. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +1 -0
  146. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +168 -0
  147. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +2 -0
  148. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +1 -0
  149. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +1 -0
  150. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts +30 -0
  151. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts.map +1 -0
  152. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +508 -0
  153. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts +2 -0
  154. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts.map +1 -0
  155. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.js +1 -0
  156. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +35 -0
  157. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +1 -0
  158. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +246 -0
  159. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +2 -0
  160. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +1 -0
  161. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +1 -0
  162. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +24 -0
  163. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +1 -0
  164. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +107 -0
  165. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +2 -0
  166. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +1 -0
  167. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +1 -0
  168. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +16 -0
  169. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +1 -0
  170. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +101 -0
  171. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +2 -0
  172. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +1 -0
  173. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +1 -0
  174. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  175. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  176. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +7 -3
  177. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  178. package/dist/esm/components/src/components/Molecules/Result/Result.js +51 -4
  179. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +3 -0
  180. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  181. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  182. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  183. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +25 -29
  184. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  185. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
  186. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.d.ts.map +1 -1
  187. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
  188. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  189. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
  190. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +41 -0
  191. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -0
  192. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +622 -0
  193. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +79 -0
  194. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +1 -0
  195. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +105 -0
  196. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +26 -0
  197. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +1 -0
  198. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +99 -0
  199. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +13 -0
  200. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +1 -0
  201. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +155 -0
  202. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +19 -0
  203. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +1 -0
  204. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +160 -0
  205. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +18 -0
  206. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +1 -0
  207. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +363 -0
  208. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +11 -0
  209. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +1 -0
  210. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +124 -0
  211. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +30 -0
  212. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +1 -0
  213. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +212 -0
  214. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +13 -0
  215. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +1 -0
  216. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +117 -0
  217. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +19 -0
  218. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +1 -0
  219. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +167 -0
  220. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +14 -0
  221. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +1 -0
  222. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +143 -0
  223. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +15 -0
  224. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +1 -0
  225. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +58 -0
  226. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +32 -0
  227. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +1 -0
  228. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +62 -0
  229. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +40 -0
  230. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +1 -0
  231. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +92 -0
  232. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +43 -0
  233. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +1 -0
  234. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +109 -0
  235. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +26 -0
  236. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +1 -0
  237. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +131 -0
  238. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +3 -0
  239. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +1 -0
  240. package/dist/esm/components/src/components/Organisms/Chat/index.js +2 -0
  241. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +18 -0
  242. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +1 -0
  243. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +88 -0
  244. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +7 -0
  245. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +1 -0
  246. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +8 -0
  247. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +3 -0
  248. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +1 -0
  249. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +2 -0
  250. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +5 -1
  251. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
  252. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
  253. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  254. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  255. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
  256. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  257. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
  258. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  259. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
  260. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +12 -0
  261. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +1 -0
  262. package/dist/esm/components/src/components/Templates/Chat/Chat.js +41 -0
  263. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +2 -0
  264. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +1 -0
  265. package/dist/esm/components/src/components/Templates/Chat/index.js +1 -0
  266. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +13 -0
  267. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +1 -0
  268. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +41 -0
  269. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +2 -0
  270. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +1 -0
  271. package/dist/esm/components/src/components/Templates/ChatButton/index.js +1 -0
  272. package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
  273. package/dist/esm/components/src/components/Templates/Search/Search.js +9 -1
  274. package/dist/esm/components/src/index.d.ts +14 -0
  275. package/dist/esm/components/src/index.d.ts.map +1 -1
  276. package/dist/esm/components/src/index.js +14 -0
  277. package/dist/esm/components/src/providers/langComponents.d.ts +20 -0
  278. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  279. package/dist/esm/components/src/providers/themeComponents.d.ts +203 -1
  280. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  281. package/dist/esm/components/src/providers/themeComponents.js +20 -0
  282. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  283. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  284. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +4 -0
  285. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +1 -0
  286. package/dist/esm/components/src/themes/base/components/templates/chat.js +3 -0
  287. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +4 -0
  288. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +1 -0
  289. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +3 -0
  290. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  291. package/dist/esm/components/src/themes/base/components/templates/index.js +10 -0
  292. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +4 -0
  293. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +1 -0
  294. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +3 -0
  295. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +4 -0
  296. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +1 -0
  297. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +3 -0
  298. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  299. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +10 -0
  300. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +4 -0
  301. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +1 -0
  302. package/dist/esm/components/src/themes/pike/components/templates/chat.js +3 -0
  303. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +4 -0
  304. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +1 -0
  305. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +3 -0
  306. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  307. package/dist/esm/components/src/themes/pike/components/templates/index.js +10 -0
  308. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +4 -0
  309. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +1 -0
  310. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +3 -0
  311. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +4 -0
  312. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +1 -0
  313. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +3 -0
  314. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  315. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +10 -0
  316. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +4 -0
  317. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +1 -0
  318. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +3 -0
  319. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +4 -0
  320. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +1 -0
  321. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +3 -0
  322. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  323. package/dist/esm/components/src/themes/snappy/components/templates/index.js +10 -0
  324. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +4 -0
  325. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +1 -0
  326. package/dist/esm/components/src/themes/themeComponents/chat.js +11 -0
  327. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +4 -0
  328. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +1 -0
  329. package/dist/esm/components/src/themes/themeComponents/chatButton.js +6 -0
  330. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +15 -0
  331. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  332. package/dist/esm/components/src/utilities/Colour/Colour.js +41 -0
  333. package/dist/esm/components/src/utilities/snapify.d.ts +3 -2
  334. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  335. package/dist/esm/components/src/utilities/snapify.js +29 -2
  336. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +4 -1
  337. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  338. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +4 -1
  339. package/dist/esm/src/Snap.d.ts +3 -1
  340. package/dist/esm/src/Snap.d.ts.map +1 -1
  341. package/dist/esm/src/Snap.js +84 -2
  342. package/dist/esm/src/Templates/SnapTemplates.d.ts +2 -1
  343. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  344. package/dist/esm/src/Templates/SnapTemplates.js +54 -5
  345. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +43 -0
  346. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  347. package/dist/esm/src/Templates/Stores/LibraryStore.js +51 -1
  348. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +20 -6
  349. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  350. package/dist/esm/src/Templates/Stores/TemplateStore.js +3 -3
  351. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +2 -0
  352. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +1 -0
  353. package/dist/esm/src/Templates/Stores/library/components/Chat.js +1 -0
  354. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +2 -0
  355. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +1 -0
  356. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +1 -0
  357. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
  358. package/dist/esm/src/Templates/Stores/library/languages/ar.js +485 -0
  359. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
  360. package/dist/esm/src/Templates/Stores/library/languages/de.js +485 -0
  361. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  362. package/dist/esm/src/Templates/Stores/library/languages/es.js +490 -0
  363. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  364. package/dist/esm/src/Templates/Stores/library/languages/fr.js +490 -0
  365. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
  366. package/dist/esm/src/Templates/Stores/library/languages/hi.js +485 -0
  367. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
  368. package/dist/esm/src/Templates/Stores/library/languages/it.js +485 -0
  369. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
  370. package/dist/esm/src/Templates/Stores/library/languages/ja.js +485 -0
  371. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
  372. package/dist/esm/src/Templates/Stores/library/languages/ko.js +485 -0
  373. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
  374. package/dist/esm/src/Templates/Stores/library/languages/nl.js +485 -0
  375. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
  376. package/dist/esm/src/Templates/Stores/library/languages/pt.js +485 -0
  377. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
  378. package/dist/esm/src/Templates/Stores/library/languages/ru.js +485 -0
  379. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
  380. package/dist/esm/src/Templates/Stores/library/languages/tr.js +485 -0
  381. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
  382. package/dist/esm/src/Templates/Stores/library/languages/vi.js +485 -0
  383. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
  384. package/dist/esm/src/Templates/Stores/library/languages/zh.js +485 -0
  385. package/dist/esm/src/create/createChatController.d.ts +5 -0
  386. package/dist/esm/src/create/createChatController.d.ts.map +1 -0
  387. package/dist/esm/src/create/createChatController.js +29 -0
  388. package/dist/esm/src/create/index.d.ts +1 -0
  389. package/dist/esm/src/create/index.d.ts.map +1 -1
  390. package/dist/esm/src/create/index.js +1 -0
  391. package/dist/esm/src/setupEvents.d.ts +13 -0
  392. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  393. package/dist/esm/src/setupEvents.js +44 -0
  394. package/dist/esm/src/types.d.ts +13 -3
  395. package/dist/esm/src/types.d.ts.map +1 -1
  396. package/dist/esm/src/utils/applyChatTargetInject.d.ts +3 -0
  397. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +1 -0
  398. package/dist/esm/src/utils/applyChatTargetInject.js +22 -0
  399. package/dist/esm/src/utils/index.d.ts +1 -0
  400. package/dist/esm/src/utils/index.d.ts.map +1 -1
  401. package/dist/esm/src/utils/index.js +1 -0
  402. package/eslint/src/validate-config.cjs +140 -98
  403. package/package.json +14 -12
@@ -92,6 +92,479 @@ exports.zh = {
92
92
  },
93
93
  },
94
94
  },
95
+ chatButton: {
96
+ openChatButton: {
97
+ attributes: {
98
+ 'aria-label': '打开聊天',
99
+ title: '打开聊天',
100
+ },
101
+ },
102
+ closeChatButton: {
103
+ attributes: {
104
+ 'aria-label': '关闭聊天',
105
+ title: '关闭聊天',
106
+ },
107
+ },
108
+ },
109
+ chat: {
110
+ openChatButton: {
111
+ attributes: {
112
+ 'aria-label': '打开聊天',
113
+ title: '打开聊天',
114
+ },
115
+ },
116
+ closeChatButton: {
117
+ attributes: {
118
+ 'aria-label': '关闭聊天',
119
+ title: '关闭聊天',
120
+ },
121
+ },
122
+ headerLogo: {
123
+ attributes: {
124
+ alt: '聊天标志',
125
+ },
126
+ },
127
+ newChatButton: {
128
+ attributes: {
129
+ 'aria-label': '新聊天',
130
+ title: '新聊天',
131
+ },
132
+ },
133
+ chatHistoryButton: {
134
+ attributes: {
135
+ 'aria-label': '聊天记录',
136
+ title: '聊天记录',
137
+ },
138
+ },
139
+ historyTitle: {
140
+ value: '历史记录',
141
+ },
142
+ historyClearButton: {
143
+ value: '清除',
144
+ },
145
+ historyNewChatLabel: {
146
+ value: '新聊天',
147
+ },
148
+ sideChatRegionLabel: {
149
+ attributes: {
150
+ 'aria-label': '对话详情',
151
+ },
152
+ },
153
+ inspirationResultTitle: {
154
+ value: '灵感场景',
155
+ },
156
+ inspirationResultSubtitle: {
157
+ value: '选择一个风格方向进行探索',
158
+ },
159
+ productComparisonTitle: {
160
+ value: '产品比较',
161
+ },
162
+ productComparisonSubtitle: {
163
+ value: (data) => `正在比较 ${data?.count ?? ''} 件产品`,
164
+ },
165
+ chatMessagesLabel: {
166
+ attributes: {
167
+ 'aria-label': '聊天消息',
168
+ },
169
+ },
170
+ newMessagesButton: {
171
+ value: '新消息',
172
+ },
173
+ loadingVerbsProductQuery: {
174
+ value: '思考中, 搜索中, 分析中, 收集详情中',
175
+ },
176
+ loadingVerbsProductSearch: {
177
+ value: '搜索中, 浏览目录中, 查找产品中, 挑选结果中',
178
+ },
179
+ loadingVerbsProductComparison: {
180
+ value: '比较中, 分析中, 评估中, 权衡选项中',
181
+ },
182
+ loadingVerbsImageSearch: {
183
+ value: '分析图片中, 识别中, 搜索中, 匹配中',
184
+ },
185
+ loadingVerbsProductSimilar: {
186
+ value: '查找相似产品中, 搜索中, 匹配中, 挑选中',
187
+ },
188
+ loadingVerbsInspirationRequest: {
189
+ value: '生成灵感中, 构想中, 挑选中, 激发灵感中',
190
+ },
191
+ feedbackPrompt: {
192
+ value: '目前的体验如何?',
193
+ },
194
+ feedbackThanks: {
195
+ value: '感谢您的反馈',
196
+ },
197
+ feedbackThumbsUpButton: {
198
+ attributes: {
199
+ 'aria-label': '喜欢',
200
+ title: '喜欢',
201
+ },
202
+ },
203
+ feedbackThumbsDownButton: {
204
+ attributes: {
205
+ 'aria-label': '不喜欢',
206
+ title: '不喜欢',
207
+ },
208
+ },
209
+ feedbackDismissButton: {
210
+ attributes: {
211
+ 'aria-label': '关闭反馈',
212
+ },
213
+ },
214
+ comparisonsTitle: {
215
+ value: (data) => `比较产品 (${data?.count ?? 0}/${data?.max ?? 0})`,
216
+ },
217
+ comparisonsClearButton: {
218
+ value: '清除',
219
+ },
220
+ comparisonsAddText: {
221
+ value: '添加',
222
+ },
223
+ comparisonsCompareButton: {
224
+ value: '比较',
225
+ attributes: {
226
+ title: '比较',
227
+ },
228
+ },
229
+ comparisonsRemoveButton: {
230
+ attributes: {
231
+ 'aria-label': (data) => `从比较中移除 ${data?.name || '产品'}`,
232
+ },
233
+ },
234
+ chatUnavailableMessage: {
235
+ value: '服务暂时不可用。在此期间,请使用上方的搜索栏查找您需要的商品!',
236
+ },
237
+ highVolumeMessage: {
238
+ value: '由于咨询量较大,聊天暂时不可用。',
239
+ },
240
+ highVolumeSubMessage: {
241
+ value: '在此期间,请使用上方的搜索栏查找您需要的商品!',
242
+ },
243
+ newSessionButton: {
244
+ value: '新会话',
245
+ },
246
+ facetsTitle: {
247
+ value: '筛选条件:',
248
+ },
249
+ facetsApplyButton: {
250
+ value: (data) => `应用 (${data?.count ?? 0})`,
251
+ },
252
+ facetsClearButton: {
253
+ value: '清除筛选条件',
254
+ },
255
+ attachmentCompareTitle: {
256
+ value: '比较这些产品',
257
+ },
258
+ attachmentAskProductTitle: {
259
+ value: '咨询此产品',
260
+ },
261
+ attachmentImageSimilarTitle: {
262
+ value: '查找与此图片相似的产品:',
263
+ },
264
+ attachmentImageName: {
265
+ value: '图片',
266
+ },
267
+ topicDriftScopeMessage: {
268
+ value: '我在这里为您的购物提供帮助',
269
+ },
270
+ topicDriftScopeSubMessage: {
271
+ value: '试试询问产品、比较或推荐',
272
+ },
273
+ topicDriftMessage: {
274
+ value: '在寻找新的东西吗?',
275
+ },
276
+ topicDriftSubMessage: {
277
+ value: '开始新会话以获得更好的帮助,还是继续当前会话?',
278
+ },
279
+ topicDriftDismissButton: {
280
+ attributes: {
281
+ 'aria-label': '关闭',
282
+ },
283
+ },
284
+ inputPlaceholder: {
285
+ value: '输入您的消息...',
286
+ },
287
+ inputPlaceholderAskProduct: {
288
+ value: '咨询此产品...',
289
+ },
290
+ inputPlaceholderCompare: {
291
+ value: '您想比较什么?',
292
+ },
293
+ inputPlaceholderComparedProducts: {
294
+ value: '咨询正在比较的产品...',
295
+ },
296
+ inputPlaceholderAskImage: {
297
+ value: '咨询此图片...',
298
+ },
299
+ inputPlaceholderAddCompare: {
300
+ value: '再添加一件产品进行比较...',
301
+ },
302
+ uploadImageButton: {
303
+ attributes: {
304
+ 'aria-label': '上传图片',
305
+ title: '上传图片',
306
+ },
307
+ },
308
+ sendMessageButton: {
309
+ attributes: {
310
+ 'aria-label': '发送消息',
311
+ title: '发送消息',
312
+ },
313
+ },
314
+ dropOverlayText: {
315
+ value: '拖放图片以上传',
316
+ },
317
+ poweredByText: {
318
+ value: '由 Athos Commerce 提供支持。',
319
+ },
320
+ disclaimerText: {
321
+ value: 'AI 驱动的助手,有时可能会出错。请避免分享个人信息。',
322
+ },
323
+ privacyPolicyLinkText: {
324
+ value: '隐私政策',
325
+ },
326
+ expiredMessage: {
327
+ value: '此聊天已过期。请开始新的聊天。',
328
+ },
329
+ },
330
+ chatLoadingIndicator: {
331
+ thinkingVerb: {
332
+ value: '思考中',
333
+ },
334
+ searchingVerb: {
335
+ value: '搜索中',
336
+ },
337
+ analyzingVerb: {
338
+ value: '分析中',
339
+ },
340
+ generatingVerb: {
341
+ value: '生成中',
342
+ },
343
+ processingVerb: {
344
+ value: '处理中',
345
+ },
346
+ },
347
+ chatAttachmentContext: {
348
+ closeButton: {
349
+ attributes: {
350
+ 'aria-label': (data) => `关闭${data?.title ?? ''}`,
351
+ },
352
+ },
353
+ openItemButton: {
354
+ attributes: {
355
+ 'aria-label': (data) => `打开${data?.item?.name ?? ''}`,
356
+ },
357
+ },
358
+ loadingIndicator: {
359
+ attributes: {
360
+ 'aria-label': (data) => `正在加载${data?.item?.name ?? ''}`,
361
+ },
362
+ },
363
+ removeButton: {
364
+ attributes: {
365
+ 'aria-label': (data) => `移除${data?.item?.name ?? ''}`,
366
+ },
367
+ },
368
+ uploadFailedText: {
369
+ value: (data) => `文件上传失败 - ${data?.item?.name ?? ''}`,
370
+ },
371
+ },
372
+ chatInspirationResultMessage: {
373
+ searchQueryButton: {
374
+ attributes: {
375
+ 'aria-label': (data) => `搜索“${data?.searchTerm ?? ''}”`,
376
+ },
377
+ },
378
+ openProductButton: {
379
+ attributes: {
380
+ 'aria-label': (data) => `打开${data?.productName || '产品'}`,
381
+ },
382
+ },
383
+ },
384
+ chatMessageText: {
385
+ viewInspirationButton: {
386
+ attributes: {
387
+ 'aria-label': '查看灵感',
388
+ title: '查看灵感',
389
+ },
390
+ },
391
+ closeInspirationButton: {
392
+ value: '关闭灵感',
393
+ attributes: {
394
+ 'aria-label': '关闭灵感',
395
+ title: '关闭灵感',
396
+ },
397
+ },
398
+ exploreInspirationButton: {
399
+ value: '探索灵感场景',
400
+ attributes: {
401
+ 'aria-label': '探索灵感场景',
402
+ },
403
+ },
404
+ viewComparisonButton: {
405
+ attributes: {
406
+ 'aria-label': '查看比较',
407
+ title: '查看比较',
408
+ },
409
+ },
410
+ closeComparisonButton: {
411
+ value: '关闭比较',
412
+ attributes: {
413
+ 'aria-label': '关闭比较',
414
+ title: '关闭比较',
415
+ },
416
+ },
417
+ exploreComparisonButton: {
418
+ value: '探索比较数据',
419
+ attributes: {
420
+ 'aria-label': '探索比较数据',
421
+ },
422
+ },
423
+ showDetailsButton: {
424
+ value: '显示详情',
425
+ attributes: {
426
+ 'aria-label': '显示比较详情',
427
+ },
428
+ },
429
+ },
430
+ chatMessageUser: {
431
+ requestTypeProductQuery: {
432
+ value: '正在咨询产品',
433
+ },
434
+ requestTypeProductComparison: {
435
+ value: '正在比较产品',
436
+ },
437
+ requestTypeProductFilter: {
438
+ value: '正在筛选产品',
439
+ },
440
+ requestTypeProductSearch: {
441
+ value: '正在搜索产品',
442
+ },
443
+ requestTypeImageSearch: {
444
+ value: '正在按图片搜索',
445
+ },
446
+ requestTypeProductSimilar: {
447
+ value: '正在搜索相似产品',
448
+ },
449
+ productAttachmentButton: {
450
+ attributes: {
451
+ 'aria-label': (data) => `查看${data?.attachment?.name ?? ''}的详情`,
452
+ title: (data) => `查看${data?.attachment?.name ?? ''}的详情`,
453
+ },
454
+ },
455
+ facetAttachment: {
456
+ attributes: {
457
+ 'aria-label': (data) => (data?.filterOptions?.length ? `筛选条件:${data.filterOptions[0].facetKey} = ${data.filterOptions[0].label}` : ''),
458
+ title: (data) => (data?.filterOptions?.length ? `筛选条件:${data.filterOptions[0].facetKey} = ${data.filterOptions[0].label}` : ''),
459
+ },
460
+ },
461
+ facetOverflow: {
462
+ attributes: {
463
+ 'aria-label': (data) => `另有 ${data?.hiddenFacetCount ?? 0} 个筛选条件`,
464
+ title: (data) => `还有 ${data?.hiddenFacetCount ?? 0} 个筛选条件`,
465
+ },
466
+ },
467
+ },
468
+ chatProductComparisonMessage: {
469
+ comparisonTable: {
470
+ value: '产品比较',
471
+ attributes: {
472
+ 'aria-label': '产品比较',
473
+ },
474
+ },
475
+ featureColumnHeader: {
476
+ attributes: {
477
+ 'aria-label': '特性',
478
+ },
479
+ },
480
+ viewProductButton: {
481
+ attributes: {
482
+ 'aria-label': (data) => `查看${data?.productName ?? ''}的详情`,
483
+ },
484
+ },
485
+ },
486
+ chatQuickview: {
487
+ loadingText: {
488
+ value: '正在加载产品详情...',
489
+ },
490
+ quickview: {
491
+ attributes: {
492
+ 'aria-label': '快速预览',
493
+ },
494
+ },
495
+ closeButton: {
496
+ attributes: {
497
+ 'aria-label': '关闭快速预览',
498
+ },
499
+ },
500
+ backToComparisonButton: {
501
+ value: '返回比较',
502
+ attributes: {
503
+ 'aria-label': '返回比较',
504
+ },
505
+ },
506
+ backToInspirationButton: {
507
+ value: '返回灵感',
508
+ attributes: {
509
+ 'aria-label': '返回灵感',
510
+ },
511
+ },
512
+ addToCartButton: {
513
+ value: '加入购物车',
514
+ },
515
+ moreInfoButton: {
516
+ value: '更多信息',
517
+ },
518
+ similarButton: {
519
+ value: '相似产品',
520
+ },
521
+ discussButton: {
522
+ value: '咨询',
523
+ },
524
+ },
525
+ chatResult: {
526
+ similarButton: {
527
+ value: '相似产品',
528
+ attributes: {
529
+ 'aria-label': (data) => `显示与 ${data?.result?.display?.mappings?.core?.name || '产品'} 相似的产品`,
530
+ },
531
+ },
532
+ compareButton: {
533
+ value: '比较',
534
+ attributes: {
535
+ 'aria-label': (data) => `比较 ${data?.result?.display?.mappings?.core?.name || '产品'}`,
536
+ },
537
+ },
538
+ addedToComparisonButton: {
539
+ attributes: {
540
+ 'aria-label': (data) => `${data?.result?.display?.mappings?.core?.name || '产品'} 已加入比较`,
541
+ title: '已加入比较',
542
+ },
543
+ },
544
+ discussButton: {
545
+ attributes: {
546
+ 'aria-label': (data) => `咨询 ${data?.result?.display?.mappings?.core?.name || '产品'}`,
547
+ title: '咨询产品',
548
+ },
549
+ },
550
+ addToCartButton: {
551
+ attributes: {
552
+ 'aria-label': (data) => `将 ${data?.result?.display?.mappings?.core?.name || '产品'} 加入购物车`,
553
+ title: '加入购物车',
554
+ },
555
+ },
556
+ configureButton: {
557
+ attributes: {
558
+ 'aria-label': (data) => `配置 ${data?.result?.display?.mappings?.core?.name || '产品'}`,
559
+ title: '配置',
560
+ },
561
+ },
562
+ productLink: {
563
+ attributes: {
564
+ 'aria-label': (data) => `打开 ${data?.result?.display?.mappings?.core?.name || '产品'}`,
565
+ },
566
+ },
567
+ },
95
568
  recommendationBundle: {
96
569
  seedText: {
97
570
  value: '此产品',
@@ -256,6 +729,12 @@ exports.zh = {
256
729
  'aria-label': '快速预览',
257
730
  },
258
731
  },
732
+ discussProductButton: {
733
+ attributes: {
734
+ 'aria-label': '咨询此商品',
735
+ title: '咨询此商品',
736
+ },
737
+ },
259
738
  },
260
739
  overlayResult: {
261
740
  addToCartButtonText: {
@@ -480,6 +959,12 @@ exports.zh = {
480
959
  moreInfoButton: {
481
960
  value: '更多信息',
482
961
  },
962
+ similarButton: {
963
+ value: '相似产品',
964
+ },
965
+ discussButton: {
966
+ value: '咨询',
967
+ },
483
968
  loadingText: {
484
969
  value: '加载中…',
485
970
  },
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const snap_controller_1 = require("@athoscommerce/snap-controller");
4
+ const snap_client_1 = require("@athoscommerce/snap-client");
5
+ const snap_store_mobx_1 = require("@athoscommerce/snap-store-mobx");
6
+ const snap_url_manager_1 = require("@athoscommerce/snap-url-manager");
7
+ const snap_event_manager_1 = require("@athoscommerce/snap-event-manager");
8
+ const snap_profiler_1 = require("@athoscommerce/snap-profiler");
9
+ const snap_logger_1 = require("@athoscommerce/snap-logger");
10
+ const snap_tracker_1 = require("@athoscommerce/snap-tracker");
11
+ exports.default = (config, services) => {
12
+ const urlManager = (services?.urlManager || new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(config.url), snap_url_manager_1.reactLinker)).detach(true);
13
+ // set client mode
14
+ if (config.mode && config.client) {
15
+ config.client.config = config.client.config || {};
16
+ config.client.config.mode = config.mode;
17
+ }
18
+ const client = services?.client || new snap_client_1.Client(config.client.globals, config.client.config);
19
+ const siteId = config.client?.globals?.siteId || client.siteId;
20
+ const cntrlr = new snap_controller_1.ChatController(config.controller, {
21
+ client,
22
+ store: services?.store || new snap_store_mobx_1.ChatStore({ ...config.controller, siteId }, { urlManager }),
23
+ urlManager,
24
+ eventManager: services?.eventManager || new snap_event_manager_1.EventManager(),
25
+ profiler: services?.profiler || new snap_profiler_1.Profiler(),
26
+ logger: services?.logger || new snap_logger_1.Logger({ mode: config.mode }),
27
+ tracker: services?.tracker || new snap_tracker_1.Tracker(config.client.globals),
28
+ quickviewManager: services?.quickviewManager,
29
+ }, config.context);
30
+ return cntrlr;
31
+ };
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createSearchController = exports.createRecommendationController = exports.createFinderController = exports.createAutocompleteController = void 0;
6
+ exports.createSearchController = exports.createRecommendationController = exports.createFinderController = exports.createChatController = exports.createAutocompleteController = void 0;
7
7
  var createAutocompleteController_1 = require("./createAutocompleteController");
8
8
  Object.defineProperty(exports, "createAutocompleteController", { enumerable: true, get: function () { return __importDefault(createAutocompleteController_1).default; } });
9
+ var createChatController_1 = require("./createChatController");
10
+ Object.defineProperty(exports, "createChatController", { enumerable: true, get: function () { return __importDefault(createChatController_1).default; } });
9
11
  var createFinderController_1 = require("./createFinderController");
10
12
  Object.defineProperty(exports, "createFinderController", { enumerable: true, get: function () { return __importDefault(createFinderController_1).default; } });
11
13
  var createRecommendationController_1 = require("./createRecommendationController");
@@ -32,6 +32,50 @@ const setupEvents = () => {
32
32
  });
33
33
  await next();
34
34
  });
35
+ eventManager.on('controller/chat/send', async (data, next) => {
36
+ const { controllerIds, ...payload } = (data || {});
37
+ const controllers = matchControllers(controllerIds).filter((controller) => {
38
+ return Boolean(controller.type === 'chat');
39
+ });
40
+ // A request is dispatched only when the payload carries either an explicit
41
+ // requestType or a message. With nothing to send the event still opens the chat.
42
+ const hasRequest = 'requestType' in payload || 'message' in payload;
43
+ const requestData = hasRequest ? { requestType: 'general', ...payload } : null;
44
+ controllers.map((controller) => {
45
+ const chatController = controller;
46
+ chatController.openChat();
47
+ if (requestData) {
48
+ chatController.search({ data: requestData });
49
+ }
50
+ });
51
+ await next();
52
+ });
53
+ eventManager.on('controller/chat/productQuery', async (data, next) => {
54
+ const { controllerIds, result } = data || {};
55
+ const controllers = matchControllers(controllerIds).filter((controller) => {
56
+ return Boolean(controller.type === 'chat');
57
+ });
58
+ controllers.map((controller) => {
59
+ // openChat first — it replaces an expired session with a fresh chat,
60
+ // which would otherwise discard the attachment productQuery adds
61
+ controller.openChat();
62
+ controller.productQuery(result);
63
+ });
64
+ await next();
65
+ });
66
+ eventManager.on('controller/chat/productSimilar', async (data, next) => {
67
+ const { controllerIds, result } = data || {};
68
+ const controllers = matchControllers(controllerIds).filter((controller) => {
69
+ return Boolean(controller.type === 'chat');
70
+ });
71
+ controllers.map((controller) => {
72
+ // openChat first — it replaces an expired session with a fresh chat,
73
+ // which would otherwise orphan the search productSimilar fires
74
+ controller.openChat();
75
+ controller.productSimilar(result);
76
+ });
77
+ await next();
78
+ });
35
79
  return eventManager;
36
80
  };
37
81
  exports.setupEvents = setupEvents;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyChatTargetInject = applyChatTargetInject;
4
+ // Chat targets never render *into* the matched element — DomTargeter would empty it
5
+ // (and hideTarget would hide it, e.g. a merchant's nav while injecting a ChatButton).
6
+ // Instead, append a dedicated container to render into and never hide the host.
7
+ // An explicit `inject` in the target config always wins.
8
+ function applyChatTargetInject(target) {
9
+ if (target.inject) {
10
+ return target;
11
+ }
12
+ const isBody = target.selector === 'body';
13
+ return {
14
+ ...target,
15
+ hideTarget: false,
16
+ inject: {
17
+ action: 'append',
18
+ element: () => {
19
+ const container = document.createElement('div');
20
+ container.className = isBody ? 'ss__chat--target' : 'ss__chat--inline-target';
21
+ return container;
22
+ },
23
+ },
24
+ };
25
+ }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineMerge = exports.configureSnapFeatures = void 0;
3
+ exports.combineMerge = exports.configureSnapFeatures = exports.applyChatTargetInject = void 0;
4
+ var applyChatTargetInject_1 = require("./applyChatTargetInject");
5
+ Object.defineProperty(exports, "applyChatTargetInject", { enumerable: true, get: function () { return applyChatTargetInject_1.applyChatTargetInject; } });
4
6
  var configureSnapFeatures_1 = require("./configureSnapFeatures/configureSnapFeatures");
5
7
  Object.defineProperty(exports, "configureSnapFeatures", { enumerable: true, get: function () { return configureSnapFeatures_1.configureSnapFeatures; } });
6
8
  var combineMerge_1 = require("./combineMerge");
@@ -9,6 +9,8 @@ export type ButtonProps = {
9
9
  lang?: Partial<ButtonLang>;
10
10
  name?: ButtonNames;
11
11
  content?: string | JSX.Element;
12
+ title?: string;
13
+ type?: 'button' | 'submit' | 'reset';
12
14
  } & ButtonTemplatesLegalProps & ComponentProps<ButtonProps>;
13
15
  export type ButtonTemplatesLegalProps = {
14
16
  backgroundColor?: string;
@@ -24,5 +26,5 @@ export type ButtonTemplatesLegalProps = {
24
26
  export interface ButtonLang {
25
27
  button?: Lang<never>;
26
28
  }
27
- export type ButtonNames = 'close' | 'apply' | 'clear' | 'slideout' | 'sidebar-toggle' | 'see-more' | 'next' | 'prev' | 'pause' | 'pagination' | 'pagination-current' | 'close-search' | 'clear-search' | 'submit-search' | 'reset-facet' | 'add-to-cart' | 'quickview' | 'more-info' | 'increment' | 'decrement' | 'zoom-in' | 'zoom-out';
29
+ export type ButtonNames = 'close' | 'apply' | 'chat' | 'clear' | 'slideout' | 'sidebar-toggle' | 'see-more' | 'next' | 'prev' | 'pause' | 'pagination' | 'pagination-current' | 'close-search' | 'clear-search' | 'submit-search' | 'reset-facet' | 'add-to-cart' | 'quickview' | 'more-info' | 'similar' | 'discuss' | 'increment' | 'decrement' | 'zoom-in' | 'zoom-out';
28
30
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Atoms/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM9C,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAQ,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAqC3E,eAAO,MAAM,MAAM,gBAAyB,WAAW;;CAiGrD,CAAC;AAMH,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC/B,GAAG,yBAAyB,GAC5B,cAAc,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GACpB,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,YAAY,GACZ,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,eAAe,GACf,aAAa,GACb,aAAa,GACb,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Atoms/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM9C,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAQ,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAqC3E,eAAO,MAAM,MAAM,gBAAyB,WAAW;;CAiGrD,CAAC;AAMH,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC,GAAG,yBAAyB,GAC5B,cAAc,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GACpB,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,YAAY,GACZ,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,eAAe,GACf,aAAa,GACb,aAAa,GACb,WAAW,GACX,WAAW,GACX,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { h } from 'preact';
2
+ import { ComponentProps } from '../../../types';
3
+ import { Lang } from '../../../hooks';
4
+ export declare const ChatLoadingIndicator: (properties: ChatLoadingIndicatorProps) => import("@emotion/react/jsx-runtime").JSX.Element | h.JSX.Element | null;
5
+ export type ChatLoadingIndicatorProps = {
6
+ loading?: boolean;
7
+ verbs?: string[];
8
+ lang?: Partial<ChatLoadingIndicatorLang>;
9
+ } & ComponentProps<ChatLoadingIndicatorProps>;
10
+ export interface ChatLoadingIndicatorLang {
11
+ thinkingVerb?: Lang<never>;
12
+ searchingVerb?: Lang<never>;
13
+ analyzingVerb?: Lang<never>;
14
+ generatingVerb?: Lang<never>;
15
+ processingVerb?: Lang<never>;
16
+ }
17
+ //# sourceMappingURL=ChatLoadingIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatLoadingIndicator.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAA8B,MAAM,gBAAgB,CAAC;AAiClE,eAAO,MAAM,oBAAoB,eAAgB,yBAAyB,4EA8EzE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACzC,GAAG,cAAc,CAAC,yBAAyB,CAAC,CAAC;AAE9C,MAAM,WAAW,wBAAwB;IACxC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAC7B"}