@selwise/widget 0.0.3 → 1.0.1

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 (638) hide show
  1. package/README.md +2 -1
  2. package/package.json +18 -16
  3. package/dist/npm/cjs/constants.js +0 -167
  4. package/dist/npm/cjs/constants.js.map +0 -1
  5. package/dist/npm/cjs/core/conflict-resolver.js +0 -203
  6. package/dist/npm/cjs/core/conflict-resolver.js.map +0 -1
  7. package/dist/npm/cjs/core/event-batcher.js +0 -977
  8. package/dist/npm/cjs/core/event-batcher.js.map +0 -1
  9. package/dist/npm/cjs/core/experiment-overrides.js +0 -178
  10. package/dist/npm/cjs/core/experiment-overrides.js.map +0 -1
  11. package/dist/npm/cjs/core/experiments.js +0 -317
  12. package/dist/npm/cjs/core/experiments.js.map +0 -1
  13. package/dist/npm/cjs/core/frequency-caps.js +0 -297
  14. package/dist/npm/cjs/core/frequency-caps.js.map +0 -1
  15. package/dist/npm/cjs/core/index.js +0 -27
  16. package/dist/npm/cjs/core/index.js.map +0 -1
  17. package/dist/npm/cjs/core/indexeddb-queue.js +0 -333
  18. package/dist/npm/cjs/core/indexeddb-queue.js.map +0 -1
  19. package/dist/npm/cjs/core/journey-tracker.js +0 -243
  20. package/dist/npm/cjs/core/journey-tracker.js.map +0 -1
  21. package/dist/npm/cjs/core/page-targeting/index.js +0 -72
  22. package/dist/npm/cjs/core/page-targeting/index.js.map +0 -1
  23. package/dist/npm/cjs/core/script-executor.js +0 -80
  24. package/dist/npm/cjs/core/script-executor.js.map +0 -1
  25. package/dist/npm/cjs/core/segments.js +0 -172
  26. package/dist/npm/cjs/core/segments.js.map +0 -1
  27. package/dist/npm/cjs/core/tracker.js +0 -798
  28. package/dist/npm/cjs/core/tracker.js.map +0 -1
  29. package/dist/npm/cjs/datalayer/basket.js +0 -385
  30. package/dist/npm/cjs/datalayer/basket.js.map +0 -1
  31. package/dist/npm/cjs/datalayer/cart-association.js +0 -226
  32. package/dist/npm/cjs/datalayer/cart-association.js.map +0 -1
  33. package/dist/npm/cjs/datalayer/checkout.js +0 -382
  34. package/dist/npm/cjs/datalayer/checkout.js.map +0 -1
  35. package/dist/npm/cjs/datalayer/constants.js +0 -163
  36. package/dist/npm/cjs/datalayer/constants.js.map +0 -1
  37. package/dist/npm/cjs/datalayer/index.js +0 -1010
  38. package/dist/npm/cjs/datalayer/index.js.map +0 -1
  39. package/dist/npm/cjs/datalayer/listener.js +0 -416
  40. package/dist/npm/cjs/datalayer/listener.js.map +0 -1
  41. package/dist/npm/cjs/datalayer/page.js +0 -343
  42. package/dist/npm/cjs/datalayer/page.js.map +0 -1
  43. package/dist/npm/cjs/datalayer/product.js +0 -517
  44. package/dist/npm/cjs/datalayer/product.js.map +0 -1
  45. package/dist/npm/cjs/datalayer/reverse-mappings.js +0 -139
  46. package/dist/npm/cjs/datalayer/reverse-mappings.js.map +0 -1
  47. package/dist/npm/cjs/datalayer/search.js +0 -363
  48. package/dist/npm/cjs/datalayer/search.js.map +0 -1
  49. package/dist/npm/cjs/datalayer/types.js +0 -134
  50. package/dist/npm/cjs/datalayer/types.js.map +0 -1
  51. package/dist/npm/cjs/datalayer/user.js +0 -372
  52. package/dist/npm/cjs/datalayer/user.js.map +0 -1
  53. package/dist/npm/cjs/debug/index.js +0 -679
  54. package/dist/npm/cjs/debug/index.js.map +0 -1
  55. package/dist/npm/cjs/entries/cdn.js +0 -72
  56. package/dist/npm/cjs/entries/cdn.js.map +0 -1
  57. package/dist/npm/cjs/index.js +0 -55
  58. package/dist/npm/cjs/index.js.map +0 -1
  59. package/dist/npm/cjs/modules/contract/recommendation-contract.js +0 -119
  60. package/dist/npm/cjs/modules/contract/recommendation-contract.js.map +0 -1
  61. package/dist/npm/cjs/modules/contract/search-contract.js +0 -18
  62. package/dist/npm/cjs/modules/contract/search-contract.js.map +0 -1
  63. package/dist/npm/cjs/modules/contract/tracking-contract.js +0 -16
  64. package/dist/npm/cjs/modules/contract/tracking-contract.js.map +0 -1
  65. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js +0 -164
  66. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
  67. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js +0 -21
  68. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
  69. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js +0 -3
  70. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
  71. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js +0 -107
  72. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
  73. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js +0 -404
  74. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js.map +0 -1
  75. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js +0 -21
  76. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js.map +0 -1
  77. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js +0 -8
  78. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js.map +0 -1
  79. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js +0 -126
  80. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js.map +0 -1
  81. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js +0 -133
  82. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
  83. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js +0 -21
  84. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js.map +0 -1
  85. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js +0 -3
  86. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js.map +0 -1
  87. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js +0 -154
  88. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
  89. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js +0 -1481
  90. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js.map +0 -1
  91. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js +0 -22
  92. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js.map +0 -1
  93. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js +0 -21
  94. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js.map +0 -1
  95. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js +0 -8
  96. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js.map +0 -1
  97. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js +0 -139
  98. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js.map +0 -1
  99. package/dist/npm/cjs/modules/contract/widget-contract.js +0 -10
  100. package/dist/npm/cjs/modules/contract/widget-contract.js.map +0 -1
  101. package/dist/npm/cjs/modules/products/tracking.js +0 -214
  102. package/dist/npm/cjs/modules/products/tracking.js.map +0 -1
  103. package/dist/npm/cjs/modules/recommendation/cart-handlers.js +0 -52
  104. package/dist/npm/cjs/modules/recommendation/cart-handlers.js.map +0 -1
  105. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js +0 -287
  106. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js.map +0 -1
  107. package/dist/npm/cjs/modules/recommendation/index.js +0 -678
  108. package/dist/npm/cjs/modules/recommendation/index.js.map +0 -1
  109. package/dist/npm/cjs/modules/recommendation/renderers/grid.js +0 -21
  110. package/dist/npm/cjs/modules/recommendation/renderers/grid.js.map +0 -1
  111. package/dist/npm/cjs/modules/recommendation/renderers/list.js +0 -22
  112. package/dist/npm/cjs/modules/recommendation/renderers/list.js.map +0 -1
  113. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js +0 -22
  114. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js.map +0 -1
  115. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js +0 -145
  116. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js.map +0 -1
  117. package/dist/npm/cjs/modules/recommendation/slider-controls.js +0 -201
  118. package/dist/npm/cjs/modules/recommendation/slider-controls.js.map +0 -1
  119. package/dist/npm/cjs/modules/recommendation/tracking.js +0 -247
  120. package/dist/npm/cjs/modules/recommendation/tracking.js.map +0 -1
  121. package/dist/npm/cjs/modules/recommendation/utils/dom.js +0 -70
  122. package/dist/npm/cjs/modules/recommendation/utils/dom.js.map +0 -1
  123. package/dist/npm/cjs/modules/recommendation/utils/format.js +0 -13
  124. package/dist/npm/cjs/modules/recommendation/utils/format.js.map +0 -1
  125. package/dist/npm/cjs/modules/recommendation/utils/index.js +0 -22
  126. package/dist/npm/cjs/modules/recommendation/utils/index.js.map +0 -1
  127. package/dist/npm/cjs/modules/renderer/helpers.js +0 -16
  128. package/dist/npm/cjs/modules/renderer/helpers.js.map +0 -1
  129. package/dist/npm/cjs/modules/renderer/index.js +0 -52
  130. package/dist/npm/cjs/modules/renderer/index.js.map +0 -1
  131. package/dist/npm/cjs/modules/renderer/style-resolver.js +0 -11
  132. package/dist/npm/cjs/modules/renderer/style-resolver.js.map +0 -1
  133. package/dist/npm/cjs/modules/renderer/styles/index.js +0 -254
  134. package/dist/npm/cjs/modules/renderer/styles/index.js.map +0 -1
  135. package/dist/npm/cjs/modules/renderer/styles.js +0 -7
  136. package/dist/npm/cjs/modules/renderer/styles.js.map +0 -1
  137. package/dist/npm/cjs/modules/renderer/utils/helpers.js +0 -243
  138. package/dist/npm/cjs/modules/renderer/utils/helpers.js.map +0 -1
  139. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js +0 -65
  140. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js.map +0 -1
  141. package/dist/npm/cjs/modules/renderer/utils/placement.js +0 -34
  142. package/dist/npm/cjs/modules/renderer/utils/placement.js.map +0 -1
  143. package/dist/npm/cjs/modules/renderer/utils.js +0 -61
  144. package/dist/npm/cjs/modules/renderer/utils.js.map +0 -1
  145. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js +0 -84
  146. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js.map +0 -1
  147. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js +0 -211
  148. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js.map +0 -1
  149. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js +0 -459
  150. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js.map +0 -1
  151. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js +0 -132
  152. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js.map +0 -1
  153. package/dist/npm/cjs/modules/renderer/widgets/custom.js +0 -58
  154. package/dist/npm/cjs/modules/renderer/widgets/custom.js.map +0 -1
  155. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js +0 -97
  156. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js.map +0 -1
  157. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js +0 -151
  158. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
  159. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js +0 -70
  160. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js.map +0 -1
  161. package/dist/npm/cjs/modules/renderer/widgets/helpers.js +0 -87
  162. package/dist/npm/cjs/modules/renderer/widgets/helpers.js.map +0 -1
  163. package/dist/npm/cjs/modules/renderer/widgets/index.js +0 -39
  164. package/dist/npm/cjs/modules/renderer/widgets/index.js.map +0 -1
  165. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js +0 -124
  166. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js.map +0 -1
  167. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js +0 -280
  168. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js.map +0 -1
  169. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js +0 -197
  170. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js.map +0 -1
  171. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js +0 -105
  172. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js.map +0 -1
  173. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js +0 -47
  174. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js.map +0 -1
  175. package/dist/npm/cjs/modules/search/cart/index.js +0 -42
  176. package/dist/npm/cjs/modules/search/cart/index.js.map +0 -1
  177. package/dist/npm/cjs/modules/search/components/index.js +0 -13
  178. package/dist/npm/cjs/modules/search/components/index.js.map +0 -1
  179. package/dist/npm/cjs/modules/search/components/search-box.js +0 -28
  180. package/dist/npm/cjs/modules/search/components/search-box.js.map +0 -1
  181. package/dist/npm/cjs/modules/search/components/search-item.js +0 -197
  182. package/dist/npm/cjs/modules/search/components/search-item.js.map +0 -1
  183. package/dist/npm/cjs/modules/search/components/suggestions.js +0 -132
  184. package/dist/npm/cjs/modules/search/components/suggestions.js.map +0 -1
  185. package/dist/npm/cjs/modules/search/index.js +0 -646
  186. package/dist/npm/cjs/modules/search/index.js.map +0 -1
  187. package/dist/npm/cjs/modules/search/renderers/position-renderers.js +0 -229
  188. package/dist/npm/cjs/modules/search/renderers/position-renderers.js.map +0 -1
  189. package/dist/npm/cjs/modules/search/renderers/results-renderer.js +0 -180
  190. package/dist/npm/cjs/modules/search/renderers/results-renderer.js.map +0 -1
  191. package/dist/npm/cjs/modules/search/services/api-service.js +0 -121
  192. package/dist/npm/cjs/modules/search/services/api-service.js.map +0 -1
  193. package/dist/npm/cjs/modules/search/services/tracking-service.js +0 -263
  194. package/dist/npm/cjs/modules/search/services/tracking-service.js.map +0 -1
  195. package/dist/npm/cjs/modules/search/styles.js +0 -864
  196. package/dist/npm/cjs/modules/search/styles.js.map +0 -1
  197. package/dist/npm/cjs/modules/search/utils/helpers.js +0 -100
  198. package/dist/npm/cjs/modules/search/utils/helpers.js.map +0 -1
  199. package/dist/npm/cjs/modules/search/utils/icons.js +0 -41
  200. package/dist/npm/cjs/modules/search/utils/icons.js.map +0 -1
  201. package/dist/npm/cjs/modules/search/utils/index.js +0 -22
  202. package/dist/npm/cjs/modules/search/utils/index.js.map +0 -1
  203. package/dist/npm/cjs/modules/search/utils/storage.js +0 -58
  204. package/dist/npm/cjs/modules/search/utils/storage.js.map +0 -1
  205. package/dist/npm/cjs/selwise.js +0 -1166
  206. package/dist/npm/cjs/selwise.js.map +0 -1
  207. package/dist/npm/cjs/sentry-test.js +0 -118
  208. package/dist/npm/cjs/sentry-test.js.map +0 -1
  209. package/dist/npm/cjs/sentry.js +0 -451
  210. package/dist/npm/cjs/sentry.js.map +0 -1
  211. package/dist/npm/cjs/shared/cart/handlers.js +0 -259
  212. package/dist/npm/cjs/shared/cart/handlers.js.map +0 -1
  213. package/dist/npm/cjs/shared/cart/index.js +0 -23
  214. package/dist/npm/cjs/shared/cart/index.js.map +0 -1
  215. package/dist/npm/cjs/shared/cart/types.js +0 -7
  216. package/dist/npm/cjs/shared/cart/types.js.map +0 -1
  217. package/dist/npm/cjs/shared/product-card/index.js +0 -24
  218. package/dist/npm/cjs/shared/product-card/index.js.map +0 -1
  219. package/dist/npm/cjs/shared/product-card/renderer.js +0 -341
  220. package/dist/npm/cjs/shared/product-card/renderer.js.map +0 -1
  221. package/dist/npm/cjs/shared/product-card/styles.js +0 -195
  222. package/dist/npm/cjs/shared/product-card/styles.js.map +0 -1
  223. package/dist/npm/cjs/shared/product-card/types.js +0 -67
  224. package/dist/npm/cjs/shared/product-card/types.js.map +0 -1
  225. package/dist/npm/cjs/types/config.js +0 -6
  226. package/dist/npm/cjs/types/config.js.map +0 -1
  227. package/dist/npm/cjs/types/experiments.js +0 -17
  228. package/dist/npm/cjs/types/experiments.js.map +0 -1
  229. package/dist/npm/cjs/types/global-api.js +0 -3
  230. package/dist/npm/cjs/types/global-api.js.map +0 -1
  231. package/dist/npm/cjs/types/index.js +0 -27
  232. package/dist/npm/cjs/types/index.js.map +0 -1
  233. package/dist/npm/cjs/types/recommendation.js +0 -6
  234. package/dist/npm/cjs/types/recommendation.js.map +0 -1
  235. package/dist/npm/cjs/types/renderer.js +0 -6
  236. package/dist/npm/cjs/types/renderer.js.map +0 -1
  237. package/dist/npm/cjs/types/search.js +0 -6
  238. package/dist/npm/cjs/types/search.js.map +0 -1
  239. package/dist/npm/cjs/utils/api-url.js +0 -35
  240. package/dist/npm/cjs/utils/api-url.js.map +0 -1
  241. package/dist/npm/cjs/utils/debounce.js +0 -74
  242. package/dist/npm/cjs/utils/debounce.js.map +0 -1
  243. package/dist/npm/cjs/utils/event-id.js +0 -23
  244. package/dist/npm/cjs/utils/event-id.js.map +0 -1
  245. package/dist/npm/cjs/utils/index.js +0 -28
  246. package/dist/npm/cjs/utils/index.js.map +0 -1
  247. package/dist/npm/cjs/utils/logger.js +0 -74
  248. package/dist/npm/cjs/utils/logger.js.map +0 -1
  249. package/dist/npm/cjs/utils/sanitize.js +0 -159
  250. package/dist/npm/cjs/utils/sanitize.js.map +0 -1
  251. package/dist/npm/cjs/utils/storage.js +0 -285
  252. package/dist/npm/cjs/utils/storage.js.map +0 -1
  253. package/dist/npm/cjs/utils/tracking-metadata.js +0 -18
  254. package/dist/npm/cjs/utils/tracking-metadata.js.map +0 -1
  255. package/dist/npm/cjs/utils/url-matcher.js +0 -11
  256. package/dist/npm/cjs/utils/url-matcher.js.map +0 -1
  257. package/dist/npm/esm/constants.d.ts +0 -130
  258. package/dist/npm/esm/constants.js +0 -164
  259. package/dist/npm/esm/constants.js.map +0 -1
  260. package/dist/npm/esm/core/conflict-resolver.d.ts +0 -96
  261. package/dist/npm/esm/core/conflict-resolver.js +0 -198
  262. package/dist/npm/esm/core/conflict-resolver.js.map +0 -1
  263. package/dist/npm/esm/core/event-batcher.d.ts +0 -253
  264. package/dist/npm/esm/core/event-batcher.js +0 -973
  265. package/dist/npm/esm/core/event-batcher.js.map +0 -1
  266. package/dist/npm/esm/core/experiment-overrides.d.ts +0 -7
  267. package/dist/npm/esm/core/experiment-overrides.js +0 -172
  268. package/dist/npm/esm/core/experiment-overrides.js.map +0 -1
  269. package/dist/npm/esm/core/experiments.d.ts +0 -90
  270. package/dist/npm/esm/core/experiments.js +0 -313
  271. package/dist/npm/esm/core/experiments.js.map +0 -1
  272. package/dist/npm/esm/core/frequency-caps.d.ts +0 -124
  273. package/dist/npm/esm/core/frequency-caps.js +0 -292
  274. package/dist/npm/esm/core/frequency-caps.js.map +0 -1
  275. package/dist/npm/esm/core/index.d.ts +0 -10
  276. package/dist/npm/esm/core/index.js +0 -11
  277. package/dist/npm/esm/core/index.js.map +0 -1
  278. package/dist/npm/esm/core/indexeddb-queue.d.ts +0 -83
  279. package/dist/npm/esm/core/indexeddb-queue.js +0 -328
  280. package/dist/npm/esm/core/indexeddb-queue.js.map +0 -1
  281. package/dist/npm/esm/core/journey-tracker.d.ts +0 -102
  282. package/dist/npm/esm/core/journey-tracker.js +0 -237
  283. package/dist/npm/esm/core/journey-tracker.js.map +0 -1
  284. package/dist/npm/esm/core/page-targeting/index.d.ts +0 -8
  285. package/dist/npm/esm/core/page-targeting/index.js +0 -67
  286. package/dist/npm/esm/core/page-targeting/index.js.map +0 -1
  287. package/dist/npm/esm/core/script-executor.d.ts +0 -31
  288. package/dist/npm/esm/core/script-executor.js +0 -76
  289. package/dist/npm/esm/core/script-executor.js.map +0 -1
  290. package/dist/npm/esm/core/segments.d.ts +0 -39
  291. package/dist/npm/esm/core/segments.js +0 -168
  292. package/dist/npm/esm/core/segments.js.map +0 -1
  293. package/dist/npm/esm/core/tracker.d.ts +0 -182
  294. package/dist/npm/esm/core/tracker.js +0 -794
  295. package/dist/npm/esm/core/tracker.js.map +0 -1
  296. package/dist/npm/esm/datalayer/basket.d.ts +0 -104
  297. package/dist/npm/esm/datalayer/basket.js +0 -381
  298. package/dist/npm/esm/datalayer/basket.js.map +0 -1
  299. package/dist/npm/esm/datalayer/cart-association.d.ts +0 -65
  300. package/dist/npm/esm/datalayer/cart-association.js +0 -222
  301. package/dist/npm/esm/datalayer/cart-association.js.map +0 -1
  302. package/dist/npm/esm/datalayer/checkout.d.ts +0 -96
  303. package/dist/npm/esm/datalayer/checkout.js +0 -378
  304. package/dist/npm/esm/datalayer/checkout.js.map +0 -1
  305. package/dist/npm/esm/datalayer/constants.d.ts +0 -77
  306. package/dist/npm/esm/datalayer/constants.js +0 -160
  307. package/dist/npm/esm/datalayer/constants.js.map +0 -1
  308. package/dist/npm/esm/datalayer/index.d.ts +0 -212
  309. package/dist/npm/esm/datalayer/index.js +0 -991
  310. package/dist/npm/esm/datalayer/index.js.map +0 -1
  311. package/dist/npm/esm/datalayer/listener.d.ts +0 -108
  312. package/dist/npm/esm/datalayer/listener.js +0 -411
  313. package/dist/npm/esm/datalayer/listener.js.map +0 -1
  314. package/dist/npm/esm/datalayer/page.d.ts +0 -94
  315. package/dist/npm/esm/datalayer/page.js +0 -339
  316. package/dist/npm/esm/datalayer/page.js.map +0 -1
  317. package/dist/npm/esm/datalayer/product.d.ts +0 -133
  318. package/dist/npm/esm/datalayer/product.js +0 -513
  319. package/dist/npm/esm/datalayer/product.js.map +0 -1
  320. package/dist/npm/esm/datalayer/reverse-mappings.d.ts +0 -62
  321. package/dist/npm/esm/datalayer/reverse-mappings.js +0 -135
  322. package/dist/npm/esm/datalayer/reverse-mappings.js.map +0 -1
  323. package/dist/npm/esm/datalayer/search.d.ts +0 -108
  324. package/dist/npm/esm/datalayer/search.js +0 -359
  325. package/dist/npm/esm/datalayer/search.js.map +0 -1
  326. package/dist/npm/esm/datalayer/types.d.ts +0 -292
  327. package/dist/npm/esm/datalayer/types.js +0 -131
  328. package/dist/npm/esm/datalayer/types.js.map +0 -1
  329. package/dist/npm/esm/datalayer/user.d.ts +0 -104
  330. package/dist/npm/esm/datalayer/user.js +0 -368
  331. package/dist/npm/esm/datalayer/user.js.map +0 -1
  332. package/dist/npm/esm/debug/index.d.ts +0 -173
  333. package/dist/npm/esm/debug/index.js +0 -673
  334. package/dist/npm/esm/debug/index.js.map +0 -1
  335. package/dist/npm/esm/entries/cdn.d.ts +0 -1
  336. package/dist/npm/esm/entries/cdn.js +0 -35
  337. package/dist/npm/esm/entries/cdn.js.map +0 -1
  338. package/dist/npm/esm/index.d.ts +0 -7
  339. package/dist/npm/esm/index.js +0 -17
  340. package/dist/npm/esm/index.js.map +0 -1
  341. package/dist/npm/esm/modules/contract/recommendation-contract.d.ts +0 -5
  342. package/dist/npm/esm/modules/contract/recommendation-contract.js +0 -107
  343. package/dist/npm/esm/modules/contract/recommendation-contract.js.map +0 -1
  344. package/dist/npm/esm/modules/contract/search-contract.d.ts +0 -1
  345. package/dist/npm/esm/modules/contract/search-contract.js +0 -2
  346. package/dist/npm/esm/modules/contract/search-contract.js.map +0 -1
  347. package/dist/npm/esm/modules/contract/tracking-contract.d.ts +0 -1
  348. package/dist/npm/esm/modules/contract/tracking-contract.js +0 -2
  349. package/dist/npm/esm/modules/contract/tracking-contract.js.map +0 -1
  350. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.d.ts +0 -8
  351. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js +0 -160
  352. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
  353. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.d.ts +0 -3
  354. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js +0 -5
  355. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
  356. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.d.ts +0 -56
  357. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js +0 -2
  358. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
  359. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.d.ts +0 -3
  360. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js +0 -103
  361. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
  362. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.d.ts +0 -35
  363. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js +0 -396
  364. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js.map +0 -1
  365. package/dist/npm/esm/modules/contract/vendor/search-contract/index.d.ts +0 -3
  366. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js +0 -5
  367. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js.map +0 -1
  368. package/dist/npm/esm/modules/contract/vendor/search-contract/types.d.ts +0 -119
  369. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js +0 -7
  370. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js.map +0 -1
  371. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.d.ts +0 -22
  372. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js +0 -118
  373. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js.map +0 -1
  374. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.d.ts +0 -7
  375. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js +0 -130
  376. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
  377. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.d.ts +0 -3
  378. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js +0 -5
  379. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js.map +0 -1
  380. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.d.ts +0 -37
  381. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js +0 -2
  382. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js.map +0 -1
  383. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.d.ts +0 -6
  384. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js +0 -147
  385. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
  386. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.d.ts +0 -22
  387. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js +0 -1472
  388. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js.map +0 -1
  389. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.d.ts +0 -4
  390. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js +0 -6
  391. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js.map +0 -1
  392. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.d.ts +0 -14
  393. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js +0 -18
  394. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js.map +0 -1
  395. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.d.ts +0 -128
  396. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js +0 -7
  397. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js.map +0 -1
  398. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.d.ts +0 -11
  399. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js +0 -132
  400. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js.map +0 -1
  401. package/dist/npm/esm/modules/contract/widget-contract.d.ts +0 -1
  402. package/dist/npm/esm/modules/contract/widget-contract.js +0 -2
  403. package/dist/npm/esm/modules/contract/widget-contract.js.map +0 -1
  404. package/dist/npm/esm/modules/products/tracking.d.ts +0 -122
  405. package/dist/npm/esm/modules/products/tracking.js +0 -203
  406. package/dist/npm/esm/modules/products/tracking.js.map +0 -1
  407. package/dist/npm/esm/modules/recommendation/cart-handlers.d.ts +0 -10
  408. package/dist/npm/esm/modules/recommendation/cart-handlers.js +0 -49
  409. package/dist/npm/esm/modules/recommendation/cart-handlers.js.map +0 -1
  410. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.d.ts +0 -37
  411. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js +0 -281
  412. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js.map +0 -1
  413. package/dist/npm/esm/modules/recommendation/index.d.ts +0 -11
  414. package/dist/npm/esm/modules/recommendation/index.js +0 -674
  415. package/dist/npm/esm/modules/recommendation/index.js.map +0 -1
  416. package/dist/npm/esm/modules/recommendation/renderers/grid.d.ts +0 -5
  417. package/dist/npm/esm/modules/recommendation/renderers/grid.js +0 -18
  418. package/dist/npm/esm/modules/recommendation/renderers/grid.js.map +0 -1
  419. package/dist/npm/esm/modules/recommendation/renderers/list.d.ts +0 -5
  420. package/dist/npm/esm/modules/recommendation/renderers/list.js +0 -19
  421. package/dist/npm/esm/modules/recommendation/renderers/list.js.map +0 -1
  422. package/dist/npm/esm/modules/recommendation/renderers/masonry.d.ts +0 -5
  423. package/dist/npm/esm/modules/recommendation/renderers/masonry.js +0 -19
  424. package/dist/npm/esm/modules/recommendation/renderers/masonry.js.map +0 -1
  425. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.d.ts +0 -10
  426. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js +0 -140
  427. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js.map +0 -1
  428. package/dist/npm/esm/modules/recommendation/slider-controls.d.ts +0 -17
  429. package/dist/npm/esm/modules/recommendation/slider-controls.js +0 -187
  430. package/dist/npm/esm/modules/recommendation/slider-controls.js.map +0 -1
  431. package/dist/npm/esm/modules/recommendation/tracking.d.ts +0 -28
  432. package/dist/npm/esm/modules/recommendation/tracking.js +0 -237
  433. package/dist/npm/esm/modules/recommendation/tracking.js.map +0 -1
  434. package/dist/npm/esm/modules/recommendation/utils/dom.d.ts +0 -10
  435. package/dist/npm/esm/modules/recommendation/utils/dom.js +0 -63
  436. package/dist/npm/esm/modules/recommendation/utils/dom.js.map +0 -1
  437. package/dist/npm/esm/modules/recommendation/utils/format.d.ts +0 -4
  438. package/dist/npm/esm/modules/recommendation/utils/format.js +0 -10
  439. package/dist/npm/esm/modules/recommendation/utils/format.js.map +0 -1
  440. package/dist/npm/esm/modules/recommendation/utils/index.d.ts +0 -5
  441. package/dist/npm/esm/modules/recommendation/utils/index.js +0 -6
  442. package/dist/npm/esm/modules/recommendation/utils/index.js.map +0 -1
  443. package/dist/npm/esm/modules/renderer/helpers.d.ts +0 -5
  444. package/dist/npm/esm/modules/renderer/helpers.js +0 -6
  445. package/dist/npm/esm/modules/renderer/helpers.js.map +0 -1
  446. package/dist/npm/esm/modules/renderer/index.d.ts +0 -8
  447. package/dist/npm/esm/modules/renderer/index.js +0 -48
  448. package/dist/npm/esm/modules/renderer/index.js.map +0 -1
  449. package/dist/npm/esm/modules/renderer/style-resolver.d.ts +0 -1
  450. package/dist/npm/esm/modules/renderer/style-resolver.js +0 -8
  451. package/dist/npm/esm/modules/renderer/style-resolver.js.map +0 -1
  452. package/dist/npm/esm/modules/renderer/styles/index.d.ts +0 -12
  453. package/dist/npm/esm/modules/renderer/styles/index.js +0 -250
  454. package/dist/npm/esm/modules/renderer/styles/index.js.map +0 -1
  455. package/dist/npm/esm/modules/renderer/styles.d.ts +0 -1
  456. package/dist/npm/esm/modules/renderer/styles.js +0 -2
  457. package/dist/npm/esm/modules/renderer/styles.js.map +0 -1
  458. package/dist/npm/esm/modules/renderer/utils/helpers.d.ts +0 -58
  459. package/dist/npm/esm/modules/renderer/utils/helpers.js +0 -225
  460. package/dist/npm/esm/modules/renderer/utils/helpers.js.map +0 -1
  461. package/dist/npm/esm/modules/renderer/utils/image-renderer.d.ts +0 -17
  462. package/dist/npm/esm/modules/renderer/utils/image-renderer.js +0 -60
  463. package/dist/npm/esm/modules/renderer/utils/image-renderer.js.map +0 -1
  464. package/dist/npm/esm/modules/renderer/utils/placement.d.ts +0 -6
  465. package/dist/npm/esm/modules/renderer/utils/placement.js +0 -31
  466. package/dist/npm/esm/modules/renderer/utils/placement.js.map +0 -1
  467. package/dist/npm/esm/modules/renderer/utils.d.ts +0 -11
  468. package/dist/npm/esm/modules/renderer/utils.js +0 -44
  469. package/dist/npm/esm/modules/renderer/utils.js.map +0 -1
  470. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.d.ts +0 -5
  471. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js +0 -81
  472. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js.map +0 -1
  473. package/dist/npm/esm/modules/renderer/widgets/cart-count.d.ts +0 -6
  474. package/dist/npm/esm/modules/renderer/widgets/cart-count.js +0 -208
  475. package/dist/npm/esm/modules/renderer/widgets/cart-count.js.map +0 -1
  476. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.d.ts +0 -18
  477. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js +0 -454
  478. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js.map +0 -1
  479. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.d.ts +0 -5
  480. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js +0 -129
  481. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js.map +0 -1
  482. package/dist/npm/esm/modules/renderer/widgets/custom.d.ts +0 -5
  483. package/dist/npm/esm/modules/renderer/widgets/custom.js +0 -55
  484. package/dist/npm/esm/modules/renderer/widgets/custom.js.map +0 -1
  485. package/dist/npm/esm/modules/renderer/widgets/embedded-card.d.ts +0 -5
  486. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js +0 -94
  487. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js.map +0 -1
  488. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.d.ts +0 -6
  489. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js +0 -147
  490. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
  491. package/dist/npm/esm/modules/renderer/widgets/floating-button.d.ts +0 -5
  492. package/dist/npm/esm/modules/renderer/widgets/floating-button.js +0 -67
  493. package/dist/npm/esm/modules/renderer/widgets/floating-button.js.map +0 -1
  494. package/dist/npm/esm/modules/renderer/widgets/helpers.d.ts +0 -29
  495. package/dist/npm/esm/modules/renderer/widgets/helpers.js +0 -82
  496. package/dist/npm/esm/modules/renderer/widgets/helpers.js.map +0 -1
  497. package/dist/npm/esm/modules/renderer/widgets/index.d.ts +0 -17
  498. package/dist/npm/esm/modules/renderer/widgets/index.js +0 -19
  499. package/dist/npm/esm/modules/renderer/widgets/index.js.map +0 -1
  500. package/dist/npm/esm/modules/renderer/widgets/inline-banner.d.ts +0 -5
  501. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js +0 -121
  502. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js.map +0 -1
  503. package/dist/npm/esm/modules/renderer/widgets/newsletter.d.ts +0 -6
  504. package/dist/npm/esm/modules/renderer/widgets/newsletter.js +0 -277
  505. package/dist/npm/esm/modules/renderer/widgets/newsletter.js.map +0 -1
  506. package/dist/npm/esm/modules/renderer/widgets/product-view-count.d.ts +0 -6
  507. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js +0 -194
  508. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js.map +0 -1
  509. package/dist/npm/esm/modules/renderer/widgets/slide-in.d.ts +0 -5
  510. package/dist/npm/esm/modules/renderer/widgets/slide-in.js +0 -102
  511. package/dist/npm/esm/modules/renderer/widgets/slide-in.js.map +0 -1
  512. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.d.ts +0 -5
  513. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js +0 -44
  514. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js.map +0 -1
  515. package/dist/npm/esm/modules/search/cart/index.d.ts +0 -26
  516. package/dist/npm/esm/modules/search/cart/index.js +0 -39
  517. package/dist/npm/esm/modules/search/cart/index.js.map +0 -1
  518. package/dist/npm/esm/modules/search/components/index.d.ts +0 -6
  519. package/dist/npm/esm/modules/search/components/index.js +0 -7
  520. package/dist/npm/esm/modules/search/components/index.js.map +0 -1
  521. package/dist/npm/esm/modules/search/components/search-box.d.ts +0 -11
  522. package/dist/npm/esm/modules/search/components/search-box.js +0 -25
  523. package/dist/npm/esm/modules/search/components/search-box.js.map +0 -1
  524. package/dist/npm/esm/modules/search/components/search-item.d.ts +0 -20
  525. package/dist/npm/esm/modules/search/components/search-item.js +0 -193
  526. package/dist/npm/esm/modules/search/components/search-item.js.map +0 -1
  527. package/dist/npm/esm/modules/search/components/suggestions.d.ts +0 -10
  528. package/dist/npm/esm/modules/search/components/suggestions.js +0 -129
  529. package/dist/npm/esm/modules/search/components/suggestions.js.map +0 -1
  530. package/dist/npm/esm/modules/search/index.d.ts +0 -67
  531. package/dist/npm/esm/modules/search/index.js +0 -642
  532. package/dist/npm/esm/modules/search/index.js.map +0 -1
  533. package/dist/npm/esm/modules/search/renderers/position-renderers.d.ts +0 -23
  534. package/dist/npm/esm/modules/search/renderers/position-renderers.js +0 -221
  535. package/dist/npm/esm/modules/search/renderers/position-renderers.js.map +0 -1
  536. package/dist/npm/esm/modules/search/renderers/results-renderer.d.ts +0 -20
  537. package/dist/npm/esm/modules/search/renderers/results-renderer.js +0 -176
  538. package/dist/npm/esm/modules/search/renderers/results-renderer.js.map +0 -1
  539. package/dist/npm/esm/modules/search/services/api-service.d.ts +0 -18
  540. package/dist/npm/esm/modules/search/services/api-service.js +0 -115
  541. package/dist/npm/esm/modules/search/services/api-service.js.map +0 -1
  542. package/dist/npm/esm/modules/search/services/tracking-service.d.ts +0 -16
  543. package/dist/npm/esm/modules/search/services/tracking-service.js +0 -250
  544. package/dist/npm/esm/modules/search/services/tracking-service.js.map +0 -1
  545. package/dist/npm/esm/modules/search/styles.d.ts +0 -13
  546. package/dist/npm/esm/modules/search/styles.js +0 -860
  547. package/dist/npm/esm/modules/search/styles.js.map +0 -1
  548. package/dist/npm/esm/modules/search/utils/helpers.d.ts +0 -24
  549. package/dist/npm/esm/modules/search/utils/helpers.js +0 -93
  550. package/dist/npm/esm/modules/search/utils/helpers.js.map +0 -1
  551. package/dist/npm/esm/modules/search/utils/icons.d.ts +0 -16
  552. package/dist/npm/esm/modules/search/utils/icons.js +0 -36
  553. package/dist/npm/esm/modules/search/utils/icons.js.map +0 -1
  554. package/dist/npm/esm/modules/search/utils/index.d.ts +0 -6
  555. package/dist/npm/esm/modules/search/utils/index.js +0 -7
  556. package/dist/npm/esm/modules/search/utils/index.js.map +0 -1
  557. package/dist/npm/esm/modules/search/utils/storage.d.ts +0 -7
  558. package/dist/npm/esm/modules/search/utils/storage.js +0 -52
  559. package/dist/npm/esm/modules/search/utils/storage.js.map +0 -1
  560. package/dist/npm/esm/package.json +0 -1
  561. package/dist/npm/esm/selwise.d.ts +0 -235
  562. package/dist/npm/esm/selwise.js +0 -1129
  563. package/dist/npm/esm/selwise.js.map +0 -1
  564. package/dist/npm/esm/sentry-test.d.ts +0 -45
  565. package/dist/npm/esm/sentry-test.js +0 -109
  566. package/dist/npm/esm/sentry-test.js.map +0 -1
  567. package/dist/npm/esm/sentry.d.ts +0 -86
  568. package/dist/npm/esm/sentry.js +0 -441
  569. package/dist/npm/esm/sentry.js.map +0 -1
  570. package/dist/npm/esm/shared/cart/handlers.d.ts +0 -46
  571. package/dist/npm/esm/shared/cart/handlers.js +0 -249
  572. package/dist/npm/esm/shared/cart/handlers.js.map +0 -1
  573. package/dist/npm/esm/shared/cart/index.d.ts +0 -6
  574. package/dist/npm/esm/shared/cart/index.js +0 -7
  575. package/dist/npm/esm/shared/cart/index.js.map +0 -1
  576. package/dist/npm/esm/shared/cart/types.d.ts +0 -30
  577. package/dist/npm/esm/shared/cart/types.js +0 -6
  578. package/dist/npm/esm/shared/cart/types.js.map +0 -1
  579. package/dist/npm/esm/shared/product-card/index.d.ts +0 -7
  580. package/dist/npm/esm/shared/product-card/index.js +0 -8
  581. package/dist/npm/esm/shared/product-card/index.js.map +0 -1
  582. package/dist/npm/esm/shared/product-card/renderer.d.ts +0 -35
  583. package/dist/npm/esm/shared/product-card/renderer.js +0 -334
  584. package/dist/npm/esm/shared/product-card/renderer.js.map +0 -1
  585. package/dist/npm/esm/shared/product-card/styles.d.ts +0 -17
  586. package/dist/npm/esm/shared/product-card/styles.js +0 -190
  587. package/dist/npm/esm/shared/product-card/styles.js.map +0 -1
  588. package/dist/npm/esm/shared/product-card/types.d.ts +0 -84
  589. package/dist/npm/esm/shared/product-card/types.js +0 -63
  590. package/dist/npm/esm/shared/product-card/types.js.map +0 -1
  591. package/dist/npm/esm/types/config.d.ts +0 -26
  592. package/dist/npm/esm/types/config.js +0 -5
  593. package/dist/npm/esm/types/config.js.map +0 -1
  594. package/dist/npm/esm/types/experiments.d.ts +0 -47
  595. package/dist/npm/esm/types/experiments.js +0 -14
  596. package/dist/npm/esm/types/experiments.js.map +0 -1
  597. package/dist/npm/esm/types/global-api.d.ts +0 -40
  598. package/dist/npm/esm/types/global-api.js +0 -2
  599. package/dist/npm/esm/types/global-api.js.map +0 -1
  600. package/dist/npm/esm/types/index.d.ts +0 -9
  601. package/dist/npm/esm/types/index.js +0 -11
  602. package/dist/npm/esm/types/index.js.map +0 -1
  603. package/dist/npm/esm/types/recommendation.d.ts +0 -186
  604. package/dist/npm/esm/types/recommendation.js +0 -5
  605. package/dist/npm/esm/types/recommendation.js.map +0 -1
  606. package/dist/npm/esm/types/renderer.d.ts +0 -99
  607. package/dist/npm/esm/types/renderer.js +0 -5
  608. package/dist/npm/esm/types/renderer.js.map +0 -1
  609. package/dist/npm/esm/types/search.d.ts +0 -186
  610. package/dist/npm/esm/types/search.js +0 -5
  611. package/dist/npm/esm/types/search.js.map +0 -1
  612. package/dist/npm/esm/utils/api-url.d.ts +0 -1
  613. package/dist/npm/esm/utils/api-url.js +0 -32
  614. package/dist/npm/esm/utils/api-url.js.map +0 -1
  615. package/dist/npm/esm/utils/debounce.d.ts +0 -27
  616. package/dist/npm/esm/utils/debounce.js +0 -70
  617. package/dist/npm/esm/utils/debounce.js.map +0 -1
  618. package/dist/npm/esm/utils/event-id.d.ts +0 -5
  619. package/dist/npm/esm/utils/event-id.js +0 -20
  620. package/dist/npm/esm/utils/event-id.js.map +0 -1
  621. package/dist/npm/esm/utils/index.d.ts +0 -11
  622. package/dist/npm/esm/utils/index.js +0 -12
  623. package/dist/npm/esm/utils/index.js.map +0 -1
  624. package/dist/npm/esm/utils/logger.d.ts +0 -31
  625. package/dist/npm/esm/utils/logger.js +0 -66
  626. package/dist/npm/esm/utils/logger.js.map +0 -1
  627. package/dist/npm/esm/utils/sanitize.d.ts +0 -38
  628. package/dist/npm/esm/utils/sanitize.js +0 -148
  629. package/dist/npm/esm/utils/sanitize.js.map +0 -1
  630. package/dist/npm/esm/utils/storage.d.ts +0 -72
  631. package/dist/npm/esm/utils/storage.js +0 -271
  632. package/dist/npm/esm/utils/storage.js.map +0 -1
  633. package/dist/npm/esm/utils/tracking-metadata.d.ts +0 -1
  634. package/dist/npm/esm/utils/tracking-metadata.js +0 -15
  635. package/dist/npm/esm/utils/tracking-metadata.js.map +0 -1
  636. package/dist/npm/esm/utils/url-matcher.d.ts +0 -4
  637. package/dist/npm/esm/utils/url-matcher.js +0 -8
  638. package/dist/npm/esm/utils/url-matcher.js.map +0 -1
@@ -1,121 +0,0 @@
1
- /**
2
- * Inline Banner Widget Renderer
3
- */
4
- import { getShadowValue, setDataAttributes, safeHref } from '../utils/helpers.js';
5
- import { createImageElement } from '../utils/image-renderer.js';
6
- import { resolveInlineBannerLayout } from '../../contract/widget-contract.js';
7
- import { insertSelectorWithDeferred } from '../utils/placement.js';
8
- const DEFER_KEY_PREFIX = 'inline-banner';
9
- export function renderInlineBanner(widget, campaign) {
10
- const content = campaign.contentJson || {};
11
- const styles = campaign.stylesJson || {};
12
- const displayTitle = content.title || content.headline || '';
13
- const displayText = content.text || '';
14
- const displaySubtext = content.subtext || '';
15
- const backgroundColor = styles.backgroundColor || '#f3f4f6';
16
- const textColor = styles.textColor || '#1f2937';
17
- const buttonColor = styles.buttonColor || textColor;
18
- const buttonTextColor = styles.buttonTextColor || backgroundColor;
19
- const padding = styles.padding || '16px';
20
- const borderRadius = styles.borderRadius || '8px';
21
- const shadow = styles.shadow || 'md';
22
- const border = styles.border;
23
- const imageMode = styles.imageMode || 'thumbnail';
24
- const imageSize = styles.imageSize || '60px';
25
- const imageAspectRatio = styles.imageAspectRatio || 'auto';
26
- const imageObjectFit = (styles.imageObjectFit || 'cover');
27
- const imageBorderRadius = styles.imageBorderRadius || '8px';
28
- const imageSpacing = styles.imageSpacing || '16px';
29
- const { effectiveDirection, alignItems, textAlign, ctaAlignSelf } = resolveInlineBannerLayout({
30
- imageMode,
31
- contentDirection: styles.contentDirection,
32
- contentAlignment: styles.contentAlignment,
33
- });
34
- const banner = document.createElement('div');
35
- banner.className = 'selwise-widget selwise-inline';
36
- banner.style.backgroundColor = backgroundColor;
37
- banner.style.color = textColor;
38
- banner.style.padding = padding;
39
- banner.style.borderRadius = borderRadius;
40
- banner.style.boxShadow = getShadowValue(shadow);
41
- banner.style.display = 'flex';
42
- banner.style.flexDirection = effectiveDirection;
43
- banner.style.gap = imageSpacing;
44
- banner.style.alignItems = alignItems;
45
- banner.style.textAlign = textAlign;
46
- if (border && border !== 'none') {
47
- banner.style.border = border;
48
- }
49
- setDataAttributes(banner, widget, campaign);
50
- const image = createImageElement({
51
- imageUrl: content.imageUrl,
52
- mode: imageMode,
53
- size: imageSize,
54
- aspectRatio: imageAspectRatio,
55
- objectFit: imageObjectFit,
56
- borderRadius: imageMode === 'fullWidth' ? '0px' : imageBorderRadius,
57
- alt: '',
58
- });
59
- if (image) {
60
- banner.appendChild(image);
61
- }
62
- const contentContainer = document.createElement('div');
63
- contentContainer.className = 'selwise-banner-content';
64
- contentContainer.style.flex = '1';
65
- contentContainer.style.minWidth = '0';
66
- contentContainer.style.display = 'flex';
67
- contentContainer.style.flexDirection = 'column';
68
- contentContainer.style.gap = '4px';
69
- contentContainer.style.alignItems = alignItems;
70
- contentContainer.style.textAlign = textAlign;
71
- if (displayTitle) {
72
- const titleEl = document.createElement('h4');
73
- titleEl.style.fontSize = '16px';
74
- titleEl.style.fontWeight = '600';
75
- titleEl.style.margin = '0';
76
- titleEl.textContent = displayTitle;
77
- contentContainer.appendChild(titleEl);
78
- }
79
- if (displayText || displaySubtext) {
80
- const textEl = document.createElement('p');
81
- textEl.style.fontSize = '14px';
82
- textEl.style.fontWeight = '500';
83
- textEl.style.margin = '0';
84
- textEl.style.opacity = '0.9';
85
- textEl.textContent = [displayText, displaySubtext].filter(Boolean).join(displayText ? ' - ' : '');
86
- contentContainer.appendChild(textEl);
87
- }
88
- let action = null;
89
- if (content.buttonText) {
90
- action = document.createElement('a');
91
- action.href = safeHref(content.buttonUrl);
92
- action.textContent = content.buttonText;
93
- action.style.padding = '10px 20px';
94
- action.style.background = buttonColor;
95
- action.style.color = buttonTextColor;
96
- action.style.borderRadius = '6px';
97
- action.style.textDecoration = 'none';
98
- action.style.fontSize = '13px';
99
- action.style.fontWeight = '600';
100
- action.style.whiteSpace = 'nowrap';
101
- action.style.display = 'inline-block';
102
- action.style.alignSelf = ctaAlignSelf;
103
- }
104
- if (effectiveDirection === 'row' && action) {
105
- banner.appendChild(contentContainer);
106
- banner.appendChild(action);
107
- }
108
- else {
109
- if (action) {
110
- action.style.marginTop = '8px';
111
- contentContainer.appendChild(action);
112
- }
113
- banner.appendChild(contentContainer);
114
- }
115
- const deferKey = `${DEFER_KEY_PREFIX}:${widget.id}`;
116
- if (!insertSelectorWithDeferred(banner, widget, deferKey)) {
117
- return null;
118
- }
119
- return banner;
120
- }
121
- //# sourceMappingURL=inline-banner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-banner.js","sourceRoot":"","sources":["../../../../../../src/modules/renderer/widgets/inline-banner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Newsletter Widget Renderer
3
- * Captures tenant-scoped newsletter subscriptions via public site endpoint.
4
- */
5
- import type { RendererWidget as Widget, RendererCampaign as Campaign } from '../../../types';
6
- export declare function renderNewsletter(widget: Widget, campaign: Campaign): HTMLElement | null;
@@ -1,277 +0,0 @@
1
- /**
2
- * Newsletter Widget Renderer
3
- * Captures tenant-scoped newsletter subscriptions via public site endpoint.
4
- */
5
- import { createCloseButton, getShadowValue, setDataAttributes, } from '../utils/helpers.js';
6
- import { insertSelectorWithDeferred } from '../utils/placement.js';
7
- const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
8
- const DEFER_KEY_PREFIX = 'newsletter';
9
- function resolveRuntimeContext() {
10
- const selwise = window.Selwise;
11
- const siteKey = selwise?.siteKey;
12
- const apiUrl = selwise?.apiUrl;
13
- if (!siteKey || !apiUrl) {
14
- return null;
15
- }
16
- const visitorId = typeof selwise.getVisitorId === 'function' ? selwise.getVisitorId() : undefined;
17
- const siteUserId = typeof selwise.getSiteUserId === 'function' ? selwise.getSiteUserId() : undefined;
18
- return { siteKey, apiUrl, visitorId, siteUserId };
19
- }
20
- function resolveLocale() {
21
- const htmlLang = document.documentElement?.lang?.slice(0, 2).toLowerCase();
22
- const browserLang = (navigator?.language || '').slice(0, 2).toLowerCase();
23
- const candidate = htmlLang || browserLang;
24
- return candidate === 'tr' ? 'tr' : 'en';
25
- }
26
- function resolveFixedPosition(rawPosition) {
27
- const position = (rawPosition || 'bottom-right').toLowerCase();
28
- if (position === 'center' || position === 'center-modal') {
29
- return {
30
- top: '50%',
31
- left: '50%',
32
- transform: 'translate(-50%, -50%)',
33
- };
34
- }
35
- if (position === 'bottom-left' || position === 'left') {
36
- return {
37
- bottom: '20px',
38
- left: '20px',
39
- };
40
- }
41
- if (position === 'top-left') {
42
- return {
43
- top: '20px',
44
- left: '20px',
45
- };
46
- }
47
- if (position === 'top-right' || position === 'top') {
48
- return {
49
- top: '20px',
50
- right: '20px',
51
- };
52
- }
53
- return {
54
- bottom: '20px',
55
- right: '20px',
56
- };
57
- }
58
- function setStatus(element, state, message) {
59
- if (state === 'idle') {
60
- element.textContent = '';
61
- element.style.display = 'none';
62
- element.removeAttribute('data-state');
63
- return;
64
- }
65
- element.textContent = message;
66
- element.style.display = 'block';
67
- element.setAttribute('data-state', state);
68
- if (state === 'error') {
69
- element.style.color = '#dc2626';
70
- return;
71
- }
72
- if (state === 'pending') {
73
- element.style.color = '#b45309';
74
- return;
75
- }
76
- element.style.color = '#166534';
77
- }
78
- function resolveResultState(result) {
79
- if (!result.success) {
80
- return {
81
- state: 'error',
82
- message: result.message || 'Unable to subscribe right now. Please try again.',
83
- };
84
- }
85
- if (result.status === 'pending_confirmation') {
86
- return {
87
- state: 'pending',
88
- message: result.message || 'Please check your inbox and confirm your subscription.',
89
- };
90
- }
91
- return {
92
- state: 'success',
93
- message: result.message || 'Subscription completed successfully.',
94
- };
95
- }
96
- export function renderNewsletter(widget, campaign) {
97
- const content = campaign.contentJson || {};
98
- const styles = campaign.stylesJson || {};
99
- const card = document.createElement('div');
100
- card.className = 'selwise-widget selwise-newsletter';
101
- card.style.backgroundColor = String(styles.backgroundColor || '#ffffff');
102
- card.style.color = String(styles.textColor || '#111827');
103
- card.style.padding = String(styles.padding || '16px');
104
- card.style.borderRadius = String(styles.borderRadius || '12px');
105
- card.style.boxShadow = getShadowValue(String(styles.shadow || 'lg'));
106
- card.style.maxWidth = String(styles.maxWidth || '360px');
107
- card.style.width = 'calc(100vw - 32px)';
108
- card.style.border = String(styles.border || '1px solid #e5e7eb');
109
- card.style.zIndex = '99998';
110
- card.style.boxSizing = 'border-box';
111
- card.style.fontSize = String(styles.fontSize || '14px');
112
- card.style.fontWeight = String(styles.fontWeight || 'normal');
113
- setDataAttributes(card, widget, campaign);
114
- const showCloseButton = styles.showCloseButton !== false;
115
- if (showCloseButton) {
116
- const close = createCloseButton(String(styles.textColor || '#111827'), () => {
117
- card.remove();
118
- });
119
- close.style.top = '10px';
120
- close.style.right = '10px';
121
- card.appendChild(close);
122
- }
123
- const title = document.createElement('h4');
124
- title.className = 'selwise-newsletter-title';
125
- title.textContent = String(content.headline || 'Join our newsletter');
126
- title.style.margin = '0 0 8px';
127
- title.style.fontSize = String(styles.headlineFontSize || '20px');
128
- title.style.fontWeight = '700';
129
- card.appendChild(title);
130
- const description = document.createElement('p');
131
- description.className = 'selwise-newsletter-description';
132
- description.textContent = String(content.text || 'Get updates and offers delivered to your inbox.');
133
- description.style.margin = '0 0 12px';
134
- description.style.opacity = '0.88';
135
- description.style.lineHeight = '1.5';
136
- card.appendChild(description);
137
- const form = document.createElement('form');
138
- form.className = 'selwise-newsletter-form';
139
- form.style.display = 'grid';
140
- form.style.gridTemplateColumns = '1fr auto';
141
- form.style.gap = '8px';
142
- const emailInput = document.createElement('input');
143
- emailInput.type = 'email';
144
- emailInput.required = true;
145
- emailInput.className = 'selwise-newsletter-input';
146
- emailInput.placeholder = String(content.emailPlaceholder || 'you@example.com');
147
- emailInput.style.width = '100%';
148
- emailInput.style.padding = '10px 12px';
149
- emailInput.style.borderRadius = '8px';
150
- emailInput.style.border = `1px solid ${String(styles.inputBorderColor || '#d1d5db')}`;
151
- emailInput.style.backgroundColor = String(styles.inputBackgroundColor || '#f9fafb');
152
- emailInput.style.color = String(styles.inputTextColor || '#111827');
153
- emailInput.style.outline = 'none';
154
- const submitButton = document.createElement('button');
155
- submitButton.type = 'submit';
156
- submitButton.className = 'selwise-newsletter-submit';
157
- submitButton.textContent = String(content.buttonText || 'Subscribe');
158
- submitButton.style.padding = '10px 14px';
159
- submitButton.style.border = 'none';
160
- submitButton.style.borderRadius = '8px';
161
- submitButton.style.cursor = 'pointer';
162
- submitButton.style.fontWeight = '600';
163
- submitButton.style.backgroundColor = String(styles.buttonColor || '#111827');
164
- submitButton.style.color = String(styles.buttonTextColor || '#ffffff');
165
- form.appendChild(emailInput);
166
- form.appendChild(submitButton);
167
- card.appendChild(form);
168
- const status = document.createElement('p');
169
- status.className = 'selwise-newsletter-status';
170
- status.style.margin = '10px 0 0';
171
- status.style.display = 'none';
172
- status.style.fontSize = '12px';
173
- status.style.lineHeight = '1.4';
174
- card.appendChild(status);
175
- form.addEventListener('submit', async (event) => {
176
- event.preventDefault();
177
- const email = emailInput.value.trim().toLowerCase();
178
- if (!EMAIL_REGEX.test(email)) {
179
- setStatus(status, 'error', String(content.errorMessage || 'Please enter a valid email address.'));
180
- return;
181
- }
182
- const runtime = resolveRuntimeContext();
183
- if (!runtime) {
184
- setStatus(status, 'error', String(content.errorMessage || 'Widget runtime is not initialized.'));
185
- return;
186
- }
187
- const defaultButtonText = String(content.buttonText || 'Subscribe');
188
- submitButton.disabled = true;
189
- emailInput.disabled = true;
190
- submitButton.textContent = 'Submitting...';
191
- setStatus(status, 'idle', '');
192
- try {
193
- const response = await fetch(`${runtime.apiUrl}/public/sites/${runtime.siteKey}/newsletter`, {
194
- method: 'POST',
195
- headers: {
196
- 'Content-Type': 'application/json',
197
- },
198
- body: JSON.stringify({
199
- email,
200
- locale: resolveLocale(),
201
- visitorId: runtime.visitorId,
202
- siteUserId: runtime.siteUserId,
203
- sourcePath: window.location.pathname || '/',
204
- referrer: document.referrer || undefined,
205
- autoConnectUsers: true,
206
- }),
207
- });
208
- const result = (await response.json().catch(() => ({})));
209
- const resolved = resolveResultState(response.ok
210
- ? result
211
- : {
212
- success: false,
213
- message: result.message ||
214
- String(content.errorMessage || 'Unable to subscribe right now.'),
215
- });
216
- if (!result.message) {
217
- if (resolved.state === 'pending') {
218
- resolved.message = 'Please check your inbox and confirm your subscription.';
219
- }
220
- if (resolved.state === 'success') {
221
- resolved.message = String(content.successMessage || 'You are subscribed.');
222
- }
223
- if (resolved.state === 'error') {
224
- resolved.message = String(content.errorMessage || 'Unable to subscribe right now. Please try again.');
225
- }
226
- }
227
- setStatus(status, resolved.state, resolved.message);
228
- if (resolved.state === 'error') {
229
- submitButton.disabled = false;
230
- emailInput.disabled = false;
231
- }
232
- else {
233
- submitButton.disabled = true;
234
- emailInput.disabled = true;
235
- }
236
- }
237
- catch {
238
- setStatus(status, 'error', String(content.errorMessage || 'Unable to subscribe right now. Please try again.'));
239
- submitButton.disabled = false;
240
- emailInput.disabled = false;
241
- }
242
- finally {
243
- if (!submitButton.disabled) {
244
- submitButton.textContent = defaultButtonText;
245
- }
246
- else {
247
- submitButton.textContent = 'Done';
248
- }
249
- }
250
- });
251
- const placementConfig = widget.placementConfigJson || {};
252
- const requiresSelectorPlacement = placementConfig.placementType === 'selector' ||
253
- typeof placementConfig.selector === 'string';
254
- if (requiresSelectorPlacement) {
255
- const deferKey = `${DEFER_KEY_PREFIX}:${widget.id}`;
256
- const inserted = insertSelectorWithDeferred(card, widget, deferKey);
257
- if (!inserted) {
258
- return null;
259
- }
260
- return card;
261
- }
262
- const positionStyles = resolveFixedPosition(String(placementConfig.position || 'bottom-right'));
263
- card.style.position = 'fixed';
264
- if (positionStyles.top)
265
- card.style.top = positionStyles.top;
266
- if (positionStyles.right)
267
- card.style.right = positionStyles.right;
268
- if (positionStyles.bottom)
269
- card.style.bottom = positionStyles.bottom;
270
- if (positionStyles.left)
271
- card.style.left = positionStyles.left;
272
- if (positionStyles.transform)
273
- card.style.transform = positionStyles.transform;
274
- document.body.appendChild(card);
275
- return card;
276
- }
277
- //# sourceMappingURL=newsletter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newsletter.js","sourceRoot":"","sources":["../../../../../../src/modules/renderer/widgets/newsletter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Product View Count Widget Renderer
3
- * Displays the number of people who viewed a product within a time period
4
- */
5
- import type { RendererWidget as Widget, RendererCampaign as Campaign } from '../../../types';
6
- export declare function renderProductViewCount(widget: Widget, campaign: Campaign): HTMLElement | null;
@@ -1,194 +0,0 @@
1
- /**
2
- * Product View Count Widget Renderer
3
- * Displays the number of people who viewed a product within a time period
4
- */
5
- import { setDataAttributes, registerDeferredRenderer, clearDeferredRenderer, } from '../utils/helpers.js';
6
- import { formatNumber, animateCounter, fetchWithTimeout } from './helpers.js';
7
- const DEFER_TIMEOUT_MS = 7000;
8
- function appendTemplateWithCounter(target, template) {
9
- const parts = template.split('{count}');
10
- for (let index = 0; index < parts.length; index += 1) {
11
- const chunk = parts[index];
12
- if (chunk) {
13
- target.appendChild(document.createTextNode(chunk));
14
- }
15
- if (index < parts.length - 1) {
16
- const placeholder = document.createElement('span');
17
- placeholder.className = 'selwise-counter-placeholder';
18
- target.appendChild(placeholder);
19
- }
20
- }
21
- }
22
- function createCounterElements(textElement, color) {
23
- const placeholders = Array.from(textElement.querySelectorAll('.selwise-counter-placeholder'));
24
- const counters = [];
25
- placeholders.forEach((placeholder) => {
26
- const counter = document.createElement('span');
27
- counter.className = 'selwise-counter';
28
- counter.style.fontWeight = '700';
29
- counter.style.color = color;
30
- counter.textContent = '...';
31
- placeholder.replaceWith(counter);
32
- counters.push(counter);
33
- });
34
- if (counters.length === 0) {
35
- const fallback = document.createElement('span');
36
- fallback.className = 'selwise-counter';
37
- fallback.style.fontWeight = '700';
38
- fallback.style.color = color;
39
- fallback.textContent = '...';
40
- textElement.appendChild(document.createTextNode(' '));
41
- textElement.appendChild(fallback);
42
- counters.push(fallback);
43
- }
44
- return counters;
45
- }
46
- function resolveProductId(content) {
47
- return (content.productId ||
48
- document.querySelector('[data-product-id]')?.getAttribute('data-product-id') ||
49
- document.querySelector('[data-product-sku]')?.getAttribute('data-product-sku') ||
50
- document.querySelector('[data-selwise-product]')?.getAttribute('data-selwise-product') ||
51
- null);
52
- }
53
- function resolveDefaultProductContainer() {
54
- return (document.querySelector('[data-product-id]') ||
55
- document.querySelector('.product') ||
56
- document.querySelector('[itemtype*="Product"]'));
57
- }
58
- function createContainer(widget, campaign, content, styles) {
59
- const container = document.createElement('div');
60
- container.className = 'selwise-widget selwise-product-view-count';
61
- container.style.backgroundColor = styles.backgroundColor || '#f0fdf4';
62
- container.style.color = styles.textColor || '#166534';
63
- container.style.borderRadius = styles.borderRadius || '8px';
64
- container.style.padding = styles.padding || '12px';
65
- container.style.display =
66
- styles.display === 'block' ? 'block' : styles.display === 'flex' ? 'flex' : 'inline-flex';
67
- container.style.alignItems = 'center';
68
- container.style.gap = '8px';
69
- container.style.fontFamily = 'system-ui, -apple-system, sans-serif';
70
- container.style.fontSize = styles.fontSize || '14px';
71
- setDataAttributes(container, widget, campaign);
72
- const iconMap = {
73
- eye: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/></svg>',
74
- users: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>',
75
- 'trending-up': '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg>',
76
- flame: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/></svg>',
77
- };
78
- if (content.showIcon !== false) {
79
- const icon = document.createElement('span');
80
- icon.className = 'selwise-icon';
81
- icon.style.color = styles.iconColor || styles.textColor || '#166534';
82
- icon.style.flexShrink = '0';
83
- icon.style.display = 'inline-flex';
84
- icon.style.alignItems = 'center';
85
- icon.innerHTML = iconMap[content.iconType || 'eye'] || iconMap.eye;
86
- container.appendChild(icon);
87
- }
88
- const textElement = document.createElement('span');
89
- textElement.className = 'selwise-text';
90
- const timePeriod = content.timePeriod || '24h';
91
- const template = (content.customText ||
92
- content.template ||
93
- '{count} kişi bu ürünü görüntüledi').replace(/\{timePeriod\}/g, timePeriod);
94
- appendTemplateWithCounter(textElement, template);
95
- container.appendChild(textElement);
96
- const counterElements = createCounterElements(textElement, styles.counterColor || styles.textColor || '#166534');
97
- return {
98
- container,
99
- counterElements,
100
- timePeriod,
101
- };
102
- }
103
- function insertByPlacement(container, placementConfig) {
104
- const { selector, insertPosition = 'after' } = placementConfig || {};
105
- if (selector) {
106
- const target = document.querySelector(selector);
107
- if (!target) {
108
- return false;
109
- }
110
- switch (insertPosition) {
111
- case 'before':
112
- target.parentNode?.insertBefore(container, target);
113
- break;
114
- case 'after':
115
- target.parentNode?.insertBefore(container, target.nextSibling);
116
- break;
117
- case 'inside-start':
118
- target.insertBefore(container, target.firstChild);
119
- break;
120
- case 'inside-end':
121
- target.appendChild(container);
122
- break;
123
- case 'replace':
124
- target.replaceWith(container);
125
- break;
126
- }
127
- return true;
128
- }
129
- const productContainer = resolveDefaultProductContainer();
130
- if (!productContainer) {
131
- return false;
132
- }
133
- productContainer.appendChild(container);
134
- return true;
135
- }
136
- function mountProductViewCount(widget, campaign) {
137
- const content = (campaign.contentJson || {});
138
- const styles = (campaign.stylesJson || {});
139
- const productId = resolveProductId(content);
140
- if (!productId) {
141
- return null;
142
- }
143
- const apiUrl = window.Selwise?.apiUrl || '';
144
- const siteKey = window.Selwise?.siteKey || '';
145
- const { container, counterElements, timePeriod } = createContainer(widget, campaign, content, styles);
146
- const placementConfig = widget.placementConfigJson || {};
147
- if (!insertByPlacement(container, placementConfig)) {
148
- return null;
149
- }
150
- fetchProductViewCount(apiUrl, siteKey, productId, timePeriod, counterElements, styles);
151
- return container;
152
- }
153
- export function renderProductViewCount(widget, campaign) {
154
- const deferKey = `product-view-count:${widget.id}`;
155
- const mounted = mountProductViewCount(widget, campaign);
156
- if (mounted) {
157
- clearDeferredRenderer(deferKey);
158
- return mounted;
159
- }
160
- registerDeferredRenderer(deferKey, () => {
161
- const deferredMount = mountProductViewCount(widget, campaign);
162
- return Boolean(deferredMount);
163
- }, DEFER_TIMEOUT_MS);
164
- return null;
165
- }
166
- async function fetchProductViewCount(apiUrl, siteKey, productId, timePeriod, counterElements, styleOptions) {
167
- try {
168
- const url = `${apiUrl}/public/sites/${siteKey}/product-metrics/view-count?product=${encodeURIComponent(productId)}&period=${timePeriod}`;
169
- const response = await fetchWithTimeout(url, {}, 5000);
170
- if (!response.ok) {
171
- throw new Error('Failed to fetch product view count');
172
- }
173
- const data = await response.json();
174
- const finalCount = data.count || 0;
175
- if (styleOptions.animateCounter !== false) {
176
- counterElements.forEach((element) => {
177
- animateCounter(element, 0, finalCount, styleOptions.animationDuration || 1000, styleOptions.separator || 'comma');
178
- });
179
- }
180
- else {
181
- const formatted = formatNumber(finalCount, styleOptions.separator || 'comma');
182
- counterElements.forEach((element) => {
183
- element.textContent = formatted;
184
- });
185
- }
186
- }
187
- catch (error) {
188
- console.error('[Selwise] Error fetching product view count:', error);
189
- counterElements.forEach((element) => {
190
- element.textContent = '—';
191
- });
192
- }
193
- }
194
- //# sourceMappingURL=product-view-count.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-view-count.js","sourceRoot":"","sources":["../../../../../../src/modules/renderer/widgets/product-view-count.ts"],"names":[],"mappings":"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"}