@salla.sa/twilight-components 2.14.509 → 2.14.511

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 (346) hide show
  1. package/dist/cjs/{filepond-Dn8WkI9_.js → filepond-0TrFNLsw.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-mufjzLbD.js → filepond-plugin-file-poster-sXFNeqzk.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-BC6t5UPj.js → filepond-plugin-file-validate-size-Cj55Y7tv.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-CaQ5Kqok.js → filepond-plugin-file-validate-type-V1HMJfKc.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-DvSmfnUl.js → filepond-plugin-image-edit-C9cY0syk.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-Br5ovpCW.js → filepond-plugin-image-exif-orientation-DNg_Qcvp.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-C71ogaak.js → filepond-plugin-image-preview-CWOnO-Il.js} +1 -1
  8. package/dist/cjs/{functions-DgFPxTJv.js → functions-CDAUu5J8.js} +1 -1
  9. package/dist/cjs/{index-DHuZTkix.js → index-Dl2lYw7e.js} +1 -1
  10. package/dist/cjs/{index-CeEhEVDJ.js → index-RBECSfSj.js} +2 -2
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
  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-apps-icons.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
  22. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +36 -16
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down_2.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  47. package/dist/cjs/salla-loyalty-exchange-product-card_5.cjs.entry.js +3 -3
  48. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
  49. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  50. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  54. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  55. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-product-card_2.cjs.entry.js +36 -6
  84. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-products-list.cjs.entry.js +26 -3
  86. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-social-share.cjs.entry.js +7 -4
  95. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -13
  100. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  106. package/dist/cjs/{tracked-promise-DDnavSzb.js → tracked-promise-Cuo4mD3A.js} +1 -1
  107. package/dist/cjs/twilight.cjs.js +2 -2
  108. package/dist/cjs/{vanilla-picker-CyrLIKBL.js → vanilla-picker-DCpYcH-A.js} +1 -1
  109. package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +36 -15
  110. package/dist/collection/components/salla-products-list/salla-products-list.js +25 -2
  111. package/dist/collection/components/salla-products-slider/salla-products-slider.js +35 -5
  112. package/dist/collection/components/salla-social-share/salla-social-share.js +6 -3
  113. package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +0 -12
  114. package/dist/components/index.js +2 -2
  115. package/dist/components/salla-cart-coupons.js +36 -15
  116. package/dist/components/salla-products-list2.js +25 -2
  117. package/dist/components/salla-products-slider2.js +35 -5
  118. package/dist/components/salla-social-share2.js +6 -3
  119. package/dist/components/salla-trust-badges.js +0 -12
  120. package/dist/esm/{filepond-Cu0hGP46.js → filepond-CjaPhELa.js} +1 -1
  121. package/dist/esm/{filepond-plugin-file-poster-DBfLrjkx.js → filepond-plugin-file-poster-C0LSpxdn.js} +1 -1
  122. package/dist/esm/{filepond-plugin-file-validate-size-Cq0e60aE.js → filepond-plugin-file-validate-size-f3M1LSPs.js} +1 -1
  123. package/dist/esm/{filepond-plugin-file-validate-type-CpRmNAFC.js → filepond-plugin-file-validate-type-BT4JpEVj.js} +1 -1
  124. package/dist/esm/{filepond-plugin-image-edit-C-7yhkPK.js → filepond-plugin-image-edit-BEc6DVnn.js} +1 -1
  125. package/dist/esm/{filepond-plugin-image-exif-orientation-CTn5LeXC.js → filepond-plugin-image-exif-orientation-CLI5Lnpc.js} +1 -1
  126. package/dist/esm/{filepond-plugin-image-preview-BsETbqVf.js → filepond-plugin-image-preview-tL-elI_Z.js} +1 -1
  127. package/dist/esm/{functions-DtC2lEvS.js → functions-WS1lxmHI.js} +1 -1
  128. package/dist/esm/{index-BEjZOd--.js → index-BzXJjH3_.js} +2 -2
  129. package/dist/esm/{index-DskkoO4T.js → index-DPFFfWpp.js} +1 -1
  130. package/dist/esm/loader.js +3 -3
  131. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  132. package/dist/esm/salla-accordion_6.entry.js +1 -1
  133. package/dist/esm/salla-add-product-button_5.entry.js +1 -1
  134. package/dist/esm/salla-advertisement.entry.js +1 -1
  135. package/dist/esm/salla-alert_2.entry.js +1 -1
  136. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  137. package/dist/esm/salla-apps-icons.entry.js +1 -1
  138. package/dist/esm/salla-badge.entry.js +1 -1
  139. package/dist/esm/salla-basket-gap.entry.js +1 -1
  140. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  141. package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
  142. package/dist/esm/salla-cart-coupons.entry.js +36 -16
  143. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  144. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  145. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  146. package/dist/esm/salla-comment-factors.entry.js +1 -1
  147. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  148. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  149. package/dist/esm/salla-contacts.entry.js +1 -1
  150. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  151. package/dist/esm/salla-count-down_2.entry.js +1 -1
  152. package/dist/esm/salla-custom-fields.entry.js +1 -1
  153. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  154. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  155. package/dist/esm/salla-filters-widget.entry.js +1 -1
  156. package/dist/esm/salla-filters.entry.js +1 -1
  157. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  158. package/dist/esm/salla-gifting.entry.js +1 -1
  159. package/dist/esm/salla-hook.entry.js +1 -1
  160. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  161. package/dist/esm/salla-installment.entry.js +1 -1
  162. package/dist/esm/salla-list-tile.entry.js +1 -1
  163. package/dist/esm/salla-localization-modal.entry.js +1 -1
  164. package/dist/esm/salla-login-modal.entry.js +1 -1
  165. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  166. package/dist/esm/salla-loyalty-exchange-product-card_5.entry.js +3 -3
  167. package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
  168. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  169. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  170. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  171. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  172. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  173. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  174. package/dist/esm/salla-loyalty.entry.js +1 -1
  175. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  176. package/dist/esm/salla-map_2.entry.js +1 -1
  177. package/dist/esm/salla-menu.entry.js +1 -1
  178. package/dist/esm/salla-metadata.entry.js +1 -1
  179. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  180. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  181. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  182. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  183. package/dist/esm/salla-notification-item.entry.js +1 -1
  184. package/dist/esm/salla-notifications.entry.js +1 -1
  185. package/dist/esm/salla-offer-modal.entry.js +1 -1
  186. package/dist/esm/salla-offer.entry.js +1 -1
  187. package/dist/esm/salla-order-branch.entry.js +1 -1
  188. package/dist/esm/salla-order-cancel.entry.js +1 -1
  189. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  190. package/dist/esm/salla-order-details-options.entry.js +1 -1
  191. package/dist/esm/salla-order-details.entry.js +1 -1
  192. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  193. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  194. package/dist/esm/salla-order-edit.entry.js +1 -1
  195. package/dist/esm/salla-order-summary.entry.js +1 -1
  196. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  197. package/dist/esm/salla-orders.entry.js +1 -1
  198. package/dist/esm/salla-payments.entry.js +1 -1
  199. package/dist/esm/salla-placeholder.entry.js +1 -1
  200. package/dist/esm/salla-price-range.entry.js +1 -1
  201. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  202. package/dist/esm/salla-product-card_2.entry.js +36 -6
  203. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  204. package/dist/esm/salla-products-list.entry.js +26 -3
  205. package/dist/esm/salla-quick-order.entry.js +1 -1
  206. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  207. package/dist/esm/salla-rating-modal.entry.js +1 -1
  208. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  209. package/dist/esm/salla-scopes.entry.js +1 -1
  210. package/dist/esm/salla-search.entry.js +1 -1
  211. package/dist/esm/salla-skeleton.entry.js +1 -1
  212. package/dist/esm/salla-slider.entry.js +1 -1
  213. package/dist/esm/salla-social-share.entry.js +7 -4
  214. package/dist/esm/salla-social.entry.js +1 -1
  215. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  216. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  217. package/dist/esm/salla-tooltip.entry.js +1 -1
  218. package/dist/esm/salla-trust-badges.entry.js +1 -13
  219. package/dist/esm/salla-user-menu.entry.js +1 -1
  220. package/dist/esm/salla-user-profile.entry.js +1 -1
  221. package/dist/esm/salla-user-settings.entry.js +1 -1
  222. package/dist/esm/salla-verify.entry.js +1 -1
  223. package/dist/esm/salla-wallet.entry.js +1 -1
  224. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  225. package/dist/esm/{tracked-promise-DzdT8znx.js → tracked-promise-8IpXGZrn.js} +1 -1
  226. package/dist/esm/twilight.js +3 -3
  227. package/dist/esm/{vanilla-picker-DzKX2qA5.js → vanilla-picker-zErRrQCU.js} +1 -1
  228. package/dist/twilight/{p-113e7032.entry.js → p-0966f8f7.entry.js} +1 -1
  229. package/dist/twilight/{p-74c84c67.entry.js → p-0a5abade.entry.js} +1 -1
  230. package/dist/twilight/{p-05f01920.entry.js → p-0f85f426.entry.js} +1 -1
  231. package/dist/twilight/{p-d76f186c.entry.js → p-10813f86.entry.js} +1 -1
  232. package/dist/twilight/{p-d66af968.entry.js → p-12028092.entry.js} +1 -1
  233. package/dist/twilight/{p-8f982a91.entry.js → p-122e4c59.entry.js} +1 -1
  234. package/dist/twilight/{p-384febda.entry.js → p-13ecf9e4.entry.js} +1 -1
  235. package/dist/twilight/{p-da441555.entry.js → p-15dc5b21.entry.js} +1 -1
  236. package/dist/twilight/{p-7e4fea4b.entry.js → p-163f69e6.entry.js} +1 -1
  237. package/dist/twilight/{p-f3f0ee9b.entry.js → p-1866f9c3.entry.js} +1 -1
  238. package/dist/twilight/{p-4317eeb9.entry.js → p-187ded90.entry.js} +1 -1
  239. package/dist/twilight/{p-5201eb4f.entry.js → p-19167e8e.entry.js} +1 -1
  240. package/dist/twilight/{p-8c6730a9.entry.js → p-1b5a5f72.entry.js} +1 -1
  241. package/dist/twilight/{p-1df6827d.entry.js → p-1d457356.entry.js} +1 -1
  242. package/dist/twilight/{p-c4f379a8.entry.js → p-1dec09dc.entry.js} +1 -1
  243. package/dist/twilight/{p-804cfed5.entry.js → p-1ed9218d.entry.js} +1 -1
  244. package/dist/twilight/{p-6d970be9.entry.js → p-25c71303.entry.js} +1 -1
  245. package/dist/twilight/p-2bcc8c86.entry.js +4 -0
  246. package/dist/twilight/{p-62abd25a.entry.js → p-2bd92b4c.entry.js} +1 -1
  247. package/dist/twilight/{p-ed698e64.entry.js → p-2bfb0fb2.entry.js} +1 -1
  248. package/dist/twilight/{p-1c03607d.entry.js → p-2ff6b717.entry.js} +1 -1
  249. package/dist/twilight/{p-d6d8d12e.entry.js → p-3047dfdc.entry.js} +1 -1
  250. package/dist/twilight/{p-3350c805.entry.js → p-30d838f8.entry.js} +1 -1
  251. package/dist/twilight/{p-0a3e9f94.entry.js → p-312b9913.entry.js} +1 -1
  252. package/dist/twilight/{p-1bec8b0a.entry.js → p-32115a7c.entry.js} +1 -1
  253. package/dist/twilight/{p-2643952e.entry.js → p-361f2c67.entry.js} +1 -1
  254. package/dist/twilight/{p-37310557.entry.js → p-371fa310.entry.js} +1 -1
  255. package/dist/twilight/{p-9807935d.entry.js → p-37b787f8.entry.js} +1 -1
  256. package/dist/twilight/{p-03505fdd.entry.js → p-3b392d81.entry.js} +1 -1
  257. package/dist/twilight/{p-b2789ab4.entry.js → p-4167598b.entry.js} +1 -1
  258. package/dist/twilight/{p-e1842675.entry.js → p-43969215.entry.js} +1 -1
  259. package/dist/twilight/{p-fa7c213b.entry.js → p-43ec1827.entry.js} +1 -1
  260. package/dist/twilight/{p-b6322bba.entry.js → p-43fe8a0a.entry.js} +1 -1
  261. package/dist/twilight/{p-e69c2c35.entry.js → p-4913d6ba.entry.js} +1 -1
  262. package/dist/twilight/{p-fef39c48.entry.js → p-4938bf81.entry.js} +1 -1
  263. package/dist/twilight/{p-48cf6b68.entry.js → p-4a817d85.entry.js} +1 -1
  264. package/dist/twilight/{p-a476f7b2.entry.js → p-4ca2825a.entry.js} +1 -1
  265. package/dist/twilight/{p-30d6436e.entry.js → p-4cebda70.entry.js} +1 -1
  266. package/dist/twilight/p-4f959ae5.entry.js +4 -0
  267. package/dist/twilight/p-4fd756c5.entry.js +4 -0
  268. package/dist/twilight/{p-3d44e1e9.entry.js → p-5252b5a2.entry.js} +1 -1
  269. package/dist/twilight/{p-516e9179.entry.js → p-529997bc.entry.js} +1 -1
  270. package/dist/twilight/{p-33756c72.entry.js → p-53550e95.entry.js} +1 -1
  271. package/dist/twilight/{p-8fcc4bb0.entry.js → p-5cd30322.entry.js} +1 -1
  272. package/dist/twilight/{p-effae25c.entry.js → p-62ad47dd.entry.js} +1 -1
  273. package/dist/twilight/{p-518b6032.entry.js → p-66ed854d.entry.js} +1 -1
  274. package/dist/twilight/{p-bbb48f58.entry.js → p-686449c6.entry.js} +1 -1
  275. package/dist/twilight/{p-9eade28d.entry.js → p-6c4db562.entry.js} +1 -1
  276. package/dist/twilight/{p-62a86556.entry.js → p-6e277fa5.entry.js} +1 -1
  277. package/dist/twilight/{p-758894b7.entry.js → p-6eaca1e9.entry.js} +1 -1
  278. package/dist/twilight/{p-ad8eda9d.entry.js → p-70343fbe.entry.js} +1 -1
  279. package/dist/twilight/{p-2c7e18c5.entry.js → p-7e5a9c05.entry.js} +1 -1
  280. package/dist/twilight/{p-0959b41c.entry.js → p-7f216092.entry.js} +1 -1
  281. package/dist/twilight/{p-fc18bd83.entry.js → p-835e1720.entry.js} +1 -1
  282. package/dist/twilight/{p-e7b03751.entry.js → p-84a2e146.entry.js} +1 -1
  283. package/dist/twilight/{p-734dfd28.entry.js → p-8ce3c79b.entry.js} +1 -1
  284. package/dist/twilight/{p-017a1a77.entry.js → p-8db68f3d.entry.js} +1 -1
  285. package/dist/twilight/{p-86df9649.entry.js → p-990d73e5.entry.js} +1 -1
  286. package/dist/twilight/{p-09cd7f70.entry.js → p-9af863dd.entry.js} +1 -1
  287. package/dist/twilight/{p-193cccd3.entry.js → p-9c4551d3.entry.js} +1 -1
  288. package/dist/twilight/{p-8c03c0d2.entry.js → p-9fde4f40.entry.js} +1 -1
  289. package/dist/twilight/{p-BDLhoSt2.js → p-BhhfXcnE.js} +1 -1
  290. package/dist/twilight/{p--UKCKF-7.js → p-Bhltl2or.js} +1 -1
  291. package/dist/twilight/{p-CCH8joDb.js → p-BwKXOq15.js} +1 -1
  292. package/dist/twilight/{p-D2_JplO8.js → p-BysanGjD.js} +1 -1
  293. package/dist/twilight/p-BzXJjH3_.js +5 -0
  294. package/dist/twilight/p-CEF833Pb.js +9 -0
  295. package/dist/twilight/{p-CGahPnsw.js → p-CjEMgJ1i.js} +1 -1
  296. package/dist/twilight/{p-COwpiJQt.js → p-E55oFDS1.js} +1 -1
  297. package/dist/twilight/{p-Da0xrmo3.js → p-H-aq6XJu.js} +1 -1
  298. package/dist/twilight/{p-CxQVHI3A.js → p-JRV6DyMs.js} +1 -1
  299. package/dist/twilight/{p-BTVc7r-Z.js → p-NOKgwy8A.js} +1 -1
  300. package/dist/twilight/p-a301a082.entry.js +4 -0
  301. package/dist/twilight/{p-925af19b.entry.js → p-a3067dbe.entry.js} +1 -1
  302. package/dist/twilight/{p-b847e008.entry.js → p-a5d2bc90.entry.js} +1 -1
  303. package/dist/twilight/{p-b25fd5f0.entry.js → p-aa240b44.entry.js} +1 -1
  304. package/dist/twilight/{p-52c0a1b5.entry.js → p-aaa2e8e1.entry.js} +1 -1
  305. package/dist/twilight/{p-3791a8d0.entry.js → p-ae947a2b.entry.js} +1 -1
  306. package/dist/twilight/{p-abd00b41.entry.js → p-b27714a1.entry.js} +1 -1
  307. package/dist/twilight/{p-25f8d253.entry.js → p-b36ef4ee.entry.js} +1 -1
  308. package/dist/twilight/{p-27252d50.entry.js → p-b3f87110.entry.js} +1 -1
  309. package/dist/twilight/{p-41ac2dc0.entry.js → p-b45977fc.entry.js} +1 -1
  310. package/dist/twilight/{p-42c57314.entry.js → p-b86386d2.entry.js} +1 -1
  311. package/dist/twilight/{p-bec996fb.entry.js → p-b88d695e.entry.js} +1 -1
  312. package/dist/twilight/{p-d53f9574.entry.js → p-ba5c7e3e.entry.js} +1 -1
  313. package/dist/twilight/{p-8b9c8776.entry.js → p-bbffb514.entry.js} +1 -1
  314. package/dist/twilight/{p-8ddfe69e.entry.js → p-c2acc36a.entry.js} +1 -1
  315. package/dist/twilight/{p-8d199be5.entry.js → p-c4d46f4b.entry.js} +1 -1
  316. package/dist/twilight/{p-d6fbb91c.entry.js → p-c99eb3de.entry.js} +1 -1
  317. package/dist/twilight/{p-6c3b50e2.entry.js → p-ca53abe7.entry.js} +1 -1
  318. package/dist/twilight/{p-7edc5c88.entry.js → p-cb38bb75.entry.js} +1 -1
  319. package/dist/twilight/{p-12c571d7.entry.js → p-cb4229d4.entry.js} +1 -1
  320. package/dist/twilight/{p-725eeeed.entry.js → p-d1d21f23.entry.js} +1 -1
  321. package/dist/twilight/{p-858f485b.entry.js → p-d2bbfd4f.entry.js} +1 -1
  322. package/dist/twilight/{p-6681db6a.entry.js → p-d6af92b7.entry.js} +1 -1
  323. package/dist/twilight/{p-47a7f1a5.entry.js → p-e08df4d8.entry.js} +1 -1
  324. package/dist/twilight/{p-557609aa.entry.js → p-e74e02fa.entry.js} +1 -1
  325. package/dist/twilight/{p-de07b85c.entry.js → p-ed37ffa6.entry.js} +1 -1
  326. package/dist/twilight/{p-6ba99048.entry.js → p-eef23f94.entry.js} +1 -1
  327. package/dist/twilight/{p-296df4c6.entry.js → p-eefef4f2.entry.js} +1 -1
  328. package/dist/twilight/{p-3ccbdb7a.entry.js → p-f3becfdd.entry.js} +1 -1
  329. package/dist/twilight/{p-69758093.entry.js → p-f67fea81.entry.js} +1 -1
  330. package/dist/twilight/{p-27acb426.entry.js → p-f7787aa5.entry.js} +1 -1
  331. package/dist/twilight/{p-4d76cd8f.entry.js → p-fb03f79e.entry.js} +1 -1
  332. package/dist/twilight/{p-e78fe137.entry.js → p-fb21f5ee.entry.js} +1 -1
  333. package/dist/twilight/{p-Dv2SelMn.js → p-mtDZC_bP.js} +2 -2
  334. package/dist/twilight/twilight.esm.js +1 -1
  335. package/dist/types/components/salla-cart-coupons/salla-cart-coupons.d.ts +5 -0
  336. package/dist/types/components/salla-products-list/salla-products-list.d.ts +13 -0
  337. package/dist/types/components/salla-products-slider/salla-products-slider.d.ts +13 -0
  338. package/dist/types/components/salla-social-share/salla-social-share.d.ts +1 -0
  339. package/dist/types/components/salla-trust-badges/salla-trust-badges.d.ts +0 -2
  340. package/package.json +5 -5
  341. package/dist/twilight/p-0950cbbb.entry.js +0 -4
  342. package/dist/twilight/p-19388aef.entry.js +0 -4
  343. package/dist/twilight/p-21870458.entry.js +0 -4
  344. package/dist/twilight/p-5958986c.entry.js +0 -4
  345. package/dist/twilight/p-BEjZOd--.js +0 -5
  346. package/dist/twilight/p-Dw58JgkP.js +0 -9
@@ -13,6 +13,8 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
13
13
  this.__registerHost();
14
14
  this.availableCoupons = [];
15
15
  this.cartTotal = 0;
16
+ /** False until a sub_total is read from storage or the server — guards isEligible. */
17
+ this.cartTotalReady = false;
16
18
  this.currentCoupon = '';
17
19
  this.couponInputValue = '';
18
20
  this.couponError = '';
@@ -31,7 +33,7 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
31
33
  this.cartUpdatedHandler = (cartData) => {
32
34
  // cart::updated carries the server-side cart. The multi-coupon flag comes from store
33
35
  // config (set once in componentWillLoad), so only refresh total + chips here.
34
- this.cartTotal = cartData?.summary?.sub_total ?? cartData?.sub_total ?? cartData?.total ?? this.cartTotal;
36
+ this.syncCartTotal(cartData);
35
37
  // Re-sync applied coupon state from the payload — mirroring refreshFromServer's guard:
36
38
  // - Multi-coupon: only a real `coupons` array re-seeds the chips, so a summary-only
37
39
  // cart::updated can't shrink them (add/remove refreshes the chips from the server).
@@ -158,14 +160,12 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
158
160
  }
159
161
  }
160
162
  async loadCartTotal() {
161
- // Multi-coupon needs the SERVER-authoritative applied list (localStorage can be stale, e.g.
162
- // coupons removed on the checkout page). Single-coupon (flag off the default, and the hot
163
- // path at billions req/day) is fully seeded synchronously by seedFromStorage() with NO network
164
- // call, exactly as the original implementation read from storage so skip the
165
- // salla.cart.details() round-trip for it.
166
- if (!this.multiCoupon) {
167
- return;
168
- }
163
+ // seedFromStorage() already gave the first paint an instant (possibly stale) total, so a
164
+ // minimum-amount coupon never flashes "غير متوافق". We STILL reconcile against the server
165
+ // here for single- and multi-coupon alike so a stale cached sub_total (cart changed in
166
+ // another tab or a server-side flow) can't keep a coupon wrongly (in)compatible until the
167
+ // next cart event. cart-coupons only mounts on the cart page, so this is one request per
168
+ // cart view, not a hot-path cost.
169
169
  await this.refreshFromServer();
170
170
  }
171
171
  /**
@@ -188,6 +188,22 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
188
188
  if (stored && typeof stored === 'object' && 'coupon' in stored) {
189
189
  this.applyCart(stored);
190
190
  }
191
+ this.seedTotalsFromSummaryStorage();
192
+ }
193
+ /** SDK caches summary fields separately from the cart object (see cart.js updated()). */
194
+ seedTotalsFromSummaryStorage() {
195
+ const summary = salla.storage.get('cart.summary');
196
+ if (summary && typeof summary === 'object' && summary.sub_total != null) {
197
+ this.cartTotal = Number(summary.sub_total);
198
+ this.cartTotalReady = true;
199
+ }
200
+ }
201
+ syncCartTotal(cart) {
202
+ const subTotal = cart?.summary?.sub_total ?? cart?.sub_total ?? cart?.total;
203
+ if (subTotal != null) {
204
+ this.cartTotal = Number(subTotal);
205
+ this.cartTotalReady = true;
206
+ }
191
207
  }
192
208
  /**
193
209
  * Fetch the cart fresh from the server (salla.cart.details -> CartPresenter::forApi) and
@@ -212,10 +228,11 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
212
228
  if (stored) {
213
229
  this.applyCart(stored);
214
230
  }
231
+ this.seedTotalsFromSummaryStorage();
215
232
  }
216
233
  /** Apply an authoritative cart object: total + applied chips (flag comes from store config). */
217
234
  applyCart(cart) {
218
- this.cartTotal = cart?.summary?.sub_total ?? cart?.sub_total ?? this.cartTotal;
235
+ this.syncCartTotal(cart);
219
236
  this.syncAppliedFromCart(cart);
220
237
  }
221
238
  /**
@@ -398,10 +415,13 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
398
415
  }
399
416
  }
400
417
  isEligible(coupon) {
401
- if (coupon.minimum_amount && this.cartTotal < parseFloat(coupon.minimum_amount.amount)) {
402
- return false; // Coupon is not eligible due to minimum amount requirement
418
+ // Until the cart sub_total is known, cartTotal is still the default 0 — treat the coupon as
419
+ // eligible so it doesn't flash "غير متوافق" on first paint and flip to compatible after the
420
+ // total loads (SP-21434).
421
+ if (!this.cartTotalReady || !coupon.minimum_amount) {
422
+ return true;
403
423
  }
404
- return true;
424
+ return this.cartTotal >= parseFloat(coupon.minimum_amount.amount);
405
425
  }
406
426
  renderCouponCard(coupon) {
407
427
  const isEligible = this.isEligible(coupon);
@@ -411,7 +431,7 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
411
431
  : `${salla.lang.get('pages.cart.expires_after')} ${coupon.remaining_days} ${salla.lang.get('pages.cart.day')}`)), coupon.minimum_amount && parseFloat(coupon.minimum_amount.amount) > 0 && (h("div", { class: "s-cart-coupons-minimum" }, salla.lang.get('pages.cart.minimum'), " ", h("span", { innerHTML: salla.money(coupon.minimum_amount.amount, coupon.minimum_amount.currency) })))), h("div", { class: "s-cart-coupons-action" }, isEligible ? salla.lang.get('pages.cart.save_coupon') : salla.lang.get('pages.cart.coupon_not_compatible'))))));
412
432
  }
413
433
  render() {
414
- return (h(Host, { key: '30a1ee00e7ec27d12012823347cbcf3c477834e5' }, h("div", { key: '6f84298e9ebd6c50c84fb9a3736d734996e39c33', class: "s-cart-coupons-wrapper" }, h("div", { key: 'b95a1c2b29d2fed54fdf143eac8e37add062668b', class: "s-cart-coupons-input-section" }, h("label", { key: 'e6711fae70db31f8a5987cb58f0488e974394e1c', htmlFor: "coupon-input", class: "s-cart-coupons-coupon-label" }, salla.lang.get('pages.cart.have_coupon')), h("div", { key: '824b806c6aa40fb039f659fe81f6cb7686f46b10', class: "s-cart-coupons-coupon-input-container" }, this.multiCoupon ? [
434
+ return (h(Host, { key: 'e3bed8f1f2019db5e1c5ca4280696933913e3081' }, h("div", { key: '9c6a7c383394f9bd19107db9b8e76fd9129648e3', class: "s-cart-coupons-wrapper" }, h("div", { key: '1e7f74969e709062c36aa19ff4ec27bde0bb10df', class: "s-cart-coupons-input-section" }, h("label", { key: 'f3bc1f4ffa9c8a64bee8af273597d6f8ff1f8fd0', htmlFor: "coupon-input", class: "s-cart-coupons-coupon-label" }, salla.lang.get('pages.cart.have_coupon')), h("div", { key: '7abbdbd41cf6e65b6c08928bb10a68bfb2677d85', class: "s-cart-coupons-coupon-input-container" }, this.multiCoupon ? [
415
435
  // Multi-coupon: input stays active to append more codes; applied coupons render
416
436
  // as removable chips below.
417
437
  h("input", { type: "text", id: "coupon-input", name: "coupon", class: `form-input ${this.couponError ? 's-coupon-input-error' : ''}`, placeholder: salla.lang.get('pages.cart.coupon_placeholder'), value: this.couponInputValue, disabled: this.isApplying, onInput: this.onInput, onKeyUp: this.onKeyUp, "aria-label": salla.lang.get('pages.cart.apply_coupon'), key: "coupon-input" }),
@@ -422,13 +442,14 @@ const SallaCartCoupons$1 = /*@__PURE__*/ proxyCustomElement(class SallaCartCoupo
422
442
  // a new code can only be entered after removing. Reuses the existing master classes.
423
443
  h("input", { type: "text", id: "coupon-input", name: "coupon", class: `form-input ${this.couponError ? 's-coupon-input-error' : ''}`, placeholder: salla.lang.get('pages.cart.coupon_placeholder'), value: this.couponInputValue, disabled: !!this.currentCoupon || this.isApplying, onInput: this.onInput, onKeyUp: this.onKeyUp, "aria-label": salla.lang.get('pages.cart.apply_coupon'), key: "coupon-input" }),
424
444
  h("salla-button", { ref: el => this.couponButtonRef = el, class: `s-cart-coupons-coupon-button ${this.currentCoupon ? 's-cart-coupons-coupon-button-remove' : 's-cart-coupons-coupon-button-apply'}`, color: this.currentCoupon ? 'danger' : 'primary', loading: this.isApplying, "loader-position": "center", onClick: () => this.handleCouponButtonClick(), key: "apply-button" }, this.currentCoupon ? (h("i", { class: "sicon-cancel" })) : (h("span", null, salla.lang.get('pages.cart.save_coupon')))),
425
- ]), this.couponError && (h("span", { key: '0f3b36e8192777fb7e7d0a065fe720c009065f9d', class: "s-cart-coupons-coupon-error" }, this.couponError)), this.multiCoupon && this.appliedCoupons.length > 0 && (h("div", { key: 'b680e30bd1ae49db5e304440431cdc89c6e5d051', class: "s-cart-coupons-applied-list" }, this.appliedCoupons.map(code => (h("div", { class: "s-cart-coupons-applied-item", key: code }, h("span", { class: "s-cart-coupons-applied-code" }, code), h("button", { type: "button", class: "s-cart-coupons-applied-remove", "aria-label": `${salla.lang.get('pages.cart.delete')} ${code}`, disabled: this.isApplying, onClick: () => this.removeCoupon(code) }, h("i", { class: "sicon-cancel" })))))))), this.availableCoupons && this.availableCoupons.length > 0 && (h("salla-slider", { key: 'a2d312dbf6e997939f54c7867ef0d98091bbde4a', type: "carousel", showControls: false, class: "s-cart-coupons-slider" }, h("div", { key: 'b474dcbdeabc26bef5ecba94dd78ef72a60950df', slot: "items" }, this.availableCoupons.map(coupon => this.renderCouponCard(coupon))))))));
445
+ ]), this.couponError && (h("span", { key: '6c259fbca7a2a3c2ece3d4c335707c833be5f8d6', class: "s-cart-coupons-coupon-error" }, this.couponError)), this.multiCoupon && this.appliedCoupons.length > 0 && (h("div", { key: '87335fd875279e97fc7a02c9f3519af51a953a7b', class: "s-cart-coupons-applied-list" }, this.appliedCoupons.map(code => (h("div", { class: "s-cart-coupons-applied-item", key: code }, h("span", { class: "s-cart-coupons-applied-code" }, code), h("button", { type: "button", class: "s-cart-coupons-applied-remove", "aria-label": `${salla.lang.get('pages.cart.delete')} ${code}`, disabled: this.isApplying, onClick: () => this.removeCoupon(code) }, h("i", { class: "sicon-cancel" })))))))), this.availableCoupons && this.availableCoupons.length > 0 && (h("salla-slider", { key: '86c665d3135fa8bc393c4b7ad9daca3ce87bed50', type: "carousel", showControls: false, class: "s-cart-coupons-slider" }, h("div", { key: '45ddccd7e0c5d38e9b98f42862a6d64f6040c942', slot: "items" }, this.availableCoupons.map(coupon => this.renderCouponCard(coupon))))))));
426
446
  }
427
447
  get host() { return this; }
428
448
  static get style() { return sallaCartCouponsCss; }
429
449
  }, [0, "salla-cart-coupons", {
430
450
  "availableCoupons": [32],
431
451
  "cartTotal": [32],
452
+ "cartTotalReady": [32],
432
453
  "currentCoupon": [32],
433
454
  "couponInputValue": [32],
434
455
  "couponError": [32],
@@ -1085,12 +1085,35 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
1085
1085
  this.infiniteScroll.option({ scrollThreshold: false, loadOnScroll: false });
1086
1086
  this.status.querySelector('.s-infinite-scroll-last').classList.remove('s-hidden');
1087
1087
  }
1088
+ let items = await this.applyBeforeAppendItems(response.data);
1088
1089
  const productCardsView = [];
1089
- for (let i = 0; i < response.data.length; i++) {
1090
- productCardsView.push(this.getItemHTML(response.data?.[i]));
1090
+ for (let i = 0; i < items.length; i++) {
1091
+ productCardsView.push(this.getItemHTML(items[i]));
1091
1092
  }
1092
1093
  return productCardsView;
1093
1094
  }
1095
+ /**
1096
+ * Allows bundles to modify or replace products before they are appended.
1097
+ *
1098
+ * @example
1099
+ * salla.hooks.registerHook(
1100
+ * 'salla-products-list',
1101
+ * 'beforeAppendItems',
1102
+ * async (ctx) => {
1103
+ * ctx.items = ctx.items.filter((item) => item.is_available);
1104
+ * },
1105
+ * );
1106
+ */
1107
+ async applyBeforeAppendItems(items) {
1108
+ const ctx = { component: this, items };
1109
+ try {
1110
+ await salla.hooks.call('salla-products-list', 'beforeAppendItems', ctx);
1111
+ return Array.isArray(ctx.items) ? ctx.items : items;
1112
+ }
1113
+ catch {
1114
+ return items;
1115
+ }
1116
+ }
1094
1117
  get host() { return this; }
1095
1118
  static get watchers() { return {
1096
1119
  "selectable": ["onSelectableChanged"]
@@ -44,7 +44,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
44
44
  }
45
45
  componentWillLoad() {
46
46
  return salla.onReady()
47
- .then(() => {
47
+ .then(async () => {
48
48
  //TODO:: check why `this.includes` not working!!
49
49
  this.includes = Helper.parseJson(this.includes || this.host.getAttribute('includes'));
50
50
  if (!Array.isArray(this.includes)) {
@@ -58,7 +58,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
58
58
  }
59
59
  this.hasCustomComponent = !!customElements.get(this.productCardComponent);
60
60
  if (this.source === 'json') {
61
- this.productsData = this.getSourceValue();
61
+ this.productsData = await this.applyBeforeAppendItems(this.getSourceValue());
62
62
  this.isReady = true;
63
63
  return;
64
64
  }
@@ -66,18 +66,25 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
66
66
  this.isReady = false;
67
67
  return;
68
68
  }
69
+ if (this.getSource() === 'related' &&
70
+ salla.config.get('store.settings.product.related_products_enabled') &&
71
+ salla.config.get('store.settings.product.product-recommendation-type') === 'random' &&
72
+ salla.config.get('store.features')?.includes('ai-driven-personalized-product')) {
73
+ this.sourceValue = await salla.recommendations.similarProducts(this.sourceValue, { limit: this.limit || 12 }).extractProductIds();
74
+ this.source = 'selected';
75
+ }
69
76
  return salla.api.withoutNotifier(() => salla.product.api.fetch({
70
77
  source: Helper.getApiSource(this.getSource()),
71
78
  source_value: this.getSourceValue(),
72
79
  limit: this.limit
73
80
  }))
74
81
  .then(response => Helper.injectExtraFieldsToResponse(response))
75
- .then(response => {
76
- this.productsData = response.data;
82
+ .then(async (response) => {
83
+ this.productsData = await this.applyBeforeAppendItems(response.data);
77
84
  this.isReady = true;
78
85
  response.source = this.getSource();
79
86
  response.sourceValue = this.getSourceValue();
80
- salla.event.emit('salla-products-slider::products.fetched', response.data);
87
+ salla.event.emit('salla-products-slider::products.fetched', this.productsData);
81
88
  });
82
89
  });
83
90
  }
@@ -137,6 +144,29 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
137
144
  getSourceValue() {
138
145
  return Helper.getProductsSourceValue(this.source, this.sourceValue);
139
146
  }
147
+ /**
148
+ * Allows bundles to modify or replace products before they are rendered.
149
+ *
150
+ * @example
151
+ * salla.hooks.registerHook(
152
+ * 'salla-products-slider',
153
+ * 'beforeAppendItems',
154
+ * async (ctx) => {
155
+ * ctx.items = ctx.items.filter((item) => item.is_available);
156
+ * },
157
+ * );
158
+ */
159
+ async applyBeforeAppendItems(items) {
160
+ const originalItems = Array.isArray(items) ? items : [];
161
+ const ctx = { component: this, items: originalItems };
162
+ try {
163
+ await salla.hooks.call('salla-products-slider', 'beforeAppendItems', ctx);
164
+ return Array.isArray(ctx.items) ? ctx.items : originalItems;
165
+ }
166
+ catch {
167
+ return originalItems;
168
+ }
169
+ }
140
170
  render() {
141
171
  if (!this.canRender()) {
142
172
  return;
@@ -110,7 +110,7 @@ const SallaSocialShare = /*@__PURE__*/ proxyCustomElement(class SallaSocialShare
110
110
  if (this.host.hasAttribute('aria-label')) {
111
111
  this.host.removeAttribute('aria-label');
112
112
  }
113
- if (salla.mobile?.isEnabled?.() || document.getElementById('a2a-script')) {
113
+ if (this.supportsNativeShare() || document.getElementById('a2a-script')) {
114
114
  return;
115
115
  }
116
116
  const script = document.createElement('script');
@@ -239,8 +239,11 @@ const SallaSocialShare = /*@__PURE__*/ proxyCustomElement(class SallaSocialShare
239
239
  this.deferOutsideClickGuard();
240
240
  return this.open();
241
241
  }
242
+ supportsNativeShare() {
243
+ return !!salla.mobile?.isSpaWebview?.();
244
+ }
242
245
  handleShareClick() {
243
- if (salla.mobile?.isEnabled?.()) {
246
+ if (this.supportsNativeShare()) {
244
247
  salla.event.dispatch('mobile::share.open', { url: this.getShareUrl() });
245
248
  return;
246
249
  }
@@ -380,7 +383,7 @@ const SallaSocialShare = /*@__PURE__*/ proxyCustomElement(class SallaSocialShare
380
383
  })));
381
384
  }
382
385
  render() {
383
- return (h("div", { key: 'a96314583de0fd531a9cbc1298efd3c367dae23d', class: "s-social-share-wrapper" }, h("slot", { key: '9f8a1789871e46f02e06cf29a52404a5f01b1e5f', name: "widget" }, h("salla-button", { key: '22c00cfa4d3ca197d4016efcb6e1c49e54b923cf', "aria-label": "Share", onClick: () => this.handleShareClick(), class: "s-social-share-btn", shape: "icon", fill: "outline", color: "light" }, h("span", { key: '4e030b48ba5e673e66ac135f90e6b395c28df403', innerHTML: this.opened ? Cancel : ShareAlt }))), this.mode === 'modal' ? this.renderModal() : this.renderPopupList()));
386
+ return (h("div", { key: 'cd2d10a50c7d07fb261471e7ca8e81891bc489e9', class: "s-social-share-wrapper" }, h("slot", { key: '94627cdb3aa11d3844c984d8890b13dc7e1f0e3c', name: "widget" }, h("salla-button", { key: '3b5ea25966484669a935e62ccbc3d383078337d8', "aria-label": "Share", onClick: () => this.handleShareClick(), class: "s-social-share-btn", shape: "icon", fill: "outline", color: "light" }, h("span", { key: '3de3ea0b6f4843a24eeab1f7d6f0be3c8f85de41', innerHTML: this.opened ? Cancel : ShareAlt }))), this.mode === 'modal' ? this.renderModal() : this.renderPopupList()));
384
387
  }
385
388
  get host() { return this; }
386
389
  static get watchers() { return {
@@ -40,7 +40,6 @@ const SallaTrustBadges$1 = /*@__PURE__*/ proxyCustomElement(class SallaTrustBadg
40
40
  el.style.setProperty('content-visibility', 'visible', 'important');
41
41
  }
42
42
  }
43
- this.logHidePreventedOnce(badgeData.type);
44
43
  };
45
44
  this.runEnforce = () => {
46
45
  this.clearEnforceTimers();
@@ -120,16 +119,6 @@ const SallaTrustBadges$1 = /*@__PURE__*/ proxyCustomElement(class SallaTrustBadg
120
119
  }
121
120
  return true;
122
121
  }
123
- // Log a prevented hide attempt once per device; never let telemetry block the repair.
124
- logHidePreventedOnce(type) {
125
- try {
126
- if (salla.storage.get(SallaTrustBadges.HIDE_PREVENTED_LOGGED_KEY))
127
- return;
128
- salla.analytics?.log('salla::trust-badges.hide-prevented', { type });
129
- salla.storage.set(SallaTrustBadges.HIDE_PREVENTED_LOGGED_KEY, true);
130
- }
131
- catch { }
132
- }
133
122
  clearEnforceTimers() {
134
123
  if (this.enforceTimer !== undefined) {
135
124
  clearTimeout(this.enforceTimer);
@@ -249,7 +238,6 @@ const SallaTrustBadges$1 = /*@__PURE__*/ proxyCustomElement(class SallaTrustBadg
249
238
  SallaTrustBadges$1.OPACITY_THRESHOLD = 0.1;
250
239
  SallaTrustBadges$1.ENFORCE_DEBOUNCE_MS = 1500;
251
240
  SallaTrustBadges$1.ENFORCE_MAX_WAIT_MS = 3000;
252
- SallaTrustBadges$1.HIDE_PREVENTED_LOGGED_KEY = 'salla::trust-badges-hide-prevented-logged';
253
241
  function defineCustomElement$1() {
254
242
  if (typeof customElements === "undefined") {
255
243
  return;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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-BEjZOd--.js';
4
+ import { d as getDefaultExportFromCjs } from './index-BzXJjH3_.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 { h } from './index-BEjZOd--.js';
4
+ import { h } from './index-BzXJjH3_.js';
5
5
 
6
6
  function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
7
7
  return number < multipleOf ? number : number - (number % multipleOf);