@athoscommerce/snap-preact 1.12.1-beta.152 → 1.13.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 (421) hide show
  1. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +11 -56
  2. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +0 -13
  3. package/dist/cjs/components/src/components/Atoms/Price/Price.js +2 -2
  4. package/dist/cjs/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
  5. package/dist/cjs/components/src/components/Molecules/Result/Result.js +4 -51
  6. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  7. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +28 -24
  8. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +59 -34
  9. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
  10. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
  11. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  12. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
  13. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
  14. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
  15. package/dist/cjs/components/src/hooks/useLayoutOptions.js +19 -14
  16. package/dist/cjs/components/src/index.js +1 -17
  17. package/dist/cjs/components/src/providers/themeComponents.js +0 -20
  18. package/dist/cjs/components/src/themes/base/components/templates/index.js +0 -10
  19. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +0 -10
  20. package/dist/cjs/components/src/themes/pike/components/templates/index.js +0 -10
  21. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +0 -10
  22. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +0 -10
  23. package/dist/cjs/components/src/utilities/Colour/Colour.js +0 -41
  24. package/dist/cjs/components/src/utilities/mergeProps.js +647 -184
  25. package/dist/cjs/components/src/utilities/snapify.js +0 -27
  26. package/dist/cjs/src/Snap.js +1 -71
  27. package/dist/cjs/src/Templates/SnapTemplates.js +21 -107
  28. package/dist/cjs/src/Templates/Stores/LibraryStore.js +3 -51
  29. package/dist/cjs/src/Templates/Stores/TemplateStore.js +40 -11
  30. package/dist/cjs/src/Templates/Stores/ThemeStore.js +125 -32
  31. package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +52 -29
  32. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +0 -474
  33. package/dist/cjs/src/Templates/Stores/library/languages/de.js +0 -474
  34. package/dist/cjs/src/Templates/Stores/library/languages/es.js +0 -479
  35. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +0 -479
  36. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +0 -474
  37. package/dist/cjs/src/Templates/Stores/library/languages/it.js +0 -474
  38. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +0 -474
  39. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +0 -474
  40. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +0 -474
  41. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +0 -474
  42. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +0 -474
  43. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +0 -474
  44. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +0 -474
  45. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +0 -474
  46. package/dist/cjs/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +5 -0
  47. package/dist/cjs/src/create/index.js +1 -3
  48. package/dist/cjs/src/setupEvents.js +0 -44
  49. package/dist/cjs/src/utils/index.js +1 -3
  50. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +1 -3
  51. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  52. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +1 -6
  53. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  54. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +12 -57
  55. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +0 -13
  56. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  57. package/dist/esm/components/src/components/Atoms/Icon/paths.js +0 -13
  58. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts +2 -0
  59. package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
  60. package/dist/esm/components/src/components/Atoms/Price/Price.js +2 -2
  61. package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.d.ts.map +1 -1
  62. package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
  63. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  64. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  65. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +3 -7
  66. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  67. package/dist/esm/components/src/components/Molecules/Result/Result.js +4 -51
  68. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -3
  69. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  70. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
  71. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts +2 -2
  72. package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
  73. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  74. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +29 -25
  75. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
  76. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  77. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +59 -34
  78. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  79. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
  80. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
  81. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
  82. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  83. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  84. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
  85. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  86. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
  87. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  88. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
  89. package/dist/esm/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
  90. package/dist/esm/components/src/hooks/useLayoutOptions.js +19 -14
  91. package/dist/esm/components/src/index.d.ts +0 -14
  92. package/dist/esm/components/src/index.d.ts.map +1 -1
  93. package/dist/esm/components/src/index.js +0 -14
  94. package/dist/esm/components/src/providers/langComponents.d.ts +5 -20
  95. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  96. package/dist/esm/components/src/providers/themeComponents.d.ts +215 -396
  97. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  98. package/dist/esm/components/src/providers/themeComponents.js +0 -20
  99. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  100. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  101. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  102. package/dist/esm/components/src/themes/base/components/templates/index.js +0 -10
  103. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  104. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +0 -10
  105. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  106. package/dist/esm/components/src/themes/pike/components/templates/index.js +0 -10
  107. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  108. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +0 -10
  109. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  110. package/dist/esm/components/src/themes/snappy/components/templates/index.js +0 -10
  111. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +0 -15
  112. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  113. package/dist/esm/components/src/utilities/Colour/Colour.js +0 -41
  114. package/dist/esm/components/src/utilities/mergeProps.d.ts +11 -0
  115. package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
  116. package/dist/esm/components/src/utilities/mergeProps.js +647 -184
  117. package/dist/esm/components/src/utilities/snapify.d.ts +2 -3
  118. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  119. package/dist/esm/components/src/utilities/snapify.js +2 -29
  120. package/dist/esm/src/Snap.d.ts +1 -2
  121. package/dist/esm/src/Snap.d.ts.map +1 -1
  122. package/dist/esm/src/Snap.js +2 -72
  123. package/dist/esm/src/Templates/SnapTemplates.d.ts +33 -21
  124. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  125. package/dist/esm/src/Templates/SnapTemplates.js +21 -105
  126. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +7 -43
  127. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  128. package/dist/esm/src/Templates/Stores/LibraryStore.js +3 -51
  129. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +15 -25
  130. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  131. package/dist/esm/src/Templates/Stores/TemplateStore.js +34 -11
  132. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +5 -2
  133. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  134. package/dist/esm/src/Templates/Stores/ThemeStore.js +125 -32
  135. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +27 -0
  136. package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -1
  137. package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +52 -29
  138. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
  139. package/dist/esm/src/Templates/Stores/library/languages/ar.js +0 -474
  140. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
  141. package/dist/esm/src/Templates/Stores/library/languages/de.js +0 -474
  142. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  143. package/dist/esm/src/Templates/Stores/library/languages/es.js +0 -479
  144. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  145. package/dist/esm/src/Templates/Stores/library/languages/fr.js +0 -479
  146. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
  147. package/dist/esm/src/Templates/Stores/library/languages/hi.js +0 -474
  148. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
  149. package/dist/esm/src/Templates/Stores/library/languages/it.js +0 -474
  150. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
  151. package/dist/esm/src/Templates/Stores/library/languages/ja.js +0 -474
  152. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
  153. package/dist/esm/src/Templates/Stores/library/languages/ko.js +0 -474
  154. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
  155. package/dist/esm/src/Templates/Stores/library/languages/nl.js +0 -474
  156. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
  157. package/dist/esm/src/Templates/Stores/library/languages/pt.js +0 -474
  158. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
  159. package/dist/esm/src/Templates/Stores/library/languages/ru.js +0 -474
  160. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
  161. package/dist/esm/src/Templates/Stores/library/languages/tr.js +0 -474
  162. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
  163. package/dist/esm/src/Templates/Stores/library/languages/vi.js +0 -474
  164. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
  165. package/dist/esm/src/Templates/Stores/library/languages/zh.js +0 -474
  166. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts +2 -0
  167. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts.map +1 -0
  168. package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +1 -0
  169. package/dist/esm/src/create/index.d.ts +0 -1
  170. package/dist/esm/src/create/index.d.ts.map +1 -1
  171. package/dist/esm/src/create/index.js +0 -1
  172. package/dist/esm/src/setupEvents.d.ts +0 -13
  173. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  174. package/dist/esm/src/setupEvents.js +0 -44
  175. package/dist/esm/src/types.d.ts +3 -13
  176. package/dist/esm/src/types.d.ts.map +1 -1
  177. package/dist/esm/src/utils/index.d.ts +0 -1
  178. package/dist/esm/src/utils/index.d.ts.map +1 -1
  179. package/dist/esm/src/utils/index.js +0 -1
  180. package/eslint/src/validate-config.cjs +520 -0
  181. package/package.json +13 -15
  182. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -99
  183. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -17
  184. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -221
  185. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -17
  186. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -209
  187. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
  188. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -258
  189. package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +0 -17
  190. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -282
  191. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +0 -17
  192. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -173
  193. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
  194. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -577
  195. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -17
  196. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +0 -252
  197. package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +0 -17
  198. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -113
  199. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -17
  200. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -107
  201. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -17
  202. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +0 -621
  203. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +0 -105
  204. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -104
  205. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -161
  206. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -166
  207. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -369
  208. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -130
  209. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -218
  210. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -123
  211. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -173
  212. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -149
  213. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -60
  214. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -66
  215. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -96
  216. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -113
  217. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -135
  218. package/dist/cjs/components/src/components/Organisms/Chat/index.js +0 -18
  219. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +0 -94
  220. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -11
  221. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +0 -18
  222. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +0 -47
  223. package/dist/cjs/components/src/components/Templates/Chat/index.js +0 -17
  224. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +0 -47
  225. package/dist/cjs/components/src/components/Templates/ChatButton/index.js +0 -17
  226. package/dist/cjs/components/src/themes/base/components/templates/chat.js +0 -6
  227. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +0 -6
  228. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +0 -6
  229. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +0 -6
  230. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +0 -6
  231. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +0 -6
  232. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +0 -6
  233. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +0 -6
  234. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +0 -6
  235. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +0 -6
  236. package/dist/cjs/components/src/themes/themeComponents/chat.js +0 -14
  237. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +0 -9
  238. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +0 -5
  239. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +0 -5
  240. package/dist/cjs/src/create/createChatController.js +0 -30
  241. package/dist/cjs/src/utils/applyChatTargetInject.js +0 -25
  242. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -17
  243. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
  244. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -92
  245. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
  246. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
  247. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -1
  248. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +0 -30
  249. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +0 -1
  250. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -215
  251. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +0 -2
  252. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +0 -1
  253. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -1
  254. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -19
  255. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
  256. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -203
  257. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
  258. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
  259. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -1
  260. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +0 -36
  261. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +0 -1
  262. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -252
  263. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +0 -2
  264. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +0 -1
  265. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +0 -1
  266. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +0 -38
  267. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +0 -1
  268. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -276
  269. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +0 -2
  270. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +0 -1
  271. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +0 -1
  272. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -19
  273. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
  274. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -167
  275. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
  276. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
  277. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -1
  278. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -38
  279. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
  280. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -571
  281. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
  282. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
  283. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.js +0 -1
  284. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +0 -35
  285. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +0 -1
  286. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +0 -246
  287. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +0 -2
  288. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +0 -1
  289. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +0 -1
  290. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +0 -24
  291. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +0 -1
  292. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -107
  293. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +0 -2
  294. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +0 -1
  295. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -1
  296. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +0 -16
  297. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +0 -1
  298. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -101
  299. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +0 -2
  300. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +0 -1
  301. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -1
  302. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +0 -41
  303. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
  304. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +0 -615
  305. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +0 -76
  306. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +0 -1
  307. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +0 -100
  308. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +0 -26
  309. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +0 -1
  310. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -98
  311. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +0 -13
  312. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +0 -1
  313. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -155
  314. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +0 -19
  315. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +0 -1
  316. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -160
  317. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +0 -18
  318. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +0 -1
  319. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -363
  320. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +0 -11
  321. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +0 -1
  322. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -124
  323. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +0 -30
  324. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +0 -1
  325. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -212
  326. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +0 -13
  327. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +0 -1
  328. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -117
  329. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +0 -19
  330. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +0 -1
  331. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -167
  332. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +0 -14
  333. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +0 -1
  334. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -143
  335. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +0 -15
  336. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +0 -1
  337. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -56
  338. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +0 -32
  339. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +0 -1
  340. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -62
  341. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +0 -40
  342. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +0 -1
  343. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -92
  344. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +0 -43
  345. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +0 -1
  346. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -109
  347. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +0 -26
  348. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +0 -1
  349. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -131
  350. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +0 -3
  351. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
  352. package/dist/esm/components/src/components/Organisms/Chat/index.js +0 -2
  353. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +0 -18
  354. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +0 -1
  355. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +0 -88
  356. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +0 -7
  357. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +0 -1
  358. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -8
  359. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +0 -3
  360. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +0 -1
  361. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +0 -2
  362. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +0 -12
  363. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +0 -1
  364. package/dist/esm/components/src/components/Templates/Chat/Chat.js +0 -41
  365. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +0 -2
  366. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +0 -1
  367. package/dist/esm/components/src/components/Templates/Chat/index.js +0 -1
  368. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +0 -13
  369. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +0 -1
  370. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +0 -41
  371. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +0 -2
  372. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +0 -1
  373. package/dist/esm/components/src/components/Templates/ChatButton/index.js +0 -1
  374. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +0 -4
  375. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +0 -1
  376. package/dist/esm/components/src/themes/base/components/templates/chat.js +0 -3
  377. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +0 -4
  378. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +0 -1
  379. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +0 -3
  380. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +0 -4
  381. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +0 -1
  382. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +0 -3
  383. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +0 -4
  384. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +0 -1
  385. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +0 -3
  386. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +0 -4
  387. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +0 -1
  388. package/dist/esm/components/src/themes/pike/components/templates/chat.js +0 -3
  389. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +0 -4
  390. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +0 -1
  391. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +0 -3
  392. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +0 -4
  393. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +0 -1
  394. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +0 -3
  395. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +0 -4
  396. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +0 -1
  397. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +0 -3
  398. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +0 -4
  399. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +0 -1
  400. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +0 -3
  401. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +0 -4
  402. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +0 -1
  403. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +0 -3
  404. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +0 -4
  405. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +0 -1
  406. package/dist/esm/components/src/themes/themeComponents/chat.js +0 -11
  407. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +0 -4
  408. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +0 -1
  409. package/dist/esm/components/src/themes/themeComponents/chatButton.js +0 -6
  410. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +0 -2
  411. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
  412. package/dist/esm/src/Templates/Stores/library/components/Chat.js +0 -1
  413. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +0 -2
  414. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +0 -1
  415. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +0 -1
  416. package/dist/esm/src/create/createChatController.d.ts +0 -5
  417. package/dist/esm/src/create/createChatController.d.ts.map +0 -1
  418. package/dist/esm/src/create/createChatController.js +0 -28
  419. package/dist/esm/src/utils/applyChatTargetInject.d.ts +0 -3
  420. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +0 -1
  421. package/dist/esm/src/utils/applyChatTargetInject.js +0 -22
@@ -16,26 +16,41 @@ class ThemeStore {
16
16
  const { config, dependencies, settings } = params;
17
17
  this.dependencies = dependencies;
18
18
  this.editMode = settings.editMode;
19
- const { name, style, type, base, overrides, editorOverrides, variables, currency, language, languageOverrides, innerWidth } = config;
20
- // add prefixes to base theme components and responsive components
21
- base.components = prefixComponentKeys('*', base.components);
19
+ const { name, style, type, base, overrides, editorOverrides, variables, currency, currencyOverrides, language, languageOverrides, innerWidth } = config;
20
+ // Prefix base + normalize override selector keys into ThemeStore-OWNED copies. `base` is a
21
+ // shared library theme object (the same instance is reused to build multiple ThemeStores),
22
+ // so it must NOT be mutated in place — build fresh objects instead. prefixComponentKeys /
23
+ // normalizeCommaSeparatedKeys already return new objects; here we just avoid reassigning
24
+ // onto the shared inputs.
25
+ const prefixedBase = { ...base };
26
+ prefixedBase.components = prefixComponentKeys('*', flattenCascadingOverrides(base.components));
22
27
  if (base.responsive) {
23
- base.responsive.mobile = prefixComponentKeys('*(M)', base.responsive?.mobile);
24
- base.responsive.tablet = prefixComponentKeys('*(T)', base.responsive?.tablet);
25
- base.responsive.desktop = prefixComponentKeys('*(D)', base.responsive?.desktop);
28
+ prefixedBase.responsive = {
29
+ mobile: prefixComponentKeys('*(M)', flattenCascadingOverrides(base.responsive.mobile)),
30
+ tablet: prefixComponentKeys('*(T)', flattenCascadingOverrides(base.responsive.tablet)),
31
+ desktop: prefixComponentKeys('*(D)', flattenCascadingOverrides(base.responsive.desktop)),
32
+ };
26
33
  }
34
+ const prefixedOverrides = { ...(overrides || {}) };
27
35
  if (overrides?.responsive) {
28
- overrides.responsive.mobile = prefixComponentKeys('(M)', overrides.responsive?.mobile);
29
- overrides.responsive.tablet = prefixComponentKeys('(T)', overrides.responsive?.tablet);
30
- overrides.responsive.desktop = prefixComponentKeys('(D)', overrides.responsive?.desktop);
36
+ prefixedOverrides.responsive = {
37
+ mobile: prefixComponentKeys('(M)', flattenCascadingOverrides(overrides.responsive.mobile)),
38
+ tablet: prefixComponentKeys('(T)', flattenCascadingOverrides(overrides.responsive.tablet)),
39
+ desktop: prefixComponentKeys('(D)', flattenCascadingOverrides(overrides.responsive.desktop)),
40
+ };
41
+ }
42
+ // Normalize comma-separated selectors in override default components (no prefix needed, but commas need normalizing)
43
+ if (overrides?.components) {
44
+ prefixedOverrides.components = normalizeCommaSeparatedKeys(flattenCascadingOverrides(overrides.components));
31
45
  }
32
46
  this.name = name;
33
47
  this.type = type;
34
- this.base = base;
35
- this.overrides = overrides || {};
48
+ this.base = prefixedBase;
49
+ this.overrides = prefixedOverrides;
36
50
  this.editorOverrides = editorOverrides || {};
37
51
  this.variables = variables || {};
38
52
  this.currency = currency;
53
+ this.currencyOverrides = currencyOverrides || {};
39
54
  this.language = language;
40
55
  this.languageOverrides = languageOverrides;
41
56
  this.innerWidth = innerWidth;
@@ -44,47 +59,64 @@ class ThemeStore {
44
59
  name: mobx_1.observable,
45
60
  variables: mobx_1.observable,
46
61
  currency: mobx_1.observable,
62
+ currencyOverrides: mobx_1.observable,
47
63
  language: mobx_1.observable,
64
+ languageOverrides: mobx_1.observable,
48
65
  editorOverrides: mobx_1.observable,
49
66
  innerWidth: mobx_1.observable,
67
+ // memoized breakpoint band. `theme` depends on THIS computed, not on `innerWidth`
68
+ // directly, so a resize that stays within the same band (a common case) recomputes
69
+ // this cheap primitive to the same value and does NOT invalidate the expensive theme
70
+ // merge below.
71
+ activeBreakpoint: mobx_1.computed,
50
72
  theme: mobx_1.computed, // make theme getter a computed property (memoized)
51
73
  });
52
74
  }
75
+ // Current breakpoint band derived from innerWidth. Kept as its own computed so that
76
+ // within-band resizes (which return the same string) do not invalidate the `theme` computed.
77
+ get activeBreakpoint() {
78
+ // const breakpoints = this.variables.breakpoints || this.base.variables?.breakpoints;
79
+ const breakpoints = deepmerge_1.default.all([
80
+ this.base.variables.breakpoints,
81
+ this.variables.breakpoints || {},
82
+ (this.editMode && this.editorOverrides?.variables?.breakpoints) || {},
83
+ ]);
84
+ return getActiveBreakpoint(this.innerWidth, breakpoints);
85
+ }
53
86
  get theme() {
54
87
  /*
55
88
  Themes consist of layers which are deep merged together in order (last merge has highest priority)
56
89
  1. base theme
57
90
  2. base theme responsive breakpoints
58
91
  3. currency
59
- 4. language
60
- 5. language translation overrides
61
- 6. theme overrides
62
- 7. theme overrides at responsive breakpoints
63
- 8. altered theme variables
64
- 9. stored theme editor overrides
65
- 10. stored theme editor overrides at responsive breakpoints
92
+ 4. per currency component overrides
93
+ 5. language
94
+ 6. language translation overrides
95
+ 7. theme overrides
96
+ 8. theme overrides at responsive breakpoints
97
+ 9. altered theme variables
98
+ 10. stored theme editor overrides
99
+ 11. stored theme editor overrides at responsive breakpoints
66
100
  */
67
- // const breakpoints = this.variables.breakpoints || this.base.variables?.breakpoints;
68
- const breakpoints = deepmerge_1.default.all([
69
- this.base.variables.breakpoints,
70
- this.variables.breakpoints || {},
71
- (this.editMode && this.editorOverrides?.variables?.breakpoints) || {},
72
- ]);
73
- const activeBreakpoint = getActiveBreakpoint(this.innerWidth, breakpoints);
101
+ const activeBreakpoint = this.activeBreakpoint;
74
102
  // overrides breakpoint is index file responsive overrides that match current breakpoint
75
103
  const overrideBreakpoint = getOverridesAtActiveBreakpoint(activeBreakpoint, this.overrides);
76
104
  // currently selected theme layer for current breakpoint
77
105
  const baseBreakpoint = getOverridesAtActiveBreakpoint(activeBreakpoint, this.base);
78
- // currently selected theme
79
- const base = { ...this.base };
80
106
  // overrides is index file default overrides
81
107
  const overrides = { ...this.overrides };
82
108
  const themeOverrides = mergeThemeLayers(overrides, overrideBreakpoint, {
83
109
  variables: (0, mobx_1.toJS)(this.variables),
84
110
  });
85
- let theme = mergeThemeLayers(base, baseBreakpoint, this.currency, this.language, this.languageOverrides, themeOverrides, {
111
+ // PERF: deepmerge.all deep-clones its accumulator on EVERY layer, so passing the large base
112
+ // theme as the first of 7 layers re-clones it ~6x per rebuild. Instead, merge the small
113
+ // (non-base) layers together first, then do a SINGLE merge with base — base is deep-cloned
114
+ // once. Output is identical: last-wins deep object/array merge is associative for these
115
+ // layers (verified by the theme-getter tests below, which pin full theme output).
116
+ const overlay = mergeThemeLayers(baseBreakpoint, this.currency, this.currencyOverrides, this.language, this.languageOverrides, themeOverrides, {
86
117
  activeBreakpoint: activeBreakpoint,
87
118
  });
119
+ let theme = mergeThemeLayers(this.base, overlay);
88
120
  /*
89
121
  Ensure 'theme' prop has overrides applied to it
90
122
  - separate the "base" theme from "overrides"
@@ -112,9 +144,11 @@ class ThemeStore {
112
144
  }
113
145
  // TemplateEditor overrides
114
146
  if (this.editMode) {
115
- theme = mergeThemeLayers(theme, this.editorOverrides);
147
+ // PERF: same single-clone pattern — pre-merge the small editor layers, then one merge
148
+ // with the (large) theme instead of cloning the theme twice.
116
149
  const editorOverrideBreakpoint = getOverridesAtActiveBreakpoint(activeBreakpoint, this.editorOverrides);
117
- theme = mergeThemeLayers(theme, editorOverrideBreakpoint);
150
+ const editorOverlay = mergeThemeLayers(this.editorOverrides, editorOverrideBreakpoint);
151
+ theme = mergeThemeLayers(theme, editorOverlay);
118
152
  }
119
153
  const activeStyleFns = [this.base.globalStyle, this.style].filter(Boolean);
120
154
  if (activeStyleFns.length > 0) {
@@ -127,11 +161,13 @@ class ThemeStore {
127
161
  setInnerWidth(innerWidth) {
128
162
  this.innerWidth = innerWidth;
129
163
  }
130
- setCurrency(currency) {
164
+ setCurrency(currency, currencyOverrides = {}) {
131
165
  this.currency = currency;
166
+ this.currencyOverrides = currencyOverrides;
132
167
  }
133
- setLanguage(language) {
168
+ setLanguage(language, languageOverrides = {}) {
134
169
  this.language = language;
170
+ this.languageOverrides = languageOverrides;
135
171
  }
136
172
  setEditorOverrides(overrides) {
137
173
  this.editorOverrides = overrides;
@@ -177,11 +213,55 @@ const arrayMerge = (target, source, options) => {
177
213
  });
178
214
  return destination;
179
215
  };
216
+ function flattenCascadingOverrides(components) {
217
+ if (!components)
218
+ return {};
219
+ const flattened = {};
220
+ Object.keys(components).forEach((key) => {
221
+ //grab the $children property and remove it from the component props so it doesn't get merged into the flattened component
222
+ const { $children, ...ownProps } = components[key] || {};
223
+ flattened[key] = { ...flattened[key], ...ownProps };
224
+ // if there are $children, flatten them and prefix the parent key to each child key
225
+ if ($children) {
226
+ const flatChildren = flattenCascadingOverrides($children);
227
+ const parentParts = key.split(/\s*,\s*/);
228
+ Object.keys(flatChildren).forEach((childKey) => {
229
+ const childParts = childKey.split(/\s*,\s*/);
230
+ const prefixedParts = [];
231
+ parentParts.forEach((parentPart) => {
232
+ childParts.forEach((childPart) => {
233
+ // rebuild the treepath with the parent key and the child key.
234
+ // so that merge props takes these flattened overrides and applied them like normal
235
+ prefixedParts.push(`${parentPart} ${childPart}`);
236
+ });
237
+ });
238
+ const prefixedKey = prefixedParts.join(', ');
239
+ flattened[prefixedKey] = { ...flattened[prefixedKey], ...flatChildren[childKey] };
240
+ });
241
+ }
242
+ });
243
+ return flattened;
244
+ }
180
245
  function prefixComponentKeys(prefix, components) {
181
246
  // TODO: remove any?
182
247
  const newComponents = {};
183
248
  if (components) {
184
249
  Object.keys(components).forEach((key) => {
250
+ // Handle comma-separated selectors by prefixing each individual selector
251
+ // Split on comma with optional surrounding whitespace, normalize to ', '
252
+ if (key.includes(',')) {
253
+ const prefixedKey = key
254
+ .split(/\s*,\s*/)
255
+ .map((part) => {
256
+ // does the part already have the prefix?
257
+ if (part.indexOf(prefix) === 0)
258
+ return part;
259
+ return `${prefix}${part}`;
260
+ })
261
+ .join(', ');
262
+ newComponents[prefixedKey] = components[key];
263
+ return;
264
+ }
185
265
  //does the key already have the prefix? - this is needed when using the editor.
186
266
  if (key.indexOf(prefix) === 0) {
187
267
  newComponents[key] = components[key];
@@ -193,3 +273,16 @@ function prefixComponentKeys(prefix, components) {
193
273
  }
194
274
  return newComponents;
195
275
  }
276
+ function normalizeCommaSeparatedKeys(components) {
277
+ const newComponents = {};
278
+ Object.keys(components).forEach((key) => {
279
+ if (key.includes(',')) {
280
+ const normalized = key.split(/\s*,\s*/).join(', ');
281
+ newComponents[normalized] = components[key];
282
+ }
283
+ else {
284
+ newComponents[key] = components[key];
285
+ }
286
+ });
287
+ return newComponents;
288
+ }
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.currencies = void 0;
4
- // Currencies supported by Snap Templates — matches the list of currencies supported by Shopify (ISO 4217).
5
- // Symbols, decimal places and separators are sourced from CLDR — decimalPlaces is only set when not 2, and
6
- // separators are only set when the currency has a single dominant convention that differs from the component
7
- // defaults (multi-locale currencies like EUR/USD/CHF/CAD keep the defaults and can be overridden per site).
8
4
  exports.currencies = {
9
5
  // United Arab Emirates Dirham
10
6
  aed: {
@@ -38,9 +34,10 @@ exports.currencies = {
38
34
  amd: {
39
35
  components: {
40
36
  price: {
41
- symbol: '֏',
37
+ symbol: '\u00A0֏',
42
38
  thousandsSeparator: '\u00A0',
43
39
  decimalSeparator: ',',
40
+ symbolAfter: true,
44
41
  },
45
42
  },
46
43
  },
@@ -58,9 +55,10 @@ exports.currencies = {
58
55
  aoa: {
59
56
  components: {
60
57
  price: {
61
- symbol: 'Kz',
58
+ symbol: '\u00A0Kz',
62
59
  thousandsSeparator: '\u00A0',
63
60
  decimalSeparator: ',',
61
+ symbolAfter: true,
64
62
  },
65
63
  },
66
64
  },
@@ -96,9 +94,10 @@ exports.currencies = {
96
94
  azn: {
97
95
  components: {
98
96
  price: {
99
- symbol: '₼',
97
+ symbol: '\u00A0₼',
100
98
  thousandsSeparator: '.',
101
99
  decimalSeparator: ',',
100
+ symbolAfter: true,
102
101
  },
103
102
  },
104
103
  },
@@ -106,9 +105,10 @@ exports.currencies = {
106
105
  bam: {
107
106
  components: {
108
107
  price: {
109
- symbol: 'KM',
108
+ symbol: '\u00A0KM',
110
109
  thousandsSeparator: '.',
111
110
  decimalSeparator: ',',
111
+ symbolAfter: true,
112
112
  },
113
113
  },
114
114
  },
@@ -125,6 +125,7 @@ exports.currencies = {
125
125
  components: {
126
126
  price: {
127
127
  symbol: '৳',
128
+ symbolAfter: true,
128
129
  },
129
130
  },
130
131
  },
@@ -318,9 +319,10 @@ exports.currencies = {
318
319
  czk: {
319
320
  components: {
320
321
  price: {
321
- symbol: 'Kč',
322
+ symbol: '\u00A0Kč',
322
323
  thousandsSeparator: '\u00A0',
323
324
  decimalSeparator: ',',
325
+ symbolAfter: true,
324
326
  },
325
327
  },
326
328
  },
@@ -339,9 +341,10 @@ exports.currencies = {
339
341
  dkk: {
340
342
  components: {
341
343
  price: {
342
- symbol: 'kr',
344
+ symbol: '\u00A0kr',
343
345
  thousandsSeparator: '.',
344
346
  decimalSeparator: ',',
347
+ symbolAfter: true,
345
348
  },
346
349
  },
347
350
  },
@@ -423,9 +426,10 @@ exports.currencies = {
423
426
  gel: {
424
427
  components: {
425
428
  price: {
426
- symbol: '₾',
429
+ symbol: '\u00A0₾',
427
430
  thousandsSeparator: '\u00A0',
428
431
  decimalSeparator: ',',
432
+ symbolAfter: true,
429
433
  },
430
434
  },
431
435
  },
@@ -457,10 +461,11 @@ exports.currencies = {
457
461
  gnf: {
458
462
  components: {
459
463
  price: {
460
- symbol: 'FG',
464
+ symbol: '\u00A0FG',
461
465
  decimalPlaces: 0,
462
466
  thousandsSeparator: '\u00A0',
463
467
  decimalSeparator: ',',
468
+ symbolAfter: true,
464
469
  },
465
470
  },
466
471
  },
@@ -500,9 +505,10 @@ exports.currencies = {
500
505
  hrk: {
501
506
  components: {
502
507
  price: {
503
- symbol: 'kn',
508
+ symbol: '\u00A0kn',
504
509
  thousandsSeparator: '.',
505
510
  decimalSeparator: ',',
511
+ symbolAfter: true,
506
512
  },
507
513
  },
508
514
  },
@@ -520,10 +526,11 @@ exports.currencies = {
520
526
  huf: {
521
527
  components: {
522
528
  price: {
523
- symbol: 'Ft',
529
+ symbol: '\u00A0Ft',
524
530
  decimalPlaces: 0,
525
531
  thousandsSeparator: '\u00A0',
526
532
  decimalSeparator: ',',
533
+ symbolAfter: true,
527
534
  },
528
535
  },
529
536
  },
@@ -542,7 +549,8 @@ exports.currencies = {
542
549
  ils: {
543
550
  components: {
544
551
  price: {
545
- symbol: '₪',
552
+ symbol: '\u00A0₪',
553
+ symbolAfter: true,
546
554
  },
547
555
  },
548
556
  },
@@ -576,10 +584,11 @@ exports.currencies = {
576
584
  isk: {
577
585
  components: {
578
586
  price: {
579
- symbol: 'kr',
587
+ symbol: '\u00A0kr',
580
588
  decimalPlaces: 0,
581
589
  thousandsSeparator: '.',
582
590
  decimalSeparator: ',',
591
+ symbolAfter: true,
583
592
  },
584
593
  },
585
594
  },
@@ -640,6 +649,7 @@ exports.currencies = {
640
649
  components: {
641
650
  price: {
642
651
  symbol: '៛',
652
+ symbolAfter: true,
643
653
  },
644
654
  },
645
655
  },
@@ -655,10 +665,11 @@ exports.currencies = {
655
665
  kmf: {
656
666
  components: {
657
667
  price: {
658
- symbol: 'CF',
668
+ symbol: '\u00A0CF',
659
669
  decimalPlaces: 0,
660
670
  thousandsSeparator: '\u00A0',
661
671
  decimalSeparator: ',',
672
+ symbolAfter: true,
662
673
  },
663
674
  },
664
675
  },
@@ -692,9 +703,10 @@ exports.currencies = {
692
703
  kzt: {
693
704
  components: {
694
705
  price: {
695
- symbol: '₸',
706
+ symbol: '\u00A0₸',
696
707
  thousandsSeparator: '\u00A0',
697
708
  decimalSeparator: ',',
709
+ symbolAfter: true,
698
710
  },
699
711
  },
700
712
  },
@@ -758,9 +770,10 @@ exports.currencies = {
758
770
  lvl: {
759
771
  components: {
760
772
  price: {
761
- symbol: 'Ls',
773
+ symbol: '\u00A0Ls',
762
774
  thousandsSeparator: '\u00A0',
763
775
  decimalSeparator: ',',
776
+ symbolAfter: true,
764
777
  },
765
778
  },
766
779
  },
@@ -820,8 +833,9 @@ exports.currencies = {
820
833
  mmk: {
821
834
  components: {
822
835
  price: {
823
- symbol: 'K',
836
+ symbol: '\u00A0K',
824
837
  decimalPlaces: 0,
838
+ symbolAfter: true,
825
839
  },
826
840
  },
827
841
  },
@@ -855,7 +869,8 @@ exports.currencies = {
855
869
  mur: {
856
870
  components: {
857
871
  price: {
858
- symbol: 'Rs',
872
+ symbol: '\u00A0Rs',
873
+ symbolAfter: true,
859
874
  },
860
875
  },
861
876
  },
@@ -929,9 +944,10 @@ exports.currencies = {
929
944
  nok: {
930
945
  components: {
931
946
  price: {
932
- symbol: 'kr',
947
+ symbol: '\u00A0kr',
933
948
  thousandsSeparator: '\u00A0',
934
949
  decimalSeparator: ',',
950
+ symbolAfter: true,
935
951
  },
936
952
  },
937
953
  },
@@ -1005,9 +1021,10 @@ exports.currencies = {
1005
1021
  pln: {
1006
1022
  components: {
1007
1023
  price: {
1008
- symbol: 'zł',
1024
+ symbol: '\u00A0zł',
1009
1025
  thousandsSeparator: '\u00A0',
1010
1026
  decimalSeparator: ',',
1027
+ symbolAfter: true,
1011
1028
  },
1012
1029
  },
1013
1030
  },
@@ -1054,9 +1071,10 @@ exports.currencies = {
1054
1071
  rub: {
1055
1072
  components: {
1056
1073
  price: {
1057
- symbol: '₽',
1074
+ symbol: '\u00A0₽',
1058
1075
  thousandsSeparator: '\u00A0',
1059
1076
  decimalSeparator: ',',
1077
+ symbolAfter: true,
1060
1078
  },
1061
1079
  },
1062
1080
  },
@@ -1107,9 +1125,10 @@ exports.currencies = {
1107
1125
  sek: {
1108
1126
  components: {
1109
1127
  price: {
1110
- symbol: 'kr',
1128
+ symbol: '\u00A0kr',
1111
1129
  thousandsSeparator: '\u00A0',
1112
1130
  decimalSeparator: ',',
1131
+ symbolAfter: true,
1113
1132
  },
1114
1133
  },
1115
1134
  },
@@ -1161,7 +1180,8 @@ exports.currencies = {
1161
1180
  ssp: {
1162
1181
  components: {
1163
1182
  price: {
1164
- symbol: '£',
1183
+ symbol: '\u00A0£',
1184
+ symbolAfter: true,
1165
1185
  },
1166
1186
  },
1167
1187
  },
@@ -1169,9 +1189,10 @@ exports.currencies = {
1169
1189
  stn: {
1170
1190
  components: {
1171
1191
  price: {
1172
- symbol: 'Db',
1192
+ symbol: '\u00A0Db',
1173
1193
  thousandsSeparator: '\u00A0',
1174
1194
  decimalSeparator: ',',
1195
+ symbolAfter: true,
1175
1196
  },
1176
1197
  },
1177
1198
  },
@@ -1277,9 +1298,10 @@ exports.currencies = {
1277
1298
  uah: {
1278
1299
  components: {
1279
1300
  price: {
1280
- symbol: '₴',
1301
+ symbol: '\u00A0₴',
1281
1302
  thousandsSeparator: '\u00A0',
1282
1303
  decimalSeparator: ',',
1304
+ symbolAfter: true,
1283
1305
  },
1284
1306
  },
1285
1307
  },
@@ -1344,10 +1366,11 @@ exports.currencies = {
1344
1366
  vnd: {
1345
1367
  components: {
1346
1368
  price: {
1347
- symbol: '₫',
1369
+ symbol: '\u00A0₫',
1348
1370
  decimalPlaces: 0,
1349
1371
  thousandsSeparator: '.',
1350
1372
  decimalSeparator: ',',
1373
+ symbolAfter: true,
1351
1374
  },
1352
1375
  },
1353
1376
  },