@athoscommerce/snap-preact 1.10.1-beta.150 → 1.12.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 (612) hide show
  1. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +25 -62
  2. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +0 -13
  3. package/dist/cjs/components/src/components/Atoms/Image/Image.js +10 -2
  4. package/dist/cjs/components/src/components/Atoms/ProductDetail/ProductDetail.js +98 -0
  5. package/dist/cjs/components/src/components/Atoms/ProductDetail/index.js +7 -0
  6. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +16 -3
  7. package/dist/cjs/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +4 -1
  8. package/dist/cjs/components/src/components/Molecules/Gallery/Gallery.js +298 -0
  9. package/dist/cjs/components/src/components/{Templates/Chat → Molecules/Gallery}/index.js +1 -1
  10. package/dist/cjs/components/src/components/Molecules/Grid/Grid.js +9 -13
  11. package/dist/cjs/components/src/components/Molecules/List/List.js +9 -13
  12. package/dist/cjs/components/src/components/Molecules/Modal/Modal.js +21 -2
  13. package/dist/cjs/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +1 -1
  14. package/dist/cjs/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.js +115 -0
  15. package/dist/cjs/components/src/components/Molecules/{ChatResultsDisplay → ProductDetailTable}/index.js +1 -1
  16. package/dist/cjs/components/src/components/Molecules/QuantityPicker/QuantityPicker.js +136 -0
  17. package/dist/cjs/components/src/components/Molecules/{ChatResult → QuantityPicker}/index.js +1 -1
  18. package/dist/cjs/components/src/components/Molecules/RadioList/RadioList.js +9 -13
  19. package/dist/cjs/components/src/components/Molecules/Result/Result.js +28 -36
  20. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  21. package/dist/cjs/components/src/components/Molecules/Select/Select.js +9 -13
  22. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +33 -26
  23. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +37 -8
  24. package/dist/cjs/components/src/components/Molecules/Swatches/Swatches.js +1 -1
  25. package/dist/cjs/components/src/components/Molecules/TabSelection/TabSelection.js +108 -0
  26. package/dist/cjs/components/src/components/{Templates/ChatButton → Molecules/TabSelection}/index.js +1 -1
  27. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +1 -1
  28. package/dist/cjs/components/src/components/Molecules/VariantSelection/VariantSelection.js +7 -1
  29. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +25 -10
  30. package/dist/cjs/components/src/components/Organisms/Layout/Layout.js +15 -1
  31. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +612 -0
  32. package/dist/cjs/components/src/components/{Molecules/ChatMessageUser → Organisms/QuickviewLayout}/index.js +1 -1
  33. package/dist/cjs/components/src/components/Organisms/Results/Results.js +4 -4
  34. package/dist/cjs/components/src/components/Organisms/Toolbar/Toolbar.js +2 -1
  35. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +13 -11
  36. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +13 -11
  37. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +12 -10
  38. package/dist/cjs/components/src/components/Templates/QuickviewModal/QuickviewModal.js +153 -0
  39. package/dist/cjs/components/src/components/{Molecules/ChatMessageText → Templates/QuickviewModal}/index.js +1 -1
  40. package/dist/cjs/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.js +124 -0
  41. package/dist/cjs/components/src/components/Templates/QuickviewSlideout/index.js +17 -0
  42. package/dist/cjs/components/src/components/Templates/Recommendation/Recommendation.js +2 -1
  43. package/dist/cjs/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +2 -1
  44. package/dist/cjs/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +2 -1
  45. package/dist/cjs/components/src/components/Templates/Search/Search.js +10 -3
  46. package/dist/cjs/components/src/hooks/useA11y.js +3 -1
  47. package/dist/cjs/components/src/hooks/useAcRenderedInput.js +14 -3
  48. package/dist/cjs/components/src/hooks/useClickOutside.js +6 -3
  49. package/dist/cjs/components/src/hooks/useCreateController.js +24 -3
  50. package/dist/cjs/components/src/hooks/useTracking.js +14 -8
  51. package/dist/cjs/components/src/index.js +8 -17
  52. package/dist/cjs/components/src/providers/themeComponents.js +5 -20
  53. package/dist/cjs/components/src/setupTests.js +6 -10
  54. package/dist/cjs/components/src/themes/base/components/templates/index.js +0 -10
  55. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +0 -10
  56. package/dist/cjs/components/src/themes/pike/components/templates/index.js +0 -10
  57. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +0 -10
  58. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +0 -10
  59. package/dist/cjs/components/src/utilities/Colour/Colour.js +0 -41
  60. package/dist/cjs/components/src/utilities/createImpressionObserver.js +1 -1
  61. package/dist/cjs/components/src/utilities/index.js +2 -0
  62. package/dist/cjs/components/src/utilities/lazyRenderMinSize.js +10 -0
  63. package/dist/cjs/components/src/utilities/selectionKey.js +12 -0
  64. package/dist/cjs/components/src/utilities/snapify.js +0 -27
  65. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +2 -1
  66. package/dist/cjs/src/Snap.js +41 -70
  67. package/dist/cjs/src/Templates/SnapTemplates.js +194 -82
  68. package/dist/cjs/src/Templates/Stores/LibraryStore.js +80 -60
  69. package/dist/cjs/src/Templates/Stores/TabManagerStore.js +151 -0
  70. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +6 -1
  71. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +2 -5
  72. package/dist/cjs/src/Templates/Stores/TemplateStore.js +49 -12
  73. package/dist/cjs/src/Templates/Stores/library/components/QuickviewModal.js +5 -0
  74. package/dist/cjs/src/Templates/Stores/library/components/QuickviewSlideout.js +5 -0
  75. package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +1433 -0
  76. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +487 -0
  77. package/dist/cjs/src/Templates/Stores/library/languages/de.js +487 -0
  78. package/dist/cjs/src/Templates/Stores/library/languages/en.js +1 -0
  79. package/dist/cjs/src/Templates/Stores/library/languages/es.js +102 -526
  80. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +105 -527
  81. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +487 -0
  82. package/dist/cjs/src/Templates/Stores/library/languages/it.js +487 -0
  83. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +487 -0
  84. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +487 -0
  85. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +487 -0
  86. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +487 -0
  87. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +487 -0
  88. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +487 -0
  89. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +487 -0
  90. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +487 -0
  91. package/dist/cjs/src/Templates/index.js +3 -1
  92. package/dist/cjs/src/create/createAutocompleteController.js +7 -1
  93. package/dist/cjs/src/create/createRecommendationController.js +1 -0
  94. package/dist/cjs/src/create/createSearchController.js +1 -0
  95. package/dist/cjs/src/create/index.js +1 -3
  96. package/dist/cjs/src/index.js +3 -1
  97. package/dist/cjs/src/setupEvents.js +0 -44
  98. package/dist/cjs/src/utils/index.js +1 -3
  99. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +1 -3
  100. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  101. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +1 -6
  102. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  103. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +26 -63
  104. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +0 -13
  105. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  106. package/dist/esm/components/src/components/Atoms/Icon/paths.js +0 -13
  107. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts +5 -0
  108. package/dist/esm/components/src/components/Atoms/Image/Image.d.ts.map +1 -1
  109. package/dist/esm/components/src/components/Atoms/Image/Image.js +10 -2
  110. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.d.ts +18 -0
  111. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.d.ts.map +1 -0
  112. package/dist/esm/components/src/components/Atoms/ProductDetail/ProductDetail.js +89 -0
  113. package/dist/esm/components/src/components/Atoms/ProductDetail/index.d.ts +3 -0
  114. package/dist/esm/components/src/components/Atoms/ProductDetail/index.d.ts.map +1 -0
  115. package/dist/esm/components/src/components/Atoms/ProductDetail/index.js +3 -0
  116. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +1 -1
  117. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  118. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +16 -3
  119. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.d.ts.map +1 -1
  120. package/dist/esm/components/src/components/Molecules/CalloutBadge/CalloutBadge.js +4 -1
  121. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.d.ts +28 -0
  122. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.d.ts.map +1 -0
  123. package/dist/esm/components/src/components/Molecules/Gallery/Gallery.js +292 -0
  124. package/dist/esm/components/src/components/Molecules/Gallery/index.d.ts +2 -0
  125. package/dist/esm/components/src/components/Molecules/Gallery/index.d.ts.map +1 -0
  126. package/dist/esm/components/src/components/Molecules/Gallery/index.js +1 -0
  127. package/dist/esm/components/src/components/Molecules/Grid/Grid.d.ts.map +1 -1
  128. package/dist/esm/components/src/components/Molecules/Grid/Grid.js +10 -14
  129. package/dist/esm/components/src/components/Molecules/List/List.d.ts.map +1 -1
  130. package/dist/esm/components/src/components/Molecules/List/List.js +10 -14
  131. package/dist/esm/components/src/components/Molecules/Modal/Modal.d.ts.map +1 -1
  132. package/dist/esm/components/src/components/Molecules/Modal/Modal.js +22 -3
  133. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  134. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  135. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.js +1 -1
  136. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.d.ts +14 -0
  137. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.d.ts.map +1 -0
  138. package/dist/esm/components/src/components/Molecules/ProductDetailTable/ProductDetailTable.js +109 -0
  139. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.d.ts +2 -0
  140. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.d.ts.map +1 -0
  141. package/dist/esm/components/src/components/Molecules/ProductDetailTable/index.js +1 -0
  142. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.d.ts +43 -0
  143. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.d.ts.map +1 -0
  144. package/dist/esm/components/src/components/Molecules/QuantityPicker/QuantityPicker.js +130 -0
  145. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.d.ts +2 -0
  146. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.d.ts.map +1 -0
  147. package/dist/esm/components/src/components/Molecules/QuantityPicker/index.js +1 -0
  148. package/dist/esm/components/src/components/Molecules/RadioList/RadioList.d.ts.map +1 -1
  149. package/dist/esm/components/src/components/Molecules/RadioList/RadioList.js +10 -14
  150. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +6 -7
  151. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  152. package/dist/esm/components/src/components/Molecules/Result/Result.js +28 -36
  153. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -3
  154. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  155. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  156. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
  157. package/dist/esm/components/src/components/Molecules/Select/Select.js +10 -14
  158. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  159. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +34 -27
  160. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
  161. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  162. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +37 -8
  163. package/dist/esm/components/src/components/Molecules/Swatches/Swatches.js +1 -1
  164. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.d.ts +32 -0
  165. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.d.ts.map +1 -0
  166. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.js +102 -0
  167. package/dist/esm/components/src/components/Molecules/TabSelection/index.d.ts +2 -0
  168. package/dist/esm/components/src/components/Molecules/TabSelection/index.d.ts.map +1 -0
  169. package/dist/esm/components/src/components/Molecules/TabSelection/index.js +1 -0
  170. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  171. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +1 -1
  172. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.d.ts.map +1 -1
  173. package/dist/esm/components/src/components/Molecules/VariantSelection/VariantSelection.js +7 -1
  174. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +3 -1
  175. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  176. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +25 -10
  177. package/dist/esm/components/src/components/Organisms/Layout/Layout.d.ts +3 -1
  178. package/dist/esm/components/src/components/Organisms/Layout/Layout.d.ts.map +1 -1
  179. package/dist/esm/components/src/components/Organisms/Layout/Layout.js +15 -1
  180. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +53 -0
  181. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -0
  182. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +605 -0
  183. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.d.ts +2 -0
  184. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.d.ts.map +1 -0
  185. package/dist/esm/components/src/components/Organisms/QuickviewLayout/index.js +1 -0
  186. package/dist/esm/components/src/components/Organisms/Results/Results.d.ts.map +1 -1
  187. package/dist/esm/components/src/components/Organisms/Results/Results.js +4 -4
  188. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.d.ts +3 -1
  189. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.d.ts.map +1 -1
  190. package/dist/esm/components/src/components/Organisms/Toolbar/Toolbar.js +2 -1
  191. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +2 -0
  192. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  193. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +13 -11
  194. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +2 -0
  195. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  196. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +13 -11
  197. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +2 -0
  198. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  199. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +12 -10
  200. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.d.ts +12 -0
  201. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.d.ts.map +1 -0
  202. package/dist/esm/components/src/components/Templates/QuickviewModal/QuickviewModal.js +147 -0
  203. package/dist/esm/components/src/components/Templates/QuickviewModal/index.d.ts +2 -0
  204. package/dist/esm/components/src/components/Templates/QuickviewModal/index.d.ts.map +1 -0
  205. package/dist/esm/components/src/components/Templates/QuickviewModal/index.js +1 -0
  206. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.d.ts +16 -0
  207. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.d.ts.map +1 -0
  208. package/dist/esm/components/src/components/Templates/QuickviewSlideout/QuickviewSlideout.js +118 -0
  209. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.d.ts +2 -0
  210. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.d.ts.map +1 -0
  211. package/dist/esm/components/src/components/Templates/QuickviewSlideout/index.js +1 -0
  212. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.d.ts.map +1 -1
  213. package/dist/esm/components/src/components/Templates/Recommendation/Recommendation.js +3 -2
  214. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.d.ts.map +1 -1
  215. package/dist/esm/components/src/components/Templates/RecommendationBundle/RecommendationBundle.js +3 -2
  216. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.d.ts.map +1 -1
  217. package/dist/esm/components/src/components/Templates/RecommendationGrid/RecommendationGrid.js +3 -2
  218. package/dist/esm/components/src/components/Templates/Search/Search.d.ts +2 -0
  219. package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
  220. package/dist/esm/components/src/components/Templates/Search/Search.js +10 -3
  221. package/dist/esm/components/src/hooks/useA11y.d.ts.map +1 -1
  222. package/dist/esm/components/src/hooks/useA11y.js +3 -1
  223. package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts +2 -2
  224. package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  225. package/dist/esm/components/src/hooks/useAcRenderedInput.js +15 -4
  226. package/dist/esm/components/src/hooks/useClickOutside.d.ts +1 -1
  227. package/dist/esm/components/src/hooks/useClickOutside.d.ts.map +1 -1
  228. package/dist/esm/components/src/hooks/useClickOutside.js +6 -3
  229. package/dist/esm/components/src/hooks/useCreateController.d.ts.map +1 -1
  230. package/dist/esm/components/src/hooks/useCreateController.js +24 -3
  231. package/dist/esm/components/src/hooks/useTracking.d.ts +9 -3
  232. package/dist/esm/components/src/hooks/useTracking.d.ts.map +1 -1
  233. package/dist/esm/components/src/hooks/useTracking.js +14 -8
  234. package/dist/esm/components/src/index.d.ts +7 -14
  235. package/dist/esm/components/src/index.d.ts.map +1 -1
  236. package/dist/esm/components/src/index.js +7 -14
  237. package/dist/esm/components/src/providers/langComponents.d.ts +8 -20
  238. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  239. package/dist/esm/components/src/providers/themeComponents.d.ts +135 -256
  240. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  241. package/dist/esm/components/src/providers/themeComponents.js +5 -20
  242. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  243. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  244. package/dist/esm/components/src/setupTests.js +6 -10
  245. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  246. package/dist/esm/components/src/themes/base/components/templates/index.js +0 -10
  247. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  248. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +0 -10
  249. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  250. package/dist/esm/components/src/themes/pike/components/templates/index.js +0 -10
  251. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  252. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +0 -10
  253. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  254. package/dist/esm/components/src/themes/snappy/components/templates/index.js +0 -10
  255. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +0 -15
  256. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  257. package/dist/esm/components/src/utilities/Colour/Colour.js +0 -41
  258. package/dist/esm/components/src/utilities/createImpressionObserver.js +1 -1
  259. package/dist/esm/components/src/utilities/index.d.ts +2 -0
  260. package/dist/esm/components/src/utilities/index.d.ts.map +1 -1
  261. package/dist/esm/components/src/utilities/index.js +2 -0
  262. package/dist/esm/components/src/utilities/lazyRenderMinSize.d.ts +5 -0
  263. package/dist/esm/components/src/utilities/lazyRenderMinSize.d.ts.map +1 -0
  264. package/dist/esm/components/src/utilities/lazyRenderMinSize.js +7 -0
  265. package/dist/esm/components/src/utilities/selectionKey.d.ts +3 -0
  266. package/dist/esm/components/src/utilities/selectionKey.d.ts.map +1 -0
  267. package/dist/esm/components/src/utilities/selectionKey.js +9 -0
  268. package/dist/esm/components/src/utilities/snapify.d.ts +2 -3
  269. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  270. package/dist/esm/components/src/utilities/snapify.js +2 -29
  271. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +4 -2
  272. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  273. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +2 -1
  274. package/dist/esm/src/Snap.d.ts +8 -2
  275. package/dist/esm/src/Snap.d.ts.map +1 -1
  276. package/dist/esm/src/Snap.js +44 -73
  277. package/dist/esm/src/Templates/SnapTemplates.d.ts +32 -5
  278. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  279. package/dist/esm/src/Templates/SnapTemplates.js +190 -81
  280. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +24 -45
  281. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  282. package/dist/esm/src/Templates/Stores/LibraryStore.js +79 -59
  283. package/dist/esm/src/Templates/Stores/TabManagerStore.d.ts +29 -0
  284. package/dist/esm/src/Templates/Stores/TabManagerStore.d.ts.map +1 -0
  285. package/dist/esm/src/Templates/Stores/TabManagerStore.js +146 -0
  286. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  287. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +6 -1
  288. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  289. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +2 -5
  290. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +39 -25
  291. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  292. package/dist/esm/src/Templates/Stores/TemplateStore.js +49 -12
  293. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.d.ts +2 -0
  294. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.d.ts.map +1 -0
  295. package/dist/esm/src/Templates/Stores/library/components/QuickviewModal.js +1 -0
  296. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.d.ts +2 -0
  297. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.d.ts.map +1 -0
  298. package/dist/esm/src/Templates/Stores/library/components/QuickviewSlideout.js +1 -0
  299. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +1270 -0
  300. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -0
  301. package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +1430 -0
  302. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts +3 -0
  303. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -0
  304. package/dist/esm/src/Templates/Stores/library/languages/ar.js +484 -0
  305. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts +3 -0
  306. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -0
  307. package/dist/esm/src/Templates/Stores/library/languages/de.js +484 -0
  308. package/dist/esm/src/Templates/Stores/library/languages/en.d.ts.map +1 -1
  309. package/dist/esm/src/Templates/Stores/library/languages/en.js +1 -0
  310. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  311. package/dist/esm/src/Templates/Stores/library/languages/es.js +102 -526
  312. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  313. package/dist/esm/src/Templates/Stores/library/languages/fr.js +105 -527
  314. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts +3 -0
  315. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -0
  316. package/dist/esm/src/Templates/Stores/library/languages/hi.js +484 -0
  317. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts +3 -0
  318. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -0
  319. package/dist/esm/src/Templates/Stores/library/languages/it.js +484 -0
  320. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts +3 -0
  321. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -0
  322. package/dist/esm/src/Templates/Stores/library/languages/ja.js +484 -0
  323. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts +3 -0
  324. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -0
  325. package/dist/esm/src/Templates/Stores/library/languages/ko.js +484 -0
  326. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts +3 -0
  327. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -0
  328. package/dist/esm/src/Templates/Stores/library/languages/nl.js +484 -0
  329. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts +3 -0
  330. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -0
  331. package/dist/esm/src/Templates/Stores/library/languages/pt.js +484 -0
  332. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts +3 -0
  333. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -0
  334. package/dist/esm/src/Templates/Stores/library/languages/ru.js +484 -0
  335. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts +3 -0
  336. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -0
  337. package/dist/esm/src/Templates/Stores/library/languages/tr.js +484 -0
  338. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts +3 -0
  339. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -0
  340. package/dist/esm/src/Templates/Stores/library/languages/vi.js +484 -0
  341. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts +3 -0
  342. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -0
  343. package/dist/esm/src/Templates/Stores/library/languages/zh.js +484 -0
  344. package/dist/esm/src/Templates/index.d.ts +1 -1
  345. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  346. package/dist/esm/src/Templates/index.js +1 -1
  347. package/dist/esm/src/create/createAutocompleteController.js +7 -1
  348. package/dist/esm/src/create/createRecommendationController.js +1 -0
  349. package/dist/esm/src/create/createSearchController.js +1 -0
  350. package/dist/esm/src/create/index.d.ts +0 -1
  351. package/dist/esm/src/create/index.d.ts.map +1 -1
  352. package/dist/esm/src/create/index.js +0 -1
  353. package/dist/esm/src/index.d.ts +1 -1
  354. package/dist/esm/src/index.d.ts.map +1 -1
  355. package/dist/esm/src/index.js +1 -1
  356. package/dist/esm/src/setupEvents.d.ts +0 -13
  357. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  358. package/dist/esm/src/setupEvents.js +0 -44
  359. package/dist/esm/src/types.d.ts +10 -14
  360. package/dist/esm/src/types.d.ts.map +1 -1
  361. package/dist/esm/src/utils/index.d.ts +0 -1
  362. package/dist/esm/src/utils/index.d.ts.map +1 -1
  363. package/dist/esm/src/utils/index.js +0 -1
  364. package/eslint/src/index.cjs +5 -0
  365. package/eslint/src/validate-config.cjs +473 -0
  366. package/package.json +16 -16
  367. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -99
  368. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -17
  369. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -221
  370. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -17
  371. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -209
  372. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
  373. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -258
  374. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -282
  375. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -173
  376. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
  377. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -577
  378. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -17
  379. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +0 -252
  380. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -113
  381. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -107
  382. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -17
  383. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +0 -621
  384. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +0 -105
  385. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -104
  386. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -161
  387. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -166
  388. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -369
  389. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -130
  390. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -218
  391. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -123
  392. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -173
  393. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -149
  394. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -60
  395. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -66
  396. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -96
  397. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -113
  398. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -135
  399. package/dist/cjs/components/src/components/Organisms/Chat/index.js +0 -18
  400. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +0 -94
  401. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -11
  402. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +0 -18
  403. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +0 -47
  404. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +0 -47
  405. package/dist/cjs/components/src/themes/base/components/templates/chat.js +0 -6
  406. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +0 -6
  407. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +0 -6
  408. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +0 -6
  409. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +0 -6
  410. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +0 -6
  411. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +0 -6
  412. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +0 -6
  413. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +0 -6
  414. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +0 -6
  415. package/dist/cjs/components/src/themes/themeComponents/chat.js +0 -14
  416. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +0 -9
  417. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +0 -5
  418. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +0 -5
  419. package/dist/cjs/src/Templates/Stores/library/currencies/aud.js +0 -10
  420. package/dist/cjs/src/Templates/Stores/library/currencies/eur.js +0 -10
  421. package/dist/cjs/src/Templates/Stores/library/currencies/usd.js +0 -10
  422. package/dist/cjs/src/create/createChatController.js +0 -30
  423. package/dist/cjs/src/utils/applyChatTargetInject.js +0 -25
  424. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -17
  425. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
  426. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -92
  427. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
  428. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
  429. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -1
  430. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +0 -30
  431. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +0 -1
  432. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -215
  433. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +0 -2
  434. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +0 -1
  435. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -1
  436. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -19
  437. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
  438. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -203
  439. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
  440. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
  441. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -1
  442. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +0 -36
  443. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +0 -1
  444. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -252
  445. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +0 -2
  446. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +0 -1
  447. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +0 -1
  448. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +0 -38
  449. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +0 -1
  450. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -276
  451. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +0 -2
  452. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +0 -1
  453. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +0 -1
  454. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -19
  455. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
  456. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -167
  457. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
  458. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
  459. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -1
  460. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -38
  461. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
  462. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -571
  463. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
  464. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
  465. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -1
  466. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +0 -35
  467. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +0 -1
  468. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +0 -246
  469. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +0 -2
  470. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +0 -1
  471. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +0 -1
  472. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +0 -24
  473. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +0 -1
  474. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -107
  475. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +0 -2
  476. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +0 -1
  477. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -1
  478. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +0 -16
  479. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +0 -1
  480. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -101
  481. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +0 -2
  482. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +0 -1
  483. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -1
  484. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +0 -41
  485. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
  486. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +0 -615
  487. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +0 -76
  488. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +0 -1
  489. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +0 -100
  490. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +0 -26
  491. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +0 -1
  492. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -98
  493. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +0 -13
  494. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +0 -1
  495. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -155
  496. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +0 -19
  497. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +0 -1
  498. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -160
  499. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +0 -18
  500. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +0 -1
  501. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -363
  502. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +0 -11
  503. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +0 -1
  504. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -124
  505. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +0 -30
  506. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +0 -1
  507. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -212
  508. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +0 -13
  509. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +0 -1
  510. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -117
  511. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +0 -19
  512. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +0 -1
  513. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -167
  514. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +0 -14
  515. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +0 -1
  516. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -143
  517. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +0 -15
  518. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +0 -1
  519. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -56
  520. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +0 -32
  521. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +0 -1
  522. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -62
  523. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +0 -40
  524. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +0 -1
  525. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -92
  526. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +0 -43
  527. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +0 -1
  528. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -109
  529. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +0 -26
  530. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +0 -1
  531. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -131
  532. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +0 -3
  533. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
  534. package/dist/esm/components/src/components/Organisms/Chat/index.js +0 -2
  535. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +0 -18
  536. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +0 -1
  537. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +0 -88
  538. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +0 -7
  539. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +0 -1
  540. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -8
  541. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +0 -3
  542. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +0 -1
  543. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +0 -2
  544. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +0 -12
  545. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +0 -1
  546. package/dist/esm/components/src/components/Templates/Chat/Chat.js +0 -41
  547. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +0 -2
  548. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +0 -1
  549. package/dist/esm/components/src/components/Templates/Chat/index.js +0 -1
  550. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +0 -13
  551. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +0 -1
  552. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +0 -41
  553. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +0 -2
  554. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +0 -1
  555. package/dist/esm/components/src/components/Templates/ChatButton/index.js +0 -1
  556. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +0 -4
  557. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +0 -1
  558. package/dist/esm/components/src/themes/base/components/templates/chat.js +0 -3
  559. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +0 -4
  560. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +0 -1
  561. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +0 -3
  562. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +0 -4
  563. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +0 -1
  564. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +0 -3
  565. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +0 -4
  566. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +0 -1
  567. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +0 -3
  568. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +0 -4
  569. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +0 -1
  570. package/dist/esm/components/src/themes/pike/components/templates/chat.js +0 -3
  571. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +0 -4
  572. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +0 -1
  573. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +0 -3
  574. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +0 -4
  575. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +0 -1
  576. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +0 -3
  577. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +0 -4
  578. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +0 -1
  579. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +0 -3
  580. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +0 -4
  581. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +0 -1
  582. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +0 -3
  583. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +0 -4
  584. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +0 -1
  585. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +0 -3
  586. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +0 -4
  587. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +0 -1
  588. package/dist/esm/components/src/themes/themeComponents/chat.js +0 -11
  589. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +0 -4
  590. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +0 -1
  591. package/dist/esm/components/src/themes/themeComponents/chatButton.js +0 -6
  592. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +0 -2
  593. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
  594. package/dist/esm/src/Templates/Stores/library/components/Chat.js +0 -1
  595. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +0 -2
  596. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +0 -1
  597. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +0 -1
  598. package/dist/esm/src/Templates/Stores/library/currencies/aud.d.ts +0 -8
  599. package/dist/esm/src/Templates/Stores/library/currencies/aud.d.ts.map +0 -1
  600. package/dist/esm/src/Templates/Stores/library/currencies/aud.js +0 -7
  601. package/dist/esm/src/Templates/Stores/library/currencies/eur.d.ts +0 -8
  602. package/dist/esm/src/Templates/Stores/library/currencies/eur.d.ts.map +0 -1
  603. package/dist/esm/src/Templates/Stores/library/currencies/eur.js +0 -7
  604. package/dist/esm/src/Templates/Stores/library/currencies/usd.d.ts +0 -8
  605. package/dist/esm/src/Templates/Stores/library/currencies/usd.d.ts.map +0 -1
  606. package/dist/esm/src/Templates/Stores/library/currencies/usd.js +0 -7
  607. package/dist/esm/src/create/createChatController.d.ts +0 -5
  608. package/dist/esm/src/create/createChatController.d.ts.map +0 -1
  609. package/dist/esm/src/create/createChatController.js +0 -28
  610. package/dist/esm/src/utils/applyChatTargetInject.d.ts +0 -3
  611. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +0 -1
  612. package/dist/esm/src/utils/applyChatTargetInject.js +0 -22
@@ -15,37 +15,20 @@ import { pluginScrollToTop } from './library/plugins/common/pluginScrollToTop';
15
15
  import { pluginLogger } from './library/plugins/common/pluginLogger';
16
16
  import { pluginKlaviyoEvents } from './library/plugins/common/pluginKlaviyoEvents';
17
17
  import { CustomComponent } from './library/components/CustomComponent';
18
+ import { currencies } from './library/currencies/currencies';
19
+ export const currencyCodes = Object.keys(currencies);
18
20
  export class LibraryStore {
19
21
  constructor(params) {
20
22
  this.themes = {};
21
23
  this.components = {
22
24
  search: {},
23
25
  autocomplete: {},
26
+ quickview: {},
24
27
  recommendation: {
25
28
  bundle: {},
26
29
  default: {},
27
30
  email: {},
28
31
  },
29
- chat: {},
30
- chatButton: {},
31
- chatLoadingIndicator: {},
32
- chatAttachmentContext: {},
33
- chatInspirationResultMessage: {},
34
- chatMessageText: {},
35
- chatMessageUser: {},
36
- chatProductComparisonMessage: {},
37
- chatProductQueryMessage: {},
38
- chatResult: {},
39
- chatResultsDisplay: {},
40
- chatSuggestedQuestions: {},
41
- chatComparisonsTray: {},
42
- chatComposer: {},
43
- chatFacetsBar: {},
44
- chatHistory: {},
45
- chatMessages: {},
46
- chatSessionFeedback: {},
47
- chatSideChat: {},
48
- chatTopicDrift: {},
49
32
  badge: {},
50
33
  result: {},
51
34
  overlayResult: {},
@@ -67,6 +50,7 @@ export class LibraryStore {
67
50
  paginationInfo: {},
68
51
  slideshow: {},
69
52
  price: {},
53
+ productDetail: {},
70
54
  skeleton: {},
71
55
  modal: {},
72
56
  calloutBadge: {},
@@ -83,10 +67,12 @@ export class LibraryStore {
83
67
  facetPaletteOptions: {},
84
68
  facetSlider: {},
85
69
  filter: {},
70
+ gallery: {},
86
71
  loadMore: {},
87
72
  overlayBadge: {},
88
73
  pagination: {},
89
74
  perPage: {},
75
+ quantityPicker: {},
90
76
  radioList: {},
91
77
  rating: {},
92
78
  searchInput: {},
@@ -94,7 +80,9 @@ export class LibraryStore {
94
80
  slideout: {},
95
81
  sortBy: {},
96
82
  swatches: {},
83
+ tabSelection: {},
97
84
  variantSelection: {},
85
+ productDetailTable: {},
98
86
  terms: {},
99
87
  branchOverride: {},
100
88
  facet: {},
@@ -175,6 +163,16 @@ export class LibraryStore {
175
163
  (this.components.autocomplete.AutocompleteModal = (await import('./library/components/AutocompleteModal')).AutocompleteModal));
176
164
  },
177
165
  },
166
+ quickview: {
167
+ QuickviewModal: async () => {
168
+ return (this.components.quickview.QuickviewModal ||
169
+ (this.components.quickview.QuickviewModal = (await import('./library/components/QuickviewModal')).QuickviewModal));
170
+ },
171
+ QuickviewSlideout: async () => {
172
+ return (this.components.quickview.QuickviewSlideout ||
173
+ (this.components.quickview.QuickviewSlideout = (await import('./library/components/QuickviewSlideout')).QuickviewSlideout));
174
+ },
175
+ },
178
176
  search: {
179
177
  SearchCollapsible: async () => {
180
178
  return (this.components.search.SearchCollapsible ||
@@ -224,33 +222,6 @@ export class LibraryStore {
224
222
  },
225
223
  },
226
224
  },
227
- chat: {
228
- Chat: async () => {
229
- return this.components.chat.Chat || (this.components.chat.Chat = (await import('./library/components/Chat')).Chat);
230
- },
231
- ChatButton: async () => {
232
- return this.components.chat.ChatButton || (this.components.chat.ChatButton = (await import('./library/components/ChatButton')).ChatButton);
233
- },
234
- },
235
- chatButton: {},
236
- chatLoadingIndicator: {},
237
- chatAttachmentContext: {},
238
- chatInspirationResultMessage: {},
239
- chatMessageText: {},
240
- chatMessageUser: {},
241
- chatProductComparisonMessage: {},
242
- chatProductQueryMessage: {},
243
- chatResult: {},
244
- chatResultsDisplay: {},
245
- chatSuggestedQuestions: {},
246
- chatComparisonsTray: {},
247
- chatComposer: {},
248
- chatFacetsBar: {},
249
- chatHistory: {},
250
- chatMessages: {},
251
- chatSessionFeedback: {},
252
- chatSideChat: {},
253
- chatTopicDrift: {},
254
225
  badge: {},
255
226
  result: {
256
227
  Result: async () => {
@@ -280,6 +251,7 @@ export class LibraryStore {
280
251
  paginationInfo: {},
281
252
  slideshow: {},
282
253
  price: {},
254
+ productDetail: {},
283
255
  skeleton: {},
284
256
  modal: {},
285
257
  calloutBadge: {},
@@ -296,10 +268,12 @@ export class LibraryStore {
296
268
  facetPaletteOptions: {},
297
269
  facetSlider: {},
298
270
  filter: {},
271
+ gallery: {},
299
272
  loadMore: {},
300
273
  overlayBadge: {},
301
274
  pagination: {},
302
275
  perPage: {},
276
+ quantityPicker: {},
303
277
  radioList: {},
304
278
  rating: {},
305
279
  searchInput: {},
@@ -307,7 +281,9 @@ export class LibraryStore {
307
281
  slideout: {},
308
282
  sortBy: {},
309
283
  swatches: {},
284
+ tabSelection: {},
310
285
  variantSelection: {},
286
+ productDetailTable: {},
311
287
  terms: {},
312
288
  branchOverride: {},
313
289
  facet: {},
@@ -322,27 +298,74 @@ export class LibraryStore {
322
298
  termsList: {},
323
299
  },
324
300
  language: {
301
+ // English
325
302
  en: async () => {
326
303
  return this.locales.languages.en || (this.locales.languages.en = transformTranslationsToTheme((await import('./library/languages/en')).en));
327
304
  },
305
+ // French
328
306
  fr: async () => {
329
307
  return this.locales.languages.fr || (this.locales.languages.fr = transformTranslationsToTheme((await import('./library/languages/fr')).fr));
330
308
  },
309
+ // Spanish
331
310
  es: async () => {
332
311
  return this.locales.languages.es || (this.locales.languages.es = transformTranslationsToTheme((await import('./library/languages/es')).es));
333
312
  },
334
- },
335
- currency: {
336
- usd: async () => {
337
- return this.locales.currencies.usd || (this.locales.currencies.usd = (await import('./library/currencies/usd')).usd);
313
+ // Arabic
314
+ ar: async () => {
315
+ return this.locales.languages.ar || (this.locales.languages.ar = transformTranslationsToTheme((await import('./library/languages/ar')).ar));
316
+ },
317
+ // Chinese
318
+ zh: async () => {
319
+ return this.locales.languages.zh || (this.locales.languages.zh = transformTranslationsToTheme((await import('./library/languages/zh')).zh));
320
+ },
321
+ // German
322
+ de: async () => {
323
+ return this.locales.languages.de || (this.locales.languages.de = transformTranslationsToTheme((await import('./library/languages/de')).de));
324
+ },
325
+ // Russian
326
+ ru: async () => {
327
+ return this.locales.languages.ru || (this.locales.languages.ru = transformTranslationsToTheme((await import('./library/languages/ru')).ru));
328
+ },
329
+ // Japanese
330
+ ja: async () => {
331
+ return this.locales.languages.ja || (this.locales.languages.ja = transformTranslationsToTheme((await import('./library/languages/ja')).ja));
332
+ },
333
+ // Portuguese
334
+ pt: async () => {
335
+ return this.locales.languages.pt || (this.locales.languages.pt = transformTranslationsToTheme((await import('./library/languages/pt')).pt));
336
+ },
337
+ // Korean
338
+ ko: async () => {
339
+ return this.locales.languages.ko || (this.locales.languages.ko = transformTranslationsToTheme((await import('./library/languages/ko')).ko));
340
+ },
341
+ // Italian
342
+ it: async () => {
343
+ return this.locales.languages.it || (this.locales.languages.it = transformTranslationsToTheme((await import('./library/languages/it')).it));
344
+ },
345
+ // Hindi
346
+ hi: async () => {
347
+ return this.locales.languages.hi || (this.locales.languages.hi = transformTranslationsToTheme((await import('./library/languages/hi')).hi));
348
+ },
349
+ // Turkish
350
+ tr: async () => {
351
+ return this.locales.languages.tr || (this.locales.languages.tr = transformTranslationsToTheme((await import('./library/languages/tr')).tr));
338
352
  },
339
- eur: async () => {
340
- return this.locales.currencies.eur || (this.locales.currencies.eur = (await import('./library/currencies/eur')).eur);
353
+ // Vietnamese
354
+ vi: async () => {
355
+ return this.locales.languages.vi || (this.locales.languages.vi = transformTranslationsToTheme((await import('./library/languages/vi')).vi));
341
356
  },
342
- aud: async () => {
343
- return this.locales.currencies.aud || (this.locales.currencies.aud = (await import('./library/currencies/aud')).aud);
357
+ // Dutch
358
+ nl: async () => {
359
+ return this.locales.languages.nl || (this.locales.languages.nl = transformTranslationsToTheme((await import('./library/languages/nl')).nl));
344
360
  },
345
361
  },
362
+ // the per-code importers keep the same async shape as language/theme importers, resolving from the statically imported currencies module
363
+ currency: currencyCodes.reduce((currencyImports, code) => {
364
+ currencyImports[code] = async () => {
365
+ return this.locales.currencies[code] || (this.locales.currencies[code] = currencies[code]);
366
+ };
367
+ return currencyImports;
368
+ }, {}),
346
369
  };
347
370
  const { components, unlocked } = params || {};
348
371
  this.allowedComponentTypes = unlocked ? [...ALL_CUSTOM_COMPONENT_TYPES] : [...DEFAULT_CUSTOM_COMPONENT_TYPES];
@@ -373,10 +396,7 @@ export class LibraryStore {
373
396
  async addComponentImport(type, name, componentFn) {
374
397
  // only allow certain types based on unlocked status
375
398
  if (this.allowedComponentTypes.includes(type) && this.components[type]) {
376
- // `chat` declares its library entry with literal keys so template targets stay
377
- // literal-checked; custom overrides register by arbitrary name, hence the cast
378
- const componentImports = this.import.component[type];
379
- componentImports[name] = async () => {
399
+ this.import.component[type][name] = async () => {
380
400
  return (this.components[type][name] ||
381
401
  (this.components[type][name] = await CustomComponent({
382
402
  type,
@@ -0,0 +1,29 @@
1
+ import type { AbstractController, TabConfig } from '@athoscommerce/snap-controller';
2
+ export declare const TAB_ID_DEFAULT_PARAM = "tab";
3
+ type RedirectSettings = {
4
+ merchandising?: boolean;
5
+ singleResult?: boolean;
6
+ };
7
+ export type Tab = {
8
+ id: string;
9
+ param: string;
10
+ controller: AbstractController;
11
+ siteId: string;
12
+ prefetch: boolean;
13
+ label?: string;
14
+ redirects: RedirectSettings;
15
+ };
16
+ export declare function getActiveTabConfig<TabType extends TabConfig>(tabs: TabType[]): TabType | undefined;
17
+ export declare class TabManagerStore {
18
+ tabs: Tab[];
19
+ active: Tab | undefined;
20
+ param: string;
21
+ constructor(tabConfigs: TabConfig[], controllers: AbstractController[]);
22
+ setActive: (id: string, updateUrl?: boolean) => void;
23
+ private setRedirects;
24
+ private searchTab;
25
+ getTab: (id: string) => Tab;
26
+ getTabByParam: (param: string) => Tab;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=TabManagerStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabManagerStore.d.ts","sourceRoot":"","sources":["../../../../../src/Templates/Stores/TabManagerStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA4C,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAK9H,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,KAAK,gBAAgB,GAAG;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,GAAG,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAUlG;AAED,qBAAa,eAAe;IACpB,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IAErB,YAAY,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAiFrE;IAEM,SAAS,OAAQ,MAAM,+BAqB5B;IAIF,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,SAAS,CAUf;IAEK,MAAM,OAAQ,MAAM,SAEzB;IAEK,aAAa,UAAW,MAAM,SAEnC;CACF"}
@@ -0,0 +1,146 @@
1
+ import { makeObservable, observable, action } from 'mobx';
2
+ import { ControllerTypes } from '@athoscommerce/snap-controller';
3
+ import { url } from '@athoscommerce/snap-toolbox';
4
+ export const TAB_ID_DEFAULT_PARAM = 'tab';
5
+ // resolves the active tab straight from the url - tab controllers begin searching as soon as they
6
+ // are targeted, which happens before any TabManagerStore exists
7
+ export function getActiveTabConfig(tabs) {
8
+ const defaultTab = tabs.filter((tab) => tab.default)[0] || tabs[0];
9
+ const paramValue = url(window.location.href)?.params.query[TAB_ID_DEFAULT_PARAM];
10
+ if (!paramValue) {
11
+ return defaultTab;
12
+ }
13
+ const activeParam = decodeURIComponent(paramValue);
14
+ return tabs.filter((tab) => tab.param == activeParam)[0] || defaultTab;
15
+ }
16
+ export class TabManagerStore {
17
+ constructor(tabConfigs, controllers) {
18
+ this.tabs = [];
19
+ this.setActive = (id, updateUrl = true) => {
20
+ const tabToSelect = this.getTab(id);
21
+ if (!tabToSelect || tabToSelect.id === this.active?.id) {
22
+ return;
23
+ }
24
+ const previousTab = this.active;
25
+ this.setRedirects(previousTab, false);
26
+ this.active = tabToSelect;
27
+ this.setRedirects(tabToSelect, true);
28
+ if (tabToSelect.controller.type == ControllerTypes.search) {
29
+ if (updateUrl) {
30
+ // to remove page chain: `.remove('page')` to urlManager.set(...)
31
+ tabToSelect.controller.urlManager.set(this.param, tabToSelect.param).go();
32
+ }
33
+ this.searchTab(tabToSelect);
34
+ }
35
+ };
36
+ // every tab shares the url and the autocomplete input, so an inactive tab landing on a single
37
+ // result or a merchandising redirect would navigate away from the tab the shopper is viewing
38
+ this.setRedirects = (tab, enabled) => {
39
+ if (!tab) {
40
+ return;
41
+ }
42
+ const config = tab.controller.config;
43
+ config.settings = config.settings || {};
44
+ config.settings.redirects = enabled ? { ...tab.redirects } : { merchandising: false, singleResult: false };
45
+ };
46
+ this.searchTab = (tab) => {
47
+ if (tab.controller.type != ControllerTypes.search) {
48
+ return;
49
+ }
50
+ const searchController = tab.controller;
51
+ if (!searchController.store.loading && !searchController.store.loaded) {
52
+ searchController.search();
53
+ }
54
+ };
55
+ this.getTab = (id) => {
56
+ return this.tabs?.filter((tab) => tab.id == id)[0];
57
+ };
58
+ this.getTabByParam = (param) => {
59
+ return this.tabs?.filter((tab) => tab.param == param)[0];
60
+ };
61
+ this.param = TAB_ID_DEFAULT_PARAM;
62
+ const startingTabConfig = tabConfigs.filter((tab) => tab.default)[0] || tabConfigs[0];
63
+ let urlParam;
64
+ tabConfigs.forEach((tabConfig) => {
65
+ const cntrlr = controllers.filter((controller) => controller.id == tabConfig.id)[0];
66
+ if (!cntrlr) {
67
+ return;
68
+ }
69
+ const newTab = {
70
+ id: tabConfig.id,
71
+ label: tabConfig.label,
72
+ siteId: tabConfig.siteId,
73
+ param: tabConfig.param,
74
+ controller: cntrlr,
75
+ // search-tab only setting - autocomplete has nothing to fetch until the shopper types
76
+ prefetch: 'prefetch' in tabConfig ? tabConfig.prefetch ?? true : true,
77
+ redirects: { ...(cntrlr.config.settings?.redirects || {}) },
78
+ };
79
+ if (cntrlr.type == ControllerTypes.autocomplete) {
80
+ const autocompleteController = cntrlr;
81
+ // hidden form inputs for tab selections
82
+ if (!autocompleteController.config.action) {
83
+ autocompleteController.eventManager.on('beforeSubmit', async (context, next) => {
84
+ if (context.input?.form) {
85
+ addHiddenFormInput(context.input.form, this.param, this.active?.param || newTab.param);
86
+ }
87
+ await next();
88
+ });
89
+ }
90
+ }
91
+ if (cntrlr.type == ControllerTypes.search) {
92
+ const searchController = cntrlr;
93
+ // read the active tab from the url on initial load
94
+ if (!urlParam) {
95
+ urlParam = getTabParamFromUrlState(searchController.urlManager.state[this.param]);
96
+ }
97
+ // functionality for back/forward browser buttons
98
+ searchController.urlManager.subscribe((prev, next) => {
99
+ const nextParam = getTabParamFromUrlState(next?.[this.param]);
100
+ const nextTab = (nextParam && this.getTabByParam(nextParam)) || this.getTab(startingTabConfig.id);
101
+ if (nextTab) {
102
+ this.setActive(nextTab.id, false);
103
+ }
104
+ });
105
+ }
106
+ this.tabs.push(newTab);
107
+ });
108
+ this.active = (urlParam && this.getTabByParam(urlParam)) || this.getTab(startingTabConfig.id) || this.tabs[0];
109
+ makeObservable(this, {
110
+ tabs: observable,
111
+ active: observable,
112
+ setActive: action,
113
+ });
114
+ // the active tab always searches - the rest only when they opt into prefetching
115
+ this.tabs.forEach((tab) => {
116
+ if (tab.id != this.active?.id) {
117
+ this.setRedirects(tab, false);
118
+ }
119
+ if (tab.prefetch || tab.id == this.active?.id) {
120
+ this.searchTab(tab);
121
+ }
122
+ });
123
+ }
124
+ }
125
+ function addHiddenFormInput(form, name, value) {
126
+ // match by property rather than an interpolated attribute selector to avoid selector injection
127
+ const existingElem = Array.from(form.querySelectorAll('input[type="hidden"]')).find((elem) => elem.name === name);
128
+ if (existingElem) {
129
+ // keep the value current - the active tab can change after the input was first appended
130
+ existingElem.value = value;
131
+ return;
132
+ }
133
+ const inputElem = document.createElement('input');
134
+ inputElem.type = 'hidden';
135
+ inputElem.name = name;
136
+ inputElem.value = value;
137
+ form.append(inputElem);
138
+ }
139
+ // custom url params always deserialize as arrays when parsed fresh from the url, but can be a
140
+ // plain string when read back from an in-session localState set() - handle both shapes
141
+ function getTabParamFromUrlState(value) {
142
+ if (Array.isArray(value)) {
143
+ return value[0];
144
+ }
145
+ return typeof value == 'string' ? value : undefined;
146
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateEditorStore.d.ts","sourceRoot":"","sources":["../../../../../../src/Templates/Stores/TemplateEditor/TemplateEditorStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateEditorStore.d.ts","sourceRoot":"","sources":["../../../../../../src/Templates/Stores/TemplateEditor/TemplateEditorStore.ts"],"names":[],"mappings":"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"}
@@ -200,7 +200,12 @@ export class TemplateEditorStore {
200
200
  this.templatesStore = templatesStore;
201
201
  this.storage = new StorageStore({ type: StorageType.local, key: TEMPLATE_STORE_KEY });
202
202
  this.storedState = this.storage.get('editor') || this.storedState;
203
- this.initial.config = deepmerge(this.initial.config, templatesStore.config?.config || {});
203
+ const { language: configLanguage, currency: configCurrency, ...restConfig } = templatesStore.config?.config || {};
204
+ this.initial.config = deepmerge(this.initial.config, {
205
+ ...restConfig,
206
+ ...(configLanguage ? { language: configLanguage.toLowerCase() } : {}),
207
+ ...(configCurrency ? { currency: configCurrency.toLowerCase() } : {}),
208
+ });
204
209
  this.initial.controller = {}; // set when registering controllers
205
210
  // set initial targets
206
211
  if (templatesStore.config.search?.targets)
@@ -1 +1 @@
1
- {"version":3,"file":"configUI.d.ts","sourceRoot":"","sources":["../../../../../../../src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,QAAQ,UAAW,mBAAmB,KAAG,gBAAgB,EAsHrE,CAAC"}
1
+ {"version":3,"file":"configUI.d.ts","sourceRoot":"","sources":["../../../../../../../src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,QAAQ,UAAW,mBAAmB,KAAG,gBAAgB,EAkHrE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { currencyCodes } from '../../LibraryStore';
1
2
  export const configUI = (store) => {
2
3
  return [
3
4
  {
@@ -90,11 +91,7 @@ export const configUI = (store) => {
90
91
  getDisplayState: () => 'visible',
91
92
  getOptions: () => [
92
93
  {
93
- options: [
94
- { label: 'USD', value: 'usd' },
95
- { label: 'EUR', value: 'eur' },
96
- { label: 'AUD', value: 'aud' },
97
- ],
94
+ options: currencyCodes.map((code) => ({ label: code.toUpperCase(), value: code })),
98
95
  },
99
96
  ],
100
97
  getValue: () => {
@@ -1,11 +1,11 @@
1
1
  import type { h } from 'preact';
2
- import { type SearchStoreConfigSettings, type SearchStoreConfig, type AutocompleteStoreConfigSettings, type AutocompleteStoreConfig, type ChatStoreConfigSettings } from '@athoscommerce/snap-store-mobx';
2
+ import { type SearchStoreConfigSettings, type SearchStoreConfig, type AutocompleteStoreConfigSettings, type AutocompleteStoreConfig, type QuickviewConfig } from '@athoscommerce/snap-store-mobx';
3
3
  import { StorageStore } from '@athoscommerce/snap-toolbox';
4
4
  import { ThemeStore, ThemeStoreThemeConfig } from './ThemeStore';
5
5
  import { TargetStore } from './TargetStore';
6
- import { CurrencyCodes, LanguageCodes, LibraryImports, LibraryStore } from './LibraryStore';
7
- import { AppMode } from '@athoscommerce/snap-toolbox';
8
- import type { PluginFunction } from '@athoscommerce/snap-controller';
6
+ import { TabManagerStore } from './TabManagerStore';
7
+ import { CurrencyCodes, CurrencyCodeInput, LanguageCodes, LanguageCodeInput, LibraryImports, LibraryStore } from './LibraryStore';
8
+ import type { PluginFunction, SearchTabConfig, AutocompleteTabConfig, AbstractController } from '@athoscommerce/snap-controller';
9
9
  import type { PluginAddToCartConfig as PluginShopifyAddToCartConfig, PluginBackgroundFiltersConfig as PluginShopifyBackgroundFiltersConfig, PluginMutateResultsConfig as PluginShopifyMutateResultsConfig } from '@athoscommerce/snap-platforms/shopify';
10
10
  import type { PluginAddToCartConfig as PluginMagento2AddToCartConfig, PluginBackgroundFiltersConfig as PluginMagento2BackgroundFiltersConfig, PluginBaseConfig as PluginMagento2BaseConfig } from '@athoscommerce/snap-platforms/magento2';
11
11
  import type { PluginAddToCartConfig as PluginBigCommerceAddToCartConfig, PluginBackgroundFiltersConfig as PluginBigcommerceBackgroundFiltersConfig } from '@athoscommerce/snap-platforms/bigcommerce';
@@ -16,7 +16,7 @@ import type { ClientConfig } from '@athoscommerce/snap-client';
16
16
  import { RecommendationInstantiatorConfigSettings } from '../../Instantiators/RecommendationInstantiator';
17
17
  import type { PluginMarketsConfig } from '@athoscommerce/snap-platforms/shopify';
18
18
  export type TemplateThemeTypes = 'library' | 'local';
19
- export type TemplateTypes = 'search' | 'autocomplete' | `recommendation/${RecsTemplateTypes}` | 'chat';
19
+ export type TemplateTypes = 'search' | 'autocomplete' | `recommendation/${RecsTemplateTypes}`;
20
20
  export type SearchTargetConfig = {
21
21
  selector: string;
22
22
  component: keyof LibraryImports['component']['search'];
@@ -26,9 +26,9 @@ export type AutocompleteTargetConfig = {
26
26
  inputSelector: string;
27
27
  component: keyof LibraryImports['component']['autocomplete'];
28
28
  };
29
- export type ChatTargetConfig = {
30
- selector: string;
31
- component: keyof LibraryImports['component']['chat'];
29
+ export type QuickviewTargetConfig = {
30
+ selector?: string;
31
+ component: keyof LibraryImports['component']['quickview'];
32
32
  };
33
33
  export type RecommendationDefaultTargetConfig = {
34
34
  component: keyof LibraryImports['component']['recommendation']['default'];
@@ -41,7 +41,7 @@ export type RecommendationBundleTargetConfig = {
41
41
  };
42
42
  export type { TemplateDefaultComponentTypes, TemplateCustomComponentTypes } from '../../../components/src';
43
43
  export type RecsTemplateTypes = 'bundle' | 'default' | 'email';
44
- type ComponentLibraryType = keyof LibraryImports['component']['autocomplete'] | keyof LibraryImports['component']['search'] | keyof LibraryImports['component']['chat'] | keyof LibraryImports['component']['recommendation']['default'] | keyof LibraryImports['component']['recommendation']['bundle'] | keyof LibraryImports['component']['recommendation']['email'];
44
+ type ComponentLibraryType = keyof LibraryImports['component']['autocomplete'] | keyof LibraryImports['component']['search'] | keyof LibraryImports['component']['recommendation']['default'] | keyof LibraryImports['component']['recommendation']['bundle'] | keyof LibraryImports['component']['recommendation']['email'];
45
45
  export type TemplateTarget = {
46
46
  type: TemplateTypes;
47
47
  selector?: string;
@@ -115,14 +115,25 @@ export type PluginsConfigsLocked = {
115
115
  export type PluginsConfigsUnlocked = PluginsConfigsLocked & {
116
116
  custom?: CustomPlugins;
117
117
  };
118
+ export type TemplatesSearchTabConfigLocked = SearchTabConfig & {
119
+ plugins?: PluginsConfigsLocked;
120
+ };
121
+ export type TemplatesSearchTabConfigUnlocked = SearchTabConfig & {
122
+ plugins?: PluginsConfigsUnlocked;
123
+ };
124
+ export type TemplatesAutocompleteTabConfigLocked = AutocompleteTabConfig & {
125
+ plugins?: PluginsConfigsLocked;
126
+ };
127
+ export type TemplatesAutocompleteTabConfigUnlocked = AutocompleteTabConfig & {
128
+ plugins?: PluginsConfigsUnlocked;
129
+ };
118
130
  export type TemplatesStoreConfig = TemplatesStoreConfigLocked | TemplatesStoreConfigUnlocked;
119
131
  export type TemplatesStoreConfigLocked = {
120
132
  components?: TemplateStoreComponentConfigLocked;
121
133
  config?: {
122
134
  siteId?: string;
123
- mode?: keyof typeof AppMode | AppMode;
124
- currency?: CurrencyCodes;
125
- language?: LanguageCodes;
135
+ currency?: CurrencyCodeInput;
136
+ language?: LanguageCodeInput;
126
137
  platform?: IntegrationPlatforms;
127
138
  client?: ClientConfig;
128
139
  };
@@ -132,22 +143,23 @@ export type TemplatesStoreConfigLocked = {
132
143
  };
133
144
  theme: TemplatesStoreThemeConfigLocked;
134
145
  search?: {
146
+ tabs?: TemplatesSearchTabConfigLocked[];
135
147
  targets: SearchTargetConfig[];
136
148
  globals?: SearchStoreConfig['globals'];
137
149
  settings?: SearchStoreConfigSettings;
138
150
  plugins?: PluginsConfigsLocked;
139
151
  };
140
152
  autocomplete?: {
153
+ tabs?: TemplatesAutocompleteTabConfigLocked[];
141
154
  targets: AutocompleteTargetConfig[];
142
155
  action?: string;
143
156
  globals?: AutocompleteStoreConfig['globals'];
144
157
  settings?: AutocompleteStoreConfigSettings;
145
158
  plugins?: PluginsConfigsLocked;
146
159
  };
147
- chat?: {
148
- targets: ChatTargetConfig[];
149
- settings?: ChatStoreConfigSettings;
150
- plugins?: PluginsConfigsLocked;
160
+ quickview?: {
161
+ targets: QuickviewTargetConfig[];
162
+ settings?: QuickviewConfig;
151
163
  };
152
164
  recommendation?: {
153
165
  email?: {
@@ -163,19 +175,18 @@ export type TemplatesStoreConfigLocked = {
163
175
  plugins?: PluginsConfigsLocked;
164
176
  };
165
177
  };
166
- export type TemplatesStoreConfigUnlocked = Omit<TemplatesStoreConfigLocked, 'unlocked' | 'theme' | 'components' | 'plugins' | 'search' | 'autocomplete' | 'chat' | 'recommendation'> & {
178
+ export type TemplatesStoreConfigUnlocked = Omit<TemplatesStoreConfigLocked, 'unlocked' | 'theme' | 'components' | 'plugins' | 'search' | 'autocomplete' | 'recommendation'> & {
167
179
  unlocked: true;
168
180
  theme: TemplatesStoreThemeConfigUnlocked;
169
181
  components?: TemplateStoreComponentConfigUnlocked;
170
182
  plugins?: PluginsConfigsUnlocked;
171
- search?: Omit<NonNullable<TemplatesStoreConfigLocked['search']>, 'plugins'> & {
172
- plugins?: PluginsConfigsUnlocked;
173
- };
174
- autocomplete?: Omit<NonNullable<TemplatesStoreConfigLocked['autocomplete']>, 'plugins'> & {
183
+ search?: Omit<NonNullable<TemplatesStoreConfigLocked['search']>, 'plugins' | 'tabs'> & {
175
184
  plugins?: PluginsConfigsUnlocked;
185
+ tabs?: TemplatesSearchTabConfigUnlocked[];
176
186
  };
177
- chat?: Omit<NonNullable<TemplatesStoreConfigLocked['chat']>, 'plugins'> & {
187
+ autocomplete?: Omit<NonNullable<TemplatesStoreConfigLocked['autocomplete']>, 'plugins' | 'tabs'> & {
178
188
  plugins?: PluginsConfigsUnlocked;
189
+ tabs?: TemplatesAutocompleteTabConfigUnlocked[];
179
190
  };
180
191
  recommendation?: Omit<NonNullable<TemplatesStoreConfigLocked['recommendation']>, 'plugins'> & {
181
192
  plugins?: PluginsConfigsUnlocked;
@@ -198,7 +209,6 @@ export declare class TemplatesStore {
198
209
  targets: {
199
210
  search: TargetStore[];
200
211
  autocomplete: TargetStore[];
201
- chat: TargetStore[];
202
212
  recommendation: {
203
213
  [key in RecsTemplateTypes]: TargetStore[];
204
214
  };
@@ -213,14 +223,18 @@ export declare class TemplatesStore {
213
223
  };
214
224
  library: LibraryStore;
215
225
  window: WindowProperties;
226
+ private tabManagers;
216
227
  constructor(params: TemplatesStoreParams);
217
228
  addTarget(target: TemplateTarget): TargetStore | undefined;
218
229
  getTarget(type: TemplateTypes, targetIndex: number): TargetStore | undefined;
230
+ getTabManager(type: 'search' | 'autocomplete', controllers: {
231
+ [id: string]: AbstractController;
232
+ }): TabManagerStore | undefined;
219
233
  addTheme(config: ThemeStoreThemeConfig): void;
220
234
  private setInnerWidth;
221
235
  getThemeStore(themeName?: string): ThemeStore | undefined;
222
- setCurrency(currencyCode: CurrencyCodes): Promise<void>;
223
- setLanguage(languageCode: LanguageCodes): Promise<void>;
236
+ setCurrency(currencyCode: CurrencyCodeInput): Promise<void>;
237
+ setLanguage(languageCode: LanguageCodeInput): Promise<void>;
224
238
  preLoad(): Promise<void>;
225
239
  }
226
240
  export declare function transformTranslationsToTheme(translations: LangComponentOverrides): ThemeMinimal;