@selwise/widget 0.0.2 → 1.0.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 (643) hide show
  1. package/README.md +2 -1
  2. package/dist/npm/cjs/index.cjs +2 -0
  3. package/dist/npm/cjs/index.cjs.LICENSE.txt +1 -0
  4. package/dist/npm/cjs/index.d.ts +59 -0
  5. package/dist/npm/esm/index.d.ts +59 -4
  6. package/dist/npm/esm/index.mjs +2 -0
  7. package/dist/npm/esm/index.mjs.LICENSE.txt +1 -0
  8. package/package.json +14 -16
  9. package/dist/npm/cjs/constants.js +0 -167
  10. package/dist/npm/cjs/constants.js.map +0 -1
  11. package/dist/npm/cjs/core/conflict-resolver.js +0 -203
  12. package/dist/npm/cjs/core/conflict-resolver.js.map +0 -1
  13. package/dist/npm/cjs/core/event-batcher.js +0 -977
  14. package/dist/npm/cjs/core/event-batcher.js.map +0 -1
  15. package/dist/npm/cjs/core/experiment-overrides.js +0 -178
  16. package/dist/npm/cjs/core/experiment-overrides.js.map +0 -1
  17. package/dist/npm/cjs/core/experiments.js +0 -317
  18. package/dist/npm/cjs/core/experiments.js.map +0 -1
  19. package/dist/npm/cjs/core/frequency-caps.js +0 -297
  20. package/dist/npm/cjs/core/frequency-caps.js.map +0 -1
  21. package/dist/npm/cjs/core/index.js +0 -27
  22. package/dist/npm/cjs/core/index.js.map +0 -1
  23. package/dist/npm/cjs/core/indexeddb-queue.js +0 -333
  24. package/dist/npm/cjs/core/indexeddb-queue.js.map +0 -1
  25. package/dist/npm/cjs/core/journey-tracker.js +0 -243
  26. package/dist/npm/cjs/core/journey-tracker.js.map +0 -1
  27. package/dist/npm/cjs/core/page-targeting/index.js +0 -72
  28. package/dist/npm/cjs/core/page-targeting/index.js.map +0 -1
  29. package/dist/npm/cjs/core/script-executor.js +0 -80
  30. package/dist/npm/cjs/core/script-executor.js.map +0 -1
  31. package/dist/npm/cjs/core/segments.js +0 -172
  32. package/dist/npm/cjs/core/segments.js.map +0 -1
  33. package/dist/npm/cjs/core/tracker.js +0 -798
  34. package/dist/npm/cjs/core/tracker.js.map +0 -1
  35. package/dist/npm/cjs/datalayer/basket.js +0 -385
  36. package/dist/npm/cjs/datalayer/basket.js.map +0 -1
  37. package/dist/npm/cjs/datalayer/cart-association.js +0 -226
  38. package/dist/npm/cjs/datalayer/cart-association.js.map +0 -1
  39. package/dist/npm/cjs/datalayer/checkout.js +0 -382
  40. package/dist/npm/cjs/datalayer/checkout.js.map +0 -1
  41. package/dist/npm/cjs/datalayer/constants.js +0 -163
  42. package/dist/npm/cjs/datalayer/constants.js.map +0 -1
  43. package/dist/npm/cjs/datalayer/index.js +0 -1010
  44. package/dist/npm/cjs/datalayer/index.js.map +0 -1
  45. package/dist/npm/cjs/datalayer/listener.js +0 -416
  46. package/dist/npm/cjs/datalayer/listener.js.map +0 -1
  47. package/dist/npm/cjs/datalayer/page.js +0 -343
  48. package/dist/npm/cjs/datalayer/page.js.map +0 -1
  49. package/dist/npm/cjs/datalayer/product.js +0 -517
  50. package/dist/npm/cjs/datalayer/product.js.map +0 -1
  51. package/dist/npm/cjs/datalayer/reverse-mappings.js +0 -139
  52. package/dist/npm/cjs/datalayer/reverse-mappings.js.map +0 -1
  53. package/dist/npm/cjs/datalayer/search.js +0 -363
  54. package/dist/npm/cjs/datalayer/search.js.map +0 -1
  55. package/dist/npm/cjs/datalayer/types.js +0 -134
  56. package/dist/npm/cjs/datalayer/types.js.map +0 -1
  57. package/dist/npm/cjs/datalayer/user.js +0 -372
  58. package/dist/npm/cjs/datalayer/user.js.map +0 -1
  59. package/dist/npm/cjs/debug/index.js +0 -679
  60. package/dist/npm/cjs/debug/index.js.map +0 -1
  61. package/dist/npm/cjs/entries/cdn.js +0 -72
  62. package/dist/npm/cjs/entries/cdn.js.map +0 -1
  63. package/dist/npm/cjs/index.js +0 -10
  64. package/dist/npm/cjs/index.js.map +0 -1
  65. package/dist/npm/cjs/modules/contract/recommendation-contract.js +0 -119
  66. package/dist/npm/cjs/modules/contract/recommendation-contract.js.map +0 -1
  67. package/dist/npm/cjs/modules/contract/search-contract.js +0 -18
  68. package/dist/npm/cjs/modules/contract/search-contract.js.map +0 -1
  69. package/dist/npm/cjs/modules/contract/tracking-contract.js +0 -16
  70. package/dist/npm/cjs/modules/contract/tracking-contract.js.map +0 -1
  71. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js +0 -164
  72. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
  73. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js +0 -21
  74. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
  75. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js +0 -3
  76. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
  77. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js +0 -107
  78. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
  79. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js +0 -404
  80. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js.map +0 -1
  81. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js +0 -21
  82. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js.map +0 -1
  83. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js +0 -8
  84. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js.map +0 -1
  85. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js +0 -126
  86. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js.map +0 -1
  87. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js +0 -133
  88. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
  89. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js +0 -21
  90. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js.map +0 -1
  91. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js +0 -3
  92. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js.map +0 -1
  93. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js +0 -154
  94. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
  95. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js +0 -1481
  96. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js.map +0 -1
  97. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js +0 -22
  98. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js.map +0 -1
  99. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js +0 -21
  100. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js.map +0 -1
  101. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js +0 -8
  102. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js.map +0 -1
  103. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js +0 -139
  104. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js.map +0 -1
  105. package/dist/npm/cjs/modules/contract/widget-contract.js +0 -10
  106. package/dist/npm/cjs/modules/contract/widget-contract.js.map +0 -1
  107. package/dist/npm/cjs/modules/products/tracking.js +0 -214
  108. package/dist/npm/cjs/modules/products/tracking.js.map +0 -1
  109. package/dist/npm/cjs/modules/recommendation/cart-handlers.js +0 -52
  110. package/dist/npm/cjs/modules/recommendation/cart-handlers.js.map +0 -1
  111. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js +0 -287
  112. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js.map +0 -1
  113. package/dist/npm/cjs/modules/recommendation/index.js +0 -678
  114. package/dist/npm/cjs/modules/recommendation/index.js.map +0 -1
  115. package/dist/npm/cjs/modules/recommendation/renderers/grid.js +0 -21
  116. package/dist/npm/cjs/modules/recommendation/renderers/grid.js.map +0 -1
  117. package/dist/npm/cjs/modules/recommendation/renderers/list.js +0 -22
  118. package/dist/npm/cjs/modules/recommendation/renderers/list.js.map +0 -1
  119. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js +0 -22
  120. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js.map +0 -1
  121. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js +0 -145
  122. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js.map +0 -1
  123. package/dist/npm/cjs/modules/recommendation/slider-controls.js +0 -201
  124. package/dist/npm/cjs/modules/recommendation/slider-controls.js.map +0 -1
  125. package/dist/npm/cjs/modules/recommendation/tracking.js +0 -247
  126. package/dist/npm/cjs/modules/recommendation/tracking.js.map +0 -1
  127. package/dist/npm/cjs/modules/recommendation/utils/dom.js +0 -70
  128. package/dist/npm/cjs/modules/recommendation/utils/dom.js.map +0 -1
  129. package/dist/npm/cjs/modules/recommendation/utils/format.js +0 -13
  130. package/dist/npm/cjs/modules/recommendation/utils/format.js.map +0 -1
  131. package/dist/npm/cjs/modules/recommendation/utils/index.js +0 -22
  132. package/dist/npm/cjs/modules/recommendation/utils/index.js.map +0 -1
  133. package/dist/npm/cjs/modules/renderer/helpers.js +0 -16
  134. package/dist/npm/cjs/modules/renderer/helpers.js.map +0 -1
  135. package/dist/npm/cjs/modules/renderer/index.js +0 -52
  136. package/dist/npm/cjs/modules/renderer/index.js.map +0 -1
  137. package/dist/npm/cjs/modules/renderer/style-resolver.js +0 -11
  138. package/dist/npm/cjs/modules/renderer/style-resolver.js.map +0 -1
  139. package/dist/npm/cjs/modules/renderer/styles/index.js +0 -254
  140. package/dist/npm/cjs/modules/renderer/styles/index.js.map +0 -1
  141. package/dist/npm/cjs/modules/renderer/styles.js +0 -7
  142. package/dist/npm/cjs/modules/renderer/styles.js.map +0 -1
  143. package/dist/npm/cjs/modules/renderer/utils/helpers.js +0 -243
  144. package/dist/npm/cjs/modules/renderer/utils/helpers.js.map +0 -1
  145. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js +0 -65
  146. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js.map +0 -1
  147. package/dist/npm/cjs/modules/renderer/utils/placement.js +0 -34
  148. package/dist/npm/cjs/modules/renderer/utils/placement.js.map +0 -1
  149. package/dist/npm/cjs/modules/renderer/utils.js +0 -61
  150. package/dist/npm/cjs/modules/renderer/utils.js.map +0 -1
  151. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js +0 -84
  152. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js.map +0 -1
  153. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js +0 -211
  154. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js.map +0 -1
  155. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js +0 -459
  156. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js.map +0 -1
  157. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js +0 -132
  158. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js.map +0 -1
  159. package/dist/npm/cjs/modules/renderer/widgets/custom.js +0 -58
  160. package/dist/npm/cjs/modules/renderer/widgets/custom.js.map +0 -1
  161. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js +0 -97
  162. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js.map +0 -1
  163. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js +0 -151
  164. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
  165. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js +0 -70
  166. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js.map +0 -1
  167. package/dist/npm/cjs/modules/renderer/widgets/helpers.js +0 -87
  168. package/dist/npm/cjs/modules/renderer/widgets/helpers.js.map +0 -1
  169. package/dist/npm/cjs/modules/renderer/widgets/index.js +0 -39
  170. package/dist/npm/cjs/modules/renderer/widgets/index.js.map +0 -1
  171. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js +0 -124
  172. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js.map +0 -1
  173. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js +0 -280
  174. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js.map +0 -1
  175. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js +0 -197
  176. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js.map +0 -1
  177. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js +0 -105
  178. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js.map +0 -1
  179. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js +0 -47
  180. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js.map +0 -1
  181. package/dist/npm/cjs/modules/search/cart/index.js +0 -42
  182. package/dist/npm/cjs/modules/search/cart/index.js.map +0 -1
  183. package/dist/npm/cjs/modules/search/components/index.js +0 -13
  184. package/dist/npm/cjs/modules/search/components/index.js.map +0 -1
  185. package/dist/npm/cjs/modules/search/components/search-box.js +0 -28
  186. package/dist/npm/cjs/modules/search/components/search-box.js.map +0 -1
  187. package/dist/npm/cjs/modules/search/components/search-item.js +0 -197
  188. package/dist/npm/cjs/modules/search/components/search-item.js.map +0 -1
  189. package/dist/npm/cjs/modules/search/components/suggestions.js +0 -132
  190. package/dist/npm/cjs/modules/search/components/suggestions.js.map +0 -1
  191. package/dist/npm/cjs/modules/search/index.js +0 -646
  192. package/dist/npm/cjs/modules/search/index.js.map +0 -1
  193. package/dist/npm/cjs/modules/search/renderers/position-renderers.js +0 -229
  194. package/dist/npm/cjs/modules/search/renderers/position-renderers.js.map +0 -1
  195. package/dist/npm/cjs/modules/search/renderers/results-renderer.js +0 -180
  196. package/dist/npm/cjs/modules/search/renderers/results-renderer.js.map +0 -1
  197. package/dist/npm/cjs/modules/search/services/api-service.js +0 -121
  198. package/dist/npm/cjs/modules/search/services/api-service.js.map +0 -1
  199. package/dist/npm/cjs/modules/search/services/tracking-service.js +0 -263
  200. package/dist/npm/cjs/modules/search/services/tracking-service.js.map +0 -1
  201. package/dist/npm/cjs/modules/search/styles.js +0 -864
  202. package/dist/npm/cjs/modules/search/styles.js.map +0 -1
  203. package/dist/npm/cjs/modules/search/utils/helpers.js +0 -100
  204. package/dist/npm/cjs/modules/search/utils/helpers.js.map +0 -1
  205. package/dist/npm/cjs/modules/search/utils/icons.js +0 -41
  206. package/dist/npm/cjs/modules/search/utils/icons.js.map +0 -1
  207. package/dist/npm/cjs/modules/search/utils/index.js +0 -22
  208. package/dist/npm/cjs/modules/search/utils/index.js.map +0 -1
  209. package/dist/npm/cjs/modules/search/utils/storage.js +0 -58
  210. package/dist/npm/cjs/modules/search/utils/storage.js.map +0 -1
  211. package/dist/npm/cjs/selwise.js +0 -1160
  212. package/dist/npm/cjs/selwise.js.map +0 -1
  213. package/dist/npm/cjs/sentry-test.js +0 -118
  214. package/dist/npm/cjs/sentry-test.js.map +0 -1
  215. package/dist/npm/cjs/sentry.js +0 -451
  216. package/dist/npm/cjs/sentry.js.map +0 -1
  217. package/dist/npm/cjs/shared/cart/handlers.js +0 -259
  218. package/dist/npm/cjs/shared/cart/handlers.js.map +0 -1
  219. package/dist/npm/cjs/shared/cart/index.js +0 -23
  220. package/dist/npm/cjs/shared/cart/index.js.map +0 -1
  221. package/dist/npm/cjs/shared/cart/types.js +0 -7
  222. package/dist/npm/cjs/shared/cart/types.js.map +0 -1
  223. package/dist/npm/cjs/shared/product-card/index.js +0 -24
  224. package/dist/npm/cjs/shared/product-card/index.js.map +0 -1
  225. package/dist/npm/cjs/shared/product-card/renderer.js +0 -341
  226. package/dist/npm/cjs/shared/product-card/renderer.js.map +0 -1
  227. package/dist/npm/cjs/shared/product-card/styles.js +0 -195
  228. package/dist/npm/cjs/shared/product-card/styles.js.map +0 -1
  229. package/dist/npm/cjs/shared/product-card/types.js +0 -67
  230. package/dist/npm/cjs/shared/product-card/types.js.map +0 -1
  231. package/dist/npm/cjs/types/config.js +0 -6
  232. package/dist/npm/cjs/types/config.js.map +0 -1
  233. package/dist/npm/cjs/types/experiments.js +0 -17
  234. package/dist/npm/cjs/types/experiments.js.map +0 -1
  235. package/dist/npm/cjs/types/global-api.js +0 -3
  236. package/dist/npm/cjs/types/global-api.js.map +0 -1
  237. package/dist/npm/cjs/types/index.js +0 -27
  238. package/dist/npm/cjs/types/index.js.map +0 -1
  239. package/dist/npm/cjs/types/recommendation.js +0 -6
  240. package/dist/npm/cjs/types/recommendation.js.map +0 -1
  241. package/dist/npm/cjs/types/renderer.js +0 -6
  242. package/dist/npm/cjs/types/renderer.js.map +0 -1
  243. package/dist/npm/cjs/types/search.js +0 -6
  244. package/dist/npm/cjs/types/search.js.map +0 -1
  245. package/dist/npm/cjs/utils/api-url.js +0 -35
  246. package/dist/npm/cjs/utils/api-url.js.map +0 -1
  247. package/dist/npm/cjs/utils/debounce.js +0 -74
  248. package/dist/npm/cjs/utils/debounce.js.map +0 -1
  249. package/dist/npm/cjs/utils/event-id.js +0 -23
  250. package/dist/npm/cjs/utils/event-id.js.map +0 -1
  251. package/dist/npm/cjs/utils/index.js +0 -28
  252. package/dist/npm/cjs/utils/index.js.map +0 -1
  253. package/dist/npm/cjs/utils/logger.js +0 -74
  254. package/dist/npm/cjs/utils/logger.js.map +0 -1
  255. package/dist/npm/cjs/utils/sanitize.js +0 -159
  256. package/dist/npm/cjs/utils/sanitize.js.map +0 -1
  257. package/dist/npm/cjs/utils/storage.js +0 -285
  258. package/dist/npm/cjs/utils/storage.js.map +0 -1
  259. package/dist/npm/cjs/utils/tracking-metadata.js +0 -18
  260. package/dist/npm/cjs/utils/tracking-metadata.js.map +0 -1
  261. package/dist/npm/cjs/utils/url-matcher.js +0 -11
  262. package/dist/npm/cjs/utils/url-matcher.js.map +0 -1
  263. package/dist/npm/esm/constants.d.ts +0 -130
  264. package/dist/npm/esm/constants.js +0 -164
  265. package/dist/npm/esm/constants.js.map +0 -1
  266. package/dist/npm/esm/core/conflict-resolver.d.ts +0 -96
  267. package/dist/npm/esm/core/conflict-resolver.js +0 -198
  268. package/dist/npm/esm/core/conflict-resolver.js.map +0 -1
  269. package/dist/npm/esm/core/event-batcher.d.ts +0 -253
  270. package/dist/npm/esm/core/event-batcher.js +0 -973
  271. package/dist/npm/esm/core/event-batcher.js.map +0 -1
  272. package/dist/npm/esm/core/experiment-overrides.d.ts +0 -7
  273. package/dist/npm/esm/core/experiment-overrides.js +0 -172
  274. package/dist/npm/esm/core/experiment-overrides.js.map +0 -1
  275. package/dist/npm/esm/core/experiments.d.ts +0 -90
  276. package/dist/npm/esm/core/experiments.js +0 -313
  277. package/dist/npm/esm/core/experiments.js.map +0 -1
  278. package/dist/npm/esm/core/frequency-caps.d.ts +0 -124
  279. package/dist/npm/esm/core/frequency-caps.js +0 -292
  280. package/dist/npm/esm/core/frequency-caps.js.map +0 -1
  281. package/dist/npm/esm/core/index.d.ts +0 -10
  282. package/dist/npm/esm/core/index.js +0 -11
  283. package/dist/npm/esm/core/index.js.map +0 -1
  284. package/dist/npm/esm/core/indexeddb-queue.d.ts +0 -83
  285. package/dist/npm/esm/core/indexeddb-queue.js +0 -328
  286. package/dist/npm/esm/core/indexeddb-queue.js.map +0 -1
  287. package/dist/npm/esm/core/journey-tracker.d.ts +0 -102
  288. package/dist/npm/esm/core/journey-tracker.js +0 -237
  289. package/dist/npm/esm/core/journey-tracker.js.map +0 -1
  290. package/dist/npm/esm/core/page-targeting/index.d.ts +0 -8
  291. package/dist/npm/esm/core/page-targeting/index.js +0 -67
  292. package/dist/npm/esm/core/page-targeting/index.js.map +0 -1
  293. package/dist/npm/esm/core/script-executor.d.ts +0 -31
  294. package/dist/npm/esm/core/script-executor.js +0 -76
  295. package/dist/npm/esm/core/script-executor.js.map +0 -1
  296. package/dist/npm/esm/core/segments.d.ts +0 -39
  297. package/dist/npm/esm/core/segments.js +0 -168
  298. package/dist/npm/esm/core/segments.js.map +0 -1
  299. package/dist/npm/esm/core/tracker.d.ts +0 -182
  300. package/dist/npm/esm/core/tracker.js +0 -794
  301. package/dist/npm/esm/core/tracker.js.map +0 -1
  302. package/dist/npm/esm/datalayer/basket.d.ts +0 -104
  303. package/dist/npm/esm/datalayer/basket.js +0 -381
  304. package/dist/npm/esm/datalayer/basket.js.map +0 -1
  305. package/dist/npm/esm/datalayer/cart-association.d.ts +0 -65
  306. package/dist/npm/esm/datalayer/cart-association.js +0 -222
  307. package/dist/npm/esm/datalayer/cart-association.js.map +0 -1
  308. package/dist/npm/esm/datalayer/checkout.d.ts +0 -96
  309. package/dist/npm/esm/datalayer/checkout.js +0 -378
  310. package/dist/npm/esm/datalayer/checkout.js.map +0 -1
  311. package/dist/npm/esm/datalayer/constants.d.ts +0 -77
  312. package/dist/npm/esm/datalayer/constants.js +0 -160
  313. package/dist/npm/esm/datalayer/constants.js.map +0 -1
  314. package/dist/npm/esm/datalayer/index.d.ts +0 -212
  315. package/dist/npm/esm/datalayer/index.js +0 -991
  316. package/dist/npm/esm/datalayer/index.js.map +0 -1
  317. package/dist/npm/esm/datalayer/listener.d.ts +0 -108
  318. package/dist/npm/esm/datalayer/listener.js +0 -411
  319. package/dist/npm/esm/datalayer/listener.js.map +0 -1
  320. package/dist/npm/esm/datalayer/page.d.ts +0 -94
  321. package/dist/npm/esm/datalayer/page.js +0 -339
  322. package/dist/npm/esm/datalayer/page.js.map +0 -1
  323. package/dist/npm/esm/datalayer/product.d.ts +0 -133
  324. package/dist/npm/esm/datalayer/product.js +0 -513
  325. package/dist/npm/esm/datalayer/product.js.map +0 -1
  326. package/dist/npm/esm/datalayer/reverse-mappings.d.ts +0 -62
  327. package/dist/npm/esm/datalayer/reverse-mappings.js +0 -135
  328. package/dist/npm/esm/datalayer/reverse-mappings.js.map +0 -1
  329. package/dist/npm/esm/datalayer/search.d.ts +0 -108
  330. package/dist/npm/esm/datalayer/search.js +0 -359
  331. package/dist/npm/esm/datalayer/search.js.map +0 -1
  332. package/dist/npm/esm/datalayer/types.d.ts +0 -292
  333. package/dist/npm/esm/datalayer/types.js +0 -131
  334. package/dist/npm/esm/datalayer/types.js.map +0 -1
  335. package/dist/npm/esm/datalayer/user.d.ts +0 -104
  336. package/dist/npm/esm/datalayer/user.js +0 -368
  337. package/dist/npm/esm/datalayer/user.js.map +0 -1
  338. package/dist/npm/esm/debug/index.d.ts +0 -173
  339. package/dist/npm/esm/debug/index.js +0 -673
  340. package/dist/npm/esm/debug/index.js.map +0 -1
  341. package/dist/npm/esm/entries/cdn.d.ts +0 -1
  342. package/dist/npm/esm/entries/cdn.js +0 -35
  343. package/dist/npm/esm/entries/cdn.js.map +0 -1
  344. package/dist/npm/esm/index.js +0 -4
  345. package/dist/npm/esm/index.js.map +0 -1
  346. package/dist/npm/esm/modules/contract/recommendation-contract.d.ts +0 -5
  347. package/dist/npm/esm/modules/contract/recommendation-contract.js +0 -107
  348. package/dist/npm/esm/modules/contract/recommendation-contract.js.map +0 -1
  349. package/dist/npm/esm/modules/contract/search-contract.d.ts +0 -1
  350. package/dist/npm/esm/modules/contract/search-contract.js +0 -2
  351. package/dist/npm/esm/modules/contract/search-contract.js.map +0 -1
  352. package/dist/npm/esm/modules/contract/tracking-contract.d.ts +0 -1
  353. package/dist/npm/esm/modules/contract/tracking-contract.js +0 -2
  354. package/dist/npm/esm/modules/contract/tracking-contract.js.map +0 -1
  355. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.d.ts +0 -8
  356. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js +0 -160
  357. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
  358. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.d.ts +0 -3
  359. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js +0 -5
  360. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
  361. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.d.ts +0 -56
  362. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js +0 -2
  363. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
  364. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.d.ts +0 -3
  365. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js +0 -103
  366. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
  367. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.d.ts +0 -35
  368. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js +0 -396
  369. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js.map +0 -1
  370. package/dist/npm/esm/modules/contract/vendor/search-contract/index.d.ts +0 -3
  371. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js +0 -5
  372. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js.map +0 -1
  373. package/dist/npm/esm/modules/contract/vendor/search-contract/types.d.ts +0 -119
  374. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js +0 -7
  375. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js.map +0 -1
  376. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.d.ts +0 -22
  377. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js +0 -118
  378. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js.map +0 -1
  379. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.d.ts +0 -7
  380. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js +0 -130
  381. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
  382. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.d.ts +0 -3
  383. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js +0 -5
  384. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js.map +0 -1
  385. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.d.ts +0 -37
  386. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js +0 -2
  387. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js.map +0 -1
  388. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.d.ts +0 -6
  389. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js +0 -147
  390. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
  391. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.d.ts +0 -22
  392. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js +0 -1472
  393. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js.map +0 -1
  394. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.d.ts +0 -4
  395. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js +0 -6
  396. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js.map +0 -1
  397. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.d.ts +0 -14
  398. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js +0 -18
  399. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js.map +0 -1
  400. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.d.ts +0 -128
  401. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js +0 -7
  402. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js.map +0 -1
  403. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.d.ts +0 -11
  404. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js +0 -132
  405. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js.map +0 -1
  406. package/dist/npm/esm/modules/contract/widget-contract.d.ts +0 -1
  407. package/dist/npm/esm/modules/contract/widget-contract.js +0 -2
  408. package/dist/npm/esm/modules/contract/widget-contract.js.map +0 -1
  409. package/dist/npm/esm/modules/products/tracking.d.ts +0 -122
  410. package/dist/npm/esm/modules/products/tracking.js +0 -203
  411. package/dist/npm/esm/modules/products/tracking.js.map +0 -1
  412. package/dist/npm/esm/modules/recommendation/cart-handlers.d.ts +0 -10
  413. package/dist/npm/esm/modules/recommendation/cart-handlers.js +0 -49
  414. package/dist/npm/esm/modules/recommendation/cart-handlers.js.map +0 -1
  415. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.d.ts +0 -37
  416. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js +0 -281
  417. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js.map +0 -1
  418. package/dist/npm/esm/modules/recommendation/index.d.ts +0 -11
  419. package/dist/npm/esm/modules/recommendation/index.js +0 -674
  420. package/dist/npm/esm/modules/recommendation/index.js.map +0 -1
  421. package/dist/npm/esm/modules/recommendation/renderers/grid.d.ts +0 -5
  422. package/dist/npm/esm/modules/recommendation/renderers/grid.js +0 -18
  423. package/dist/npm/esm/modules/recommendation/renderers/grid.js.map +0 -1
  424. package/dist/npm/esm/modules/recommendation/renderers/list.d.ts +0 -5
  425. package/dist/npm/esm/modules/recommendation/renderers/list.js +0 -19
  426. package/dist/npm/esm/modules/recommendation/renderers/list.js.map +0 -1
  427. package/dist/npm/esm/modules/recommendation/renderers/masonry.d.ts +0 -5
  428. package/dist/npm/esm/modules/recommendation/renderers/masonry.js +0 -19
  429. package/dist/npm/esm/modules/recommendation/renderers/masonry.js.map +0 -1
  430. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.d.ts +0 -10
  431. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js +0 -140
  432. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js.map +0 -1
  433. package/dist/npm/esm/modules/recommendation/slider-controls.d.ts +0 -17
  434. package/dist/npm/esm/modules/recommendation/slider-controls.js +0 -187
  435. package/dist/npm/esm/modules/recommendation/slider-controls.js.map +0 -1
  436. package/dist/npm/esm/modules/recommendation/tracking.d.ts +0 -28
  437. package/dist/npm/esm/modules/recommendation/tracking.js +0 -237
  438. package/dist/npm/esm/modules/recommendation/tracking.js.map +0 -1
  439. package/dist/npm/esm/modules/recommendation/utils/dom.d.ts +0 -10
  440. package/dist/npm/esm/modules/recommendation/utils/dom.js +0 -63
  441. package/dist/npm/esm/modules/recommendation/utils/dom.js.map +0 -1
  442. package/dist/npm/esm/modules/recommendation/utils/format.d.ts +0 -4
  443. package/dist/npm/esm/modules/recommendation/utils/format.js +0 -10
  444. package/dist/npm/esm/modules/recommendation/utils/format.js.map +0 -1
  445. package/dist/npm/esm/modules/recommendation/utils/index.d.ts +0 -5
  446. package/dist/npm/esm/modules/recommendation/utils/index.js +0 -6
  447. package/dist/npm/esm/modules/recommendation/utils/index.js.map +0 -1
  448. package/dist/npm/esm/modules/renderer/helpers.d.ts +0 -5
  449. package/dist/npm/esm/modules/renderer/helpers.js +0 -6
  450. package/dist/npm/esm/modules/renderer/helpers.js.map +0 -1
  451. package/dist/npm/esm/modules/renderer/index.d.ts +0 -8
  452. package/dist/npm/esm/modules/renderer/index.js +0 -48
  453. package/dist/npm/esm/modules/renderer/index.js.map +0 -1
  454. package/dist/npm/esm/modules/renderer/style-resolver.d.ts +0 -1
  455. package/dist/npm/esm/modules/renderer/style-resolver.js +0 -8
  456. package/dist/npm/esm/modules/renderer/style-resolver.js.map +0 -1
  457. package/dist/npm/esm/modules/renderer/styles/index.d.ts +0 -12
  458. package/dist/npm/esm/modules/renderer/styles/index.js +0 -250
  459. package/dist/npm/esm/modules/renderer/styles/index.js.map +0 -1
  460. package/dist/npm/esm/modules/renderer/styles.d.ts +0 -1
  461. package/dist/npm/esm/modules/renderer/styles.js +0 -2
  462. package/dist/npm/esm/modules/renderer/styles.js.map +0 -1
  463. package/dist/npm/esm/modules/renderer/utils/helpers.d.ts +0 -58
  464. package/dist/npm/esm/modules/renderer/utils/helpers.js +0 -225
  465. package/dist/npm/esm/modules/renderer/utils/helpers.js.map +0 -1
  466. package/dist/npm/esm/modules/renderer/utils/image-renderer.d.ts +0 -17
  467. package/dist/npm/esm/modules/renderer/utils/image-renderer.js +0 -60
  468. package/dist/npm/esm/modules/renderer/utils/image-renderer.js.map +0 -1
  469. package/dist/npm/esm/modules/renderer/utils/placement.d.ts +0 -6
  470. package/dist/npm/esm/modules/renderer/utils/placement.js +0 -31
  471. package/dist/npm/esm/modules/renderer/utils/placement.js.map +0 -1
  472. package/dist/npm/esm/modules/renderer/utils.d.ts +0 -11
  473. package/dist/npm/esm/modules/renderer/utils.js +0 -44
  474. package/dist/npm/esm/modules/renderer/utils.js.map +0 -1
  475. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.d.ts +0 -5
  476. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js +0 -81
  477. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js.map +0 -1
  478. package/dist/npm/esm/modules/renderer/widgets/cart-count.d.ts +0 -6
  479. package/dist/npm/esm/modules/renderer/widgets/cart-count.js +0 -208
  480. package/dist/npm/esm/modules/renderer/widgets/cart-count.js.map +0 -1
  481. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.d.ts +0 -18
  482. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js +0 -454
  483. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js.map +0 -1
  484. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.d.ts +0 -5
  485. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js +0 -129
  486. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js.map +0 -1
  487. package/dist/npm/esm/modules/renderer/widgets/custom.d.ts +0 -5
  488. package/dist/npm/esm/modules/renderer/widgets/custom.js +0 -55
  489. package/dist/npm/esm/modules/renderer/widgets/custom.js.map +0 -1
  490. package/dist/npm/esm/modules/renderer/widgets/embedded-card.d.ts +0 -5
  491. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js +0 -94
  492. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js.map +0 -1
  493. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.d.ts +0 -6
  494. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js +0 -147
  495. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
  496. package/dist/npm/esm/modules/renderer/widgets/floating-button.d.ts +0 -5
  497. package/dist/npm/esm/modules/renderer/widgets/floating-button.js +0 -67
  498. package/dist/npm/esm/modules/renderer/widgets/floating-button.js.map +0 -1
  499. package/dist/npm/esm/modules/renderer/widgets/helpers.d.ts +0 -29
  500. package/dist/npm/esm/modules/renderer/widgets/helpers.js +0 -82
  501. package/dist/npm/esm/modules/renderer/widgets/helpers.js.map +0 -1
  502. package/dist/npm/esm/modules/renderer/widgets/index.d.ts +0 -17
  503. package/dist/npm/esm/modules/renderer/widgets/index.js +0 -19
  504. package/dist/npm/esm/modules/renderer/widgets/index.js.map +0 -1
  505. package/dist/npm/esm/modules/renderer/widgets/inline-banner.d.ts +0 -5
  506. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js +0 -121
  507. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js.map +0 -1
  508. package/dist/npm/esm/modules/renderer/widgets/newsletter.d.ts +0 -6
  509. package/dist/npm/esm/modules/renderer/widgets/newsletter.js +0 -277
  510. package/dist/npm/esm/modules/renderer/widgets/newsletter.js.map +0 -1
  511. package/dist/npm/esm/modules/renderer/widgets/product-view-count.d.ts +0 -6
  512. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js +0 -194
  513. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js.map +0 -1
  514. package/dist/npm/esm/modules/renderer/widgets/slide-in.d.ts +0 -5
  515. package/dist/npm/esm/modules/renderer/widgets/slide-in.js +0 -102
  516. package/dist/npm/esm/modules/renderer/widgets/slide-in.js.map +0 -1
  517. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.d.ts +0 -5
  518. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js +0 -44
  519. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js.map +0 -1
  520. package/dist/npm/esm/modules/search/cart/index.d.ts +0 -26
  521. package/dist/npm/esm/modules/search/cart/index.js +0 -39
  522. package/dist/npm/esm/modules/search/cart/index.js.map +0 -1
  523. package/dist/npm/esm/modules/search/components/index.d.ts +0 -6
  524. package/dist/npm/esm/modules/search/components/index.js +0 -7
  525. package/dist/npm/esm/modules/search/components/index.js.map +0 -1
  526. package/dist/npm/esm/modules/search/components/search-box.d.ts +0 -11
  527. package/dist/npm/esm/modules/search/components/search-box.js +0 -25
  528. package/dist/npm/esm/modules/search/components/search-box.js.map +0 -1
  529. package/dist/npm/esm/modules/search/components/search-item.d.ts +0 -20
  530. package/dist/npm/esm/modules/search/components/search-item.js +0 -193
  531. package/dist/npm/esm/modules/search/components/search-item.js.map +0 -1
  532. package/dist/npm/esm/modules/search/components/suggestions.d.ts +0 -10
  533. package/dist/npm/esm/modules/search/components/suggestions.js +0 -129
  534. package/dist/npm/esm/modules/search/components/suggestions.js.map +0 -1
  535. package/dist/npm/esm/modules/search/index.d.ts +0 -67
  536. package/dist/npm/esm/modules/search/index.js +0 -642
  537. package/dist/npm/esm/modules/search/index.js.map +0 -1
  538. package/dist/npm/esm/modules/search/renderers/position-renderers.d.ts +0 -23
  539. package/dist/npm/esm/modules/search/renderers/position-renderers.js +0 -221
  540. package/dist/npm/esm/modules/search/renderers/position-renderers.js.map +0 -1
  541. package/dist/npm/esm/modules/search/renderers/results-renderer.d.ts +0 -20
  542. package/dist/npm/esm/modules/search/renderers/results-renderer.js +0 -176
  543. package/dist/npm/esm/modules/search/renderers/results-renderer.js.map +0 -1
  544. package/dist/npm/esm/modules/search/services/api-service.d.ts +0 -18
  545. package/dist/npm/esm/modules/search/services/api-service.js +0 -115
  546. package/dist/npm/esm/modules/search/services/api-service.js.map +0 -1
  547. package/dist/npm/esm/modules/search/services/tracking-service.d.ts +0 -16
  548. package/dist/npm/esm/modules/search/services/tracking-service.js +0 -250
  549. package/dist/npm/esm/modules/search/services/tracking-service.js.map +0 -1
  550. package/dist/npm/esm/modules/search/styles.d.ts +0 -13
  551. package/dist/npm/esm/modules/search/styles.js +0 -860
  552. package/dist/npm/esm/modules/search/styles.js.map +0 -1
  553. package/dist/npm/esm/modules/search/utils/helpers.d.ts +0 -24
  554. package/dist/npm/esm/modules/search/utils/helpers.js +0 -93
  555. package/dist/npm/esm/modules/search/utils/helpers.js.map +0 -1
  556. package/dist/npm/esm/modules/search/utils/icons.d.ts +0 -16
  557. package/dist/npm/esm/modules/search/utils/icons.js +0 -36
  558. package/dist/npm/esm/modules/search/utils/icons.js.map +0 -1
  559. package/dist/npm/esm/modules/search/utils/index.d.ts +0 -6
  560. package/dist/npm/esm/modules/search/utils/index.js +0 -7
  561. package/dist/npm/esm/modules/search/utils/index.js.map +0 -1
  562. package/dist/npm/esm/modules/search/utils/storage.d.ts +0 -7
  563. package/dist/npm/esm/modules/search/utils/storage.js +0 -52
  564. package/dist/npm/esm/modules/search/utils/storage.js.map +0 -1
  565. package/dist/npm/esm/package.json +0 -1
  566. package/dist/npm/esm/selwise.d.ts +0 -209
  567. package/dist/npm/esm/selwise.js +0 -1123
  568. package/dist/npm/esm/selwise.js.map +0 -1
  569. package/dist/npm/esm/sentry-test.d.ts +0 -45
  570. package/dist/npm/esm/sentry-test.js +0 -109
  571. package/dist/npm/esm/sentry-test.js.map +0 -1
  572. package/dist/npm/esm/sentry.d.ts +0 -86
  573. package/dist/npm/esm/sentry.js +0 -441
  574. package/dist/npm/esm/sentry.js.map +0 -1
  575. package/dist/npm/esm/shared/cart/handlers.d.ts +0 -46
  576. package/dist/npm/esm/shared/cart/handlers.js +0 -249
  577. package/dist/npm/esm/shared/cart/handlers.js.map +0 -1
  578. package/dist/npm/esm/shared/cart/index.d.ts +0 -6
  579. package/dist/npm/esm/shared/cart/index.js +0 -7
  580. package/dist/npm/esm/shared/cart/index.js.map +0 -1
  581. package/dist/npm/esm/shared/cart/types.d.ts +0 -30
  582. package/dist/npm/esm/shared/cart/types.js +0 -6
  583. package/dist/npm/esm/shared/cart/types.js.map +0 -1
  584. package/dist/npm/esm/shared/product-card/index.d.ts +0 -7
  585. package/dist/npm/esm/shared/product-card/index.js +0 -8
  586. package/dist/npm/esm/shared/product-card/index.js.map +0 -1
  587. package/dist/npm/esm/shared/product-card/renderer.d.ts +0 -35
  588. package/dist/npm/esm/shared/product-card/renderer.js +0 -334
  589. package/dist/npm/esm/shared/product-card/renderer.js.map +0 -1
  590. package/dist/npm/esm/shared/product-card/styles.d.ts +0 -17
  591. package/dist/npm/esm/shared/product-card/styles.js +0 -190
  592. package/dist/npm/esm/shared/product-card/styles.js.map +0 -1
  593. package/dist/npm/esm/shared/product-card/types.d.ts +0 -84
  594. package/dist/npm/esm/shared/product-card/types.js +0 -63
  595. package/dist/npm/esm/shared/product-card/types.js.map +0 -1
  596. package/dist/npm/esm/types/config.d.ts +0 -26
  597. package/dist/npm/esm/types/config.js +0 -5
  598. package/dist/npm/esm/types/config.js.map +0 -1
  599. package/dist/npm/esm/types/experiments.d.ts +0 -47
  600. package/dist/npm/esm/types/experiments.js +0 -14
  601. package/dist/npm/esm/types/experiments.js.map +0 -1
  602. package/dist/npm/esm/types/global-api.d.ts +0 -40
  603. package/dist/npm/esm/types/global-api.js +0 -2
  604. package/dist/npm/esm/types/global-api.js.map +0 -1
  605. package/dist/npm/esm/types/index.d.ts +0 -9
  606. package/dist/npm/esm/types/index.js +0 -11
  607. package/dist/npm/esm/types/index.js.map +0 -1
  608. package/dist/npm/esm/types/recommendation.d.ts +0 -186
  609. package/dist/npm/esm/types/recommendation.js +0 -5
  610. package/dist/npm/esm/types/recommendation.js.map +0 -1
  611. package/dist/npm/esm/types/renderer.d.ts +0 -99
  612. package/dist/npm/esm/types/renderer.js +0 -5
  613. package/dist/npm/esm/types/renderer.js.map +0 -1
  614. package/dist/npm/esm/types/search.d.ts +0 -186
  615. package/dist/npm/esm/types/search.js +0 -5
  616. package/dist/npm/esm/types/search.js.map +0 -1
  617. package/dist/npm/esm/utils/api-url.d.ts +0 -1
  618. package/dist/npm/esm/utils/api-url.js +0 -32
  619. package/dist/npm/esm/utils/api-url.js.map +0 -1
  620. package/dist/npm/esm/utils/debounce.d.ts +0 -27
  621. package/dist/npm/esm/utils/debounce.js +0 -70
  622. package/dist/npm/esm/utils/debounce.js.map +0 -1
  623. package/dist/npm/esm/utils/event-id.d.ts +0 -5
  624. package/dist/npm/esm/utils/event-id.js +0 -20
  625. package/dist/npm/esm/utils/event-id.js.map +0 -1
  626. package/dist/npm/esm/utils/index.d.ts +0 -11
  627. package/dist/npm/esm/utils/index.js +0 -12
  628. package/dist/npm/esm/utils/index.js.map +0 -1
  629. package/dist/npm/esm/utils/logger.d.ts +0 -31
  630. package/dist/npm/esm/utils/logger.js +0 -66
  631. package/dist/npm/esm/utils/logger.js.map +0 -1
  632. package/dist/npm/esm/utils/sanitize.d.ts +0 -38
  633. package/dist/npm/esm/utils/sanitize.js +0 -148
  634. package/dist/npm/esm/utils/sanitize.js.map +0 -1
  635. package/dist/npm/esm/utils/storage.d.ts +0 -72
  636. package/dist/npm/esm/utils/storage.js +0 -271
  637. package/dist/npm/esm/utils/storage.js.map +0 -1
  638. package/dist/npm/esm/utils/tracking-metadata.d.ts +0 -1
  639. package/dist/npm/esm/utils/tracking-metadata.js +0 -15
  640. package/dist/npm/esm/utils/tracking-metadata.js.map +0 -1
  641. package/dist/npm/esm/utils/url-matcher.d.ts +0 -4
  642. package/dist/npm/esm/utils/url-matcher.js +0 -8
  643. package/dist/npm/esm/utils/url-matcher.js.map +0 -1
@@ -1,203 +0,0 @@
1
- /**
2
- * Extract itemCode from product object
3
- * Uses canonical product identifier fields.
4
- *
5
- * @param product - Product object from API
6
- * @returns The merchant's product ID (itemCode)
7
- */
8
- export function getProductItemCode(product) {
9
- if (typeof product === 'string') {
10
- return product;
11
- }
12
- // id is the canonical product identifier; itemCode mirrors id when present.
13
- return product.itemCode || product.id;
14
- }
15
- /**
16
- * Extract product UUID (internal database ID)
17
- * Only for internal use - never send in tracking events
18
- *
19
- * @param product - Product object from API
20
- * @returns Internal UUID or undefined
21
- */
22
- export function getProductUuid(product) {
23
- return product._uuid;
24
- }
25
- /**
26
- * Track a product view/impression event
27
- *
28
- * @param product - Product object from API
29
- * @param context - Event context (source, position, etc.)
30
- * @returns Promise that resolves when event is tracked
31
- */
32
- export async function trackProductView(product, context) {
33
- const itemCode = getProductItemCode(product);
34
- // Use the global tracking function from core tracker
35
- if (typeof window !== 'undefined' && window.Selwise || window.Selwise) {
36
- const Selwise = window.Selwise || window.Selwise;
37
- // Check if batch tracking is enabled
38
- if (Selwise.trackEvent) {
39
- await Selwise.trackEvent('product_view', {
40
- entityType: context.source,
41
- entityId: context.widgetId || null,
42
- metadata: {
43
- productItemCode: itemCode,
44
- position: context.position,
45
- query: context.query,
46
- listType: context.listType,
47
- ...context.customData,
48
- },
49
- });
50
- }
51
- }
52
- }
53
- /**
54
- * Track a product click event
55
- *
56
- * @param product - Product object from API
57
- * @param context - Event context (source, position, etc.)
58
- * @returns Promise that resolves when event is tracked
59
- */
60
- export async function trackProductClick(product, context) {
61
- const itemCode = getProductItemCode(product);
62
- if (typeof window !== 'undefined' && window.Selwise || window.Selwise) {
63
- const Selwise = window.Selwise || window.Selwise;
64
- if (Selwise.trackEvent) {
65
- await Selwise.trackEvent('click', {
66
- entityType: context.source,
67
- entityId: context.widgetId || itemCode,
68
- metadata: {
69
- productItemCode: itemCode,
70
- position: context.position,
71
- query: context.query,
72
- listType: context.listType,
73
- ...context.customData,
74
- },
75
- });
76
- }
77
- }
78
- }
79
- /**
80
- * Track an add_to_cart event
81
- *
82
- * @param product - Product object from API
83
- * @param quantity - Quantity added (default: 1)
84
- * @param context - Event context (source, widgetId, etc.)
85
- * @returns Promise that resolves when event is tracked
86
- */
87
- export async function trackAddToCart(product, quantity = 1, context) {
88
- const itemCode = getProductItemCode(product);
89
- if (typeof window !== 'undefined' && window.Selwise || window.Selwise) {
90
- const Selwise = window.Selwise || window.Selwise;
91
- if (Selwise.trackEvent) {
92
- await Selwise.trackEvent('add_to_cart', {
93
- entityType: context.source,
94
- entityId: context.widgetId || itemCode,
95
- metadata: {
96
- productItemCode: itemCode,
97
- quantity,
98
- price: typeof product === 'object' ? product.price : undefined,
99
- ...context.customData,
100
- },
101
- });
102
- }
103
- }
104
- }
105
- /**
106
- * Track product impression (for analytics/funnel)
107
- *
108
- * @param products - Array of products being viewed
109
- * @param context - Event context (source, listType, etc.)
110
- * @returns Promise that resolves when events are tracked
111
- */
112
- export async function trackProductImpressions(products, context) {
113
- if (typeof window !== 'undefined' && window.Selwise || window.Selwise) {
114
- const Selwise = window.Selwise || window.Selwise;
115
- if (Selwise.trackEvent) {
116
- // Track as a batch of impressions
117
- const itemCodes = products.map(getProductItemCode);
118
- await Selwise.trackEvent('product_impression', {
119
- entityType: context.source,
120
- entityId: context.widgetId || null,
121
- metadata: {
122
- productItemCodes: itemCodes,
123
- count: itemCodes.length,
124
- listType: context.listType,
125
- query: context.query,
126
- ...context.customData,
127
- },
128
- });
129
- }
130
- }
131
- }
132
- /**
133
- * Prepare product event data with normalized product identification
134
- *
135
- * @param product - Product object or itemCode
136
- * @param eventName - Event type (view, click, add_to_cart, etc.)
137
- * @param context - Event context
138
- * @returns Normalized event data ready for tracking
139
- */
140
- export function prepareProductEventData(product, eventName, context) {
141
- const itemCode = getProductItemCode(product);
142
- return {
143
- name: eventName,
144
- entityType: context.source,
145
- entityId: context.widgetId || itemCode,
146
- metadata: {
147
- productItemCode: itemCode,
148
- ...(typeof product === 'object' && {
149
- _productUuid: product._uuid, // Only for internal use
150
- price: product.price,
151
- category: product.category,
152
- }),
153
- ...(context.position !== undefined && { position: context.position }),
154
- ...(context.query && { query: context.query }),
155
- ...(context.listType && { listType: context.listType }),
156
- ...context.customData,
157
- },
158
- };
159
- }
160
- /**
161
- * Product Tracker class for OOP-style tracking
162
- *
163
- * Example usage:
164
- * ```typescript
165
- * const tracker = new ProductTracker();
166
- * await tracker.trackView(product, { source: 'recommendation', widgetId: 'xxx' });
167
- * ```
168
- */
169
- export class ProductTracker {
170
- /**
171
- * Track a product view/impression
172
- */
173
- static async view(product, context) {
174
- return trackProductView(product, context);
175
- }
176
- /**
177
- * Track a product click
178
- */
179
- static async click(product, context) {
180
- return trackProductClick(product, context);
181
- }
182
- /**
183
- * Track add to cart
184
- */
185
- static async addToCart(product, quantity, context) {
186
- return trackAddToCart(product, quantity, context);
187
- }
188
- /**
189
- * Track product impressions (list view)
190
- */
191
- static async impressions(products, context) {
192
- return trackProductImpressions(products, context);
193
- }
194
- /**
195
- * Prepare event data (for custom tracking)
196
- */
197
- static prepareEvent(product, eventName, context) {
198
- return prepareProductEventData(product, eventName, context);
199
- }
200
- }
201
- // Export convenience functions
202
- export default ProductTracker;
203
- //# sourceMappingURL=tracking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../../../../src/modules/products/tracking.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Cart Handlers for Recommendation Module
3
- * Uses shared cart module for platform-specific implementations
4
- */
5
- import type { Product, RecommendationWidget, RecommendationConfig } from '../../types';
6
- export declare function handleAddToCart(product: Product, widget: RecommendationWidget, config: RecommendationConfig, trackEvent?: (type: 'add_to_cart', widgetId: string, productItemCode: string, config: RecommendationConfig) => void, trackBehavior?: (type: 'add_to_cart', product: {
7
- itemCode: string;
8
- category?: string;
9
- price?: number;
10
- }, config: RecommendationConfig) => void): void;
@@ -1,49 +0,0 @@
1
- /**
2
- * Cart Handlers for Recommendation Module
3
- * Uses shared cart module for platform-specific implementations
4
- */
5
- import { addToCart, createButtonState, } from '../../shared/cart/index.js';
6
- export function handleAddToCart(product, widget, config, trackEvent, trackBehavior) {
7
- const productItemCode = product.itemCode || product.id;
8
- // Track add to cart event
9
- trackEvent?.('add_to_cart', widget.id, productItemCode, config);
10
- // Track behavior for AI personalization
11
- trackBehavior?.('add_to_cart', {
12
- itemCode: productItemCode,
13
- category: product.categories,
14
- price: product.price,
15
- }, config);
16
- // Map to shared cart product type
17
- const cartProduct = {
18
- id: productItemCode,
19
- title: product.title,
20
- price: product.price,
21
- variantId: product.variantId,
22
- itemCode: productItemCode,
23
- wooProductId: product.wooProductId,
24
- magentoProductId: product.magentoProductId,
25
- prestaProductId: product.prestaProductId,
26
- attributeId: product.attributeId,
27
- };
28
- const platform = (widget.cartPlatform || 'custom');
29
- // For Akinon, we need button state
30
- if (platform === 'akinon') {
31
- const button = document.querySelector(`[data-selwise-action="add-to-cart"][data-product-id="${productItemCode}"]`);
32
- const buttonState = createButtonState(button, {
33
- loading: 'Adding...',
34
- success: 'Added!',
35
- error: 'Hata',
36
- default: widget.cartButtonText || 'Add to Cart',
37
- });
38
- addToCart(cartProduct, platform, { buttonState });
39
- }
40
- else {
41
- addToCart(cartProduct, platform, {
42
- customScript: widget.customCartScript ||
43
- (typeof widget.addToCartConfig?.customScript === 'string'
44
- ? widget.addToCartConfig.customScript
45
- : undefined),
46
- });
47
- }
48
- }
49
- //# sourceMappingURL=cart-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cart-handlers.js","sourceRoot":"","sources":["../../../../../src/modules/recommendation/cart-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,SAAS,EACT,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,MAA4B,EAC5B,MAA4B,EAC5B,UAKS,EACT,aAIS;IAET,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;IAEvD,0BAA0B;IAC1B,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAEhE,wCAAwC;IACxC,aAAa,EAAE,CAAC,aAAa,EAAE;QAC7B,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,OAAO,CAAC,UAAU;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,EAAE,MAAM,CAAC,CAAC;IAEX,kCAAkC;IAClC,MAAM,WAAW,GAAgB;QAC/B,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAG,OAAe,CAAC,YAAY;QAC3C,gBAAgB,EAAG,OAAe,CAAC,gBAAgB;QACnD,eAAe,EAAG,OAAe,CAAC,eAAe;QACjD,WAAW,EAAG,OAAe,CAAC,WAAW;KAC1C,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAiB,CAAC;IAEnE,mCAAmC;IACnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CACnC,wDAAwD,eAAe,IAAI,CAChD,CAAC;QAE9B,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE;YAC5C,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,aAAa;SAChD,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE;YAC/B,YAAY,EACV,MAAM,CAAC,gBAAgB;gBACvB,CAAC,OAAO,MAAM,CAAC,eAAe,EAAE,YAAY,KAAK,QAAQ;oBACvD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY;oBACrC,CAAC,CAAC,SAAS,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Product Card Component and Renderers
3
- * Complete rendering logic for product cards with custom templates
4
- *
5
- * Uses shared product-card module for unified rendering
6
- */
7
- import type { Product, ProductCardDefinition, RecommendationWidget, RecommendationConfig } from '../../../types';
8
- /**
9
- * Render custom product card using shared renderer
10
- *
11
- * @param containerId - Optional ID for tracking cards to execute JS later
12
- */
13
- export declare function renderCustomProductCard(product: Product, productCard: ProductCardDefinition, containerId?: string): string;
14
- /**
15
- * Render default card when no product card template is defined
16
- */
17
- export declare function renderDefaultCard(product: Product, widget: RecommendationWidget): string;
18
- /**
19
- * Create product card DOM element with event handlers
20
- * This is the main entry point for creating product cards
21
- *
22
- * @param containerId - Optional ID for tracking cards to execute JS later
23
- */
24
- export declare function createProductCard(product: Product, widget: RecommendationWidget, config: RecommendationConfig, handleAddToCart: (product: Product, widget: RecommendationWidget, config: RecommendationConfig, trackEvent?: (type: 'add_to_cart', widgetId: string, productItemCode: string, config: RecommendationConfig) => void, trackBehavior?: (type: 'add_to_cart', product: {
25
- itemCode: string;
26
- category?: string;
27
- price?: number;
28
- }, config: RecommendationConfig) => void) => void, trackEvent: (type: 'click', widgetId: string, productItemCode: string, config: RecommendationConfig) => void, trackBehavior?: (type: 'view' | 'add_to_cart' | 'purchase' | 'wishlist', product: {
29
- itemCode: string;
30
- category?: string;
31
- price?: number;
32
- }, config: RecommendationConfig) => void, containerId?: string): HTMLElement;
33
- /**
34
- * Execute JavaScript for product cards after DOM insertion
35
- * Call this after inserting the HTML into the DOM
36
- */
37
- export declare function executeCardScriptsForRecommendations(containerId: string, container: HTMLElement): void;
@@ -1,281 +0,0 @@
1
- /**
2
- * Product Card Component and Renderers
3
- * Complete rendering logic for product cards with custom templates
4
- *
5
- * Uses shared product-card module for unified rendering
6
- */
7
- import { formatPrice } from '../utils/format.js';
8
- import { fromRecommendationProduct, renderProductCard as sharedRenderProductCard, executeCardScript, DATA_ATTRS, ACTIONS, } from '../../../shared/product-card/index.js';
9
- import { sanitizeProductHTML } from '../../../utils/sanitize.js';
10
- // Store rendered data for later JS execution
11
- const renderedCardsData = new Map();
12
- /**
13
- * Render custom product card using shared renderer
14
- *
15
- * @param containerId - Optional ID for tracking cards to execute JS later
16
- */
17
- export function renderCustomProductCard(product, productCard, containerId) {
18
- // Convert to unified product type
19
- const unifiedProduct = fromRecommendationProduct(product);
20
- // Create template from productCard definition - INCLUDE JS FIELDS
21
- const template = {
22
- id: productCard.id,
23
- template: productCard.template,
24
- fields: productCard.fields || [],
25
- layoutType: productCard.layoutType,
26
- imagePosition: productCard.imagePosition,
27
- imageSize: productCard.imageSize,
28
- showBadges: productCard.showBadges,
29
- showButton: productCard.showButton,
30
- buttonText: productCard.buttonText,
31
- buttonStyle: productCard.buttonStyle,
32
- hoverEffect: productCard.hoverEffect,
33
- customCSS: productCard.customCSS,
34
- customHTML: productCard.customHTML,
35
- customJs: productCard.customJs,
36
- jsTiming: productCard.jsTiming || 'immediate',
37
- jsEventName: productCard.jsEventName,
38
- };
39
- // Create context
40
- const context = {
41
- source: 'recommendation',
42
- formatPrice,
43
- };
44
- // Store data for later JS execution if we have a containerId
45
- if (containerId && template.customJs) {
46
- if (!renderedCardsData.has(containerId)) {
47
- renderedCardsData.set(containerId, []);
48
- }
49
- renderedCardsData.get(containerId).push({
50
- template,
51
- unifiedProduct,
52
- productItemCode: product.itemCode || product.id,
53
- });
54
- }
55
- // Use shared renderer
56
- return sharedRenderProductCard(unifiedProduct, template, context);
57
- }
58
- /**
59
- * Render default card when no product card template is defined
60
- */
61
- export function renderDefaultCard(product, widget) {
62
- const hasDiscount = product.originalPrice && product.originalPrice > product.price;
63
- const discountPercent = hasDiscount
64
- ? Math.round(((product.originalPrice - product.price) / product.originalPrice) * 100)
65
- : 0;
66
- let badgesHTML = '';
67
- if (product.isNew)
68
- badgesHTML += '<span class="recommendation-badge recommendation-badge-new">New</span>';
69
- if (hasDiscount)
70
- badgesHTML += `<span class="recommendation-badge recommendation-badge-sale">-${discountPercent}%</span>`;
71
- if (product.isBestseller)
72
- badgesHTML += '<span class="recommendation-badge recommendation-badge-bestseller">Bestseller</span>';
73
- let addToCartHTML = '';
74
- if (widget.addToCartEnabled) {
75
- const productItemCode = product.itemCode || product.id;
76
- addToCartHTML = `
77
- <button class="recommendation-add-to-cart"
78
- ${DATA_ATTRS.ACTION}="${ACTIONS.ADD_TO_CART}"
79
- ${DATA_ATTRS.PRODUCT_ID}="${productItemCode}">
80
- ${widget.cartButtonText || 'Add to Cart'}
81
- </button>
82
- `;
83
- }
84
- return `
85
- <div class="recommendation-card-inner">
86
- <div class="recommendation-card-image">
87
- ${badgesHTML ? `<div class="recommendation-badges">${badgesHTML}</div>` : ''}
88
- <img src="${product.imageUrl}" alt="${product.title}" loading="lazy" />
89
- </div>
90
- <div class="recommendation-card-content">
91
- <h3 class="recommendation-card-title">${product.title}</h3>
92
- <div class="recommendation-card-price">
93
- ${hasDiscount ? `<span class="recommendation-price-original">${formatPrice(product.originalPrice)}</span>` : ''}
94
- <span class="recommendation-price-current">${formatPrice(product.price)}</span>
95
- </div>
96
- ${addToCartHTML}
97
- </div>
98
- </div>
99
- <style>
100
- .recommendation-card-inner {
101
- background: white;
102
- border-radius: 8px;
103
- overflow: hidden;
104
- box-shadow: 0 2px 8px rgba(0,0,0,0.1);
105
- transition: transform 0.2s ease, box-shadow 0.2s ease;
106
- cursor: pointer;
107
- }
108
- .recommendation-card-inner:hover {
109
- transform: translateY(-4px);
110
- box-shadow: 0 8px 24px rgba(0,0,0,0.15);
111
- }
112
- .recommendation-card-image {
113
- position: relative;
114
- padding-top: 100%;
115
- }
116
- .recommendation-card-image img {
117
- position: absolute;
118
- top: 0;
119
- left: 0;
120
- width: 100%;
121
- height: 100%;
122
- object-fit: cover;
123
- }
124
- .recommendation-badges {
125
- position: absolute;
126
- top: 8px;
127
- left: 8px;
128
- z-index: 1;
129
- display: flex;
130
- flex-direction: column;
131
- gap: 4px;
132
- }
133
- .recommendation-badge {
134
- padding: 4px 8px;
135
- font-size: 12px;
136
- font-weight: 600;
137
- border-radius: 4px;
138
- text-transform: uppercase;
139
- }
140
- .recommendation-badge-new {
141
- background: #22c55e;
142
- color: white;
143
- }
144
- .recommendation-badge-sale {
145
- background: #ef4444;
146
- color: white;
147
- }
148
- .recommendation-badge-bestseller {
149
- background: #f59e0b;
150
- color: white;
151
- }
152
- .recommendation-card-content {
153
- padding: 12px;
154
- }
155
- .recommendation-card-title {
156
- font-size: 14px;
157
- font-weight: 500;
158
- color: #111;
159
- margin: 0 0 8px;
160
- line-height: 1.4;
161
- display: -webkit-box;
162
- -webkit-line-clamp: 2;
163
- -webkit-box-orient: vertical;
164
- overflow: hidden;
165
- }
166
- .recommendation-card-price {
167
- display: flex;
168
- align-items: center;
169
- gap: 8px;
170
- }
171
- .recommendation-price-original {
172
- text-decoration: line-through;
173
- color: #999;
174
- font-size: 13px;
175
- }
176
- .recommendation-price-current {
177
- font-weight: 600;
178
- color: #111;
179
- font-size: 16px;
180
- }
181
- .recommendation-add-to-cart {
182
- width: 100%;
183
- margin-top: 12px;
184
- padding: 10px;
185
- background: #111;
186
- color: white;
187
- border: none;
188
- border-radius: 6px;
189
- font-size: 14px;
190
- font-weight: 500;
191
- cursor: pointer;
192
- transition: background 0.2s ease;
193
- }
194
- .recommendation-add-to-cart:hover {
195
- background: #333;
196
- }
197
- </style>
198
- `;
199
- }
200
- /**
201
- * Create product card DOM element with event handlers
202
- * This is the main entry point for creating product cards
203
- *
204
- * @param containerId - Optional ID for tracking cards to execute JS later
205
- */
206
- export function createProductCard(product, widget, config, handleAddToCart, trackEvent, trackBehavior, containerId) {
207
- const card = document.createElement('div');
208
- card.className = 'recommendation-card';
209
- card.setAttribute('data-product-id', product.itemCode || product.id);
210
- // If custom product card template is defined
211
- if (widget.productCard) {
212
- // Custom templates are already sanitized in renderCustomProductCard -> sharedRenderProductCard
213
- card.innerHTML = renderCustomProductCard(product, widget.productCard, containerId);
214
- }
215
- else {
216
- // Default card template - sanitize the output
217
- card.innerHTML = sanitizeProductHTML(renderDefaultCard(product, widget));
218
- }
219
- // Check if custom template has its own links (has <a> tags)
220
- const hasCustomLinks = widget.productCard?.customHTML &&
221
- (widget.productCard.customHTML.includes('<a ') || widget.productCard.customHTML.includes('<a\''));
222
- // Add click handler for add-to-cart actions
223
- card.addEventListener('click', (e) => {
224
- const target = e.target;
225
- const isAddToCart = target.closest(`[${DATA_ATTRS.ACTION}="${ACTIONS.ADD_TO_CART}"]`);
226
- if (isAddToCart) {
227
- e.preventDefault();
228
- handleAddToCart(product, widget, config, trackEvent, trackBehavior);
229
- return;
230
- }
231
- // If using custom template with links, let anchor tags handle navigation
232
- // Only navigate automatically for non-custom templates
233
- if (!hasCustomLinks) {
234
- // Track click and navigate for default templates
235
- trackEvent('click', widget.id, product.itemCode || product.id, config);
236
- // Also track behavior for AI personalization (view = product page click)
237
- if (trackBehavior) {
238
- trackBehavior('view', {
239
- itemCode: product.itemCode || product.id,
240
- category: product.categories,
241
- price: product.price,
242
- }, config);
243
- }
244
- window.location.href = product.url;
245
- return;
246
- }
247
- // For custom templates with links:
248
- // Check if clicked on or inside an anchor tag - if yes, track event and let anchor handle it
249
- const closestAnchor = target.closest('a');
250
- if (closestAnchor) {
251
- trackEvent('click', widget.id, product.itemCode || product.id, config);
252
- // Let the anchor tag handle its own navigation
253
- return;
254
- }
255
- // Clicked outside any anchor in custom template - do nothing, don't navigate
256
- // User can add custom JS if they want other click behavior
257
- });
258
- return card;
259
- }
260
- /**
261
- * Execute JavaScript for product cards after DOM insertion
262
- * Call this after inserting the HTML into the DOM
263
- */
264
- export function executeCardScriptsForRecommendations(containerId, container) {
265
- const cardsData = renderedCardsData.get(containerId);
266
- if (!cardsData)
267
- return;
268
- cardsData.forEach((cardData) => {
269
- const cardElement = container.querySelector(`[data-product-id="${cardData.productItemCode}"] .selwise-card-inner`);
270
- if (cardElement && cardData.template.customJs) {
271
- const context = {
272
- source: 'recommendation',
273
- formatPrice,
274
- };
275
- executeCardScript(cardElement, cardData.template, cardData.unifiedProduct, context);
276
- }
277
- });
278
- // Clean up stored data
279
- renderedCardsData.delete(containerId);
280
- }
281
- //# sourceMappingURL=product-card-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-card-renderer.js","sourceRoot":"","sources":["../../../../../../src/modules/recommendation/components/product-card-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Recommendation Widget Module - Refactored
3
- * Handles fetching and rendering of product recommendations
4
- */
5
- import type { RecommendationConfig } from '../../types';
6
- export declare function initRecommendations(config: RecommendationConfig): Promise<void>;
7
- /**
8
- * Cleanup all observers and rendered widgets
9
- * Call this when navigating away in SPA
10
- */
11
- export declare function cleanup(): void;