@selwise/widget 0.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 (552) hide show
  1. package/dist/npm/cjs/constants.js +167 -0
  2. package/dist/npm/cjs/constants.js.map +1 -0
  3. package/dist/npm/cjs/core/conflict-resolver.js +203 -0
  4. package/dist/npm/cjs/core/conflict-resolver.js.map +1 -0
  5. package/dist/npm/cjs/core/event-batcher.js +977 -0
  6. package/dist/npm/cjs/core/event-batcher.js.map +1 -0
  7. package/dist/npm/cjs/core/experiment-overrides.js +178 -0
  8. package/dist/npm/cjs/core/experiment-overrides.js.map +1 -0
  9. package/dist/npm/cjs/core/experiments.js +317 -0
  10. package/dist/npm/cjs/core/experiments.js.map +1 -0
  11. package/dist/npm/cjs/core/frequency-caps.js +297 -0
  12. package/dist/npm/cjs/core/frequency-caps.js.map +1 -0
  13. package/dist/npm/cjs/core/index.js +27 -0
  14. package/dist/npm/cjs/core/index.js.map +1 -0
  15. package/dist/npm/cjs/core/indexeddb-queue.js +333 -0
  16. package/dist/npm/cjs/core/indexeddb-queue.js.map +1 -0
  17. package/dist/npm/cjs/core/journey-tracker.js +243 -0
  18. package/dist/npm/cjs/core/journey-tracker.js.map +1 -0
  19. package/dist/npm/cjs/core/page-targeting/index.js +72 -0
  20. package/dist/npm/cjs/core/page-targeting/index.js.map +1 -0
  21. package/dist/npm/cjs/core/script-executor.js +80 -0
  22. package/dist/npm/cjs/core/script-executor.js.map +1 -0
  23. package/dist/npm/cjs/core/segments.js +172 -0
  24. package/dist/npm/cjs/core/segments.js.map +1 -0
  25. package/dist/npm/cjs/core/tracker.js +798 -0
  26. package/dist/npm/cjs/core/tracker.js.map +1 -0
  27. package/dist/npm/cjs/datalayer/basket.js +385 -0
  28. package/dist/npm/cjs/datalayer/basket.js.map +1 -0
  29. package/dist/npm/cjs/datalayer/cart-association.js +226 -0
  30. package/dist/npm/cjs/datalayer/cart-association.js.map +1 -0
  31. package/dist/npm/cjs/datalayer/checkout.js +382 -0
  32. package/dist/npm/cjs/datalayer/checkout.js.map +1 -0
  33. package/dist/npm/cjs/datalayer/constants.js +163 -0
  34. package/dist/npm/cjs/datalayer/constants.js.map +1 -0
  35. package/dist/npm/cjs/datalayer/index.js +1010 -0
  36. package/dist/npm/cjs/datalayer/index.js.map +1 -0
  37. package/dist/npm/cjs/datalayer/listener.js +416 -0
  38. package/dist/npm/cjs/datalayer/listener.js.map +1 -0
  39. package/dist/npm/cjs/datalayer/page.js +343 -0
  40. package/dist/npm/cjs/datalayer/page.js.map +1 -0
  41. package/dist/npm/cjs/datalayer/product.js +517 -0
  42. package/dist/npm/cjs/datalayer/product.js.map +1 -0
  43. package/dist/npm/cjs/datalayer/reverse-mappings.js +139 -0
  44. package/dist/npm/cjs/datalayer/reverse-mappings.js.map +1 -0
  45. package/dist/npm/cjs/datalayer/search.js +363 -0
  46. package/dist/npm/cjs/datalayer/search.js.map +1 -0
  47. package/dist/npm/cjs/datalayer/types.js +134 -0
  48. package/dist/npm/cjs/datalayer/types.js.map +1 -0
  49. package/dist/npm/cjs/datalayer/user.js +372 -0
  50. package/dist/npm/cjs/datalayer/user.js.map +1 -0
  51. package/dist/npm/cjs/debug/index.js +679 -0
  52. package/dist/npm/cjs/debug/index.js.map +1 -0
  53. package/dist/npm/cjs/entries/cdn.js +72 -0
  54. package/dist/npm/cjs/entries/cdn.js.map +1 -0
  55. package/dist/npm/cjs/index.js +10 -0
  56. package/dist/npm/cjs/index.js.map +1 -0
  57. package/dist/npm/cjs/modules/contract/recommendation-contract.js +119 -0
  58. package/dist/npm/cjs/modules/contract/recommendation-contract.js.map +1 -0
  59. package/dist/npm/cjs/modules/contract/search-contract.js +18 -0
  60. package/dist/npm/cjs/modules/contract/search-contract.js.map +1 -0
  61. package/dist/npm/cjs/modules/contract/tracking-contract.js +16 -0
  62. package/dist/npm/cjs/modules/contract/tracking-contract.js.map +1 -0
  63. package/dist/npm/cjs/modules/contract/widget-contract.js +10 -0
  64. package/dist/npm/cjs/modules/contract/widget-contract.js.map +1 -0
  65. package/dist/npm/cjs/modules/products/tracking.js +214 -0
  66. package/dist/npm/cjs/modules/products/tracking.js.map +1 -0
  67. package/dist/npm/cjs/modules/recommendation/cart-handlers.js +52 -0
  68. package/dist/npm/cjs/modules/recommendation/cart-handlers.js.map +1 -0
  69. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js +287 -0
  70. package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js.map +1 -0
  71. package/dist/npm/cjs/modules/recommendation/index.js +678 -0
  72. package/dist/npm/cjs/modules/recommendation/index.js.map +1 -0
  73. package/dist/npm/cjs/modules/recommendation/renderers/grid.js +21 -0
  74. package/dist/npm/cjs/modules/recommendation/renderers/grid.js.map +1 -0
  75. package/dist/npm/cjs/modules/recommendation/renderers/list.js +22 -0
  76. package/dist/npm/cjs/modules/recommendation/renderers/list.js.map +1 -0
  77. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js +22 -0
  78. package/dist/npm/cjs/modules/recommendation/renderers/masonry.js.map +1 -0
  79. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js +145 -0
  80. package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js.map +1 -0
  81. package/dist/npm/cjs/modules/recommendation/slider-controls.js +201 -0
  82. package/dist/npm/cjs/modules/recommendation/slider-controls.js.map +1 -0
  83. package/dist/npm/cjs/modules/recommendation/tracking.js +247 -0
  84. package/dist/npm/cjs/modules/recommendation/tracking.js.map +1 -0
  85. package/dist/npm/cjs/modules/recommendation/utils/dom.js +70 -0
  86. package/dist/npm/cjs/modules/recommendation/utils/dom.js.map +1 -0
  87. package/dist/npm/cjs/modules/recommendation/utils/format.js +13 -0
  88. package/dist/npm/cjs/modules/recommendation/utils/format.js.map +1 -0
  89. package/dist/npm/cjs/modules/recommendation/utils/index.js +22 -0
  90. package/dist/npm/cjs/modules/recommendation/utils/index.js.map +1 -0
  91. package/dist/npm/cjs/modules/renderer/helpers.js +16 -0
  92. package/dist/npm/cjs/modules/renderer/helpers.js.map +1 -0
  93. package/dist/npm/cjs/modules/renderer/index.js +52 -0
  94. package/dist/npm/cjs/modules/renderer/index.js.map +1 -0
  95. package/dist/npm/cjs/modules/renderer/style-resolver.js +11 -0
  96. package/dist/npm/cjs/modules/renderer/style-resolver.js.map +1 -0
  97. package/dist/npm/cjs/modules/renderer/styles/index.js +254 -0
  98. package/dist/npm/cjs/modules/renderer/styles/index.js.map +1 -0
  99. package/dist/npm/cjs/modules/renderer/styles.js +7 -0
  100. package/dist/npm/cjs/modules/renderer/styles.js.map +1 -0
  101. package/dist/npm/cjs/modules/renderer/utils/helpers.js +243 -0
  102. package/dist/npm/cjs/modules/renderer/utils/helpers.js.map +1 -0
  103. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js +65 -0
  104. package/dist/npm/cjs/modules/renderer/utils/image-renderer.js.map +1 -0
  105. package/dist/npm/cjs/modules/renderer/utils/placement.js +34 -0
  106. package/dist/npm/cjs/modules/renderer/utils/placement.js.map +1 -0
  107. package/dist/npm/cjs/modules/renderer/utils.js +61 -0
  108. package/dist/npm/cjs/modules/renderer/utils.js.map +1 -0
  109. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js +84 -0
  110. package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js.map +1 -0
  111. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js +211 -0
  112. package/dist/npm/cjs/modules/renderer/widgets/cart-count.js.map +1 -0
  113. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js +459 -0
  114. package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js.map +1 -0
  115. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js +132 -0
  116. package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js.map +1 -0
  117. package/dist/npm/cjs/modules/renderer/widgets/custom.js +58 -0
  118. package/dist/npm/cjs/modules/renderer/widgets/custom.js.map +1 -0
  119. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js +97 -0
  120. package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js.map +1 -0
  121. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js +151 -0
  122. package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js.map +1 -0
  123. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js +70 -0
  124. package/dist/npm/cjs/modules/renderer/widgets/floating-button.js.map +1 -0
  125. package/dist/npm/cjs/modules/renderer/widgets/helpers.js +87 -0
  126. package/dist/npm/cjs/modules/renderer/widgets/helpers.js.map +1 -0
  127. package/dist/npm/cjs/modules/renderer/widgets/index.js +39 -0
  128. package/dist/npm/cjs/modules/renderer/widgets/index.js.map +1 -0
  129. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js +124 -0
  130. package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js.map +1 -0
  131. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js +280 -0
  132. package/dist/npm/cjs/modules/renderer/widgets/newsletter.js.map +1 -0
  133. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js +197 -0
  134. package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js.map +1 -0
  135. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js +105 -0
  136. package/dist/npm/cjs/modules/renderer/widgets/slide-in.js.map +1 -0
  137. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js +47 -0
  138. package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js.map +1 -0
  139. package/dist/npm/cjs/modules/search/cart/index.js +42 -0
  140. package/dist/npm/cjs/modules/search/cart/index.js.map +1 -0
  141. package/dist/npm/cjs/modules/search/components/index.js +13 -0
  142. package/dist/npm/cjs/modules/search/components/index.js.map +1 -0
  143. package/dist/npm/cjs/modules/search/components/search-box.js +28 -0
  144. package/dist/npm/cjs/modules/search/components/search-box.js.map +1 -0
  145. package/dist/npm/cjs/modules/search/components/search-item.js +197 -0
  146. package/dist/npm/cjs/modules/search/components/search-item.js.map +1 -0
  147. package/dist/npm/cjs/modules/search/components/suggestions.js +132 -0
  148. package/dist/npm/cjs/modules/search/components/suggestions.js.map +1 -0
  149. package/dist/npm/cjs/modules/search/index.js +646 -0
  150. package/dist/npm/cjs/modules/search/index.js.map +1 -0
  151. package/dist/npm/cjs/modules/search/renderers/position-renderers.js +229 -0
  152. package/dist/npm/cjs/modules/search/renderers/position-renderers.js.map +1 -0
  153. package/dist/npm/cjs/modules/search/renderers/results-renderer.js +180 -0
  154. package/dist/npm/cjs/modules/search/renderers/results-renderer.js.map +1 -0
  155. package/dist/npm/cjs/modules/search/services/api-service.js +121 -0
  156. package/dist/npm/cjs/modules/search/services/api-service.js.map +1 -0
  157. package/dist/npm/cjs/modules/search/services/tracking-service.js +263 -0
  158. package/dist/npm/cjs/modules/search/services/tracking-service.js.map +1 -0
  159. package/dist/npm/cjs/modules/search/styles.js +864 -0
  160. package/dist/npm/cjs/modules/search/styles.js.map +1 -0
  161. package/dist/npm/cjs/modules/search/utils/helpers.js +100 -0
  162. package/dist/npm/cjs/modules/search/utils/helpers.js.map +1 -0
  163. package/dist/npm/cjs/modules/search/utils/icons.js +41 -0
  164. package/dist/npm/cjs/modules/search/utils/icons.js.map +1 -0
  165. package/dist/npm/cjs/modules/search/utils/index.js +22 -0
  166. package/dist/npm/cjs/modules/search/utils/index.js.map +1 -0
  167. package/dist/npm/cjs/modules/search/utils/storage.js +58 -0
  168. package/dist/npm/cjs/modules/search/utils/storage.js.map +1 -0
  169. package/dist/npm/cjs/selwise.js +1160 -0
  170. package/dist/npm/cjs/selwise.js.map +1 -0
  171. package/dist/npm/cjs/sentry-test.js +118 -0
  172. package/dist/npm/cjs/sentry-test.js.map +1 -0
  173. package/dist/npm/cjs/sentry.js +451 -0
  174. package/dist/npm/cjs/sentry.js.map +1 -0
  175. package/dist/npm/cjs/shared/cart/handlers.js +259 -0
  176. package/dist/npm/cjs/shared/cart/handlers.js.map +1 -0
  177. package/dist/npm/cjs/shared/cart/index.js +23 -0
  178. package/dist/npm/cjs/shared/cart/index.js.map +1 -0
  179. package/dist/npm/cjs/shared/cart/types.js +7 -0
  180. package/dist/npm/cjs/shared/cart/types.js.map +1 -0
  181. package/dist/npm/cjs/shared/product-card/index.js +24 -0
  182. package/dist/npm/cjs/shared/product-card/index.js.map +1 -0
  183. package/dist/npm/cjs/shared/product-card/renderer.js +341 -0
  184. package/dist/npm/cjs/shared/product-card/renderer.js.map +1 -0
  185. package/dist/npm/cjs/shared/product-card/styles.js +195 -0
  186. package/dist/npm/cjs/shared/product-card/styles.js.map +1 -0
  187. package/dist/npm/cjs/shared/product-card/types.js +67 -0
  188. package/dist/npm/cjs/shared/product-card/types.js.map +1 -0
  189. package/dist/npm/cjs/types/config.js +6 -0
  190. package/dist/npm/cjs/types/config.js.map +1 -0
  191. package/dist/npm/cjs/types/experiments.js +17 -0
  192. package/dist/npm/cjs/types/experiments.js.map +1 -0
  193. package/dist/npm/cjs/types/global-api.js +3 -0
  194. package/dist/npm/cjs/types/global-api.js.map +1 -0
  195. package/dist/npm/cjs/types/index.js +27 -0
  196. package/dist/npm/cjs/types/index.js.map +1 -0
  197. package/dist/npm/cjs/types/recommendation.js +6 -0
  198. package/dist/npm/cjs/types/recommendation.js.map +1 -0
  199. package/dist/npm/cjs/types/renderer.js +6 -0
  200. package/dist/npm/cjs/types/renderer.js.map +1 -0
  201. package/dist/npm/cjs/types/search.js +6 -0
  202. package/dist/npm/cjs/types/search.js.map +1 -0
  203. package/dist/npm/cjs/utils/api-url.js +35 -0
  204. package/dist/npm/cjs/utils/api-url.js.map +1 -0
  205. package/dist/npm/cjs/utils/debounce.js +74 -0
  206. package/dist/npm/cjs/utils/debounce.js.map +1 -0
  207. package/dist/npm/cjs/utils/event-id.js +23 -0
  208. package/dist/npm/cjs/utils/event-id.js.map +1 -0
  209. package/dist/npm/cjs/utils/index.js +28 -0
  210. package/dist/npm/cjs/utils/index.js.map +1 -0
  211. package/dist/npm/cjs/utils/logger.js +74 -0
  212. package/dist/npm/cjs/utils/logger.js.map +1 -0
  213. package/dist/npm/cjs/utils/sanitize.js +159 -0
  214. package/dist/npm/cjs/utils/sanitize.js.map +1 -0
  215. package/dist/npm/cjs/utils/storage.js +285 -0
  216. package/dist/npm/cjs/utils/storage.js.map +1 -0
  217. package/dist/npm/cjs/utils/tracking-metadata.js +18 -0
  218. package/dist/npm/cjs/utils/tracking-metadata.js.map +1 -0
  219. package/dist/npm/cjs/utils/url-matcher.js +11 -0
  220. package/dist/npm/cjs/utils/url-matcher.js.map +1 -0
  221. package/dist/npm/esm/constants.d.ts +130 -0
  222. package/dist/npm/esm/constants.js +164 -0
  223. package/dist/npm/esm/constants.js.map +1 -0
  224. package/dist/npm/esm/core/conflict-resolver.d.ts +96 -0
  225. package/dist/npm/esm/core/conflict-resolver.js +198 -0
  226. package/dist/npm/esm/core/conflict-resolver.js.map +1 -0
  227. package/dist/npm/esm/core/event-batcher.d.ts +253 -0
  228. package/dist/npm/esm/core/event-batcher.js +973 -0
  229. package/dist/npm/esm/core/event-batcher.js.map +1 -0
  230. package/dist/npm/esm/core/experiment-overrides.d.ts +7 -0
  231. package/dist/npm/esm/core/experiment-overrides.js +172 -0
  232. package/dist/npm/esm/core/experiment-overrides.js.map +1 -0
  233. package/dist/npm/esm/core/experiments.d.ts +90 -0
  234. package/dist/npm/esm/core/experiments.js +313 -0
  235. package/dist/npm/esm/core/experiments.js.map +1 -0
  236. package/dist/npm/esm/core/frequency-caps.d.ts +124 -0
  237. package/dist/npm/esm/core/frequency-caps.js +292 -0
  238. package/dist/npm/esm/core/frequency-caps.js.map +1 -0
  239. package/dist/npm/esm/core/index.d.ts +10 -0
  240. package/dist/npm/esm/core/index.js +11 -0
  241. package/dist/npm/esm/core/index.js.map +1 -0
  242. package/dist/npm/esm/core/indexeddb-queue.d.ts +83 -0
  243. package/dist/npm/esm/core/indexeddb-queue.js +328 -0
  244. package/dist/npm/esm/core/indexeddb-queue.js.map +1 -0
  245. package/dist/npm/esm/core/journey-tracker.d.ts +102 -0
  246. package/dist/npm/esm/core/journey-tracker.js +237 -0
  247. package/dist/npm/esm/core/journey-tracker.js.map +1 -0
  248. package/dist/npm/esm/core/page-targeting/index.d.ts +8 -0
  249. package/dist/npm/esm/core/page-targeting/index.js +67 -0
  250. package/dist/npm/esm/core/page-targeting/index.js.map +1 -0
  251. package/dist/npm/esm/core/script-executor.d.ts +31 -0
  252. package/dist/npm/esm/core/script-executor.js +76 -0
  253. package/dist/npm/esm/core/script-executor.js.map +1 -0
  254. package/dist/npm/esm/core/segments.d.ts +39 -0
  255. package/dist/npm/esm/core/segments.js +168 -0
  256. package/dist/npm/esm/core/segments.js.map +1 -0
  257. package/dist/npm/esm/core/tracker.d.ts +182 -0
  258. package/dist/npm/esm/core/tracker.js +794 -0
  259. package/dist/npm/esm/core/tracker.js.map +1 -0
  260. package/dist/npm/esm/datalayer/basket.d.ts +104 -0
  261. package/dist/npm/esm/datalayer/basket.js +381 -0
  262. package/dist/npm/esm/datalayer/basket.js.map +1 -0
  263. package/dist/npm/esm/datalayer/cart-association.d.ts +65 -0
  264. package/dist/npm/esm/datalayer/cart-association.js +222 -0
  265. package/dist/npm/esm/datalayer/cart-association.js.map +1 -0
  266. package/dist/npm/esm/datalayer/checkout.d.ts +96 -0
  267. package/dist/npm/esm/datalayer/checkout.js +378 -0
  268. package/dist/npm/esm/datalayer/checkout.js.map +1 -0
  269. package/dist/npm/esm/datalayer/constants.d.ts +77 -0
  270. package/dist/npm/esm/datalayer/constants.js +160 -0
  271. package/dist/npm/esm/datalayer/constants.js.map +1 -0
  272. package/dist/npm/esm/datalayer/index.d.ts +212 -0
  273. package/dist/npm/esm/datalayer/index.js +991 -0
  274. package/dist/npm/esm/datalayer/index.js.map +1 -0
  275. package/dist/npm/esm/datalayer/listener.d.ts +108 -0
  276. package/dist/npm/esm/datalayer/listener.js +411 -0
  277. package/dist/npm/esm/datalayer/listener.js.map +1 -0
  278. package/dist/npm/esm/datalayer/page.d.ts +94 -0
  279. package/dist/npm/esm/datalayer/page.js +339 -0
  280. package/dist/npm/esm/datalayer/page.js.map +1 -0
  281. package/dist/npm/esm/datalayer/product.d.ts +133 -0
  282. package/dist/npm/esm/datalayer/product.js +513 -0
  283. package/dist/npm/esm/datalayer/product.js.map +1 -0
  284. package/dist/npm/esm/datalayer/reverse-mappings.d.ts +62 -0
  285. package/dist/npm/esm/datalayer/reverse-mappings.js +135 -0
  286. package/dist/npm/esm/datalayer/reverse-mappings.js.map +1 -0
  287. package/dist/npm/esm/datalayer/search.d.ts +108 -0
  288. package/dist/npm/esm/datalayer/search.js +359 -0
  289. package/dist/npm/esm/datalayer/search.js.map +1 -0
  290. package/dist/npm/esm/datalayer/types.d.ts +292 -0
  291. package/dist/npm/esm/datalayer/types.js +131 -0
  292. package/dist/npm/esm/datalayer/types.js.map +1 -0
  293. package/dist/npm/esm/datalayer/user.d.ts +104 -0
  294. package/dist/npm/esm/datalayer/user.js +368 -0
  295. package/dist/npm/esm/datalayer/user.js.map +1 -0
  296. package/dist/npm/esm/debug/index.d.ts +173 -0
  297. package/dist/npm/esm/debug/index.js +673 -0
  298. package/dist/npm/esm/debug/index.js.map +1 -0
  299. package/dist/npm/esm/entries/cdn.d.ts +1 -0
  300. package/dist/npm/esm/entries/cdn.js +35 -0
  301. package/dist/npm/esm/entries/cdn.js.map +1 -0
  302. package/dist/npm/esm/index.d.ts +4 -0
  303. package/dist/npm/esm/index.js +4 -0
  304. package/dist/npm/esm/index.js.map +1 -0
  305. package/dist/npm/esm/modules/contract/recommendation-contract.d.ts +5 -0
  306. package/dist/npm/esm/modules/contract/recommendation-contract.js +107 -0
  307. package/dist/npm/esm/modules/contract/recommendation-contract.js.map +1 -0
  308. package/dist/npm/esm/modules/contract/search-contract.d.ts +1 -0
  309. package/dist/npm/esm/modules/contract/search-contract.js +2 -0
  310. package/dist/npm/esm/modules/contract/search-contract.js.map +1 -0
  311. package/dist/npm/esm/modules/contract/tracking-contract.d.ts +1 -0
  312. package/dist/npm/esm/modules/contract/tracking-contract.js +2 -0
  313. package/dist/npm/esm/modules/contract/tracking-contract.js.map +1 -0
  314. package/dist/npm/esm/modules/contract/widget-contract.d.ts +1 -0
  315. package/dist/npm/esm/modules/contract/widget-contract.js +2 -0
  316. package/dist/npm/esm/modules/contract/widget-contract.js.map +1 -0
  317. package/dist/npm/esm/modules/products/tracking.d.ts +122 -0
  318. package/dist/npm/esm/modules/products/tracking.js +203 -0
  319. package/dist/npm/esm/modules/products/tracking.js.map +1 -0
  320. package/dist/npm/esm/modules/recommendation/cart-handlers.d.ts +10 -0
  321. package/dist/npm/esm/modules/recommendation/cart-handlers.js +49 -0
  322. package/dist/npm/esm/modules/recommendation/cart-handlers.js.map +1 -0
  323. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.d.ts +37 -0
  324. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js +281 -0
  325. package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js.map +1 -0
  326. package/dist/npm/esm/modules/recommendation/index.d.ts +11 -0
  327. package/dist/npm/esm/modules/recommendation/index.js +674 -0
  328. package/dist/npm/esm/modules/recommendation/index.js.map +1 -0
  329. package/dist/npm/esm/modules/recommendation/renderers/grid.d.ts +5 -0
  330. package/dist/npm/esm/modules/recommendation/renderers/grid.js +18 -0
  331. package/dist/npm/esm/modules/recommendation/renderers/grid.js.map +1 -0
  332. package/dist/npm/esm/modules/recommendation/renderers/list.d.ts +5 -0
  333. package/dist/npm/esm/modules/recommendation/renderers/list.js +19 -0
  334. package/dist/npm/esm/modules/recommendation/renderers/list.js.map +1 -0
  335. package/dist/npm/esm/modules/recommendation/renderers/masonry.d.ts +5 -0
  336. package/dist/npm/esm/modules/recommendation/renderers/masonry.js +19 -0
  337. package/dist/npm/esm/modules/recommendation/renderers/masonry.js.map +1 -0
  338. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.d.ts +10 -0
  339. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js +140 -0
  340. package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js.map +1 -0
  341. package/dist/npm/esm/modules/recommendation/slider-controls.d.ts +17 -0
  342. package/dist/npm/esm/modules/recommendation/slider-controls.js +187 -0
  343. package/dist/npm/esm/modules/recommendation/slider-controls.js.map +1 -0
  344. package/dist/npm/esm/modules/recommendation/tracking.d.ts +28 -0
  345. package/dist/npm/esm/modules/recommendation/tracking.js +237 -0
  346. package/dist/npm/esm/modules/recommendation/tracking.js.map +1 -0
  347. package/dist/npm/esm/modules/recommendation/utils/dom.d.ts +10 -0
  348. package/dist/npm/esm/modules/recommendation/utils/dom.js +63 -0
  349. package/dist/npm/esm/modules/recommendation/utils/dom.js.map +1 -0
  350. package/dist/npm/esm/modules/recommendation/utils/format.d.ts +4 -0
  351. package/dist/npm/esm/modules/recommendation/utils/format.js +10 -0
  352. package/dist/npm/esm/modules/recommendation/utils/format.js.map +1 -0
  353. package/dist/npm/esm/modules/recommendation/utils/index.d.ts +5 -0
  354. package/dist/npm/esm/modules/recommendation/utils/index.js +6 -0
  355. package/dist/npm/esm/modules/recommendation/utils/index.js.map +1 -0
  356. package/dist/npm/esm/modules/renderer/helpers.d.ts +5 -0
  357. package/dist/npm/esm/modules/renderer/helpers.js +6 -0
  358. package/dist/npm/esm/modules/renderer/helpers.js.map +1 -0
  359. package/dist/npm/esm/modules/renderer/index.d.ts +8 -0
  360. package/dist/npm/esm/modules/renderer/index.js +48 -0
  361. package/dist/npm/esm/modules/renderer/index.js.map +1 -0
  362. package/dist/npm/esm/modules/renderer/style-resolver.d.ts +1 -0
  363. package/dist/npm/esm/modules/renderer/style-resolver.js +8 -0
  364. package/dist/npm/esm/modules/renderer/style-resolver.js.map +1 -0
  365. package/dist/npm/esm/modules/renderer/styles/index.d.ts +12 -0
  366. package/dist/npm/esm/modules/renderer/styles/index.js +250 -0
  367. package/dist/npm/esm/modules/renderer/styles/index.js.map +1 -0
  368. package/dist/npm/esm/modules/renderer/styles.d.ts +1 -0
  369. package/dist/npm/esm/modules/renderer/styles.js +2 -0
  370. package/dist/npm/esm/modules/renderer/styles.js.map +1 -0
  371. package/dist/npm/esm/modules/renderer/utils/helpers.d.ts +58 -0
  372. package/dist/npm/esm/modules/renderer/utils/helpers.js +225 -0
  373. package/dist/npm/esm/modules/renderer/utils/helpers.js.map +1 -0
  374. package/dist/npm/esm/modules/renderer/utils/image-renderer.d.ts +17 -0
  375. package/dist/npm/esm/modules/renderer/utils/image-renderer.js +60 -0
  376. package/dist/npm/esm/modules/renderer/utils/image-renderer.js.map +1 -0
  377. package/dist/npm/esm/modules/renderer/utils/placement.d.ts +6 -0
  378. package/dist/npm/esm/modules/renderer/utils/placement.js +31 -0
  379. package/dist/npm/esm/modules/renderer/utils/placement.js.map +1 -0
  380. package/dist/npm/esm/modules/renderer/utils.d.ts +11 -0
  381. package/dist/npm/esm/modules/renderer/utils.js +44 -0
  382. package/dist/npm/esm/modules/renderer/utils.js.map +1 -0
  383. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.d.ts +5 -0
  384. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js +81 -0
  385. package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js.map +1 -0
  386. package/dist/npm/esm/modules/renderer/widgets/cart-count.d.ts +6 -0
  387. package/dist/npm/esm/modules/renderer/widgets/cart-count.js +208 -0
  388. package/dist/npm/esm/modules/renderer/widgets/cart-count.js.map +1 -0
  389. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.d.ts +18 -0
  390. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js +454 -0
  391. package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js.map +1 -0
  392. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.d.ts +5 -0
  393. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js +129 -0
  394. package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js.map +1 -0
  395. package/dist/npm/esm/modules/renderer/widgets/custom.d.ts +5 -0
  396. package/dist/npm/esm/modules/renderer/widgets/custom.js +55 -0
  397. package/dist/npm/esm/modules/renderer/widgets/custom.js.map +1 -0
  398. package/dist/npm/esm/modules/renderer/widgets/embedded-card.d.ts +5 -0
  399. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js +94 -0
  400. package/dist/npm/esm/modules/renderer/widgets/embedded-card.js.map +1 -0
  401. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.d.ts +6 -0
  402. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js +147 -0
  403. package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js.map +1 -0
  404. package/dist/npm/esm/modules/renderer/widgets/floating-button.d.ts +5 -0
  405. package/dist/npm/esm/modules/renderer/widgets/floating-button.js +67 -0
  406. package/dist/npm/esm/modules/renderer/widgets/floating-button.js.map +1 -0
  407. package/dist/npm/esm/modules/renderer/widgets/helpers.d.ts +29 -0
  408. package/dist/npm/esm/modules/renderer/widgets/helpers.js +82 -0
  409. package/dist/npm/esm/modules/renderer/widgets/helpers.js.map +1 -0
  410. package/dist/npm/esm/modules/renderer/widgets/index.d.ts +17 -0
  411. package/dist/npm/esm/modules/renderer/widgets/index.js +19 -0
  412. package/dist/npm/esm/modules/renderer/widgets/index.js.map +1 -0
  413. package/dist/npm/esm/modules/renderer/widgets/inline-banner.d.ts +5 -0
  414. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js +121 -0
  415. package/dist/npm/esm/modules/renderer/widgets/inline-banner.js.map +1 -0
  416. package/dist/npm/esm/modules/renderer/widgets/newsletter.d.ts +6 -0
  417. package/dist/npm/esm/modules/renderer/widgets/newsletter.js +277 -0
  418. package/dist/npm/esm/modules/renderer/widgets/newsletter.js.map +1 -0
  419. package/dist/npm/esm/modules/renderer/widgets/product-view-count.d.ts +6 -0
  420. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js +194 -0
  421. package/dist/npm/esm/modules/renderer/widgets/product-view-count.js.map +1 -0
  422. package/dist/npm/esm/modules/renderer/widgets/slide-in.d.ts +5 -0
  423. package/dist/npm/esm/modules/renderer/widgets/slide-in.js +102 -0
  424. package/dist/npm/esm/modules/renderer/widgets/slide-in.js.map +1 -0
  425. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.d.ts +5 -0
  426. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js +44 -0
  427. package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js.map +1 -0
  428. package/dist/npm/esm/modules/search/cart/index.d.ts +26 -0
  429. package/dist/npm/esm/modules/search/cart/index.js +39 -0
  430. package/dist/npm/esm/modules/search/cart/index.js.map +1 -0
  431. package/dist/npm/esm/modules/search/components/index.d.ts +6 -0
  432. package/dist/npm/esm/modules/search/components/index.js +7 -0
  433. package/dist/npm/esm/modules/search/components/index.js.map +1 -0
  434. package/dist/npm/esm/modules/search/components/search-box.d.ts +11 -0
  435. package/dist/npm/esm/modules/search/components/search-box.js +25 -0
  436. package/dist/npm/esm/modules/search/components/search-box.js.map +1 -0
  437. package/dist/npm/esm/modules/search/components/search-item.d.ts +20 -0
  438. package/dist/npm/esm/modules/search/components/search-item.js +193 -0
  439. package/dist/npm/esm/modules/search/components/search-item.js.map +1 -0
  440. package/dist/npm/esm/modules/search/components/suggestions.d.ts +10 -0
  441. package/dist/npm/esm/modules/search/components/suggestions.js +129 -0
  442. package/dist/npm/esm/modules/search/components/suggestions.js.map +1 -0
  443. package/dist/npm/esm/modules/search/index.d.ts +67 -0
  444. package/dist/npm/esm/modules/search/index.js +642 -0
  445. package/dist/npm/esm/modules/search/index.js.map +1 -0
  446. package/dist/npm/esm/modules/search/renderers/position-renderers.d.ts +23 -0
  447. package/dist/npm/esm/modules/search/renderers/position-renderers.js +221 -0
  448. package/dist/npm/esm/modules/search/renderers/position-renderers.js.map +1 -0
  449. package/dist/npm/esm/modules/search/renderers/results-renderer.d.ts +20 -0
  450. package/dist/npm/esm/modules/search/renderers/results-renderer.js +176 -0
  451. package/dist/npm/esm/modules/search/renderers/results-renderer.js.map +1 -0
  452. package/dist/npm/esm/modules/search/services/api-service.d.ts +18 -0
  453. package/dist/npm/esm/modules/search/services/api-service.js +115 -0
  454. package/dist/npm/esm/modules/search/services/api-service.js.map +1 -0
  455. package/dist/npm/esm/modules/search/services/tracking-service.d.ts +16 -0
  456. package/dist/npm/esm/modules/search/services/tracking-service.js +250 -0
  457. package/dist/npm/esm/modules/search/services/tracking-service.js.map +1 -0
  458. package/dist/npm/esm/modules/search/styles.d.ts +13 -0
  459. package/dist/npm/esm/modules/search/styles.js +860 -0
  460. package/dist/npm/esm/modules/search/styles.js.map +1 -0
  461. package/dist/npm/esm/modules/search/utils/helpers.d.ts +24 -0
  462. package/dist/npm/esm/modules/search/utils/helpers.js +93 -0
  463. package/dist/npm/esm/modules/search/utils/helpers.js.map +1 -0
  464. package/dist/npm/esm/modules/search/utils/icons.d.ts +16 -0
  465. package/dist/npm/esm/modules/search/utils/icons.js +36 -0
  466. package/dist/npm/esm/modules/search/utils/icons.js.map +1 -0
  467. package/dist/npm/esm/modules/search/utils/index.d.ts +6 -0
  468. package/dist/npm/esm/modules/search/utils/index.js +7 -0
  469. package/dist/npm/esm/modules/search/utils/index.js.map +1 -0
  470. package/dist/npm/esm/modules/search/utils/storage.d.ts +7 -0
  471. package/dist/npm/esm/modules/search/utils/storage.js +52 -0
  472. package/dist/npm/esm/modules/search/utils/storage.js.map +1 -0
  473. package/dist/npm/esm/package.json +1 -0
  474. package/dist/npm/esm/selwise.d.ts +209 -0
  475. package/dist/npm/esm/selwise.js +1123 -0
  476. package/dist/npm/esm/selwise.js.map +1 -0
  477. package/dist/npm/esm/sentry-test.d.ts +45 -0
  478. package/dist/npm/esm/sentry-test.js +109 -0
  479. package/dist/npm/esm/sentry-test.js.map +1 -0
  480. package/dist/npm/esm/sentry.d.ts +86 -0
  481. package/dist/npm/esm/sentry.js +441 -0
  482. package/dist/npm/esm/sentry.js.map +1 -0
  483. package/dist/npm/esm/shared/cart/handlers.d.ts +46 -0
  484. package/dist/npm/esm/shared/cart/handlers.js +249 -0
  485. package/dist/npm/esm/shared/cart/handlers.js.map +1 -0
  486. package/dist/npm/esm/shared/cart/index.d.ts +6 -0
  487. package/dist/npm/esm/shared/cart/index.js +7 -0
  488. package/dist/npm/esm/shared/cart/index.js.map +1 -0
  489. package/dist/npm/esm/shared/cart/types.d.ts +30 -0
  490. package/dist/npm/esm/shared/cart/types.js +6 -0
  491. package/dist/npm/esm/shared/cart/types.js.map +1 -0
  492. package/dist/npm/esm/shared/product-card/index.d.ts +7 -0
  493. package/dist/npm/esm/shared/product-card/index.js +8 -0
  494. package/dist/npm/esm/shared/product-card/index.js.map +1 -0
  495. package/dist/npm/esm/shared/product-card/renderer.d.ts +35 -0
  496. package/dist/npm/esm/shared/product-card/renderer.js +334 -0
  497. package/dist/npm/esm/shared/product-card/renderer.js.map +1 -0
  498. package/dist/npm/esm/shared/product-card/styles.d.ts +17 -0
  499. package/dist/npm/esm/shared/product-card/styles.js +190 -0
  500. package/dist/npm/esm/shared/product-card/styles.js.map +1 -0
  501. package/dist/npm/esm/shared/product-card/types.d.ts +84 -0
  502. package/dist/npm/esm/shared/product-card/types.js +63 -0
  503. package/dist/npm/esm/shared/product-card/types.js.map +1 -0
  504. package/dist/npm/esm/types/config.d.ts +26 -0
  505. package/dist/npm/esm/types/config.js +5 -0
  506. package/dist/npm/esm/types/config.js.map +1 -0
  507. package/dist/npm/esm/types/experiments.d.ts +47 -0
  508. package/dist/npm/esm/types/experiments.js +14 -0
  509. package/dist/npm/esm/types/experiments.js.map +1 -0
  510. package/dist/npm/esm/types/global-api.d.ts +40 -0
  511. package/dist/npm/esm/types/global-api.js +2 -0
  512. package/dist/npm/esm/types/global-api.js.map +1 -0
  513. package/dist/npm/esm/types/index.d.ts +9 -0
  514. package/dist/npm/esm/types/index.js +11 -0
  515. package/dist/npm/esm/types/index.js.map +1 -0
  516. package/dist/npm/esm/types/recommendation.d.ts +186 -0
  517. package/dist/npm/esm/types/recommendation.js +5 -0
  518. package/dist/npm/esm/types/recommendation.js.map +1 -0
  519. package/dist/npm/esm/types/renderer.d.ts +99 -0
  520. package/dist/npm/esm/types/renderer.js +5 -0
  521. package/dist/npm/esm/types/renderer.js.map +1 -0
  522. package/dist/npm/esm/types/search.d.ts +186 -0
  523. package/dist/npm/esm/types/search.js +5 -0
  524. package/dist/npm/esm/types/search.js.map +1 -0
  525. package/dist/npm/esm/utils/api-url.d.ts +1 -0
  526. package/dist/npm/esm/utils/api-url.js +32 -0
  527. package/dist/npm/esm/utils/api-url.js.map +1 -0
  528. package/dist/npm/esm/utils/debounce.d.ts +27 -0
  529. package/dist/npm/esm/utils/debounce.js +70 -0
  530. package/dist/npm/esm/utils/debounce.js.map +1 -0
  531. package/dist/npm/esm/utils/event-id.d.ts +5 -0
  532. package/dist/npm/esm/utils/event-id.js +20 -0
  533. package/dist/npm/esm/utils/event-id.js.map +1 -0
  534. package/dist/npm/esm/utils/index.d.ts +11 -0
  535. package/dist/npm/esm/utils/index.js +12 -0
  536. package/dist/npm/esm/utils/index.js.map +1 -0
  537. package/dist/npm/esm/utils/logger.d.ts +31 -0
  538. package/dist/npm/esm/utils/logger.js +66 -0
  539. package/dist/npm/esm/utils/logger.js.map +1 -0
  540. package/dist/npm/esm/utils/sanitize.d.ts +38 -0
  541. package/dist/npm/esm/utils/sanitize.js +148 -0
  542. package/dist/npm/esm/utils/sanitize.js.map +1 -0
  543. package/dist/npm/esm/utils/storage.d.ts +72 -0
  544. package/dist/npm/esm/utils/storage.js +271 -0
  545. package/dist/npm/esm/utils/storage.js.map +1 -0
  546. package/dist/npm/esm/utils/tracking-metadata.d.ts +1 -0
  547. package/dist/npm/esm/utils/tracking-metadata.js +15 -0
  548. package/dist/npm/esm/utils/tracking-metadata.js.map +1 -0
  549. package/dist/npm/esm/utils/url-matcher.d.ts +4 -0
  550. package/dist/npm/esm/utils/url-matcher.js +8 -0
  551. package/dist/npm/esm/utils/url-matcher.js.map +1 -0
  552. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/modules/search/styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Search Helper Functions
3
+ * Formatting and utility functions for search module
4
+ */
5
+ /**
6
+ * Format price with currency symbol
7
+ */
8
+ export declare function formatPrice(price: number, styles: any): string;
9
+ /**
10
+ * Escape HTML to prevent XSS
11
+ */
12
+ export declare function escapeHtml(str: string): string;
13
+ /**
14
+ * Format category name for display
15
+ */
16
+ export declare function formatCategoryName(category: string): string;
17
+ /**
18
+ * Generate box shadow based on level
19
+ */
20
+ export declare function getShadow(level: string, colorHex?: string): string;
21
+ /**
22
+ * Decode HTML entities (handles double-encoded strings too)
23
+ */
24
+ export declare function decodeHtmlEntities(str: string): string;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Search Helper Functions
3
+ * Formatting and utility functions for search module
4
+ */
5
+ /**
6
+ * Format price with currency symbol
7
+ */
8
+ export function formatPrice(price, styles) {
9
+ const s = styles || {};
10
+ const symbol = s.currencySymbol || '$';
11
+ const position = s.currencyPosition || 'left';
12
+ const decimals = parseInt(s.priceDecimals || '2');
13
+ const decimalSep = s.decimalSeparator || '.';
14
+ const thousandSep = s.thousandSeparator || ',';
15
+ const pStr = Number(price).toFixed(decimals);
16
+ const [intPart, decimalPart] = pStr.split('.');
17
+ const formattedInt = intPart.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSep);
18
+ const formattedNum = decimalPart ? `${formattedInt}${decimalSep}${decimalPart}` : formattedInt;
19
+ if (position === 'right')
20
+ return `${formattedNum}${symbol}`;
21
+ if (position === 'left-space')
22
+ return `${symbol} ${formattedNum}`;
23
+ if (position === 'right-space')
24
+ return `${formattedNum} ${symbol}`;
25
+ return `${symbol}${formattedNum}`;
26
+ }
27
+ /**
28
+ * Escape HTML to prevent XSS
29
+ */
30
+ export function escapeHtml(str) {
31
+ const div = document.createElement('div');
32
+ div.textContent = str;
33
+ return div.innerHTML;
34
+ }
35
+ /**
36
+ * Format category name for display
37
+ */
38
+ export function formatCategoryName(category) {
39
+ const normalized = decodeHtmlEntities(category);
40
+ if (normalized.includes('>')) {
41
+ const parts = normalized.split('>').map((p) => p.trim());
42
+ return parts[parts.length - 1];
43
+ }
44
+ return normalized;
45
+ }
46
+ /**
47
+ * Generate box shadow based on level
48
+ */
49
+ export function getShadow(level, colorHex) {
50
+ // Default opacity based on level
51
+ let opacity = 0.1;
52
+ if (level === 'sm')
53
+ opacity = 0.05;
54
+ if (level === '2xl')
55
+ opacity = 0.25;
56
+ // Convert hex to rgb if provided
57
+ let color = `rgba(0,0,0,${opacity})`;
58
+ if (colorHex) {
59
+ const r = parseInt(colorHex.slice(1, 3), 16);
60
+ const g = parseInt(colorHex.slice(3, 5), 16);
61
+ const b = parseInt(colorHex.slice(5, 7), 16);
62
+ if (!isNaN(r))
63
+ color = `rgba(${r},${g},${b},${opacity})`;
64
+ }
65
+ const shadows = {
66
+ none: 'none',
67
+ sm: `0 1px 2px 0 ${color}`,
68
+ md: `0 4px 6px -1px ${color}`,
69
+ lg: `0 10px 15px -3px ${color}`,
70
+ xl: `0 20px 25px -5px ${color}`,
71
+ '2xl': `0 25px 50px -12px ${color}`,
72
+ };
73
+ return shadows[level] || shadows.lg;
74
+ }
75
+ /**
76
+ * Decode HTML entities (handles double-encoded strings too)
77
+ */
78
+ export function decodeHtmlEntities(str) {
79
+ if (!str)
80
+ return str;
81
+ const el = document.createElement('textarea');
82
+ // 1st pass
83
+ el.innerHTML = str;
84
+ let decoded = el.value;
85
+ // 2nd pass (for cases like > => > => >)
86
+ // Only do it if we still see common entity patterns
87
+ if (decoded.includes('<') || decoded.includes('>') || decoded.includes('&')) {
88
+ el.innerHTML = decoded;
89
+ decoded = el.value;
90
+ }
91
+ return decoded;
92
+ }
93
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../src/modules/search/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Search Module Icons
3
+ * SVG icons used in search interface
4
+ */
5
+ /**
6
+ * Search magnifying glass icon
7
+ */
8
+ export declare function getSearchIcon(className?: string, size?: number): string;
9
+ /**
10
+ * Close/X icon
11
+ */
12
+ export declare function getCloseIcon(size?: number): string;
13
+ /**
14
+ * Spinner loading icon
15
+ */
16
+ export declare function getSpinnerIcon(): string;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Search Module Icons
3
+ * SVG icons used in search interface
4
+ */
5
+ /**
6
+ * Search magnifying glass icon
7
+ */
8
+ export function getSearchIcon(className = '', size = 20) {
9
+ return `
10
+ <svg class="${className}" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
11
+ <path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
12
+ </svg>
13
+ `;
14
+ }
15
+ /**
16
+ * Close/X icon
17
+ */
18
+ export function getCloseIcon(size = 24) {
19
+ return `
20
+ <svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
21
+ <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
22
+ </svg>
23
+ `;
24
+ }
25
+ /**
26
+ * Spinner loading icon
27
+ */
28
+ export function getSpinnerIcon() {
29
+ return `
30
+ <svg class="ws-spinner" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
31
+ <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" opacity="0.25"/>
32
+ <path d="M12 2C6.47715 2 2 6.47715 2 12" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
33
+ </svg>
34
+ `;
35
+ }
36
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../src/modules/search/utils/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB,EAAE,EAAE,OAAe,EAAE;IACrE,OAAO;kBACS,SAAS,YAAY,IAAI,aAAa,IAAI;;;GAGzD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE;IAC5C,OAAO;kBACS,IAAI,aAAa,IAAI;;;GAGpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;GAKN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Search Utils Export
3
+ */
4
+ export { getRecentSearches, addRecentSearch, clearRecentSearches, removeRecentSearch } from './storage';
5
+ export { formatPrice, escapeHtml, formatCategoryName, getShadow, decodeHtmlEntities } from './helpers';
6
+ export { getSearchIcon, getCloseIcon, getSpinnerIcon } from './icons';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Search Utils Export
3
+ */
4
+ export { getRecentSearches, addRecentSearch, clearRecentSearches, removeRecentSearch } from './storage.js';
5
+ export { formatPrice, escapeHtml, formatCategoryName, getShadow, decodeHtmlEntities } from './helpers.js';
6
+ export { getSearchIcon, getCloseIcon, getSpinnerIcon } from './icons.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/search/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Search-specific Storage Utilities
3
+ */
4
+ export declare function getRecentSearches(maxCount: number | undefined, siteKey: string): string[];
5
+ export declare function addRecentSearch(query: string, maxCount: number | undefined, siteKey: string): void;
6
+ export declare function clearRecentSearches(siteKey: string): void;
7
+ export declare function removeRecentSearch(query: string, siteKey: string): void;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Search-specific Storage Utilities
3
+ */
4
+ const RECENT_SEARCHES_KEY = 'ws_recent_searches';
5
+ export function getRecentSearches(maxCount = 5, siteKey) {
6
+ try {
7
+ const stored = localStorage.getItem(`${RECENT_SEARCHES_KEY}_${siteKey}`);
8
+ if (!stored)
9
+ return [];
10
+ const searches = JSON.parse(stored);
11
+ return Array.isArray(searches) ? searches.slice(0, maxCount) : [];
12
+ }
13
+ catch {
14
+ return [];
15
+ }
16
+ }
17
+ export function addRecentSearch(query, maxCount = 5, siteKey) {
18
+ if (!query || query.length < 2)
19
+ return;
20
+ try {
21
+ let recent = getRecentSearches(maxCount, siteKey);
22
+ // Remove if exists
23
+ recent = recent.filter(s => s.toLowerCase() !== query.toLowerCase());
24
+ // Add to front
25
+ recent.unshift(query);
26
+ // Limit
27
+ recent = recent.slice(0, maxCount);
28
+ localStorage.setItem(`${RECENT_SEARCHES_KEY}_${siteKey}`, JSON.stringify(recent));
29
+ }
30
+ catch (error) {
31
+ console.debug('[WidgetSearch] Failed to save recent search:', error);
32
+ }
33
+ }
34
+ export function clearRecentSearches(siteKey) {
35
+ try {
36
+ localStorage.removeItem(`${RECENT_SEARCHES_KEY}_${siteKey}`);
37
+ }
38
+ catch {
39
+ // Ignore storage errors
40
+ }
41
+ }
42
+ export function removeRecentSearch(query, siteKey) {
43
+ try {
44
+ let recent = getRecentSearches(5, siteKey);
45
+ recent = recent.filter(s => s.toLowerCase() !== query.toLowerCase());
46
+ localStorage.setItem(`${RECENT_SEARCHES_KEY}_${siteKey}`, JSON.stringify(recent));
47
+ }
48
+ catch {
49
+ // Ignore
50
+ }
51
+ }
52
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../../src/modules/search/utils/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,UAAU,iBAAiB,CAAC,WAAmB,CAAC,EAAE,OAAe;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,mBAAmB,IAAI,OAAO,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,WAAmB,CAAC,EAAE,OAAe;IACpF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IACnC,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,mBAAmB;QACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,eAAe;QACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,QAAQ;QACR,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,mBAAmB,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,CAAC,GAAG,mBAAmB,IAAI,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,OAAe;IACjE,IAAI,CAAC;QACC,IAAI,MAAM,GAAG,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,YAAY,CAAC,OAAO,CAAC,GAAG,mBAAmB,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Selwise - Lightweight Embed Script
3
+ * Campaign-Centric Architecture
4
+ * Target: < 15KB gzipped
5
+ */
6
+ import type { WidgetConfig } from './types';
7
+ import { Tracker } from './core';
8
+ export declare class Selwise {
9
+ private config;
10
+ private renderer;
11
+ private tracker;
12
+ private experiments;
13
+ private segments;
14
+ private dataLayerManager;
15
+ private searchModule;
16
+ private recommendationsCleanup;
17
+ private recommendationsInitialized;
18
+ private campaigns;
19
+ private widgets;
20
+ private recommendationWidgets;
21
+ private isDestroyed;
22
+ private renderedEntities;
23
+ private readonly frequencyCapManager;
24
+ private readonly conflictResolver;
25
+ private originalPushState;
26
+ private originalReplaceState;
27
+ private popStateListener;
28
+ private pendingTimeouts;
29
+ private spaCleanupSetup;
30
+ constructor();
31
+ private isBrowserEnvironment;
32
+ private bindGlobalInstance;
33
+ private clearGlobalInstanceBinding;
34
+ get siteKey(): string;
35
+ /**
36
+ * Detect missing browser features
37
+ * Returns array of missing feature names for graceful degradation
38
+ */
39
+ private detectMissingFeatures;
40
+ get apiUrl(): string;
41
+ get trackingConfig(): any;
42
+ private cleanupRenderedEntityRoots;
43
+ private cleanupRenderedEntityById;
44
+ /**
45
+ * Setup SPA navigation detection for cleanup
46
+ * Listens for popstate and detects URL changes
47
+ *
48
+ * FIXED: Race condition by reading location.href directly instead of caching
49
+ */
50
+ private setupSPACleanup;
51
+ /**
52
+ * Called when SPA navigation is detected
53
+ * Cleans up current page resources and re-initializes for new page
54
+ */
55
+ private onNavigate;
56
+ /**
57
+ * Destroy the entire Selwise instance
58
+ * Call this when completely removing the widget from the page
59
+ */
60
+ destroy(): void;
61
+ init(config: Partial<WidgetConfig>): Promise<void>;
62
+ /**
63
+ * Fetch and apply tracking configuration from server
64
+ * This allows dashboard settings to control client-side batching behavior
65
+ * and data layer configuration
66
+ */
67
+ private loadTrackingConfig;
68
+ /**
69
+ * Load campaigns, widgets, and recommendations using the batch config endpoint
70
+ * PERFORMANCE: Single request instead of 3 separate requests
71
+ * Falls back to individual endpoints if batch endpoint fails
72
+ */
73
+ private loadSiteConfig;
74
+ /**
75
+ * Fallback path: load campaigns and widgets individually
76
+ * Used only if batch endpoint fails
77
+ */
78
+ private loadCampaignsAndWidgets;
79
+ /**
80
+ * Initialize the data layer manager
81
+ * Called after tracking config is loaded to respect server-side settings
82
+ */
83
+ private initDataLayer;
84
+ /**
85
+ * Public helper for experiment variant access
86
+ * Returns the full variant assignment for an experiment
87
+ */
88
+ getVariant(experimentId: string): import("./types").ExperimentAssignment | null | undefined;
89
+ /**
90
+ * Public helper for getting the assigned variant ID
91
+ * Returns just the variant ID (e.g., 'variant_a', 'control')
92
+ */
93
+ getExperimentVariant(experimentId: string): string | null;
94
+ /**
95
+ * Public helper for getting all active experiment assignments
96
+ * Returns an array of all experiment assignments for the current visitor
97
+ */
98
+ getActiveExperiments(): import("./types").ExperimentAssignment[];
99
+ /**
100
+ * Public helper for purchase/order tracking.
101
+ * Merchants can call: window.Selwise.trackOrder({...})
102
+ */
103
+ trackOrder(order: Parameters<Tracker['trackOrder']>[0]): Promise<void>;
104
+ /**
105
+ * Identify a user.
106
+ * Call this when a user logs in or is identified.
107
+ * @param userId Unique user ID from your system
108
+ * @param metadata Optional metadata about the user
109
+ * @returns Promise with success status and merge indicator
110
+ */
111
+ identify(userId: string, metadata?: Record<string, any>): Promise<{
112
+ success: boolean;
113
+ merged?: boolean;
114
+ }>;
115
+ /**
116
+ * Set user traits without changing identity.
117
+ * Call this to update user attributes like name, email, plan, etc.
118
+ * @param traits Key-value pairs of user attributes
119
+ * @returns Promise with success status
120
+ */
121
+ setTraits(traits: Record<string, any>): Promise<boolean>;
122
+ /**
123
+ * Track a custom event.
124
+ * Call this to track custom events like 'button_clicked', 'form_submitted', etc.
125
+ * @param name Event name (e.g., 'product_viewed', 'button_clicked')
126
+ * @param args Optional event data including entityType, entityId, and metadata
127
+ *
128
+ * @example
129
+ * window.Selwise.track('product_viewed', {
130
+ * entityType: 'product',
131
+ * entityId: 'prod_123',
132
+ * metadata: { price: 99.99, category: 'electronics' }
133
+ * })
134
+ */
135
+ track(name: string, args?: {
136
+ entityType?: string;
137
+ entityId?: string;
138
+ metadata?: Record<string, any>;
139
+ }): void;
140
+ /**
141
+ * Get current site user ID (if user has been identified)
142
+ * @returns The site user ID or undefined
143
+ */
144
+ getSiteUserId(): string | undefined;
145
+ /**
146
+ * Get current visitor ID
147
+ * @returns The visitor ID
148
+ */
149
+ getVisitorId(): string;
150
+ /**
151
+ * Get current session ID
152
+ * @returns The session ID
153
+ */
154
+ getSessionId(): string;
155
+ /**
156
+ * Get current journey ID
157
+ * @returns The journey ID or null if no active journey
158
+ */
159
+ getJourneyId(): string | null;
160
+ /**
161
+ * Get current journey state for debugging
162
+ * @returns Journey state including ID, age, and validity
163
+ */
164
+ getJourneyState(): {
165
+ journeyId: string | null;
166
+ age: number | null;
167
+ isValid: boolean;
168
+ };
169
+ /**
170
+ * End the current journey
171
+ * Clears the journey ID and starts a new one on the next event
172
+ */
173
+ endJourney(): void;
174
+ /**
175
+ * Search module - dynamically imported for code splitting
176
+ */
177
+ private initSearch;
178
+ /**
179
+ * Recommendations module - dynamically imported for code splitting
180
+ */
181
+ private initRecommendations;
182
+ private loadCampaigns;
183
+ private loadWidgets;
184
+ private loadScripts;
185
+ private shouldRenderForCurrentPage;
186
+ private buildDisplayCandidates;
187
+ private renderEntitiesWithPolicies;
188
+ /**
189
+ * Unified entity rendering for campaigns and widgets
190
+ * @param skipVariantCheck - Skip variant module lookup (used when rendering variant modules to prevent infinite loops)
191
+ */
192
+ private renderEntity;
193
+ /**
194
+ * Render a variant module from different_module mode experiment
195
+ * @param moduleData The module data containing target type and full entity data
196
+ * @param experimentId The experiment ID
197
+ * @param variantId The variant ID
198
+ * @param targetType The target type (widget, campaign, recommendation, etc.)
199
+ */
200
+ private renderVariantModule;
201
+ /**
202
+ * Handle inactive subscription
203
+ * Disables widget and emits event for parent application to handle
204
+ *
205
+ * @param message Error message from server
206
+ */
207
+ private handleSubscriptionInactive;
208
+ }
209
+ export default Selwise;