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

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 (567) 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 +70 -17
  4. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +13 -0
  5. package/dist/cjs/components/src/components/Atoms/Image/Image.js +10 -2
  6. package/dist/cjs/components/src/components/Atoms/ProductDetail/ProductDetail.js +98 -0
  7. package/dist/cjs/components/src/components/Atoms/ProductDetail/index.js +7 -0
  8. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +13 -4
  9. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +4 -1
  10. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +221 -0
  11. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +17 -0
  12. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +209 -0
  13. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +17 -0
  14. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +258 -0
  15. package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +17 -0
  16. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +282 -0
  17. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +17 -0
  18. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +173 -0
  19. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +17 -0
  20. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +577 -0
  21. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.js +17 -0
  22. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +252 -0
  23. package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +17 -0
  24. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +113 -0
  25. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +17 -0
  26. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +107 -0
  27. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +17 -0
  28. package/dist/cjs/components/src/components/Molecules/Gallery/Gallery.js +298 -0
  29. package/dist/cjs/components/src/components/Molecules/Gallery/index.js +17 -0
  30. package/dist/cjs/components/src/components/Molecules/Modal/Modal.js +21 -2
  31. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +1 -1
  32. package/dist/cjs/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.js +115 -0
  33. package/dist/cjs/components/src/components/Molecules/ProductDetailTable/index.js +17 -0
  34. package/dist/cjs/components/src/components/Molecules/QuantityPicker/QuantityPicker.js +136 -0
  35. package/dist/cjs/components/src/components/Molecules/QuantityPicker/index.js +17 -0
  36. package/dist/cjs/components/src/components/Molecules/Result/Result.js +92 -6
  37. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  38. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +29 -30
  39. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +42 -5
  40. package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.js +1 -1
  41. package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.js +7 -1
  42. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -8
  43. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +621 -0
  44. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +105 -0
  45. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +104 -0
  46. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +161 -0
  47. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +166 -0
  48. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +369 -0
  49. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +130 -0
  50. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +218 -0
  51. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +123 -0
  52. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +173 -0
  53. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +149 -0
  54. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +60 -0
  55. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +66 -0
  56. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +96 -0
  57. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +113 -0
  58. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +135 -0
  59. package/dist/cjs/components/src/components/Organisms/Chat/index.js +18 -0
  60. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +94 -0
  61. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +11 -0
  62. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +18 -0
  63. package/dist/cjs/components/src/components/Organisms/Facet/Facet.js +1 -5
  64. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +612 -0
  65. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/index.js +17 -0
  66. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  67. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +8 -3
  68. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +8 -3
  69. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +7 -2
  70. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +47 -0
  71. package/dist/cjs/components/src/components/Templates/Chat/index.js +17 -0
  72. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +47 -0
  73. package/dist/cjs/components/src/components/Templates/ChatButton/index.js +17 -0
  74. package/dist/cjs/components/src/components/Templates/QuickviewModal/QuickviewModal.js +153 -0
  75. package/dist/cjs/components/src/components/Templates/QuickviewModal/index.js +17 -0
  76. package/dist/cjs/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.js +124 -0
  77. package/dist/cjs/components/src/components/Templates/QuickviewSlideout/index.js +17 -0
  78. package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.js +2 -1
  79. package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +2 -1
  80. package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +2 -1
  81. package/dist/cjs/components/src/hooks/useA11y.js +3 -1
  82. package/dist/cjs/components/src/hooks/useAcRenderedInput.js +1 -1
  83. package/dist/cjs/components/src/hooks/useClickOutside.js +6 -3
  84. package/dist/cjs/components/src/hooks/useTracking.js +14 -8
  85. package/dist/cjs/components/src/index.js +23 -1
  86. package/dist/cjs/components/src/providers/themeComponents.js +24 -0
  87. package/dist/cjs/components/src/setupTests.js +10 -0
  88. package/dist/cjs/components/src/themes/base/components/templates/chat.js +6 -0
  89. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +6 -0
  90. package/dist/cjs/components/src/themes/base/components/templates/index.js +10 -0
  91. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +6 -0
  92. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +6 -0
  93. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +10 -0
  94. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +6 -0
  95. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +6 -0
  96. package/dist/cjs/components/src/themes/pike/components/templates/index.js +10 -0
  97. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +6 -0
  98. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +6 -0
  99. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +10 -0
  100. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +6 -0
  101. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +6 -0
  102. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +10 -0
  103. package/dist/cjs/components/src/themes/themeComponents/chat.js +14 -0
  104. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +9 -0
  105. package/dist/cjs/components/src/utilities/Colour/Colour.js +41 -0
  106. package/dist/cjs/components/src/utilities/createImpressionObserver.js +1 -1
  107. package/dist/cjs/components/src/utilities/index.js +1 -0
  108. package/dist/cjs/components/src/utilities/lazyRenderMinSize.js +10 -0
  109. package/dist/cjs/components/src/utilities/snapify.js +27 -0
  110. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +2 -1
  111. package/dist/cjs/src/Snap.js +111 -0
  112. package/dist/cjs/src/Templates/SnapTemplates.js +106 -5
  113. package/dist/cjs/src/Templates/Stores/LibraryStore.js +128 -10
  114. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +6 -1
  115. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +2 -5
  116. package/dist/cjs/src/Templates/Stores/TemplateStore.js +29 -13
  117. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +5 -0
  118. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +5 -0
  119. package/dist/cjs/src/Templates/Stores/library/components/QuickviewModal.js +5 -0
  120. package/dist/cjs/src/Templates/Stores/library/components/QuickviewSlideout.js +5 -0
  121. package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +1433 -0
  122. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +961 -0
  123. package/dist/cjs/src/Templates/Stores/library/languages/de.js +961 -0
  124. package/dist/cjs/src/Templates/Stores/library/languages/en.js +1 -0
  125. package/dist/cjs/src/Templates/Stores/library/languages/es.js +563 -41
  126. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +564 -40
  127. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +961 -0
  128. package/dist/cjs/src/Templates/Stores/library/languages/it.js +961 -0
  129. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +961 -0
  130. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +961 -0
  131. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +961 -0
  132. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +961 -0
  133. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +961 -0
  134. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +961 -0
  135. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +961 -0
  136. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +961 -0
  137. package/dist/cjs/src/Templates/index.js +3 -1
  138. package/dist/cjs/src/create/createAutocompleteController.js +1 -0
  139. package/dist/cjs/src/create/createChatController.js +30 -0
  140. package/dist/cjs/src/create/createRecommendationController.js +1 -0
  141. package/dist/cjs/src/create/createSearchController.js +1 -0
  142. package/dist/cjs/src/create/index.js +3 -1
  143. package/dist/cjs/src/index.js +3 -1
  144. package/dist/cjs/src/setupEvents.js +44 -0
  145. package/dist/cjs/src/utils/applyChatTargetInject.js +25 -0
  146. package/dist/cjs/src/utils/index.js +3 -1
  147. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +3 -1
  148. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  149. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +17 -0
  150. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +1 -0
  151. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +92 -0
  152. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +2 -0
  153. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +1 -0
  154. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +1 -0
  155. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +6 -1
  156. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  157. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +71 -18
  158. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +13 -0
  159. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  160. package/dist/esm/components/src/components/Atoms/Icon/paths.js +13 -0
  161. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts +5 -0
  162. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
  163. package/dist/esm/components/src/components/Atoms/Image/Image.js +10 -2
  164. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.d.ts +18 -0
  165. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.d.ts.map +1 -0
  166. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.js +89 -0
  167. package/dist/esm/components/src/components/Atoms/ProductDetail/index.d.ts +3 -0
  168. package/dist/esm/components/src/components/Atoms/ProductDetail/index.d.ts.map +1 -0
  169. package/dist/esm/components/src/components/Atoms/ProductDetail/index.js +3 -0
  170. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +1 -1
  171. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  172. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +13 -4
  173. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
  174. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +4 -1
  175. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +30 -0
  176. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +1 -0
  177. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +215 -0
  178. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +2 -0
  179. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +1 -0
  180. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +1 -0
  181. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +19 -0
  182. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -0
  183. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +203 -0
  184. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +2 -0
  185. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +1 -0
  186. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +1 -0
  187. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +36 -0
  188. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +1 -0
  189. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +252 -0
  190. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +2 -0
  191. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +1 -0
  192. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +1 -0
  193. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +38 -0
  194. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +1 -0
  195. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +276 -0
  196. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +2 -0
  197. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +1 -0
  198. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +1 -0
  199. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +19 -0
  200. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +1 -0
  201. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +167 -0
  202. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +2 -0
  203. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +1 -0
  204. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +1 -0
  205. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +38 -0
  206. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -0
  207. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +571 -0
  208. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +2 -0
  209. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +1 -0
  210. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.js +1 -0
  211. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +35 -0
  212. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +1 -0
  213. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +246 -0
  214. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +2 -0
  215. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +1 -0
  216. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +1 -0
  217. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +24 -0
  218. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +1 -0
  219. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +107 -0
  220. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +2 -0
  221. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +1 -0
  222. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +1 -0
  223. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +16 -0
  224. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +1 -0
  225. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +101 -0
  226. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +2 -0
  227. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +1 -0
  228. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +1 -0
  229. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.d.ts +28 -0
  230. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.d.ts.map +1 -0
  231. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.js +292 -0
  232. package/dist/esm/components/src/components/Molecules/Gallery/index.d.ts +2 -0
  233. package/dist/esm/components/src/components/Molecules/Gallery/index.d.ts.map +1 -0
  234. package/dist/esm/components/src/components/Molecules/Gallery/index.js +1 -0
  235. package/dist/esm/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
  236. package/dist/esm/components/src/components/Molecules/Modal/Modal.js +22 -3
  237. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  238. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  239. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +1 -1
  240. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.d.ts +14 -0
  241. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.d.ts.map +1 -0
  242. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.js +109 -0
  243. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.d.ts +2 -0
  244. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.d.ts.map +1 -0
  245. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.js +1 -0
  246. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.d.ts +43 -0
  247. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.d.ts.map +1 -0
  248. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.js +130 -0
  249. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.d.ts +2 -0
  250. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.d.ts.map +1 -0
  251. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.js +1 -0
  252. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +10 -3
  253. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  254. package/dist/esm/components/src/components/Molecules/Result/Result.js +92 -6
  255. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +3 -0
  256. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  257. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  258. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  259. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +30 -31
  260. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
  261. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  262. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +42 -5
  263. package/dist/esm/components/src/components/Molecules/Swatches/Swatches.js +1 -1
  264. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
  265. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.js +7 -1
  266. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -8
  267. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +41 -0
  268. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -0
  269. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +615 -0
  270. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +76 -0
  271. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +1 -0
  272. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +100 -0
  273. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +26 -0
  274. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +1 -0
  275. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +98 -0
  276. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +13 -0
  277. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +1 -0
  278. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +155 -0
  279. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +19 -0
  280. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +1 -0
  281. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +160 -0
  282. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +18 -0
  283. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +1 -0
  284. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +363 -0
  285. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +11 -0
  286. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +1 -0
  287. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +124 -0
  288. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +30 -0
  289. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +1 -0
  290. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +212 -0
  291. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +13 -0
  292. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +1 -0
  293. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +117 -0
  294. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +19 -0
  295. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +1 -0
  296. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +167 -0
  297. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +14 -0
  298. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +1 -0
  299. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +143 -0
  300. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +15 -0
  301. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +1 -0
  302. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +56 -0
  303. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +32 -0
  304. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +1 -0
  305. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +62 -0
  306. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +40 -0
  307. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +1 -0
  308. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +92 -0
  309. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +43 -0
  310. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +1 -0
  311. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +109 -0
  312. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +26 -0
  313. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +1 -0
  314. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +131 -0
  315. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +3 -0
  316. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +1 -0
  317. package/dist/esm/components/src/components/Organisms/Chat/index.js +2 -0
  318. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +18 -0
  319. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +1 -0
  320. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +88 -0
  321. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +7 -0
  322. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +1 -0
  323. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +8 -0
  324. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +3 -0
  325. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +1 -0
  326. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +2 -0
  327. package/dist/esm/components/src/components/Organisms/Facet/Facet.d.ts.map +1 -1
  328. package/dist/esm/components/src/components/Organisms/Facet/Facet.js +1 -5
  329. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +53 -0
  330. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -0
  331. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +605 -0
  332. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.d.ts +2 -0
  333. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.d.ts.map +1 -0
  334. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.js +1 -0
  335. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  336. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  337. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +8 -3
  338. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  339. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +8 -3
  340. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  341. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +7 -2
  342. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +12 -0
  343. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +1 -0
  344. package/dist/esm/components/src/components/Templates/Chat/Chat.js +41 -0
  345. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +2 -0
  346. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +1 -0
  347. package/dist/esm/components/src/components/Templates/Chat/index.js +1 -0
  348. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +13 -0
  349. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +1 -0
  350. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +41 -0
  351. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +2 -0
  352. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +1 -0
  353. package/dist/esm/components/src/components/Templates/ChatButton/index.js +1 -0
  354. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.d.ts +12 -0
  355. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.d.ts.map +1 -0
  356. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.js +147 -0
  357. package/dist/esm/components/src/components/Templates/QuickviewModal/index.d.ts +2 -0
  358. package/dist/esm/components/src/components/Templates/QuickviewModal/index.d.ts.map +1 -0
  359. package/dist/esm/components/src/components/Templates/QuickviewModal/index.js +1 -0
  360. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.d.ts +16 -0
  361. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.d.ts.map +1 -0
  362. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.js +118 -0
  363. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.d.ts +2 -0
  364. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.d.ts.map +1 -0
  365. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.js +1 -0
  366. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
  367. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.js +3 -2
  368. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
  369. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +3 -2
  370. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
  371. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +3 -2
  372. package/dist/esm/components/src/hooks/useA11y.d.ts.map +1 -1
  373. package/dist/esm/components/src/hooks/useA11y.js +3 -1
  374. package/dist/esm/components/src/hooks/useAcRenderedInput.js +1 -1
  375. package/dist/esm/components/src/hooks/useClickOutside.d.ts +1 -1
  376. package/dist/esm/components/src/hooks/useClickOutside.d.ts.map +1 -1
  377. package/dist/esm/components/src/hooks/useClickOutside.js +6 -3
  378. package/dist/esm/components/src/hooks/useTracking.d.ts +9 -3
  379. package/dist/esm/components/src/hooks/useTracking.d.ts.map +1 -1
  380. package/dist/esm/components/src/hooks/useTracking.js +14 -8
  381. package/dist/esm/components/src/index.d.ts +20 -0
  382. package/dist/esm/components/src/index.d.ts.map +1 -1
  383. package/dist/esm/components/src/index.js +20 -0
  384. package/dist/esm/components/src/providers/langComponents.d.ts +26 -0
  385. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  386. package/dist/esm/components/src/providers/themeComponents.d.ts +306 -57
  387. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  388. package/dist/esm/components/src/providers/themeComponents.js +24 -0
  389. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  390. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  391. package/dist/esm/components/src/setupTests.js +10 -0
  392. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +4 -0
  393. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +1 -0
  394. package/dist/esm/components/src/themes/base/components/templates/chat.js +3 -0
  395. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +4 -0
  396. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +1 -0
  397. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +3 -0
  398. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  399. package/dist/esm/components/src/themes/base/components/templates/index.js +10 -0
  400. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +4 -0
  401. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +1 -0
  402. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +3 -0
  403. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +4 -0
  404. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +1 -0
  405. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +3 -0
  406. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  407. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +10 -0
  408. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +4 -0
  409. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +1 -0
  410. package/dist/esm/components/src/themes/pike/components/templates/chat.js +3 -0
  411. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +4 -0
  412. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +1 -0
  413. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +3 -0
  414. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  415. package/dist/esm/components/src/themes/pike/components/templates/index.js +10 -0
  416. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +4 -0
  417. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +1 -0
  418. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +3 -0
  419. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +4 -0
  420. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +1 -0
  421. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +3 -0
  422. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  423. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +10 -0
  424. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +4 -0
  425. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +1 -0
  426. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +3 -0
  427. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +4 -0
  428. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +1 -0
  429. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +3 -0
  430. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  431. package/dist/esm/components/src/themes/snappy/components/templates/index.js +10 -0
  432. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +4 -0
  433. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +1 -0
  434. package/dist/esm/components/src/themes/themeComponents/chat.js +11 -0
  435. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +4 -0
  436. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +1 -0
  437. package/dist/esm/components/src/themes/themeComponents/chatButton.js +6 -0
  438. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +15 -0
  439. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  440. package/dist/esm/components/src/utilities/Colour/Colour.js +41 -0
  441. package/dist/esm/components/src/utilities/createImpressionObserver.js +1 -1
  442. package/dist/esm/components/src/utilities/index.d.ts +1 -0
  443. package/dist/esm/components/src/utilities/index.d.ts.map +1 -1
  444. package/dist/esm/components/src/utilities/index.js +1 -0
  445. package/dist/esm/components/src/utilities/lazyRenderMinSize.d.ts +5 -0
  446. package/dist/esm/components/src/utilities/lazyRenderMinSize.d.ts.map +1 -0
  447. package/dist/esm/components/src/utilities/lazyRenderMinSize.js +7 -0
  448. package/dist/esm/components/src/utilities/snapify.d.ts +3 -2
  449. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  450. package/dist/esm/components/src/utilities/snapify.js +29 -2
  451. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +4 -2
  452. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  453. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +2 -1
  454. package/dist/esm/src/Snap.d.ts +9 -1
  455. package/dist/esm/src/Snap.d.ts.map +1 -1
  456. package/dist/esm/src/Snap.js +114 -3
  457. package/dist/esm/src/Templates/SnapTemplates.d.ts +27 -1
  458. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  459. package/dist/esm/src/Templates/SnapTemplates.js +102 -5
  460. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +65 -2
  461. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  462. package/dist/esm/src/Templates/Stores/LibraryStore.js +127 -9
  463. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  464. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +6 -1
  465. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  466. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +2 -5
  467. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +32 -10
  468. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  469. package/dist/esm/src/Templates/Stores/TemplateStore.js +29 -13
  470. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +2 -0
  471. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +1 -0
  472. package/dist/esm/src/Templates/Stores/library/components/Chat.js +1 -0
  473. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +2 -0
  474. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +1 -0
  475. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +1 -0
  476. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.d.ts +2 -0
  477. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.d.ts.map +1 -0
  478. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.js +1 -0
  479. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.d.ts +2 -0
  480. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.d.ts.map +1 -0
  481. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.js +1 -0
  482. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +1270 -0
  483. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -0
  484. package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +1430 -0
  485. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts +3 -0
  486. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -0
  487. package/dist/esm/src/Templates/Stores/library/languages/ar.js +958 -0
  488. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts +3 -0
  489. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -0
  490. package/dist/esm/src/Templates/Stores/library/languages/de.js +958 -0
  491. package/dist/esm/src/Templates/Stores/library/languages/en.d.ts.map +1 -1
  492. package/dist/esm/src/Templates/Stores/library/languages/en.js +1 -0
  493. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  494. package/dist/esm/src/Templates/Stores/library/languages/es.js +563 -41
  495. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  496. package/dist/esm/src/Templates/Stores/library/languages/fr.js +564 -40
  497. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts +3 -0
  498. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -0
  499. package/dist/esm/src/Templates/Stores/library/languages/hi.js +958 -0
  500. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts +3 -0
  501. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -0
  502. package/dist/esm/src/Templates/Stores/library/languages/it.js +958 -0
  503. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts +3 -0
  504. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -0
  505. package/dist/esm/src/Templates/Stores/library/languages/ja.js +958 -0
  506. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts +3 -0
  507. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -0
  508. package/dist/esm/src/Templates/Stores/library/languages/ko.js +958 -0
  509. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts +3 -0
  510. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -0
  511. package/dist/esm/src/Templates/Stores/library/languages/nl.js +958 -0
  512. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts +3 -0
  513. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -0
  514. package/dist/esm/src/Templates/Stores/library/languages/pt.js +958 -0
  515. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts +3 -0
  516. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -0
  517. package/dist/esm/src/Templates/Stores/library/languages/ru.js +958 -0
  518. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts +3 -0
  519. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -0
  520. package/dist/esm/src/Templates/Stores/library/languages/tr.js +958 -0
  521. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts +3 -0
  522. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -0
  523. package/dist/esm/src/Templates/Stores/library/languages/vi.js +958 -0
  524. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts +3 -0
  525. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -0
  526. package/dist/esm/src/Templates/Stores/library/languages/zh.js +958 -0
  527. package/dist/esm/src/Templates/index.d.ts +1 -1
  528. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  529. package/dist/esm/src/Templates/index.js +1 -1
  530. package/dist/esm/src/create/createAutocompleteController.js +1 -0
  531. package/dist/esm/src/create/createChatController.d.ts +5 -0
  532. package/dist/esm/src/create/createChatController.d.ts.map +1 -0
  533. package/dist/esm/src/create/createChatController.js +28 -0
  534. package/dist/esm/src/create/createRecommendationController.js +1 -0
  535. package/dist/esm/src/create/createSearchController.js +1 -0
  536. package/dist/esm/src/create/index.d.ts +1 -0
  537. package/dist/esm/src/create/index.d.ts.map +1 -1
  538. package/dist/esm/src/create/index.js +1 -0
  539. package/dist/esm/src/index.d.ts +1 -1
  540. package/dist/esm/src/index.d.ts.map +1 -1
  541. package/dist/esm/src/index.js +1 -1
  542. package/dist/esm/src/setupEvents.d.ts +13 -0
  543. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  544. package/dist/esm/src/setupEvents.js +44 -0
  545. package/dist/esm/src/types.d.ts +14 -3
  546. package/dist/esm/src/types.d.ts.map +1 -1
  547. package/dist/esm/src/utils/applyChatTargetInject.d.ts +3 -0
  548. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +1 -0
  549. package/dist/esm/src/utils/applyChatTargetInject.js +22 -0
  550. package/dist/esm/src/utils/index.d.ts +1 -0
  551. package/dist/esm/src/utils/index.d.ts.map +1 -1
  552. package/dist/esm/src/utils/index.js +1 -0
  553. package/eslint/src/index.cjs +5 -0
  554. package/eslint/src/validate-config.cjs +473 -0
  555. package/package.json +18 -14
  556. package/dist/cjs/src/Templates/Stores/library/currencies/aud.js +0 -10
  557. package/dist/cjs/src/Templates/Stores/library/currencies/eur.js +0 -10
  558. package/dist/cjs/src/Templates/Stores/library/currencies/usd.js +0 -10
  559. package/dist/esm/src/Templates/Stores/library/currencies/aud.d.ts +0 -8
  560. package/dist/esm/src/Templates/Stores/library/currencies/aud.d.ts.map +0 -1
  561. package/dist/esm/src/Templates/Stores/library/currencies/aud.js +0 -7
  562. package/dist/esm/src/Templates/Stores/library/currencies/eur.d.ts +0 -8
  563. package/dist/esm/src/Templates/Stores/library/currencies/eur.d.ts.map +0 -1
  564. package/dist/esm/src/Templates/Stores/library/currencies/eur.js +0 -7
  565. package/dist/esm/src/Templates/Stores/library/currencies/usd.d.ts +0 -8
  566. package/dist/esm/src/Templates/Stores/library/currencies/usd.d.ts.map +0 -1
  567. package/dist/esm/src/Templates/Stores/library/currencies/usd.js +0 -7
@@ -47,6 +47,7 @@ class RecommendationInstantiator {
47
47
  this.client = services?.client || new snap_client_1.Client(this.config.client.globals, this.config.client.config);
48
48
  this.tracker = services?.tracker || new snap_tracker_1.Tracker(this.config.client.globals);
49
49
  this.logger = services?.logger || new snap_logger_1.Logger({ prefix: 'RecommendationInstantiator ', mode: this.mode });
50
+ this.quickviewManager = services?.quickviewManager;
50
51
  const profileCount = {};
51
52
  // script block targeter for "grouped" and "legacy" blocks
52
53
  this.targeter = new snap_toolbox_1.DomTargeter([
@@ -255,7 +256,7 @@ async function readyTheController(instance, services, targetElem, context, profi
255
256
  controller: controllerConfig,
256
257
  context,
257
258
  mode: instance.config.mode,
258
- }, { client: instance.client, tracker: instance.tracker });
259
+ }, { client: instance.client, tracker: instance.tracker, quickviewManager: instance.quickviewManager });
259
260
  // mark element with controller id so cleanupStaleControllers knows it's active
260
261
  if (targetElem) {
261
262
  targetElem.setAttribute('ss-controller-id', controller.id);
@@ -101,6 +101,9 @@ class Snap {
101
101
  case snap_controller_1.ControllerTypes.recommendation:
102
102
  importPromise = import('./create/createRecommendationController');
103
103
  break;
104
+ case snap_controller_1.ControllerTypes.chat:
105
+ importPromise = import('./create/createChatController');
106
+ break;
104
107
  case snap_controller_1.ControllerTypes.search:
105
108
  default:
106
109
  importPromise = import('./create/createSearchController');
@@ -123,6 +126,7 @@ class Snap {
123
126
  profiler: services?.profiler,
124
127
  logger: services?.logger,
125
128
  tracker: services?.tracker || this.tracker,
129
+ quickviewManager: services?.quickviewManager || this.quickviewManager,
126
130
  });
127
131
  }
128
132
  if (callback) {
@@ -454,6 +458,44 @@ class Snap {
454
458
  id: this.context.shopper.id,
455
459
  });
456
460
  }
461
+ // Create the quickview manager. Synchronous and ahead of controller creation below, so it can
462
+ // be passed to every controller as the 'quickview' service. The quickview *components* are
463
+ // still loaded on demand by the targeters.
464
+ if (this.config.quickview) {
465
+ try {
466
+ const { config: quickviewConfig, services: quickviewServices, targeters } = this.config.quickview;
467
+ this.quickviewManager = new snap_controller_1.QuickviewManager({
468
+ store: quickviewServices?.store,
469
+ }, quickviewConfig);
470
+ targeters?.forEach((target, index) => {
471
+ if (!target.selector) {
472
+ throw new Error(`Quickview target at index ${index} missing selector value (string).`);
473
+ }
474
+ if (!target.component) {
475
+ throw new Error(`Quickview target at index ${index} missing component value (Component).`);
476
+ }
477
+ new snap_toolbox_1.DomTargeter([{ ...target }], async (target, elem, originalElem) => {
478
+ const onTarget = target.onTarget;
479
+ onTarget && (await onTarget(target, elem, originalElem));
480
+ try {
481
+ // defer the component chunk until the first open
482
+ await (0, mobx_1.when)(() => Boolean(this.quickviewManager?.store.isOpen));
483
+ const Component = await target.component();
484
+ setTimeout(() => {
485
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, { quickviewManager: this.quickviewManager, snap: this, ...target.props }), elem);
486
+ });
487
+ }
488
+ catch (err) {
489
+ this.logger.error(err);
490
+ this.logger.error(COMPONENT_ERROR, target);
491
+ }
492
+ });
493
+ });
494
+ }
495
+ catch (err) {
496
+ this.logger.error(`Failed to create the Quickview Manager.`, err);
497
+ }
498
+ }
457
499
  // create controllers
458
500
  Object.keys(this.config?.controllers || {}).forEach((type) => {
459
501
  switch (type) {
@@ -477,6 +519,7 @@ class Snap {
477
519
  profiler: controller.services?.profiler,
478
520
  logger: controller.services?.logger,
479
521
  tracker: controller.services?.tracker || this.tracker,
522
+ quickviewManager: controller.services?.quickviewManager || this.quickviewManager,
480
523
  });
481
524
  window.athos.controller = window.athos.controller || {};
482
525
  window.athos.controller[cntrlr.config.id] = this.controllers[cntrlr.config.id] = cntrlr;
@@ -544,6 +587,73 @@ class Snap {
544
587
  });
545
588
  break;
546
589
  }
590
+ case 'chat': {
591
+ this.config.controllers[type].forEach((controller, index) => {
592
+ if (typeof this._controllerPromises[controller.config.id] != 'undefined') {
593
+ this.logger.error(`Controller with id '${controller.config.id}' is already defined`);
594
+ return;
595
+ }
596
+ this._controllerPromises[controller.config.id] = new Promise(async (resolve) => {
597
+ try {
598
+ // `_initialized` is only set after the awaited init fires, so two chat
599
+ // targeters would otherwise both re-run the init middleware
600
+ let initialized = false;
601
+ const targetFunction = async (target, elem, originalElem) => {
602
+ const onTarget = target.onTarget;
603
+ onTarget && (await onTarget(target, elem, originalElem));
604
+ try {
605
+ const importPromises = [];
606
+ // dynamically import the component
607
+ importPromises.push(target.component());
608
+ const importResolutions = await Promise.all(importPromises);
609
+ const Component = importResolutions[0];
610
+ setTimeout(() => {
611
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, { controller: this.controllers[controller.config.id], snap: this, ...target.props }), elem);
612
+ });
613
+ }
614
+ catch (err) {
615
+ this.logger.error(err);
616
+ this.logger.error(COMPONENT_ERROR, target);
617
+ }
618
+ };
619
+ if (!controller?.targeters || controller?.targeters.length === 0) {
620
+ const cntrlr = await this._createController(snap_controller_1.ControllerTypes.chat, controller.config, controller.services, controller.url, controller.context, (cntrlr) => {
621
+ if (cntrlr)
622
+ resolve(cntrlr);
623
+ });
624
+ if (!cntrlr.initialized)
625
+ cntrlr.init();
626
+ }
627
+ controller?.targeters?.forEach((target, target_index) => {
628
+ if (!target.selector) {
629
+ throw new Error(`Targets at index ${target_index} missing selector value (string).`);
630
+ }
631
+ if (!target.component) {
632
+ throw new Error(`Targets at index ${target_index} missing component value (Component).`);
633
+ }
634
+ target = (0, utils_1.applyChatTargetInject)(target);
635
+ const targeter = new snap_toolbox_1.DomTargeter([{ ...target }], async (target, elem, originalElem) => {
636
+ const cntrlr = await this._createController(snap_controller_1.ControllerTypes.chat, controller.config, controller.services, controller.url, controller.context, (cntrlr) => {
637
+ if (cntrlr)
638
+ resolve(cntrlr);
639
+ });
640
+ if (!initialized) {
641
+ initialized = true;
642
+ if (!cntrlr.initialized)
643
+ cntrlr.init();
644
+ }
645
+ targetFunction({ controller: cntrlr, ...target }, elem, originalElem);
646
+ cntrlr.addTargeter(targeter);
647
+ });
648
+ });
649
+ }
650
+ catch (err) {
651
+ this.logger.error(`Failed to instantiate ${type} controller at index ${index}.`, err);
652
+ }
653
+ });
654
+ });
655
+ break;
656
+ }
547
657
  case 'autocomplete': {
548
658
  this.config.controllers[type].forEach((controller, index) => {
549
659
  if (typeof this._controllerPromises[controller.config.id] != 'undefined') {
@@ -758,6 +868,7 @@ class Snap {
758
868
  tracker: this.tracker,
759
869
  logger: this.logger,
760
870
  snap: this,
871
+ quickviewManager: this.quickviewManager,
761
872
  }, this.context);
762
873
  });
763
874
  }
@@ -3,9 +3,12 @@ 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.createSearchTargeters = exports.SnapTemplates = exports.applyAutomaticThemeOverrides = exports.TAB_PREFIXED_PARAMS = exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = exports.DEFAULT_FEATURES = exports.TEMPLATE_EDITOR_UI_PARAM = exports.TEMPLATE_EDITOR_COOKIE = void 0;
6
+ exports.createChatTargeters = exports.createSearchTargeters = exports.SnapTemplates = exports.applyAutomaticThemeOverrides = exports.TAB_PREFIXED_PARAMS = exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = exports.DEFAULT_FEATURES = exports.TEMPLATE_EDITOR_UI_PARAM = exports.TEMPLATE_EDITOR_COOKIE = void 0;
7
+ exports.validateTemplatesConfig = validateTemplatesConfig;
8
+ exports.validateTemplatesConfigUnlocked = validateTemplatesConfigUnlocked;
7
9
  exports.mapBreakpoints = mapBreakpoints;
8
10
  exports.createAutocompleteTargeters = createAutocompleteTargeters;
11
+ exports.createQuickviewTargeters = createQuickviewTargeters;
9
12
  exports.createRecommendationComponentMapping = createRecommendationComponentMapping;
10
13
  exports.createSnapConfig = createSnapConfig;
11
14
  exports.createPlugins = createPlugins;
@@ -17,6 +20,7 @@ const Snap_1 = require("../Snap");
17
20
  const TemplateSelect_1 = require("../../components/src/components/Atoms/TemplateSelect");
18
21
  const snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
19
22
  const TemplateStore_1 = require("./Stores/TemplateStore");
23
+ const TargetStore_1 = require("./Stores/TargetStore");
20
24
  const TabManagerStore_1 = require("./Stores/TabManagerStore");
21
25
  const snap_client_1 = require("@athoscommerce/snap-client");
22
26
  const snap_tracker_1 = require("@athoscommerce/snap-tracker");
@@ -24,6 +28,12 @@ const shopify_1 = require("@athoscommerce/snap-platforms/shopify");
24
28
  const utils_1 = require("../utils");
25
29
  exports.TEMPLATE_EDITOR_COOKIE = 'athosEditor';
26
30
  exports.TEMPLATE_EDITOR_UI_PARAM = 'athos-editor';
31
+ function validateTemplatesConfig(config) {
32
+ return config;
33
+ }
34
+ function validateTemplatesConfigUnlocked(config) {
35
+ return config;
36
+ }
27
37
  exports.DEFAULT_FEATURES = {};
28
38
  exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = {
29
39
  trending: {
@@ -210,6 +220,36 @@ const createSearchTargeters = (templateConfig, templatesStore) => {
210
220
  });
211
221
  };
212
222
  exports.createSearchTargeters = createSearchTargeters;
223
+ const createChatTargeters = (templateConfig, templatesStore) => {
224
+ // initial target configs
225
+ const targetConfigs = templateConfig.chat?.targets || [];
226
+ let mergedConfigs;
227
+ if (templatesStore.settings.editMode) {
228
+ const overrideConfigs = (templatesStore.storage.get('overrides.targets.chat') || []);
229
+ mergedConfigs = (0, deepmerge_1.default)(targetConfigs, overrideConfigs, { arrayMerge: utils_1.combineMerge });
230
+ }
231
+ else {
232
+ mergedConfigs = targetConfigs;
233
+ }
234
+ return mergedConfigs.map((targetConfig) => {
235
+ const target = templatesStore.addTarget({ ...targetConfig, type: 'chat' });
236
+ const targeter = {
237
+ selector: targetConfig.selector,
238
+ // inline selectors (e.g. a nav slot) may render after DOMContentLoaded;
239
+ // re-injection at already-targeted elements is prevented by DomTargeter
240
+ autoRetarget: true,
241
+ component: async () => {
242
+ const componentImportPromises = [];
243
+ componentImportPromises.push(templatesStore.library.import.component.chat[targetConfig.component]());
244
+ await Promise.all(componentImportPromises);
245
+ return TemplateSelect_1.TemplateSelect;
246
+ },
247
+ props: { target, templatesStore },
248
+ };
249
+ return (0, utils_1.applyChatTargetInject)(targeter);
250
+ });
251
+ };
252
+ exports.createChatTargeters = createChatTargeters;
213
253
  function createAutocompleteTargeters(templateConfig, templatesStore) {
214
254
  // initial target configs
215
255
  const targetConfigs = templateConfig.autocomplete?.targets || [];
@@ -245,6 +285,36 @@ function createAutocompleteTargeters(templateConfig, templatesStore) {
245
285
  return targeter;
246
286
  });
247
287
  }
288
+ function createQuickviewTargeters(templateConfig, templatesStore) {
289
+ return (templateConfig.quickview?.targets?.map((targetConfig, index) => {
290
+ // Quickview isn't part of the editable targets registry (it's appended to <body> and driven by the
291
+ // QuickviewManager), so build a TargetStore directly rather than via addTarget. This lets the
292
+ // component render through TemplateSelect — the same wrapper used by search/autocomplete — which
293
+ // provides the global templates ThemeProvider. Without it the quickview renders outside the
294
+ // templates theme, falling back to production-mode prop merging where theme overrides (e.g.
295
+ // `quickviewLayout`) are silently dropped.
296
+ const target = new TargetStore_1.TargetStore({
297
+ target: { type: 'quickview', selector: targetConfig.selector || 'body', component: targetConfig.component, index },
298
+ });
299
+ const targeter = {
300
+ selector: targetConfig.selector || 'body',
301
+ inject: {
302
+ action: 'append',
303
+ element: () => {
304
+ const el = document.createElement('div');
305
+ el.id = index === 0 ? 'athos-quickview' : `athos-quickview-${index}`;
306
+ return el;
307
+ },
308
+ },
309
+ component: async () => {
310
+ await templatesStore.library.import.component.quickview[targetConfig.component]();
311
+ return TemplateSelect_1.TemplateSelect;
312
+ },
313
+ props: { target, templatesStore },
314
+ };
315
+ return targeter;
316
+ }) || []);
317
+ }
248
318
  function createRecommendationComponentMapping(templateConfig, templatesStore) {
249
319
  // TODO: throw a warning if keys match inside each recommendation type
250
320
  return Object.keys(templateConfig.recommendation || {})
@@ -306,6 +376,7 @@ function createTabServices(snapConfig, siteId) {
306
376
  function createSnapConfig(templateConfig, templatesStore) {
307
377
  const initiatorPrefix = window?.athos?.managed ? `managed/` : '';
308
378
  const snapConfig = {
379
+ mode: templateConfig.config?.mode,
309
380
  features: templateConfig.features || exports.DEFAULT_FEATURES,
310
381
  client: {
311
382
  globals: {},
@@ -506,6 +577,32 @@ function createSnapConfig(templateConfig, templatesStore) {
506
577
  // }
507
578
  snapConfig.instantiators.recommendation = recommendationInstantiatorConfig;
508
579
  }
580
+ /* CHAT CONTROLLER */
581
+ if (templateConfig.chat && snapConfig.controllers) {
582
+ const chatControllerConfig = {
583
+ config: {
584
+ id: 'chat',
585
+ plugins: createPlugins(templateConfig, templatesStore, 'chat'),
586
+ settings: {
587
+ languageCode: templatesStore.language,
588
+ ...(templateConfig.chat.settings || {}),
589
+ },
590
+ },
591
+ targeters: (0, exports.createChatTargeters)(templateConfig, templatesStore),
592
+ };
593
+ snapConfig.controllers.chat = [chatControllerConfig];
594
+ }
595
+ /* QUICKVIEW MANAGER — injects quickview component(s) into <body> when enabled */
596
+ if (templateConfig.quickview) {
597
+ const quickviewSettings = templateConfig.quickview?.settings;
598
+ snapConfig.quickview = {
599
+ config: {
600
+ id: 'quickview',
601
+ ...(quickviewSettings ? { settings: quickviewSettings } : {}),
602
+ },
603
+ targeters: createQuickviewTargeters(templateConfig, templatesStore),
604
+ };
605
+ }
509
606
  return snapConfig;
510
607
  }
511
608
  function createPlugins(templateConfig, templatesStore, controllerType) {
@@ -514,10 +611,14 @@ function createPlugins(templateConfig, templatesStore, controllerType) {
514
611
  if (controllerType) {
515
612
  controllerConfig = templateConfig[controllerType] || {};
516
613
  }
517
- plugins.push([
518
- templatesStore.library.import.plugins.common.backgroundFilters,
519
- (0, deepmerge_1.default)(templateConfig.plugins?.common?.backgroundFilters || {}, controllerConfig?.plugins?.common?.backgroundFilters || {}),
520
- ]);
614
+ // backgroundFilters writes `config.globals.filters`, which the chat endpoint has no
615
+ // field for — chat carries background filters via `settings.bgFilters` instead
616
+ if (controllerType !== 'chat') {
617
+ plugins.push([
618
+ templatesStore.library.import.plugins.common.backgroundFilters,
619
+ (0, deepmerge_1.default)(templateConfig.plugins?.common?.backgroundFilters || {}, controllerConfig?.plugins?.common?.backgroundFilters || {}),
620
+ ]);
621
+ }
521
622
  plugins.push([
522
623
  templatesStore.library.import.plugins.common.scrollToTop,
523
624
  (0, deepmerge_1.default)(templateConfig.plugins?.common?.scrollToTop || {}, controllerConfig?.plugins?.common?.scrollToTop || {}),
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LibraryStore = void 0;
3
+ exports.LibraryStore = exports.currencyCodes = void 0;
4
4
  const TemplateStore_1 = require("./TemplateStore");
5
5
  const themeComponents_1 = require("../../../components/src/providers/themeComponents");
6
6
  const pluginBackgroundFilters_1 = require("./library/plugins/shopify/pluginBackgroundFilters");
@@ -18,17 +18,40 @@ const pluginScrollToTop_1 = require("./library/plugins/common/pluginScrollToTop"
18
18
  const pluginLogger_1 = require("./library/plugins/common/pluginLogger");
19
19
  const pluginKlaviyoEvents_1 = require("./library/plugins/common/pluginKlaviyoEvents");
20
20
  const CustomComponent_1 = require("./library/components/CustomComponent");
21
+ const currencies_1 = require("./library/currencies/currencies");
22
+ exports.currencyCodes = Object.keys(currencies_1.currencies);
21
23
  class LibraryStore {
22
24
  constructor(params) {
23
25
  this.themes = {};
24
26
  this.components = {
25
27
  search: {},
26
28
  autocomplete: {},
29
+ quickview: {},
27
30
  recommendation: {
28
31
  bundle: {},
29
32
  default: {},
30
33
  email: {},
31
34
  },
35
+ chat: {},
36
+ chatButton: {},
37
+ chatLoadingIndicator: {},
38
+ chatAttachmentContext: {},
39
+ chatInspirationResultMessage: {},
40
+ chatMessageText: {},
41
+ chatMessageUser: {},
42
+ chatProductComparisonMessage: {},
43
+ chatProductQueryMessage: {},
44
+ chatResult: {},
45
+ chatResultsDisplay: {},
46
+ chatSuggestedQuestions: {},
47
+ chatComparisonsTray: {},
48
+ chatComposer: {},
49
+ chatFacetsBar: {},
50
+ chatHistory: {},
51
+ chatMessages: {},
52
+ chatSessionFeedback: {},
53
+ chatSideChat: {},
54
+ chatTopicDrift: {},
32
55
  badge: {},
33
56
  result: {},
34
57
  overlayResult: {},
@@ -50,6 +73,7 @@ class LibraryStore {
50
73
  paginationInfo: {},
51
74
  slideshow: {},
52
75
  price: {},
76
+ productDetail: {},
53
77
  skeleton: {},
54
78
  modal: {},
55
79
  calloutBadge: {},
@@ -66,10 +90,12 @@ class LibraryStore {
66
90
  facetPaletteOptions: {},
67
91
  facetSlider: {},
68
92
  filter: {},
93
+ gallery: {},
69
94
  loadMore: {},
70
95
  overlayBadge: {},
71
96
  pagination: {},
72
97
  perPage: {},
98
+ quantityPicker: {},
73
99
  radioList: {},
74
100
  rating: {},
75
101
  searchInput: {},
@@ -79,6 +105,7 @@ class LibraryStore {
79
105
  swatches: {},
80
106
  tabSelection: {},
81
107
  variantSelection: {},
108
+ productDetailTable: {},
82
109
  terms: {},
83
110
  branchOverride: {},
84
111
  facet: {},
@@ -159,6 +186,16 @@ class LibraryStore {
159
186
  (this.components.autocomplete.AutocompleteModal = (await import('./library/components/AutocompleteModal')).AutocompleteModal));
160
187
  },
161
188
  },
189
+ quickview: {
190
+ QuickviewModal: async () => {
191
+ return (this.components.quickview.QuickviewModal ||
192
+ (this.components.quickview.QuickviewModal = (await import('./library/components/QuickviewModal')).QuickviewModal));
193
+ },
194
+ QuickviewSlideout: async () => {
195
+ return (this.components.quickview.QuickviewSlideout ||
196
+ (this.components.quickview.QuickviewSlideout = (await import('./library/components/QuickviewSlideout')).QuickviewSlideout));
197
+ },
198
+ },
162
199
  search: {
163
200
  SearchCollapsible: async () => {
164
201
  return (this.components.search.SearchCollapsible ||
@@ -208,6 +245,33 @@ class LibraryStore {
208
245
  },
209
246
  },
210
247
  },
248
+ chat: {
249
+ Chat: async () => {
250
+ return this.components.chat.Chat || (this.components.chat.Chat = (await import('./library/components/Chat')).Chat);
251
+ },
252
+ ChatButton: async () => {
253
+ return this.components.chat.ChatButton || (this.components.chat.ChatButton = (await import('./library/components/ChatButton')).ChatButton);
254
+ },
255
+ },
256
+ chatButton: {},
257
+ chatLoadingIndicator: {},
258
+ chatAttachmentContext: {},
259
+ chatInspirationResultMessage: {},
260
+ chatMessageText: {},
261
+ chatMessageUser: {},
262
+ chatProductComparisonMessage: {},
263
+ chatProductQueryMessage: {},
264
+ chatResult: {},
265
+ chatResultsDisplay: {},
266
+ chatSuggestedQuestions: {},
267
+ chatComparisonsTray: {},
268
+ chatComposer: {},
269
+ chatFacetsBar: {},
270
+ chatHistory: {},
271
+ chatMessages: {},
272
+ chatSessionFeedback: {},
273
+ chatSideChat: {},
274
+ chatTopicDrift: {},
211
275
  badge: {},
212
276
  result: {
213
277
  Result: async () => {
@@ -237,6 +301,7 @@ class LibraryStore {
237
301
  paginationInfo: {},
238
302
  slideshow: {},
239
303
  price: {},
304
+ productDetail: {},
240
305
  skeleton: {},
241
306
  modal: {},
242
307
  calloutBadge: {},
@@ -253,10 +318,12 @@ class LibraryStore {
253
318
  facetPaletteOptions: {},
254
319
  facetSlider: {},
255
320
  filter: {},
321
+ gallery: {},
256
322
  loadMore: {},
257
323
  overlayBadge: {},
258
324
  pagination: {},
259
325
  perPage: {},
326
+ quantityPicker: {},
260
327
  radioList: {},
261
328
  rating: {},
262
329
  searchInput: {},
@@ -266,6 +333,7 @@ class LibraryStore {
266
333
  swatches: {},
267
334
  tabSelection: {},
268
335
  variantSelection: {},
336
+ productDetailTable: {},
269
337
  terms: {},
270
338
  branchOverride: {},
271
339
  facet: {},
@@ -280,27 +348,74 @@ class LibraryStore {
280
348
  termsList: {},
281
349
  },
282
350
  language: {
351
+ // English
283
352
  en: async () => {
284
353
  return this.locales.languages.en || (this.locales.languages.en = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/en')).en));
285
354
  },
355
+ // French
286
356
  fr: async () => {
287
357
  return this.locales.languages.fr || (this.locales.languages.fr = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/fr')).fr));
288
358
  },
359
+ // Spanish
289
360
  es: async () => {
290
361
  return this.locales.languages.es || (this.locales.languages.es = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/es')).es));
291
362
  },
292
- },
293
- currency: {
294
- usd: async () => {
295
- return this.locales.currencies.usd || (this.locales.currencies.usd = (await import('./library/currencies/usd')).usd);
363
+ // Arabic
364
+ ar: async () => {
365
+ return this.locales.languages.ar || (this.locales.languages.ar = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/ar')).ar));
366
+ },
367
+ // Chinese
368
+ zh: async () => {
369
+ return this.locales.languages.zh || (this.locales.languages.zh = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/zh')).zh));
370
+ },
371
+ // German
372
+ de: async () => {
373
+ return this.locales.languages.de || (this.locales.languages.de = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/de')).de));
374
+ },
375
+ // Russian
376
+ ru: async () => {
377
+ return this.locales.languages.ru || (this.locales.languages.ru = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/ru')).ru));
378
+ },
379
+ // Japanese
380
+ ja: async () => {
381
+ return this.locales.languages.ja || (this.locales.languages.ja = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/ja')).ja));
382
+ },
383
+ // Portuguese
384
+ pt: async () => {
385
+ return this.locales.languages.pt || (this.locales.languages.pt = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/pt')).pt));
386
+ },
387
+ // Korean
388
+ ko: async () => {
389
+ return this.locales.languages.ko || (this.locales.languages.ko = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/ko')).ko));
390
+ },
391
+ // Italian
392
+ it: async () => {
393
+ return this.locales.languages.it || (this.locales.languages.it = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/it')).it));
394
+ },
395
+ // Hindi
396
+ hi: async () => {
397
+ return this.locales.languages.hi || (this.locales.languages.hi = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/hi')).hi));
398
+ },
399
+ // Turkish
400
+ tr: async () => {
401
+ return this.locales.languages.tr || (this.locales.languages.tr = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/tr')).tr));
296
402
  },
297
- eur: async () => {
298
- return this.locales.currencies.eur || (this.locales.currencies.eur = (await import('./library/currencies/eur')).eur);
403
+ // Vietnamese
404
+ vi: async () => {
405
+ return this.locales.languages.vi || (this.locales.languages.vi = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/vi')).vi));
299
406
  },
300
- aud: async () => {
301
- return this.locales.currencies.aud || (this.locales.currencies.aud = (await import('./library/currencies/aud')).aud);
407
+ // Dutch
408
+ nl: async () => {
409
+ return this.locales.languages.nl || (this.locales.languages.nl = (0, TemplateStore_1.transformTranslationsToTheme)((await import('./library/languages/nl')).nl));
302
410
  },
303
411
  },
412
+ // the per-code importers keep the same async shape as language/theme importers, resolving from the statically imported currencies module
413
+ currency: exports.currencyCodes.reduce((currencyImports, code) => {
414
+ currencyImports[code] = async () => {
415
+ return this.locales.currencies[code] || (this.locales.currencies[code] = currencies_1.currencies[code]);
416
+ };
417
+ return currencyImports;
418
+ }, {}),
304
419
  };
305
420
  const { components, unlocked } = params || {};
306
421
  this.allowedComponentTypes = unlocked ? [...themeComponents_1.ALL_CUSTOM_COMPONENT_TYPES] : [...themeComponents_1.DEFAULT_CUSTOM_COMPONENT_TYPES];
@@ -331,7 +446,10 @@ class LibraryStore {
331
446
  async addComponentImport(type, name, componentFn) {
332
447
  // only allow certain types based on unlocked status
333
448
  if (this.allowedComponentTypes.includes(type) && this.components[type]) {
334
- this.import.component[type][name] = async () => {
449
+ // `chat` declares its library entry with literal keys so template targets stay
450
+ // literal-checked; custom overrides register by arbitrary name, hence the cast
451
+ const componentImports = this.import.component[type];
452
+ componentImports[name] = async () => {
335
453
  return (this.components[type][name] ||
336
454
  (this.components[type][name] = await (0, CustomComponent_1.CustomComponent)({
337
455
  type,
@@ -202,7 +202,12 @@ class TemplateEditorStore {
202
202
  this.templatesStore = templatesStore;
203
203
  this.storage = new snap_toolbox_1.StorageStore({ type: snap_toolbox_1.StorageType.local, key: TemplateStore_1.TEMPLATE_STORE_KEY });
204
204
  this.storedState = this.storage.get('editor') || this.storedState;
205
- this.initial.config = (0, deepmerge_1.default)(this.initial.config, templatesStore.config?.config || {});
205
+ const { language: configLanguage, currency: configCurrency, ...restConfig } = templatesStore.config?.config || {};
206
+ this.initial.config = (0, deepmerge_1.default)(this.initial.config, {
207
+ ...restConfig,
208
+ ...(configLanguage ? { language: configLanguage.toLowerCase() } : {}),
209
+ ...(configCurrency ? { currency: configCurrency.toLowerCase() } : {}),
210
+ });
206
211
  this.initial.controller = {}; // set when registering controllers
207
212
  // set initial targets
208
213
  if (templatesStore.config.search?.targets)
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configUI = void 0;
4
+ const LibraryStore_1 = require("../../LibraryStore");
4
5
  const configUI = (store) => {
5
6
  return [
6
7
  {
@@ -93,11 +94,7 @@ const configUI = (store) => {
93
94
  getDisplayState: () => 'visible',
94
95
  getOptions: () => [
95
96
  {
96
- options: [
97
- { label: 'USD', value: 'usd' },
98
- { label: 'EUR', value: 'eur' },
99
- { label: 'AUD', value: 'aud' },
100
- ],
97
+ options: LibraryStore_1.currencyCodes.map((code) => ({ label: code.toUpperCase(), value: code })),
101
98
  },
102
99
  ],
103
100
  getValue: () => {