@salla.sa/twilight-components 2.14.506 → 2.14.508

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 (342) hide show
  1. package/dist/cjs/catalog-recommendations-dtK9Dlfw.js +97 -0
  2. package/dist/cjs/{filepond-CQFqhIgb.js → filepond-C1mPvQ8T.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-poster-CTDc0IDu.js → filepond-plugin-file-poster-B-pZ8apM.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-size-DeXqfYrx.js → filepond-plugin-file-validate-size-CsE7s9Zn.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-type-DoefblL8.js → filepond-plugin-file-validate-type-pm3Q3QSJ.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-edit-C99AhKIk.js → filepond-plugin-image-edit-DLXp4kE0.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-exif-orientation-BTZtq0LO.js → filepond-plugin-image-exif-orientation-hH92QKy-.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-preview-CU543Avx.js → filepond-plugin-image-preview-CVbeEopx.js} +1 -1
  9. package/dist/cjs/{functions-Brh5XeCA.js → functions-CRoHuI_r.js} +1 -1
  10. package/dist/cjs/{index-9k1NC_jh.js → index-Bz-aFSt9.js} +1 -1
  11. package/dist/cjs/{index-Bo4N7lyD.js → index-hhUDuquL.js} +2 -2
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +2 -2
  16. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-basket-gap.cjs.entry.js +2 -2
  22. package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
  23. package/dist/cjs/salla-bullet-delivery_2.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_8.cjs.entry.js +1 -1
  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 +1 -1
  38. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  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 +1 -1
  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.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-loyalty-exchange-product-card_5.cjs.entry.js +3 -3
  49. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
  50. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  51. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  55. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  56. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social-share.cjs.entry.js +10 -3
  96. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wallet.cjs.entry.js +20 -5
  106. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  107. package/dist/cjs/{tracked-promise-D50-kn8O.js → tracked-promise--XbBsK1N.js} +1 -1
  108. package/dist/cjs/twilight.cjs.js +1 -1
  109. package/dist/cjs/{vanilla-picker-Bd-sUQLP.js → vanilla-picker-D_g2rKwM.js} +1 -1
  110. package/dist/collection/components/salla-social-share/salla-social-share.js +9 -2
  111. package/dist/collection/components/salla-wallet/salla-wallet.js +19 -4
  112. package/dist/collection/shared/catalog-recommendations.js +47 -41
  113. package/dist/components/catalog-recommendations.js +47 -41
  114. package/dist/components/index.js +2 -2
  115. package/dist/components/salla-social-share2.js +9 -2
  116. package/dist/components/salla-wallet.js +19 -4
  117. package/dist/esm/catalog-recommendations-CL7OPpYS.js +94 -0
  118. package/dist/esm/{filepond-DJlkJWaI.js → filepond-CA6zTz9c.js} +1 -1
  119. package/dist/esm/{filepond-plugin-file-poster-Cxg1C-ZT.js → filepond-plugin-file-poster-DOWZmTt9.js} +1 -1
  120. package/dist/esm/{filepond-plugin-file-validate-size-D7U4TtzO.js → filepond-plugin-file-validate-size-CW4aTVdl.js} +1 -1
  121. package/dist/esm/{filepond-plugin-file-validate-type-Bc55hyvc.js → filepond-plugin-file-validate-type-DiGUQ5qM.js} +1 -1
  122. package/dist/esm/{filepond-plugin-image-edit-BSZHdCO-.js → filepond-plugin-image-edit-BOu5ykhi.js} +1 -1
  123. package/dist/esm/{filepond-plugin-image-exif-orientation-DEVx9XUq.js → filepond-plugin-image-exif-orientation-C9OxiFhh.js} +1 -1
  124. package/dist/esm/{filepond-plugin-image-preview-B55MpdBs.js → filepond-plugin-image-preview-BCRRj5t-.js} +1 -1
  125. package/dist/esm/{functions-3aFA0yP9.js → functions-Cdhve8oP.js} +1 -1
  126. package/dist/esm/{index-B5uQvRDw.js → index-DMTmdoWu.js} +1 -1
  127. package/dist/esm/{index-DpB3UAAA.js → index-DWPgHXOD.js} +2 -2
  128. package/dist/esm/loader.js +2 -2
  129. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  130. package/dist/esm/salla-accordion_6.entry.js +1 -1
  131. package/dist/esm/salla-add-product-button_5.entry.js +2 -2
  132. package/dist/esm/salla-advertisement.entry.js +1 -1
  133. package/dist/esm/salla-alert_2.entry.js +1 -1
  134. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  135. package/dist/esm/salla-apps-icons.entry.js +1 -1
  136. package/dist/esm/salla-badge.entry.js +1 -1
  137. package/dist/esm/salla-basket-gap.entry.js +2 -2
  138. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  139. package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
  140. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  141. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  142. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  143. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  144. package/dist/esm/salla-comment-factors.entry.js +1 -1
  145. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  146. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  147. package/dist/esm/salla-contacts.entry.js +1 -1
  148. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  149. package/dist/esm/salla-count-down_2.entry.js +1 -1
  150. package/dist/esm/salla-custom-fields.entry.js +1 -1
  151. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  152. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  153. package/dist/esm/salla-filters-widget.entry.js +1 -1
  154. package/dist/esm/salla-filters.entry.js +1 -1
  155. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  156. package/dist/esm/salla-gifting.entry.js +1 -1
  157. package/dist/esm/salla-hook.entry.js +1 -1
  158. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  159. package/dist/esm/salla-installment.entry.js +1 -1
  160. package/dist/esm/salla-list-tile.entry.js +1 -1
  161. package/dist/esm/salla-localization-modal.entry.js +1 -1
  162. package/dist/esm/salla-login-modal.entry.js +1 -1
  163. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  164. package/dist/esm/salla-loyalty-exchange-product-card_5.entry.js +3 -3
  165. package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
  166. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  167. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  168. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  169. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  170. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  171. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  172. package/dist/esm/salla-loyalty.entry.js +1 -1
  173. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  174. package/dist/esm/salla-map_2.entry.js +1 -1
  175. package/dist/esm/salla-menu.entry.js +1 -1
  176. package/dist/esm/salla-metadata.entry.js +1 -1
  177. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  178. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  179. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  180. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  181. package/dist/esm/salla-notification-item.entry.js +1 -1
  182. package/dist/esm/salla-notifications.entry.js +1 -1
  183. package/dist/esm/salla-offer-modal.entry.js +1 -1
  184. package/dist/esm/salla-offer.entry.js +1 -1
  185. package/dist/esm/salla-order-branch.entry.js +1 -1
  186. package/dist/esm/salla-order-cancel.entry.js +1 -1
  187. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  188. package/dist/esm/salla-order-details-options.entry.js +1 -1
  189. package/dist/esm/salla-order-details.entry.js +1 -1
  190. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  191. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  192. package/dist/esm/salla-order-edit.entry.js +1 -1
  193. package/dist/esm/salla-order-summary.entry.js +1 -1
  194. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  195. package/dist/esm/salla-orders.entry.js +1 -1
  196. package/dist/esm/salla-payments.entry.js +1 -1
  197. package/dist/esm/salla-placeholder.entry.js +1 -1
  198. package/dist/esm/salla-price-range.entry.js +1 -1
  199. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  200. package/dist/esm/salla-product-card_2.entry.js +1 -1
  201. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  202. package/dist/esm/salla-products-list.entry.js +1 -1
  203. package/dist/esm/salla-quick-order.entry.js +1 -1
  204. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  205. package/dist/esm/salla-rating-modal.entry.js +1 -1
  206. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  207. package/dist/esm/salla-scopes.entry.js +1 -1
  208. package/dist/esm/salla-search.entry.js +1 -1
  209. package/dist/esm/salla-skeleton.entry.js +1 -1
  210. package/dist/esm/salla-slider.entry.js +1 -1
  211. package/dist/esm/salla-social-share.entry.js +10 -3
  212. package/dist/esm/salla-social.entry.js +1 -1
  213. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  214. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  215. package/dist/esm/salla-tooltip.entry.js +1 -1
  216. package/dist/esm/salla-trust-badges.entry.js +1 -1
  217. package/dist/esm/salla-user-menu.entry.js +1 -1
  218. package/dist/esm/salla-user-profile.entry.js +1 -1
  219. package/dist/esm/salla-user-settings.entry.js +1 -1
  220. package/dist/esm/salla-verify.entry.js +1 -1
  221. package/dist/esm/salla-wallet.entry.js +20 -5
  222. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  223. package/dist/esm/{tracked-promise-DIZYgNBp.js → tracked-promise-BCGZPTbE.js} +1 -1
  224. package/dist/esm/twilight.js +2 -2
  225. package/dist/esm/{vanilla-picker-DxRdT8WJ.js → vanilla-picker-DFTSHsGD.js} +1 -1
  226. package/dist/twilight/{p-250d3b32.entry.js → p-01a74537.entry.js} +1 -1
  227. package/dist/twilight/{p-b37d2e41.entry.js → p-04a34073.entry.js} +1 -1
  228. package/dist/twilight/{p-a75fab7d.entry.js → p-08c1f879.entry.js} +1 -1
  229. package/dist/twilight/{p-eb8ccf1d.entry.js → p-0b72c43b.entry.js} +1 -1
  230. package/dist/twilight/{p-31396c77.entry.js → p-0fd7d436.entry.js} +1 -1
  231. package/dist/twilight/{p-0e5abc9e.entry.js → p-123a3a37.entry.js} +1 -1
  232. package/dist/twilight/{p-7271d781.entry.js → p-12d9c95b.entry.js} +1 -1
  233. package/dist/twilight/{p-4ec9995f.entry.js → p-17c02185.entry.js} +1 -1
  234. package/dist/twilight/{p-d493d768.entry.js → p-196e416c.entry.js} +1 -1
  235. package/dist/twilight/{p-dae97b2d.entry.js → p-1b858716.entry.js} +1 -1
  236. package/dist/twilight/{p-e76c8fa2.entry.js → p-1d21e83d.entry.js} +1 -1
  237. package/dist/twilight/{p-0c23685b.entry.js → p-20c2aebb.entry.js} +1 -1
  238. package/dist/twilight/{p-d0849886.entry.js → p-2442ae2d.entry.js} +1 -1
  239. package/dist/twilight/{p-d7a160a7.entry.js → p-26cc4a6c.entry.js} +1 -1
  240. package/dist/twilight/{p-7f699be4.entry.js → p-2718fe0c.entry.js} +1 -1
  241. package/dist/twilight/{p-3cfb3db1.entry.js → p-27ccf3c2.entry.js} +1 -1
  242. package/dist/twilight/{p-4dc6b621.entry.js → p-29bad38b.entry.js} +1 -1
  243. package/dist/twilight/{p-612ba607.entry.js → p-2a2585f6.entry.js} +1 -1
  244. package/dist/twilight/{p-5aefa966.entry.js → p-2f131202.entry.js} +1 -1
  245. package/dist/twilight/{p-7d5a3995.entry.js → p-3039ea2d.entry.js} +1 -1
  246. package/dist/twilight/p-33314f4c.entry.js +4 -0
  247. package/dist/twilight/{p-591b2f9d.entry.js → p-34396806.entry.js} +1 -1
  248. package/dist/twilight/{p-b7c129de.entry.js → p-38656e34.entry.js} +1 -1
  249. package/dist/twilight/{p-f870575b.entry.js → p-39249883.entry.js} +1 -1
  250. package/dist/twilight/{p-aca94595.entry.js → p-3cab158c.entry.js} +1 -1
  251. package/dist/twilight/{p-ed9919cd.entry.js → p-3d7a7be6.entry.js} +1 -1
  252. package/dist/twilight/{p-afc29ef5.entry.js → p-3d973988.entry.js} +1 -1
  253. package/dist/twilight/{p-d004e1bb.entry.js → p-3e4915d1.entry.js} +1 -1
  254. package/dist/twilight/{p-DVsQiYvE.js → p-3fOwWicU.js} +1 -1
  255. package/dist/twilight/{p-224d0232.entry.js → p-409967bd.entry.js} +1 -1
  256. package/dist/twilight/{p-d22cfff8.entry.js → p-4810a1b1.entry.js} +1 -1
  257. package/dist/twilight/{p-47314e12.entry.js → p-48f7b6db.entry.js} +1 -1
  258. package/dist/twilight/{p-34166195.entry.js → p-4dde6f7b.entry.js} +1 -1
  259. package/dist/twilight/{p-9f90b7d2.entry.js → p-51e42995.entry.js} +1 -1
  260. package/dist/twilight/{p-98e25f3a.entry.js → p-5261d916.entry.js} +1 -1
  261. package/dist/twilight/{p-86f0ba20.entry.js → p-541f7f57.entry.js} +1 -1
  262. package/dist/twilight/{p-416f536b.entry.js → p-5bce4517.entry.js} +1 -1
  263. package/dist/twilight/{p-52086d78.entry.js → p-5cbea591.entry.js} +1 -1
  264. package/dist/twilight/{p-bedece0c.entry.js → p-66d7dc4b.entry.js} +1 -1
  265. package/dist/twilight/{p-ec9a05e6.entry.js → p-6a8c68d3.entry.js} +1 -1
  266. package/dist/twilight/{p-4a041952.entry.js → p-6d284b59.entry.js} +1 -1
  267. package/dist/twilight/{p-568dcceb.entry.js → p-6dc098ce.entry.js} +1 -1
  268. package/dist/twilight/{p-4ee5d25f.entry.js → p-6feca279.entry.js} +1 -1
  269. package/dist/twilight/{p-94fb9d40.entry.js → p-70adb6de.entry.js} +1 -1
  270. package/dist/twilight/{p-6e21cd17.entry.js → p-72aaf959.entry.js} +1 -1
  271. package/dist/twilight/{p-f879b71d.entry.js → p-72b9eac4.entry.js} +1 -1
  272. package/dist/twilight/{p-c6a4bb6b.entry.js → p-72e4cb1c.entry.js} +1 -1
  273. package/dist/twilight/{p-ea84a210.entry.js → p-74a27cf4.entry.js} +1 -1
  274. package/dist/twilight/{p-64bf5054.entry.js → p-793f5e44.entry.js} +1 -1
  275. package/dist/twilight/{p-c8f1b2b7.entry.js → p-7b2aed14.entry.js} +1 -1
  276. package/dist/twilight/{p-f00c30a1.entry.js → p-80207cbe.entry.js} +1 -1
  277. package/dist/twilight/{p-f5905f20.entry.js → p-80d9f3f2.entry.js} +1 -1
  278. package/dist/twilight/{p-f7177061.entry.js → p-82d622c6.entry.js} +1 -1
  279. package/dist/twilight/{p-246f44ed.entry.js → p-8308bef2.entry.js} +1 -1
  280. package/dist/twilight/{p-16ce4fef.entry.js → p-851d8872.entry.js} +1 -1
  281. package/dist/twilight/{p-f8f07022.entry.js → p-86f7baf1.entry.js} +1 -1
  282. package/dist/twilight/{p-74c99ff0.entry.js → p-88015898.entry.js} +1 -1
  283. package/dist/twilight/{p-f13e8759.entry.js → p-8b646ef9.entry.js} +1 -1
  284. package/dist/twilight/{p-e55c0663.entry.js → p-8e5d089a.entry.js} +1 -1
  285. package/dist/twilight/{p-c61cf7ef.entry.js → p-8e9b1b2b.entry.js} +1 -1
  286. package/dist/twilight/{p-b3dfff70.entry.js → p-8f5159fa.entry.js} +1 -1
  287. package/dist/twilight/{p-3541ed02.entry.js → p-911d2800.entry.js} +1 -1
  288. package/dist/twilight/{p-5e2920de.entry.js → p-9d021d6e.entry.js} +1 -1
  289. package/dist/twilight/{p-6c4504dc.entry.js → p-9fb43cf0.entry.js} +1 -1
  290. package/dist/twilight/{p-CSZ-P877.js → p-B2IpqWj1.js} +1 -1
  291. package/dist/twilight/{p-0sBrxdoA.js → p-BPbju0nD.js} +1 -1
  292. package/dist/twilight/{p-B7nGGDcs.js → p-BcTcBNfQ.js} +1 -1
  293. package/dist/twilight/p-CL7OPpYS.js +4 -0
  294. package/dist/twilight/{p-DshtSdt6.js → p-CPEhvySG.js} +1 -1
  295. package/dist/twilight/{p-INkBE6fU.js → p-CtvAJfAB.js} +1 -1
  296. package/dist/twilight/{p-DpB3UAAA.js → p-DWPgHXOD.js} +1 -1
  297. package/dist/twilight/{p-Cv5nxveF.js → p-Dd1m1dz2.js} +1 -1
  298. package/dist/twilight/{p-Di2RDF2Q.js → p-DuCwWaQ_.js} +1 -1
  299. package/dist/twilight/{p-CUT8CVCo.js → p-XUX4U548.js} +1 -1
  300. package/dist/twilight/{p-8961c821.entry.js → p-a138bee9.entry.js} +1 -1
  301. package/dist/twilight/{p-5ef6af67.entry.js → p-a8ddd1bb.entry.js} +1 -1
  302. package/dist/twilight/{p-89a74a55.entry.js → p-a9a85cfe.entry.js} +1 -1
  303. package/dist/twilight/{p-0b7cba6e.entry.js → p-ac7bd839.entry.js} +1 -1
  304. package/dist/twilight/{p-01061d2b.entry.js → p-ae695102.entry.js} +1 -1
  305. package/dist/twilight/{p-7776af70.entry.js → p-af7962e9.entry.js} +1 -1
  306. package/dist/twilight/{p-fcba9566.entry.js → p-b094fd03.entry.js} +1 -1
  307. package/dist/twilight/{p-68b0e437.entry.js → p-b6fd1b52.entry.js} +1 -1
  308. package/dist/twilight/{p-qtv65mC4.js → p-b7vjgdh1.js} +1 -1
  309. package/dist/twilight/p-bb05f144.entry.js +4 -0
  310. package/dist/twilight/{p-127fd5c4.entry.js → p-c069565d.entry.js} +1 -1
  311. package/dist/twilight/{p-0de7fca3.entry.js → p-c1b27d26.entry.js} +1 -1
  312. package/dist/twilight/{p-0916141f.entry.js → p-c8a60c05.entry.js} +1 -1
  313. package/dist/twilight/{p-3fddbb1a.entry.js → p-caa2055b.entry.js} +1 -1
  314. package/dist/twilight/{p-daeeea6d.entry.js → p-cadedd90.entry.js} +1 -1
  315. package/dist/twilight/{p-322c22ec.entry.js → p-ccb12c91.entry.js} +1 -1
  316. package/dist/twilight/{p-dd4f363e.entry.js → p-d140a35a.entry.js} +1 -1
  317. package/dist/twilight/{p-304c100d.entry.js → p-d263e364.entry.js} +1 -1
  318. package/dist/twilight/{p-75b51510.entry.js → p-de78fa6c.entry.js} +1 -1
  319. package/dist/twilight/{p-16d19553.entry.js → p-df2ac369.entry.js} +1 -1
  320. package/dist/twilight/{p-c10ff742.entry.js → p-e82fb471.entry.js} +1 -1
  321. package/dist/twilight/{p-d6d1f072.entry.js → p-ea20010a.entry.js} +1 -1
  322. package/dist/twilight/{p-25535800.entry.js → p-eb3706da.entry.js} +1 -1
  323. package/dist/twilight/{p-a82e0f9b.entry.js → p-ec75d885.entry.js} +1 -1
  324. package/dist/twilight/{p-ba11a528.entry.js → p-ee2fea82.entry.js} +1 -1
  325. package/dist/twilight/{p-7d197b66.entry.js → p-ee54773e.entry.js} +1 -1
  326. package/dist/twilight/{p-e1be7398.entry.js → p-f35812bf.entry.js} +1 -1
  327. package/dist/twilight/{p-ba7f4e42.entry.js → p-f5327d06.entry.js} +1 -1
  328. package/dist/twilight/{p-5db94199.entry.js → p-f5d273a4.entry.js} +1 -1
  329. package/dist/twilight/{p-c3db8509.entry.js → p-f83489a2.entry.js} +1 -1
  330. package/dist/twilight/{p-b8ecee79.entry.js → p-f98dd619.entry.js} +1 -1
  331. package/dist/twilight/{p-7c347d49.entry.js → p-f99acb35.entry.js} +1 -1
  332. package/dist/twilight/{p-tEBqC22E.js → p-zvJtEDoB.js} +1 -1
  333. package/dist/twilight/twilight.esm.js +1 -1
  334. package/dist/types/components/salla-social-share/salla-social-share.d.ts +1 -0
  335. package/dist/types/components/salla-wallet/salla-wallet.d.ts +1 -0
  336. package/dist/types/shared/catalog-recommendations.d.ts +12 -0
  337. package/package.json +5 -5
  338. package/dist/cjs/catalog-recommendations-B_DRy6NT.js +0 -91
  339. package/dist/esm/catalog-recommendations-CehbSKTM.js +0 -88
  340. package/dist/twilight/p-0a9a252a.entry.js +0 -4
  341. package/dist/twilight/p-CehbSKTM.js +0 -4
  342. package/dist/twilight/p-b394d2ff.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as s,h as i,H as e,a as r}from"./p-DpB3UAAA.js";import{a as o}from"./p-CgtvEd63.js";import{S as a}from"./p-DiKTtDW5.js";import{H as l}from"./p-XnA1YTjA.js";const n=class{constructor(i){t(this,i),this.productsFetched=s(this,"productsFetched"),this.selectionChanged=s(this,"selectionChanged"),this.autoload=!1,this.productCardComponent="custom-salla-product-card",this.selectable=!1,this.page=1,this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page"),this.filtersSnapshot=[],this.selectedProducts=new Map,this.lastViewedProductKey="lastViewedProductId",this.filtersKey="filters",this.infiniteScrollStateKey="infiniteScrollState",this.prevCategoryIdKey="prevCategoryId",this.isProcessing=!1,this.scrollTimeout=null,this.boundScrollToLastViewedProduct=()=>this.scrollToLastViewedProduct(),this.boundHandleScroll=()=>this.handleScroll(),this.specialPagesWithoutIds={"product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","product.index.sales":"sales"},this.onWishlistItemRemoved=(t,s)=>{if("wishlist"!==this.getSource()||!this.wrapper)return;const i=String(s),e=this.hasCustomComponent?this.productCardComponent:"salla-product-card";for(const t of Array.from(this.wrapper.children)){const s=t,r=t.querySelector(e),o=s.product?.id??r?.product?.id;if(null!=o&&String(o)===i){t.remove();break}}for(const t of Array.from(this.wrapper.children)){if(!t.classList.contains("s-products-list-selectable-item"))continue;const s=t;if(null!=s.product?.id&&String(s.product.id)===i&&!t.querySelector(e)){t.remove();break}}if(this.selectable){for(const t of Array.from(this.selectedProducts.keys()))String(t)===i&&this.selectedProducts.delete(t);this.emitSelection()}},this.onWishlistStorageSynced=()=>l.syncWishlistIcons(this.wrapper,`${this.productCardComponent}, salla-product-card`),this.includes=l.parseJson(this.includes||this.host.getAttribute("includes")),Array.isArray(this.includes)||(this.includes=null),l.setIncludes(this.includes),salla.lang.onLoaded((()=>{this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page")}))}connectedCallback(){"scrollRestoration"in history&&(history.scrollRestoration="manual"),window.addEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),salla.event.on("salla-filters::changed",(t=>this.setFilters(t))),salla.event.on("wishlist::removed",this.onWishlistItemRemoved),salla.event.on("wishlist::storage.synced",this.onWishlistStorageSynced)}disconnectedCallback(){window.removeEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),window.removeEventListener("scroll",this.boundHandleScroll),salla.event.off("wishlist::removed",this.onWishlistItemRemoved),salla.event.off("wishlist::storage.synced",this.onWishlistStorageSynced)}async setFilters(t){if(t&&JSON.stringify(t)!==JSON.stringify(this.parsedFilters))return window.scrollTo({top:0,behavior:"smooth"}),this.parsedFilters=JSON.parse(JSON.stringify(t)),"product.index"==this.currentPage?.slug&&(this.currentCategoryIdFilter=this.parsedFilters?.category_id?this.toCategoryIdFilter(this.parsedFilters.category_id):null),this.reload()}async reload(){!this.autoload&&this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.hasInfiniteScroll&&salla.infiniteScroll.destroy(this.infiniteScroll),await this.buildNextPageUrl(),this.wrapper.innerHTML="",this.hasInfiniteScroll?this.init():this.getInitialData(),this.showPlaceholder&&(this.showPlaceholder=!1,this.placeholderLoader=document.createElement("div"),this.placeholderLoader.classList.add("s-products-list-loading-wrapper"),this.placeholderLoader.style.display="inherit",this.placeholderLoader.innerHTML='<span class="s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"></span>',this.host.insertAdjacentElement("afterend",this.placeholderLoader))}isFilterable(){return salla.config.get("store.settings.product.filters")&&this.filtersResults}getCachedFilters(){return Array.isArray(this.filtersSnapshot)&&this.filtersSnapshot.length?JSON.parse(JSON.stringify(this.filtersSnapshot)):null}emitFilters(t){if(!this.isFilterable())return;if(t.filters)return this.filtersResults=!0,this.filtersSnapshot=JSON.parse(JSON.stringify(t.filters)),void salla.event.emit("filters::fetched",{filters:t.filters});const s=t.cursor?.current>1?this.getCachedFilters():null;if(s)return this.filtersResults=!0,void salla.event.emit("filters::fetched",{filters:s});this.filtersSnapshot=[],salla.event.emit("filters::hidden")}isSourceWithoutValue(){const t=this.getSource();if("wishlist"===t){const t=new URLSearchParams(window.location.search);return!(t.has("source_value")||t.has("source_value[]")||this.sourceValue)}return["offers","latest","sales","top-rated","reorder"].includes(t)}animateItems(){o({targets:"salla-products-list salla-product-card",opacity:[0,1],duration:1200,translateY:[20,0],delay:function(t,s){return 100*s}})}async initBaseNextPageUrl(t){this.nextPage=salla.url.api(`products?source=${t}`),this.includes?.length&&(this.nextPage+=`&includes[]=${this.includes.join("&includes[]=")}`),this.limit&&(this.nextPage+=`&per_page=${this.limit>32?32:this.limit}`),this.sortBy&&(this.nextPage+=`&sort=${this.sortBy}`),"preview"===salla.config.get("theme.mode")&&(this.nextPage+="&use_username_url=1"),this.nextPage+="&filterable=1";for(const[t,s]of Object.entries(this.parsedFilters||{}))if("source_value"!==t&&"source_value[]"!==t)if(["string","number"].includes(typeof s))this.nextPage+=`&filters[${encodeURIComponent(t)}]=${encodeURIComponent(s)}`;else if(Array.isArray(s))s.forEach((s=>this.nextPage+=`&filters[${encodeURIComponent(t)}][]=${encodeURIComponent(s)}`));else if("object"==typeof s)for(const[i,e]of Object.entries(s))this.nextPage+=`&filters[${encodeURIComponent(t)}][${encodeURIComponent(i)}]=${encodeURIComponent(e)}`;this.nextPage=await this.applyBeforeBuildListUrl(this.nextPage)}async buildNextPageUrl(){let t=this.getSource();if("json"===t)return;const s=sessionStorage.getItem(this.infiniteScrollStateKey);if(s){const{nextPage:t}=JSON.parse(s);if(!t)return}if(await this.initBaseNextPageUrl(t),!this.isSourceWithoutValue())if(["search","related","landing-page"].includes(t))this.nextPage+=`&source_value=${this.getSourceValue()}`;else try{this.nextPage+=`&source_value[]=${this.getSourceValue().join("&source_value[]=")}`}catch(s){salla.logger.warn(`source-value prop should be array of ids ex source-value="[1,2,3]" for the source [${t}]`),this.sourceValueIsValid=!1}}loading(t=!0,s=!1){if(t){let t=s&&!this.autoload?this.btnLoader:this.loader;t&&(t.style.display="inherit")}else this.autoload||this.btnLoader&&(this.btnLoader.style.display="none"),this.loader&&(this.loader.style.display="none")}getItemHTML(t){"landing-page"===this.getSource()&&(t.url="");const s=document.createElement(this.hasCustomComponent?this.productCardComponent:"salla-product-card");return s.product=t,this.compactCards&&(s.compact=!0,s.toggleAttribute("compact",!0)),this.applyLandingPageStyles(s),this.applyHorizontalCardStyles(s),s.addEventListener("click",(s=>{s.target.closest("a")&&(l.saveProductSource(this.getSource()),this.hasInfiniteScroll&&(this.takeStateSnapshot(),sessionStorage.setItem(this.lastViewedProductKey,t.id)))})),this.selectable?this.wrapSelectableItem(s,t):s}wrapSelectableItem(t,s){const i=document.createElement("div");i.className="s-products-list-selectable-item",i.product=s;const e=this.selectedProducts.has(s.id);e&&i.classList.add("s-products-list-item-selected");const r=document.createElement("label");r.className="s-products-list-select-control",r.setAttribute("aria-label",salla.lang.get("common.elements.select","تحديد"));const o=document.createElement("input");return o.type="checkbox",o.className="s-products-list-select-checkbox",o.checked=e,o.addEventListener("change",(()=>this.toggleSelection(s,i,o.checked))),r.appendChild(o),i.appendChild(r),i.appendChild(t),i}toggleSelection(t,s,i){i?(this.selectedProducts.set(t.id,t),s?.classList.add("s-products-list-item-selected")):(this.selectedProducts.delete(t.id),s?.classList.remove("s-products-list-item-selected")),this.emitSelection()}emitSelection(){const t=Array.from(this.selectedProducts.values()),s=Array.from(this.selectedProducts.keys()),i={ids:s,products:t,count:s.length};this.selectionChanged.emit(i),salla.event.emit("salla-products-list::selection.changed",i)}appendProductCards(t){this.wrapper&&((Array.isArray(t)?t:[t]).forEach((t=>this.wrapper.append(t))),this.onWishlistStorageSynced())}refreshWishlistIconsAfterHydration(){return salla.wishlist.api.syncStorageFromServer()}onSelectableChanged(t,s){t!==s&&this.isReady&&this.wrapper&&(t||(this.selectedProducts.clear(),this.emitSelection()),this.reload())}applyLandingPageStyles(t){"landing-page"!==this.getSource()||this.hasCustomComponent||(t.toggleAttribute("hide-add-btn",!0),t.classList.add("s-product-card-fit-height"))}applyHorizontalCardStyles(t){this.horizontalCards&&(t.toggleAttribute("horizontal",!0),this.hasCustomComponent||t.toggleAttribute("shadow-on-hover",!0))}waitForResizing(t){let s=null;return new Promise((i=>{const e=new ResizeObserver((()=>{clearTimeout(s),s=setTimeout((()=>{e.disconnect(),i(null)}),160)}));e.observe(t)}))}waitForLayoutStable(t){let s=null,i=null;return new Promise((e=>{let r;const o=()=>{clearTimeout(s),clearTimeout(i),r.disconnect(),e(null)};r=new MutationObserver((()=>{clearTimeout(s),s=setTimeout(o,160)})),r.observe(t,{childList:!0,subtree:!0,attributes:!0}),i=setTimeout(o,1e3)}))}async waitForStableLayout(t){return await Promise.allSettled([this.waitForResizing(t),this.waitForLayoutStable(t)])}scrollToLastViewedProduct(){const t=sessionStorage.getItem(this.lastViewedProductKey);t&&!salla.url.is_page("product.single")&&this.isElementLoaded(`[id*="${t}"]`).then((()=>{const s=this.wrapper?.querySelector(`[id*="${t}"]`);if(!s)return;const i=()=>{const t=()=>{s.scrollIntoView({block:"start",behavior:"instant"});const t=matchMedia("(max-width: 1024px)").matches?"header .inner":"ul.main-menu",i=window?.header_is_sticky?document.querySelector(t)?.getBoundingClientRect()?.height??56:0,e=parseInt(getComputedStyle(this.wrapper).rowGap)??16;scrollBy({top:-1*(i+e),behavior:"instant"})};requestAnimationFrame(t),s.querySelectorAll("img.lazy").forEach((s=>{const i=s,e=()=>{requestAnimationFrame(t),i.onload=i.onerror=null};i.onload=e,i.onerror=e})),this.removeScrollRestorationSession()};this.waitForStableLayout(this.host).then((()=>requestAnimationFrame(i)))}))}isElementLoaded(t){return new Promise((s=>{const i=setInterval((()=>{if(document.querySelector(t))return clearInterval(i),s(document.querySelector(t))}),50)}))}takeStateSnapshot(){const t=[];for(let s=0;s<this.wrapper.children.length;s++){const i=this.wrapper.children?.[s];t.push(i.product)}const s={pageIndex:Math.max((this.infiniteScroll?.pageIndex??1)-1,1),nextPage:this.nextPage,currentPageData:t};if(this.isFilterable()){const t=sessionStorage.getItem(this.filtersKey);sessionStorage.setItem(this.filtersKey,t||JSON.stringify(this.filtersSnapshot))}sessionStorage.setItem(this.infiniteScrollStateKey,JSON.stringify(s));let i=salla.config.get("page.id");const e=Object.keys(this.specialPagesWithoutIds).find((t=>salla.url.is_page(t)));e?i=this.specialPagesWithoutIds[e]:null!==i&&(i=String(i)),sessionStorage.setItem(this.prevCategoryIdKey,i)}removeScrollRestorationSession(){this.isFilterable()||sessionStorage.removeItem(this.filtersKey),sessionStorage.removeItem(this.infiniteScrollStateKey),sessionStorage.removeItem(this.lastViewedProductKey),sessionStorage.removeItem(this.prevCategoryIdKey)}loadStoredScrollState(){const t=sessionStorage.getItem(this.infiniteScrollStateKey),s=sessionStorage.getItem(this.filtersKey),i=sessionStorage.getItem(this.prevCategoryIdKey),e=this.specialPagesWithoutIds[salla.config.get("page.slug")]||null,r=salla.config.get("page.id"),o=salla.url.is_page("index"),a=salla.url.is_page("product.single"),l=e?i!==e:i!==String(r);if(i&&l&&!o&&!a||o&&!this.hasInfiniteScroll)return this.removeScrollRestorationSession(),this.switchToNormalBehavior=!0,!1;if(a)return this.switchToNormalBehavior=!0,!1;if(t)try{const{pageIndex:i,nextPage:e,currentPageData:r}=JSON.parse(t);if(s&&"undefined"!==s){const t=JSON.parse(s);this.filtersSnapshot=JSON.parse(JSON.stringify(t)),salla.event.emit("filters::fetched",{filters:t})}return this.page=i,this.nextPage=e,this.appendProductCards(r.map((t=>this.getItemHTML(t)))),!0}catch(t){console.error("Failed to load stored scroll state:",t),this.removeScrollRestorationSession()}return!1}getSource(){return l.getProductsSource(this.source)}isAuxiliaryProductsListSource(){return["json","selected","related","landing-page","recently"].includes(this.getSource())}toCategoryIdFilter(t){return Array.isArray(t)?t:t&&"object"==typeof t?Object.values(t):[t]}getSourceValue(){if("wishlist"===this.getSource()){const t=new URLSearchParams(window.location.search),s=t.getAll("source_value[]").length?t.getAll("source_value[]"):t.getAll("source_value");if(s.length)return s}return this.currentCategoryIdFilter?this.currentCategoryIdFilter:l.getProductsSourceValue(this.source,this.sourceValue)}logFetchError(t,s,i,e,r){try{const o=r&&"object"==typeof r?r:null,a=this.getSourceValue();salla.analytics?.log("salla::products.list.fetch.error",{errorPhase:t,source:this.getSource(),sourceValue:"string"==typeof a&&a.length>200?`${a.slice(0,200)}…`:Array.isArray(a)?{length:a.length}:a,pageIndex:this.infiniteScroll?.pageIndex,fetchPath:i,httpStatus:e?.status,httpStatusText:e?.statusText,responseUrl:e?.url,...o&&{dataCount:Array.isArray(o.data)?o.data.length:void 0,responseKeys:Object.keys(o).slice(0,15),filtersCount:Array.isArray(o.filters)?o.filters.length:void 0},errorMessage:s instanceof Error?s.message:String(s),..."processing"===t&&s instanceof Error&&s.stack?{errorStack:s.stack.slice(0,500)}:{}})}catch{}}appendDataLayer(t){"object"==typeof dataLayer&&Array.isArray(dataLayer)&&dataLayer.push({event:"impressions",ecommerce:{currencyCode:salla.config.currency().code,impressions:t.map(((t,s)=>({id:t.id,name:t.name,price:t.price,brand:t.brand?.name||"",quantity:t.quantity,categories:[{name:t.category?.name||salla.config.get("page.title"),id:salla.config.get("page.id")}],category:t.category?.name||salla.config.get("page.title"),position:s+1})))}})}initiateInfiniteScroll(){if(!this.hasInfiniteScroll)return;const t=this.autoload&&this.includes&&this.includes.length>0;this.infiniteScroll=salla.infiniteScroll.initiate(this.wrapper,this.wrapper,{path:()=>this.nextPage,history:!1,nextPage:this.nextPage,scrollThreshold:!t&&!!this.autoload&&100,loadOnScroll:!t&&this.autoload},!0),this.infiniteScroll.pageIndex=this.page,this.infiniteScroll?.on("request",(()=>{this.loading(!0,!this.autoload)})),t&&window.addEventListener("scroll",this.boundHandleScroll),this.infiniteScroll?.on("load",(async(t,s,i)=>{if(!this.isProcessing){this.isProcessing=!0;try{if(!t.data?.length&&2===this.infiniteScroll.pageIndex)return this.showPlaceholder=!0,salla.infiniteScroll.destroy(this.infiniteScroll),this.loading(!1),void(this.placeholderLoader&&this.placeholderLoader.remove());this.includes&&await this.injectAndProcessData(t);const s=await this.handleResponse(t);this.infiniteScroll.appendItems(s),this.onWishlistStorageSynced(),2===this.infiniteScroll.pageIndex&&(!this.autoload&&this.nextPage&&(this.loadMoreWrapper.style.display="block"),this.animateItems(),this.refreshInfiniteScrollMeasurements())}catch(e){console.error("Error during load:",e),this.logFetchError("processing",e,"string"==typeof s?s:void 0,i,t)}finally{this.isProcessing=!1}}})),this.infiniteScroll?.on("error",((t,s,i)=>{const e=i;this.status.querySelector(".s-infinite-scroll-error").classList.remove("s-hidden"),this.placeholderLoader&&this.placeholderLoader.remove(),this.loading(!1),this.isProcessing=!1,this.logFetchError("fetch",t,s,e)})),salla.onReady((()=>{sessionStorage.getItem(this.infiniteScrollStateKey)||this.manualLoadNextPage()}))}handleScroll(){this.isProcessing||this.scrollTimeout||(this.scrollTimeout=setTimeout((()=>{this.scrollTimeout=null,requestAnimationFrame((()=>{const t=this.wrapper.getBoundingClientRect(),s=window.innerHeight;t.bottom-s<=200&&!this.isProcessing&&this.nextPage&&this.manualLoadNextPage()}))}),200))}manualLoadNextPage(){this.nextPage&&this.infiniteScroll.loadNextPage()}refreshInfiniteScrollMeasurements(){this.autoload&&this.infiniteScroll?.updateMeasurements&&this.waitForStableLayout(document.body).then((()=>this.infiniteScroll?.updateMeasurements?.()))}async applyBeforeBuildListUrl(t){try{const s={component:this,url:t};return await salla.hooks.call("salla-products-list","beforeBuildListUrl",s),s.url}catch(s){return salla.logger.warn("beforeBuildListUrl hook failed",s?.message),t}}async resolveNextPageFromCursor(t){return t.cursor?t.cursor.next?await this.applyBeforeBuildListUrl(t.cursor.next):t.cursor.next:this.nextPage}async injectAndProcessData(t){try{await l.injectExtraFieldsToResponse(t)}catch(t){console.error("Error injecting data:",t)}}getInitialData(){return this.loading(),salla.api.withoutNotifier((()=>salla.product.api.fetch({source:l.getApiSource(this.getSource()),source_value:this.getSourceValue(),limit:this.limit}).then((async t=>t.data.length?(await l.injectExtraFieldsToResponse(t),this.firstPageResponse?void this.appendProductCards(await this.handleResponse(t)):(this.firstPageResponse=t,void(this.nextPage=await this.resolveNextPageFromCursor(t)))):(this.showPlaceholder=!0,this.placeholderLoader&&this.placeholderLoader.remove(),void this.loading(!1))))))}async loadMore(){this.infiniteScroll?.loadNextPage()}async getSelected(){return{ids:Array.from(this.selectedProducts.keys()),products:Array.from(this.selectedProducts.values())}}async getLoadedProducts(){const t=[];if(!this.wrapper)return t;for(let s=0;s<this.wrapper.children.length;s++){const i=this.wrapper.children[s];i?.product&&t.push(i.product)}return t}async selectAll(){if(this.selectable&&this.wrapper){for(let t=0;t<this.wrapper.children.length;t++){const s=this.wrapper.children[t];if(s?.product){this.selectedProducts.set(s.product.id,s.product),s.classList.add("s-products-list-item-selected");const t=s.querySelector(".s-products-list-select-checkbox");t&&(t.checked=!0)}}this.emitSelection()}}async clearSelection(){this.selectedProducts.clear(),this.wrapper&&(this.wrapper.querySelectorAll(".s-products-list-select-checkbox").forEach((t=>t.checked=!1)),this.wrapper.querySelectorAll(".s-products-list-item-selected").forEach((t=>t.classList.remove("s-products-list-item-selected")))),this.emitSelection()}componentWillLoad(){return salla.onReady().then((async()=>{this.hasCustomComponent=!!customElements.get(this.productCardComponent),this.sourceValueIsValid=!(!this.getSourceValue()&&!this.isSourceWithoutValue()),this.hasInfiniteScroll=!this.isAuxiliaryProductsListSource()&&!this.limit;let t=new URLSearchParams(window.location.search);try{this.sortBy=this.sortBy||t.get("sort")||t.get("by"),this.parsedFilters=l.extractFiltersFromUrl(t),this.parsedFilters&&this.parsedFilters.category_id&&(this.currentCategoryIdFilter=this.toCategoryIdFilter(this.parsedFilters.category_id))}catch(t){salla.logger.warn("failed to get filters from url",t.message)}if(await this.buildNextPageUrl(),this.isReady=!0,!sessionStorage.getItem(this.infiniteScrollStateKey))if(this.sourceValueIsValid){if(!this.hasInfiniteScroll){if("json"===this.getSource())return this.getSourceValue().length?void setTimeout((()=>{this.appendProductCards(this.getSourceValue().map((t=>this.getItemHTML(t))))})):void(this.showPlaceholder=!0);if("selected"!==this.getSource()||this.getSourceValue().length)return this.getInitialData();this.showPlaceholder=!0}}else salla.logger.warn(`source-value prop is required for source [${this.getSource()}]`)}))}async componentDidLoad(){this.hasInfiniteScroll&&this.init(),await Salla.hooks.registerComponent("salla-products-list",this),this.loadStoredScrollState()?(this.autoload?!this.nextPage&&this.loading(!1):this.nextPage?this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="block"):(this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden")),this.scrollToLastViewedProduct(),this.refreshInfiniteScrollMeasurements()):!this.firstPageResponse&&this.switchToNormalBehavior?this.getInitialData().then((async()=>{this.firstPageResponse?(this.appendProductCards(await this.handleResponse(this.firstPageResponse,!1)),setTimeout((()=>{if(!this.autoload&&this.nextPage&&1==this.infiniteScroll.pageIndex){const t=this.host.querySelector(".s-infinite-scroll-wrapper");t&&(t.style.display="block")}}))):console.error("No response received after getInitialData.")})).catch((t=>{console.error("Error during initial data fetch:",t)})):this.firstPageResponse&&this.appendProductCards(await this.handleResponse(this.firstPageResponse,!1)),await this.refreshWishlistIconsAfterHydration()}canRender(){return this.sourceValueIsValid&&this.isReady}render(){return this.canRender()?this.showPlaceholder?i("div",{class:"s-products-list-placeholder"},i("span",{innerHTML:a}),i("p",null,this.placeholderText)):i(e,{class:"s-products-list"},i("div",{class:{"s-products-list-wrapper":!0,"s-products-list-horizontal-cards":this.horizontalCards&&!this.filtersResults,"s-products-list-vertical-cards":!this.horizontalCards&&!this.rowCards&&!this.filtersResults,"s-products-list-row-cards":this.rowCards,"s-products-list-compact-cards":this.compactCards,"s-products-list-filters-results":this.filtersResults},ref:t=>this.wrapper=t}),i("div",{class:"s-infinite-scroll-status",ref:t=>this.status=t},i("p",{class:"s-infinite-scroll-last infinite-scroll-last s-hidden"},this.endOfText),i("p",{class:"s-infinite-scroll-error infinite-scroll-error s-hidden"},this.failedLoadMore)),this.autoload&&i("div",{class:"s-products-list-loading-wrapper",style:{display:"none"},ref:t=>this.loader=t},i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"})),this.hasInfiniteScroll&&this.nextPage&&!this.autoload?i("div",{class:"s-infinite-scroll-wrapper",style:{display:"none"},ref:t=>this.loadMoreWrapper=t},i("button",{onClick:()=>this.loadMore(),class:"s-infinite-scroll-btn s-button-btn s-button-primary"},i("span",{class:"s-button-text s-infinite-scroll-btn-text"},this.loadMoreText?this.loadMoreText:salla.lang.get("common.elements.load_more")),i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader",ref:t=>this.btnLoader=t,style:{display:"none"}}))):""):""}init(){this.initiateInfiniteScroll(),this.loading()}async handleResponse(t,s=!0){if(!t)return[];let i=this.getSource();if(1===t.cursor?.current){if(!this.isAuxiliaryProductsListSource()){let s=l.getPageTitleForSource(i);try{if("search"===this.getSource())s=salla.lang.get("common.elements.search_about",{word:this.getSourceValue()});else if(!s){let i=Object.keys(this.parsedFilters||{}).length?null:this.getSourceValue()[0];s=t.filters?.find((t=>"category_id"===t.key))?.values?.find((t=>t.key==i))?.value??""}s+=(s?" - ":"")+salla.lang.choice("blocks.header.products_count",t.data?.length),15===t.data.length&&(s=s.replace(t.data.length,salla.lang.get("common.elements.more_than")+" "+t.data.length)),t.title=s}catch(t){salla.logger.error("Error::falid to handle response",t)}}l.generateProductSchema(t.data)}this.appendDataLayer(t.data),t.nextPage=this.nextPage,t.source=this.getSource(),t.sourceValue=this.getSourceValue(),salla.event.emit("salla-products-list::products.fetched",t),this.productsFetched.emit(t),this.emitFilters(t),s&&(this.nextPage=await this.resolveNextPageFromCursor(t)),this.loading(!1),this.placeholderLoader&&this.placeholderLoader.remove(),this.hasInfiniteScroll&&!this.nextPage&&(this.infiniteScroll.option({scrollThreshold:!1,loadOnScroll:!1}),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden"));const e=[];for(let s=0;s<t.data.length;s++)e.push(this.getItemHTML(t.data?.[s]));return e}get host(){return r(this)}static get watchers(){return{selectable:["onSelectableChanged"]}}};n.style='.s-products-list-selectable-item{position:relative;border-radius:0.5rem;transition:box-shadow 0.15s ease-in-out}.s-products-list-item-selected{box-shadow:0 0 0 2px var(--color-primary)}.s-products-list-select-control{position:absolute;top:10px;inset-inline-start:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.s-products-list-select-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:22px;height:22px;margin:0;cursor:pointer;color:var(--color-primary);border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;background-color:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out}.s-products-list-select-checkbox:hover{border-color:var(--color-primary)}.s-products-list-select-checkbox:focus,.s-products-list-select-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent)}.s-products-list-select-checkbox:checked,.s-products-list-select-checkbox:checked:hover,.s-products-list-select-checkbox:checked:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-products-list-select-checkbox:checked::after{content:"";position:absolute;top:50%;left:50%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg)}.s-products-list-row-cards .s-products-list-select-control{top:50%;inset-inline-start:14px;transform:translateY(-50%)}.s-products-list-row-cards .s-products-list-selectable-item>:not(.s-products-list-select-control){padding-inline-start:2.75rem}';export{n as salla_products_list}
4
+ import{r as t,c as s,h as i,H as e,a as r}from"./p-DWPgHXOD.js";import{a as o}from"./p-CgtvEd63.js";import{S as a}from"./p-DiKTtDW5.js";import{H as l}from"./p-XnA1YTjA.js";const n=class{constructor(i){t(this,i),this.productsFetched=s(this,"productsFetched"),this.selectionChanged=s(this,"selectionChanged"),this.autoload=!1,this.productCardComponent="custom-salla-product-card",this.selectable=!1,this.page=1,this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page"),this.filtersSnapshot=[],this.selectedProducts=new Map,this.lastViewedProductKey="lastViewedProductId",this.filtersKey="filters",this.infiniteScrollStateKey="infiniteScrollState",this.prevCategoryIdKey="prevCategoryId",this.isProcessing=!1,this.scrollTimeout=null,this.boundScrollToLastViewedProduct=()=>this.scrollToLastViewedProduct(),this.boundHandleScroll=()=>this.handleScroll(),this.specialPagesWithoutIds={"product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","product.index.sales":"sales"},this.onWishlistItemRemoved=(t,s)=>{if("wishlist"!==this.getSource()||!this.wrapper)return;const i=String(s),e=this.hasCustomComponent?this.productCardComponent:"salla-product-card";for(const t of Array.from(this.wrapper.children)){const s=t,r=t.querySelector(e),o=s.product?.id??r?.product?.id;if(null!=o&&String(o)===i){t.remove();break}}for(const t of Array.from(this.wrapper.children)){if(!t.classList.contains("s-products-list-selectable-item"))continue;const s=t;if(null!=s.product?.id&&String(s.product.id)===i&&!t.querySelector(e)){t.remove();break}}if(this.selectable){for(const t of Array.from(this.selectedProducts.keys()))String(t)===i&&this.selectedProducts.delete(t);this.emitSelection()}},this.onWishlistStorageSynced=()=>l.syncWishlistIcons(this.wrapper,`${this.productCardComponent}, salla-product-card`),this.includes=l.parseJson(this.includes||this.host.getAttribute("includes")),Array.isArray(this.includes)||(this.includes=null),l.setIncludes(this.includes),salla.lang.onLoaded((()=>{this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page")}))}connectedCallback(){"scrollRestoration"in history&&(history.scrollRestoration="manual"),window.addEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),salla.event.on("salla-filters::changed",(t=>this.setFilters(t))),salla.event.on("wishlist::removed",this.onWishlistItemRemoved),salla.event.on("wishlist::storage.synced",this.onWishlistStorageSynced)}disconnectedCallback(){window.removeEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),window.removeEventListener("scroll",this.boundHandleScroll),salla.event.off("wishlist::removed",this.onWishlistItemRemoved),salla.event.off("wishlist::storage.synced",this.onWishlistStorageSynced)}async setFilters(t){if(t&&JSON.stringify(t)!==JSON.stringify(this.parsedFilters))return window.scrollTo({top:0,behavior:"smooth"}),this.parsedFilters=JSON.parse(JSON.stringify(t)),"product.index"==this.currentPage?.slug&&(this.currentCategoryIdFilter=this.parsedFilters?.category_id?this.toCategoryIdFilter(this.parsedFilters.category_id):null),this.reload()}async reload(){!this.autoload&&this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.hasInfiniteScroll&&salla.infiniteScroll.destroy(this.infiniteScroll),await this.buildNextPageUrl(),this.wrapper.innerHTML="",this.hasInfiniteScroll?this.init():this.getInitialData(),this.showPlaceholder&&(this.showPlaceholder=!1,this.placeholderLoader=document.createElement("div"),this.placeholderLoader.classList.add("s-products-list-loading-wrapper"),this.placeholderLoader.style.display="inherit",this.placeholderLoader.innerHTML='<span class="s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"></span>',this.host.insertAdjacentElement("afterend",this.placeholderLoader))}isFilterable(){return salla.config.get("store.settings.product.filters")&&this.filtersResults}getCachedFilters(){return Array.isArray(this.filtersSnapshot)&&this.filtersSnapshot.length?JSON.parse(JSON.stringify(this.filtersSnapshot)):null}emitFilters(t){if(!this.isFilterable())return;if(t.filters)return this.filtersResults=!0,this.filtersSnapshot=JSON.parse(JSON.stringify(t.filters)),void salla.event.emit("filters::fetched",{filters:t.filters});const s=t.cursor?.current>1?this.getCachedFilters():null;if(s)return this.filtersResults=!0,void salla.event.emit("filters::fetched",{filters:s});this.filtersSnapshot=[],salla.event.emit("filters::hidden")}isSourceWithoutValue(){const t=this.getSource();if("wishlist"===t){const t=new URLSearchParams(window.location.search);return!(t.has("source_value")||t.has("source_value[]")||this.sourceValue)}return["offers","latest","sales","top-rated","reorder"].includes(t)}animateItems(){o({targets:"salla-products-list salla-product-card",opacity:[0,1],duration:1200,translateY:[20,0],delay:function(t,s){return 100*s}})}async initBaseNextPageUrl(t){this.nextPage=salla.url.api(`products?source=${t}`),this.includes?.length&&(this.nextPage+=`&includes[]=${this.includes.join("&includes[]=")}`),this.limit&&(this.nextPage+=`&per_page=${this.limit>32?32:this.limit}`),this.sortBy&&(this.nextPage+=`&sort=${this.sortBy}`),"preview"===salla.config.get("theme.mode")&&(this.nextPage+="&use_username_url=1"),this.nextPage+="&filterable=1";for(const[t,s]of Object.entries(this.parsedFilters||{}))if("source_value"!==t&&"source_value[]"!==t)if(["string","number"].includes(typeof s))this.nextPage+=`&filters[${encodeURIComponent(t)}]=${encodeURIComponent(s)}`;else if(Array.isArray(s))s.forEach((s=>this.nextPage+=`&filters[${encodeURIComponent(t)}][]=${encodeURIComponent(s)}`));else if("object"==typeof s)for(const[i,e]of Object.entries(s))this.nextPage+=`&filters[${encodeURIComponent(t)}][${encodeURIComponent(i)}]=${encodeURIComponent(e)}`;this.nextPage=await this.applyBeforeBuildListUrl(this.nextPage)}async buildNextPageUrl(){let t=this.getSource();if("json"===t)return;const s=sessionStorage.getItem(this.infiniteScrollStateKey);if(s){const{nextPage:t}=JSON.parse(s);if(!t)return}if(await this.initBaseNextPageUrl(t),!this.isSourceWithoutValue())if(["search","related","landing-page"].includes(t))this.nextPage+=`&source_value=${this.getSourceValue()}`;else try{this.nextPage+=`&source_value[]=${this.getSourceValue().join("&source_value[]=")}`}catch(s){salla.logger.warn(`source-value prop should be array of ids ex source-value="[1,2,3]" for the source [${t}]`),this.sourceValueIsValid=!1}}loading(t=!0,s=!1){if(t){let t=s&&!this.autoload?this.btnLoader:this.loader;t&&(t.style.display="inherit")}else this.autoload||this.btnLoader&&(this.btnLoader.style.display="none"),this.loader&&(this.loader.style.display="none")}getItemHTML(t){"landing-page"===this.getSource()&&(t.url="");const s=document.createElement(this.hasCustomComponent?this.productCardComponent:"salla-product-card");return s.product=t,this.compactCards&&(s.compact=!0,s.toggleAttribute("compact",!0)),this.applyLandingPageStyles(s),this.applyHorizontalCardStyles(s),s.addEventListener("click",(s=>{s.target.closest("a")&&(l.saveProductSource(this.getSource()),this.hasInfiniteScroll&&(this.takeStateSnapshot(),sessionStorage.setItem(this.lastViewedProductKey,t.id)))})),this.selectable?this.wrapSelectableItem(s,t):s}wrapSelectableItem(t,s){const i=document.createElement("div");i.className="s-products-list-selectable-item",i.product=s;const e=this.selectedProducts.has(s.id);e&&i.classList.add("s-products-list-item-selected");const r=document.createElement("label");r.className="s-products-list-select-control",r.setAttribute("aria-label",salla.lang.get("common.elements.select","تحديد"));const o=document.createElement("input");return o.type="checkbox",o.className="s-products-list-select-checkbox",o.checked=e,o.addEventListener("change",(()=>this.toggleSelection(s,i,o.checked))),r.appendChild(o),i.appendChild(r),i.appendChild(t),i}toggleSelection(t,s,i){i?(this.selectedProducts.set(t.id,t),s?.classList.add("s-products-list-item-selected")):(this.selectedProducts.delete(t.id),s?.classList.remove("s-products-list-item-selected")),this.emitSelection()}emitSelection(){const t=Array.from(this.selectedProducts.values()),s=Array.from(this.selectedProducts.keys()),i={ids:s,products:t,count:s.length};this.selectionChanged.emit(i),salla.event.emit("salla-products-list::selection.changed",i)}appendProductCards(t){this.wrapper&&((Array.isArray(t)?t:[t]).forEach((t=>this.wrapper.append(t))),this.onWishlistStorageSynced())}refreshWishlistIconsAfterHydration(){return salla.wishlist.api.syncStorageFromServer()}onSelectableChanged(t,s){t!==s&&this.isReady&&this.wrapper&&(t||(this.selectedProducts.clear(),this.emitSelection()),this.reload())}applyLandingPageStyles(t){"landing-page"!==this.getSource()||this.hasCustomComponent||(t.toggleAttribute("hide-add-btn",!0),t.classList.add("s-product-card-fit-height"))}applyHorizontalCardStyles(t){this.horizontalCards&&(t.toggleAttribute("horizontal",!0),this.hasCustomComponent||t.toggleAttribute("shadow-on-hover",!0))}waitForResizing(t){let s=null;return new Promise((i=>{const e=new ResizeObserver((()=>{clearTimeout(s),s=setTimeout((()=>{e.disconnect(),i(null)}),160)}));e.observe(t)}))}waitForLayoutStable(t){let s=null,i=null;return new Promise((e=>{let r;const o=()=>{clearTimeout(s),clearTimeout(i),r.disconnect(),e(null)};r=new MutationObserver((()=>{clearTimeout(s),s=setTimeout(o,160)})),r.observe(t,{childList:!0,subtree:!0,attributes:!0}),i=setTimeout(o,1e3)}))}async waitForStableLayout(t){return await Promise.allSettled([this.waitForResizing(t),this.waitForLayoutStable(t)])}scrollToLastViewedProduct(){const t=sessionStorage.getItem(this.lastViewedProductKey);t&&!salla.url.is_page("product.single")&&this.isElementLoaded(`[id*="${t}"]`).then((()=>{const s=this.wrapper?.querySelector(`[id*="${t}"]`);if(!s)return;const i=()=>{const t=()=>{s.scrollIntoView({block:"start",behavior:"instant"});const t=matchMedia("(max-width: 1024px)").matches?"header .inner":"ul.main-menu",i=window?.header_is_sticky?document.querySelector(t)?.getBoundingClientRect()?.height??56:0,e=parseInt(getComputedStyle(this.wrapper).rowGap)??16;scrollBy({top:-1*(i+e),behavior:"instant"})};requestAnimationFrame(t),s.querySelectorAll("img.lazy").forEach((s=>{const i=s,e=()=>{requestAnimationFrame(t),i.onload=i.onerror=null};i.onload=e,i.onerror=e})),this.removeScrollRestorationSession()};this.waitForStableLayout(this.host).then((()=>requestAnimationFrame(i)))}))}isElementLoaded(t){return new Promise((s=>{const i=setInterval((()=>{if(document.querySelector(t))return clearInterval(i),s(document.querySelector(t))}),50)}))}takeStateSnapshot(){const t=[];for(let s=0;s<this.wrapper.children.length;s++){const i=this.wrapper.children?.[s];t.push(i.product)}const s={pageIndex:Math.max((this.infiniteScroll?.pageIndex??1)-1,1),nextPage:this.nextPage,currentPageData:t};if(this.isFilterable()){const t=sessionStorage.getItem(this.filtersKey);sessionStorage.setItem(this.filtersKey,t||JSON.stringify(this.filtersSnapshot))}sessionStorage.setItem(this.infiniteScrollStateKey,JSON.stringify(s));let i=salla.config.get("page.id");const e=Object.keys(this.specialPagesWithoutIds).find((t=>salla.url.is_page(t)));e?i=this.specialPagesWithoutIds[e]:null!==i&&(i=String(i)),sessionStorage.setItem(this.prevCategoryIdKey,i)}removeScrollRestorationSession(){this.isFilterable()||sessionStorage.removeItem(this.filtersKey),sessionStorage.removeItem(this.infiniteScrollStateKey),sessionStorage.removeItem(this.lastViewedProductKey),sessionStorage.removeItem(this.prevCategoryIdKey)}loadStoredScrollState(){const t=sessionStorage.getItem(this.infiniteScrollStateKey),s=sessionStorage.getItem(this.filtersKey),i=sessionStorage.getItem(this.prevCategoryIdKey),e=this.specialPagesWithoutIds[salla.config.get("page.slug")]||null,r=salla.config.get("page.id"),o=salla.url.is_page("index"),a=salla.url.is_page("product.single"),l=e?i!==e:i!==String(r);if(i&&l&&!o&&!a||o&&!this.hasInfiniteScroll)return this.removeScrollRestorationSession(),this.switchToNormalBehavior=!0,!1;if(a)return this.switchToNormalBehavior=!0,!1;if(t)try{const{pageIndex:i,nextPage:e,currentPageData:r}=JSON.parse(t);if(s&&"undefined"!==s){const t=JSON.parse(s);this.filtersSnapshot=JSON.parse(JSON.stringify(t)),salla.event.emit("filters::fetched",{filters:t})}return this.page=i,this.nextPage=e,this.appendProductCards(r.map((t=>this.getItemHTML(t)))),!0}catch(t){console.error("Failed to load stored scroll state:",t),this.removeScrollRestorationSession()}return!1}getSource(){return l.getProductsSource(this.source)}isAuxiliaryProductsListSource(){return["json","selected","related","landing-page","recently"].includes(this.getSource())}toCategoryIdFilter(t){return Array.isArray(t)?t:t&&"object"==typeof t?Object.values(t):[t]}getSourceValue(){if("wishlist"===this.getSource()){const t=new URLSearchParams(window.location.search),s=t.getAll("source_value[]").length?t.getAll("source_value[]"):t.getAll("source_value");if(s.length)return s}return this.currentCategoryIdFilter?this.currentCategoryIdFilter:l.getProductsSourceValue(this.source,this.sourceValue)}logFetchError(t,s,i,e,r){try{const o=r&&"object"==typeof r?r:null,a=this.getSourceValue();salla.analytics?.log("salla::products.list.fetch.error",{errorPhase:t,source:this.getSource(),sourceValue:"string"==typeof a&&a.length>200?`${a.slice(0,200)}…`:Array.isArray(a)?{length:a.length}:a,pageIndex:this.infiniteScroll?.pageIndex,fetchPath:i,httpStatus:e?.status,httpStatusText:e?.statusText,responseUrl:e?.url,...o&&{dataCount:Array.isArray(o.data)?o.data.length:void 0,responseKeys:Object.keys(o).slice(0,15),filtersCount:Array.isArray(o.filters)?o.filters.length:void 0},errorMessage:s instanceof Error?s.message:String(s),..."processing"===t&&s instanceof Error&&s.stack?{errorStack:s.stack.slice(0,500)}:{}})}catch{}}appendDataLayer(t){"object"==typeof dataLayer&&Array.isArray(dataLayer)&&dataLayer.push({event:"impressions",ecommerce:{currencyCode:salla.config.currency().code,impressions:t.map(((t,s)=>({id:t.id,name:t.name,price:t.price,brand:t.brand?.name||"",quantity:t.quantity,categories:[{name:t.category?.name||salla.config.get("page.title"),id:salla.config.get("page.id")}],category:t.category?.name||salla.config.get("page.title"),position:s+1})))}})}initiateInfiniteScroll(){if(!this.hasInfiniteScroll)return;const t=this.autoload&&this.includes&&this.includes.length>0;this.infiniteScroll=salla.infiniteScroll.initiate(this.wrapper,this.wrapper,{path:()=>this.nextPage,history:!1,nextPage:this.nextPage,scrollThreshold:!t&&!!this.autoload&&100,loadOnScroll:!t&&this.autoload},!0),this.infiniteScroll.pageIndex=this.page,this.infiniteScroll?.on("request",(()=>{this.loading(!0,!this.autoload)})),t&&window.addEventListener("scroll",this.boundHandleScroll),this.infiniteScroll?.on("load",(async(t,s,i)=>{if(!this.isProcessing){this.isProcessing=!0;try{if(!t.data?.length&&2===this.infiniteScroll.pageIndex)return this.showPlaceholder=!0,salla.infiniteScroll.destroy(this.infiniteScroll),this.loading(!1),void(this.placeholderLoader&&this.placeholderLoader.remove());this.includes&&await this.injectAndProcessData(t);const s=await this.handleResponse(t);this.infiniteScroll.appendItems(s),this.onWishlistStorageSynced(),2===this.infiniteScroll.pageIndex&&(!this.autoload&&this.nextPage&&(this.loadMoreWrapper.style.display="block"),this.animateItems(),this.refreshInfiniteScrollMeasurements())}catch(e){console.error("Error during load:",e),this.logFetchError("processing",e,"string"==typeof s?s:void 0,i,t)}finally{this.isProcessing=!1}}})),this.infiniteScroll?.on("error",((t,s,i)=>{const e=i;this.status.querySelector(".s-infinite-scroll-error").classList.remove("s-hidden"),this.placeholderLoader&&this.placeholderLoader.remove(),this.loading(!1),this.isProcessing=!1,this.logFetchError("fetch",t,s,e)})),salla.onReady((()=>{sessionStorage.getItem(this.infiniteScrollStateKey)||this.manualLoadNextPage()}))}handleScroll(){this.isProcessing||this.scrollTimeout||(this.scrollTimeout=setTimeout((()=>{this.scrollTimeout=null,requestAnimationFrame((()=>{const t=this.wrapper.getBoundingClientRect(),s=window.innerHeight;t.bottom-s<=200&&!this.isProcessing&&this.nextPage&&this.manualLoadNextPage()}))}),200))}manualLoadNextPage(){this.nextPage&&this.infiniteScroll.loadNextPage()}refreshInfiniteScrollMeasurements(){this.autoload&&this.infiniteScroll?.updateMeasurements&&this.waitForStableLayout(document.body).then((()=>this.infiniteScroll?.updateMeasurements?.()))}async applyBeforeBuildListUrl(t){try{const s={component:this,url:t};return await salla.hooks.call("salla-products-list","beforeBuildListUrl",s),s.url}catch(s){return salla.logger.warn("beforeBuildListUrl hook failed",s?.message),t}}async resolveNextPageFromCursor(t){return t.cursor?t.cursor.next?await this.applyBeforeBuildListUrl(t.cursor.next):t.cursor.next:this.nextPage}async injectAndProcessData(t){try{await l.injectExtraFieldsToResponse(t)}catch(t){console.error("Error injecting data:",t)}}getInitialData(){return this.loading(),salla.api.withoutNotifier((()=>salla.product.api.fetch({source:l.getApiSource(this.getSource()),source_value:this.getSourceValue(),limit:this.limit}).then((async t=>t.data.length?(await l.injectExtraFieldsToResponse(t),this.firstPageResponse?void this.appendProductCards(await this.handleResponse(t)):(this.firstPageResponse=t,void(this.nextPage=await this.resolveNextPageFromCursor(t)))):(this.showPlaceholder=!0,this.placeholderLoader&&this.placeholderLoader.remove(),void this.loading(!1))))))}async loadMore(){this.infiniteScroll?.loadNextPage()}async getSelected(){return{ids:Array.from(this.selectedProducts.keys()),products:Array.from(this.selectedProducts.values())}}async getLoadedProducts(){const t=[];if(!this.wrapper)return t;for(let s=0;s<this.wrapper.children.length;s++){const i=this.wrapper.children[s];i?.product&&t.push(i.product)}return t}async selectAll(){if(this.selectable&&this.wrapper){for(let t=0;t<this.wrapper.children.length;t++){const s=this.wrapper.children[t];if(s?.product){this.selectedProducts.set(s.product.id,s.product),s.classList.add("s-products-list-item-selected");const t=s.querySelector(".s-products-list-select-checkbox");t&&(t.checked=!0)}}this.emitSelection()}}async clearSelection(){this.selectedProducts.clear(),this.wrapper&&(this.wrapper.querySelectorAll(".s-products-list-select-checkbox").forEach((t=>t.checked=!1)),this.wrapper.querySelectorAll(".s-products-list-item-selected").forEach((t=>t.classList.remove("s-products-list-item-selected")))),this.emitSelection()}componentWillLoad(){return salla.onReady().then((async()=>{this.hasCustomComponent=!!customElements.get(this.productCardComponent),this.sourceValueIsValid=!(!this.getSourceValue()&&!this.isSourceWithoutValue()),this.hasInfiniteScroll=!this.isAuxiliaryProductsListSource()&&!this.limit;let t=new URLSearchParams(window.location.search);try{this.sortBy=this.sortBy||t.get("sort")||t.get("by"),this.parsedFilters=l.extractFiltersFromUrl(t),this.parsedFilters&&this.parsedFilters.category_id&&(this.currentCategoryIdFilter=this.toCategoryIdFilter(this.parsedFilters.category_id))}catch(t){salla.logger.warn("failed to get filters from url",t.message)}if(await this.buildNextPageUrl(),this.isReady=!0,!sessionStorage.getItem(this.infiniteScrollStateKey))if(this.sourceValueIsValid){if(!this.hasInfiniteScroll){if("json"===this.getSource())return this.getSourceValue().length?void setTimeout((()=>{this.appendProductCards(this.getSourceValue().map((t=>this.getItemHTML(t))))})):void(this.showPlaceholder=!0);if("selected"!==this.getSource()||this.getSourceValue().length)return this.getInitialData();this.showPlaceholder=!0}}else salla.logger.warn(`source-value prop is required for source [${this.getSource()}]`)}))}async componentDidLoad(){this.hasInfiniteScroll&&this.init(),await Salla.hooks.registerComponent("salla-products-list",this),this.loadStoredScrollState()?(this.autoload?!this.nextPage&&this.loading(!1):this.nextPage?this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="block"):(this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden")),this.scrollToLastViewedProduct(),this.refreshInfiniteScrollMeasurements()):!this.firstPageResponse&&this.switchToNormalBehavior?this.getInitialData().then((async()=>{this.firstPageResponse?(this.appendProductCards(await this.handleResponse(this.firstPageResponse,!1)),setTimeout((()=>{if(!this.autoload&&this.nextPage&&1==this.infiniteScroll.pageIndex){const t=this.host.querySelector(".s-infinite-scroll-wrapper");t&&(t.style.display="block")}}))):console.error("No response received after getInitialData.")})).catch((t=>{console.error("Error during initial data fetch:",t)})):this.firstPageResponse&&this.appendProductCards(await this.handleResponse(this.firstPageResponse,!1)),await this.refreshWishlistIconsAfterHydration()}canRender(){return this.sourceValueIsValid&&this.isReady}render(){return this.canRender()?this.showPlaceholder?i("div",{class:"s-products-list-placeholder"},i("span",{innerHTML:a}),i("p",null,this.placeholderText)):i(e,{class:"s-products-list"},i("div",{class:{"s-products-list-wrapper":!0,"s-products-list-horizontal-cards":this.horizontalCards&&!this.filtersResults,"s-products-list-vertical-cards":!this.horizontalCards&&!this.rowCards&&!this.filtersResults,"s-products-list-row-cards":this.rowCards,"s-products-list-compact-cards":this.compactCards,"s-products-list-filters-results":this.filtersResults},ref:t=>this.wrapper=t}),i("div",{class:"s-infinite-scroll-status",ref:t=>this.status=t},i("p",{class:"s-infinite-scroll-last infinite-scroll-last s-hidden"},this.endOfText),i("p",{class:"s-infinite-scroll-error infinite-scroll-error s-hidden"},this.failedLoadMore)),this.autoload&&i("div",{class:"s-products-list-loading-wrapper",style:{display:"none"},ref:t=>this.loader=t},i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"})),this.hasInfiniteScroll&&this.nextPage&&!this.autoload?i("div",{class:"s-infinite-scroll-wrapper",style:{display:"none"},ref:t=>this.loadMoreWrapper=t},i("button",{onClick:()=>this.loadMore(),class:"s-infinite-scroll-btn s-button-btn s-button-primary"},i("span",{class:"s-button-text s-infinite-scroll-btn-text"},this.loadMoreText?this.loadMoreText:salla.lang.get("common.elements.load_more")),i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader",ref:t=>this.btnLoader=t,style:{display:"none"}}))):""):""}init(){this.initiateInfiniteScroll(),this.loading()}async handleResponse(t,s=!0){if(!t)return[];let i=this.getSource();if(1===t.cursor?.current){if(!this.isAuxiliaryProductsListSource()){let s=l.getPageTitleForSource(i);try{if("search"===this.getSource())s=salla.lang.get("common.elements.search_about",{word:this.getSourceValue()});else if(!s){let i=Object.keys(this.parsedFilters||{}).length?null:this.getSourceValue()[0];s=t.filters?.find((t=>"category_id"===t.key))?.values?.find((t=>t.key==i))?.value??""}s+=(s?" - ":"")+salla.lang.choice("blocks.header.products_count",t.data?.length),15===t.data.length&&(s=s.replace(t.data.length,salla.lang.get("common.elements.more_than")+" "+t.data.length)),t.title=s}catch(t){salla.logger.error("Error::falid to handle response",t)}}l.generateProductSchema(t.data)}this.appendDataLayer(t.data),t.nextPage=this.nextPage,t.source=this.getSource(),t.sourceValue=this.getSourceValue(),salla.event.emit("salla-products-list::products.fetched",t),this.productsFetched.emit(t),this.emitFilters(t),s&&(this.nextPage=await this.resolveNextPageFromCursor(t)),this.loading(!1),this.placeholderLoader&&this.placeholderLoader.remove(),this.hasInfiniteScroll&&!this.nextPage&&(this.infiniteScroll.option({scrollThreshold:!1,loadOnScroll:!1}),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden"));const e=[];for(let s=0;s<t.data.length;s++)e.push(this.getItemHTML(t.data?.[s]));return e}get host(){return r(this)}static get watchers(){return{selectable:["onSelectableChanged"]}}};n.style='.s-products-list-selectable-item{position:relative;border-radius:0.5rem;transition:box-shadow 0.15s ease-in-out}.s-products-list-item-selected{box-shadow:0 0 0 2px var(--color-primary)}.s-products-list-select-control{position:absolute;top:10px;inset-inline-start:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.s-products-list-select-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:22px;height:22px;margin:0;cursor:pointer;color:var(--color-primary);border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;background-color:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out}.s-products-list-select-checkbox:hover{border-color:var(--color-primary)}.s-products-list-select-checkbox:focus,.s-products-list-select-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent)}.s-products-list-select-checkbox:checked,.s-products-list-select-checkbox:checked:hover,.s-products-list-select-checkbox:checked:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-products-list-select-checkbox:checked::after{content:"";position:absolute;top:50%;left:50%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg)}.s-products-list-row-cards .s-products-list-select-control{top:50%;inset-inline-start:14px;transform:translateY(-50%)}.s-products-list-row-cards .s-products-list-selectable-item>:not(.s-products-list-select-control){padding-inline-start:2.75rem}';export{n as salla_products_list}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as s,h as e,a}from"./p-DpB3UAAA.js";import{S as t}from"./p-Ctkfc4K-.js";import{S as l}from"./p-cgSL_BIo.js";import{S as o}from"./p-D1s2kXqL.js";const i=class{constructor(e){s(this,e),this.offer=null,this.hasError=!1,this.translationLoaded=!1,this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),salla.event.on("offer-modal::open",(s=>this.open(s))),salla.lang.onLoaded((()=>{this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.translationLoaded=!0})),this.categorySlot=this.host.querySelector('[slot="category"]')?.innerHTML||'<span class="s-offer-modal-badge-icon">{tagIcon}</span><span class="s-offer-modal-badge-text">{name}</span>',salla.event.on("offer-modal::open",(s=>this.open(s))),salla.product.event.onOfferExisted((s=>{salla.storage.get("remember-offer-"+s.id)?salla.log("User selected to don't show this offer again."):this.open(s.product_id)}))}emitPromotionViewed(s){s&&salla.event.emit("promotion::viewed",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}emitPromotionClicked(s){s&&salla.event.emit("promotion::clicked",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}async open(s){return this.productID=s,this.hasError=!1,this.modal.loading(),await salla.api.withoutNotifier((()=>salla.product.offers(s))).then((s=>{s.data&&s.data.length&&(this.modal.open(),this.showOffer(s.data[0]))})).catch((s=>{this.hasError=!0,this.errorMessage=s.response?.data?.error?.message||s.response?.data,this.modal.open()})).finally((()=>{this.modal.visible&&setTimeout((()=>this.modal.stopLoading()),1e3)}))}async showOffer(s){this.offer=s,this.offer_name=s.name,this.offer_message=s.message,this.offer.get.discounts_table?this.offer_type="discounts-table":this.offer.get.products?.length?this.offer_type="products":this.offer.get.categories?.length?this.offer_type="categories":this.offer.get.brands?.length?this.offer_type="brands":this.offer.get.tags?.length&&(this.offer_type="tags"),this.modal.setTitle(this.offer_name),this.emitPromotionViewed(this.offer)}rememberMe(s){salla.storage.set("remember-offer-"+this.offer.id,s.target.checked)}addToCart(s){this.emitPromotionClicked(this.offer),salla.api.withoutNotifier((()=>salla.cart.quickAdd(this.productID,s,this.offer_type))).then((()=>this.modal.close()))}getOfferContent(){if(this.offer.get.discounts_table)return e("div",{class:"s-offer-modal-discount-table"},e("table",null,e("tbody",null,this.offer.get.discounts_table?.map((s=>e("tr",null,e("td",null,s.text),e("td",{class:"s-offer-modal-discount-table-cell"},e("salla-button",{fill:"outline",shape:"btn",color:"primary",size:"medium",width:"normal",onClick:()=>this.addToCart(s.quantity)},this.addToCartLabel))))))));if(this.offer.get.products?.length){const s=this.offer.get.products?.length||0,a={slidesPerView:"auto",spaceBetween:16,breakpoints:{768:{slidesPerView:Math.min(2,s),spaceBetween:16},1024:{slidesPerView:Math.min(3,s),spaceBetween:16}}};return e("salla-products-slider",{key:(this.offer.get.products?.map((s=>s.id))||[]).join(","),source:"selected","source-value":`[${(this.offer.get.products?.map((s=>s.id))||[]).join(",")}]`,"slider-config":JSON.stringify(a)})}return this.offer.get.categories?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.categories?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.categories?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.categories.map((s=>e("a",{href:s.urls.customer,class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-cat-item",innerHTML:this.categorySlot.replace(/\{tagIcon\}/g,l).replace(/\{name\}/g,s.name).replace(/\{url\}/g,s.urls.customer)}))))):this.offer.get.brands?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.brands?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.brands?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.brands.map((s=>e("a",{href:s.url||salla.url.create("brands",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-brand-item"},e("div",{class:"s-offer-modal-brand-logo"},e("img",{src:s.logo,alt:s.name})),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):this.offer.get.tags?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.tags?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.tags?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.tags.map((s=>e("a",{href:s.url||salla.url.create("tags",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-tag-item"},e("span",{class:"s-offer-modal-badge-icon",innerHTML:l}),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):void 0}render(){return e("salla-modal",{key:"570466318b6cd66a7a8b3dd0d80424c2fd73328d","has-skeleton":!0,"sub-title":this.offer_message,ref:s=>this.modal=s,isLoading:!0,class:`s-offer-modal-type-${this.offer_type?this.offer_type:""}`},e("div",{key:"ded0c8df17d5e5c1d6e77b8e1be469e69d3ee12f",slot:"loading"},e("div",{key:"fc96c54fcecc896b3e5a1838e2d07d545fce2f85",class:"s-offer-modal-skeleton"},e("div",{key:"ee7a6f25aabbf4263b43fc7545bbb2c7bfca9b3a",class:"s-offer-modal-skeleton-header"},e("salla-skeleton",{key:"9604f5f33d1d8e074cc3c314addb945b087431ee",type:"circle",height:"80px",width:"80px"}),e("salla-skeleton",{key:"65194ecfee0a01f7c38aa72f7ce2c8c81c893b1f",height:"15px",width:"50%"}),e("salla-skeleton",{key:"21d466bf32f435a511dcece76f51f4052089c130",height:"10px",width:"30%"})),e("div",{key:"53fb44c7c60ca8236dc7ec60ff65cb71df39c03b",class:"s-offer-modal-skeleton-items"},[...Array(3)].map((()=>e("div",{class:"s-offer-modal-skeleton-item"},e("salla-skeleton",{height:"9rem"}),e("div",{class:"s-offer-modal-skeleton-item-title"},e("salla-skeleton",{height:"15px",width:"100%"})),e("div",{class:"s-offer-modal-skeleton-item-subtitle"},e("salla-skeleton",{height:"9px",width:"50%"}),e("div",{innerHTML:o})))))),e("div",{key:"52ad47514b0c00b73ec7d98073b09d21ce6a2b12",class:"s-offer-modal-skeleton-footer"},e("salla-skeleton",{key:"a271e30ab34d96731cc1f51c32cba9aaefee1953",height:"15px",width:"50%"}),e("salla-skeleton",{key:"6e199a5b1283c9d82588c60c712d3799b88c5c8d",height:"15px",width:"30%"})))),this.hasError||null===this.offer?e("salla-placeholder",{class:"s-loyalty-placeholder",alignment:"center"},this.errorMessage?e("span",{slot:"description"},this.errorMessage):""):[e("span",{slot:"icon",class:"s-offer-modal-header-icon",innerHTML:t}),this.getOfferContent(),e("div",{class:"s-offer-modal-footer",slot:"footer"},this.offer.formatted_date?e("p",{class:"s-offer-modal-expiry"},salla.lang.get("pages.products.offer_expires_in")," ",this.offer.formatted_date):"",e("label",{class:"s-offer-modal-remember-label"},e("input",{type:"checkbox",onChange:s=>this.rememberMe(s),class:"s-offer-modal-remember-input"}),"  ",salla.lang.get("common.elements.remember_my_choice")))])}get host(){return a(this)}};i.style=".s-offer-modal-type-products .s-modal-body{min-height:690px;position:relative}";export{i as salla_offer_modal}
4
+ import{r as s,h as e,a}from"./p-DWPgHXOD.js";import{S as t}from"./p-Ctkfc4K-.js";import{S as l}from"./p-cgSL_BIo.js";import{S as o}from"./p-D1s2kXqL.js";const i=class{constructor(e){s(this,e),this.offer=null,this.hasError=!1,this.translationLoaded=!1,this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),salla.event.on("offer-modal::open",(s=>this.open(s))),salla.lang.onLoaded((()=>{this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.translationLoaded=!0})),this.categorySlot=this.host.querySelector('[slot="category"]')?.innerHTML||'<span class="s-offer-modal-badge-icon">{tagIcon}</span><span class="s-offer-modal-badge-text">{name}</span>',salla.event.on("offer-modal::open",(s=>this.open(s))),salla.product.event.onOfferExisted((s=>{salla.storage.get("remember-offer-"+s.id)?salla.log("User selected to don't show this offer again."):this.open(s.product_id)}))}emitPromotionViewed(s){s&&salla.event.emit("promotion::viewed",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}emitPromotionClicked(s){s&&salla.event.emit("promotion::clicked",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}async open(s){return this.productID=s,this.hasError=!1,this.modal.loading(),await salla.api.withoutNotifier((()=>salla.product.offers(s))).then((s=>{s.data&&s.data.length&&(this.modal.open(),this.showOffer(s.data[0]))})).catch((s=>{this.hasError=!0,this.errorMessage=s.response?.data?.error?.message||s.response?.data,this.modal.open()})).finally((()=>{this.modal.visible&&setTimeout((()=>this.modal.stopLoading()),1e3)}))}async showOffer(s){this.offer=s,this.offer_name=s.name,this.offer_message=s.message,this.offer.get.discounts_table?this.offer_type="discounts-table":this.offer.get.products?.length?this.offer_type="products":this.offer.get.categories?.length?this.offer_type="categories":this.offer.get.brands?.length?this.offer_type="brands":this.offer.get.tags?.length&&(this.offer_type="tags"),this.modal.setTitle(this.offer_name),this.emitPromotionViewed(this.offer)}rememberMe(s){salla.storage.set("remember-offer-"+this.offer.id,s.target.checked)}addToCart(s){this.emitPromotionClicked(this.offer),salla.api.withoutNotifier((()=>salla.cart.quickAdd(this.productID,s,this.offer_type))).then((()=>this.modal.close()))}getOfferContent(){if(this.offer.get.discounts_table)return e("div",{class:"s-offer-modal-discount-table"},e("table",null,e("tbody",null,this.offer.get.discounts_table?.map((s=>e("tr",null,e("td",null,s.text),e("td",{class:"s-offer-modal-discount-table-cell"},e("salla-button",{fill:"outline",shape:"btn",color:"primary",size:"medium",width:"normal",onClick:()=>this.addToCart(s.quantity)},this.addToCartLabel))))))));if(this.offer.get.products?.length){const s=this.offer.get.products?.length||0,a={slidesPerView:"auto",spaceBetween:16,breakpoints:{768:{slidesPerView:Math.min(2,s),spaceBetween:16},1024:{slidesPerView:Math.min(3,s),spaceBetween:16}}};return e("salla-products-slider",{key:(this.offer.get.products?.map((s=>s.id))||[]).join(","),source:"selected","source-value":`[${(this.offer.get.products?.map((s=>s.id))||[]).join(",")}]`,"slider-config":JSON.stringify(a)})}return this.offer.get.categories?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.categories?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.categories?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.categories.map((s=>e("a",{href:s.urls.customer,class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-cat-item",innerHTML:this.categorySlot.replace(/\{tagIcon\}/g,l).replace(/\{name\}/g,s.name).replace(/\{url\}/g,s.urls.customer)}))))):this.offer.get.brands?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.brands?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.brands?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.brands.map((s=>e("a",{href:s.url||salla.url.create("brands",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-brand-item"},e("div",{class:"s-offer-modal-brand-logo"},e("img",{src:s.logo,alt:s.name})),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):this.offer.get.tags?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.tags?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.tags?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.tags.map((s=>e("a",{href:s.url||salla.url.create("tags",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-tag-item"},e("span",{class:"s-offer-modal-badge-icon",innerHTML:l}),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):void 0}render(){return e("salla-modal",{key:"570466318b6cd66a7a8b3dd0d80424c2fd73328d","has-skeleton":!0,"sub-title":this.offer_message,ref:s=>this.modal=s,isLoading:!0,class:`s-offer-modal-type-${this.offer_type?this.offer_type:""}`},e("div",{key:"ded0c8df17d5e5c1d6e77b8e1be469e69d3ee12f",slot:"loading"},e("div",{key:"fc96c54fcecc896b3e5a1838e2d07d545fce2f85",class:"s-offer-modal-skeleton"},e("div",{key:"ee7a6f25aabbf4263b43fc7545bbb2c7bfca9b3a",class:"s-offer-modal-skeleton-header"},e("salla-skeleton",{key:"9604f5f33d1d8e074cc3c314addb945b087431ee",type:"circle",height:"80px",width:"80px"}),e("salla-skeleton",{key:"65194ecfee0a01f7c38aa72f7ce2c8c81c893b1f",height:"15px",width:"50%"}),e("salla-skeleton",{key:"21d466bf32f435a511dcece76f51f4052089c130",height:"10px",width:"30%"})),e("div",{key:"53fb44c7c60ca8236dc7ec60ff65cb71df39c03b",class:"s-offer-modal-skeleton-items"},[...Array(3)].map((()=>e("div",{class:"s-offer-modal-skeleton-item"},e("salla-skeleton",{height:"9rem"}),e("div",{class:"s-offer-modal-skeleton-item-title"},e("salla-skeleton",{height:"15px",width:"100%"})),e("div",{class:"s-offer-modal-skeleton-item-subtitle"},e("salla-skeleton",{height:"9px",width:"50%"}),e("div",{innerHTML:o})))))),e("div",{key:"52ad47514b0c00b73ec7d98073b09d21ce6a2b12",class:"s-offer-modal-skeleton-footer"},e("salla-skeleton",{key:"a271e30ab34d96731cc1f51c32cba9aaefee1953",height:"15px",width:"50%"}),e("salla-skeleton",{key:"6e199a5b1283c9d82588c60c712d3799b88c5c8d",height:"15px",width:"30%"})))),this.hasError||null===this.offer?e("salla-placeholder",{class:"s-loyalty-placeholder",alignment:"center"},this.errorMessage?e("span",{slot:"description"},this.errorMessage):""):[e("span",{slot:"icon",class:"s-offer-modal-header-icon",innerHTML:t}),this.getOfferContent(),e("div",{class:"s-offer-modal-footer",slot:"footer"},this.offer.formatted_date?e("p",{class:"s-offer-modal-expiry"},salla.lang.get("pages.products.offer_expires_in")," ",this.offer.formatted_date):"",e("label",{class:"s-offer-modal-remember-label"},e("input",{type:"checkbox",onChange:s=>this.rememberMe(s),class:"s-offer-modal-remember-input"}),"  ",salla.lang.get("common.elements.remember_my_choice")))])}get host(){return a(this)}};i.style=".s-offer-modal-type-products .s-modal-body{min-height:690px;position:relative}";export{i as salla_offer_modal}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r,h as e}from"./p-DpB3UAAA.js";function t(r){var e,s,a="";if("string"==typeof r||"number"==typeof r)a+=r;else if("object"==typeof r)if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(s=t(r[e]))&&(a&&(a+=" "),a+=s);else for(e in r)r[e]&&(a&&(a+=" "),a+=e);return a}const s=r=>"boolean"==typeof r?"".concat(r):0===r?"0":r,a=function(){for(var r,e,s=0,a="";s<arguments.length;)(r=arguments[s++])&&(e=t(r))&&(a&&(a+=" "),a+=e);return a},l=(n="s-badge-base",i={variants:{size:{xs:"s-badge-xs",sm:"s-badge-sm",md:"s-badge-md"},bg:{transparent:"s-badge-transparent",light:"s-badge-light","primary-100":"s-badge-primary-100"},color:{black:"s-badge-black","primary-900":"s-badge-color-primary-900"}}},r=>{var e;if(null==(null==i?void 0:i.variants))return a(n,null==r?void 0:r.class,null==r?void 0:r.className);const{variants:t,defaultVariants:l}=i,o=Object.keys(t).map((e=>{const a=null==r?void 0:r[e],n=null==l?void 0:l[e];if(null===a)return null;const i=s(a)||s(n);return t[e][i]})),d=r&&Object.entries(r).reduce(((r,e)=>{let[t,s]=e;return void 0===s||(r[t]=s),r}),{}),b=null==i||null===(e=i.compoundVariants)||void 0===e?void 0:e.reduce(((r,e)=>{let{class:t,className:s,...a}=e;return Object.entries(a).every((r=>{let[e,t]=r;return Array.isArray(t)?t.includes({...l,...d}[e]):{...l,...d}[e]===t}))?[...r,t,s]:r}),[]);return a(n,o,b,null==r?void 0:r.class,null==r?void 0:r.className)});var n,i;const o=class{constructor(e){r(this,e),this.size="sm",this.color="black",this.bg="light"}render(){return e("div",{key:"54d35eb76a59251edb581786e5e89a83b6f8fbf0",class:l({size:this.size,bg:this.bg,color:this.color})},e("slot",{key:"4641cb434a2c0a6d7c004e3384848a200cb79dff"}))}};o.style="";export{o as salla_badge}
4
+ import{r,h as e}from"./p-DWPgHXOD.js";function t(r){var e,s,a="";if("string"==typeof r||"number"==typeof r)a+=r;else if("object"==typeof r)if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(s=t(r[e]))&&(a&&(a+=" "),a+=s);else for(e in r)r[e]&&(a&&(a+=" "),a+=e);return a}const s=r=>"boolean"==typeof r?"".concat(r):0===r?"0":r,a=function(){for(var r,e,s=0,a="";s<arguments.length;)(r=arguments[s++])&&(e=t(r))&&(a&&(a+=" "),a+=e);return a},l=(n="s-badge-base",i={variants:{size:{xs:"s-badge-xs",sm:"s-badge-sm",md:"s-badge-md"},bg:{transparent:"s-badge-transparent",light:"s-badge-light","primary-100":"s-badge-primary-100"},color:{black:"s-badge-black","primary-900":"s-badge-color-primary-900"}}},r=>{var e;if(null==(null==i?void 0:i.variants))return a(n,null==r?void 0:r.class,null==r?void 0:r.className);const{variants:t,defaultVariants:l}=i,o=Object.keys(t).map((e=>{const a=null==r?void 0:r[e],n=null==l?void 0:l[e];if(null===a)return null;const i=s(a)||s(n);return t[e][i]})),d=r&&Object.entries(r).reduce(((r,e)=>{let[t,s]=e;return void 0===s||(r[t]=s),r}),{}),b=null==i||null===(e=i.compoundVariants)||void 0===e?void 0:e.reduce(((r,e)=>{let{class:t,className:s,...a}=e;return Object.entries(a).every((r=>{let[e,t]=r;return Array.isArray(t)?t.includes({...l,...d}[e]):{...l,...d}[e]===t}))?[...r,t,s]:r}),[]);return a(n,o,b,null==r?void 0:r.class,null==r?void 0:r.className)});var n,i;const o=class{constructor(e){r(this,e),this.size="sm",this.color="black",this.bg="light"}render(){return e("div",{key:"54d35eb76a59251edb581786e5e89a83b6f8fbf0",class:l({size:this.size,bg:this.bg,color:this.color})},e("slot",{key:"4641cb434a2c0a6d7c004e3384848a200cb79dff"}))}};o.style="";export{o as salla_badge}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as s,h as e,H as t}from"./p-DpB3UAAA.js";const a=class{constructor(e){s(this,e),this.type="normal",this.width="100%",this.height="100%"}render(){return e(t,{key:"7b36da96585cfefe9aa96df6262be14f6a03c585",class:"s-skeleton-wrapper",style:{width:this.width,height:this.height}},e("div",{key:"568ae1bc0aeae182bb32468b19601c0245e9617d",class:{"s-skeleton-item":!0,"s-skeleton-item-circular":"circle"==this.type}}," "))}};a.style=":host{display:block}";export{a as salla_skeleton}
4
+ import{r as s,h as e,H as t}from"./p-DWPgHXOD.js";const a=class{constructor(e){s(this,e),this.type="normal",this.width="100%",this.height="100%"}render(){return e(t,{key:"7b36da96585cfefe9aa96df6262be14f6a03c585",class:"s-skeleton-wrapper",style:{width:this.width,height:this.height}},e("div",{key:"568ae1bc0aeae182bb32468b19601c0245e9617d",class:{"s-skeleton-item":!0,"s-skeleton-item-circular":"circle"==this.type}}," "))}};a.style=":host{display:block}";export{a as salla_skeleton}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as s,h as i,H as e}from"./p-DpB3UAAA.js";import{a}from"./p-C8xwacGT.js";import"./p-CoQJOPRz.js";const r=class{constructor(i){t(this,i),this.orderItemUpdated=s(this,"orderItemUpdated"),this.orderItemRemoved=s(this,"orderItemRemoved"),this.quantityInput=null,this.productOptions=null,this.handleQuantityChange=t=>{const s=t.detail,i=s?.quantity??parseInt(t.target.value,10);isNaN(i)||i<1||i!==this.quantity&&(this.quantity=i,this.emitUpdate(i))},this.handleOptionsChange=()=>{this.emitUpdate(this.quantity)}}componentWillLoad(){this.quantity=this.item?.quantity||1}handleItemChange(t){const s=t?.quantity||1;s!==this.quantity&&(this.quantity=s,this.quantityInput?.setValue?.(s,!1))}get hasOptions(){return(this.item.product?.options?.length||0)>0}async getSelectedOptions(){return await(this.productOptions?.getSelectedOptionsData?.())||{}}async getOptionsData(){return await(this.productOptions?.getOptionsData?.())||this.item.product?.options||[]}async emitUpdate(t){const s=this.item?.id;if(null==s)return;const i={itemId:s,quantity:t};this.hasOptions&&(i.options=await this.getSelectedOptions(),i.optionDefinitions=await this.getOptionsData()),this.orderItemUpdated.emit(i)}removeItem(){const t=this.item?.id;null!=t&&this.orderItemRemoved.emit({itemId:t})}render(){if(!this.item)return null;const t=this.item.product,s=this.item.name||t?.name||"",r=t?.image?.url||"",n=t?.image?.alt||s,l=t?.url||"#",o=t?.price,h=a(t),d=t?.weight_label,c=this.item.product?.options,m=`order-edit-item-${this.item.id}-${t?.id}`,u={value:this.quantity};return h&&(u.max=h),i(e,null,i("div",null,i("div",{class:"s-order-edit-item-header"},i("div",{class:"s-order-edit-item-media"},r&&i("a",{href:l},i("img",{src:r,alt:n,class:"s-order-edit-item-image"})),i("div",{class:"s-order-edit-item-details"},i("h2",{class:"s-order-edit-item-name"},i("a",{href:l,class:"s-order-edit-item-link"},s)),null!=o&&i("span",{class:"s-order-edit-item-price",innerHTML:salla.money(o)}),d&&i("p",{class:"s-order-edit-item-weight"},salla.lang.getWithDefault("pages.products.weight","الوزن")," ",d))),i("salla-button",{type:"button",shape:"icon",size:"small",color:"danger","aria-label":salla.lang.getWithDefault("common.elements.delete","حذف"),onClick:()=>this.removeItem()},i("i",{class:"sicon-cancel"}))),i("div",{class:"s-order-edit-item-quantity"},i("h3",{class:"s-order-edit-item-quantity-label"},salla.lang.getWithDefault("common.elements.quantity","الكمية")),i("div",{class:"s-order-edit-item-quantity-input"},i("salla-quantity-input",{ref:t=>this.quantityInput=t,...u,onChange:this.handleQuantityChange}))),this.hasOptions&&i("form",{class:"s-order-edit-item-options",onSubmit:t=>t.preventDefault()},i("salla-product-options",{ref:t=>this.productOptions=t,onChange:this.handleOptionsChange,"product-id":t.id,"unique-key":m,options:JSON.stringify(c),key:`${m}-options`}))))}static get watchers(){return{item:["handleItemChange"]}}};r.style=":host{display:block}";export{r as salla_order_edit_item}
4
+ import{r as t,c as s,h as i,H as e}from"./p-DWPgHXOD.js";import{a}from"./p-C8xwacGT.js";import"./p-CoQJOPRz.js";const r=class{constructor(i){t(this,i),this.orderItemUpdated=s(this,"orderItemUpdated"),this.orderItemRemoved=s(this,"orderItemRemoved"),this.quantityInput=null,this.productOptions=null,this.handleQuantityChange=t=>{const s=t.detail,i=s?.quantity??parseInt(t.target.value,10);isNaN(i)||i<1||i!==this.quantity&&(this.quantity=i,this.emitUpdate(i))},this.handleOptionsChange=()=>{this.emitUpdate(this.quantity)}}componentWillLoad(){this.quantity=this.item?.quantity||1}handleItemChange(t){const s=t?.quantity||1;s!==this.quantity&&(this.quantity=s,this.quantityInput?.setValue?.(s,!1))}get hasOptions(){return(this.item.product?.options?.length||0)>0}async getSelectedOptions(){return await(this.productOptions?.getSelectedOptionsData?.())||{}}async getOptionsData(){return await(this.productOptions?.getOptionsData?.())||this.item.product?.options||[]}async emitUpdate(t){const s=this.item?.id;if(null==s)return;const i={itemId:s,quantity:t};this.hasOptions&&(i.options=await this.getSelectedOptions(),i.optionDefinitions=await this.getOptionsData()),this.orderItemUpdated.emit(i)}removeItem(){const t=this.item?.id;null!=t&&this.orderItemRemoved.emit({itemId:t})}render(){if(!this.item)return null;const t=this.item.product,s=this.item.name||t?.name||"",r=t?.image?.url||"",n=t?.image?.alt||s,l=t?.url||"#",o=t?.price,h=a(t),d=t?.weight_label,c=this.item.product?.options,m=`order-edit-item-${this.item.id}-${t?.id}`,u={value:this.quantity};return h&&(u.max=h),i(e,null,i("div",null,i("div",{class:"s-order-edit-item-header"},i("div",{class:"s-order-edit-item-media"},r&&i("a",{href:l},i("img",{src:r,alt:n,class:"s-order-edit-item-image"})),i("div",{class:"s-order-edit-item-details"},i("h2",{class:"s-order-edit-item-name"},i("a",{href:l,class:"s-order-edit-item-link"},s)),null!=o&&i("span",{class:"s-order-edit-item-price",innerHTML:salla.money(o)}),d&&i("p",{class:"s-order-edit-item-weight"},salla.lang.getWithDefault("pages.products.weight","الوزن")," ",d))),i("salla-button",{type:"button",shape:"icon",size:"small",color:"danger","aria-label":salla.lang.getWithDefault("common.elements.delete","حذف"),onClick:()=>this.removeItem()},i("i",{class:"sicon-cancel"}))),i("div",{class:"s-order-edit-item-quantity"},i("h3",{class:"s-order-edit-item-quantity-label"},salla.lang.getWithDefault("common.elements.quantity","الكمية")),i("div",{class:"s-order-edit-item-quantity-input"},i("salla-quantity-input",{ref:t=>this.quantityInput=t,...u,onChange:this.handleQuantityChange}))),this.hasOptions&&i("form",{class:"s-order-edit-item-options",onSubmit:t=>t.preventDefault()},i("salla-product-options",{ref:t=>this.productOptions=t,onChange:this.handleOptionsChange,"product-id":t.id,"unique-key":m,options:JSON.stringify(c),key:`${m}-options`}))))}static get watchers(){return{item:["handleItemChange"]}}};r.style=":host{display:block}";export{r as salla_order_edit_item}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,h as e,H as s,a as l,F as i}from"./p-DpB3UAAA.js";const n=class{constructor(e){t(this,e),this.sections=[],this.itemNumber=""}deleteItem(t,e){const s=this.host.closest("form");if(s){const l=s.getAttribute("id");if(l&&"string"==typeof l){const s=l.match(/item-(\d+)/)?.[1];this.itemNumber=s||"";const i=this.host.querySelector(`#accordion-${e.id}`);salla.cart.deleteItem(`${this.itemNumber}?product_id=${e.id}&section_id=${t}`).then((()=>i?.remove()))}}}renderRemoveButton(t,s,l=!1){return e("salla-button",{type:"button",shape:l?"btn":"icon",fill:l?"outline":"solid",size:"small",color:"danger","aria-label":"Remove from the cart",onClick:()=>this.deleteItem(t,s)},l?salla.lang.get("common.elements.delete"):e("i",{class:"sicon-cancel"}))}renderAccordionHeader(t,s){const l=s?.options&&s?.options?.length>0;return e("div",{slot:"html",class:"s-multiple-bundle-product-cart-header-wrapper"},e("div",{class:"s-multiple-bundle-product-cart-header "+(l?"":"s-multiple-bundle-product-cart-header-no-options")},e("div",{class:"s-multiple-bundle-product-cart-header-content"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-image-wrapper"},e("img",{src:s?.image?.url,alt:s?.image?.alt||s?.name,class:"s-multiple-bundle-product-cart-header-image"})),e("div",{class:"s-multiple-bundle-product-cart-header-content-details"},e("h2",{class:"s-multiple-bundle-product-cart-header-content-details-title"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-content-details-title-link"},s?.name)),e("div",{class:"s-multiple-bundle-product-cart-header-content-details-price"},e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-regular"},e("span",{innerHTML:s?.price?salla.money(s?.price):""})),s?.sale_price>0&&e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-sale"},e("span",{innerHTML:salla.money(s?.sale_price)}))),s?.quantity_in_group>0&&0!==s?.quantity&&e("p",{class:"s-multiple-bundle-product-cart-header-content-details-quantity"},e("span",null,salla.lang.get("pages.products.number_of_pieces")),e("span",null,s?.quantity_in_group)))),!l&&e("div",{class:"s-multiple-bundle-product-cart-header-remove-button"},this.renderRemoveButton(t,s,!1))))}render(){return e(s,{key:"78be7c4a3be811adb01cb1437473fcd9f1c17b41",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"9b0439dffc9a2dd8d31f56dacb5d835cde903e71",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>t.products.map((l=>{const i={sectionId:t.id,sectionIndex:s,productId:l.id};return e("salla-accordion",{key:l.id,collapsed:!1,bordered:!0,collapsible:!!(l.options&&l.options.length>0),size:"sm",id:`accordion-${l.id}`},e("salla-accordion-head",null,this.renderAccordionHeader(String(t.id),l)),l.options&&l.options.length>0&&e("salla-accordion-body",null,e("salla-product-options",{options:JSON.stringify(l.options),key:`${l.id}-persistent`,"product-id":l.id,"bundle-context":JSON.stringify(i)}),e("div",{class:"s-multiple-bundle-product-cart-body-remove-button"},this.renderRemoveButton(String(t.id),l,!0))))}))))))}get host(){return l(this)}};n.style="";const c=class{constructor(e){t(this,e),this.sections=[],this.selectedProducts={},this.productSelectedHandler=null,this.onSelectProduct=(t,e)=>{const s=e.id,l=this.selectedProducts[t]?.has(s)??!1,i=this.sections.find((e=>e.id==t));if(!(l&&i&&this.isProductSelectionLocked(i))){if(!l){if(!i)return;if(1!==this.getEffectiveMax(i)&&this.isAtSelectionLimit(i))return}this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])},l?(this.selectedProducts[t].delete(s),this.clearProductFormData(s,t),this.clearProductModalOptions(s,t)):1===this.getEffectiveMax(i)?this.syncSectionSelection(t,s):this.selectedProducts[t].add(s),this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options,wasSelected:l,isSelected:!l})}},this.ensureProductSelected=(t,e)=>{this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])};const s=e.id;if(this.selectedProducts[t].has(s))return;const l=this.sections.find((e=>e.id==t));if(!l)return;const i=this.getEffectiveMax(l);if(1===i)this.syncSectionSelection(t,s);else{if(i>1&&this.isAtSelectionLimit(l))return;this.selectedProducts[t].add(s)}this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options})},this.onSelectProductOptions=(t,e)=>{const s=this.sections.find((t=>t.id==e));if(!s||!this.canSelectProductInSection(s,t.id))return;const l=this.sections.findIndex((t=>t.id==e)),i=s.products?.findIndex((e=>e.id==t.id))??0,n=this.selectedProducts[e]?.has(t.id)??!1;salla.event.dispatch("multiple-bundle-product-modal::open",{product:t,sectionId:e,sectionIndex:l,productIndex:i,isProductAlreadySelected:n})},this.handleBundleSliderProductSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProduct(s,e)},this.handleBundleSliderProductOptionsSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProductOptions(e,s)}}isSingleProductSection(t){return 1===(t.products?.length??0)}getObligatoryMin(t){const e=t.obligatory_products;if(null==e)return 0;const s=Number(e);return Number.isNaN(s)?0:s}isProductSelectionLocked(t){return this.isSingleProductSection(t)&&1===this.getObligatoryMin(t)}getEffectiveMax(t){const e=t.products?.length??0,s=t.max_obligatory_products;return null!=s&&s>0?Math.min(s,e):e}getSelectedCount(t){return this.selectedProducts[t]?.size??0}isAtSelectionLimit(t){return this.getSelectedCount(t.id)>=this.getEffectiveMax(t)}canSelectProductInSection(t,e){return!!this.selectedProducts[t.id]?.has(e)||1===this.getEffectiveMax(t)||!this.isAtSelectionLimit(t)}async canSelectBundleProduct(t,e){const s=this.sections.find((e=>e.id==t));return!!s&&this.canSelectProductInSection(s,e)}queryProductCheckbox(t,e){const s=`input.s-multiple-bundle-product-checkbox[name="bundle[${t}][${e}][id]"]`,l=this.host.closest("form"),i=l?.querySelector(s);if(i)return i;for(const t of this.host.querySelectorAll("salla-multiple-bundle-product-slider")){const e=(t.shadowRoot??t).querySelector(s);if(e)return e}return null}dispatchBubblingChange(t){requestAnimationFrame((()=>{t.dispatchEvent(new window.Event("change",{bubbles:!0}))}))}clearSectionProductSlot(t,e,s){const l=this.queryProductCheckbox(t,s);l&&(l.checked=!1);const i=this.host.closest("form");if(i){const e=`bundle[${t}][${s}]`;Array.from(i.querySelectorAll("input")).forEach((t=>{t.name?.startsWith(e)&&("checkbox"===t.type&&t.name?.endsWith("][id]")?t.checked=!1:t.remove())}))}this.clearProductModalOptions(e,t)}syncSectionSelection(t,e){const s=this.sections.find((e=>e.id==t));s?.products?.forEach(((s,l)=>{s.id!=e&&this.clearSectionProductSlot(t,s.id,l)})),this.selectedProducts[t]=new Set([e]);const l=s?.products?.findIndex((t=>t.id==e))??-1,i=l>=0?this.queryProductCheckbox(t,l):null;i&&(i.checked=!0,this.dispatchBubblingChange(i))}autoSelectSingleProductSections(){if(!this.sections?.length)return;const t={...this.selectedProducts};let e=!1;const s=[];for(const l of this.sections){if(!this.isProductSelectionLocked(l))continue;const i=l.products?.[0];if(!i||!i.unlimited_quantity&&(i.quantity??0)<=0)continue;const n=l.id,c=new Set(t[n]||[]);c.has(i.id)||(c.add(i.id),t[n]=c,e=!0,s.push({product:i}))}e&&(this.selectedProducts=t,s.forEach((({product:t})=>{salla.event.dispatch("on-bundle-product-selected",{id:t.id,name:t.name,options:t.options})})))}clearProductFormData(t,e){if(null!=e){const s=this.sections.find((t=>t.id==e)),l=s?.products?.findIndex((e=>e.id==t))??-1;if(l>=0)return void this.clearSectionProductSlot(e,t,l)}const s=this.host.closest("form");s&&s.querySelectorAll(`[data-product-id="${t}"]`).forEach((t=>t.remove()))}clearProductModalOptions(t,e){let s=null,l=null;if(null!=e&&(s=this.sections.findIndex((t=>t.id==e)),s>-1)){const e=this.sections[s];if(e){const s=e.products?.findIndex((e=>e.id==t));l="number"==typeof s&&s>-1?s:null}}salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t,sectionId:e,sectionIndex:s,productIndex:l})}getProgressStatus(t){const e=this.getSelectedCount(t.id),s=this.getEffectiveMax(t);return s>0?`${e}/${s}`:"0"}getSectionSelectionNote(t){const e=this.getObligatoryMin(t),s=Number(t.max_obligatory_products)||0,l=e>0,i=s>0;return l||i?l&&i?e===s?salla.lang.getWithDefault("pages.products.bundle_select_exact",`اختر ${e} منتجات`,{count:e}):salla.lang.getWithDefault("pages.products.bundle_select_range",`اختر من ${e} إلى ${s} منتجات`,{min:e,max:s}):l?salla.lang.getWithDefault("pages.products.bundle_select_min",`اختر على الأقل ${e} منتجات`,{min:e}):salla.lang.getWithDefault("pages.products.bundle_select_max",`اختر حتى ${s} منتجات`,{max:s}):null}handleSectionsChange(){this.autoSelectSingleProductSections()}componentWillLoad(){this.autoSelectSingleProductSections()}renderAccordionHeader(t){const s=this.getSectionSelectionNote(t);return e(i,null,e("h2",{slot:"title"},t?.name),s?e("span",{slot:"note"},s):null,e("span",{slot:"progress"},this.getProgressStatus(t)))}componentDidLoad(){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&(this.productSelectedHandler=t=>{const{productId:e,sectionId:s,product:l,fromModal:i}=t.detail;i?this.ensureProductSelected(s,l||{id:e}):this.onSelectProduct(s,l||{id:e})},t.addEventListener("productSelected",this.productSelectedHandler))}disconnectedCallback(){if(this.productSelectedHandler){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&t.removeEventListener("productSelected",this.productSelectedHandler),this.productSelectedHandler=null}}render(){return e(s,{key:"1ba2cde8fad73b16cfc2ccdd5e68331a9e3fdb7a",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"a72d9fc9f3df30616d3d0696c755db4e76c9a153",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>e("salla-accordion",{key:t.id,collapsed:0!==s},e("salla-accordion-head",null,this.renderAccordionHeader(t)),e("salla-accordion-body",null,e("salla-multiple-bundle-product-slider",{section:t,sectionIndex:s,selectedProducts:this.selectedProducts,selectionLimit:this.getEffectiveMax(t),isSelectionLocked:this.isProductSelectionLocked(t),onProductSelected:this.handleBundleSliderProductSelected,onProductOptionsSelected:this.handleBundleSliderProductOptionsSelected})))))),e("salla-multiple-bundle-product-options-modal",{key:"1e2f996c2d995c62ae29dedc90826a1f1d0a1320"}))}get host(){return l(this)}static get watchers(){return{sections:["handleSectionsChange"]}}};c.style="";export{n as salla_multiple_bundle_product_cart,c as salla_multiple_bundle_product_details}
4
+ import{r as t,h as e,H as s,a as l,F as i}from"./p-DWPgHXOD.js";const n=class{constructor(e){t(this,e),this.sections=[],this.itemNumber=""}deleteItem(t,e){const s=this.host.closest("form");if(s){const l=s.getAttribute("id");if(l&&"string"==typeof l){const s=l.match(/item-(\d+)/)?.[1];this.itemNumber=s||"";const i=this.host.querySelector(`#accordion-${e.id}`);salla.cart.deleteItem(`${this.itemNumber}?product_id=${e.id}&section_id=${t}`).then((()=>i?.remove()))}}}renderRemoveButton(t,s,l=!1){return e("salla-button",{type:"button",shape:l?"btn":"icon",fill:l?"outline":"solid",size:"small",color:"danger","aria-label":"Remove from the cart",onClick:()=>this.deleteItem(t,s)},l?salla.lang.get("common.elements.delete"):e("i",{class:"sicon-cancel"}))}renderAccordionHeader(t,s){const l=s?.options&&s?.options?.length>0;return e("div",{slot:"html",class:"s-multiple-bundle-product-cart-header-wrapper"},e("div",{class:"s-multiple-bundle-product-cart-header "+(l?"":"s-multiple-bundle-product-cart-header-no-options")},e("div",{class:"s-multiple-bundle-product-cart-header-content"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-image-wrapper"},e("img",{src:s?.image?.url,alt:s?.image?.alt||s?.name,class:"s-multiple-bundle-product-cart-header-image"})),e("div",{class:"s-multiple-bundle-product-cart-header-content-details"},e("h2",{class:"s-multiple-bundle-product-cart-header-content-details-title"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-content-details-title-link"},s?.name)),e("div",{class:"s-multiple-bundle-product-cart-header-content-details-price"},e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-regular"},e("span",{innerHTML:s?.price?salla.money(s?.price):""})),s?.sale_price>0&&e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-sale"},e("span",{innerHTML:salla.money(s?.sale_price)}))),s?.quantity_in_group>0&&0!==s?.quantity&&e("p",{class:"s-multiple-bundle-product-cart-header-content-details-quantity"},e("span",null,salla.lang.get("pages.products.number_of_pieces")),e("span",null,s?.quantity_in_group)))),!l&&e("div",{class:"s-multiple-bundle-product-cart-header-remove-button"},this.renderRemoveButton(t,s,!1))))}render(){return e(s,{key:"78be7c4a3be811adb01cb1437473fcd9f1c17b41",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"9b0439dffc9a2dd8d31f56dacb5d835cde903e71",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>t.products.map((l=>{const i={sectionId:t.id,sectionIndex:s,productId:l.id};return e("salla-accordion",{key:l.id,collapsed:!1,bordered:!0,collapsible:!!(l.options&&l.options.length>0),size:"sm",id:`accordion-${l.id}`},e("salla-accordion-head",null,this.renderAccordionHeader(String(t.id),l)),l.options&&l.options.length>0&&e("salla-accordion-body",null,e("salla-product-options",{options:JSON.stringify(l.options),key:`${l.id}-persistent`,"product-id":l.id,"bundle-context":JSON.stringify(i)}),e("div",{class:"s-multiple-bundle-product-cart-body-remove-button"},this.renderRemoveButton(String(t.id),l,!0))))}))))))}get host(){return l(this)}};n.style="";const c=class{constructor(e){t(this,e),this.sections=[],this.selectedProducts={},this.productSelectedHandler=null,this.onSelectProduct=(t,e)=>{const s=e.id,l=this.selectedProducts[t]?.has(s)??!1,i=this.sections.find((e=>e.id==t));if(!(l&&i&&this.isProductSelectionLocked(i))){if(!l){if(!i)return;if(1!==this.getEffectiveMax(i)&&this.isAtSelectionLimit(i))return}this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])},l?(this.selectedProducts[t].delete(s),this.clearProductFormData(s,t),this.clearProductModalOptions(s,t)):1===this.getEffectiveMax(i)?this.syncSectionSelection(t,s):this.selectedProducts[t].add(s),this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options,wasSelected:l,isSelected:!l})}},this.ensureProductSelected=(t,e)=>{this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])};const s=e.id;if(this.selectedProducts[t].has(s))return;const l=this.sections.find((e=>e.id==t));if(!l)return;const i=this.getEffectiveMax(l);if(1===i)this.syncSectionSelection(t,s);else{if(i>1&&this.isAtSelectionLimit(l))return;this.selectedProducts[t].add(s)}this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options})},this.onSelectProductOptions=(t,e)=>{const s=this.sections.find((t=>t.id==e));if(!s||!this.canSelectProductInSection(s,t.id))return;const l=this.sections.findIndex((t=>t.id==e)),i=s.products?.findIndex((e=>e.id==t.id))??0,n=this.selectedProducts[e]?.has(t.id)??!1;salla.event.dispatch("multiple-bundle-product-modal::open",{product:t,sectionId:e,sectionIndex:l,productIndex:i,isProductAlreadySelected:n})},this.handleBundleSliderProductSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProduct(s,e)},this.handleBundleSliderProductOptionsSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProductOptions(e,s)}}isSingleProductSection(t){return 1===(t.products?.length??0)}getObligatoryMin(t){const e=t.obligatory_products;if(null==e)return 0;const s=Number(e);return Number.isNaN(s)?0:s}isProductSelectionLocked(t){return this.isSingleProductSection(t)&&1===this.getObligatoryMin(t)}getEffectiveMax(t){const e=t.products?.length??0,s=t.max_obligatory_products;return null!=s&&s>0?Math.min(s,e):e}getSelectedCount(t){return this.selectedProducts[t]?.size??0}isAtSelectionLimit(t){return this.getSelectedCount(t.id)>=this.getEffectiveMax(t)}canSelectProductInSection(t,e){return!!this.selectedProducts[t.id]?.has(e)||1===this.getEffectiveMax(t)||!this.isAtSelectionLimit(t)}async canSelectBundleProduct(t,e){const s=this.sections.find((e=>e.id==t));return!!s&&this.canSelectProductInSection(s,e)}queryProductCheckbox(t,e){const s=`input.s-multiple-bundle-product-checkbox[name="bundle[${t}][${e}][id]"]`,l=this.host.closest("form"),i=l?.querySelector(s);if(i)return i;for(const t of this.host.querySelectorAll("salla-multiple-bundle-product-slider")){const e=(t.shadowRoot??t).querySelector(s);if(e)return e}return null}dispatchBubblingChange(t){requestAnimationFrame((()=>{t.dispatchEvent(new window.Event("change",{bubbles:!0}))}))}clearSectionProductSlot(t,e,s){const l=this.queryProductCheckbox(t,s);l&&(l.checked=!1);const i=this.host.closest("form");if(i){const e=`bundle[${t}][${s}]`;Array.from(i.querySelectorAll("input")).forEach((t=>{t.name?.startsWith(e)&&("checkbox"===t.type&&t.name?.endsWith("][id]")?t.checked=!1:t.remove())}))}this.clearProductModalOptions(e,t)}syncSectionSelection(t,e){const s=this.sections.find((e=>e.id==t));s?.products?.forEach(((s,l)=>{s.id!=e&&this.clearSectionProductSlot(t,s.id,l)})),this.selectedProducts[t]=new Set([e]);const l=s?.products?.findIndex((t=>t.id==e))??-1,i=l>=0?this.queryProductCheckbox(t,l):null;i&&(i.checked=!0,this.dispatchBubblingChange(i))}autoSelectSingleProductSections(){if(!this.sections?.length)return;const t={...this.selectedProducts};let e=!1;const s=[];for(const l of this.sections){if(!this.isProductSelectionLocked(l))continue;const i=l.products?.[0];if(!i||!i.unlimited_quantity&&(i.quantity??0)<=0)continue;const n=l.id,c=new Set(t[n]||[]);c.has(i.id)||(c.add(i.id),t[n]=c,e=!0,s.push({product:i}))}e&&(this.selectedProducts=t,s.forEach((({product:t})=>{salla.event.dispatch("on-bundle-product-selected",{id:t.id,name:t.name,options:t.options})})))}clearProductFormData(t,e){if(null!=e){const s=this.sections.find((t=>t.id==e)),l=s?.products?.findIndex((e=>e.id==t))??-1;if(l>=0)return void this.clearSectionProductSlot(e,t,l)}const s=this.host.closest("form");s&&s.querySelectorAll(`[data-product-id="${t}"]`).forEach((t=>t.remove()))}clearProductModalOptions(t,e){let s=null,l=null;if(null!=e&&(s=this.sections.findIndex((t=>t.id==e)),s>-1)){const e=this.sections[s];if(e){const s=e.products?.findIndex((e=>e.id==t));l="number"==typeof s&&s>-1?s:null}}salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t,sectionId:e,sectionIndex:s,productIndex:l})}getProgressStatus(t){const e=this.getSelectedCount(t.id),s=this.getEffectiveMax(t);return s>0?`${e}/${s}`:"0"}getSectionSelectionNote(t){const e=this.getObligatoryMin(t),s=Number(t.max_obligatory_products)||0,l=e>0,i=s>0;return l||i?l&&i?e===s?salla.lang.getWithDefault("pages.products.bundle_select_exact",`اختر ${e} منتجات`,{count:e}):salla.lang.getWithDefault("pages.products.bundle_select_range",`اختر من ${e} إلى ${s} منتجات`,{min:e,max:s}):l?salla.lang.getWithDefault("pages.products.bundle_select_min",`اختر على الأقل ${e} منتجات`,{min:e}):salla.lang.getWithDefault("pages.products.bundle_select_max",`اختر حتى ${s} منتجات`,{max:s}):null}handleSectionsChange(){this.autoSelectSingleProductSections()}componentWillLoad(){this.autoSelectSingleProductSections()}renderAccordionHeader(t){const s=this.getSectionSelectionNote(t);return e(i,null,e("h2",{slot:"title"},t?.name),s?e("span",{slot:"note"},s):null,e("span",{slot:"progress"},this.getProgressStatus(t)))}componentDidLoad(){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&(this.productSelectedHandler=t=>{const{productId:e,sectionId:s,product:l,fromModal:i}=t.detail;i?this.ensureProductSelected(s,l||{id:e}):this.onSelectProduct(s,l||{id:e})},t.addEventListener("productSelected",this.productSelectedHandler))}disconnectedCallback(){if(this.productSelectedHandler){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&t.removeEventListener("productSelected",this.productSelectedHandler),this.productSelectedHandler=null}}render(){return e(s,{key:"1ba2cde8fad73b16cfc2ccdd5e68331a9e3fdb7a",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"a72d9fc9f3df30616d3d0696c755db4e76c9a153",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>e("salla-accordion",{key:t.id,collapsed:0!==s},e("salla-accordion-head",null,this.renderAccordionHeader(t)),e("salla-accordion-body",null,e("salla-multiple-bundle-product-slider",{section:t,sectionIndex:s,selectedProducts:this.selectedProducts,selectionLimit:this.getEffectiveMax(t),isSelectionLocked:this.isProductSelectionLocked(t),onProductSelected:this.handleBundleSliderProductSelected,onProductOptionsSelected:this.handleBundleSliderProductOptionsSelected})))))),e("salla-multiple-bundle-product-options-modal",{key:"1e2f996c2d995c62ae29dedc90826a1f1d0a1320"}))}get host(){return l(this)}static get watchers(){return{sections:["handleSectionsChange"]}}};c.style="";export{n as salla_multiple_bundle_product_cart,c as salla_multiple_bundle_product_details}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as s,h as t,H as a,a as i}from"./p-DpB3UAAA.js";const e=class{constructor(t){s(this,t),this.exclude=[]}componentWillLoad(){return salla.onReady().then((()=>{if("string"==typeof this.exclude)try{this.exclude=JSON.parse(this.exclude)}catch(s){salla.logger.error("salla-payments:: failed to parse the exclude props!",this.exclude),this.exclude=[]}this.paymentSlot=this.host.querySelector('[slot="payment"]')?.innerHTML||'<li class="s-payments-list-item"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" alt="{payment}" /></li>',this.sbcSlot=this.host.querySelector('[slot="sbc"]')?.innerHTML||'<li class="s-payments-list-item"><a target="_blank" href="{link}"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" class="s-payments-sbc-image" alt="SBC" /></a></li>',this.codSlot=this.host.querySelector('[slot="cod"]')?.innerHTML||'<li class="s-payments-list-item"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" alt="COD" /></li>',this.payments=salla.config.get("store.settings.payments")}))}paymentLogo(s){const t=`images/payment/${s}_mini.png`;return e.NEW_CDN_LOGOS.includes(s)?salla.url.assetsCdn(t,58,58):salla.url.cdn(t,58,58)}render(){const s=!this.exclude.includes("made-in-ksa")&&salla.config.get("store.settings.made_in_ksa"),i=this.exclude.includes("sbc")?null:salla.config.get("store.settings.certificate.id");return t(a,{key:"73ab5a6358aa50ec48024274ef18ba9e3628fe4e",class:"s-payments-list-wrap"},t("ul",{key:"819d1b51174aff73023235e6a730463bfaa5ca13",class:"s-payments-list"},s&&t("li",{key:"f10446c5c7981747a3308a45cd090e5e64bef668",class:"s-payments-list-item"},t("img",{key:"91349a29bcf349f20d9d7914ee7991dd29b3f042",width:58,height:58,decoding:"async",loading:"lazy",src:salla.url.cdn("images/made-in-ksa.svg",58,58),alt:"made in KSA certified"})),this.payments.map((s=>t("div","cod"==s?{id:"cod-slot",innerHTML:this.codSlot.replace(/\{image\}/g,this.paymentLogo("cod"))}:{id:"payment-slot",innerHTML:this.paymentSlot.replace(/\{image\}/g,this.paymentLogo(s)).replace(/\{payment\}/g,s)}))),i&&t("div",{key:"df1d5a5532bf4dc5d364ba85ca1c0ad828c18ff0",id:"sbc-slot",innerHTML:this.sbcSlot.replace(/\{image\}/g,salla.url.cdn("images/sbc.png",58,58)).replace(/\{link\}/g,`https://eauthenticate.saudibusiness.gov.sa/certificate-details/${i}`)})))}componentDidRender(){this.host.querySelectorAll("#payment-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelectorAll("#sbc-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelectorAll("#cod-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelector('[slot="payment"]')?.remove(),this.host.querySelector('[slot="sbc"]')?.remove(),this.host.querySelector('[slot="cod"]')?.remove()}get host(){return i(this)}};e.NEW_CDN_LOGOS=["tabby_installment"],e.style=":host{display:block}";export{e as salla_payments}
4
+ import{r as s,h as t,H as a,a as i}from"./p-DWPgHXOD.js";const e=class{constructor(t){s(this,t),this.exclude=[]}componentWillLoad(){return salla.onReady().then((()=>{if("string"==typeof this.exclude)try{this.exclude=JSON.parse(this.exclude)}catch(s){salla.logger.error("salla-payments:: failed to parse the exclude props!",this.exclude),this.exclude=[]}this.paymentSlot=this.host.querySelector('[slot="payment"]')?.innerHTML||'<li class="s-payments-list-item"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" alt="{payment}" /></li>',this.sbcSlot=this.host.querySelector('[slot="sbc"]')?.innerHTML||'<li class="s-payments-list-item"><a target="_blank" href="{link}"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" class="s-payments-sbc-image" alt="SBC" /></a></li>',this.codSlot=this.host.querySelector('[slot="cod"]')?.innerHTML||'<li class="s-payments-list-item"><img width="100%" height="100%" decoding="async" loading="lazy" src="{image}" alt="COD" /></li>',this.payments=salla.config.get("store.settings.payments")}))}paymentLogo(s){const t=`images/payment/${s}_mini.png`;return e.NEW_CDN_LOGOS.includes(s)?salla.url.assetsCdn(t,58,58):salla.url.cdn(t,58,58)}render(){const s=!this.exclude.includes("made-in-ksa")&&salla.config.get("store.settings.made_in_ksa"),i=this.exclude.includes("sbc")?null:salla.config.get("store.settings.certificate.id");return t(a,{key:"73ab5a6358aa50ec48024274ef18ba9e3628fe4e",class:"s-payments-list-wrap"},t("ul",{key:"819d1b51174aff73023235e6a730463bfaa5ca13",class:"s-payments-list"},s&&t("li",{key:"f10446c5c7981747a3308a45cd090e5e64bef668",class:"s-payments-list-item"},t("img",{key:"91349a29bcf349f20d9d7914ee7991dd29b3f042",width:58,height:58,decoding:"async",loading:"lazy",src:salla.url.cdn("images/made-in-ksa.svg",58,58),alt:"made in KSA certified"})),this.payments.map((s=>t("div","cod"==s?{id:"cod-slot",innerHTML:this.codSlot.replace(/\{image\}/g,this.paymentLogo("cod"))}:{id:"payment-slot",innerHTML:this.paymentSlot.replace(/\{image\}/g,this.paymentLogo(s)).replace(/\{payment\}/g,s)}))),i&&t("div",{key:"df1d5a5532bf4dc5d364ba85ca1c0ad828c18ff0",id:"sbc-slot",innerHTML:this.sbcSlot.replace(/\{image\}/g,salla.url.cdn("images/sbc.png",58,58)).replace(/\{link\}/g,`https://eauthenticate.saudibusiness.gov.sa/certificate-details/${i}`)})))}componentDidRender(){this.host.querySelectorAll("#payment-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelectorAll("#sbc-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelectorAll("#cod-slot").forEach((s=>s.replaceWith(s.firstChild))),this.host.querySelector('[slot="payment"]')?.remove(),this.host.querySelector('[slot="sbc"]')?.remove(),this.host.querySelector('[slot="cod"]')?.remove()}get host(){return i(this)}};e.NEW_CDN_LOGOS=["tabby_installment"],e.style=":host{display:block}";export{e as salla_payments}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as a,h as s,H as l,a as r}from"./p-DpB3UAAA.js";import{c as o,f as t,i as e}from"./p-CUT8CVCo.js";import{S as i}from"./p-CXRKXFgT.js";import{S as c}from"./p-D1s2kXqL.js";import{S as n}from"./p-QpH8MU22.js";import{S as p}from"./p-cgSL_BIo.js";import{e as d}from"./p-DzAIgzdz.js";import{S as y}from"./p-BkmanTR_.js";import{S as m}from"./p-CciN5Q_x.js";import{L as g}from"./p-BO5AoBAP.js";import{S as h}from"./p-CZRcMGA9.js";const _=class{constructor(s){a(this,s)}render(){return s(l,{key:"19347b04f3e2fc0cb836d9ecd6ebc398826aca95"},s("section",{key:"d992b7e5c6f8ccd14690b63f12de75791751d3b6",class:"s-loyalty-program-hero-container"},s("div",{key:"cf825f4b816979494f33c08383d10ad3b702db81",class:"s-loyalty-program-hero-background",style:{backgroundImage:`url(${this.image})`}},this.image?s("div",{class:"s-loyalty-program-hero-overlay"}):"",s("div",{key:"5343c2d5b4924c75594143390624fb68c2f4e94f",class:{"s-loyalty-program-hero-content":!0,"s-loyalty-program-hero-white":!!this.image,"s-loyalty-program-hero-gray":!this.image}},s("div",{key:"d0e05e9d51c05583ac8a12fa1ad53b328c3eeca7"},s("h1",{key:"05a1b89d759a8391af6c46b4e54df00d2238091f",class:"s-loyalty-program-hero-title"},this.name||s("span",{key:"fc0d510acceccf3995c91b0d4dd920ea7d111e72",style:{color:"transparent",backgroundColor:"#666",borderRadius:"12px"}},"name")),s("p",{key:"41cb521612af4f4a0b3d6fedbcc9bced4f8014f6",class:"s-loyalty-program-hero-description"},this.description||s("span",{key:"498075813fc055f742211520ab75961892ef8bc1",style:{color:"transparent",backgroundColor:"#666",borderRadius:"12px"}},"description"))),s("slot",{key:"44c09c20dd161053f77773ee1ca550df2acb3ad6",name:"action"}))),s("div",{key:"9e0b48babcdb5c36bdadbdfeb8d03008069c2cc6",class:"s-loyalty-program-hero-footer"},s("div",{key:"82659f4658331af320986e78a54222dd4c199281",class:"s-loyalty-program-hero-slot-container"},s("slot",{key:"4565ba9bd31891fc806418ee4440117f2fdb7c56",name:"crosspoint"})))))}};_.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";var b='\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>link1</title>\n<path d="M16.541 19.873c-0.489 0.205-0.825 0.68-0.825 1.233 0 0.184 0.037 0.359 0.105 0.519l-0.003-0.009c0.064 0.151 0.101 0.326 0.101 0.51 0 0.368-0.149 0.702-0.391 0.943v0l-3.771 3.772c-0.483 0.482-1.149 0.781-1.885 0.781s-1.403-0.298-1.885-0.781l-2.829-2.828c-0.483-0.483-0.781-1.149-0.781-1.886s0.299-1.403 0.781-1.886l3.776-3.771c0.244-0.24 0.578-0.388 0.948-0.388 0.183 0 0.357 0.036 0.516 0.102l-0.009-0.003c0.15 0.064 0.325 0.101 0.509 0.101 0.736 0 1.334-0.597 1.334-1.334 0-0.553-0.337-1.027-0.816-1.229l-0.009-0.003c-0.449-0.187-0.97-0.295-1.517-0.295-1.107 0-2.11 0.445-2.841 1.165l0-0-3.776 3.771c-0.963 0.966-1.559 2.299-1.559 3.771s0.596 2.805 1.559 3.771l2.829 2.828c0.965 0.965 2.298 1.562 3.771 1.562s2.806-0.597 3.771-1.562l3.772-3.771c0.723-0.725 1.171-1.726 1.171-2.832 0-0.551-0.111-1.076-0.312-1.555l0.010 0.026c-0.206-0.488-0.68-0.824-1.232-0.824-0.184 0-0.359 0.037-0.518 0.104l0.009-0.003z"></path>\n<path d="M10.343 21.655c0.243 0.238 0.576 0.384 0.943 0.384s0.7-0.147 0.943-0.385l-0 0 10.372-10.371c0.232-0.24 0.374-0.566 0.374-0.926 0-0.736-0.597-1.333-1.333-1.333-0.36 0-0.687 0.143-0.927 0.375l-10.372 10.37c-0.241 0.241-0.39 0.575-0.39 0.943s0.149 0.701 0.39 0.943v0z"></path>\n<path d="M28.728 6.099l-2.828-2.828c-0.966-0.963-2.299-1.559-3.771-1.559s-2.805 0.596-3.771 1.559l-3.772 3.771c-0.723 0.725-1.171 1.726-1.171 2.831 0 0.551 0.111 1.076 0.313 1.554l-0.010-0.026c0.206 0.488 0.68 0.824 1.233 0.824 0.737 0 1.334-0.597 1.334-1.334 0-0.184-0.037-0.359-0.104-0.518l0.003 0.009c-0.063-0.15-0.1-0.324-0.1-0.506 0-0.368 0.149-0.7 0.389-0.942l3.771-3.771c0.483-0.483 1.149-0.781 1.886-0.781s1.403 0.299 1.886 0.781l2.828 2.828c0.483 0.483 0.781 1.149 0.781 1.886s-0.299 1.403-0.781 1.886v0l-3.776 3.764c-0.244 0.24-0.579 0.388-0.948 0.388-0.183 0-0.357-0.036-0.515-0.102l0.009 0.003c-0.151-0.064-0.326-0.101-0.51-0.101-0.737 0-1.334 0.597-1.334 1.334 0 0.553 0.336 1.027 0.815 1.229l0.009 0.003c0.45 0.189 0.974 0.298 1.523 0.298 1.106 0 2.109-0.445 2.838-1.167l3.77-3.77c0.965-0.966 1.562-2.301 1.562-3.775 0-1.471-0.595-2.803-1.557-3.769l0 0z"></path>\n</svg>\n';const f=(...a)=>a.map((a=>"s-loyalty-program-"+a)).join(" "),v={FIRST_ORDER_STORE_FOR_UNIT:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FIX_AMOUNT:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),ORDER_FROM_APP_FOR_UNIT:s("span",{innerHTML:c}),ORDER_FROM_APP_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),ORDER_FROM_APP_FIX_AMOUNT:s("span",{innerHTML:c}),ORDER_FROM_APP_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),CONDITION_RATING_SHIPPING_STORE:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>store</title>\n<path d="M27.25 16c-1.539-0.010-2.899-0.765-3.741-1.921l-0.009-0.013c-0.844 1.178-2.209 1.936-3.75 1.936s-2.906-0.758-3.741-1.922l-0.009-0.014c-0.844 1.178-2.209 1.936-3.75 1.936s-2.906-0.758-3.741-1.922l-0.009-0.014c-0.851 1.169-2.211 1.924-3.748 1.934h-0.002c-2.64-0.075-4.751-2.233-4.751-4.884 0-0.041 0.001-0.081 0.002-0.122l-0 0.006c0-0.086 0.011-0.169 0.032-0.249l-0.002 0.007 2-8c0.112-0.439 0.504-0.758 0.97-0.758h26c0.466 0 0.858 0.319 0.968 0.751l0.002 0.007 2 8c0.019 0.073 0.030 0.156 0.030 0.242v0c0.001 0.034 0.001 0.075 0.001 0.116 0 2.651-2.111 4.809-4.744 4.884l-0.007 0zM23.5 10c0.552 0 1 0.448 1 1v0c-0.006 0.069-0.010 0.149-0.010 0.23 0 1.522 1.234 2.756 2.756 2.756s2.756-1.234 2.756-2.756c0-0.040-0.001-0.080-0.003-0.12l0 0.006-1.782-7.116h-24.436l-1.782 7.116c0 0.003-0 0.007-0 0.011 0 1.544 1.217 2.804 2.744 2.873l0.006 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1s1 0.448 1 1v0c-0.002 0.035-0.002 0.076-0.002 0.117 0 1.547 1.217 2.81 2.746 2.883l0.007 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1s1 0.448 1 1v0c-0.002 0.035-0.002 0.076-0.002 0.117 0 1.547 1.217 2.81 2.746 2.883l0.007 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1v0zM13 30h-10c-0.552 0-1-0.448-1-1v0-14.46c0-0.552 0.448-1 1-1s1 0.448 1 1v0 13.46h9c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM29 30h-10c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h9v-13.46c0-0.552 0.448-1 1-1s1 0.448 1 1v0 14.46c0 0.552-0.448 1-1 1v0zM19 30c-0.552 0-1-0.448-1-1v0-7h-4v7c0 0.552-0.448 1-1 1s-1-0.448-1-1v0-8c0-0.552 0.448-1 1-1v0h6c0.552 0 1 0.448 1 1v0 8c0 0.552-0.448 1-1 1v0z"></path>\n</svg>\n'}),CONDITION_RATING_PRODUCT:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>chat-conversation-alt</title>\n<path d="M17.333 14.667h-8c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h8c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM22.667 8h-13.333c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h13.333c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM28 0h-24c-2.205 0-4 1.795-4 4v17.333c0 2.205 1.795 4 4 4h6.027l4.932 6.167c0.253 0.316 0.636 0.5 1.041 0.5s0.788-0.184 1.041-0.5l4.932-6.167h6.027c2.205 0 4-1.795 4-4v-17.333c0-2.205-1.795-4-4-4zM29.333 21.333c0 0.735-0.597 1.333-1.333 1.333h-6.667c-0.405 0-0.788 0.184-1.041 0.5l-4.292 5.365-4.292-5.365c-0.253-0.316-0.636-0.5-1.041-0.5h-6.667c-0.736 0-1.333-0.599-1.333-1.333v-17.333c0-0.735 0.597-1.333 1.333-1.333h24c0.736 0 1.333 0.599 1.333 1.333z"></path>\n</svg>\n'}),CONDITION_RATING_SHIPPING_COMPANY:s("span",{innerHTML:h}),CONDITION_COMPLETE_PERSONAL_INFORMATION_BIRTHDAY:s("span",{innerHTML:y}),CONDITION_COMPLETE_PERSONAL_INFORMATION_EMAIL:s("span",{innerHTML:d}),CONDITION_COMPLETE_PERSONAL_INFORMATION_MOBILE:s("span",{innerHTML:m}),CONDITION_COMPLETE_PERSONAL_INFORMATION_GENDER:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>user</title>\n<path d="M16 16c4.412 0 8-3.588 8-8s-3.588-8-8-8-8 3.588-8 8 3.588 8 8 8zM16 2.667c2.941 0 5.333 2.392 5.333 5.333s-2.392 5.333-5.333 5.333-5.333-2.392-5.333-5.333 2.392-5.333 5.333-5.333zM16 18.667c-7.476 0-13.333 3.66-13.333 8.333v3.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-3.667c0-3.019 4.984-5.667 10.667-5.667s10.667 2.648 10.667 5.667v3.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-3.667c0-4.673-5.857-8.333-13.333-8.333z"></path>\n</svg>\n'}),CONDITION_BUY_FROM_STORE_FOR_UNIT:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FIX_AMOUNT:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),order_from_pos_1:s("span",{innerHTML:m}),order_from_pos_2:s("span",{innerHTML:g}),buy_from_pos_1:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>map-location</title>\n<path d="M24.667 8.013v-0.013c0-0.736-0.597-1.327-1.333-1.327s-1.333 0.604-1.333 1.34 0.597 1.333 1.333 1.333 1.333-0.597 1.333-1.333zM30.667 18.667c-0.736 0-1.333 0.596-1.333 1.333v8.701l-7.879-3.135c-0.308-0.127-0.651-0.127-0.961-0.011l-9.817 3.684-8.009-3.121v-20.351l7.633 2.181c0.708 0.205 1.447-0.209 1.648-0.916 0.203-0.708-0.207-1.447-0.915-1.648l-9.333-2.667c-0.403-0.115-0.836-0.035-1.169 0.217-0.335 0.252-0.531 0.645-0.531 1.064v23.029c0 0.549 0.337 1.043 0.849 1.243l9.333 3.637c0.305 0.12 0.645 0.12 0.952 0.007l9.812-3.68 9.227 3.669c0.16 0.064 0.327 0.095 0.493 0.095 0.263 0 0.525-0.079 0.749-0.231 0.365-0.247 0.584-0.661 0.584-1.103v-10.667c0-0.737-0.597-1.333-1.333-1.333zM23.333 22.667c0.395 0 0.769-0.175 1.023-0.476 0.783-0.935 7.644-9.241 7.644-13.357 0-4.389-2.976-8.833-8.667-8.833-5.689 0-8.667 4.444-8.667 8.833 0 4.116 6.863 12.423 7.645 13.357 0.253 0.301 0.628 0.476 1.021 0.476zM23.333 2.667c4.145 0 6 3.097 6 6.167 0 2.095-3.347 7.027-6 10.385-2.653-3.36-6-8.291-6-10.385 0-3.069 1.856-6.167 6-6.167z"></path>\n</svg>\n'}),buy_from_pos_2:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FOR_UNIT:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FIX_AMOUNT:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:m}),affiliate_link_1:s("span",{innerHTML:b}),affiliate_link_2:s("span",{innerHTML:n}),affiliate_link_3:s("span",{innerHTML:c}),CONDITION_AFFILIATE_LINK:s("span",{innerHTML:b})},O=class{constructor(s){a(this,s)}async handleShareAction(a,s,l){const r=window.matchMedia("(min-width: 1024px)").matches;if("share"in navigator&&!r)try{return void await navigator.share({title:document.title,url:s.url})}catch(a){}const o=a.target,t=o.textContent,e=l;if("clipboard"in navigator)try{return await navigator.clipboard.writeText(s.url),o.textContent=e,void setTimeout((()=>{o.textContent=t}),5e3)}catch(a){}const i=document.createElement("textarea");i.value=s.url,i.style.opacity="0",this.host.appendChild(i),i.focus(),i.select();try{if(!document.execCommand("copy"))throw new Error("Failed to copy URL to clipboard");o.textContent=e,setTimeout((()=>{o.textContent=t}),5e3)}catch(a){}this.host.removeChild(i)}handleAction(a,s){if(a.stopPropagation(),s.is_completed)a.preventDefault();else switch(s.type){case"profile":case"rating":return salla.config.isUser()?void 0:(a.preventDefault(),void o((()=>salla.event.dispatch("login::open"))));case"share":return salla.config.isUser()?(a.preventDefault(),void this.handleShareAction(a,s,salla.lang.get("pages.loyalty_program.copied"))):(a.preventDefault(),void o((()=>salla.event.dispatch("login::open"))))}}getSubHeading(a){switch(a.type){case"share":return s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_start")),s("p",null,salla.lang.get("pages.loyalty_program.three_simple_steps")));case"pos":return s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_start")),s("p",null,salla.lang.get("pages.loyalty_program.two_simple_steps")));default:return""}}getDetails(a){return a.conditions.filter((a=>a.key.endsWith("_BY_CATEGORIES"))).length>0?s("div",null,s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_use")),s("p",null,salla.lang.get("pages.loyalty_program.how_to_use_steps"))),s("div",{class:"s-loyalty-program-points-modal-details"},a.conditions.map((l=>s("div",{class:"s-loyalty-program-points-chains-wrapper mt-5 mb-5"},s("div",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[l.key])),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",{innerHTML:i}),t(l.points,e(a))),s("p",{class:"s-loyalty-program-points-chain-description"},l.name),s("div",null,this.getCategoriesJsx(l.value))))))))):s("div",{class:"s-loyalty-program-points-modal-details"},s("div",{class:"s-loyalty-program-points-chains-wrapper mt-5 mb-5"},s("ul",{class:"s-loyalty-program-points-chain-list"},this.point.conditions.map((l=>s("li",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[l.key]),s("div",{class:"s-loyalty-program-points-chain-line"})),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",{innerHTML:i}),t(l.points,e(a),null!=l.value)),s("p",{class:"s-loyalty-program-points-chain-description"},l.name))))))))}getCategoriesJsx(a){return a.length?s("ul",{class:f("reward-details-categories-list")},a.map((a=>s("li",null,s("a",{href:a.url,class:f("reward-details-categories-item")},s("span",{innerHTML:p}),s("span",{class:f("reward-details-categories-item-content")},a.name)))))):""}getTrailingContent(a){switch(a.type){case"first_order":case"profile":return s("p",{class:"s-loyalty-program-points-completed-note"},salla.lang.get("pages.loyalty_program.one_time_points"));default:return a.is_completed?s("p",{class:"s-loyalty-program-points-completed-note"},salla.lang.get("pages.loyalty_program.one_time_points")):""}}render(){return s("div",{key:"70b7b8ad88f89903726e70b795c2eca98366f601"},s("div",{key:"32a7d28c05a72d1e2901775ff2148553d70b9c87",onClick:()=>o((()=>this.modal.open())),class:"s-loyalty-program-point-wrapper"},s("div",{key:"bc8e79fdf21fb641766b3463e792005decf58fd9",class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-sm s-loyalty-program-circle-variant-fill"},s("span",{key:"75e18d5d494d5b97ee12827230641103e934709c",class:this.point.icon})),s("div",{key:"54e40ceeb2cca3248aaa716b85c9ce8d4a41f8ce",class:"s-loyalty-program-points-badge-mobile"},s("salla-badge",{key:"c6d9718b0a2813cba6f59f2ad019f168ec1cc376",size:"xs",bg:"transparent"},s("span",{key:"33ac630c37139af3dbae295c56c4a5c7aa74d309",innerHTML:i}),t(this.point))),s("div",{key:"3d66b854b326090357f2e8320d8a8ab55cbad146",class:"s-loyalty-program-points-badge-desktop"},s("salla-badge",{key:"bf1b37473fa7f04ca76b66be840e918c74ae44ed",size:"sm",bg:"transparent"},s("span",{key:"47f6c81b0e4805606bba918f23a2b94fe535e18e",innerHTML:i}),t(this.point))),s("p",{key:"8cfacb01351d035968e5886bcc18086ef6c52ec5",class:"s-loyalty-program-point-description"},this.point.name),this.point.is_completed?s("a",{class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},salla.lang.get("pages.loyalty_program.completed")):s("a",{href:this.point.url,onClick:a=>this.handleAction(a,this.point),class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},this.point.description)),s("salla-modal",{key:"bf3a0db144b8a71c7de03bffa871c83432645cca",ref:a=>this.modal=a,class:"s-loyalty-program-point-modal s-loyalty-program-modal",width:window.matchMedia("(min-width: 768px)").matches?"md":"sm",noPadding:!0},s("div",{key:"9e1c30640a2b21d83648a9829cb3d77694d40f43",class:"s-loyalty-program-points-modal-header"},s("h1",{key:"d27cf7911ca8e895d04b82dc786be5d70549b2e9",class:"s-loyalty-program-points-modal-info"},this.point.name)),s("div",{key:"3b32920aee9989499c97e284a8b2689519a531c9",class:"s-loyalty-program-modal-scrollable-content"},s("div",{key:"65f13ad9b7d9de8f5e5057f4b168e4276ec752de",class:"s-loyalty-program-points-modal-main"},s("div",{key:"b52d6b39659ad570321ed464cbd28679572e349f",class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xl s-loyalty-program-circle-variant-fill"},s("span",{key:"18fcd876ee08265964fabd469ea2c0f62ee6e87b",class:this.point.icon})),s("salla-badge",{key:"ce5e68c6e7b93b4b972b912db7a8027a0d7bb719",size:"sm",bg:"light"},s("span",{key:"6325ab966bfc6abb67f08b6f727b41704328ae5a",innerHTML:i}),s("span",{key:"3278b4faf5a0c51ca2a4d55f544b756827f8592f",class:"s-loyalty-program-points-badge-points"},t(this.point)))),this.getSubHeading(this.point),!!this.point.steps&&Object.keys(this.point.steps).length>0&&s("div",{key:"37a98c643851f1c772584c738c98902e0e960a52",class:"s-loyalty-program-points-modal-details"},s("div",{key:"e558373c2726934c68bd1f50a427984756afd0d1",class:"s-loyalty-program-points-chains-wrapper"},s("ul",{key:"018fb529e90d9adc1fd186e06120b175975e0ae3",class:"s-loyalty-program-points-chain-list"},Object.values(this.point.steps).map(((a,l)=>{const r=l===Object.values(this.point.steps).length-1;return s("li",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[a.key]),!r&&s("div",{class:"s-loyalty-program-points-chain-line"})),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",null,salla.lang.get(`pages.loyalty_program.step_${l+1}`))),s("p",{class:"s-loyalty-program-points-chain-description"},a.title||a.name)))}))))),this.getDetails(this.point),s("div",{key:"dea38fc445b304630d0b4baa122a5a95f35f0d2c",class:"s-loyalty-program-points-modal-details"},this.getTrailingContent(this.point)),this.point.branches?.length?s("div",{class:"s-loyalty-program-points-modal-list"},s("div",{class:"s-loyalty-program-point-details-branches"},s("h2",null,salla.lang.get("pages.loyalty_program.branches")),s("p",null,salla.lang.get("pages.loyalty_program.shop_from_branches"))),s("div",{class:"s-loyalty-program-points-modal-list-wrapper"},s("ul",null,this.point.branches.map((a=>s("li",{class:"s-loyalty-program-points-modal-list-item"},s("p",null,a.name),s("salla-badge",{size:"sm",bg:"transparent"},s("span",{innerHTML:i}),s("a",{href:a.location?`https://www.google.com/maps?q=${a.location.lat},${a.location.lon}`:"#",target:"_blank",rel:"noopener noreferrer"},a.address_description)))))))):""),s("div",{key:"a8fbe3f878510dd27ccbe91c0d0253ed17f77fee",class:"s-loyalty-program-points-modal-action"},s("a",{key:"74e883a658f22fd3f26291efeba30ccc59f52baa",href:this.point.url,onClick:a=>(a.stopPropagation(),this.handleAction(a,this.point)),class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},this.point.is_completed?salla.lang.get("pages.loyalty_program.completed"):this.point.description))))}get host(){return r(this)}};O.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";export{_ as salla_loyalty_hero,O as salla_loyalty_point}
4
+ import{r as a,h as s,H as l,a as r}from"./p-DWPgHXOD.js";import{c as o,f as t,i as e}from"./p-XUX4U548.js";import{S as i}from"./p-CXRKXFgT.js";import{S as c}from"./p-D1s2kXqL.js";import{S as n}from"./p-QpH8MU22.js";import{S as p}from"./p-cgSL_BIo.js";import{e as d}from"./p-DzAIgzdz.js";import{S as y}from"./p-BkmanTR_.js";import{S as m}from"./p-CciN5Q_x.js";import{L as g}from"./p-BO5AoBAP.js";import{S as h}from"./p-CZRcMGA9.js";const _=class{constructor(s){a(this,s)}render(){return s(l,{key:"19347b04f3e2fc0cb836d9ecd6ebc398826aca95"},s("section",{key:"d992b7e5c6f8ccd14690b63f12de75791751d3b6",class:"s-loyalty-program-hero-container"},s("div",{key:"cf825f4b816979494f33c08383d10ad3b702db81",class:"s-loyalty-program-hero-background",style:{backgroundImage:`url(${this.image})`}},this.image?s("div",{class:"s-loyalty-program-hero-overlay"}):"",s("div",{key:"5343c2d5b4924c75594143390624fb68c2f4e94f",class:{"s-loyalty-program-hero-content":!0,"s-loyalty-program-hero-white":!!this.image,"s-loyalty-program-hero-gray":!this.image}},s("div",{key:"d0e05e9d51c05583ac8a12fa1ad53b328c3eeca7"},s("h1",{key:"05a1b89d759a8391af6c46b4e54df00d2238091f",class:"s-loyalty-program-hero-title"},this.name||s("span",{key:"fc0d510acceccf3995c91b0d4dd920ea7d111e72",style:{color:"transparent",backgroundColor:"#666",borderRadius:"12px"}},"name")),s("p",{key:"41cb521612af4f4a0b3d6fedbcc9bced4f8014f6",class:"s-loyalty-program-hero-description"},this.description||s("span",{key:"498075813fc055f742211520ab75961892ef8bc1",style:{color:"transparent",backgroundColor:"#666",borderRadius:"12px"}},"description"))),s("slot",{key:"44c09c20dd161053f77773ee1ca550df2acb3ad6",name:"action"}))),s("div",{key:"9e0b48babcdb5c36bdadbdfeb8d03008069c2cc6",class:"s-loyalty-program-hero-footer"},s("div",{key:"82659f4658331af320986e78a54222dd4c199281",class:"s-loyalty-program-hero-slot-container"},s("slot",{key:"4565ba9bd31891fc806418ee4440117f2fdb7c56",name:"crosspoint"})))))}};_.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";var b='\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>link1</title>\n<path d="M16.541 19.873c-0.489 0.205-0.825 0.68-0.825 1.233 0 0.184 0.037 0.359 0.105 0.519l-0.003-0.009c0.064 0.151 0.101 0.326 0.101 0.51 0 0.368-0.149 0.702-0.391 0.943v0l-3.771 3.772c-0.483 0.482-1.149 0.781-1.885 0.781s-1.403-0.298-1.885-0.781l-2.829-2.828c-0.483-0.483-0.781-1.149-0.781-1.886s0.299-1.403 0.781-1.886l3.776-3.771c0.244-0.24 0.578-0.388 0.948-0.388 0.183 0 0.357 0.036 0.516 0.102l-0.009-0.003c0.15 0.064 0.325 0.101 0.509 0.101 0.736 0 1.334-0.597 1.334-1.334 0-0.553-0.337-1.027-0.816-1.229l-0.009-0.003c-0.449-0.187-0.97-0.295-1.517-0.295-1.107 0-2.11 0.445-2.841 1.165l0-0-3.776 3.771c-0.963 0.966-1.559 2.299-1.559 3.771s0.596 2.805 1.559 3.771l2.829 2.828c0.965 0.965 2.298 1.562 3.771 1.562s2.806-0.597 3.771-1.562l3.772-3.771c0.723-0.725 1.171-1.726 1.171-2.832 0-0.551-0.111-1.076-0.312-1.555l0.010 0.026c-0.206-0.488-0.68-0.824-1.232-0.824-0.184 0-0.359 0.037-0.518 0.104l0.009-0.003z"></path>\n<path d="M10.343 21.655c0.243 0.238 0.576 0.384 0.943 0.384s0.7-0.147 0.943-0.385l-0 0 10.372-10.371c0.232-0.24 0.374-0.566 0.374-0.926 0-0.736-0.597-1.333-1.333-1.333-0.36 0-0.687 0.143-0.927 0.375l-10.372 10.37c-0.241 0.241-0.39 0.575-0.39 0.943s0.149 0.701 0.39 0.943v0z"></path>\n<path d="M28.728 6.099l-2.828-2.828c-0.966-0.963-2.299-1.559-3.771-1.559s-2.805 0.596-3.771 1.559l-3.772 3.771c-0.723 0.725-1.171 1.726-1.171 2.831 0 0.551 0.111 1.076 0.313 1.554l-0.010-0.026c0.206 0.488 0.68 0.824 1.233 0.824 0.737 0 1.334-0.597 1.334-1.334 0-0.184-0.037-0.359-0.104-0.518l0.003 0.009c-0.063-0.15-0.1-0.324-0.1-0.506 0-0.368 0.149-0.7 0.389-0.942l3.771-3.771c0.483-0.483 1.149-0.781 1.886-0.781s1.403 0.299 1.886 0.781l2.828 2.828c0.483 0.483 0.781 1.149 0.781 1.886s-0.299 1.403-0.781 1.886v0l-3.776 3.764c-0.244 0.24-0.579 0.388-0.948 0.388-0.183 0-0.357-0.036-0.515-0.102l0.009 0.003c-0.151-0.064-0.326-0.101-0.51-0.101-0.737 0-1.334 0.597-1.334 1.334 0 0.553 0.336 1.027 0.815 1.229l0.009 0.003c0.45 0.189 0.974 0.298 1.523 0.298 1.106 0 2.109-0.445 2.838-1.167l3.77-3.77c0.965-0.966 1.562-2.301 1.562-3.775 0-1.471-0.595-2.803-1.557-3.769l0 0z"></path>\n</svg>\n';const f=(...a)=>a.map((a=>"s-loyalty-program-"+a)).join(" "),v={FIRST_ORDER_STORE_FOR_UNIT:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FIX_AMOUNT:s("span",{innerHTML:c}),FIRST_ORDER_STORE_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),ORDER_FROM_APP_FOR_UNIT:s("span",{innerHTML:c}),ORDER_FROM_APP_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),ORDER_FROM_APP_FIX_AMOUNT:s("span",{innerHTML:c}),ORDER_FROM_APP_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),CONDITION_RATING_SHIPPING_STORE:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>store</title>\n<path d="M27.25 16c-1.539-0.010-2.899-0.765-3.741-1.921l-0.009-0.013c-0.844 1.178-2.209 1.936-3.75 1.936s-2.906-0.758-3.741-1.922l-0.009-0.014c-0.844 1.178-2.209 1.936-3.75 1.936s-2.906-0.758-3.741-1.922l-0.009-0.014c-0.851 1.169-2.211 1.924-3.748 1.934h-0.002c-2.64-0.075-4.751-2.233-4.751-4.884 0-0.041 0.001-0.081 0.002-0.122l-0 0.006c0-0.086 0.011-0.169 0.032-0.249l-0.002 0.007 2-8c0.112-0.439 0.504-0.758 0.97-0.758h26c0.466 0 0.858 0.319 0.968 0.751l0.002 0.007 2 8c0.019 0.073 0.030 0.156 0.030 0.242v0c0.001 0.034 0.001 0.075 0.001 0.116 0 2.651-2.111 4.809-4.744 4.884l-0.007 0zM23.5 10c0.552 0 1 0.448 1 1v0c-0.006 0.069-0.010 0.149-0.010 0.23 0 1.522 1.234 2.756 2.756 2.756s2.756-1.234 2.756-2.756c0-0.040-0.001-0.080-0.003-0.12l0 0.006-1.782-7.116h-24.436l-1.782 7.116c0 0.003-0 0.007-0 0.011 0 1.544 1.217 2.804 2.744 2.873l0.006 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1s1 0.448 1 1v0c-0.002 0.035-0.002 0.076-0.002 0.117 0 1.547 1.217 2.81 2.746 2.883l0.007 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1s1 0.448 1 1v0c-0.002 0.035-0.002 0.076-0.002 0.117 0 1.547 1.217 2.81 2.746 2.883l0.007 0c1.535-0.073 2.752-1.336 2.752-2.883 0-0.041-0.001-0.082-0.003-0.123l0 0.006c0-0.552 0.448-1 1-1v0zM13 30h-10c-0.552 0-1-0.448-1-1v0-14.46c0-0.552 0.448-1 1-1s1 0.448 1 1v0 13.46h9c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM29 30h-10c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h9v-13.46c0-0.552 0.448-1 1-1s1 0.448 1 1v0 14.46c0 0.552-0.448 1-1 1v0zM19 30c-0.552 0-1-0.448-1-1v0-7h-4v7c0 0.552-0.448 1-1 1s-1-0.448-1-1v0-8c0-0.552 0.448-1 1-1v0h6c0.552 0 1 0.448 1 1v0 8c0 0.552-0.448 1-1 1v0z"></path>\n</svg>\n'}),CONDITION_RATING_PRODUCT:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>chat-conversation-alt</title>\n<path d="M17.333 14.667h-8c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h8c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM22.667 8h-13.333c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h13.333c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM28 0h-24c-2.205 0-4 1.795-4 4v17.333c0 2.205 1.795 4 4 4h6.027l4.932 6.167c0.253 0.316 0.636 0.5 1.041 0.5s0.788-0.184 1.041-0.5l4.932-6.167h6.027c2.205 0 4-1.795 4-4v-17.333c0-2.205-1.795-4-4-4zM29.333 21.333c0 0.735-0.597 1.333-1.333 1.333h-6.667c-0.405 0-0.788 0.184-1.041 0.5l-4.292 5.365-4.292-5.365c-0.253-0.316-0.636-0.5-1.041-0.5h-6.667c-0.736 0-1.333-0.599-1.333-1.333v-17.333c0-0.735 0.597-1.333 1.333-1.333h24c0.736 0 1.333 0.599 1.333 1.333z"></path>\n</svg>\n'}),CONDITION_RATING_SHIPPING_COMPANY:s("span",{innerHTML:h}),CONDITION_COMPLETE_PERSONAL_INFORMATION_BIRTHDAY:s("span",{innerHTML:y}),CONDITION_COMPLETE_PERSONAL_INFORMATION_EMAIL:s("span",{innerHTML:d}),CONDITION_COMPLETE_PERSONAL_INFORMATION_MOBILE:s("span",{innerHTML:m}),CONDITION_COMPLETE_PERSONAL_INFORMATION_GENDER:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>user</title>\n<path d="M16 16c4.412 0 8-3.588 8-8s-3.588-8-8-8-8 3.588-8 8 3.588 8 8 8zM16 2.667c2.941 0 5.333 2.392 5.333 5.333s-2.392 5.333-5.333 5.333-5.333-2.392-5.333-5.333 2.392-5.333 5.333-5.333zM16 18.667c-7.476 0-13.333 3.66-13.333 8.333v3.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-3.667c0-3.019 4.984-5.667 10.667-5.667s10.667 2.648 10.667 5.667v3.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-3.667c0-4.673-5.857-8.333-13.333-8.333z"></path>\n</svg>\n'}),CONDITION_BUY_FROM_STORE_FOR_UNIT:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FIX_AMOUNT:s("span",{innerHTML:c}),CONDITION_BUY_FROM_STORE_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:c}),order_from_pos_1:s("span",{innerHTML:m}),order_from_pos_2:s("span",{innerHTML:g}),buy_from_pos_1:s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>map-location</title>\n<path d="M24.667 8.013v-0.013c0-0.736-0.597-1.327-1.333-1.327s-1.333 0.604-1.333 1.34 0.597 1.333 1.333 1.333 1.333-0.597 1.333-1.333zM30.667 18.667c-0.736 0-1.333 0.596-1.333 1.333v8.701l-7.879-3.135c-0.308-0.127-0.651-0.127-0.961-0.011l-9.817 3.684-8.009-3.121v-20.351l7.633 2.181c0.708 0.205 1.447-0.209 1.648-0.916 0.203-0.708-0.207-1.447-0.915-1.648l-9.333-2.667c-0.403-0.115-0.836-0.035-1.169 0.217-0.335 0.252-0.531 0.645-0.531 1.064v23.029c0 0.549 0.337 1.043 0.849 1.243l9.333 3.637c0.305 0.12 0.645 0.12 0.952 0.007l9.812-3.68 9.227 3.669c0.16 0.064 0.327 0.095 0.493 0.095 0.263 0 0.525-0.079 0.749-0.231 0.365-0.247 0.584-0.661 0.584-1.103v-10.667c0-0.737-0.597-1.333-1.333-1.333zM23.333 22.667c0.395 0 0.769-0.175 1.023-0.476 0.783-0.935 7.644-9.241 7.644-13.357 0-4.389-2.976-8.833-8.667-8.833-5.689 0-8.667 4.444-8.667 8.833 0 4.116 6.863 12.423 7.645 13.357 0.253 0.301 0.628 0.476 1.021 0.476zM23.333 2.667c4.145 0 6 3.097 6 6.167 0 2.095-3.347 7.027-6 10.385-2.653-3.36-6-8.291-6-10.385 0-3.069 1.856-6.167 6-6.167z"></path>\n</svg>\n'}),buy_from_pos_2:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FOR_UNIT:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FOR_UNIT_BY_CATEGORIES:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FIX_AMOUNT:s("span",{innerHTML:m}),CONDITION_BUY_FROM_POS_FIX_AMOUNT_BY_CATEGORIES:s("span",{innerHTML:m}),affiliate_link_1:s("span",{innerHTML:b}),affiliate_link_2:s("span",{innerHTML:n}),affiliate_link_3:s("span",{innerHTML:c}),CONDITION_AFFILIATE_LINK:s("span",{innerHTML:b})},O=class{constructor(s){a(this,s)}async handleShareAction(a,s,l){const r=window.matchMedia("(min-width: 1024px)").matches;if("share"in navigator&&!r)try{return void await navigator.share({title:document.title,url:s.url})}catch(a){}const o=a.target,t=o.textContent,e=l;if("clipboard"in navigator)try{return await navigator.clipboard.writeText(s.url),o.textContent=e,void setTimeout((()=>{o.textContent=t}),5e3)}catch(a){}const i=document.createElement("textarea");i.value=s.url,i.style.opacity="0",this.host.appendChild(i),i.focus(),i.select();try{if(!document.execCommand("copy"))throw new Error("Failed to copy URL to clipboard");o.textContent=e,setTimeout((()=>{o.textContent=t}),5e3)}catch(a){}this.host.removeChild(i)}handleAction(a,s){if(a.stopPropagation(),s.is_completed)a.preventDefault();else switch(s.type){case"profile":case"rating":return salla.config.isUser()?void 0:(a.preventDefault(),void o((()=>salla.event.dispatch("login::open"))));case"share":return salla.config.isUser()?(a.preventDefault(),void this.handleShareAction(a,s,salla.lang.get("pages.loyalty_program.copied"))):(a.preventDefault(),void o((()=>salla.event.dispatch("login::open"))))}}getSubHeading(a){switch(a.type){case"share":return s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_start")),s("p",null,salla.lang.get("pages.loyalty_program.three_simple_steps")));case"pos":return s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_start")),s("p",null,salla.lang.get("pages.loyalty_program.two_simple_steps")));default:return""}}getDetails(a){return a.conditions.filter((a=>a.key.endsWith("_BY_CATEGORIES"))).length>0?s("div",null,s("div",{class:"s-loyalty-program-point-subheading"},s("h2",null,salla.lang.get("pages.loyalty_program.how_to_use")),s("p",null,salla.lang.get("pages.loyalty_program.how_to_use_steps"))),s("div",{class:"s-loyalty-program-points-modal-details"},a.conditions.map((l=>s("div",{class:"s-loyalty-program-points-chains-wrapper mt-5 mb-5"},s("div",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[l.key])),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",{innerHTML:i}),t(l.points,e(a))),s("p",{class:"s-loyalty-program-points-chain-description"},l.name),s("div",null,this.getCategoriesJsx(l.value))))))))):s("div",{class:"s-loyalty-program-points-modal-details"},s("div",{class:"s-loyalty-program-points-chains-wrapper mt-5 mb-5"},s("ul",{class:"s-loyalty-program-points-chain-list"},this.point.conditions.map((l=>s("li",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[l.key]),s("div",{class:"s-loyalty-program-points-chain-line"})),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",{innerHTML:i}),t(l.points,e(a),null!=l.value)),s("p",{class:"s-loyalty-program-points-chain-description"},l.name))))))))}getCategoriesJsx(a){return a.length?s("ul",{class:f("reward-details-categories-list")},a.map((a=>s("li",null,s("a",{href:a.url,class:f("reward-details-categories-item")},s("span",{innerHTML:p}),s("span",{class:f("reward-details-categories-item-content")},a.name)))))):""}getTrailingContent(a){switch(a.type){case"first_order":case"profile":return s("p",{class:"s-loyalty-program-points-completed-note"},salla.lang.get("pages.loyalty_program.one_time_points"));default:return a.is_completed?s("p",{class:"s-loyalty-program-points-completed-note"},salla.lang.get("pages.loyalty_program.one_time_points")):""}}render(){return s("div",{key:"70b7b8ad88f89903726e70b795c2eca98366f601"},s("div",{key:"32a7d28c05a72d1e2901775ff2148553d70b9c87",onClick:()=>o((()=>this.modal.open())),class:"s-loyalty-program-point-wrapper"},s("div",{key:"bc8e79fdf21fb641766b3463e792005decf58fd9",class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-sm s-loyalty-program-circle-variant-fill"},s("span",{key:"75e18d5d494d5b97ee12827230641103e934709c",class:this.point.icon})),s("div",{key:"54e40ceeb2cca3248aaa716b85c9ce8d4a41f8ce",class:"s-loyalty-program-points-badge-mobile"},s("salla-badge",{key:"c6d9718b0a2813cba6f59f2ad019f168ec1cc376",size:"xs",bg:"transparent"},s("span",{key:"33ac630c37139af3dbae295c56c4a5c7aa74d309",innerHTML:i}),t(this.point))),s("div",{key:"3d66b854b326090357f2e8320d8a8ab55cbad146",class:"s-loyalty-program-points-badge-desktop"},s("salla-badge",{key:"bf1b37473fa7f04ca76b66be840e918c74ae44ed",size:"sm",bg:"transparent"},s("span",{key:"47f6c81b0e4805606bba918f23a2b94fe535e18e",innerHTML:i}),t(this.point))),s("p",{key:"8cfacb01351d035968e5886bcc18086ef6c52ec5",class:"s-loyalty-program-point-description"},this.point.name),this.point.is_completed?s("a",{class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},salla.lang.get("pages.loyalty_program.completed")):s("a",{href:this.point.url,onClick:a=>this.handleAction(a,this.point),class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},this.point.description)),s("salla-modal",{key:"bf3a0db144b8a71c7de03bffa871c83432645cca",ref:a=>this.modal=a,class:"s-loyalty-program-point-modal s-loyalty-program-modal",width:window.matchMedia("(min-width: 768px)").matches?"md":"sm",noPadding:!0},s("div",{key:"9e1c30640a2b21d83648a9829cb3d77694d40f43",class:"s-loyalty-program-points-modal-header"},s("h1",{key:"d27cf7911ca8e895d04b82dc786be5d70549b2e9",class:"s-loyalty-program-points-modal-info"},this.point.name)),s("div",{key:"3b32920aee9989499c97e284a8b2689519a531c9",class:"s-loyalty-program-modal-scrollable-content"},s("div",{key:"65f13ad9b7d9de8f5e5057f4b168e4276ec752de",class:"s-loyalty-program-points-modal-main"},s("div",{key:"b52d6b39659ad570321ed464cbd28679572e349f",class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xl s-loyalty-program-circle-variant-fill"},s("span",{key:"18fcd876ee08265964fabd469ea2c0f62ee6e87b",class:this.point.icon})),s("salla-badge",{key:"ce5e68c6e7b93b4b972b912db7a8027a0d7bb719",size:"sm",bg:"light"},s("span",{key:"6325ab966bfc6abb67f08b6f727b41704328ae5a",innerHTML:i}),s("span",{key:"3278b4faf5a0c51ca2a4d55f544b756827f8592f",class:"s-loyalty-program-points-badge-points"},t(this.point)))),this.getSubHeading(this.point),!!this.point.steps&&Object.keys(this.point.steps).length>0&&s("div",{key:"37a98c643851f1c772584c738c98902e0e960a52",class:"s-loyalty-program-points-modal-details"},s("div",{key:"e558373c2726934c68bd1f50a427984756afd0d1",class:"s-loyalty-program-points-chains-wrapper"},s("ul",{key:"018fb529e90d9adc1fd186e06120b175975e0ae3",class:"s-loyalty-program-points-chain-list"},Object.values(this.point.steps).map(((a,l)=>{const r=l===Object.values(this.point.steps).length-1;return s("li",{class:"s-loyalty-program-points-chain-item"},s("div",{class:"s-loyalty-program-points-chain-icon"},s("div",{class:"s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary"},v[a.key]),!r&&s("div",{class:"s-loyalty-program-points-chain-line"})),s("div",{class:"s-loyalty-program-points-chain-content"},s("salla-badge",{size:"xs",color:"primary-900",bg:"primary-100"},s("span",null,salla.lang.get(`pages.loyalty_program.step_${l+1}`))),s("p",{class:"s-loyalty-program-points-chain-description"},a.title||a.name)))}))))),this.getDetails(this.point),s("div",{key:"dea38fc445b304630d0b4baa122a5a95f35f0d2c",class:"s-loyalty-program-points-modal-details"},this.getTrailingContent(this.point)),this.point.branches?.length?s("div",{class:"s-loyalty-program-points-modal-list"},s("div",{class:"s-loyalty-program-point-details-branches"},s("h2",null,salla.lang.get("pages.loyalty_program.branches")),s("p",null,salla.lang.get("pages.loyalty_program.shop_from_branches"))),s("div",{class:"s-loyalty-program-points-modal-list-wrapper"},s("ul",null,this.point.branches.map((a=>s("li",{class:"s-loyalty-program-points-modal-list-item"},s("p",null,a.name),s("salla-badge",{size:"sm",bg:"transparent"},s("span",{innerHTML:i}),s("a",{href:a.location?`https://www.google.com/maps?q=${a.location.lat},${a.location.lon}`:"#",target:"_blank",rel:"noopener noreferrer"},a.address_description)))))))):""),s("div",{key:"a8fbe3f878510dd27ccbe91c0d0253ed17f77fee",class:"s-loyalty-program-points-modal-action"},s("a",{key:"74e883a658f22fd3f26291efeba30ccc59f52baa",href:this.point.url,onClick:a=>(a.stopPropagation(),this.handleAction(a,this.point)),class:{"s-loyalty-program-points-action":!0,"s-loyalty-program-points-action-completed":this.point.is_completed,"s-loyalty-program-points-action-incomplete":!this.point.is_completed}},this.point.is_completed?salla.lang.get("pages.loyalty_program.completed"):this.point.description))))}get host(){return r(this)}};O.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";export{_ as salla_loyalty_hero,O as salla_loyalty_point}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as s,h as t,H as i,a as e}from"./p-DpB3UAAA.js";const a=class{constructor(t){s(this,t),this.menuOpen=!1,this.hasProducts=!1,this.specificMode=!1,this.selectedIds=[],this.loadedProductCount=0,this.isSharing=!1,this.shareUrl="",this.isListSyncPaused=!1,this.translationDefaults={"pages.wishlist.share":{ar:"شارك",en:"Share"},"pages.wishlist.share_all":{ar:"مشاركة القائمة",en:"Share the list"},"pages.wishlist.share_specific":{ar:"مشاركة منتجات محددة",en:"Share specific items"},"pages.wishlist.share_list_title":{ar:"مشاركة قائمة الأمنيات",en:"Share wishlist"},"pages.wishlist.select_all":{ar:"تحديد الكل",en:"Select all"},"common.elements.cancel":{ar:"إلغاء",en:"Cancel"}},this.onSelectionChanged=s=>{this.selectedIds=s?.ids||[],this.shareUrl="",this.socialShare?.close(),this.syncLoadedProductCount()},this.onDocumentClick=s=>{this.menuOpen&&!this.host.contains(s.target)&&(this.menuOpen=!1)},this.onProductsFetched=s=>{"wishlist"===s?.source&&(this.isListSyncPaused=!1,this.syncHasProducts(!!s?.data?.length),this.syncLoadedProductCount())}}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.registerTranslationDefaults(),this.loadTranslations(),Salla.event.on("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.on("salla-products-list::products.fetched",this.onProductsFetched),document.addEventListener("click",this.onDocumentClick)}componentDidLoad(){this.initPageTitleAlignment(),this.productsList=this.host.parentElement?.querySelector("salla-products-list"),this.productsList?(this.syncHasProducts(),this.productsObserver=new MutationObserver((()=>{this.syncHasProducts()})),this.productsObserver.observe(this.productsList,{childList:!0,subtree:!0})):Salla.logger?.warn?.("[salla-wishlist-actions] no sibling salla-products-list found")}disconnectedCallback(){Salla.event.off("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.off("salla-products-list::products.fetched",this.onProductsFetched),document.removeEventListener("click",this.onDocumentClick),this.productsObserver?.disconnect(),this.pageTitleObserver?.disconnect(),this.pageTitleRetryTimeout&&window.clearTimeout(this.pageTitleRetryTimeout),this.resetPageTitleAlignment()}initPageTitleAlignment(){if(this.syncPageTitleAlignment(),this.pageTitle)return;requestAnimationFrame((()=>this.syncPageTitleAlignment())),this.pageTitleRetryTimeout=window.setTimeout((()=>this.syncPageTitleAlignment()),300);const s=this.host.closest(".main-content")??this.host.parentElement;s&&!this.pageTitle&&(this.pageTitleObserver=new MutationObserver((()=>{this.pageTitle?this.pageTitleObserver?.disconnect():(this.syncPageTitleAlignment(),this.pageTitle&&this.pageTitleObserver?.disconnect())})),this.pageTitleObserver.observe(s,{childList:!0,subtree:!0}))}findPageTitle(){const s=this.host.parentElement;if(s)for(const t of Array.from(s.children)){if(t===this.host)break;if("H1"===t.tagName)return t;const s=t.querySelector("h1");if(s)return s}const t=this.host.closest(".main-content");if(t){const s=t.querySelector("h1");if(s&&!this.host.contains(s))return s}return document.querySelector(".main-content h1, main h1")}syncPageTitleAlignment(){if(this.pageTitle)return;const s=this.findPageTitle();s&&(this.pageTitle=s,s.classList.add(a.pageTitleClass))}resetPageTitleAlignment(){this.pageTitle?.classList.remove(a.pageTitleClass),this.pageTitle=void 0}registerTranslationDefaults(){const s=Object.entries(this.translationDefaults).reduce(((s,[t,i])=>(Salla.lang.get(t)===t&&(s[t]=i),s)),{});Object.keys(s).length&&Salla.lang.addBulk(s)}loadTranslations(){this.shareLabel=Salla.lang.get("pages.wishlist.share"),this.shareAllLabel=Salla.lang.get("pages.wishlist.share_all"),this.shareSpecificLabel=Salla.lang.get("pages.wishlist.share_specific"),this.selectAllLabel=Salla.lang.get("pages.wishlist.select_all"),this.cancelLabel=Salla.lang.get("common.elements.cancel"),this.shareModalTitle=Salla.lang.get("pages.wishlist.share_list_title")}get selectedCount(){return this.selectedIds.length}get isAllSelected(){return this.loadedProductCount>0&&this.selectedCount===this.loadedProductCount}get isPartiallySelected(){return this.selectedCount>0&&this.selectedCount<this.loadedProductCount}async syncLoadedProductCount(){if(!this.productsList)return void(this.loadedProductCount=0);if(this.isListSyncPaused&&this.specificMode)return;const s=await this.productsList.getLoadedProducts();this.loadedProductCount=s.length}syncSelectAllCheckboxState(){this.selectAllCheckbox&&(this.selectAllCheckbox.checked=this.isAllSelected,this.selectAllCheckbox.indeterminate=this.isPartiallySelected)}componentDidRender(){this.syncSelectAllCheckboxState()}pauseListSync(){this.isListSyncPaused=!0,window.setTimeout((()=>{this.isListSyncPaused&&(this.isListSyncPaused=!1,this.syncHasProducts())}),3e3)}async syncHasProducts(s){if(!this.isListSyncPaused||"boolean"==typeof s){if("boolean"==typeof s)this.hasProducts=s;else if(this.productsList){const s=await this.productsList.getLoadedProducts();if(0===s.length&&this.specificMode)return;this.hasProducts=s.length>0,this.loadedProductCount=s.length}else this.hasProducts=!1,this.loadedProductCount=0;this.hasProducts||(this.menuOpen=!1,this.specificMode&&await this.cancelSpecific())}}toggleMenu(){this.hasProducts&&(this.menuOpen=!this.menuOpen)}async toggleSelectAll(){this.productsList&&(this.isAllSelected?await this.productsList.clearSelection():await this.productsList.selectAll())}async shareSpecific(){this.menuOpen=!1,this.specificMode=!0,this.pauseListSync(),this.productsList&&(this.productsList.selectable=!0)}async cancelSpecific(){this.specificMode=!1,this.selectedIds=[],this.pauseListSync(),this.productsList&&(await this.productsList.clearSelection(),this.productsList.selectable=!1)}async shareAll(){this.menuOpen=!1,await this.processShare([],!0)}async shareSelected(){this.selectedCount&&await this.processShare(this.selectedIds,!1)}async processShare(s,t=!1){if((t||s?.length)&&!this.isSharing){this.isSharing=!0;try{const i=await salla.wishlist.share(s,t),e=i?.data?.url||i?.url||"";if(!e||!this.socialShare)return;this.shareUrl=e,this.socialShare.url=e,await this.socialShare.refresh(),await this.socialShare.open()}catch(s){Salla.logger?.warn?.("[salla-wishlist-actions] share failed",s)}finally{this.isSharing=!1}}}render(){return t(i,{key:"6329ecd00f2d08cd0fc485c371e98fe7984502d0"},t("div",{key:"6e24cd1109ae290196337fe3e1e05cfd074966a9",class:"s-wishlist-actions"},t("div",{key:"82c29d5b203368059c7883272c36576b19bdfd2d",class:"s-wishlist-actions-bar flex items-center justify-end gap-3 mb-3"},t("div",{key:"3f85ad6a6e72308b71d506d2fc8687672b00ea7a",class:"s-wishlist-actions-dropdown relative"},t("salla-button",{key:"56c109a338bc9fa06aebdadb041b6587440fa71a",color:"primary",fill:"outline",type:"button",disabled:!this.hasProducts,"aria-haspopup":"true","aria-expanded":this.menuOpen?"true":"false",onClick:()=>this.toggleMenu()},t("div",{key:"f0cf0dc66dd8ce00ac878481bbf21662d1853eba",class:"flex flex-row justify-center items-center gap-2"},t("svg",{key:"3b97ef84df832a0bc1198319cc63b753da915b37",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},t("path",{key:"e8c626812dad32a5fc3165b58ce76a5c39586f09",d:"M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"})),this.shareLabel,t("svg",{key:"731093a2d4393fe53d63e96ecc48fcb4c4a360d2",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},t("path",{key:"af87c9481389b4b1e544e0ab2eac43db6c164aac",d:"M26.212 10.996c-0.556-0.484-1.396-0.428-1.881 0.127l-8.331 9.519-8.331-9.52c-0.485-0.555-1.327-0.611-1.881-0.125s-0.609 1.328-0.124 1.881l9.333 10.667c0.253 0.291 0.617 0.456 1.003 0.456s0.749-0.165 1.003-0.456l9.333-10.667c0.485-0.553 0.429-1.396-0.124-1.881z"})))),this.menuOpen&&t("ul",{key:"62ce5ade389fb563d2548fd94939f697dbc03d8a",class:"s-wishlist-actions-menu absolute z-20 mt-1 bg-white rounded-lg shadow overflow-hidden"},t("li",{key:"7cb443687290ce4c7144b71140b68c020bb52dd4"},t("button",{key:"d55410bb2f164d267a9c21af2648fbef3fdc1928",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareAll()},this.shareAllLabel)),t("li",{key:"f921f5241b0e7b7ebb228049f84dfe3996081d92"},t("button",{key:"dbc903542086266571c21ada73d54dab62f5a3e2",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareSpecific()},this.shareSpecificLabel)))),t("salla-social-share",{key:"0e3aec575c1b4aa4cdd5bb2c61f3cc3e90687f23",class:"s-wishlist-actions-social",ref:s=>this.socialShare=s,url:this.shareUrl,mode:"modal",modalTitle:this.shareModalTitle},t("span",{key:"bafce0670b980b583398b3d1a997020298e35bed",slot:"widget",class:"s-wishlist-actions-social-anchor","aria-hidden":"true"}))),this.specificMode&&t("div",{key:"216cd3409541b0f93b26e2f2bfe256a36d0ff37b",class:"s-wishlist-actions-panel flex items-center justify-between gap-4 flex-wrap p-4 mt-3 mb-3 bg-white rounded-lg"},t("label",{key:"4bf9a1cc508bfc87c229f69a7134bdefae0f9535",class:"s-wishlist-actions-panel-select-all flex items-center gap-2 cursor-pointer"},t("input",{key:"fbc39c6513eec5f4b1f281046b509c642ddce3db",type:"checkbox",class:"s-products-list-select-checkbox s-wishlist-actions-select-all",checked:this.isAllSelected,ref:s=>this.selectAllCheckbox=s,"aria-label":this.selectAllLabel,onChange:()=>this.toggleSelectAll()}),t("span",{key:"02ba3b818ecb802d8976734738c8042163b6cdae",class:"s-wishlist-actions-panel-title text-sm font-bold text-gray-700"},this.shareSpecificLabel," (",this.selectedCount,")")),t("div",{key:"447df46aa76c1ecb165b7680465ff6c6dfcc967d",class:"s-wishlist-actions-panel-buttons flex items-center gap-2"},t("salla-button",{key:"36a6360b83dd07d20ca7763e2f12dc93f169c645",class:"s-wishlist-actions-cancel",color:"light",fill:"outline",type:"button",onClick:()=>this.cancelSpecific()},this.cancelLabel),t("salla-button",{key:"3aa46bcd91bf605f7715fcaa5692e4ca0e8f199e",class:"s-wishlist-actions-share",color:"primary",fill:"outline",type:"button",disabled:!this.selectedCount,loading:this.isSharing,onClick:()=>this.shareSelected()},this.shareLabel)))))}get host(){return e(this)}};a.pageTitleClass="s-wishlist-actions-page-title",a.style=':host{display:block}.s-wishlist-actions-menu{min-width:200px;inset-inline-end:0;inset-inline-start:auto;list-style:none;margin:0;padding:4px 0;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}.s-wishlist-actions-menu-item{display:block;width:100%;padding:10px 16px;text-align:start;font-size:0.875rem;color:#374151;background:transparent;cursor:pointer;white-space:nowrap}.s-wishlist-actions-menu-item:hover{background-color:#f3f4f6;color:var(--color-primary)}.s-wishlist-actions-panel{box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-wishlist-actions-panel-select-all{user-select:none}.s-wishlist-actions-select-all:indeterminate,.s-wishlist-actions-select-all:indeterminate:hover,.s-wishlist-actions-select-all:indeterminate:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-wishlist-actions-select-all:indeterminate::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;border:none;transform:translate(-50%, -50%)}.s-wishlist-actions-social-anchor{display:none}h1.s-wishlist-actions-page-title{text-align:start !important}';export{a as salla_wishlist_actions}
4
+ import{r as s,h as t,H as i,a as e}from"./p-DWPgHXOD.js";const a=class{constructor(t){s(this,t),this.menuOpen=!1,this.hasProducts=!1,this.specificMode=!1,this.selectedIds=[],this.loadedProductCount=0,this.isSharing=!1,this.shareUrl="",this.isListSyncPaused=!1,this.translationDefaults={"pages.wishlist.share":{ar:"شارك",en:"Share"},"pages.wishlist.share_all":{ar:"مشاركة القائمة",en:"Share the list"},"pages.wishlist.share_specific":{ar:"مشاركة منتجات محددة",en:"Share specific items"},"pages.wishlist.share_list_title":{ar:"مشاركة قائمة الأمنيات",en:"Share wishlist"},"pages.wishlist.select_all":{ar:"تحديد الكل",en:"Select all"},"common.elements.cancel":{ar:"إلغاء",en:"Cancel"}},this.onSelectionChanged=s=>{this.selectedIds=s?.ids||[],this.shareUrl="",this.socialShare?.close(),this.syncLoadedProductCount()},this.onDocumentClick=s=>{this.menuOpen&&!this.host.contains(s.target)&&(this.menuOpen=!1)},this.onProductsFetched=s=>{"wishlist"===s?.source&&(this.isListSyncPaused=!1,this.syncHasProducts(!!s?.data?.length),this.syncLoadedProductCount())}}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.registerTranslationDefaults(),this.loadTranslations(),Salla.event.on("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.on("salla-products-list::products.fetched",this.onProductsFetched),document.addEventListener("click",this.onDocumentClick)}componentDidLoad(){this.initPageTitleAlignment(),this.productsList=this.host.parentElement?.querySelector("salla-products-list"),this.productsList?(this.syncHasProducts(),this.productsObserver=new MutationObserver((()=>{this.syncHasProducts()})),this.productsObserver.observe(this.productsList,{childList:!0,subtree:!0})):Salla.logger?.warn?.("[salla-wishlist-actions] no sibling salla-products-list found")}disconnectedCallback(){Salla.event.off("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.off("salla-products-list::products.fetched",this.onProductsFetched),document.removeEventListener("click",this.onDocumentClick),this.productsObserver?.disconnect(),this.pageTitleObserver?.disconnect(),this.pageTitleRetryTimeout&&window.clearTimeout(this.pageTitleRetryTimeout),this.resetPageTitleAlignment()}initPageTitleAlignment(){if(this.syncPageTitleAlignment(),this.pageTitle)return;requestAnimationFrame((()=>this.syncPageTitleAlignment())),this.pageTitleRetryTimeout=window.setTimeout((()=>this.syncPageTitleAlignment()),300);const s=this.host.closest(".main-content")??this.host.parentElement;s&&!this.pageTitle&&(this.pageTitleObserver=new MutationObserver((()=>{this.pageTitle?this.pageTitleObserver?.disconnect():(this.syncPageTitleAlignment(),this.pageTitle&&this.pageTitleObserver?.disconnect())})),this.pageTitleObserver.observe(s,{childList:!0,subtree:!0}))}findPageTitle(){const s=this.host.parentElement;if(s)for(const t of Array.from(s.children)){if(t===this.host)break;if("H1"===t.tagName)return t;const s=t.querySelector("h1");if(s)return s}const t=this.host.closest(".main-content");if(t){const s=t.querySelector("h1");if(s&&!this.host.contains(s))return s}return document.querySelector(".main-content h1, main h1")}syncPageTitleAlignment(){if(this.pageTitle)return;const s=this.findPageTitle();s&&(this.pageTitle=s,s.classList.add(a.pageTitleClass))}resetPageTitleAlignment(){this.pageTitle?.classList.remove(a.pageTitleClass),this.pageTitle=void 0}registerTranslationDefaults(){const s=Object.entries(this.translationDefaults).reduce(((s,[t,i])=>(Salla.lang.get(t)===t&&(s[t]=i),s)),{});Object.keys(s).length&&Salla.lang.addBulk(s)}loadTranslations(){this.shareLabel=Salla.lang.get("pages.wishlist.share"),this.shareAllLabel=Salla.lang.get("pages.wishlist.share_all"),this.shareSpecificLabel=Salla.lang.get("pages.wishlist.share_specific"),this.selectAllLabel=Salla.lang.get("pages.wishlist.select_all"),this.cancelLabel=Salla.lang.get("common.elements.cancel"),this.shareModalTitle=Salla.lang.get("pages.wishlist.share_list_title")}get selectedCount(){return this.selectedIds.length}get isAllSelected(){return this.loadedProductCount>0&&this.selectedCount===this.loadedProductCount}get isPartiallySelected(){return this.selectedCount>0&&this.selectedCount<this.loadedProductCount}async syncLoadedProductCount(){if(!this.productsList)return void(this.loadedProductCount=0);if(this.isListSyncPaused&&this.specificMode)return;const s=await this.productsList.getLoadedProducts();this.loadedProductCount=s.length}syncSelectAllCheckboxState(){this.selectAllCheckbox&&(this.selectAllCheckbox.checked=this.isAllSelected,this.selectAllCheckbox.indeterminate=this.isPartiallySelected)}componentDidRender(){this.syncSelectAllCheckboxState()}pauseListSync(){this.isListSyncPaused=!0,window.setTimeout((()=>{this.isListSyncPaused&&(this.isListSyncPaused=!1,this.syncHasProducts())}),3e3)}async syncHasProducts(s){if(!this.isListSyncPaused||"boolean"==typeof s){if("boolean"==typeof s)this.hasProducts=s;else if(this.productsList){const s=await this.productsList.getLoadedProducts();if(0===s.length&&this.specificMode)return;this.hasProducts=s.length>0,this.loadedProductCount=s.length}else this.hasProducts=!1,this.loadedProductCount=0;this.hasProducts||(this.menuOpen=!1,this.specificMode&&await this.cancelSpecific())}}toggleMenu(){this.hasProducts&&(this.menuOpen=!this.menuOpen)}async toggleSelectAll(){this.productsList&&(this.isAllSelected?await this.productsList.clearSelection():await this.productsList.selectAll())}async shareSpecific(){this.menuOpen=!1,this.specificMode=!0,this.pauseListSync(),this.productsList&&(this.productsList.selectable=!0)}async cancelSpecific(){this.specificMode=!1,this.selectedIds=[],this.pauseListSync(),this.productsList&&(await this.productsList.clearSelection(),this.productsList.selectable=!1)}async shareAll(){this.menuOpen=!1,await this.processShare([],!0)}async shareSelected(){this.selectedCount&&await this.processShare(this.selectedIds,!1)}async processShare(s,t=!1){if((t||s?.length)&&!this.isSharing){this.isSharing=!0;try{const i=await salla.wishlist.share(s,t),e=i?.data?.url||i?.url||"";if(!e||!this.socialShare)return;this.shareUrl=e,this.socialShare.url=e,await this.socialShare.refresh(),await this.socialShare.open()}catch(s){Salla.logger?.warn?.("[salla-wishlist-actions] share failed",s)}finally{this.isSharing=!1}}}render(){return t(i,{key:"6329ecd00f2d08cd0fc485c371e98fe7984502d0"},t("div",{key:"6e24cd1109ae290196337fe3e1e05cfd074966a9",class:"s-wishlist-actions"},t("div",{key:"82c29d5b203368059c7883272c36576b19bdfd2d",class:"s-wishlist-actions-bar flex items-center justify-end gap-3 mb-3"},t("div",{key:"3f85ad6a6e72308b71d506d2fc8687672b00ea7a",class:"s-wishlist-actions-dropdown relative"},t("salla-button",{key:"56c109a338bc9fa06aebdadb041b6587440fa71a",color:"primary",fill:"outline",type:"button",disabled:!this.hasProducts,"aria-haspopup":"true","aria-expanded":this.menuOpen?"true":"false",onClick:()=>this.toggleMenu()},t("div",{key:"f0cf0dc66dd8ce00ac878481bbf21662d1853eba",class:"flex flex-row justify-center items-center gap-2"},t("svg",{key:"3b97ef84df832a0bc1198319cc63b753da915b37",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},t("path",{key:"e8c626812dad32a5fc3165b58ce76a5c39586f09",d:"M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"})),this.shareLabel,t("svg",{key:"731093a2d4393fe53d63e96ecc48fcb4c4a360d2",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},t("path",{key:"af87c9481389b4b1e544e0ab2eac43db6c164aac",d:"M26.212 10.996c-0.556-0.484-1.396-0.428-1.881 0.127l-8.331 9.519-8.331-9.52c-0.485-0.555-1.327-0.611-1.881-0.125s-0.609 1.328-0.124 1.881l9.333 10.667c0.253 0.291 0.617 0.456 1.003 0.456s0.749-0.165 1.003-0.456l9.333-10.667c0.485-0.553 0.429-1.396-0.124-1.881z"})))),this.menuOpen&&t("ul",{key:"62ce5ade389fb563d2548fd94939f697dbc03d8a",class:"s-wishlist-actions-menu absolute z-20 mt-1 bg-white rounded-lg shadow overflow-hidden"},t("li",{key:"7cb443687290ce4c7144b71140b68c020bb52dd4"},t("button",{key:"d55410bb2f164d267a9c21af2648fbef3fdc1928",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareAll()},this.shareAllLabel)),t("li",{key:"f921f5241b0e7b7ebb228049f84dfe3996081d92"},t("button",{key:"dbc903542086266571c21ada73d54dab62f5a3e2",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareSpecific()},this.shareSpecificLabel)))),t("salla-social-share",{key:"0e3aec575c1b4aa4cdd5bb2c61f3cc3e90687f23",class:"s-wishlist-actions-social",ref:s=>this.socialShare=s,url:this.shareUrl,mode:"modal",modalTitle:this.shareModalTitle},t("span",{key:"bafce0670b980b583398b3d1a997020298e35bed",slot:"widget",class:"s-wishlist-actions-social-anchor","aria-hidden":"true"}))),this.specificMode&&t("div",{key:"216cd3409541b0f93b26e2f2bfe256a36d0ff37b",class:"s-wishlist-actions-panel flex items-center justify-between gap-4 flex-wrap p-4 mt-3 mb-3 bg-white rounded-lg"},t("label",{key:"4bf9a1cc508bfc87c229f69a7134bdefae0f9535",class:"s-wishlist-actions-panel-select-all flex items-center gap-2 cursor-pointer"},t("input",{key:"fbc39c6513eec5f4b1f281046b509c642ddce3db",type:"checkbox",class:"s-products-list-select-checkbox s-wishlist-actions-select-all",checked:this.isAllSelected,ref:s=>this.selectAllCheckbox=s,"aria-label":this.selectAllLabel,onChange:()=>this.toggleSelectAll()}),t("span",{key:"02ba3b818ecb802d8976734738c8042163b6cdae",class:"s-wishlist-actions-panel-title text-sm font-bold text-gray-700"},this.shareSpecificLabel," (",this.selectedCount,")")),t("div",{key:"447df46aa76c1ecb165b7680465ff6c6dfcc967d",class:"s-wishlist-actions-panel-buttons flex items-center gap-2"},t("salla-button",{key:"36a6360b83dd07d20ca7763e2f12dc93f169c645",class:"s-wishlist-actions-cancel",color:"light",fill:"outline",type:"button",onClick:()=>this.cancelSpecific()},this.cancelLabel),t("salla-button",{key:"3aa46bcd91bf605f7715fcaa5692e4ca0e8f199e",class:"s-wishlist-actions-share",color:"primary",fill:"outline",type:"button",disabled:!this.selectedCount,loading:this.isSharing,onClick:()=>this.shareSelected()},this.shareLabel)))))}get host(){return e(this)}};a.pageTitleClass="s-wishlist-actions-page-title",a.style=':host{display:block}.s-wishlist-actions-menu{min-width:200px;inset-inline-end:0;inset-inline-start:auto;list-style:none;margin:0;padding:4px 0;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}.s-wishlist-actions-menu-item{display:block;width:100%;padding:10px 16px;text-align:start;font-size:0.875rem;color:#374151;background:transparent;cursor:pointer;white-space:nowrap}.s-wishlist-actions-menu-item:hover{background-color:#f3f4f6;color:var(--color-primary)}.s-wishlist-actions-panel{box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-wishlist-actions-panel-select-all{user-select:none}.s-wishlist-actions-select-all:indeterminate,.s-wishlist-actions-select-all:indeterminate:hover,.s-wishlist-actions-select-all:indeterminate:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-wishlist-actions-select-all:indeterminate::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;border:none;transform:translate(-50%, -50%)}.s-wishlist-actions-social-anchor{display:none}h1.s-wishlist-actions-page-title{text-align:start !important}';export{a as salla_wishlist_actions}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{h as a,r as s}from"./p-DpB3UAAA.js";import{n as l,a as t,c as o}from"./p-CUT8CVCo.js";import{S as r,a as e}from"./p-Bs6JxDkg.js";import{S as i}from"./p-CZRcMGA9.js";import{S as p}from"./p-D1s2kXqL.js";import{S as n}from"./p-QpH8MU22.js";import{S as c}from"./p-0-eTJXSD.js";import{T as y}from"./p-tEBqC22E.js";import{a as d}from"./p-CgtvEd63.js";var m=function(a,s,l,t){var o,r=arguments.length,e=r<3?s:null===t?t=Object.getOwnPropertyDescriptor(s,l):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e=Reflect.decorate(a,s,l,t);else for(var i=a.length-1;i>=0;i--)(o=a[i])&&(e=(r<3?o(e):r>3?o(s,l,e):o(s,l))||e);return r>3&&e&&Object.defineProperty(s,l,e),e};const g={all:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:e}),free_shipping:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:i}),coupon_discount:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:r}),free_product:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:p})},h=class{constructor(a){s(this,a),this.currentPrize=null,this.currentProductId=null,this.collapsed=!0,this.animatedPoints=0,this.handleExchangeSucceeded=()=>{this.points(),this.program()}}componentWillLoad(){return salla.onReady().then((()=>salla.lang.onLoaded())).then((()=>{this.program(),this.points(),salla.event.on("loyalty::exchange.succeeded",this.handleExchangeSucceeded)})).catch((a=>salla.logger.error(a)))}disconnectedCallback(){salla.event.off("loyalty::exchange.succeeded",this.handleExchangeSucceeded)}getOutlineItem(s,l,t){const o={1:a("span",{innerHTML:n}),2:a("span",{innerHTML:c}),3:a("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>cart-upload</title>\n<path d="M14.545 7.669l3.121-2.732v9.729c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-9.728l3.121 2.732c0.253 0.22 0.567 0.329 0.879 0.329 0.371 0 0.74-0.155 1.004-0.455 0.485-0.555 0.429-1.396-0.125-1.881l-5.333-4.667c-0.503-0.44-1.253-0.44-1.756 0l-5.333 4.667c-0.555 0.484-0.611 1.327-0.125 1.881 0.484 0.552 1.325 0.609 1.881 0.124zM30.647 5.371c-0.713-0.171-1.436 0.267-1.609 0.983l-2.744 11.363c-0.171 0.568-0.684 0.951-1.277 0.951h-12.136c-0.563 0-1.067-0.356-1.256-0.885l-6.035-16.896c-0.189-0.531-0.692-0.885-1.256-0.885h-2.667c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h1.727l5.719 16.012c0.567 1.588 2.081 2.655 3.768 2.655h12.136c1.78 0 3.32-1.145 3.851-2.92l2.763-11.433c0.173-0.716-0.267-1.436-0.983-1.609zM13.667 24c-2.205 0-4 1.795-4 4s1.795 4 4 4 4-1.795 4-4-1.795-4-4-4zM13.667 29.333c-0.735 0-1.333-0.599-1.333-1.333s0.599-1.333 1.333-1.333 1.333 0.599 1.333 1.333-0.599 1.333-1.333 1.333zM24.333 24c-2.205 0-4 1.795-4 4s1.795 4 4 4 4-1.795 4-4-1.795-4-4-4zM24.333 29.333c-0.735 0-1.333-0.599-1.333-1.333s0.599-1.333 1.333-1.333 1.333 0.599 1.333 1.333-0.599 1.333-1.333 1.333z"></path>\n</svg>\n'})};return a("li",{class:"s-loyalty-program-item"},a("div",{class:"s-loyalty-program-content"},a("span",{class:"s-loyalty-program-icon-container"},a("span",{class:"s-loyalty-program-text-gradient"},s),a("span",{class:"s-loyalty-program-icon"},o[s])),a("div",{class:"s-loyalty-program-title"},l),a("div",{class:"s-loyalty-program-description"},t)))}render(){if("error"===this.program.status)return a("p",null,salla.lang.get("common.errors.error_occured"));const s=this.program.data.points.slice(0,this.collapsed?t(this.program.data.points.length):this.program.data.points.length),l=this.program.data.prizes,r=this.program.data.prizes_count;return a("div",{class:"s-loyalty-program-container"},a("salla-loyalty-hero",{name:this.program.data.name,description:this.program.data.description,image:this.program.data.image},salla.config.isUser()?a("div",{slot:"crosspoint",class:"s-loyalty-program-profile-wrapper"},a("div",{class:"s-loyalty-program-profile-container"},a("div",{class:"s-loyalty-program-profile-points-section"},a("h2",{class:"s-loyalty-program-profile-label"},salla.lang.get("pages.loyalty_program.your_points")),a("p",{class:"s-loyalty-program-profile-points"},a("span",{class:"s-loyalty-program-profile-points-value"},this.animatedPoints?this.animatedPoints:this.points.data)," ",salla.lang.get("pages.loyalty_program.point"))),a("salla-button",{href:salla.url.get("loyalty_points"),fill:"outline",color:"primary"},salla.lang.get("pages.loyalty_program.view_points_log")))):a("button",{slot:"action",onClick:()=>salla.event.dispatch("login::open"),class:{"s-loyalty-program-login-action":!0,"s-loyalty-program-login-action-dark":!this.program.data.image,"s-loyalty-program-login-action-light":!!this.program.data.image}},salla.lang.get("blocks.header.login"))),a("div",{class:"s-loyalty-program-outline-section"},a("section",{class:"s-loyalty-program-section"},a("header",{class:"s-loyalty-program-header"},a("h1",{class:"s-loyalty-program-main-title"},salla.lang.get("pages.loyalty_program.how_to_start")),a("p",{class:"s-loyalty-program-subtitle"},salla.lang.get("pages.loyalty_program.three_simple_steps"))),a("ol",{class:"s-loyalty-program-list"},this.getOutlineItem(1,salla.lang.get("pages.loyalty_program.register"),salla.lang.get("pages.loyalty_program.create_account")),this.getOutlineItem(2,salla.lang.get("pages.loyalty_program.earn_points"),salla.lang.get("pages.loyalty_program.complete_tasks")),this.getOutlineItem(3,salla.lang.get("pages.loyalty_program.redeem_rewards"),salla.lang.get("pages.loyalty_program.enjoy_rewards"))))),a("div",{class:"s-loyalty-program-points-wrapper"},a("section",{class:"s-loyalty-program-points-section"},a("header",{class:"s-loyalty-program-points-header"},a("h1",{class:"s-loyalty-program-points-title"},this.program.data.promotion_title),a("p",{class:"s-loyalty-program-points-description"},this.program.data.promotion_description)),a("div",{class:"s-loyalty-program-points-spacer"}),a("ul",{class:{"s-loyalty-program-points-list-one":1===this.program.data.points.length,"s-loyalty-program-points-list-two":2===this.program.data.points.length,"s-loyalty-program-points-list-multi":this.program.data.points.length>2}},s.map((s=>a("li",null,a("salla-loyalty-point",{point:s}))))),a("div",{class:"s-loyalty-program-points-spacer"}),t(this.program.data.points.length)!==this.program.data.points.length&&a("button",{class:"s-loyalty-program-points-more-button",onClick:()=>this.collapsed=!this.collapsed},this.collapsed?a("span",null,salla.lang.get("pages.loyalty_program.show_more"),"  ",a("span",{style:{fontSize:"1.2rem",fontWeight:"300"}},"+")):a("span",null,salla.lang.get("pages.loyalty_program.show_less"),"  ",a("span",{style:{fontSize:"1.2rem",fontWeight:"300"}},"-"))))),"success"!==this.program.status?"":a("div",{class:"s-loyalty-program-rewards-container s-loyalty-program-slider-arrows-edges"},a("section",{class:{"s-loyalty-program-tabs-hider":l.length<=2||r<=4}},a("h1",{class:"s-loyalty-program-rewards-heading-mobile"},salla.lang.get("pages.loyalty_program.rewards")),a("salla-tabs",null,a("div",{slot:"header",class:"s-loyalty-program-rewards-tab-items"},l.map((s=>a("salla-tab-header",{slot:"header",name:s.type},g[s.type],a("span",null,s.title))))),a("h1",{slot:"header",class:"s-loyalty-program-rewards-heading-desktop"},salla.lang.get("pages.loyalty_program.rewards")),l.map((s=>a("salla-tab-content",{slot:"content",name:s.type},a("salla-slider",{id:s.type,type:"default","slider-config":'{"loop":false,"slidesPerView":"auto","freeMode":true,"spaceBetween":12,"breakpoints":{"768":{"slidesPerView":4,"spaceBetween":24,"freeMode":false,"speed":300}}}'},a("div",{slot:"items"},s.items.map((s=>a("salla-reward-card",{prize:s,onAreaClick:()=>{this.currentPrize=s,o((()=>this.detailsModal.open()))},onActionClick:()=>{this.currentPrize=s,o((()=>this.detailsModal.open()))}}))))))))),a("salla-modal",{ref:a=>this.detailsModal=a,class:"s-loyalty-program-modal",width:"md",noPadding:!0},this.currentPrize?a("salla-reward-details",{onActionClick:()=>{this.currentProductId=null,o((()=>this.exchangeModal.open()))},onProductActionClick:a=>{this.currentProductId=a.detail.productId,o((()=>this.exchangeModal.open()))},prize:this.currentPrize}):""),a("salla-modal",{ref:a=>this.exchangeModal=a,class:"s-loyalty-program-modal",width:"sm"},this.currentPrize?a("salla-reward-exchange",{prize:this.currentPrize,productId:this.currentProductId}):""))))}};m([y((async function(){const{data:a}=await salla.loyalty.getProgram();return l(a)}),{initialData:{points:[],prizes:[],prizes_count:0}})],h.prototype,"program",void 0),m([y((async function(){const{data:a}=await salla.loyalty.getPoints();return d({targets:{value:0},value:a.points??0,round:1,easing:"easeOutQuad",duration:2e3,update:a=>{this.animatedPoints=a.animations[0].currentValue}}),a.points}))],h.prototype,"points",void 0),h.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";export{h as salla_loyalty_program}
4
+ import{h as a,r as s}from"./p-DWPgHXOD.js";import{n as l,a as t,c as o}from"./p-XUX4U548.js";import{S as r,a as e}from"./p-Bs6JxDkg.js";import{S as i}from"./p-CZRcMGA9.js";import{S as p}from"./p-D1s2kXqL.js";import{S as n}from"./p-QpH8MU22.js";import{S as c}from"./p-0-eTJXSD.js";import{T as y}from"./p-zvJtEDoB.js";import{a as d}from"./p-CgtvEd63.js";var m=function(a,s,l,t){var o,r=arguments.length,e=r<3?s:null===t?t=Object.getOwnPropertyDescriptor(s,l):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e=Reflect.decorate(a,s,l,t);else for(var i=a.length-1;i>=0;i--)(o=a[i])&&(e=(r<3?o(e):r>3?o(s,l,e):o(s,l))||e);return r>3&&e&&Object.defineProperty(s,l,e),e};const g={all:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:e}),free_shipping:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:i}),coupon_discount:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:r}),free_product:a("span",{class:"s-loyalty-program-rewards-tab-icon",innerHTML:p})},h=class{constructor(a){s(this,a),this.currentPrize=null,this.currentProductId=null,this.collapsed=!0,this.animatedPoints=0,this.handleExchangeSucceeded=()=>{this.points(),this.program()}}componentWillLoad(){return salla.onReady().then((()=>salla.lang.onLoaded())).then((()=>{this.program(),this.points(),salla.event.on("loyalty::exchange.succeeded",this.handleExchangeSucceeded)})).catch((a=>salla.logger.error(a)))}disconnectedCallback(){salla.event.off("loyalty::exchange.succeeded",this.handleExchangeSucceeded)}getOutlineItem(s,l,t){const o={1:a("span",{innerHTML:n}),2:a("span",{innerHTML:c}),3:a("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>cart-upload</title>\n<path d="M14.545 7.669l3.121-2.732v9.729c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-9.728l3.121 2.732c0.253 0.22 0.567 0.329 0.879 0.329 0.371 0 0.74-0.155 1.004-0.455 0.485-0.555 0.429-1.396-0.125-1.881l-5.333-4.667c-0.503-0.44-1.253-0.44-1.756 0l-5.333 4.667c-0.555 0.484-0.611 1.327-0.125 1.881 0.484 0.552 1.325 0.609 1.881 0.124zM30.647 5.371c-0.713-0.171-1.436 0.267-1.609 0.983l-2.744 11.363c-0.171 0.568-0.684 0.951-1.277 0.951h-12.136c-0.563 0-1.067-0.356-1.256-0.885l-6.035-16.896c-0.189-0.531-0.692-0.885-1.256-0.885h-2.667c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h1.727l5.719 16.012c0.567 1.588 2.081 2.655 3.768 2.655h12.136c1.78 0 3.32-1.145 3.851-2.92l2.763-11.433c0.173-0.716-0.267-1.436-0.983-1.609zM13.667 24c-2.205 0-4 1.795-4 4s1.795 4 4 4 4-1.795 4-4-1.795-4-4-4zM13.667 29.333c-0.735 0-1.333-0.599-1.333-1.333s0.599-1.333 1.333-1.333 1.333 0.599 1.333 1.333-0.599 1.333-1.333 1.333zM24.333 24c-2.205 0-4 1.795-4 4s1.795 4 4 4 4-1.795 4-4-1.795-4-4-4zM24.333 29.333c-0.735 0-1.333-0.599-1.333-1.333s0.599-1.333 1.333-1.333 1.333 0.599 1.333 1.333-0.599 1.333-1.333 1.333z"></path>\n</svg>\n'})};return a("li",{class:"s-loyalty-program-item"},a("div",{class:"s-loyalty-program-content"},a("span",{class:"s-loyalty-program-icon-container"},a("span",{class:"s-loyalty-program-text-gradient"},s),a("span",{class:"s-loyalty-program-icon"},o[s])),a("div",{class:"s-loyalty-program-title"},l),a("div",{class:"s-loyalty-program-description"},t)))}render(){if("error"===this.program.status)return a("p",null,salla.lang.get("common.errors.error_occured"));const s=this.program.data.points.slice(0,this.collapsed?t(this.program.data.points.length):this.program.data.points.length),l=this.program.data.prizes,r=this.program.data.prizes_count;return a("div",{class:"s-loyalty-program-container"},a("salla-loyalty-hero",{name:this.program.data.name,description:this.program.data.description,image:this.program.data.image},salla.config.isUser()?a("div",{slot:"crosspoint",class:"s-loyalty-program-profile-wrapper"},a("div",{class:"s-loyalty-program-profile-container"},a("div",{class:"s-loyalty-program-profile-points-section"},a("h2",{class:"s-loyalty-program-profile-label"},salla.lang.get("pages.loyalty_program.your_points")),a("p",{class:"s-loyalty-program-profile-points"},a("span",{class:"s-loyalty-program-profile-points-value"},this.animatedPoints?this.animatedPoints:this.points.data)," ",salla.lang.get("pages.loyalty_program.point"))),a("salla-button",{href:salla.url.get("loyalty_points"),fill:"outline",color:"primary"},salla.lang.get("pages.loyalty_program.view_points_log")))):a("button",{slot:"action",onClick:()=>salla.event.dispatch("login::open"),class:{"s-loyalty-program-login-action":!0,"s-loyalty-program-login-action-dark":!this.program.data.image,"s-loyalty-program-login-action-light":!!this.program.data.image}},salla.lang.get("blocks.header.login"))),a("div",{class:"s-loyalty-program-outline-section"},a("section",{class:"s-loyalty-program-section"},a("header",{class:"s-loyalty-program-header"},a("h1",{class:"s-loyalty-program-main-title"},salla.lang.get("pages.loyalty_program.how_to_start")),a("p",{class:"s-loyalty-program-subtitle"},salla.lang.get("pages.loyalty_program.three_simple_steps"))),a("ol",{class:"s-loyalty-program-list"},this.getOutlineItem(1,salla.lang.get("pages.loyalty_program.register"),salla.lang.get("pages.loyalty_program.create_account")),this.getOutlineItem(2,salla.lang.get("pages.loyalty_program.earn_points"),salla.lang.get("pages.loyalty_program.complete_tasks")),this.getOutlineItem(3,salla.lang.get("pages.loyalty_program.redeem_rewards"),salla.lang.get("pages.loyalty_program.enjoy_rewards"))))),a("div",{class:"s-loyalty-program-points-wrapper"},a("section",{class:"s-loyalty-program-points-section"},a("header",{class:"s-loyalty-program-points-header"},a("h1",{class:"s-loyalty-program-points-title"},this.program.data.promotion_title),a("p",{class:"s-loyalty-program-points-description"},this.program.data.promotion_description)),a("div",{class:"s-loyalty-program-points-spacer"}),a("ul",{class:{"s-loyalty-program-points-list-one":1===this.program.data.points.length,"s-loyalty-program-points-list-two":2===this.program.data.points.length,"s-loyalty-program-points-list-multi":this.program.data.points.length>2}},s.map((s=>a("li",null,a("salla-loyalty-point",{point:s}))))),a("div",{class:"s-loyalty-program-points-spacer"}),t(this.program.data.points.length)!==this.program.data.points.length&&a("button",{class:"s-loyalty-program-points-more-button",onClick:()=>this.collapsed=!this.collapsed},this.collapsed?a("span",null,salla.lang.get("pages.loyalty_program.show_more"),"  ",a("span",{style:{fontSize:"1.2rem",fontWeight:"300"}},"+")):a("span",null,salla.lang.get("pages.loyalty_program.show_less"),"  ",a("span",{style:{fontSize:"1.2rem",fontWeight:"300"}},"-"))))),"success"!==this.program.status?"":a("div",{class:"s-loyalty-program-rewards-container s-loyalty-program-slider-arrows-edges"},a("section",{class:{"s-loyalty-program-tabs-hider":l.length<=2||r<=4}},a("h1",{class:"s-loyalty-program-rewards-heading-mobile"},salla.lang.get("pages.loyalty_program.rewards")),a("salla-tabs",null,a("div",{slot:"header",class:"s-loyalty-program-rewards-tab-items"},l.map((s=>a("salla-tab-header",{slot:"header",name:s.type},g[s.type],a("span",null,s.title))))),a("h1",{slot:"header",class:"s-loyalty-program-rewards-heading-desktop"},salla.lang.get("pages.loyalty_program.rewards")),l.map((s=>a("salla-tab-content",{slot:"content",name:s.type},a("salla-slider",{id:s.type,type:"default","slider-config":'{"loop":false,"slidesPerView":"auto","freeMode":true,"spaceBetween":12,"breakpoints":{"768":{"slidesPerView":4,"spaceBetween":24,"freeMode":false,"speed":300}}}'},a("div",{slot:"items"},s.items.map((s=>a("salla-reward-card",{prize:s,onAreaClick:()=>{this.currentPrize=s,o((()=>this.detailsModal.open()))},onActionClick:()=>{this.currentPrize=s,o((()=>this.detailsModal.open()))}}))))))))),a("salla-modal",{ref:a=>this.detailsModal=a,class:"s-loyalty-program-modal",width:"md",noPadding:!0},this.currentPrize?a("salla-reward-details",{onActionClick:()=>{this.currentProductId=null,o((()=>this.exchangeModal.open()))},onProductActionClick:a=>{this.currentProductId=a.detail.productId,o((()=>this.exchangeModal.open()))},prize:this.currentPrize}):""),a("salla-modal",{ref:a=>this.exchangeModal=a,class:"s-loyalty-program-modal",width:"sm"},this.currentPrize?a("salla-reward-exchange",{prize:this.currentPrize,productId:this.currentProductId}):""))))}};m([y((async function(){const{data:a}=await salla.loyalty.getProgram();return l(a)}),{initialData:{points:[],prizes:[],prizes_count:0}})],h.prototype,"program",void 0),m([y((async function(){const{data:a}=await salla.loyalty.getPoints();return d({targets:{value:0},value:a.points??0,round:1,easing:"easeOutQuad",duration:2e3,update:a=>{this.animatedPoints=a.animations[0].currentValue}}),a.points}))],h.prototype,"points",void 0),h.style="@media (max-width: 639px){.s-loyalty-program-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;max-height:100dvh;overflow-y:auto !important}}.s-loyalty-exchange-card salla-product-card .s-product-card-image,.s-loyalty-exchange-card custom-salla-product-card .s-product-card-image{flex:none;aspect-ratio:1;overflow:hidden}.s-loyalty-exchange-card-btn{padding:0 1.25rem 1.25rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.75rem}.s-loyalty-program-reward-details-products-grid>*{flex:1 1 100%;min-width:0;touch-action:pan-y}@media (min-width: 640px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 1rem) / 2)}}@media (min-width: 768px){.s-loyalty-program-reward-details-products-grid>*{flex-basis:calc((100% - 2rem) / 3)}}.s-loyalty-program-reward-details-products-grid>*:only-child{max-width:320px;margin-inline:auto}.s-loyalty-program-reward-details-products-grid:has(>*:nth-child(3))>*{flex-grow:0}";export{h as salla_loyalty_program}