@athoscommerce/snap-preact 1.10.1-beta.150 → 1.11.0

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