@salla.sa/twilight-components 2.14.554 → 2.14.556

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 (332) hide show
  1. package/dist/cjs/{Helper-D1YsoJud.js → Helper-N5wrs9vm.js} +36 -0
  2. package/dist/cjs/{filepond-plugin-file-poster-C18vZN4-.js → filepond-plugin-file-poster-DNZM6Czl.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-DDdErCkO.js → filepond-plugin-file-validate-size-BPMIodJt.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-BIIIZDTF.js → filepond-plugin-file-validate-type-DgYmyGCI.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-Dy_kmMTy.js → filepond-plugin-image-edit-B4itf01h.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-r9AvWT2R.js → filepond-plugin-image-exif-orientation-Dj43xu10.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-DFS8KaQR.js → filepond-plugin-image-preview-C6Gm9i9o.js} +1 -1
  8. package/dist/cjs/{filepond-ENm3Nngf.js → filepond-t0Yy69qV.js} +1 -1
  9. package/dist/cjs/{index-CdUTvkg8.js → index-DyL5Ypj3.js} +3 -3
  10. package/dist/cjs/{intlTelInput-D-fhnv0v.js → intlTelInput-BTUy-aYK.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +2 -2
  15. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-applied-filters.cjs.entry.js +2 -2
  19. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
  21. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-comment-form_9.cjs.entry.js +2 -2
  30. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-count-down_2.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  38. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  39. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
  43. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-map_3.cjs.entry.js +13 -9
  55. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-orders.cjs.entry.js +2 -2
  76. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-products-list.cjs.entry.js +21 -2
  83. package/dist/cjs/salla-products-slider.cjs.entry.js +7 -2
  84. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +2 -2
  86. package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
  87. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  91. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  104. package/dist/cjs/twilight.cjs.js +1 -1
  105. package/dist/cjs/{vanilla-picker-DkM8pn5M.js → vanilla-picker-C_t8j4f7.js} +1 -1
  106. package/dist/collection/Helpers/Helper.js +36 -0
  107. package/dist/collection/components/salla-products-list/salla-products-list.js +19 -0
  108. package/dist/collection/components/salla-products-slider/salla-products-slider.js +5 -0
  109. package/dist/collection/components/salla-slider/salla-slider.js +12 -8
  110. package/dist/components/Helper.js +36 -0
  111. package/dist/components/index.js +3 -3
  112. package/dist/components/salla-products-list2.js +19 -0
  113. package/dist/components/salla-products-slider2.js +5 -0
  114. package/dist/components/salla-slider2.js +12 -8
  115. package/dist/esm/{Helper-DsjZ6kte.js → Helper-Cql-WbqR.js} +36 -0
  116. package/dist/esm/{filepond-CfR9FvSg.js → filepond-Dl-e9LIA.js} +1 -1
  117. package/dist/esm/{filepond-plugin-file-poster-B6F5nK4V.js → filepond-plugin-file-poster-B44qzFr7.js} +1 -1
  118. package/dist/esm/{filepond-plugin-file-validate-size-BxIzTBd4.js → filepond-plugin-file-validate-size-DeewGi6D.js} +1 -1
  119. package/dist/esm/{filepond-plugin-file-validate-type-DfUPdGXA.js → filepond-plugin-file-validate-type-DquQHM9K.js} +1 -1
  120. package/dist/esm/{filepond-plugin-image-edit-Ddgh5YPx.js → filepond-plugin-image-edit-DPSC2V4u.js} +1 -1
  121. package/dist/esm/{filepond-plugin-image-exif-orientation-BHjeleJe.js → filepond-plugin-image-exif-orientation-A-4MC3po.js} +1 -1
  122. package/dist/esm/{filepond-plugin-image-preview-Cp3-aadR.js → filepond-plugin-image-preview-vvc3KNls.js} +1 -1
  123. package/dist/esm/{index-ku9UdoB5.js → index-BJmvvw9H.js} +3 -3
  124. package/dist/esm/{intlTelInput-BJzNl4Ic.js → intlTelInput-DFX9QeWQ.js} +1 -1
  125. package/dist/esm/loader.js +2 -2
  126. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  127. package/dist/esm/salla-accordion_6.entry.js +2 -2
  128. package/dist/esm/salla-add-product-button_5.entry.js +2 -2
  129. package/dist/esm/salla-advertisement.entry.js +1 -1
  130. package/dist/esm/salla-alert_2.entry.js +1 -1
  131. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  132. package/dist/esm/salla-applied-filters.entry.js +2 -2
  133. package/dist/esm/salla-apps-icons.entry.js +1 -1
  134. package/dist/esm/salla-attachment-view_9.entry.js +11 -11
  135. package/dist/esm/salla-badge.entry.js +1 -1
  136. package/dist/esm/salla-basket-gap.entry.js +1 -1
  137. package/dist/esm/salla-bullet-delivery_3.entry.js +1 -1
  138. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  139. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  140. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  141. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  142. package/dist/esm/salla-comment-factors.entry.js +1 -1
  143. package/dist/esm/salla-comment-form_9.entry.js +2 -2
  144. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  145. package/dist/esm/salla-contacts.entry.js +1 -1
  146. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  147. package/dist/esm/salla-count-down_2.entry.js +1 -1
  148. package/dist/esm/salla-custom-fields.entry.js +1 -1
  149. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  150. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  151. package/dist/esm/salla-filters-widget.entry.js +2 -2
  152. package/dist/esm/salla-filters.entry.js +2 -2
  153. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  154. package/dist/esm/salla-gifting.entry.js +1 -1
  155. package/dist/esm/salla-hook.entry.js +1 -1
  156. package/dist/esm/salla-infinite-scroll.entry.js +2 -2
  157. package/dist/esm/salla-installment.entry.js +1 -1
  158. package/dist/esm/salla-list-tile.entry.js +1 -1
  159. package/dist/esm/salla-localization-modal.entry.js +1 -1
  160. package/dist/esm/salla-login-modal.entry.js +1 -1
  161. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  162. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  163. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  164. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  165. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  166. package/dist/esm/salla-loyalty.entry.js +1 -1
  167. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  168. package/dist/esm/salla-map_3.entry.js +13 -9
  169. package/dist/esm/salla-menu.entry.js +1 -1
  170. package/dist/esm/salla-metadata.entry.js +1 -1
  171. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  172. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  173. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  174. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  175. package/dist/esm/salla-notification-item_2.entry.js +2 -2
  176. package/dist/esm/salla-offer-modal.entry.js +1 -1
  177. package/dist/esm/salla-offer.entry.js +1 -1
  178. package/dist/esm/salla-order-branch.entry.js +1 -1
  179. package/dist/esm/salla-order-cancel.entry.js +1 -1
  180. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  181. package/dist/esm/salla-order-details-options.entry.js +1 -1
  182. package/dist/esm/salla-order-details.entry.js +1 -1
  183. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  184. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  185. package/dist/esm/salla-order-edit.entry.js +1 -1
  186. package/dist/esm/salla-order-shipments.entry.js +1 -1
  187. package/dist/esm/salla-order-summary.entry.js +1 -1
  188. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  189. package/dist/esm/salla-orders.entry.js +2 -2
  190. package/dist/esm/salla-payments.entry.js +1 -1
  191. package/dist/esm/salla-placeholder.entry.js +1 -1
  192. package/dist/esm/salla-price-range.entry.js +1 -1
  193. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  194. package/dist/esm/salla-product-card.entry.js +1 -1
  195. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  196. package/dist/esm/salla-products-list.entry.js +21 -2
  197. package/dist/esm/salla-products-slider.entry.js +7 -2
  198. package/dist/esm/salla-quick-order.entry.js +1 -1
  199. package/dist/esm/salla-rating-modal-v2.entry.js +2 -2
  200. package/dist/esm/salla-rating-modal.entry.js +2 -2
  201. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  202. package/dist/esm/salla-review-order-item.entry.js +1 -1
  203. package/dist/esm/salla-scopes.entry.js +1 -1
  204. package/dist/esm/salla-search.entry.js +2 -2
  205. package/dist/esm/salla-skeleton.entry.js +1 -1
  206. package/dist/esm/salla-social-share.entry.js +1 -1
  207. package/dist/esm/salla-social.entry.js +1 -1
  208. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  209. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  210. package/dist/esm/salla-tooltip.entry.js +1 -1
  211. package/dist/esm/salla-trust-badges.entry.js +1 -1
  212. package/dist/esm/salla-user-menu.entry.js +1 -1
  213. package/dist/esm/salla-user-profile.entry.js +1 -1
  214. package/dist/esm/salla-user-settings.entry.js +1 -1
  215. package/dist/esm/salla-verify.entry.js +1 -1
  216. package/dist/esm/salla-wallet.entry.js +1 -1
  217. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  218. package/dist/esm/twilight.js +2 -2
  219. package/dist/esm/{vanilla-picker-BUvwVv9C.js → vanilla-picker-Ld2F0WbU.js} +1 -1
  220. package/dist/twilight/{p-04b36a74.entry.js → p-08fa9f0b.entry.js} +1 -1
  221. package/dist/twilight/{p-e3c03f82.entry.js → p-0d3be88f.entry.js} +1 -1
  222. package/dist/twilight/{p-1ea8b6d8.entry.js → p-1066a05c.entry.js} +1 -1
  223. package/dist/twilight/{p-a8e3d089.entry.js → p-11afb8be.entry.js} +1 -1
  224. package/dist/twilight/{p-3ab74f2e.entry.js → p-12a43d43.entry.js} +1 -1
  225. package/dist/twilight/{p-1a469fb0.entry.js → p-13011571.entry.js} +1 -1
  226. package/dist/twilight/{p-6be9d80d.entry.js → p-164cb0d8.entry.js} +1 -1
  227. package/dist/twilight/{p-fb6d8401.entry.js → p-17522796.entry.js} +1 -1
  228. package/dist/twilight/{p-a24943e9.entry.js → p-1882e5b9.entry.js} +1 -1
  229. package/dist/twilight/{p-f5de77c3.entry.js → p-1b97e436.entry.js} +1 -1
  230. package/dist/twilight/{p-dfbdadbe.entry.js → p-275b49b7.entry.js} +1 -1
  231. package/dist/twilight/{p-17fadc87.entry.js → p-2815c25a.entry.js} +1 -1
  232. package/dist/twilight/{p-95e0a312.entry.js → p-291d6f2b.entry.js} +1 -1
  233. package/dist/twilight/{p-c5ce93d5.entry.js → p-2ce0c4ca.entry.js} +1 -1
  234. package/dist/twilight/{p-f28f5f74.entry.js → p-2f2956d9.entry.js} +1 -1
  235. package/dist/twilight/{p-1936f917.entry.js → p-2f59ef9c.entry.js} +1 -1
  236. package/dist/twilight/{p-123e9135.entry.js → p-2fddb802.entry.js} +1 -1
  237. package/dist/twilight/{p-99ff26ab.entry.js → p-3a1fd71a.entry.js} +1 -1
  238. package/dist/twilight/{p-9a0e1465.entry.js → p-3bba916f.entry.js} +1 -1
  239. package/dist/twilight/{p-c2b52564.entry.js → p-3eb18438.entry.js} +1 -1
  240. package/dist/twilight/{p-cf0a59a6.entry.js → p-3ec284fd.entry.js} +1 -1
  241. package/dist/twilight/{p-1eda5a96.entry.js → p-4023d48a.entry.js} +1 -1
  242. package/dist/twilight/{p-ad60b749.entry.js → p-427d38a0.entry.js} +1 -1
  243. package/dist/twilight/{p-fee06d0a.entry.js → p-45b85a45.entry.js} +1 -1
  244. package/dist/twilight/{p-ea4c9415.entry.js → p-4af910f1.entry.js} +1 -1
  245. package/dist/twilight/{p-26a18c7f.entry.js → p-4ca525cb.entry.js} +1 -1
  246. package/dist/twilight/{p-df068813.entry.js → p-4df9ca99.entry.js} +1 -1
  247. package/dist/twilight/{p-e747bb48.entry.js → p-4fdc296f.entry.js} +1 -1
  248. package/dist/twilight/{p-9486e09e.entry.js → p-5391291e.entry.js} +1 -1
  249. package/dist/twilight/{p-b574a386.entry.js → p-54b4dec6.entry.js} +1 -1
  250. package/dist/twilight/{p-f289cf85.entry.js → p-5527801b.entry.js} +1 -1
  251. package/dist/twilight/{p-94ee6712.entry.js → p-55c89592.entry.js} +1 -1
  252. package/dist/twilight/{p-5ff01328.entry.js → p-5ab257bf.entry.js} +1 -1
  253. package/dist/twilight/{p-ba461b3b.entry.js → p-5af2868f.entry.js} +1 -1
  254. package/dist/twilight/{p-0cf68108.entry.js → p-5b148ad4.entry.js} +1 -1
  255. package/dist/twilight/{p-3396b86e.entry.js → p-5ecc99df.entry.js} +1 -1
  256. package/dist/twilight/{p-2b21f1e9.entry.js → p-601013e8.entry.js} +1 -1
  257. package/dist/twilight/{p-01484bf0.entry.js → p-62dfd479.entry.js} +1 -1
  258. package/dist/twilight/{p-56ba07b9.entry.js → p-67efee3a.entry.js} +1 -1
  259. package/dist/twilight/{p-2c575150.entry.js → p-6b3e668c.entry.js} +1 -1
  260. package/dist/twilight/{p-166165af.entry.js → p-6d7629ee.entry.js} +1 -1
  261. package/dist/twilight/{p-6fa2b72f.entry.js → p-6e08f950.entry.js} +1 -1
  262. package/dist/twilight/{p-783dff94.entry.js → p-74f730e1.entry.js} +1 -1
  263. package/dist/twilight/{p-d26a4d0a.entry.js → p-75e126cc.entry.js} +1 -1
  264. package/dist/twilight/{p-2726700f.entry.js → p-7d0e8486.entry.js} +1 -1
  265. package/dist/twilight/{p-14276775.entry.js → p-7e7f0849.entry.js} +1 -1
  266. package/dist/twilight/{p-c4c39bd9.entry.js → p-88045527.entry.js} +1 -1
  267. package/dist/twilight/{p-4c7e19cf.entry.js → p-89a82ff5.entry.js} +1 -1
  268. package/dist/twilight/{p-796820a1.entry.js → p-8a640353.entry.js} +1 -1
  269. package/dist/twilight/{p-d87df6bb.entry.js → p-8d7bfcf6.entry.js} +1 -1
  270. package/dist/twilight/{p-8437142d.entry.js → p-90d5e633.entry.js} +1 -1
  271. package/dist/twilight/{p-d756ea47.entry.js → p-91351958.entry.js} +1 -1
  272. package/dist/twilight/{p-d19c812d.entry.js → p-918eb4b7.entry.js} +1 -1
  273. package/dist/twilight/{p-9aa24215.entry.js → p-91f9f647.entry.js} +1 -1
  274. package/dist/twilight/{p-c7910ae8.entry.js → p-92992a1e.entry.js} +1 -1
  275. package/dist/twilight/{p-a30c03f2.entry.js → p-95918a1a.entry.js} +1 -1
  276. package/dist/twilight/{p-c31a585e.entry.js → p-95b8806a.entry.js} +1 -1
  277. package/dist/twilight/{p-4046701a.entry.js → p-99702306.entry.js} +1 -1
  278. package/dist/twilight/{p-9c2b4ca2.entry.js → p-99af9a68.entry.js} +1 -1
  279. package/dist/twilight/p-BJmvvw9H.js +5 -0
  280. package/dist/twilight/{p-_vqDDk2C.js → p-BUfrGdXG.js} +1 -1
  281. package/dist/twilight/{p-Pyyf93a5.js → p-BscSw0sZ.js} +1 -1
  282. package/dist/twilight/{p-C1-96ybF.js → p-CLEHV1kt.js} +1 -1
  283. package/dist/twilight/p-CUSw0W26.js +4 -0
  284. package/dist/twilight/{p-Cr4_0D5C.js → p-DXzyepGb.js} +1 -1
  285. package/dist/twilight/{p-yevmK0Kl.js → p-DpFFhlK6.js} +1 -1
  286. package/dist/twilight/{p-gtQbb5kC.js → p-SDB-lCJg.js} +1 -1
  287. package/dist/twilight/{p-UhifliOR.js → p-VDJLgJLw.js} +1 -1
  288. package/dist/twilight/{p-0eRD7FGW.js → p-Ye-NG0xO.js} +1 -1
  289. package/dist/twilight/{p-6534ff1f.entry.js → p-a1738bf0.entry.js} +1 -1
  290. package/dist/twilight/p-a1ce8d6d.entry.js +4 -0
  291. package/dist/twilight/p-a893e7e3.entry.js +4 -0
  292. package/dist/twilight/{p-96fe4aab.entry.js → p-acc63da6.entry.js} +1 -1
  293. package/dist/twilight/{p-85a79d61.entry.js → p-b654ffbd.entry.js} +1 -1
  294. package/dist/twilight/{p-85cffeba.entry.js → p-ba5546ab.entry.js} +1 -1
  295. package/dist/twilight/{p-3fb91980.entry.js → p-bb082b47.entry.js} +1 -1
  296. package/dist/twilight/{p-6d9068ec.entry.js → p-bd68067a.entry.js} +1 -1
  297. package/dist/twilight/{p-fe2ab07f.entry.js → p-bfb82c90.entry.js} +1 -1
  298. package/dist/twilight/{p-c8fbf2b5.entry.js → p-c266feb3.entry.js} +1 -1
  299. package/dist/twilight/{p-04a4ad1e.entry.js → p-c4582e2b.entry.js} +1 -1
  300. package/dist/twilight/p-cb892619.entry.js +4 -0
  301. package/dist/twilight/{p-0cd9ed66.entry.js → p-cc3c48b4.entry.js} +1 -1
  302. package/dist/twilight/{p-8fedad10.entry.js → p-cddd3975.entry.js} +1 -1
  303. package/dist/twilight/{p-5fc810c0.entry.js → p-d16a17d2.entry.js} +1 -1
  304. package/dist/twilight/{p-fd6365cf.entry.js → p-d4263617.entry.js} +1 -1
  305. package/dist/twilight/{p-b0b3e350.entry.js → p-d5a486bb.entry.js} +1 -1
  306. package/dist/twilight/{p-02052c05.entry.js → p-d8808de5.entry.js} +1 -1
  307. package/dist/twilight/{p-cb0d5691.entry.js → p-d9e98286.entry.js} +1 -1
  308. package/dist/twilight/{p-dd9b7c3e.entry.js → p-dff3411a.entry.js} +1 -1
  309. package/dist/twilight/{p-eae027c3.entry.js → p-e0e614d1.entry.js} +1 -1
  310. package/dist/twilight/{p-f1a054c6.entry.js → p-e0f7a4e1.entry.js} +1 -1
  311. package/dist/twilight/{p-7401960d.entry.js → p-e1cca558.entry.js} +1 -1
  312. package/dist/twilight/{p-19160d81.entry.js → p-e209addd.entry.js} +1 -1
  313. package/dist/twilight/{p-5ed3f495.entry.js → p-e64ad9de.entry.js} +1 -1
  314. package/dist/twilight/{p-89fd6c49.entry.js → p-ec27e0f4.entry.js} +1 -1
  315. package/dist/twilight/{p-8f8ac48b.entry.js → p-f0c19b59.entry.js} +1 -1
  316. package/dist/twilight/{p-be7ff867.entry.js → p-f37147c7.entry.js} +1 -1
  317. package/dist/twilight/{p-e5a220c9.entry.js → p-f3eab493.entry.js} +1 -1
  318. package/dist/twilight/{p-fe7e6ccf.entry.js → p-f6e44ad6.entry.js} +1 -1
  319. package/dist/twilight/{p-64180f95.entry.js → p-fa1900ec.entry.js} +1 -1
  320. package/dist/twilight/{p-34193547.entry.js → p-fc0304bf.entry.js} +1 -1
  321. package/dist/twilight/{p-bd5aa915.entry.js → p-fdc36d7c.entry.js} +1 -1
  322. package/dist/twilight/{p-CzKSvXuO.js → p-pCB_h2Xn.js} +1 -1
  323. package/dist/twilight/twilight.esm.js +1 -1
  324. package/dist/types/Helpers/Helper.d.ts +27 -0
  325. package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
  326. package/dist/types/components/salla-products-slider/salla-products-slider.d.ts +1 -0
  327. package/package.json +5 -5
  328. package/dist/twilight/p-63b99e5f.entry.js +0 -4
  329. package/dist/twilight/p-D6rFREuQ.js +0 -4
  330. package/dist/twilight/p-aa0fa973.entry.js +0 -4
  331. package/dist/twilight/p-b047487a.entry.js +0 -4
  332. package/dist/twilight/p-ku9UdoB5.js +0 -5
@@ -57,6 +57,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
57
57
  this.prevCategoryIdKey = 'prevCategoryId';
58
58
  this.isProcessing = false; // Tracks if we are processing data
59
59
  this.scrollTimeout = null;
60
+ this.requestId = null;
60
61
  this.boundScrollToLastViewedProduct = () => this.scrollToLastViewedProduct();
61
62
  this.boundHandleScroll = () => this.handleScroll();
62
63
  this.specialPagesWithoutIds = {
@@ -321,6 +322,9 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
321
322
  if (anchor) {
322
323
  Helper.saveProductSource(this.getSource());
323
324
  Helper.saveProductPosition(product.position);
325
+ // `this.requestId` is the latest page's id, not necessarily the one that rendered
326
+ // this card — see the accepted limitation documented on Helper.saveRequestId.
327
+ Helper.saveRequestId(this.requestId);
324
328
  if (this.hasInfiniteScroll) {
325
329
  this.takeStateSnapshot();
326
330
  sessionStorage.setItem(this.lastViewedProductKey, product.id);
@@ -330,6 +334,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
330
334
  // Add-to-cart clicked directly within the list (no navigation): persist the
331
335
  // position so the following Product Added event can attribute the clicked rank.
332
336
  Helper.saveProductPosition(product.position);
337
+ Helper.saveRequestId(this.requestId);
333
338
  }
334
339
  });
335
340
  if (this.selectable) {
@@ -757,6 +762,17 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
757
762
  return;
758
763
  this.isProcessing = true;
759
764
  try {
765
+ try {
766
+ // fetch() hides custom response headers behind CORS unless the backend
767
+ // exposes them, so fall back to a `request_id` field in the JSON body.
768
+ const requestId = httpResponse?.headers?.get?.('s-request-id') || response?.request_id;
769
+ if (requestId) {
770
+ this.requestId = requestId;
771
+ }
772
+ }
773
+ catch {
774
+ // ignore
775
+ }
760
776
  if (!response.data?.length && this.infiniteScroll.pageIndex === 2) {
761
777
  this.showPlaceholder = true;
762
778
  salla.infiniteScroll.destroy(this.infiniteScroll);
@@ -1082,6 +1098,9 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
1082
1098
  if (!response) {
1083
1099
  return [];
1084
1100
  }
1101
+ if (response._requestId) {
1102
+ this.requestId = response._requestId;
1103
+ }
1085
1104
  let source = this.getSource();
1086
1105
  if (response.cursor?.current === 1) {
1087
1106
  if (!this.isAuxiliaryProductsListSource()) {
@@ -41,6 +41,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
41
41
  */
42
42
  this.productCardComponent = 'custom-salla-product-card';
43
43
  this.apiUrl = '';
44
+ this.requestId = null;
44
45
  this.onWishlistStorageSynced = () => Helper.syncWishlistIcons(this.host, `${this.productCardComponent}, salla-product-card`);
45
46
  }
46
47
  componentWillLoad() {
@@ -81,6 +82,9 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
81
82
  }))
82
83
  .then(response => Helper.injectExtraFieldsToResponse(response))
83
84
  .then(async (response) => {
85
+ if (response._requestId) {
86
+ this.requestId = response._requestId;
87
+ }
84
88
  this.productsData = await this.applyBeforeAppendItems(response.data);
85
89
  this.isReady = true;
86
90
  response.source = this.getSource();
@@ -124,6 +128,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
124
128
  const handleClick = isLandingPage ? undefined : () => {
125
129
  Helper.saveProductSource(this.getSource());
126
130
  Helper.saveProductPosition(product.position);
131
+ Helper.saveRequestId(this.requestId);
127
132
  };
128
133
  if (this.hasCustomComponent && this.productCardComponent.toLowerCase() == 'custom-salla-product-card') {
129
134
  return h("div", { class: "s-products-slider-card", onClick: handleClick }, h("custom-salla-product-card", { product: product, source: this.getSource(), "source-value": this.getSourceValue() }));
@@ -10140,16 +10140,20 @@ const SallaSlider = /*@__PURE__*/ proxyCustomElement(class SallaSlider extends H
10140
10140
  this.hasThumbSlot = !!this.host.querySelector('[slot="thumbs"]');
10141
10141
  if (this.listenToThumbnailsOption) {
10142
10142
  salla.event.on('product-options::change', data => {
10143
- const isSupportedOptionType = ['thumbnail', 'color'].includes(data?.option?.type);
10144
- const optionImageId = data?.detail?.option_value;
10145
- if (!isSupportedOptionType || !optionImageId) {
10143
+ if (!['thumbnail', 'color'].includes(data?.option?.type)) {
10146
10144
  return;
10147
10145
  }
10148
- const slideIndex = this.sliderWrapper
10149
- ?.querySelector(`[data-img-id="${optionImageId}"]`)
10150
- ?.getAttribute('data-slid-index');
10151
- if (slideIndex) {
10152
- this.slideTo(parseInt(slideIndex), 300, false);
10146
+ // Options with their own uploaded thumbnail carry the gallery image id in `color`.
10147
+ const imageIds = [data?.detail?.option_value, data?.detail?.color]
10148
+ .filter(value => value != null && /^\d+$/.test(String(value)));
10149
+ for (const imageId of imageIds) {
10150
+ const slideIndex = this.sliderWrapper
10151
+ ?.querySelector(`[data-img-id="${CSS.escape(String(imageId))}"]`)
10152
+ ?.getAttribute('data-slid-index');
10153
+ if (slideIndex != null) {
10154
+ this.slideTo(parseInt(slideIndex, 10), 300, false);
10155
+ return;
10156
+ }
10153
10157
  }
10154
10158
  });
10155
10159
  }
@@ -255,6 +255,42 @@ class Helper {
255
255
  salla.logger.warn('Error saving position to session storage');
256
256
  }
257
257
  }
258
+ /**
259
+ * Persist the `s-request-id` of the products response the customer just interacted
260
+ * with, so the analytics event that follows can be attributed back to it.
261
+ *
262
+ * KNOWN LIMITATION — deliberate, accepted for this release.
263
+ * This is a single shared value, so the last interaction wins. Two flows can therefore
264
+ * attach the wrong request id to an event:
265
+ * 1. Infinite scroll — a later page overwrites this value while the earlier pages'
266
+ * cards are still on screen, so clicking a product from page 1 after page 2 has
267
+ * loaded attributes the event to the page-2 response.
268
+ * 2. Interleaved add-to-cart — `Product Added` only fires once the async cart request
269
+ * resolves. If the customer interacts with another product in the meantime, this
270
+ * value has already been replaced by the time the event reads it.
271
+ *
272
+ * Why this is safe to ship as-is: `request_id` is an analytics-attribution field only.
273
+ * It is never read by storefront logic, never affects the cart, pricing, the order, or
274
+ * anything the customer sees, and every read and write here is wrapped so it cannot
275
+ * throw. The worst outcome is one analytics row carrying a neighbouring request id —
276
+ * the event still fires, and its product, position and source fields stay correct.
277
+ * Both flows also need a specific interleaving to occur at all, so they are the
278
+ * exception rather than the norm.
279
+ *
280
+ * The fix is to key the stored value by product id instead of sharing one slot, which
281
+ * changes this method's signature and the session-storage schema. That is being handled
282
+ * as a follow-up enhancement rather than widening this PR.
283
+ */
284
+ saveRequestId(requestId) {
285
+ if (!requestId)
286
+ return;
287
+ try {
288
+ sessionStorage.setItem('s-request-id', requestId);
289
+ }
290
+ catch (error) {
291
+ salla.logger.warn('Error saving request id to session storage');
292
+ }
293
+ }
258
294
  saveAddToCartSource(source) {
259
295
  this.saveSource('s-add-to-cart-source', source);
260
296
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-ku9UdoB5.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BJmvvw9H.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {