@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
@@ -1,6 +1,6 @@
1
1
  import type { Client, ClientConfig, ClientGlobals } from '@athoscommerce/snap-client';
2
- import type { ControllerConfig, SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ContextVariables, ChatControllerConfig } from '@athoscommerce/snap-controller';
3
- import type { SearchStore, AutocompleteStore, FinderStore, RecommendationStore, ChatStore } from '@athoscommerce/snap-store-mobx';
2
+ import type { ControllerConfig, SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ContextVariables, QuickviewManager } from '@athoscommerce/snap-controller';
3
+ import type { SearchStore, AutocompleteStore, FinderStore, RecommendationStore } from '@athoscommerce/snap-store-mobx';
4
4
  import type { UrlManager, UrlTranslatorConfig, UrlState } from '@athoscommerce/snap-url-manager';
5
5
  import type { EventManager } from '@athoscommerce/snap-event-manager';
6
6
  import type { Profiler } from '@athoscommerce/snap-profiler';
@@ -12,12 +12,13 @@ import { AppMode } from '@athoscommerce/snap-toolbox';
12
12
  export type IntegrationPlatforms = 'shopify' | 'bigCommerce' | 'magento2' | 'other';
13
13
  export type SnapControllerServices = {
14
14
  client?: Client;
15
- store?: SearchStore | AutocompleteStore | FinderStore | RecommendationStore | ChatStore;
15
+ store?: SearchStore | AutocompleteStore | FinderStore | RecommendationStore;
16
16
  urlManager?: UrlManager;
17
17
  eventManager?: EventManager;
18
18
  profiler?: Profiler;
19
19
  logger?: Logger;
20
20
  tracker?: Tracker;
21
+ quickviewManager?: QuickviewManager;
21
22
  };
22
23
  type UrlParameterConfig<Type> = {
23
24
  [Property in keyof Type]: {
@@ -56,19 +57,14 @@ export type SnapSearchControllerConfig = {
56
57
  controller: SearchControllerConfig;
57
58
  context?: ContextVariables;
58
59
  };
59
- export type SnapChatControllerConfig = {
60
- mode?: keyof typeof AppMode | AppMode;
61
- url?: UrlTranslatorConfig;
62
- client?: {
63
- globals: ClientGlobals;
64
- config?: ClientConfig;
65
- };
66
- controller: ChatControllerConfig;
67
- context?: ContextVariables;
68
- };
69
60
  export type SnapAutocompleteControllerConfig = {
70
61
  mode?: keyof typeof AppMode | AppMode;
71
- url?: UrlTranslatorConfig;
62
+ url?: UrlTranslatorConfig & {
63
+ globals?: {
64
+ param: string;
65
+ value: string;
66
+ }[];
67
+ };
72
68
  client?: {
73
69
  globals: ClientGlobals;
74
70
  config?: ClientConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export { applyChatTargetInject } from './applyChatTargetInject';
2
1
  export { configureSnapFeatures } from './configureSnapFeatures/configureSnapFeatures';
3
2
  export { combineMerge } from './combineMerge';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,2 @@
1
- export { applyChatTargetInject } from './applyChatTargetInject';
2
1
  export { configureSnapFeatures } from './configureSnapFeatures/configureSnapFeatures';
3
2
  export { combineMerge } from './combineMerge';
@@ -0,0 +1,5 @@
1
+ module.exports = {
2
+ rules: {
3
+ 'validate-config': require('./validate-config.cjs'),
4
+ },
5
+ };
@@ -0,0 +1,473 @@
1
+ /**
2
+ * ESLint rule: validate-config
3
+ *
4
+ * Validates component reference props against the appropriate
5
+ * section in `components` based on the property path context, and
6
+ * validates search/autocomplete tab controller configs.
7
+ */
8
+
9
+ const PROVIDED_COMPONENT_KEYS = {
10
+ result: ['Result', 'OverlayResult'],
11
+ };
12
+
13
+ const VALIDATE_CONFIG_FUNCTION_NAMES = ['validateTemplatesConfig', 'validateTemplatesConfigUnlocked'];
14
+ const TEMPLATES_CONSTRUCTOR_NAMES = ['SnapTemplates', 'SnapHybrid'];
15
+
16
+ module.exports = {
17
+ meta: {
18
+ type: 'problem',
19
+ docs: {
20
+ description:
21
+ 'Validate that customComponent and resultComponent values match keys in components, and that tab controllers are configured consistently',
22
+ },
23
+ messages: {
24
+ invalidCustomComponent: '"{{ value }}" is not a valid customComponent for "{{ componentType }}". Must be one of: {{ validKeys }}.',
25
+ noCustomComponents: '"{{ value }}" is not a valid customComponent. No keys found in components.{{ componentType }}.',
26
+ invalidResultComponent: '"{{ value }}" is not a valid resultComponent. Must be one of: {{ validKeys }}.',
27
+ noResultComponents: '"{{ value }}" is not a valid resultComponent. No keys found in components.result.',
28
+ invalidGlobalResultComponent: '"{{ value }}" is not a valid globalResultComponent. Must be one of: {{ validKeys }}.',
29
+ noGlobalResultComponents: '"{{ value }}" is not a valid globalResultComponent. No keys found in components.result.',
30
+ duplicateTabId:
31
+ 'Tab id "{{ id }}" is used by more than one tab controller. Every search/autocomplete tab id must be unique, since it becomes the controller id.',
32
+ mismatchedTabParam:
33
+ 'Tab "{{ id }}" (siteId "{{ siteId }}") uses param "{{ param }}", but other tabs sharing siteId "{{ siteId }}" use param "{{ expectedParam }}". Tab controllers across search and autocomplete that share a siteId must use the same param.',
34
+ duplicateSiteIdInFeature:
35
+ 'Tab "{{ id }}" uses siteId "{{ siteId }}", which is already used by another tab in {{ feature }}.tabs. Tabs within the same feature must target unique siteIds.',
36
+ mismatchedTabSiteId:
37
+ 'Tab "{{ id }}" (param "{{ param }}") uses siteId "{{ siteId }}", but other tabs sharing param "{{ param }}" use siteId "{{ expectedSiteId }}". Tab controllers that share a param must use the same siteId.',
38
+ },
39
+ schema: [],
40
+ },
41
+ create(context) {
42
+ return {
43
+ // Find variable declarations typed as SnapTemplatesConfig
44
+ VariableDeclarator(node) {
45
+ const typeAnnotation = node.id?.typeAnnotation?.typeAnnotation;
46
+ if (!typeAnnotation) return;
47
+
48
+ const typeName = typeAnnotation.typeName?.name || typeAnnotation.typeName?.right?.name;
49
+
50
+ if (typeName === 'SnapTemplatesConfig' || typeName === 'SnapTemplatesConfigUnlocked' || typeName === 'SnapTemplatesConfigLocked') {
51
+ const init = node.init;
52
+ if (!init || init.type !== 'ObjectExpression') return;
53
+
54
+ validateConfigObject(init, context);
55
+ }
56
+ },
57
+
58
+ // Find calls to validateTemplatesConfig/validateTemplatesConfigUnlocked
59
+ CallExpression(node) {
60
+ const calleeName = node.callee?.name;
61
+ if (!VALIDATE_CONFIG_FUNCTION_NAMES.includes(calleeName)) return;
62
+
63
+ const [configArg] = node.arguments;
64
+ if (!configArg || configArg.type !== 'ObjectExpression') return;
65
+
66
+ validateConfigObject(configArg, context);
67
+ },
68
+
69
+ // Find inline configs passed directly to new SnapTemplates({...}) / new SnapHybrid({...})
70
+ NewExpression(node) {
71
+ const calleeName = node.callee?.name;
72
+ if (!TEMPLATES_CONSTRUCTOR_NAMES.includes(calleeName)) return;
73
+
74
+ let [configArg] = node.arguments;
75
+ // Unwrap a single-argument wrapper call (e.g. an aliased validateTemplatesConfig import)
76
+ // around the inline config. Calls named validateTemplatesConfig* are skipped here since
77
+ // the CallExpression path already reports on them.
78
+ if (
79
+ configArg &&
80
+ configArg.type === 'CallExpression' &&
81
+ configArg.arguments.length === 1 &&
82
+ !VALIDATE_CONFIG_FUNCTION_NAMES.includes(configArg.callee?.name)
83
+ ) {
84
+ [configArg] = configArg.arguments;
85
+ }
86
+ if (!configArg || configArg.type !== 'ObjectExpression') return;
87
+
88
+ validateConfigObject(configArg, context);
89
+ },
90
+ };
91
+
92
+ /**
93
+ * Run all config validations (customComponent, resultComponent,
94
+ * globalResultComponent, and tab controllers) against a config
95
+ * ObjectExpression, reporting any violations via context.report.
96
+ */
97
+ function validateConfigObject(init, context) {
98
+ // Extract explicitly registered component keys from components.*
99
+ const registeredComponentKeys = extractRegisteredComponentKeys(init);
100
+
101
+ // Validate customComponent nodes using the original path-based lookup
102
+ const customComponentNodes = collectCustomComponentNodes(init);
103
+ for (const { node: ccNode, value, componentType } of customComponentNodes) {
104
+ const validKeys = registeredComponentKeys[componentType] || [];
105
+ if (validKeys.length === 0) {
106
+ context.report({
107
+ node: ccNode,
108
+ messageId: 'noCustomComponents',
109
+ data: { value, componentType },
110
+ });
111
+ } else if (!validKeys.includes(value)) {
112
+ context.report({
113
+ node: ccNode,
114
+ messageId: 'invalidCustomComponent',
115
+ data: {
116
+ value,
117
+ componentType,
118
+ validKeys: validKeys.join(', '),
119
+ },
120
+ });
121
+ }
122
+ }
123
+
124
+ // Validate resultComponent nodes against components.result
125
+ const resultComponentNodes = collectResultComponentNodes(init);
126
+ const validResultKeys = Array.from(new Set([...(PROVIDED_COMPONENT_KEYS.result || []), ...(registeredComponentKeys.result || [])]));
127
+ for (const { node: resultNode, value } of resultComponentNodes) {
128
+ if (validResultKeys.length === 0) {
129
+ context.report({
130
+ node: resultNode,
131
+ messageId: 'noResultComponents',
132
+ data: { value },
133
+ });
134
+ } else if (!validResultKeys.includes(value)) {
135
+ context.report({
136
+ node: resultNode,
137
+ messageId: 'invalidResultComponent',
138
+ data: {
139
+ value,
140
+ validKeys: validResultKeys.join(', '),
141
+ },
142
+ });
143
+ }
144
+ }
145
+
146
+ // Validate theme.globalResultComponent against components.result, same as resultComponent
147
+ const globalResultComponentNode = collectGlobalResultComponentNode(init);
148
+ if (globalResultComponentNode) {
149
+ const { node: globalResultNode, value } = globalResultComponentNode;
150
+ if (validResultKeys.length === 0) {
151
+ context.report({
152
+ node: globalResultNode,
153
+ messageId: 'noGlobalResultComponents',
154
+ data: { value },
155
+ });
156
+ } else if (!validResultKeys.includes(value)) {
157
+ context.report({
158
+ node: globalResultNode,
159
+ messageId: 'invalidGlobalResultComponent',
160
+ data: {
161
+ value,
162
+ validKeys: validResultKeys.join(', '),
163
+ },
164
+ });
165
+ }
166
+ }
167
+
168
+ // Validate search/autocomplete tab controller configs
169
+ validateTabs(init, context);
170
+ }
171
+
172
+ /**
173
+ * Validate that every search/autocomplete tab id is unique (it becomes the
174
+ * controller id), that siteIds are unique within a feature's tabs, and that
175
+ * tabs sharing a siteId or a param (across search and autocomplete, or
176
+ * within a feature) agree on the other value too — a siteId and its param
177
+ * identify the same catalog, so they must move together.
178
+ */
179
+ function validateTabs(configObjectExpression, context) {
180
+ const tabs = collectTabs(configObjectExpression);
181
+ if (tabs.length === 0) return;
182
+
183
+ const tabsById = new Map();
184
+ for (const tab of tabs) {
185
+ if (tab.id === undefined) continue;
186
+ if (!tabsById.has(tab.id)) tabsById.set(tab.id, []);
187
+ tabsById.get(tab.id).push(tab);
188
+ }
189
+ for (const [id, group] of tabsById) {
190
+ if (group.length > 1) {
191
+ for (const tab of group) {
192
+ context.report({
193
+ node: tab.idNode,
194
+ messageId: 'duplicateTabId',
195
+ data: { id },
196
+ });
197
+ }
198
+ }
199
+ }
200
+
201
+ const tabsByFeatureAndSiteId = new Map();
202
+ for (const tab of tabs) {
203
+ if (tab.siteId === undefined) continue;
204
+ const key = `${tab.feature} ${tab.siteId}`;
205
+ if (!tabsByFeatureAndSiteId.has(key)) tabsByFeatureAndSiteId.set(key, []);
206
+ tabsByFeatureAndSiteId.get(key).push(tab);
207
+ }
208
+ for (const group of tabsByFeatureAndSiteId.values()) {
209
+ if (group.length > 1) {
210
+ for (const tab of group) {
211
+ context.report({
212
+ node: tab.siteIdNode,
213
+ messageId: 'duplicateSiteIdInFeature',
214
+ data: { id: tab.id, siteId: tab.siteId, feature: tab.feature },
215
+ });
216
+ }
217
+ }
218
+ }
219
+
220
+ const tabsBySiteId = new Map();
221
+ for (const tab of tabs) {
222
+ if (tab.siteId === undefined || tab.param === undefined) continue;
223
+ if (!tabsBySiteId.has(tab.siteId)) tabsBySiteId.set(tab.siteId, []);
224
+ tabsBySiteId.get(tab.siteId).push(tab);
225
+ }
226
+ for (const [siteId, group] of tabsBySiteId) {
227
+ // only enforce when the siteId is shared across both search and autocomplete tabs
228
+ if (!group.some((tab) => tab.feature === 'search') || !group.some((tab) => tab.feature === 'autocomplete')) {
229
+ continue;
230
+ }
231
+
232
+ const expectedParam = group[0].param;
233
+ for (const tab of group) {
234
+ if (tab.param !== expectedParam) {
235
+ context.report({
236
+ node: tab.paramNode,
237
+ messageId: 'mismatchedTabParam',
238
+ data: { id: tab.id, siteId, param: tab.param, expectedParam },
239
+ });
240
+ }
241
+ }
242
+ }
243
+
244
+ const tabsByParam = new Map();
245
+ for (const tab of tabs) {
246
+ if (tab.param === undefined || tab.siteId === undefined) continue;
247
+ if (!tabsByParam.has(tab.param)) tabsByParam.set(tab.param, []);
248
+ tabsByParam.get(tab.param).push(tab);
249
+ }
250
+ for (const [param, group] of tabsByParam) {
251
+ const expectedSiteId = group[0].siteId;
252
+ for (const tab of group) {
253
+ if (tab.siteId !== expectedSiteId) {
254
+ context.report({
255
+ node: tab.siteIdNode,
256
+ messageId: 'mismatchedTabSiteId',
257
+ data: { id: tab.id, param, siteId: tab.siteId, expectedSiteId },
258
+ });
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ /**
265
+ * Collect { feature, id, idNode, siteId, siteIdNode, param, paramNode } for
266
+ * every tab in config.search.tabs and config.autocomplete.tabs.
267
+ */
268
+ function collectTabs(configObjectExpression) {
269
+ const tabs = [];
270
+
271
+ for (const feature of ['search', 'autocomplete']) {
272
+ const featureProp = findProperty(configObjectExpression, feature);
273
+ if (!featureProp || featureProp.value.type !== 'ObjectExpression') continue;
274
+
275
+ const tabsProp = findProperty(featureProp.value, 'tabs');
276
+ if (!tabsProp || tabsProp.value.type !== 'ArrayExpression') continue;
277
+
278
+ for (const element of tabsProp.value.elements) {
279
+ if (!element || element.type !== 'ObjectExpression') continue;
280
+
281
+ const idProp = findProperty(element, 'id');
282
+ const siteIdProp = findProperty(element, 'siteId');
283
+ const paramProp = findProperty(element, 'param');
284
+
285
+ tabs.push({
286
+ feature,
287
+ id: literalStringValue(idProp),
288
+ idNode: idProp?.value,
289
+ siteId: literalStringValue(siteIdProp),
290
+ siteIdNode: siteIdProp?.value,
291
+ param: literalStringValue(paramProp),
292
+ paramNode: paramProp?.value,
293
+ });
294
+ }
295
+ }
296
+
297
+ return tabs;
298
+ }
299
+
300
+ /**
301
+ * Get the string value of a property whose value is a string literal,
302
+ * or undefined if the property is missing or not a string literal
303
+ * (e.g. a computed/spread value we can't statically check).
304
+ */
305
+ function literalStringValue(property) {
306
+ if (!property || property.value.type !== 'Literal' || typeof property.value.value !== 'string') {
307
+ return undefined;
308
+ }
309
+ return property.value.value;
310
+ }
311
+
312
+ /**
313
+ * Extract all explicitly registered keys from all sections in components.*
314
+ * Returns an object like { result: [...], facet: [...], ... }
315
+ */
316
+ function extractRegisteredComponentKeys(objectExpression) {
317
+ const componentsProp = findProperty(objectExpression, 'components');
318
+ if (!componentsProp || componentsProp.value.type !== 'ObjectExpression') {
319
+ return {};
320
+ }
321
+
322
+ const result = {};
323
+ for (const prop of componentsProp.value.properties) {
324
+ if (prop.type === 'Property' && prop.value.type === 'ObjectExpression') {
325
+ const sectionName = getPropertyName(prop);
326
+ result[sectionName] = Array.from(
327
+ new Set([...(result[sectionName] || []), ...prop.value.properties.filter((p) => p.type === 'Property').map((p) => getPropertyName(p))])
328
+ );
329
+ }
330
+ }
331
+ return result;
332
+ }
333
+
334
+ /**
335
+ * Recursively collect all customComponent: 'string' nodes in the config.
336
+ * Also tracks the parent property path to determine which component section to validate against.
337
+ */
338
+ function collectCustomComponentNodes(node, parentPath = []) {
339
+ const results = [];
340
+
341
+ if (node.type === 'ObjectExpression') {
342
+ for (const prop of node.properties) {
343
+ if (prop.type === 'Property') {
344
+ const name = getPropertyName(prop);
345
+ if (name === 'customComponent' && prop.value.type === 'Literal' && typeof prop.value.value === 'string') {
346
+ const componentType = extractComponentTypeFromPath(parentPath);
347
+ results.push({
348
+ node: prop.value,
349
+ value: prop.value.value,
350
+ componentType,
351
+ });
352
+ } else {
353
+ results.push(...collectCustomComponentNodes(prop.value, [...parentPath, name]));
354
+ }
355
+ } else if (prop.type === 'SpreadElement') {
356
+ results.push(...collectCustomComponentNodes(prop.argument, parentPath));
357
+ }
358
+ }
359
+ } else if (node.type === 'ArrayExpression') {
360
+ for (const elem of node.elements) {
361
+ if (elem) {
362
+ results.push(...collectCustomComponentNodes(elem, parentPath));
363
+ }
364
+ }
365
+ }
366
+
367
+ return results;
368
+ }
369
+
370
+ /**
371
+ * Recursively collect all resultComponent: 'string' nodes in the config.
372
+ * These always validate against components.result.
373
+ */
374
+ function collectResultComponentNodes(node) {
375
+ const results = [];
376
+
377
+ if (node.type === 'ObjectExpression') {
378
+ for (const prop of node.properties) {
379
+ if (prop.type === 'Property') {
380
+ const name = getPropertyName(prop);
381
+ if (name === 'resultComponent' && prop.value.type === 'Literal' && typeof prop.value.value === 'string') {
382
+ results.push({
383
+ node: prop.value,
384
+ value: prop.value.value,
385
+ });
386
+ } else {
387
+ results.push(...collectResultComponentNodes(prop.value));
388
+ }
389
+ } else if (prop.type === 'SpreadElement') {
390
+ results.push(...collectResultComponentNodes(prop.argument));
391
+ }
392
+ }
393
+ } else if (node.type === 'ArrayExpression') {
394
+ for (const elem of node.elements) {
395
+ if (elem) {
396
+ results.push(...collectResultComponentNodes(elem));
397
+ }
398
+ }
399
+ }
400
+
401
+ return results;
402
+ }
403
+
404
+ /**
405
+ * Find the theme.globalResultComponent string literal node, if present.
406
+ * It renders the same way resultComponent does (default result override),
407
+ * so it validates against the same components.result keys.
408
+ */
409
+ function collectGlobalResultComponentNode(configObjectExpression) {
410
+ const themeProp = findProperty(configObjectExpression, 'theme');
411
+ if (!themeProp || themeProp.value.type !== 'ObjectExpression') return null;
412
+
413
+ const globalResultComponentProp = findProperty(themeProp.value, 'globalResultComponent');
414
+ if (
415
+ !globalResultComponentProp ||
416
+ globalResultComponentProp.value.type !== 'Literal' ||
417
+ typeof globalResultComponentProp.value.value !== 'string'
418
+ ) {
419
+ return null;
420
+ }
421
+
422
+ return {
423
+ node: globalResultComponentProp.value,
424
+ value: globalResultComponentProp.value.value,
425
+ };
426
+ }
427
+
428
+ /**
429
+ * Extract the component type from a property path
430
+ * e.g., ['overrides', 'default', 'facet.size'] -> 'facet'
431
+ * e.g., ['overrides', 'default', 'result'] -> 'result'
432
+ * e.g., ['theme', 'overrides', 'mobile', 'sidebar'] -> 'sidebar'
433
+ * e.g., ['overrides', 'search result'] -> 'result'
434
+ * e.g., ['overrides', 'recommendationBundle result'] -> 'result'
435
+ */
436
+ function extractComponentTypeFromPath(path) {
437
+ // Look at the last meaningful segment of the path
438
+ for (let i = path.length - 1; i >= 0; i--) {
439
+ let segment = path[i];
440
+ // Skip common structural keys
441
+ if (['overrides', 'default', 'desktop', 'tablet', 'mobile', 'theme', 'components'].includes(segment)) {
442
+ continue;
443
+ }
444
+ // Handle space-delimited keys like 'search result' -> 'result'
445
+ if (segment.includes(' ')) {
446
+ segment = segment.split(' ').pop();
447
+ }
448
+ // Handle dot-notation like 'facet.size' -> 'facet'
449
+ if (segment.includes('.')) {
450
+ return segment.split('.')[0];
451
+ }
452
+ return segment;
453
+ }
454
+ return 'unknown';
455
+ }
456
+
457
+ /**
458
+ * Find a property by name in an ObjectExpression
459
+ */
460
+ function findProperty(objectExpression, name) {
461
+ return objectExpression.properties.find((p) => p.type === 'Property' && getPropertyName(p) === name);
462
+ }
463
+
464
+ /**
465
+ * Get the name of a property key (handles Identifier and Literal keys)
466
+ */
467
+ function getPropertyName(property) {
468
+ if (property.key.type === 'Identifier') return property.key.name;
469
+ if (property.key.type === 'Literal') return String(property.key.value);
470
+ return null;
471
+ }
472
+ },
473
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athoscommerce/snap-preact",
3
- "version": "1.10.1-beta.150+757b77210",
3
+ "version": "1.12.0",
4
4
  "description": "Snap Preact",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "module": "dist/esm/src/index.js",
@@ -28,26 +28,24 @@
28
28
  "storybook": "storybook dev -c ./components/.storybook -p 6006"
29
29
  },
30
30
  "dependencies": {
31
- "@athoscommerce/snap-client": "1.10.1-beta.150+757b77210",
32
- "@athoscommerce/snap-controller": "1.10.1-beta.150+757b77210",
33
- "@athoscommerce/snap-event-manager": "1.10.1-beta.150+757b77210",
34
- "@athoscommerce/snap-logger": "1.10.1-beta.150+757b77210",
35
- "@athoscommerce/snap-platforms": "1.10.1-beta.150+757b77210",
36
- "@athoscommerce/snap-profiler": "1.10.1-beta.150+757b77210",
37
- "@athoscommerce/snap-store-mobx": "1.10.1-beta.150+757b77210",
38
- "@athoscommerce/snap-toolbox": "1.10.1-beta.150+757b77210",
39
- "@athoscommerce/snap-tracker": "1.10.1-beta.150+757b77210",
40
- "@athoscommerce/snap-url-manager": "1.10.1-beta.150+757b77210",
31
+ "@athoscommerce/snap-client": "1.12.0",
32
+ "@athoscommerce/snap-controller": "1.12.0",
33
+ "@athoscommerce/snap-event-manager": "1.12.0",
34
+ "@athoscommerce/snap-logger": "1.12.0",
35
+ "@athoscommerce/snap-platforms": "1.12.0",
36
+ "@athoscommerce/snap-profiler": "1.12.0",
37
+ "@athoscommerce/snap-store-mobx": "1.12.0",
38
+ "@athoscommerce/snap-toolbox": "1.12.0",
39
+ "@athoscommerce/snap-tracker": "1.12.0",
40
+ "@athoscommerce/snap-url-manager": "1.12.0",
41
41
  "@emotion/react": "11.13.0",
42
42
  "acorn": "8.16.0",
43
43
  "classnames": "^2.3.2",
44
44
  "colord": "^2.9.3",
45
45
  "deepmerge": "4.3.1",
46
46
  "dequal": "2.0.3",
47
- "dompurify": "^3.2.4",
48
47
  "intersection-observer": "0.12.2",
49
48
  "is-plain-object": "5.0.0",
50
- "marked": "17.0.6",
51
49
  "react-ranger": "2.1.0",
52
50
  "swiper": "11.0.7"
53
51
  },
@@ -86,7 +84,8 @@
86
84
  "sideEffects": false,
87
85
  "files": [
88
86
  "dist/**/*",
89
- "webpack"
87
+ "webpack",
88
+ "eslint/src"
90
89
  ],
91
90
  "exports": {
92
91
  ".": {
@@ -104,7 +103,8 @@
104
103
  "import": "./dist/esm/toolbox/src/index.js",
105
104
  "require": "./dist/cjs/toolbox/src/index.js"
106
105
  },
107
- "./webpack": "./webpack/index.js"
106
+ "./webpack": "./webpack/index.js",
107
+ "./eslintplugin": "./eslint/src/index.cjs"
108
108
  },
109
- "gitHead": "757b772105b42169f39059f0e3bfeab2f676d021"
109
+ "gitHead": "cc4e3d016b33074fe8242a7b7ea3c625e2c8708b"
110
110
  }