@salla.sa/twilight-components 3.0.19 → 3.0.20

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 (469) hide show
  1. package/dist/cjs/{Helper-DqKJCL8G.js → Helper-C3MBaLHQ.js} +1 -1
  2. package/dist/cjs/delivery-promise-intent-5WTKLkFZ.js +71 -0
  3. package/dist/cjs/{filepond-Byu0lc8z.js → filepond-DGt10gCq.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-poster-qwx7lYZ-.js → filepond-plugin-file-poster-NSV7ClY6.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-size-C-n0P4TT.js → filepond-plugin-file-validate-size-C08-fDj7.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-file-validate-type-C8VOOXdT.js → filepond-plugin-file-validate-type-CbbTh4qd.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-edit-B9KG763Y.js → filepond-plugin-image-edit-CqqtsmjD.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-exif-orientation-Czt4pYzU.js → filepond-plugin-image-exif-orientation-D60HJIiL.js} +1 -1
  9. package/dist/cjs/{filepond-plugin-image-preview-BFm1Zl0o.js → filepond-plugin-image-preview-B7bWOXFm.js} +1 -1
  10. package/dist/cjs/{helpers-NV7wgP50.js → helpers-wRMwEkLy.js} +25 -0
  11. package/dist/cjs/{index-CFW798jX.js → index-U-OadFju.js} +14 -10
  12. package/dist/cjs/{intlTelInput-CLa2B89b.js → intlTelInput-Cp6WJvPO.js} +1 -1
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
  16. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +120 -6
  17. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-applied-filters.cjs.entry.js +2 -2
  21. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +13 -13
  23. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +12 -17
  26. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-comment-form_9.cjs.entry.js +4 -4
  32. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-delivery-promise.cjs.entry.js +5 -65
  38. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  40. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  41. package/dist/cjs/salla-free-shipping-banner.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-free-shipping-tag.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +2 -2
  45. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-mobile-update-modal.cjs.entry.js +188 -0
  63. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +4 -4
  64. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
  65. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
  66. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-notification-item_2.cjs.entry.js +3 -3
  68. package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
  69. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
  75. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
  77. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-order-items.cjs.entry.js +2 -2
  79. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-order-payment.cjs.entry.js +2 -2
  81. package/dist/cjs/salla-order-rewards.cjs.entry.js +2 -2
  82. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
  84. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-orders.cjs.entry.js +2 -2
  86. package/dist/cjs/salla-payments.cjs.entry.js +3 -3
  87. package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
  88. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
  90. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
  92. package/dist/cjs/salla-products-list.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
  94. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +33 -7
  96. package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
  98. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-search-product-card.cjs.entry.js +3 -3
  101. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  102. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  103. package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
  104. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  105. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  106. package/dist/cjs/salla-thank-you-header.cjs.entry.js +2 -2
  107. package/dist/cjs/salla-thank-you-page.cjs.entry.js +2 -2
  108. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  109. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  110. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  111. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  112. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  113. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  114. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  115. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  116. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +2 -2
  117. package/dist/cjs/twilight.cjs.js +2 -2
  118. package/dist/cjs/{vanilla-picker-Vx_7G7bs.js → vanilla-picker-C-rN_NiT.js} +1 -1
  119. package/dist/collection/collection-manifest.json +1 -0
  120. package/dist/collection/components/salla-bullet-delivery/helpers.js +23 -0
  121. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +7 -12
  122. package/dist/collection/components/salla-mobile-update-modal/salla-mobile-update-modal.css +43 -0
  123. package/dist/collection/components/salla-mobile-update-modal/salla-mobile-update-modal.js +235 -0
  124. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
  125. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  126. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
  127. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
  128. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
  129. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  130. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  131. package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
  132. package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
  133. package/dist/collection/components/salla-order-items/salla-order-items.js +1 -1
  134. package/dist/collection/components/salla-order-payment/salla-order-payment.js +1 -1
  135. package/dist/collection/components/salla-order-rewards/salla-order-rewards.js +1 -1
  136. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  137. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  138. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  139. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  140. package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
  141. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  142. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  143. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +47 -1
  144. package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +31 -5
  145. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  146. package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
  147. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  148. package/dist/collection/components/salla-search-product-card/salla-search-product-card.js +2 -2
  149. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  150. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  151. package/dist/collection/components/salla-social/salla-social.js +1 -1
  152. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  153. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  154. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  155. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  156. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  157. package/dist/collection/components/salla-thank-you-header/salla-thank-you-header.js +1 -1
  158. package/dist/collection/components/salla-thank-you-page/salla-thank-you-page.js +1 -1
  159. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  160. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  161. package/dist/collection/components/salla-verify/salla-verify.js +48 -2
  162. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  163. package/dist/components/delivery-promise-intent.js +67 -0
  164. package/dist/components/helpers.js +24 -1
  165. package/dist/components/index.js +2 -2
  166. package/dist/components/mail.js +2 -2
  167. package/dist/components/salla-bullet-delivery.js +7 -12
  168. package/dist/components/salla-contacts.js +2 -2
  169. package/dist/components/salla-delivery-promise.js +1 -62
  170. package/dist/components/salla-loyalty-point2.js +2 -2
  171. package/dist/components/salla-mobile-update-modal.d.ts +11 -0
  172. package/dist/components/salla-mobile-update-modal.js +241 -0
  173. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  174. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  175. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  176. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  177. package/dist/components/salla-multiple-bundle-product.js +1 -1
  178. package/dist/components/salla-notification-item2.js +1 -1
  179. package/dist/components/salla-offer-modal.js +1 -1
  180. package/dist/components/salla-order-details.js +1 -1
  181. package/dist/components/salla-order-edit-product-card.js +1 -1
  182. package/dist/components/salla-order-items2.js +1 -1
  183. package/dist/components/salla-order-payment.js +1 -1
  184. package/dist/components/salla-order-rewards.js +1 -1
  185. package/dist/components/salla-order-summary.js +1 -1
  186. package/dist/components/salla-payments.js +2 -2
  187. package/dist/components/salla-placeholder2.js +1 -1
  188. package/dist/components/salla-product-availability2.js +1 -1
  189. package/dist/components/salla-product-card-embed.js +1 -1
  190. package/dist/components/salla-product-size-guide.js +2 -2
  191. package/dist/components/salla-quantity-input2.js +1 -1
  192. package/dist/components/salla-quick-buy2.js +117 -3
  193. package/dist/components/salla-quick-order.js +2 -2
  194. package/dist/components/salla-rating-modal-v22.js +33 -7
  195. package/dist/components/salla-rating-modal2.js +2 -2
  196. package/dist/components/salla-review-card2.js +1 -1
  197. package/dist/components/salla-review-factors-tags2.js +1 -1
  198. package/dist/components/salla-reviews-page.js +1 -1
  199. package/dist/components/salla-search-product-card2.js +2 -2
  200. package/dist/components/salla-searchable-dropdown2.js +4 -4
  201. package/dist/components/salla-skeleton2.js +1 -1
  202. package/dist/components/salla-social-share2.js +4 -4
  203. package/dist/components/salla-social.js +1 -1
  204. package/dist/components/salla-tab-content2.js +1 -1
  205. package/dist/components/salla-tab-header2.js +1 -1
  206. package/dist/components/salla-tabs2.js +1 -1
  207. package/dist/components/salla-tel-input2.js +1 -1
  208. package/dist/components/salla-thank-you-header.js +1 -1
  209. package/dist/components/salla-thank-you-page.js +1 -1
  210. package/dist/components/salla-tooltip2.js +1 -1
  211. package/dist/components/salla-user-settings.js +1 -1
  212. package/dist/components/salla-verify.js +1 -321
  213. package/dist/components/salla-verify2.js +328 -0
  214. package/dist/components/salla-wishlist-actions.js +1 -1
  215. package/dist/docs.json +158 -2
  216. package/dist/esm/{Helper-I0CAizv1.js → Helper-BKruFMBN.js} +1 -1
  217. package/dist/esm/delivery-promise-intent-C6pZjRut.js +67 -0
  218. package/dist/esm/{filepond-DTUYXV0J.js → filepond-Vl6a--vT.js} +1 -1
  219. package/dist/esm/{filepond-plugin-file-poster-DydZjneT.js → filepond-plugin-file-poster-CrQqmzd5.js} +1 -1
  220. package/dist/esm/{filepond-plugin-file-validate-size-nbsCU2t9.js → filepond-plugin-file-validate-size-BrHjddJa.js} +1 -1
  221. package/dist/esm/{filepond-plugin-file-validate-type-Cl5B_DIy.js → filepond-plugin-file-validate-type-BeMZq9Fl.js} +1 -1
  222. package/dist/esm/{filepond-plugin-image-edit-bzskFyFR.js → filepond-plugin-image-edit-DW6JzY39.js} +1 -1
  223. package/dist/esm/{filepond-plugin-image-exif-orientation-MBDuxLaX.js → filepond-plugin-image-exif-orientation-gzIIB75B.js} +1 -1
  224. package/dist/esm/{filepond-plugin-image-preview-N6wzEryW.js → filepond-plugin-image-preview-BwbtnJIU.js} +1 -1
  225. package/dist/esm/{helpers-Cnh7Qptl.js → helpers-BVaKfTMx.js} +24 -1
  226. package/dist/esm/{index-C9zdeQFI.js → index-CrXKQnBu.js} +14 -10
  227. package/dist/esm/{intlTelInput-B5L9nYtO.js → intlTelInput-BkjSbnO6.js} +1 -1
  228. package/dist/esm/loader.js +3 -3
  229. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  230. package/dist/esm/salla-accordion_6.entry.js +2 -2
  231. package/dist/esm/salla-add-product-button_5.entry.js +120 -6
  232. package/dist/esm/salla-advertisement.entry.js +1 -1
  233. package/dist/esm/salla-alert_2.entry.js +1 -1
  234. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  235. package/dist/esm/salla-applied-filters.entry.js +2 -2
  236. package/dist/esm/salla-apps-icons.entry.js +1 -1
  237. package/dist/esm/salla-attachment-view_9.entry.js +13 -13
  238. package/dist/esm/salla-badge.entry.js +1 -1
  239. package/dist/esm/salla-basket-gap.entry.js +1 -1
  240. package/dist/esm/salla-bullet-delivery_3.entry.js +12 -17
  241. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  242. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  243. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  244. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  245. package/dist/esm/salla-comment-factors.entry.js +1 -1
  246. package/dist/esm/salla-comment-form_9.entry.js +4 -4
  247. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  248. package/dist/esm/salla-contacts.entry.js +1 -1
  249. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  250. package/dist/esm/salla-count-down.entry.js +1 -1
  251. package/dist/esm/salla-custom-fields.entry.js +1 -1
  252. package/dist/esm/salla-delivery-promise.entry.js +3 -63
  253. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  254. package/dist/esm/salla-filters-widget.entry.js +2 -2
  255. package/dist/esm/salla-filters.entry.js +2 -2
  256. package/dist/esm/salla-free-shipping-banner.entry.js +1 -1
  257. package/dist/esm/salla-free-shipping-tag.entry.js +1 -1
  258. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  259. package/dist/esm/salla-gift-card-redeem_2.entry.js +2 -2
  260. package/dist/esm/salla-gifting.entry.js +1 -1
  261. package/dist/esm/salla-hook.entry.js +1 -1
  262. package/dist/esm/salla-infinite-scroll.entry.js +2 -2
  263. package/dist/esm/salla-installment.entry.js +1 -1
  264. package/dist/esm/salla-list-tile.entry.js +1 -1
  265. package/dist/esm/salla-localization-modal.entry.js +1 -1
  266. package/dist/esm/salla-login-modal.entry.js +1 -1
  267. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  268. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  269. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  270. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  271. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  272. package/dist/esm/salla-loyalty.entry.js +1 -1
  273. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  274. package/dist/esm/salla-map_3.entry.js +1 -1
  275. package/dist/esm/salla-menu.entry.js +1 -1
  276. package/dist/esm/salla-metadata.entry.js +1 -1
  277. package/dist/esm/salla-mobile-update-modal.entry.js +186 -0
  278. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  279. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  280. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  281. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  282. package/dist/esm/salla-notification-item_2.entry.js +3 -3
  283. package/dist/esm/salla-offer-modal.entry.js +2 -2
  284. package/dist/esm/salla-offer.entry.js +1 -1
  285. package/dist/esm/salla-order-branch.entry.js +1 -1
  286. package/dist/esm/salla-order-cancel.entry.js +1 -1
  287. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  288. package/dist/esm/salla-order-details-options.entry.js +1 -1
  289. package/dist/esm/salla-order-details.entry.js +2 -2
  290. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  291. package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
  292. package/dist/esm/salla-order-edit.entry.js +1 -1
  293. package/dist/esm/salla-order-items.entry.js +2 -2
  294. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  295. package/dist/esm/salla-order-payment.entry.js +2 -2
  296. package/dist/esm/salla-order-rewards.entry.js +2 -2
  297. package/dist/esm/salla-order-shipments.entry.js +1 -1
  298. package/dist/esm/salla-order-summary.entry.js +2 -2
  299. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  300. package/dist/esm/salla-orders.entry.js +2 -2
  301. package/dist/esm/salla-payments.entry.js +3 -3
  302. package/dist/esm/salla-placeholder.entry.js +2 -2
  303. package/dist/esm/salla-price-range.entry.js +1 -1
  304. package/dist/esm/salla-product-card-embed.entry.js +2 -2
  305. package/dist/esm/salla-product-card.entry.js +1 -1
  306. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  307. package/dist/esm/salla-products-list.entry.js +2 -2
  308. package/dist/esm/salla-products-slider.entry.js +2 -2
  309. package/dist/esm/salla-quick-order.entry.js +1 -1
  310. package/dist/esm/salla-rating-modal-v2.entry.js +33 -7
  311. package/dist/esm/salla-rating-modal.entry.js +2 -2
  312. package/dist/esm/salla-review-factors-tags.entry.js +2 -2
  313. package/dist/esm/salla-review-order-item.entry.js +1 -1
  314. package/dist/esm/salla-scopes.entry.js +1 -1
  315. package/dist/esm/salla-search-product-card.entry.js +3 -3
  316. package/dist/esm/salla-search.entry.js +2 -2
  317. package/dist/esm/salla-skeleton.entry.js +2 -2
  318. package/dist/esm/salla-social-share.entry.js +2 -2
  319. package/dist/esm/salla-social.entry.js +2 -2
  320. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  321. package/dist/esm/salla-thank-you-header.entry.js +2 -2
  322. package/dist/esm/salla-thank-you-page.entry.js +2 -2
  323. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  324. package/dist/esm/salla-trust-badges.entry.js +1 -1
  325. package/dist/esm/salla-user-menu.entry.js +1 -1
  326. package/dist/esm/salla-user-profile.entry.js +1 -1
  327. package/dist/esm/salla-user-settings.entry.js +2 -2
  328. package/dist/esm/salla-verify.entry.js +3 -3
  329. package/dist/esm/salla-wallet.entry.js +1 -1
  330. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  331. package/dist/esm/salla-wishlist-summary.entry.js +2 -2
  332. package/dist/esm/twilight.js +3 -3
  333. package/dist/esm/{vanilla-picker-CAeu4f87.js → vanilla-picker-eSagUASw.js} +1 -1
  334. package/dist/twilight/p-0050dd2a.entry.js +4 -0
  335. package/dist/twilight/{p-c92cc92f.entry.js → p-012ff05c.entry.js} +1 -1
  336. package/dist/twilight/{p-8948b58c.entry.js → p-02ce2139.entry.js} +1 -1
  337. package/dist/twilight/{p-3cc6ca6c.entry.js → p-059aa8a9.entry.js} +1 -1
  338. package/dist/twilight/{p-995b898f.entry.js → p-09798a10.entry.js} +1 -1
  339. package/dist/twilight/p-0af7555c.entry.js +4 -0
  340. package/dist/twilight/{p-bbb09d92.entry.js → p-11075f15.entry.js} +1 -1
  341. package/dist/twilight/{p-e20d5e75.entry.js → p-12b2b553.entry.js} +1 -1
  342. package/dist/twilight/{p-619c709c.entry.js → p-14fb124b.entry.js} +1 -1
  343. package/dist/twilight/{p-e921b2d1.entry.js → p-1ca3525d.entry.js} +1 -1
  344. package/dist/twilight/{p-30d64bd1.entry.js → p-1f54638c.entry.js} +1 -1
  345. package/dist/twilight/{p-2b930157.entry.js → p-201c816d.entry.js} +1 -1
  346. package/dist/twilight/{p-d0f903ac.entry.js → p-203b2723.entry.js} +1 -1
  347. package/dist/twilight/{p-c4274188.entry.js → p-224c35e6.entry.js} +1 -1
  348. package/dist/twilight/{p-386b3dcd.entry.js → p-22bd8281.entry.js} +1 -1
  349. package/dist/twilight/{p-4070f808.entry.js → p-25ac8744.entry.js} +1 -1
  350. package/dist/twilight/{p-ec356e5a.entry.js → p-25b964c0.entry.js} +1 -1
  351. package/dist/twilight/{p-7fa4d0b6.entry.js → p-2a469c80.entry.js} +1 -1
  352. package/dist/twilight/{p-d57b49ff.entry.js → p-2a6f93a8.entry.js} +1 -1
  353. package/dist/twilight/{p-2e4e15c5.entry.js → p-2b0f98fc.entry.js} +1 -1
  354. package/dist/twilight/{p-8712f7c7.entry.js → p-2e66576c.entry.js} +1 -1
  355. package/dist/twilight/{p-45e0a5d0.entry.js → p-2e8e7cf2.entry.js} +1 -1
  356. package/dist/twilight/{p-faf00404.entry.js → p-2f05393f.entry.js} +1 -1
  357. package/dist/twilight/{p-a0bfedad.entry.js → p-3054e1c1.entry.js} +1 -1
  358. package/dist/twilight/{p-90a59027.entry.js → p-3295390b.entry.js} +1 -1
  359. package/dist/twilight/{p-a3959219.entry.js → p-33678067.entry.js} +1 -1
  360. package/dist/twilight/{p-4d615f9f.entry.js → p-33c05de2.entry.js} +1 -1
  361. package/dist/twilight/{p-036fbfc0.entry.js → p-381a9e70.entry.js} +1 -1
  362. package/dist/twilight/{p-982e9124.entry.js → p-38270121.entry.js} +1 -1
  363. package/dist/twilight/{p-7db6ccfe.entry.js → p-385bf37d.entry.js} +1 -1
  364. package/dist/twilight/{p-8c2992e7.entry.js → p-40ee2ca3.entry.js} +1 -1
  365. package/dist/twilight/{p-e455709f.entry.js → p-43a3401b.entry.js} +1 -1
  366. package/dist/twilight/{p-32f100f8.entry.js → p-4616033a.entry.js} +1 -1
  367. package/dist/twilight/p-484af8cc.entry.js +4 -0
  368. package/dist/twilight/{p-32495dd2.entry.js → p-4b6627f5.entry.js} +1 -1
  369. package/dist/twilight/p-4ed8ae08.entry.js +4 -0
  370. package/dist/twilight/{p-8eb3fd92.entry.js → p-4fb442c2.entry.js} +1 -1
  371. package/dist/twilight/{p-8262e669.entry.js → p-516f9b83.entry.js} +1 -1
  372. package/dist/twilight/{p-99cb3dba.entry.js → p-56aebb36.entry.js} +1 -1
  373. package/dist/twilight/{p-1867f7d4.entry.js → p-56fbe5ff.entry.js} +1 -1
  374. package/dist/twilight/{p-5aee5e44.entry.js → p-58af47e4.entry.js} +1 -1
  375. package/dist/twilight/{p-575014c4.entry.js → p-616e6781.entry.js} +1 -1
  376. package/dist/twilight/{p-e223beca.entry.js → p-62077080.entry.js} +1 -1
  377. package/dist/twilight/p-6427664a.entry.js +4 -0
  378. package/dist/twilight/{p-0b0d4942.entry.js → p-65253725.entry.js} +1 -1
  379. package/dist/twilight/{p-d0acd7ff.entry.js → p-6a05f69c.entry.js} +1 -1
  380. package/dist/twilight/{p-cb54adac.entry.js → p-6afa5aa8.entry.js} +1 -1
  381. package/dist/twilight/{p-3b766a79.entry.js → p-6ff116eb.entry.js} +1 -1
  382. package/dist/twilight/{p-9e429047.entry.js → p-710b19d2.entry.js} +1 -1
  383. package/dist/twilight/{p-e3991836.entry.js → p-71297800.entry.js} +1 -1
  384. package/dist/twilight/{p-0add41ce.entry.js → p-7234a066.entry.js} +1 -1
  385. package/dist/twilight/{p-777d28f6.entry.js → p-73af6a02.entry.js} +1 -1
  386. package/dist/twilight/{p-20f9c62f.entry.js → p-7428deca.entry.js} +1 -1
  387. package/dist/twilight/{p-703b9253.entry.js → p-75b509cd.entry.js} +1 -1
  388. package/dist/twilight/{p-9a0218a6.entry.js → p-79e446b2.entry.js} +1 -1
  389. package/dist/twilight/{p-550ad1a6.entry.js → p-7a8c9411.entry.js} +1 -1
  390. package/dist/twilight/{p-427c13b6.entry.js → p-86533832.entry.js} +1 -1
  391. package/dist/twilight/p-8a4af12c.entry.js +4 -0
  392. package/dist/twilight/{p-3bb0e184.entry.js → p-8ddf6933.entry.js} +1 -1
  393. package/dist/twilight/{p-fa622715.entry.js → p-93fe31b9.entry.js} +1 -1
  394. package/dist/twilight/{p-9d1a5007.entry.js → p-9c96a9e7.entry.js} +1 -1
  395. package/dist/twilight/{p-RflSBQNB.js → p-BNr49RmW.js} +1 -1
  396. package/dist/twilight/{p-JGEddAgs.js → p-BUzdlb7Q.js} +1 -1
  397. package/dist/twilight/{p-Cnh7Qptl.js → p-BVaKfTMx.js} +1 -1
  398. package/dist/twilight/{p-CmYSalnM.js → p-BYWjrTuB.js} +1 -1
  399. package/dist/twilight/{p-CSGj1pY-.js → p-Bo_J3Do4.js} +1 -1
  400. package/dist/twilight/{p-Cfz9xit3.js → p-ChxhrML8.js} +1 -1
  401. package/dist/twilight/{p-C9zdeQFI.js → p-CrXKQnBu.js} +2 -2
  402. package/dist/twilight/{p-Bgu5gtOF.js → p-D1oKTNWQ.js} +1 -1
  403. package/dist/twilight/{p-Dav_R_d2.js → p-DUNRPrqt.js} +1 -1
  404. package/dist/twilight/{p-BcT9tEVW.js → p-DUuRpwsl.js} +1 -1
  405. package/dist/twilight/{p-Xgbueas7.js → p-DZR3BP63.js} +1 -1
  406. package/dist/twilight/{p-6f84c662.entry.js → p-a52a3664.entry.js} +1 -1
  407. package/dist/twilight/p-a7114995.entry.js +4 -0
  408. package/dist/twilight/{p-e37da59f.entry.js → p-aa7494cd.entry.js} +1 -1
  409. package/dist/twilight/{p-eeefc285.entry.js → p-ae5d26da.entry.js} +1 -1
  410. package/dist/twilight/{p-17bcbf9b.entry.js → p-b5434bcc.entry.js} +1 -1
  411. package/dist/twilight/p-b9fabd92.entry.js +4 -0
  412. package/dist/twilight/{p-01d5cd61.entry.js → p-bac38ed2.entry.js} +1 -1
  413. package/dist/twilight/{p-6d572fe0.entry.js → p-bbcfcdb0.entry.js} +1 -1
  414. package/dist/twilight/{p-a22d9931.entry.js → p-c097cfa1.entry.js} +1 -1
  415. package/dist/twilight/p-c13e7efb.entry.js +4 -0
  416. package/dist/twilight/{p-c5e2c781.entry.js → p-d0ea4c3a.entry.js} +1 -1
  417. package/dist/twilight/{p-74285af9.entry.js → p-d0ec7ca7.entry.js} +1 -1
  418. package/dist/twilight/{p-4d7fc363.entry.js → p-d31fbdea.entry.js} +1 -1
  419. package/dist/twilight/{p-9683535f.entry.js → p-d482d43e.entry.js} +1 -1
  420. package/dist/twilight/{p-0213fde4.entry.js → p-d5368882.entry.js} +1 -1
  421. package/dist/twilight/{p-b5e0065a.entry.js → p-d5a2a231.entry.js} +1 -1
  422. package/dist/twilight/{p-a55b5c44.entry.js → p-d6705759.entry.js} +1 -1
  423. package/dist/twilight/p-d7f2a028.entry.js +4 -0
  424. package/dist/twilight/{p-7db8d545.entry.js → p-d84dedaf.entry.js} +1 -1
  425. package/dist/twilight/{p-f6279a13.entry.js → p-d8d9ff09.entry.js} +1 -1
  426. package/dist/twilight/{p-3b7a45ec.entry.js → p-d902ad13.entry.js} +1 -1
  427. package/dist/twilight/{p-ade9a68c.entry.js → p-d941dc58.entry.js} +1 -1
  428. package/dist/twilight/{p-db3efb27.entry.js → p-dd046bbd.entry.js} +1 -1
  429. package/dist/twilight/{p-a5fc8358.entry.js → p-dd21db09.entry.js} +1 -1
  430. package/dist/twilight/{p-aabcd09f.entry.js → p-dd83b424.entry.js} +1 -1
  431. package/dist/twilight/{p-8b8cf457.entry.js → p-e04fb844.entry.js} +1 -1
  432. package/dist/twilight/{p-290ce0bc.entry.js → p-e60d784c.entry.js} +1 -1
  433. package/dist/twilight/{p-ad00021e.entry.js → p-e6cc7742.entry.js} +1 -1
  434. package/dist/twilight/{p-252748d9.entry.js → p-e853ac07.entry.js} +1 -1
  435. package/dist/twilight/{p-db73d0bf.entry.js → p-e9ecae21.entry.js} +1 -1
  436. package/dist/twilight/{p-f3b12754.entry.js → p-ebe3d316.entry.js} +1 -1
  437. package/dist/twilight/{p-ce1e45a3.entry.js → p-ec2a45fb.entry.js} +1 -1
  438. package/dist/twilight/{p-73dea22d.entry.js → p-ef216c0a.entry.js} +1 -1
  439. package/dist/twilight/{p-825c5b73.entry.js → p-f3306980.entry.js} +1 -1
  440. package/dist/twilight/{p-50853b76.entry.js → p-f65205d5.entry.js} +1 -1
  441. package/dist/twilight/{p-32d9da31.entry.js → p-f6e5cd28.entry.js} +1 -1
  442. package/dist/twilight/{p-412fb721.entry.js → p-f8cfc9f7.entry.js} +1 -1
  443. package/dist/twilight/{p-c2df20f8.entry.js → p-faa0b9aa.entry.js} +1 -1
  444. package/dist/twilight/{p-5009f654.entry.js → p-fb10df18.entry.js} +1 -1
  445. package/dist/twilight/{p-c64b2b22.entry.js → p-fcb1cff7.entry.js} +1 -1
  446. package/dist/twilight/{p-f83efc62.entry.js → p-ff3cb99b.entry.js} +1 -1
  447. package/dist/twilight/{p-194ff38c.entry.js → p-ff4680ea.entry.js} +1 -1
  448. package/dist/twilight/p-oL7bxwey.js +9 -0
  449. package/dist/twilight/p-q5NJ0uS-.js +4 -0
  450. package/dist/twilight/twilight.esm.js +1 -1
  451. package/dist/types/components/salla-bullet-delivery/helpers.d.ts +7 -0
  452. package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +4 -0
  453. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +0 -2
  454. package/dist/types/components/salla-mobile-update-modal/salla-mobile-update-modal.d.ts +44 -0
  455. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +12 -0
  456. package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +4 -0
  457. package/dist/types/components/salla-verify/salla-verify.d.ts +8 -0
  458. package/dist/types/components.d.ts +50 -0
  459. package/package.json +5 -5
  460. package/dist/twilight/p-2e6537a3.entry.js +0 -4
  461. package/dist/twilight/p-3a4e86d1.entry.js +0 -4
  462. package/dist/twilight/p-86d55a6b.entry.js +0 -4
  463. package/dist/twilight/p-8c548259.entry.js +0 -4
  464. package/dist/twilight/p-908716fb.entry.js +0 -4
  465. package/dist/twilight/p-9cf31ff4.entry.js +0 -4
  466. package/dist/twilight/p-9e542951.entry.js +0 -4
  467. package/dist/twilight/p-CWWgpQ8Q.js +0 -9
  468. package/dist/twilight/p-a070cce0.entry.js +0 -4
  469. package/dist/twilight/p-a3ca61af.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,h as i,H as e,a as o}from"./p-C9zdeQFI.js";var r,n;!function(t){t.PERCENTAGE="percentage",t.FIXED="fixed",t.FREE_PRODUCT="free_product",t.FREE_SHIPPING="free_shipping"}(r||(r={})),function(t){t.PRODUCT_COUNT="products_count",t.PRODUCT_PURCHASE="order_amount"}(n||(n={}));const s=Object.freeze([]);let a,l=null,c=null,d=!1,f=null,h=null,u=0;function g(t){return"CartNotCreated"===t?.name}function m(){try{const t=salla.api?.cart?.getStoredCartId?salla.api.cart.getStoredCartId():salla.storage?.get?.("cart.id");return null==t||""===t?null:String(t)}catch(t){return null}}function p(){const t=m();void 0!==a&&a!==t&&(u++,l=null,c=null,d=!1,f=null),a=t}function b(t){return null==t?0:"number"==typeof t?isFinite(t)?t:0:"string"==typeof t&&parseFloat(t)||0}function w(t){if(null==t||""===t)return null;const i=b(t);return isFinite(i)?i:null}function y(t,i){if(null!==i)return i.length;const e=w(t?.data?.cart?.count??t?.data?.count??t?.cart?.count??t?.count);return null!==e&&e>=0?e:null}function x(t){for(const i of[t?.original_price,t?.product_price,t?.price]){const t=w(i&&"object"==typeof i?i.amount:i);if(null!==t&&t>0)return t}return null}function v(t,i){const e=t?.free_gift_quantity;return null!=e&&""!==e?b(e):i>0?i:0}function k(t){const i=[];for(const e of t){if(null==e?.id)continue;if(!e.added_by_offer)continue;const t=b(e.quantity),o=v(e,t);o<=0||i.push({id:String(e.id),offerId:w(e.offer_id),quantity:o,freeQuantity:o,lineQuantity:t,name:String(e.product_name??e.name??""),imageUrl:String(e.product_image?.url??e.product_image??e.image?.url??""),imageAlt:String(e.product_image?.alt??e.image?.alt??e.product_name??""),url:String(e.url??""),originalPrice:x(e)})}return i}function _(){if(f)return f;const t=u,i=Promise.resolve().then((()=>salla.api?.cart?.details?.())).then((t=>{const i=function(t){const i=t?.data?.cart?.items??t?.data?.items??t?.cart?.items??t?.items;return Array.isArray(i)?i:null}(t);return{gifts:k(i??[]),count:y(t,i),ok:!0}})).catch((t=>({gifts:l??[],count:g(t)?0:c,ok:!1}))).then((({gifts:i,count:e,ok:o})=>{t===u&&(l=i,c=e,d=o)})).finally((()=>{f===i&&(f=null)}));return f=i,i}const C=-1;var M,T;function z(t){const i="number"==typeof t?t:parseFloat(t);return Number.isFinite(i)?i:null}function S(t){return"boolean"==typeof t?t:1===t||0===t?1===t:"true"===t||"1"===t||"false"!==t&&"0"!==t&&void 0}function I(t){return z(t)??0}function L(t,i,e){return Math.max(i,Math.min(t,e))}function V(t){const i="number"==typeof t?t:parseFloat(t);if(!Number.isFinite(i))return null;const e=Math.trunc(i);return e>=0&&e<=4?e:null}!function(t){t.LOCKED="locked",t.CURRENT="current",t.COMPLETED="completed"}(M||(M={})),function(t){t.CURRENCY="currency",t.COUNT="count"}(T||(T={}));const F=[1e3,2e3,4e3],R='[data-testid^="store-cart-item-"], form[id^="item-"]';let $=0;const P={badges_summary:":completed of :total offers unlocked",congrats:"Congratulations! You’ve unlocked all rewards in this promotion",details_title:"Offer details",free_gift:"Free Gift",free_products_title:"Free products selected from the offer",guidance_conditions_unmet:"Your cart doesn’t meet the conditions for the next reward yet",guidance_next:"Add :remaining and get :reward",guidance_next_generic:"Add :remaining to unlock the next reward",manage_offer:"Manage offer",tier_requirement:"Spend :threshold and get :reward",tier_requirement_count:"Buy :threshold and get :reward",tier_requirement_count_generic:"Buy :threshold to unlock this offer",tier_requirement_generic:"Spend :threshold to unlock this offer",tier_title:"Offer (:number)"},j="pages.checkout.free_charge";function H(t){const i=document.createElement("div");return i.textContent=t??"",i.innerHTML}const O=(t={})=>i("svg",{class:t.class,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M5.00016 9.16634C2.69898 9.16634 0.833496 7.30084 0.833496 4.99967C0.833496 2.69849 2.69898 0.833008 5.00016 0.833008C7.30133 0.833008 9.16683 2.69849 9.16683 4.99967C9.16683 7.30084 7.30133 9.16634 5.00016 9.16634ZM4.58458 6.66634L7.53087 3.72006L6.94162 3.13081L4.58458 5.48784L3.40608 4.3093L2.81683 4.89859L4.58458 6.66634Z",fill:"currentColor"})),q=(t={})=>i("svg",{class:t.class,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M12.6667 6.66683H13.3333C13.7015 6.66683 14 6.9653 14 7.3335V14.0002C14 14.3684 13.7015 14.6668 13.3333 14.6668H2.66667C2.29848 14.6668 2 14.3684 2 14.0002V7.3335C2 6.9653 2.29848 6.66683 2.66667 6.66683H3.33333V6.00016C3.33333 3.42284 5.42267 1.3335 8 1.3335C10.5773 1.3335 12.6667 3.42284 12.6667 6.00016V6.66683ZM11.3333 6.66683V6.00016C11.3333 4.15922 9.84093 2.66683 8 2.66683C6.15905 2.66683 4.66667 4.15922 4.66667 6.00016V6.66683H11.3333ZM7.33333 9.3335V12.0002H8.66667V9.3335H7.33333Z",fill:"currentColor"})),N=(t={})=>i("svg",{class:t.class,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M7.00033 12.8337C3.77866 12.8337 1.16699 10.222 1.16699 7.00033C1.16699 3.77866 3.77866 1.16699 7.00033 1.16699C10.222 1.16699 12.8337 3.77866 12.8337 7.00033C12.8337 10.222 10.222 12.8337 7.00033 12.8337ZM6.41699 6.41699V9.91699H7.58366V6.41699H6.41699ZM6.41699 4.08366V5.25033H7.58366V4.08366H6.41699Z",fill:"currentColor"})),B=class{constructor(i){t(this,i),this.offer=null,this.isLoading=!1,this.canRender=!0,this.gifts=[],this.cartItemCount=null,this.isTooltipHovered=!1,this.isTooltipPinned=!1,this.isGiftsOpen=!0,this.instanceId=++$,this.refreshGeneration=0,this.giftsGeneration=0,this.cartRefreshTimer=null,this.cartRefreshPending=!1,this.wantsCartUpdates=!1,this.isListeningToCartUpdates=!1,this.cartLookupRetryTimer=null,this.cartLookupRetries=0,this.cartLookupRetryPending=!1,this.deferredByEmptyCart=!1,this.isDisconnected=!1,this.skeletonWatchdog=null,this.skeletonDeadline=0,this.hasRelocated=!1,this.hasLoaded=!1,this.relocationObserver=null,this.relocationWatchTimer=null,this.relocationWatchExpired=!1,this.relocationLogged=!1,this.cartUpdatedHandler=t=>{this.readCartCountFromEvent(t),this.clearCartLookupRetry(),this.scheduleCartRefresh()}}componentWillLoad(){this.ensureSkeletonIsWatched();try{this.isEnabled()&&this.startLoading(),this.load().catch((t=>{this.stopLoading(),this.safeLog("load() failed",t)}))}catch(t){this.stopLoading(),this.safeLog("componentWillLoad threw synchronously",t)}}safeLog(t,i){try{salla.logger.warn("salla-conditional-offer::",t,i)}catch(t){}}connectedCallback(){this.isDisconnected=!1,this.ensureSkeletonIsWatched(),this.wantsCartUpdates&&!this.isListeningToCartUpdates&&this.subscribeToCartUpdates()&&(this.cartRefreshPending=!0),this.cartRefreshPending&&this.scheduleCartRefresh(),this.cartLookupRetryPending&&this.scheduleCartLookupRetry()}disconnectedCallback(){this.isDisconnected=!0,null!==this.cartRefreshTimer&&(clearTimeout(this.cartRefreshTimer),this.cartRefreshTimer=null),null!==this.cartLookupRetryTimer&&(clearTimeout(this.cartLookupRetryTimer),this.cartLookupRetryTimer=null),Promise.resolve().then((()=>{this.isDisconnected&&this.unsubscribeFromCartUpdates()})),null!==this.skeletonWatchdog&&(clearTimeout(this.skeletonWatchdog),this.skeletonWatchdog=null),this.stopWatchingForItemsColumn()}componentDidLoad(){this.hasLoaded=!0,this.relocateIntoItemsColumn()}isShowingSomething(){return this.canRender&&this.hasCartItems()}componentDidRender(){this.hasLoaded&&this.relocateIntoItemsColumn(),this.positionTooltip(),this.ensureSkeletonIsWatched()}relocateIntoItemsColumn(){if(!this.hasRelocated&&this.isShowingSomething())try{const t=this.hostEl;if(!t?.parentElement)return;const i=this.findItemsColumn(t);if(!i)return void this.watchForItemsColumn();if(this.hasRelocated=!0,this.stopWatchingForItemsColumn(),i===t.parentElement&&i.firstElementChild===t)return;i.insertBefore(t,i.firstChild)}catch(t){this.hasRelocated=!0,this.stopWatchingForItemsColumn(),this.safeLog("relocating the banner into the cart items column failed",t)}}findItemsColumn(t){let i=t;for(let e=0;i&&e<=3;e++){for(const e of this.getFollowingSiblings(i)){if(i===t&&this.matches(e,R))return t.parentElement;const o=this.findColumnWithin(e,t);if(o)return o}if(i=i.parentElement,!i||i===document.body||i===document.documentElement)break}return null}getFollowingSiblings(t){const i=[];for(let e=t.nextElementSibling;e;e=e.nextElementSibling)i.push(e);return i}findColumnWithin(t,i){const e=t.querySelector(R),o=(e?this.climbToChildOf(e,t):null)??t.querySelector(".main-content, [data-cart-items]");return!o||o===i||o.contains(i)?null:o}climbToChildOf(t,i){let e=t;for(;e&&e.parentElement&&e.parentElement!==i;)e=e.parentElement;return e?.parentElement===i?e:null}matches(t,i){return"function"==typeof t.matches&&t.matches(i)}watchForItemsColumn(){this.hasRelocated||this.relocationWatchExpired||this.relocationObserver||("undefined"!=typeof MutationObserver?(this.relocationObserver=new MutationObserver((()=>this.relocateIntoItemsColumn())),this.relocationObserver.observe(document.documentElement,{childList:!0,subtree:!0}),this.relocationWatchTimer=setTimeout((()=>{this.relocationWatchTimer=null,this.relocationWatchExpired=!0,this.stopWatchingForItemsColumn(),this.logNoItemsColumn()}),5e3)):this.logNoItemsColumn())}stopWatchingForItemsColumn(){if(this.relocationObserver){try{this.relocationObserver.disconnect()}catch(t){}this.relocationObserver=null}null!==this.relocationWatchTimer&&(clearTimeout(this.relocationWatchTimer),this.relocationWatchTimer=null)}logNoItemsColumn(){this.relocationLogged||(this.relocationLogged=!0,this.safeLog("no cart items column found — leaving the banner at full page width"))}ensureSkeletonIsWatched(){if(!this.isLoading)return;if(null!==this.skeletonWatchdog)return;const t=Date.now();0===this.skeletonDeadline&&(this.skeletonDeadline=t+8e3);const i=Math.max(0,this.skeletonDeadline-t);this.skeletonWatchdog=setTimeout((()=>{this.skeletonWatchdog=null,this.isLoading&&(Date.now()<this.skeletonDeadline?this.ensureSkeletonIsWatched():(this.isLoading=!1,this.skeletonDeadline=0,this.safeLog("still loading after 8000ms — dropping the skeleton")))}),i)}clearSkeletonWatchdog(){this.skeletonDeadline=0,null!==this.skeletonWatchdog&&(clearTimeout(this.skeletonWatchdog),this.skeletonWatchdog=null)}startLoading(){this.isLoading=!0,this.ensureSkeletonIsWatched()}stopLoading(){this.isLoading=!1,this.clearSkeletonWatchdog()}async load(){this.wantsCartUpdates=!0,this.subscribeToCartUpdates()||this.subscribeWhenSdkIsReady(),this.loadCart(),await this.waitForSdk(),await this.refresh()}waitForSdk(){let t,i;try{t=Promise.resolve(salla.onReady?.())}catch(t){return this.safeLog("salla.onReady() threw",t),Promise.resolve()}const e=new Promise((t=>{i=setTimeout(t,3e3)}));return Promise.race([t.catch((t=>this.safeLog("salla.onReady() rejected",t))),e]).then((()=>{clearTimeout(i)}))}subscribeToCartUpdates(){if(this.isListeningToCartUpdates)return!0;try{salla.event.on("cart::updated",this.cartUpdatedHandler),this.isListeningToCartUpdates=!0}catch(t){this.safeLog("cart::updated subscription failed",t)}return this.isListeningToCartUpdates}unsubscribeFromCartUpdates(){if(this.isListeningToCartUpdates){this.isListeningToCartUpdates=!1;try{salla.event.off("cart::updated",this.cartUpdatedHandler)}catch(t){this.safeLog("cart::updated unsubscription failed",t)}}}subscribeWhenSdkIsReady(){let t;try{t=Promise.resolve(salla.onReady?.())}catch(t){return}const i=()=>{this.isDisconnected||this.subscribeToCartUpdates()};t.then(i,i)}scheduleCartRefresh(){this.cartRefreshPending=!0,null!==this.cartRefreshTimer&&clearTimeout(this.cartRefreshTimer),this.cartRefreshTimer=null,this.isDisconnected||(this.cartRefreshTimer=setTimeout((()=>{this.cartRefreshTimer=null,this.runCartRefresh()}),200))}runCartRefresh(){this.isDisconnected||(this.cartRefreshPending=!1,this.refresh(),function(){if(h)return h;u++,l=null,c=null,d=!1,a=m();const t=()=>(h===i&&(h=null),_()),i=(f??Promise.resolve()).then(t,t).finally((()=>{h===i&&(h=null)}));return h=i,i}().then((()=>this.loadCart()),(()=>this.loadCart())))}readCartCountFromEvent(t){const i=this.toCartCount(t?.count)??this.readCartCountFromStorage();null!==i&&(this.cartItemCount=i)}readCartCountFromStorage(){try{return this.toCartCount(salla.storage?.get?.("cart.summary.count"))}catch(t){return null}}toCartCount(t){return"number"==typeof t&&Number.isFinite(t)&&t>=0?t:null}getFreeLabel(){const t=salla.lang.get(j);return t&&t!==j?t:"Free"}trans(t,i){const e=`blocks.cart_offer.${t}`,o=salla.lang.get(e,i);return o&&o!==e?o:Object.entries(i??{}).reduce(((t,[i,e])=>t.split(`:${i}`).join(e)),P[t])}isEnabled(){try{return!!salla.config.get("store.features")?.includes("conditional-offer")}catch(t){return!1}}async fetchOffer(){const{data:t}=await salla.api.cart.offers(),i=(t||[]).find((t=>"conditional"===t.type));return i?.details?.discounts?.length?i:null}async refresh(){const t=++this.refreshGeneration;if(!this.isEnabled())return this.stopLoading(),void(this.canRender=!1);if(0===this.cartItemCount)return this.stopLoading(),p(),void(d||(this.deferredByEmptyCart=!0,this.loadCart()));this.deferredByEmptyCart=!1,this.offer?this.stopLoading():this.startLoading();try{const i=await this.fetchOffer();if(this.isSuperseded(t))return;if(!i)return this.offer=null,void(this.canRender=!1);this.offer=i,this.canRender=!0,this.loadCart()}catch(i){if(this.isSuperseded(t))return;this.safeLog("offers() failed",i)}finally{t===this.refreshGeneration&&this.stopLoading()}}hasCartItems(){return"number"==typeof this.cartItemCount&&this.cartItemCount>=1}isSuperseded(t){return t!==this.refreshGeneration||this.isDisconnected}loadCart(){const t=++this.giftsGeneration;return Promise.all([(p(),d&&l?Promise.resolve(l):_().then((()=>l??s))),(p(),d&&l?Promise.resolve(c):_().then((()=>c)))]).then((([i,e])=>{t!==this.giftsGeneration||this.isDisconnected||this.cartRefreshPending||(null!==e&&(this.cartItemCount=e),null!==e?this.clearCartLookupRetry():null===this.cartItemCount&&this.scheduleCartLookupRetry(),this.deferredByEmptyCart&&this.hasCartItems()&&(this.deferredByEmptyCart=!1,this.refresh()),this.gifts=this.offer?this.selectOwnGifts(i):[])})).catch((t=>{this.safeLog("cart lookup failed",t)}))}scheduleCartLookupRetry(){this.cartLookupRetries>=F.length||(this.cartLookupRetryPending=!0,null!==this.cartLookupRetryTimer||this.isDisconnected||(this.cartLookupRetryTimer=setTimeout((()=>{this.cartLookupRetryTimer=null,this.cartLookupRetryPending=!1,this.canRender&&(this.cartLookupRetries++,this.loadCart())}),F[this.cartLookupRetries])))}clearCartLookupRetry(){this.cartLookupRetries=0,this.cartLookupRetryPending=!1,null!==this.cartLookupRetryTimer&&(clearTimeout(this.cartLookupRetryTimer),this.cartLookupRetryTimer=null)}selectOwnGifts(t){const i=Number(this.offer?.id);if(!Number.isFinite(i))return t;const e=t.filter((t=>null!==t.offerId&&Number(t.offerId)===i));return e.length?e:t.filter((t=>null===t.offerId))}getStages(){const t=(this.offer?.details?.discounts??[]).filter((({min_spend:t})=>null!==z(t)));return i=({min_spend:t})=>t,e=({id:t})=>t,(t??[]).map(((t,o)=>({item:t,index:o,threshold:I(i(t)),identity:e?z(e(t)):null}))).sort(((t,i)=>t.threshold!==i.threshold?t.threshold-i.threshold:null!==t.identity&&null!==i.identity&&t.identity!==i.identity?t.identity-i.identity:t.index-i.index)).map((({item:t})=>t));var i,e}getProgress(t){return function(t,i,e=0,o=[],r=[]){const n=(i??[]).map(((t,i)=>({index:i,threshold:z(t),applied:S(o?.[i]),tierValue:z(r?.[i])}))).filter((t=>null!==t.threshold)).sort(((t,i)=>t.threshold-i.threshold||t.index-i.index)),s=n.map((t=>t.threshold)),a=n.map((t=>t.applied)),l=a.some((t=>void 0!==t)),c=I(e);if(!s.length)return{thresholds:s,met:[],applied:a,appliedIndex:C,hasEngineVerdict:l,metCount:0,nextUnmetIndex:C,allMet:!1,lastReachedIndex:C,currentIndex:C,isComplete:!1,value:Math.max(0,I(t)),values:[],startValue:c,fills:[],overallPercentage:0};const d=s[s.length-1],f=L(I(t),0,Math.max(0,d)),h=n.map((({tierValue:t})=>null===t?f:L(t,0,Math.max(0,d))));let u=C;for(let t=0;t<s.length;t++)h[t]>=s[t]&&(u=t);const g=u===s.length-1,m=g?C:u+1,p=s.map(((t,i)=>function(t,i,e){return e<=i?t>=e?100:0:L((t-i)/(e-i)*100,0,100)}(h[i],0===i?c:s[i-1],t))),b=g?100:L((u+1+(p[m]??0)/100)/s.length*100,0,100);let w=C;for(let t=0;t<a.length;t++)!0===a[t]&&(w=t);const y=s.map(l?(t,i)=>i<=w:(t,i)=>i<=u),x=y.filter(Boolean).length,v=y.findIndex((t=>!t));return{thresholds:s,met:y,applied:a,appliedIndex:w,hasEngineVerdict:l,metCount:x,nextUnmetIndex:v,allMet:v===C,lastReachedIndex:u,currentIndex:m,isComplete:g,value:f,values:h,startValue:c,fills:p,overallPercentage:b}}(this.offer?.details?.current_value,t.map((({min_spend:t})=>t)),this.offer?.details?.start_value,t.map((({is_applied:t})=>t)),t.map((({current_value:t})=>t)))}tierKey(t,i){const e=Number(t?.id);return Number.isFinite(e)?`tier-${e}`:`pos-${i}`}stageMeasure(){return this.offer?.details?.based_on===n.PRODUCT_COUNT?T.COUNT:T.CURRENCY}formatRequirement(t){const i=this.offer?.details?.based_on;if(i===n.PRODUCT_COUNT)try{return salla.lang.choice("blocks.header.products_count",t)}catch(i){return this.safeLog("invalid products_count interval",i),`${t}`}return i===n.PRODUCT_PURCHASE?salla.money(t):(this.safeLog(`unexpected offer detail's based_on value: ${i}`),`${t}`)}getRewardText(t){return(t?.reward_label??"").trim()}getGuidanceMessage(t,i){if(i.nextUnmetIndex===C)return"";const e=function(t,i,e=T.CURRENCY){const o=i.thresholds[t];if(void 0===o)return 0;const r=Math.max(0,o-(i.values?.[t]??i.value));if(0===r)return 0;const n=e===T.COUNT?0:function(){try{const t="undefined"!=typeof salla?salla:void 0,i=V(t?.config?.currency?.()?.decimals);if(null!==i)return i;const e=V(t?.config?.get?.("store.currency.decimals"));if(null!==e)return e}catch(t){}return 2}(),s=Math.pow(10,n),a=Math.ceil(r*s-1e-6)/s;return a>0?a:1/s}(i.nextUnmetIndex,i,this.stageMeasure());if(e<=0)return this.trans("guidance_conditions_unmet");const o=this.formatRequirement(e),r=this.getRewardText(t[i.nextUnmetIndex]);return r?this.trans("guidance_next",{remaining:o,reward:H(r)}):this.trans("guidance_next_generic",{remaining:o})}getTierSentence(t,i,e){const o=this.formatRequirement(e.thresholds[i]),r=this.getRewardText(t),n=this.stageMeasure()===T.COUNT;return r?this.trans(n?"tier_requirement_count":"tier_requirement",{threshold:o,reward:H(r)}):this.trans(n?"tier_requirement_count_generic":"tier_requirement_generic",{threshold:o})}getRewardIcon(t){switch(t?.type){case r.PERCENTAGE:return"sicon-percentage";case r.FREE_PRODUCT:return"sicon-gift";case r.FIXED:return this.usesSarSymbol()?"sicon-sar":"sicon-banknote";default:return"sicon-tag"}}usesSarSymbol(){try{const t=salla.config.currency?.()?.symbol;return["SAR","ر.س"].includes(t)&&!!salla.config.get("store.settings.use_sar_symbol")}catch(t){return!1}}get isTooltipOpen(){return this.isTooltipHovered||this.isTooltipPinned}toggleTooltip(){this.isTooltipPinned=!this.isTooltipPinned}closeTooltip(t=!1){this.isTooltipOpen&&(this.isTooltipPinned=!1,this.isTooltipHovered=!1,t&&this.infoTriggerEl?.focus?.())}positionTooltip(){const t=this.tooltipEl,i=this.infoTriggerEl;if(this.isTooltipOpen&&t&&i)try{this.setTooltipOffsets(t,0,0);const e=window.innerWidth||document.documentElement?.clientWidth||0,o=t.getBoundingClientRect(),r=i.getBoundingClientRect(),n=o?.width||0;if(n<=0||e<=0)return;const s=r.left+r.width/2-n/2,a=8,l=Math.min(Math.max(s,a),Math.max(a,e-a-n))-s,c=Math.max(0,n/2-16),d=Math.min(Math.max(-l,-c),c);this.setTooltipOffsets(t,l,d)}catch(t){this.safeLog("positioning the offer details popover failed",t)}}setTooltipOffsets(t,i,e){t.style?.setProperty?.("--s-conditional-offer-tooltip-shift",`${Math.round(i)}px`),t.style?.setProperty?.("--s-conditional-offer-tooltip-caret",`${Math.round(e)}px`)}handleWindowResize(){this.positionTooltip()}handleDocumentKeydown(t){"Escape"!==t.key&&"Esc"!==t.key||this.closeTooltip(!0)}handleDocumentClick(t){if(!this.isTooltipPinned||!this.infoAnchorEl)return;const i="function"==typeof t.composedPath?t.composedPath():[];(i.length?i.includes(this.infoAnchorEl):this.infoAnchorEl.contains(t.target))||this.closeTooltip()}elementId(t){return`s-conditional-offer-${t}-${this.instanceId}`}renderBadges(t,e){return i("div",{class:"s-conditional-offer-badges",role:"img","aria-label":this.trans("badges_summary",{completed:`${e.metCount}`,total:`${t.length}`})},t.map(((t,o)=>{const r=e.met[o],n=this.tierKey(t,o);return[o>0?i("span",{key:`${n}-link`,class:{"s-conditional-offer-badge-link":!0,"s-conditional-offer-badge-link-met":r,"s-conditional-offer-badge-link-unmet":!r},"aria-hidden":"true"}):null,i("span",{key:n,class:{"s-conditional-offer-badge":!0,"s-conditional-offer-badge-met":r,"s-conditional-offer-badge-unmet":!r},"data-tier-state":r?"met":"unmet","data-tier-id":t?.id??void 0},i(r?O:q,{class:"s-conditional-offer-badge-icon"}))]})))}renderTooltip(t,e){const o=function(t){const i=t?.details?.rules;if("string"==typeof i){const t=i.trim();return""===t?null:t}if(Array.isArray(i)){const t=i.filter((t=>"string"==typeof t)).map((t=>t.trim())).filter((t=>""!==t)).join(" ");return""===t?null:t}return null}(this.offer);return i("div",{class:"s-conditional-offer-tooltip",id:this.elementId("tooltip"),role:"tooltip",ref:t=>this.tooltipEl=t},i("div",{class:"s-conditional-offer-tooltip-title"},this.offer?.title),o?i("div",{class:"s-conditional-offer-tooltip-description"},o):null,i("ul",{class:"s-conditional-offer-tooltip-list"},t.map(((t,o)=>{const r=e.met[o];return i("li",{key:this.tierKey(t,o),class:"s-conditional-offer-tier","data-tier-state":r?"met":"unmet","data-tier-id":t?.id??void 0},i("span",{class:{"s-conditional-offer-tier-icon":!0,"s-conditional-offer-tier-icon-met":r,"s-conditional-offer-tier-icon-unmet":!r}},i("i",{class:this.getRewardIcon(t),"aria-hidden":"true"}),i("span",{class:{"s-conditional-offer-tier-status":!0,"s-conditional-offer-tier-status-met":r,"s-conditional-offer-tier-status-unmet":!r},"aria-hidden":"true"},r?i(O,{class:"s-conditional-offer-tier-status-check"}):i(q,{class:"s-conditional-offer-tier-status-lock"}))),i("div",{class:"s-conditional-offer-tier-body"},i("div",{class:"s-conditional-offer-tier-title"},this.trans("tier_title",{number:`${o+1}`})),i("div",{class:{"s-conditional-offer-tier-text":!0,"s-conditional-offer-tier-text-met":r},innerHTML:this.getTierSentence(t,o,e)})))}))))}renderGiftsToggle(t){return i("button",{type:"button",id:this.elementId(`toggle-${t}`),class:{"s-conditional-offer-toggle":!0,"s-conditional-offer-toggle-inline":"inline"===t,"s-conditional-offer-toggle-bar":"bar"===t},"aria-expanded":this.isGiftsOpen?"true":"false","aria-controls":this.elementId("gifts"),onClick:()=>this.isGiftsOpen=!this.isGiftsOpen},i("span",null,this.trans("manage_offer")),i("i",{class:{"sicon-keyboard_arrow_down":!0,"s-conditional-offer-toggle-icon":!0,"s-conditional-offer-toggle-icon-open":this.isGiftsOpen},"aria-hidden":"true"}))}renderGiftsCard(){return i("div",{class:"s-conditional-offer-panel",id:this.elementId("gifts")},i("div",{class:"s-conditional-offer-gifts-header"},i("span",{class:"s-conditional-offer-gifts-icon"},i("i",{class:"sicon-gift","aria-hidden":"true"})),i("span",{class:"s-conditional-offer-gifts-title"},this.trans("free_products_title"))),i("ul",{class:"s-conditional-offer-gifts-list"},this.gifts.map((t=>this.renderGiftRow(t)))))}renderGiftRow(t){return i("li",{class:"s-conditional-offer-gift","data-item-id":t.id},i("span",{class:"s-conditional-offer-gift-thumb"},t.imageUrl?i("img",{class:"s-conditional-offer-gift-image",src:t.imageUrl,alt:t.imageAlt||t.name,loading:"lazy",decoding:"async"}):i("i",{class:"sicon-gift","aria-hidden":"true"})),i("div",{class:"s-conditional-offer-gift-body"},i("span",{class:"s-conditional-offer-gift-name"},t.name||this.trans("free_gift")),i("span",{class:"s-conditional-offer-gift-prices"},i("span",{class:"s-conditional-offer-gift-free"},this.getFreeLabel()),null!==t.originalPrice?i("span",{class:"s-conditional-offer-gift-price",innerHTML:salla.money(t.originalPrice)}):null)))}getLoadingSkeletonView(){return i(e,{class:"s-conditional-offer-root"},i("div",{class:"s-conditional-offer-banner"},i("div",{class:"s-conditional-offer-lead"},i("salla-skeleton",{height:"24px",width:"80px"}),i("div",{class:"s-conditional-offer-skeleton-text"},i("salla-skeleton",{height:"12px",width:"35%"}),i("salla-skeleton",{height:"16px",width:"60%"})))))}render(){if(!this.canRender)return null;if(!this.hasCartItems())return null;if(this.isLoading)return this.getLoadingSkeletonView();if(!this.offer)return null;const t=this.getStages(),o=this.getProgress(t),r=this.getGuidanceMessage(t,o),n=this.trans("details_title"),s=this.gifts.length>0;return i(e,{class:"s-conditional-offer-root"},i("div",{class:"s-conditional-offer-banner"},i("div",{class:"s-conditional-offer-lead"},this.renderBadges(t,o),i("div",{class:"s-conditional-offer-text"},i("div",{class:"s-conditional-offer-heading",onMouseEnter:()=>this.isTooltipHovered=!0,onMouseLeave:()=>this.isTooltipHovered=!1},i("span",{class:"s-conditional-offer-name"},this.offer.title),i("span",{class:"s-conditional-offer-info",ref:t=>this.infoAnchorEl=t},i("button",{type:"button",class:"s-conditional-offer-info-trigger",ref:t=>this.infoTriggerEl=t,"aria-label":n,title:n,"aria-expanded":this.isTooltipOpen?"true":"false","aria-describedby":this.elementId("tooltip"),onClick:()=>this.toggleTooltip()},i(N,{class:"s-conditional-offer-info-icon"})),this.isTooltipOpen?this.renderTooltip(t,o):null)),o.allMet?i("div",{class:"s-conditional-offer-message",role:"status"},this.trans("congrats")):r?i("div",{class:"s-conditional-offer-message",innerHTML:r}):null)),s?this.renderGiftsToggle("inline"):null),s&&this.isGiftsOpen?this.renderGiftsCard():null,s?this.renderGiftsToggle("bar"):null)}get hostEl(){return o(this)}};B.style='/*!twlt*/:host{display:block}.s-conditional-offer-root{background-color:rgba(0, 137, 123, 0.06);background-color:color-mix(in srgb, var(--color-primary, #00897b) 7%, transparent)}.s-conditional-offer-badges::-webkit-scrollbar{height:3px}.s-conditional-offer-badges::-webkit-scrollbar-thumb{border-radius:9999px;background-color:rgba(0, 0, 0, 0.15)}.s-conditional-offer-badges::-webkit-scrollbar-track{background-color:transparent}.s-conditional-offer-tooltip{--s-conditional-offer-tooltip-shift:0px;--s-conditional-offer-tooltip-caret:0px;transform:translateX(calc(-50% + var(--s-conditional-offer-tooltip-shift)))}.s-conditional-offer-tooltip::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(calc(-50% + var(--s-conditional-offer-tooltip-caret)));border:8px solid transparent;border-bottom-color:#fff}.s-conditional-offer-tier-icon-met,.s-conditional-offer-tier-icon-unmet{color:var(--color-primary-dark, #00695c);background-color:rgba(0, 137, 123, 0.12);background-color:color-mix(in srgb, var(--color-primary, #00897b) 14%, transparent)}.s-conditional-offer-tier:not(:last-child)::before{content:"";position:absolute;top:2.5rem;bottom:-1rem;inset-inline-start:1.125rem;width:1px;background-color:#d1d5db}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.w-6{width:1.5rem}.resize{resize:both}.gap-1{gap:0.25rem}.rounded{border-radius:var(--s-radius, 0.25rem)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-conditional-offer-root{margin-bottom:1.25rem;display:block;width:100%;min-width:0px;max-width:100%;border-radius:0.375rem;padding:0.75rem}@media (min-width: 768px){.s-conditional-offer-root{padding:1rem}}.s-conditional-offer-banner{display:flex;width:100%;min-width:0px;align-items:center;justify-content:space-between;gap:0.75rem}@media (min-width: 768px){.s-conditional-offer-banner{gap:1rem}}.s-conditional-offer-lead{display:flex;min-width:0px;flex:1 1 0%;align-items:center;gap:0.5rem}@media (min-width: 768px){.s-conditional-offer-lead{gap:0.75rem}}.s-conditional-offer-badges{display:flex;max-width:45%;flex-shrink:0;flex-wrap:nowrap;align-items:center;gap:0.25rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:thin}.s-conditional-offer-badge{display:inline-flex;height:1.5rem;width:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:11px;line-height:1;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-conditional-offer-badge-met{background-color:var(--color-primary)}.s-conditional-offer-badge-unmet{--tw-bg-opacity:1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.s-conditional-offer-badge-link{width:0.5rem;flex-shrink:0;border-top-width:1px}.s-conditional-offer-badge-link-met{border-color:var(--color-primary)}.s-conditional-offer-badge-link-unmet{border-style:dashed;--tw-border-opacity:1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.s-conditional-offer-badge-icon{height:0.75rem;width:0.75rem;flex-shrink:0}.s-conditional-offer-text{display:flex;min-width:0px;flex-direction:column;gap:0.125rem;text-align:start}.s-conditional-offer-heading{display:flex;min-width:0px;align-items:center;gap:0.375rem}.s-conditional-offer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-info{position:relative;display:inline-flex;flex-shrink:0;align-items:center}.s-conditional-offer-info-trigger{display:inline-flex;height:1rem;width:1rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-info-trigger:hover{color:var(--color-primary-dark)}.s-conditional-offer-info-icon{height:0.875rem;width:0.875rem;flex-shrink:0}.s-conditional-offer-message{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}@media (min-width: 768px){.s-conditional-offer-message{font-size:1rem;line-height:1.5rem}}.s-conditional-offer-toggle{align-items:center;justify-content:center;gap:0.375rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(38 38 38 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-toggle:hover{color:var(--color-primary-dark)}.s-conditional-offer-toggle-inline{display:none;flex-shrink:0}@media (min-width: 768px){.s-conditional-offer-toggle-inline{display:inline-flex}}.s-conditional-offer-toggle-bar{margin-top:0.5rem;display:inline-flex;width:100%;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:0.75rem;padding-right:0.75rem;padding-top:0.625rem;padding-bottom:0.625rem}@media (min-width: 768px){.s-conditional-offer-toggle-bar{display:none}}.s-conditional-offer-toggle-icon{font-size:1rem;line-height:1.5rem;line-height:1;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-toggle-icon-open{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-conditional-offer-panel{margin-top:0.75rem;width:100%;min-width:0px;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem}.s-conditional-offer-gifts-header{margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem}.s-conditional-offer-gifts-icon{display:inline-flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:var(--color-primary);font-size:1rem;line-height:1.5rem;line-height:1;color:var(--color-primary)}.s-conditional-offer-gifts-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-gifts-list{margin:0px;display:flex;list-style-type:none;flex-direction:column;gap:0.5rem;padding:0px}.s-conditional-offer-gift{display:flex;align-items:center;gap:0.75rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding:0.5rem}.s-conditional-offer-gift-thumb{display:inline-flex;height:3.5rem;width:3.5rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-image{height:100%;width:100%;object-fit:contain}.s-conditional-offer-gift-body{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;text-align:start}.s-conditional-offer-gift-name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-prices{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;line-height:1rem}.s-conditional-offer-gift-free{font-weight:700;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-price{--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-conditional-offer-tooltip{position:absolute;top:calc(100% + 0.75rem);left:50%;z-index:10;width:min(22rem, calc(100vw - 2rem));border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;text-align:start;--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-conditional-offer-tooltip-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-tooltip-description{margin-top:0.25rem;font-size:0.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-tooltip-list{margin:0px;margin-top:0.75rem;display:flex;list-style-type:none;flex-direction:column;gap:1rem;padding:0px}.s-conditional-offer-tier{position:relative;display:flex;align-items:flex-start;gap:0.75rem}.s-conditional-offer-tier-icon{position:relative;display:inline-flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:1rem;line-height:1.5rem;line-height:1}.s-conditional-offer-tier-icon-unmet{color:var(--color-primary-dark)}.s-conditional-offer-tier-status{position:absolute;bottom:-0.125rem;display:inline-flex;height:1rem;width:1rem;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));inset-inline-start:-2px}.s-conditional-offer-tier-status-met{color:var(--color-primary-dark)}.s-conditional-offer-tier-status-unmet{--tw-text-opacity:1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.s-conditional-offer-tier-status-check{height:0.75rem;width:0.75rem;flex-shrink:0}.s-conditional-offer-tier-status-lock{height:0.625rem;width:0.625rem;flex-shrink:0}.s-conditional-offer-tier-body{display:flex;min-width:0px;flex-direction:column;gap:0.125rem}.s-conditional-offer-tier-title{font-size:0.75rem;line-height:1rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-tier-text{font-size:0.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-tier-text-met{text-decoration-line:line-through}.s-conditional-offer-skeleton-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.375rem}';export{B as salla_conditional_offer}
4
+ import{r as t,h as i,H as e,a as o}from"./p-CrXKQnBu.js";var r,n;!function(t){t.PERCENTAGE="percentage",t.FIXED="fixed",t.FREE_PRODUCT="free_product",t.FREE_SHIPPING="free_shipping"}(r||(r={})),function(t){t.PRODUCT_COUNT="products_count",t.PRODUCT_PURCHASE="order_amount"}(n||(n={}));const s=Object.freeze([]);let a,l=null,c=null,d=!1,f=null,h=null,u=0;function g(t){return"CartNotCreated"===t?.name}function m(){try{const t=salla.api?.cart?.getStoredCartId?salla.api.cart.getStoredCartId():salla.storage?.get?.("cart.id");return null==t||""===t?null:String(t)}catch(t){return null}}function p(){const t=m();void 0!==a&&a!==t&&(u++,l=null,c=null,d=!1,f=null),a=t}function b(t){return null==t?0:"number"==typeof t?isFinite(t)?t:0:"string"==typeof t&&parseFloat(t)||0}function w(t){if(null==t||""===t)return null;const i=b(t);return isFinite(i)?i:null}function y(t,i){if(null!==i)return i.length;const e=w(t?.data?.cart?.count??t?.data?.count??t?.cart?.count??t?.count);return null!==e&&e>=0?e:null}function x(t){for(const i of[t?.original_price,t?.product_price,t?.price]){const t=w(i&&"object"==typeof i?i.amount:i);if(null!==t&&t>0)return t}return null}function v(t,i){const e=t?.free_gift_quantity;return null!=e&&""!==e?b(e):i>0?i:0}function k(t){const i=[];for(const e of t){if(null==e?.id)continue;if(!e.added_by_offer)continue;const t=b(e.quantity),o=v(e,t);o<=0||i.push({id:String(e.id),offerId:w(e.offer_id),quantity:o,freeQuantity:o,lineQuantity:t,name:String(e.product_name??e.name??""),imageUrl:String(e.product_image?.url??e.product_image??e.image?.url??""),imageAlt:String(e.product_image?.alt??e.image?.alt??e.product_name??""),url:String(e.url??""),originalPrice:x(e)})}return i}function _(){if(f)return f;const t=u,i=Promise.resolve().then((()=>salla.api?.cart?.details?.())).then((t=>{const i=function(t){const i=t?.data?.cart?.items??t?.data?.items??t?.cart?.items??t?.items;return Array.isArray(i)?i:null}(t);return{gifts:k(i??[]),count:y(t,i),ok:!0}})).catch((t=>({gifts:l??[],count:g(t)?0:c,ok:!1}))).then((({gifts:i,count:e,ok:o})=>{t===u&&(l=i,c=e,d=o)})).finally((()=>{f===i&&(f=null)}));return f=i,i}const C=-1;var M,T;function z(t){const i="number"==typeof t?t:parseFloat(t);return Number.isFinite(i)?i:null}function S(t){return"boolean"==typeof t?t:1===t||0===t?1===t:"true"===t||"1"===t||"false"!==t&&"0"!==t&&void 0}function L(t){return z(t)??0}function I(t,i,e){return Math.max(i,Math.min(t,e))}function V(t){const i="number"==typeof t?t:parseFloat(t);if(!Number.isFinite(i))return null;const e=Math.trunc(i);return e>=0&&e<=4?e:null}!function(t){t.LOCKED="locked",t.CURRENT="current",t.COMPLETED="completed"}(M||(M={})),function(t){t.CURRENCY="currency",t.COUNT="count"}(T||(T={}));const F=[1e3,2e3,4e3],R='[data-testid^="store-cart-item-"], form[id^="item-"]';let $=0;const P={badges_summary:":completed of :total offers unlocked",congrats:"Congratulations! You’ve unlocked all rewards in this promotion",details_title:"Offer details",free_gift:"Free Gift",free_products_title:"Free products selected from the offer",guidance_conditions_unmet:"Your cart doesn’t meet the conditions for the next reward yet",guidance_next:"Add :remaining and get :reward",guidance_next_generic:"Add :remaining to unlock the next reward",manage_offer:"Manage offer",tier_requirement:"Spend :threshold and get :reward",tier_requirement_count:"Buy :threshold and get :reward",tier_requirement_count_generic:"Buy :threshold to unlock this offer",tier_requirement_generic:"Spend :threshold to unlock this offer",tier_title:"Offer (:number)"},j="pages.checkout.free_charge";function H(t){const i=document.createElement("div");return i.textContent=t??"",i.innerHTML}const O=(t={})=>i("svg",{class:t.class,viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M5.00016 9.16634C2.69898 9.16634 0.833496 7.30084 0.833496 4.99967C0.833496 2.69849 2.69898 0.833008 5.00016 0.833008C7.30133 0.833008 9.16683 2.69849 9.16683 4.99967C9.16683 7.30084 7.30133 9.16634 5.00016 9.16634ZM4.58458 6.66634L7.53087 3.72006L6.94162 3.13081L4.58458 5.48784L3.40608 4.3093L2.81683 4.89859L4.58458 6.66634Z",fill:"currentColor"})),q=(t={})=>i("svg",{class:t.class,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M12.6667 6.66683H13.3333C13.7015 6.66683 14 6.9653 14 7.3335V14.0002C14 14.3684 13.7015 14.6668 13.3333 14.6668H2.66667C2.29848 14.6668 2 14.3684 2 14.0002V7.3335C2 6.9653 2.29848 6.66683 2.66667 6.66683H3.33333V6.00016C3.33333 3.42284 5.42267 1.3335 8 1.3335C10.5773 1.3335 12.6667 3.42284 12.6667 6.00016V6.66683ZM11.3333 6.66683V6.00016C11.3333 4.15922 9.84093 2.66683 8 2.66683C6.15905 2.66683 4.66667 4.15922 4.66667 6.00016V6.66683H11.3333ZM7.33333 9.3335V12.0002H8.66667V9.3335H7.33333Z",fill:"currentColor"})),N=(t={})=>i("svg",{class:t.class,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},i("path",{d:"M7.00033 12.8337C3.77866 12.8337 1.16699 10.222 1.16699 7.00033C1.16699 3.77866 3.77866 1.16699 7.00033 1.16699C10.222 1.16699 12.8337 3.77866 12.8337 7.00033C12.8337 10.222 10.222 12.8337 7.00033 12.8337ZM6.41699 6.41699V9.91699H7.58366V6.41699H6.41699ZM6.41699 4.08366V5.25033H7.58366V4.08366H6.41699Z",fill:"currentColor"})),B=class{constructor(i){t(this,i),this.offer=null,this.isLoading=!1,this.canRender=!0,this.gifts=[],this.cartItemCount=null,this.isTooltipHovered=!1,this.isTooltipPinned=!1,this.isGiftsOpen=!0,this.instanceId=++$,this.refreshGeneration=0,this.giftsGeneration=0,this.cartRefreshTimer=null,this.cartRefreshPending=!1,this.wantsCartUpdates=!1,this.isListeningToCartUpdates=!1,this.cartLookupRetryTimer=null,this.cartLookupRetries=0,this.cartLookupRetryPending=!1,this.deferredByEmptyCart=!1,this.isDisconnected=!1,this.skeletonWatchdog=null,this.skeletonDeadline=0,this.hasRelocated=!1,this.hasLoaded=!1,this.relocationObserver=null,this.relocationWatchTimer=null,this.relocationWatchExpired=!1,this.relocationLogged=!1,this.cartUpdatedHandler=t=>{this.readCartCountFromEvent(t),this.clearCartLookupRetry(),this.scheduleCartRefresh()}}componentWillLoad(){this.ensureSkeletonIsWatched();try{this.isEnabled()&&this.startLoading(),this.load().catch((t=>{this.stopLoading(),this.safeLog("load() failed",t)}))}catch(t){this.stopLoading(),this.safeLog("componentWillLoad threw synchronously",t)}}safeLog(t,i){try{salla.logger.warn("salla-conditional-offer::",t,i)}catch(t){}}connectedCallback(){this.isDisconnected=!1,this.ensureSkeletonIsWatched(),this.wantsCartUpdates&&!this.isListeningToCartUpdates&&this.subscribeToCartUpdates()&&(this.cartRefreshPending=!0),this.cartRefreshPending&&this.scheduleCartRefresh(),this.cartLookupRetryPending&&this.scheduleCartLookupRetry()}disconnectedCallback(){this.isDisconnected=!0,null!==this.cartRefreshTimer&&(clearTimeout(this.cartRefreshTimer),this.cartRefreshTimer=null),null!==this.cartLookupRetryTimer&&(clearTimeout(this.cartLookupRetryTimer),this.cartLookupRetryTimer=null),Promise.resolve().then((()=>{this.isDisconnected&&this.unsubscribeFromCartUpdates()})),null!==this.skeletonWatchdog&&(clearTimeout(this.skeletonWatchdog),this.skeletonWatchdog=null),this.stopWatchingForItemsColumn()}componentDidLoad(){this.hasLoaded=!0,this.relocateIntoItemsColumn()}isShowingSomething(){return this.canRender&&this.hasCartItems()}componentDidRender(){this.hasLoaded&&this.relocateIntoItemsColumn(),this.positionTooltip(),this.ensureSkeletonIsWatched()}relocateIntoItemsColumn(){if(!this.hasRelocated&&this.isShowingSomething())try{const t=this.hostEl;if(!t?.parentElement)return;const i=this.findItemsColumn(t);if(!i)return void this.watchForItemsColumn();if(this.hasRelocated=!0,this.stopWatchingForItemsColumn(),i===t.parentElement&&i.firstElementChild===t)return;i.insertBefore(t,i.firstChild)}catch(t){this.hasRelocated=!0,this.stopWatchingForItemsColumn(),this.safeLog("relocating the banner into the cart items column failed",t)}}findItemsColumn(t){let i=t;for(let e=0;i&&e<=3;e++){for(const e of this.getFollowingSiblings(i)){if(i===t&&this.matches(e,R))return t.parentElement;const o=this.findColumnWithin(e,t);if(o)return o}if(i=i.parentElement,!i||i===document.body||i===document.documentElement)break}return null}getFollowingSiblings(t){const i=[];for(let e=t.nextElementSibling;e;e=e.nextElementSibling)i.push(e);return i}findColumnWithin(t,i){const e=t.querySelector(R),o=(e?this.climbToChildOf(e,t):null)??t.querySelector(".main-content, [data-cart-items]");return!o||o===i||o.contains(i)?null:o}climbToChildOf(t,i){let e=t;for(;e&&e.parentElement&&e.parentElement!==i;)e=e.parentElement;return e?.parentElement===i?e:null}matches(t,i){return"function"==typeof t.matches&&t.matches(i)}watchForItemsColumn(){this.hasRelocated||this.relocationWatchExpired||this.relocationObserver||("undefined"!=typeof MutationObserver?(this.relocationObserver=new MutationObserver((()=>this.relocateIntoItemsColumn())),this.relocationObserver.observe(document.documentElement,{childList:!0,subtree:!0}),this.relocationWatchTimer=setTimeout((()=>{this.relocationWatchTimer=null,this.relocationWatchExpired=!0,this.stopWatchingForItemsColumn(),this.logNoItemsColumn()}),5e3)):this.logNoItemsColumn())}stopWatchingForItemsColumn(){if(this.relocationObserver){try{this.relocationObserver.disconnect()}catch(t){}this.relocationObserver=null}null!==this.relocationWatchTimer&&(clearTimeout(this.relocationWatchTimer),this.relocationWatchTimer=null)}logNoItemsColumn(){this.relocationLogged||(this.relocationLogged=!0,this.safeLog("no cart items column found — leaving the banner at full page width"))}ensureSkeletonIsWatched(){if(!this.isLoading)return;if(null!==this.skeletonWatchdog)return;const t=Date.now();0===this.skeletonDeadline&&(this.skeletonDeadline=t+8e3);const i=Math.max(0,this.skeletonDeadline-t);this.skeletonWatchdog=setTimeout((()=>{this.skeletonWatchdog=null,this.isLoading&&(Date.now()<this.skeletonDeadline?this.ensureSkeletonIsWatched():(this.isLoading=!1,this.skeletonDeadline=0,this.safeLog("still loading after 8000ms — dropping the skeleton")))}),i)}clearSkeletonWatchdog(){this.skeletonDeadline=0,null!==this.skeletonWatchdog&&(clearTimeout(this.skeletonWatchdog),this.skeletonWatchdog=null)}startLoading(){this.isLoading=!0,this.ensureSkeletonIsWatched()}stopLoading(){this.isLoading=!1,this.clearSkeletonWatchdog()}async load(){this.wantsCartUpdates=!0,this.subscribeToCartUpdates()||this.subscribeWhenSdkIsReady(),this.loadCart(),await this.waitForSdk(),await this.refresh()}waitForSdk(){let t,i;try{t=Promise.resolve(salla.onReady?.())}catch(t){return this.safeLog("salla.onReady() threw",t),Promise.resolve()}const e=new Promise((t=>{i=setTimeout(t,3e3)}));return Promise.race([t.catch((t=>this.safeLog("salla.onReady() rejected",t))),e]).then((()=>{clearTimeout(i)}))}subscribeToCartUpdates(){if(this.isListeningToCartUpdates)return!0;try{salla.event.on("cart::updated",this.cartUpdatedHandler),this.isListeningToCartUpdates=!0}catch(t){this.safeLog("cart::updated subscription failed",t)}return this.isListeningToCartUpdates}unsubscribeFromCartUpdates(){if(this.isListeningToCartUpdates){this.isListeningToCartUpdates=!1;try{salla.event.off("cart::updated",this.cartUpdatedHandler)}catch(t){this.safeLog("cart::updated unsubscription failed",t)}}}subscribeWhenSdkIsReady(){let t;try{t=Promise.resolve(salla.onReady?.())}catch(t){return}const i=()=>{this.isDisconnected||this.subscribeToCartUpdates()};t.then(i,i)}scheduleCartRefresh(){this.cartRefreshPending=!0,null!==this.cartRefreshTimer&&clearTimeout(this.cartRefreshTimer),this.cartRefreshTimer=null,this.isDisconnected||(this.cartRefreshTimer=setTimeout((()=>{this.cartRefreshTimer=null,this.runCartRefresh()}),200))}runCartRefresh(){this.isDisconnected||(this.cartRefreshPending=!1,this.refresh(),function(){if(h)return h;u++,l=null,c=null,d=!1,a=m();const t=()=>(h===i&&(h=null),_()),i=(f??Promise.resolve()).then(t,t).finally((()=>{h===i&&(h=null)}));return h=i,i}().then((()=>this.loadCart()),(()=>this.loadCart())))}readCartCountFromEvent(t){const i=this.toCartCount(t?.count)??this.readCartCountFromStorage();null!==i&&(this.cartItemCount=i)}readCartCountFromStorage(){try{return this.toCartCount(salla.storage?.get?.("cart.summary.count"))}catch(t){return null}}toCartCount(t){return"number"==typeof t&&Number.isFinite(t)&&t>=0?t:null}getFreeLabel(){const t=salla.lang.get(j);return t&&t!==j?t:"Free"}trans(t,i){const e=`blocks.cart_offer.${t}`,o=salla.lang.get(e,i);return o&&o!==e?o:Object.entries(i??{}).reduce(((t,[i,e])=>t.split(`:${i}`).join(e)),P[t])}isEnabled(){try{return!!salla.config.get("store.features")?.includes("conditional-offer")}catch(t){return!1}}async fetchOffer(){const{data:t}=await salla.api.cart.offers(),i=(t||[]).find((t=>"conditional"===t.type));return i?.details?.discounts?.length?i:null}async refresh(){const t=++this.refreshGeneration;if(!this.isEnabled())return this.stopLoading(),void(this.canRender=!1);if(0===this.cartItemCount)return this.stopLoading(),p(),void(d||(this.deferredByEmptyCart=!0,this.loadCart()));this.deferredByEmptyCart=!1,this.offer?this.stopLoading():this.startLoading();try{const i=await this.fetchOffer();if(this.isSuperseded(t))return;if(!i)return this.offer=null,void(this.canRender=!1);this.offer=i,this.canRender=!0,this.loadCart()}catch(i){if(this.isSuperseded(t))return;this.safeLog("offers() failed",i)}finally{t===this.refreshGeneration&&this.stopLoading()}}hasCartItems(){return"number"==typeof this.cartItemCount&&this.cartItemCount>=1}isSuperseded(t){return t!==this.refreshGeneration||this.isDisconnected}loadCart(){const t=++this.giftsGeneration;return Promise.all([(p(),d&&l?Promise.resolve(l):_().then((()=>l??s))),(p(),d&&l?Promise.resolve(c):_().then((()=>c)))]).then((([i,e])=>{t!==this.giftsGeneration||this.isDisconnected||this.cartRefreshPending||(null!==e&&(this.cartItemCount=e),null!==e?this.clearCartLookupRetry():null===this.cartItemCount&&this.scheduleCartLookupRetry(),this.deferredByEmptyCart&&this.hasCartItems()&&(this.deferredByEmptyCart=!1,this.refresh()),this.gifts=this.offer?this.selectOwnGifts(i):[])})).catch((t=>{this.safeLog("cart lookup failed",t)}))}scheduleCartLookupRetry(){this.cartLookupRetries>=F.length||(this.cartLookupRetryPending=!0,null!==this.cartLookupRetryTimer||this.isDisconnected||(this.cartLookupRetryTimer=setTimeout((()=>{this.cartLookupRetryTimer=null,this.cartLookupRetryPending=!1,this.canRender&&(this.cartLookupRetries++,this.loadCart())}),F[this.cartLookupRetries])))}clearCartLookupRetry(){this.cartLookupRetries=0,this.cartLookupRetryPending=!1,null!==this.cartLookupRetryTimer&&(clearTimeout(this.cartLookupRetryTimer),this.cartLookupRetryTimer=null)}selectOwnGifts(t){const i=Number(this.offer?.id);if(!Number.isFinite(i))return t;const e=t.filter((t=>null!==t.offerId&&Number(t.offerId)===i));return e.length?e:t.filter((t=>null===t.offerId))}getStages(){const t=(this.offer?.details?.discounts??[]).filter((({min_spend:t})=>null!==z(t)));return i=({min_spend:t})=>t,e=({id:t})=>t,(t??[]).map(((t,o)=>({item:t,index:o,threshold:L(i(t)),identity:e?z(e(t)):null}))).sort(((t,i)=>t.threshold!==i.threshold?t.threshold-i.threshold:null!==t.identity&&null!==i.identity&&t.identity!==i.identity?t.identity-i.identity:t.index-i.index)).map((({item:t})=>t));var i,e}getProgress(t){return function(t,i,e=0,o=[],r=[]){const n=(i??[]).map(((t,i)=>({index:i,threshold:z(t),applied:S(o?.[i]),tierValue:z(r?.[i])}))).filter((t=>null!==t.threshold)).sort(((t,i)=>t.threshold-i.threshold||t.index-i.index)),s=n.map((t=>t.threshold)),a=n.map((t=>t.applied)),l=a.some((t=>void 0!==t)),c=L(e);if(!s.length)return{thresholds:s,met:[],applied:a,appliedIndex:C,hasEngineVerdict:l,metCount:0,nextUnmetIndex:C,allMet:!1,lastReachedIndex:C,currentIndex:C,isComplete:!1,value:Math.max(0,L(t)),values:[],startValue:c,fills:[],overallPercentage:0};const d=s[s.length-1],f=I(L(t),0,Math.max(0,d)),h=n.map((({tierValue:t})=>null===t?f:I(t,0,Math.max(0,d))));let u=C;for(let t=0;t<s.length;t++)h[t]>=s[t]&&(u=t);const g=u===s.length-1,m=g?C:u+1,p=s.map(((t,i)=>function(t,i,e){return e<=i?t>=e?100:0:I((t-i)/(e-i)*100,0,100)}(h[i],0===i?c:s[i-1],t))),b=g?100:I((u+1+(p[m]??0)/100)/s.length*100,0,100);let w=C;for(let t=0;t<a.length;t++)!0===a[t]&&(w=t);const y=s.map(l?(t,i)=>i<=w:(t,i)=>i<=u),x=y.filter(Boolean).length,v=y.findIndex((t=>!t));return{thresholds:s,met:y,applied:a,appliedIndex:w,hasEngineVerdict:l,metCount:x,nextUnmetIndex:v,allMet:v===C,lastReachedIndex:u,currentIndex:m,isComplete:g,value:f,values:h,startValue:c,fills:p,overallPercentage:b}}(this.offer?.details?.current_value,t.map((({min_spend:t})=>t)),this.offer?.details?.start_value,t.map((({is_applied:t})=>t)),t.map((({current_value:t})=>t)))}tierKey(t,i){const e=Number(t?.id);return Number.isFinite(e)?`tier-${e}`:`pos-${i}`}stageMeasure(){return this.offer?.details?.based_on===n.PRODUCT_COUNT?T.COUNT:T.CURRENCY}formatRequirement(t){const i=this.offer?.details?.based_on;if(i===n.PRODUCT_COUNT)try{return salla.lang.choice("blocks.header.products_count",t)}catch(i){return this.safeLog("invalid products_count interval",i),`${t}`}return i===n.PRODUCT_PURCHASE?salla.money(t):(this.safeLog(`unexpected offer detail's based_on value: ${i}`),`${t}`)}getRewardText(t){return(t?.reward_label??"").trim()}getGuidanceMessage(t,i){if(i.nextUnmetIndex===C)return"";const e=function(t,i,e=T.CURRENCY){const o=i.thresholds[t];if(void 0===o)return 0;const r=Math.max(0,o-(i.values?.[t]??i.value));if(0===r)return 0;const n=e===T.COUNT?0:function(){try{const t="undefined"!=typeof salla?salla:void 0,i=V(t?.config?.currency?.()?.decimals);if(null!==i)return i;const e=V(t?.config?.get?.("store.currency.decimals"));if(null!==e)return e}catch(t){}return 2}(),s=Math.pow(10,n),a=Math.ceil(r*s-1e-6)/s;return a>0?a:1/s}(i.nextUnmetIndex,i,this.stageMeasure());if(e<=0)return this.trans("guidance_conditions_unmet");const o=this.formatRequirement(e),r=this.getRewardText(t[i.nextUnmetIndex]);return r?this.trans("guidance_next",{remaining:o,reward:H(r)}):this.trans("guidance_next_generic",{remaining:o})}getTierSentence(t,i,e){const o=this.formatRequirement(e.thresholds[i]),r=this.getRewardText(t),n=this.stageMeasure()===T.COUNT;return r?this.trans(n?"tier_requirement_count":"tier_requirement",{threshold:o,reward:H(r)}):this.trans(n?"tier_requirement_count_generic":"tier_requirement_generic",{threshold:o})}getRewardIcon(t){switch(t?.type){case r.PERCENTAGE:return"sicon-percentage";case r.FREE_PRODUCT:return"sicon-gift";case r.FIXED:return this.usesSarSymbol()?"sicon-sar":"sicon-banknote";default:return"sicon-tag"}}usesSarSymbol(){try{const t=salla.config.currency?.()?.symbol;return["SAR","ر.س"].includes(t)&&!!salla.config.get("store.settings.use_sar_symbol")}catch(t){return!1}}get isTooltipOpen(){return this.isTooltipHovered||this.isTooltipPinned}toggleTooltip(){this.isTooltipPinned=!this.isTooltipPinned}closeTooltip(t=!1){this.isTooltipOpen&&(this.isTooltipPinned=!1,this.isTooltipHovered=!1,t&&this.infoTriggerEl?.focus?.())}positionTooltip(){const t=this.tooltipEl,i=this.infoTriggerEl;if(this.isTooltipOpen&&t&&i)try{this.setTooltipOffsets(t,0,0);const e=window.innerWidth||document.documentElement?.clientWidth||0,o=t.getBoundingClientRect(),r=i.getBoundingClientRect(),n=o?.width||0;if(n<=0||e<=0)return;const s=r.left+r.width/2-n/2,a=8,l=Math.min(Math.max(s,a),Math.max(a,e-a-n))-s,c=Math.max(0,n/2-16),d=Math.min(Math.max(-l,-c),c);this.setTooltipOffsets(t,l,d)}catch(t){this.safeLog("positioning the offer details popover failed",t)}}setTooltipOffsets(t,i,e){t.style?.setProperty?.("--s-conditional-offer-tooltip-shift",`${Math.round(i)}px`),t.style?.setProperty?.("--s-conditional-offer-tooltip-caret",`${Math.round(e)}px`)}handleWindowResize(){this.positionTooltip()}handleDocumentKeydown(t){"Escape"!==t.key&&"Esc"!==t.key||this.closeTooltip(!0)}handleDocumentClick(t){if(!this.isTooltipPinned||!this.infoAnchorEl)return;const i="function"==typeof t.composedPath?t.composedPath():[];(i.length?i.includes(this.infoAnchorEl):this.infoAnchorEl.contains(t.target))||this.closeTooltip()}elementId(t){return`s-conditional-offer-${t}-${this.instanceId}`}renderBadges(t,e){return i("div",{class:"s-conditional-offer-badges",role:"img","aria-label":this.trans("badges_summary",{completed:`${e.metCount}`,total:`${t.length}`})},t.map(((t,o)=>{const r=e.met[o],n=this.tierKey(t,o);return[o>0?i("span",{key:`${n}-link`,class:{"s-conditional-offer-badge-link":!0,"s-conditional-offer-badge-link-met":r,"s-conditional-offer-badge-link-unmet":!r},"aria-hidden":"true"}):null,i("span",{key:n,class:{"s-conditional-offer-badge":!0,"s-conditional-offer-badge-met":r,"s-conditional-offer-badge-unmet":!r},"data-tier-state":r?"met":"unmet","data-tier-id":t?.id??void 0},i(r?O:q,{class:"s-conditional-offer-badge-icon"}))]})))}renderTooltip(t,e){const o=function(t){const i=t?.details?.rules;if("string"==typeof i){const t=i.trim();return""===t?null:t}if(Array.isArray(i)){const t=i.filter((t=>"string"==typeof t)).map((t=>t.trim())).filter((t=>""!==t)).join(" ");return""===t?null:t}return null}(this.offer);return i("div",{class:"s-conditional-offer-tooltip",id:this.elementId("tooltip"),role:"tooltip",ref:t=>this.tooltipEl=t},i("div",{class:"s-conditional-offer-tooltip-title"},this.offer?.title),o?i("div",{class:"s-conditional-offer-tooltip-description"},o):null,i("ul",{class:"s-conditional-offer-tooltip-list"},t.map(((t,o)=>{const r=e.met[o];return i("li",{key:this.tierKey(t,o),class:"s-conditional-offer-tier","data-tier-state":r?"met":"unmet","data-tier-id":t?.id??void 0},i("span",{class:{"s-conditional-offer-tier-icon":!0,"s-conditional-offer-tier-icon-met":r,"s-conditional-offer-tier-icon-unmet":!r}},i("i",{class:this.getRewardIcon(t),"aria-hidden":"true"}),i("span",{class:{"s-conditional-offer-tier-status":!0,"s-conditional-offer-tier-status-met":r,"s-conditional-offer-tier-status-unmet":!r},"aria-hidden":"true"},r?i(O,{class:"s-conditional-offer-tier-status-check"}):i(q,{class:"s-conditional-offer-tier-status-lock"}))),i("div",{class:"s-conditional-offer-tier-body"},i("div",{class:"s-conditional-offer-tier-title"},this.trans("tier_title",{number:`${o+1}`})),i("div",{class:{"s-conditional-offer-tier-text":!0,"s-conditional-offer-tier-text-met":r},innerHTML:this.getTierSentence(t,o,e)})))}))))}renderGiftsToggle(t){return i("button",{type:"button",id:this.elementId(`toggle-${t}`),class:{"s-conditional-offer-toggle":!0,"s-conditional-offer-toggle-inline":"inline"===t,"s-conditional-offer-toggle-bar":"bar"===t},"aria-expanded":this.isGiftsOpen?"true":"false","aria-controls":this.elementId("gifts"),onClick:()=>this.isGiftsOpen=!this.isGiftsOpen},i("span",null,this.trans("manage_offer")),i("i",{class:{"sicon-keyboard_arrow_down":!0,"s-conditional-offer-toggle-icon":!0,"s-conditional-offer-toggle-icon-open":this.isGiftsOpen},"aria-hidden":"true"}))}renderGiftsCard(){return i("div",{class:"s-conditional-offer-panel",id:this.elementId("gifts")},i("div",{class:"s-conditional-offer-gifts-header"},i("span",{class:"s-conditional-offer-gifts-icon"},i("i",{class:"sicon-gift","aria-hidden":"true"})),i("span",{class:"s-conditional-offer-gifts-title"},this.trans("free_products_title"))),i("ul",{class:"s-conditional-offer-gifts-list"},this.gifts.map((t=>this.renderGiftRow(t)))))}renderGiftRow(t){return i("li",{class:"s-conditional-offer-gift","data-item-id":t.id},i("span",{class:"s-conditional-offer-gift-thumb"},t.imageUrl?i("img",{class:"s-conditional-offer-gift-image",src:t.imageUrl,alt:t.imageAlt||t.name,loading:"lazy",decoding:"async"}):i("i",{class:"sicon-gift","aria-hidden":"true"})),i("div",{class:"s-conditional-offer-gift-body"},i("span",{class:"s-conditional-offer-gift-name"},t.name||this.trans("free_gift")),i("span",{class:"s-conditional-offer-gift-prices"},i("span",{class:"s-conditional-offer-gift-free"},this.getFreeLabel()),null!==t.originalPrice?i("span",{class:"s-conditional-offer-gift-price",innerHTML:salla.money(t.originalPrice)}):null)))}getLoadingSkeletonView(){return i(e,{class:"s-conditional-offer-root"},i("div",{class:"s-conditional-offer-banner"},i("div",{class:"s-conditional-offer-lead"},i("salla-skeleton",{height:"24px",width:"80px"}),i("div",{class:"s-conditional-offer-skeleton-text"},i("salla-skeleton",{height:"12px",width:"35%"}),i("salla-skeleton",{height:"16px",width:"60%"})))))}render(){if(!this.canRender)return null;if(!this.hasCartItems())return null;if(this.isLoading)return this.getLoadingSkeletonView();if(!this.offer)return null;const t=this.getStages(),o=this.getProgress(t),r=this.getGuidanceMessage(t,o),n=this.trans("details_title"),s=this.gifts.length>0;return i(e,{class:"s-conditional-offer-root"},i("div",{class:"s-conditional-offer-banner"},i("div",{class:"s-conditional-offer-lead"},this.renderBadges(t,o),i("div",{class:"s-conditional-offer-text"},i("div",{class:"s-conditional-offer-heading",onMouseEnter:()=>this.isTooltipHovered=!0,onMouseLeave:()=>this.isTooltipHovered=!1},i("span",{class:"s-conditional-offer-name"},this.offer.title),i("span",{class:"s-conditional-offer-info",ref:t=>this.infoAnchorEl=t},i("button",{type:"button",class:"s-conditional-offer-info-trigger",ref:t=>this.infoTriggerEl=t,"aria-label":n,title:n,"aria-expanded":this.isTooltipOpen?"true":"false","aria-describedby":this.elementId("tooltip"),onClick:()=>this.toggleTooltip()},i(N,{class:"s-conditional-offer-info-icon"})),this.isTooltipOpen?this.renderTooltip(t,o):null)),o.allMet?i("div",{class:"s-conditional-offer-message",role:"status"},this.trans("congrats")):r?i("div",{class:"s-conditional-offer-message",innerHTML:r}):null)),s?this.renderGiftsToggle("inline"):null),s&&this.isGiftsOpen?this.renderGiftsCard():null,s?this.renderGiftsToggle("bar"):null)}get hostEl(){return o(this)}};B.style='/*!twlt*/:host{display:block}.s-conditional-offer-root{background-color:rgba(0, 137, 123, 0.06);background-color:color-mix(in srgb, var(--color-primary, #00897b) 7%, transparent)}.s-conditional-offer-badges::-webkit-scrollbar{height:3px}.s-conditional-offer-badges::-webkit-scrollbar-thumb{border-radius:9999px;background-color:rgba(0, 0, 0, 0.15)}.s-conditional-offer-badges::-webkit-scrollbar-track{background-color:transparent}.s-conditional-offer-tooltip{--s-conditional-offer-tooltip-shift:0px;--s-conditional-offer-tooltip-caret:0px;transform:translateX(calc(-50% + var(--s-conditional-offer-tooltip-shift)))}.s-conditional-offer-tooltip::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(calc(-50% + var(--s-conditional-offer-tooltip-caret)));border:8px solid transparent;border-bottom-color:#fff}.s-conditional-offer-tier-icon-met,.s-conditional-offer-tier-icon-unmet{color:var(--color-primary-dark, #00695c);background-color:rgba(0, 137, 123, 0.12);background-color:color-mix(in srgb, var(--color-primary, #00897b) 14%, transparent)}.s-conditional-offer-tier:not(:last-child)::before{content:"";position:absolute;top:2.5rem;bottom:-1rem;inset-inline-start:1.125rem;width:1px;background-color:#d1d5db}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.w-6{width:1.5rem}.resize{resize:both}.gap-1{gap:0.25rem}.rounded{border-radius:var(--s-radius, 0.25rem)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-conditional-offer-root{margin-bottom:1.25rem;display:block;width:100%;min-width:0px;max-width:100%;border-radius:0.375rem;padding:0.75rem}@media (min-width: 768px){.s-conditional-offer-root{padding:1rem}}.s-conditional-offer-banner{display:flex;width:100%;min-width:0px;align-items:center;justify-content:space-between;gap:0.75rem}@media (min-width: 768px){.s-conditional-offer-banner{gap:1rem}}.s-conditional-offer-lead{display:flex;min-width:0px;flex:1 1 0%;align-items:center;gap:0.5rem}@media (min-width: 768px){.s-conditional-offer-lead{gap:0.75rem}}.s-conditional-offer-badges{display:flex;max-width:45%;flex-shrink:0;flex-wrap:nowrap;align-items:center;gap:0.25rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:thin}.s-conditional-offer-badge{display:inline-flex;height:1.5rem;width:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:11px;line-height:1;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-conditional-offer-badge-met{background-color:var(--color-primary)}.s-conditional-offer-badge-unmet{--tw-bg-opacity:1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.s-conditional-offer-badge-link{width:0.5rem;flex-shrink:0;border-top-width:1px}.s-conditional-offer-badge-link-met{border-color:var(--color-primary)}.s-conditional-offer-badge-link-unmet{border-style:dashed;--tw-border-opacity:1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.s-conditional-offer-badge-icon{height:0.75rem;width:0.75rem;flex-shrink:0}.s-conditional-offer-text{display:flex;min-width:0px;flex-direction:column;gap:0.125rem;text-align:start}.s-conditional-offer-heading{display:flex;min-width:0px;align-items:center;gap:0.375rem}.s-conditional-offer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-info{position:relative;display:inline-flex;flex-shrink:0;align-items:center}.s-conditional-offer-info-trigger{display:inline-flex;height:1rem;width:1rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-info-trigger:hover{color:var(--color-primary-dark)}.s-conditional-offer-info-icon{height:0.875rem;width:0.875rem;flex-shrink:0}.s-conditional-offer-message{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}@media (min-width: 768px){.s-conditional-offer-message{font-size:1rem;line-height:1.5rem}}.s-conditional-offer-toggle{align-items:center;justify-content:center;gap:0.375rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(38 38 38 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-toggle:hover{color:var(--color-primary-dark)}.s-conditional-offer-toggle-inline{display:none;flex-shrink:0}@media (min-width: 768px){.s-conditional-offer-toggle-inline{display:inline-flex}}.s-conditional-offer-toggle-bar{margin-top:0.5rem;display:inline-flex;width:100%;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:0.75rem;padding-right:0.75rem;padding-top:0.625rem;padding-bottom:0.625rem}@media (min-width: 768px){.s-conditional-offer-toggle-bar{display:none}}.s-conditional-offer-toggle-icon{font-size:1rem;line-height:1.5rem;line-height:1;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-conditional-offer-toggle-icon-open{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-conditional-offer-panel{margin-top:0.75rem;width:100%;min-width:0px;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem}.s-conditional-offer-gifts-header{margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem}.s-conditional-offer-gifts-icon{display:inline-flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:var(--color-primary);font-size:1rem;line-height:1.5rem;line-height:1;color:var(--color-primary)}.s-conditional-offer-gifts-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-gifts-list{margin:0px;display:flex;list-style-type:none;flex-direction:column;gap:0.5rem;padding:0px}.s-conditional-offer-gift{display:flex;align-items:center;gap:0.75rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding:0.5rem}.s-conditional-offer-gift-thumb{display:inline-flex;height:3.5rem;width:3.5rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-image{height:100%;width:100%;object-fit:contain}.s-conditional-offer-gift-body{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;text-align:start}.s-conditional-offer-gift-name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-prices{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;line-height:1rem}.s-conditional-offer-gift-free{font-weight:700;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-conditional-offer-gift-price{--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-conditional-offer-tooltip{position:absolute;top:calc(100% + 0.75rem);left:50%;z-index:10;width:min(22rem, calc(100vw - 2rem));border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;text-align:start;--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-conditional-offer-tooltip-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-tooltip-description{margin-top:0.25rem;font-size:0.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-tooltip-list{margin:0px;margin-top:0.75rem;display:flex;list-style-type:none;flex-direction:column;gap:1rem;padding:0px}.s-conditional-offer-tier{position:relative;display:flex;align-items:flex-start;gap:0.75rem}.s-conditional-offer-tier-icon{position:relative;display:inline-flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:1rem;line-height:1.5rem;line-height:1}.s-conditional-offer-tier-icon-unmet{color:var(--color-primary-dark)}.s-conditional-offer-tier-status{position:absolute;bottom:-0.125rem;display:inline-flex;height:1rem;width:1rem;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));inset-inline-start:-2px}.s-conditional-offer-tier-status-met{color:var(--color-primary-dark)}.s-conditional-offer-tier-status-unmet{--tw-text-opacity:1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.s-conditional-offer-tier-status-check{height:0.75rem;width:0.75rem;flex-shrink:0}.s-conditional-offer-tier-status-lock{height:0.625rem;width:0.625rem;flex-shrink:0}.s-conditional-offer-tier-body{display:flex;min-width:0px;flex-direction:column;gap:0.125rem}.s-conditional-offer-tier-title{font-size:0.75rem;line-height:1rem;font-weight:700;color:var(--color-primary-dark)}.s-conditional-offer-tier-text{font-size:0.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.s-conditional-offer-tier-text-met{text-decoration-line:line-through}.s-conditional-offer-skeleton-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.375rem}';export{B as salla_conditional_offer}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as e,h as s,H as r}from"./p-C9zdeQFI.js";import{s as t}from"./p-CxrJQ3Jf.js";const a=class{constructor(s){e(this,s),this.dark=!1,this.commercialRegisterLabel="",this.freelanceLabel=""}connectedCallback(){this.initializeTranslations()}disconnectedCallback(){this.langUnsubscribe?.()}isVisibilityEnforced(){return"SA"===salla.config.get("store.store_country")}initializeTranslations(){this.langUnsubscribe=salla.lang.subscribe((()=>{const e=(e,s,r)=>{t(e,s,r)};e("ar.trans","blocks.footer.commercial_register","السجل التجاري"),e("en.trans","blocks.footer.commercial_register","Commercial Register"),e("ar.trans","blocks.footer.freelance","وثيقة العمل الحر"),e("en.trans","blocks.footer.freelance","Freelance Certificate"),this.commercialRegisterLabel=salla.lang.getWithDefault("blocks.footer.commercial_register","السجل التجاري"),this.freelanceLabel=salla.lang.getWithDefault("blocks.footer.freelance","وثيقة العمل الحر")}))}getBadgeData(){const e=salla.config.get("store.settings.commercial_number"),s=salla.config.get("store.settings.freelance_number");return e?{number:e,label:this.commercialRegisterLabel||"السجل التجاري",imageUrl:salla.url.cdn("images/commercial-register.png",70,70),type:"commercial"}:s?{number:s,label:this.freelanceLabel||"وثيقة العمل الحر",imageUrl:this.dark?salla.url.cdn("images/freelance-white.png"):salla.url.cdn("images/freelance.png"),type:"freelance"}:null}render(){const e=this.getBadgeData();return e?s(r,{class:"s-trust-badges-wrapper "+(this.dark?"dark":"")},this.isVisibilityEnforced()?s("img",{class:"s-trust-badges-image",width:"55",height:"55",src:e.imageUrl,alt:e.label}):null,s("div",{class:"s-trust-badges-content"},s("p",{class:"s-trust-badges-label"},e.label),s("b",{class:"s-trust-badges-number"},e.number))):null}};a.style='/*!twlt*/.s-trust-badges-image{width:55px;height:55px;flex-shrink:0}.s-trust-badges-wrapper{display:flex;align-items:center}.s-trust-badges-wrapper>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.s-trust-badges-wrapper:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-trust-badges-label{margin-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-trust-badges-number{font-size:0.875rem;line-height:1.25rem}';export{a as salla_trust_badges}
4
+ import{r as e,h as s,H as r}from"./p-CrXKQnBu.js";import{s as t}from"./p-CxrJQ3Jf.js";const a=class{constructor(s){e(this,s),this.dark=!1,this.commercialRegisterLabel="",this.freelanceLabel=""}connectedCallback(){this.initializeTranslations()}disconnectedCallback(){this.langUnsubscribe?.()}isVisibilityEnforced(){return"SA"===salla.config.get("store.store_country")}initializeTranslations(){this.langUnsubscribe=salla.lang.subscribe((()=>{const e=(e,s,r)=>{t(e,s,r)};e("ar.trans","blocks.footer.commercial_register","السجل التجاري"),e("en.trans","blocks.footer.commercial_register","Commercial Register"),e("ar.trans","blocks.footer.freelance","وثيقة العمل الحر"),e("en.trans","blocks.footer.freelance","Freelance Certificate"),this.commercialRegisterLabel=salla.lang.getWithDefault("blocks.footer.commercial_register","السجل التجاري"),this.freelanceLabel=salla.lang.getWithDefault("blocks.footer.freelance","وثيقة العمل الحر")}))}getBadgeData(){const e=salla.config.get("store.settings.commercial_number"),s=salla.config.get("store.settings.freelance_number");return e?{number:e,label:this.commercialRegisterLabel||"السجل التجاري",imageUrl:salla.url.cdn("images/commercial-register.png",70,70),type:"commercial"}:s?{number:s,label:this.freelanceLabel||"وثيقة العمل الحر",imageUrl:this.dark?salla.url.cdn("images/freelance-white.png"):salla.url.cdn("images/freelance.png"),type:"freelance"}:null}render(){const e=this.getBadgeData();return e?s(r,{class:"s-trust-badges-wrapper "+(this.dark?"dark":"")},this.isVisibilityEnforced()?s("img",{class:"s-trust-badges-image",width:"55",height:"55",src:e.imageUrl,alt:e.label}):null,s("div",{class:"s-trust-badges-content"},s("p",{class:"s-trust-badges-label"},e.label),s("b",{class:"s-trust-badges-number"},e.number))):null}};a.style='/*!twlt*/.s-trust-badges-image{width:55px;height:55px;flex-shrink:0}.s-trust-badges-wrapper{display:flex;align-items:center}.s-trust-badges-wrapper>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.s-trust-badges-wrapper:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-trust-badges-label{margin-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-trust-badges-number{font-size:0.875rem;line-height:1.25rem}';export{a as salla_trust_badges}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as t,c as i,f as o,h as e,H as a,a as s,e as r}from"./p-CrXKQnBu.js";import{C as n}from"./p-gFG8By9O.js";import{H as l}from"./p-BUzdlb7Q.js";import{e as c,a as p,r as d,b as u}from"./p-BS2iQKah.js";import{a as h}from"./p-DIAyA5MP.js";import{B as m}from"./p-D3mWkc-3.js";import{D as g}from"./p-CoQJOPRz.js";import{g as b,a as y,o as w}from"./p-DY0mFqTf.js";import{S as f}from"./p-BpzvJ73s.js";import{C as v}from"./p-C6jIkM-X.js";import{g as k}from"./p-q5NJ0uS-.js";import{I as x}from"./p-BVaKfTMx.js";var _='\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>full-wallet</title>\n<path d="M29 12h-26c-0.668-0.008-1.284-0.226-1.787-0.59l0.009 0.006c-0.744-0.552-1.222-1.428-1.222-2.416 0-1.657 1.343-3 2.999-3h6c0.552 0 1 0.448 1 1s-0.448 1-1 1v0h-6c-0.552 0-1 0.448-1 1 0 0.326 0.156 0.616 0.397 0.798l0.002 0.002c0.167 0.12 0.374 0.194 0.599 0.2l0.001 0h26c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM27 12c-0.552 0-1-0.448-1-1v0-3h-3c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h4c0.552 0 1 0.448 1 1v0 4c0 0.552-0.448 1-1 1v0zM29 30h-26c-1.657 0-3-1.343-3-3v0-18c0-0.552 0.448-1 1-1s1 0.448 1 1v0 18c0 0.552 0.448 1 1 1v0h25v-5c0-0.552 0.448-1 1-1s1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM29 18c-0.552 0-1-0.448-1-1v0-6c0-0.552 0.448-1 1-1s1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM31 24h-7c-2.209 0-4-1.791-4-4s1.791-4 4-4v0h7c0.552 0 1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM24 18c-1.105 0-2 0.895-2 2s0.895 2 2 2v0h6v-4zM25 12c-0.001 0-0.001 0-0.002 0-0.389 0-0.726-0.222-0.891-0.546l-0.003-0.006-3.552-7.106-2.306 1.152c-0.13 0.066-0.284 0.105-0.447 0.105-0.552 0-1-0.448-1-1 0-0.39 0.223-0.727 0.548-0.892l0.006-0.003 3.2-1.6c0.13-0.067 0.284-0.106 0.447-0.106 0.39 0 0.727 0.223 0.892 0.548l0.003 0.006 4 8c0.067 0.13 0.106 0.285 0.106 0.448 0 0.552-0.448 1-1 1v0zM21 12c-0.001 0-0.001 0-0.002 0-0.389 0-0.726-0.222-0.891-0.546l-0.003-0.006-3.552-7.106-15.104 7.552c-0.13 0.066-0.284 0.105-0.447 0.105-0.552 0-1-0.448-1-1 0-0.39 0.223-0.727 0.548-0.892l0.006-0.003 16-8c0.13-0.067 0.284-0.106 0.447-0.106 0.39 0 0.727 0.223 0.892 0.548l0.003 0.006 4 8c0.067 0.13 0.106 0.285 0.106 0.448 0 0.552-0.448 1-1 1-0.001 0-0.001 0-0.002 0h0z"></path>\n</svg>\n';const S="apple-pay-sdk";let P=null;function C(){return salla?.config?.get?.("store.settings.buy_now.merchant_identifier")||null}function I(){return!0===salla?.config?.get?.("store.settings.buy_now.hostedRedirect")}function O(){return"undefined"==typeof document?Promise.resolve():P||(document.getElementById(S)?(P=Promise.resolve(),P):(P=new Promise((t=>{const i=document.createElement("script");i.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",i.setAttribute("id",S),i.async=!0,i.onload=()=>t(),i.onerror=()=>t(),document.body.appendChild(i)})),P))}function q(t){return Array.isArray(t)?[...t]:t&&"object"==typeof t?Object.values(t):[]}function A(t){return q(null==t?salla?.config?.get?.("store.settings.buy_now.supportedNetworks")||salla?.config?.get?.("store.settings.buy_now.networks"):t)}async function N(t="SAR",i=null){const o=A(i);if(!o.length)return!1;try{if(window.ApplePaySession?.canMakePayments?.())return!0}catch(t){}if("undefined"==typeof window||!window.PaymentRequest)return!1;if(!C())return!1;await O();try{const i=new PaymentRequest(function({version:t,merchantIdentifier:i,supportedNetworks:o,countryCode:e}){return[{supportedMethods:"https://apple.com/apple-pay",data:{version:t,merchantIdentifier:i,merchantCapabilities:["supports3DS"],supportedNetworks:o,countryCode:e}}]}({version:3,merchantIdentifier:C(),supportedNetworks:o,countryCode:salla?.config?.get?.("store.store_country")||"SA"}),{total:{label:"Salla",amount:{currency:t||"SAR",value:"0.00"}}});return await i.canMakePayment()}catch(t){return!1}}function z(t,i){if(!t||!i?.length)return;const o="function"==typeof t.set,e=i=>o?t.get?.(i):t[i],a=(i,e)=>{o?t.set(i,e):t[i]=e},s=i=>{o?t.delete?.(i):delete t[i]},r=e("id"),n=e("quantity")||"1";r&&(s("id"),s("quantity"),a("products[0][id]",String(r)),a("products[0][quantity]",String(n))),i.forEach(((t,i)=>{const o=r?i+1:i;a(`products[${o}][id]`,String(t.productId)),a(`products[${o}][quantity]`,String(t.quantity)),Object.entries(t.options).forEach((([t,i])=>{a(`products[${o}][options][${t}]`,String(i))}))}))}class L{constructor(t,i){this.host=t,this.productId=i,this.collected=!1,this.livePrice=0}static attach(t,i){const o=t.querySelector("salla-mini-checkout-widget");if(!o)return!1;const e=new L(t,String(i));return salla.product?.event?.onPriceUpdated?.((t=>{e.livePrice=Number(t?.data?.price)||e.livePrice})),o.addEventListener("click",(t=>e.handleWidgetClick(t,o)),!0),!0}getSelectedQuantity(){try{const t=document.querySelector("form.product-form"),i=t?.getElementSallaData?.(),o=Number(i instanceof FormData?i.get("quantity"):i?.quantity);if(Number.isFinite(o)&&o>0)return o}catch{}return Number(this.host.getAttribute("quantity"))||1}async handleWidgetClick(t,i){if(this.collected)return void(this.collected=!1);if(t.preventDefault(),t.stopImmediatePropagation(),!await this.validatePdpOptions())return;if(salla.config.isGuest())return void salla.api.auth.requireLoginThen("salla-add-product-button::oo.after-login",(()=>this.handleWidgetClick(t,i)));let o;i.classList.add("s-add-product-button-busy");try{o=await salla.api.withoutNotifier((()=>salla.product.api.getOrderOptions([{id:this.productId,quantity:this.getSelectedQuantity()}])))}catch(t){return salla?.logger?.warn?.("order-options: fetch failed",t),i.classList.remove("s-add-product-button-busy"),void this.resumeWidget(i)}i.classList.remove("s-add-product-button-busy");const e=o?.data?.order_options||[],a=o?.data?.advance_free_product,s=(Array.isArray(a)?a:[]).filter((t=>Array.isArray(t?.options)&&t.options.length));if(!e.length&&!s.length)return void this.resumeWidget(i);const r=this.livePrice>0?this.livePrice:Number(o?.data?.products?.[0]?.price?.amount)||0,n=this.ensureModal();try{const t=await n.open({orderOptions:e,freeProducts:s,basePrice:r});this.injectIntoMini(t?.orderOptions||[],t?.freeProducts||[]),this.resumeWidget(i)}catch{}}async validatePdpOptions(){const t=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);return!t||("function"==typeof t.validateAndScroll?await t.validateAndScroll():"function"!=typeof t.reportValidity||await t.reportValidity())}injectIntoMini(t,i){if(!t.length&&!i.length)return;const o=this.productId,e=a=>{if(String(a?.id)===String(o))try{const o=a?.payload;t.length&&o?.set?.("order_options",t),z(o,i)}finally{salla.event.off("cart::before.add.item",e)}};salla.event.on("cart::before.add.item",e)}ensureModal(){let t=document.querySelector("salla-order-options-modal");return t||(t=document.createElement("salla-order-options-modal"),document.body.appendChild(t)),t}resumeWidget(t){this.collected=!0;const i=t.shadowRoot?.querySelector?.(".s-fast-checkout-button");i?i.click():"function"==typeof t.click&&t.click()}}class M{constructor(){this.resuming=!1,this.resumeToken=0}static attach(t){if(!t.querySelector("salla-mini-checkout-widget"))return!1;const i=new M;return t.addEventListener("click",(t=>i.handleClick(t)),!0),!0}handleClick(t){if(this.resuming)return void(this.resuming=!1);const i=("function"==typeof t.composedPath?t.composedPath():[]).find((t=>"SALLA-MINI-CHECKOUT-WIDGET"===t?.tagName));i&&(t.preventDefault(),t.stopImmediatePropagation(),this.gate(i,++this.resumeToken))}async gate(t,i){if(await salla.cart.event.beforeStartFastCheckout(),i!==this.resumeToken)return;this.resuming=!0;const o=t.shadowRoot?.querySelector?.(".s-fast-checkout-button");o?o.click():"function"==typeof t.click?t.click():this.resuming=!1}}const j=class{constructor(o){t(this,o),this.success=i(this,"success"),this.failed=i(this,"failed"),this.hostAttributes={},this.buyNowBusy=!1,this.buyNowToken=0,this.buyNowLastClick=0,this.buyNowLivePrice=0,this.hasPreOrder=!1,this.productStatus="sale",this.productType="product",this.selectedOptions=[],this.buyNowText=salla.lang.get("pages.products.buy_now"),this.buyNowLoading=!1,this.isDesktopViewport="undefined"==typeof window||window.matchMedia("(min-width: 768px)").matches,this.viewportMediaQuery=null,this.orderOptionsGateAttached=!1,this.fastCheckoutGateAttached=!1,this.onBuyNowPriceUpdated=t=>{this.buyNowLivePrice=Number(t?.data?.price)||this.buyNowLivePrice},this.onViewportChange=t=>{this.isDesktopViewport=t.matches,this.btn?.setText(t.matches&&this.passedLabel?this.passedLabel:this.getLabel())},this.hasLoaded=!1,this.isAttached=!1,this.productOptionsChangeListener=async t=>{if(!["thumbnail","color","single-option"].includes(t.option.type))return;this.hasSubscribedOptions=!1,this.selectedOptions=await(document.querySelector(`salla-product-options[product-id="${this.productId}"]`)?.getSelectedOptions()),this.hasOutOfStockOption=await(document.querySelector(`salla-product-options[product-id="${this.productId}"]`)?.hasOutOfStockOption());let i=salla.storage.get(`product-${this.productId}-subscribed-options`);if((i||this.subscribedOptions)&&this.hasOutOfStockOption)if(salla.config.isGuest()){const t=i?i.map((t=>t.split(",").map((t=>parseInt(t))))):[];this.hasSubscribedOptions=t.length>0&&t.some((t=>t.every((t=>this.selectedOptions.some((i=>i.id===t))))))}else this.hasSubscribedOptions=!(!this.subscribedOptions||"null"===this.subscribedOptions||"[]"===this.subscribedOptions)&&JSON.parse(this.subscribedOptions).some((t=>t.every((t=>this.selectedOptions.some((i=>i.id===t))))))}}connectedCallback(){this.isAttached=!0,this.hasLoaded&&this.bindListeners(),this.langUnsubscribe=salla.lang.subscribe((()=>{this.buyNowText=salla.lang.get("pages.products.buy_now"),o(this)}))}get isIconOnlyLabel(){return"sale"===this.productStatus&&this.supportStickyBar&&!this.isDesktopViewport&&this.showQuickBuy&&this.isApplePayActive}get addToCartLabel(){return salla.lang.get("pages.cart.add_to_cart")}getLabel(){return this.isIconOnlyLabel?`${n}<span class="s-add-product-button-sr-only">${this.addToCartLabel}</span>`:this.hasPreOrder?salla.lang.get("pages.products.pre_order_now"):"sale"===this.productStatus&&"booking"===this.productType?salla.lang.get("pages.cart.book_now"):"sale"===this.productStatus?this.addToCartLabel:"donating"!==this.productType?salla.lang.get("pages.products.out_of_stock"):salla.lang.get("pages.products.donation_exceed")}addProductToCart(t){if("booking"===this.productType)return t.preventDefault(),this.addBookingProduct();if("submit"===this.hostAttributes.type)return!1;t.preventDefault(),this.btn?.disable();const i=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);return i&&"function"==typeof i.validateAndScroll?i.validateAndScroll().then((async t=>{const i={isValid:t,component:this};if(await salla.hooks.call("salla-add-product-button","validate",i),i.isValid)return this._proceedAddToCart();this.btn?.enable()})).catch((()=>{this.btn?.enable()})):this._proceedAddToCart()}async _proceedAddToCart(){const t=this.host.closest("salla-products-list, salla-products-slider")??this.host.closest("salla-product-card, custom-salla-product-card"),i=Object.entries({id:this.productId,donation_amount:this.donatingAmount,quantity:this.quantity,endpoint:"quickAdd",source:l.getProductsSource(t?.getAttribute("source"))}).reduce(((t,[i,o])=>o?(t[i]=o,t):t),{});return salla.cart.addItem(i).then((async t=>(this.selectedOptions=[],this.btn?.enable(),this.success.emit(t),t))).catch((t=>{this.failed.emit(t),this.btn?.enable()}))}addBookingProduct(){return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("booking::add",this.productId),void salla.event.dispatch("login::open")):salla.booking.add(this.productId).then((t=>this.success.emit(t))).catch((t=>this.failed.emit(t)))}getBtnAttributes(){for(let t=0;t<this.host.attributes.length;t++)["id","class"].includes(this.host.attributes[t].name)||(this.hostAttributes[this.host.attributes[t].name]=this.host.attributes[t].value);return Object.entries({type:this.type,width:this.width,fill:this.fill,amount:this.amount,"required-shipping":this.requiredShipping,"is-subscribed":this.isSubscribed}).forEach((([t,i])=>{null==i||!1===i||this.host.hasAttribute(t)||(this.hostAttributes[t]=!0===i?"":i)})),this.hostAttributes}get notifyChannels(){return this.channels||salla.api.product.getAvailabilityChannels?.()||l.availabilityChannels()}getQuickBuyBtnAttributes(){return{...this.getBtnAttributes(),type:this.supportStickyBar&&!this.isDesktopViewport?"plain":"donating"==this.productType?"donate":"buy"}}get redirectsToCheckout(){return!0===salla.config.get("store.settings.buy_now.redirect_to_checkout")}get showsBuyNowButton(){return this.showQuickBuy&&!!document.getElementById("fast-checkout-js")&&!["financial_support","donating"].includes(this.productType)&&this.redirectsToCheckout}isFreeProduct(){return null!=this.amount&&""!==this.amount&&!["financial_support","donating"].includes(this.productType)&&0===Number(this.amount)}buyNowButton(){return e("div",{class:"s-add-product-button-mini-checkout s-mini-checkout hide-scroll s-add-product-button-buy-now"},e("button",{type:"button",class:"s-fast-checkout-button outline "+("ar"==salla.lang.locale?"rtl":"ltr"),disabled:this.buyNowLoading,onClick:()=>this.buyNowRedirect()},e("div",{class:"s-add-product-button-mini-checkout-content"},e("span",{innerHTML:_}),this.buyNowText,this.buyNowLoading?e("span",{class:"s-button-loader"}):"")))}async buyNowRedirect(){const t=Date.now();if(this.buyNowBusy||t-this.buyNowLastClick<500)return;this.buyNowLastClick=t;const i=++this.buyNowToken,o=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);if(o?.validateAndScroll&&!await o.validateAndScroll())return;if(await salla.cart.event.beforeStartFastCheckout(),i!==this.buyNowToken||this.buyNowBusy)return;this.buyNowBusy=!0;let e=!1;try{this.buyNowLoading=!0;const t=document.querySelector("form.product-form"),i=t?new FormData(t):new FormData;if(i.set("id",String(this.productId)),i.set("source","buy_now"),!await this.collectOrderOptions(i))return;const o=await salla.api.request("checkout/mini",i,"post");o.data?.url?e=this.openCheckout(o.data.url):"login"===o.data?.to&&salla.event.dispatch("login::open")}catch(t){this.failed.emit(t)}finally{e||(this.buyNowBusy=!1,this.buyNowLoading=!1)}}async collectOrderOptions(t){let i;try{i=await salla.api.withoutNotifier((()=>salla.product.api.getOrderOptions([{id:this.productId,quantity:Number(t.get("quantity"))||1}])))}catch(t){return salla?.logger?.warn?.("order-options: fetch failed",t),!0}const o=i?.data?.order_options||[],e=(Array.isArray(i?.data?.advance_free_product)?i.data.advance_free_product:[]).filter((t=>Array.isArray(t?.options)&&t.options.length));if(!o.length&&!e.length)return!0;try{const a=await c().open({orderOptions:o,freeProducts:e,basePrice:this.buyNowLivePrice||Number(i?.data?.products?.[0]?.price?.amount)||0});return p(t,a?.orderOptions||[]),z(t,a?.freeProducts||[]),!0}catch{return!1}}openCheckout(t){return salla.mobile?.isSpaWebview?.()&&salla.mobile.openCheckout?(salla.mobile.openCheckout(t),!1):(window.location.href=t,!0)}miniCheckoutWidget(){let t=salla.config.get("store.id");if(t)return e("salla-mini-checkout-widget",{language:salla.lang.locale,"store-id":t,config:{user:salla.config.get("user"),failure_url:window.location.href},products:[this.productId],api:salla.config.get("store.api"),outline:!0,"form-selector":"form.product-form",class:"s-add-product-button-mini-checkout"},e("div",{slot:"widget-label",class:"s-add-product-button-mini-checkout-content"},e("span",{innerHTML:_}),this.buyNowText))}componentWillLoad(){return salla.onReady().then((async()=>{if(document.documentElement.classList.add("hydrated"),this.showQuickBuy=this.quickBuy&&salla.config.get("store.settings.buy_now")&&"sale"==this.productStatus&&"booking"!==this.productType,this.isApplePayActive=salla.config.get("store.settings.payments")?.includes("apple_pay")&&salla.config.get("store.settings.is_salla_gateway",!1)&&!I()&&!this.isFreeProduct()&&await N(),this.passedLabel=this.host.innerHTML.replace("\x3c!----\x3e","").trim(),this.passedLabel&&this.isDesktopViewport)return this.btn?.setText(this.passedLabel);"submit"===this.host.getAttribute("type")&&this.supportStickyBar&&(this.viewportMediaQuery=window.matchMedia("(min-width: 768px)"),this.viewportMediaQuery.addEventListener("change",this.onViewportChange))}))}render(){return this.host.closest(".swiper-slide")?.classList.contains("swiper-slide-duplicate")?"":this.hasSubscribedOptions?e(a,null,e("salla-product-availability",{...this.getBtnAttributes(),"is-subscribed":!0},e("span",{class:"s-hidden"},e("slot",null)))):"out-and-notify"===this.productStatus&&this.notifyChannels||this.hasOutOfStockOption?e(a,null,e("salla-product-availability",{...this.getBtnAttributes()},e("span",{class:"s-hidden"},e("slot",null)))):e(a,{class:{"s-add-product-button-with-quick-buy":this.showQuickBuy,"s-add-product-button-with-sticky-bar":this.supportStickyBar,"s-add-product-button-with-apple-pay":this.showQuickBuy&&this.isApplePayActive}},e("div",{class:{"s-add-product-button-main":this.showQuickBuy,"w-full":!document.getElementById("fast-checkout-js")||["financial_support","donating"].includes(this.productType)}},e("salla-button",{color:"sale"===this.productStatus?"primary":"light",type:"button",fill:"sale"===this.productStatus?"solid":"outline",ref:t=>this.btn=t,onClick:t=>this.addProductToCart(t),disabled:"sale"!==this.productStatus,"aria-label":this.isIconOnlyLabel?this.addToCartLabel:void 0,...this.getBtnAttributes(),"loader-position":"center"},e("slot",null)),this.showQuickBuy&&document.getElementById("fast-checkout-js")&&!["financial_support","donating"].includes(this.productType)?this.redirectsToCheckout?this.buyNowButton():this.miniCheckoutWidget():""),this.showQuickBuy&&this.isApplePayActive?e("salla-quick-buy",{...this.getQuickBuyBtnAttributes()}):"")}async componentDidLoad(){await Salla.hooks.registerComponent("salla-add-product-button",this),this.hasLoaded=!0,this.bindListeners()}bindListeners(){this.isAttached&&(this.showsBuyNowButton&&salla.product?.event?.onPriceUpdated?.(this.onBuyNowPriceUpdated),this.notifyOptionsAvailability&&salla.event.on("product-options::change",this.productOptionsChangeListener))}componentDidRender(){!this.orderOptionsGateAttached&&this.productId&&L.attach(this.host,this.productId)&&(this.orderOptionsGateAttached=!0),!this.fastCheckoutGateAttached&&M.attach(this.host)&&(this.fastCheckoutGateAttached=!0),!this.passedLabel||this.supportStickyBar&&!this.isDesktopViewport?(this.btn?.setText(this.getLabel()),salla.lang.onLoaded((()=>this.btn?.setText(this.getLabel())))):this.btn?.setText(this.passedLabel)}disconnectedCallback(){this.isAttached=!1,this.langUnsubscribe?.(),this.viewportMediaQuery?.removeEventListener("change",this.onViewportChange),salla.product?.event?.offPriceUpdated?.(this.onBuyNowPriceUpdated),salla.event.off("product-options::change",this.productOptionsChangeListener)}get host(){return s(this)}};j.style="/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.s-add-product-button-buy-now{display:block;font-family:'PingARLT';font-weight:normal}.s-add-product-button-buy-now .s-fast-checkout-button{display:flex;align-items:center;justify-content:center;height:var(--salla-fast-checkout-button-height, 2.5rem);width:var(--salla-fast-checkout-button-width, 100%);border-radius:var(--salla-fast-checkout-button-border-radius, 0.375rem);font-size:0.875rem;font-weight:bold;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease-in-out;border:none;font-family:'PingARLT';gap:5px;direction:ltr;border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse);padding:1px 6px;line-height:normal;letter-spacing:normal;outline:none}.s-add-product-button-buy-now .s-fast-checkout-button:focus-visible{outline:auto}.s-add-product-button-buy-now .s-fast-checkout-button:hover{background-color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.rtl{flex-direction:row-reverse}.s-add-product-button-buy-now .s-fast-checkout-button:disabled{opacity:0.7}.s-add-product-button-buy-now .s-button-loader{display:inline-flex;vertical-align:middle;margin:0 0.5rem;align-items:center;justify-content:center}.s-add-product-button-buy-now .s-button-loader::before{content:'';display:inline-block;width:1rem;height:1rem;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246);border-right-color:rgb(243 244 246);animation:s-add-product-button-buy-now-spin 1s linear infinite}@keyframes s-add-product-button-buy-now-spin{to{transform:rotate(360deg)}}.sticky{position:sticky}.hidden{display:none}.w-full{width:100%}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-button-loader{margin-left:0.5rem;margin-right:0.5rem;display:flex;align-items:center;justify-content:center;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-button-loader::before{display:inline-block;height:1rem;content:var(--tw-content);width:1rem}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-button-loader::before{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-button-loader-center .s-button-loader{position:absolute;top:50%;left:50%;margin:0px !important;--tw-translate-y:-50%;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}";const T=class{constructor(i){t(this,i),this.limit=3,this.recommendations=[],this.selectedIds=new Set,this.isLoading=!0,this.canRender=!0,this.isAdding=!1,this.title=salla.lang.get("pages.products.bought_together_title"),this.subtitle=salla.lang.get("pages.products.bought_together_subtitle"),this.buyTogetherFor=salla.lang.get("pages.products.buy_together_for"),this.resolvedProductId=0,this.listViewTracked=!1,this.requestId=null,salla.lang.onLoaded((()=>{this.title=salla.lang.get("pages.products.bought_together_title"),this.subtitle=salla.lang.get("pages.products.bought_together_subtitle"),this.buyTogetherFor=salla.lang.get("pages.products.buy_together_for")}))}componentWillLoad(){salla.onReady().then((()=>{if(!salla.config.get("store.settings.product.bought_together"))return void(this.canRender=!1);const t=salla.config.get("page.id");if(t)return this.resolvedProductId=t,h(String(t));this.canRender=!1})).then((t=>{if(!t?.length)return void(this.canRender=!1);this.requestId=t._requestId||null;const i=[String(this.resolvedProductId),...t.slice(0,this.limit)];return salla.product.fetch({source:"selected",source_value:i})})).then((t=>{if(!t)return;const i=t?.data??[];if(!i.length)return void(this.canRender=!1);const o=i.find((t=>String(t.id)===String(this.resolvedProductId))),e=i.filter((t=>String(t.id)!==String(this.resolvedProductId)));e.length?(this.recommendations=o?[o,...e]:e,this.selectedIds=new Set(this.recommendations.map((t=>t.id)))):this.canRender=!1})).catch((()=>{this.canRender=!1})).finally((()=>{this.isLoading=!1}))}componentDidRender(){!this.recommendations.length||this.listViewTracked||this.intersectionObserver||(this.intersectionObserver=new IntersectionObserver((t=>{t.some((t=>t.isIntersecting))&&(this.listViewTracked=!0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.emitListViewed())}),{threshold:.1}),this.intersectionObserver.observe(this.el))}disconnectedCallback(){this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0}emitListViewed(){const t=this.recommendations.filter((t=>!this.isMainProduct(t.id)));salla.event.emit("salla-bought-together::list.viewed",{products:t,source:"pdp_fbt",request_id:this.requestId})}isMainProduct(t){return String(t)===String(this.resolvedProductId)}recommendedPosition(t){const i=this.recommendations.filter((t=>!this.isMainProduct(t.id))).findIndex((i=>String(i.id)===String(t)));return-1===i?-1:i+1}emitProductClicked(t,i){salla.event.emit("salla-bought-together::product.clicked",[{product:t,position:i,source:"pdp_fbt",request_id:this.requestId}])}toggleProduct(t){const i=new Set(this.selectedIds);i.has(t)?i.delete(t):i.add(t),this.selectedIds=i}get totalPrice(){const t=this.recommendations.filter((t=>this.selectedIds.has(t.id))).reduce(((t,i)=>t+(i.price??0)),0),i=salla.config.get("store.currency.decimals")??2,o=Math.pow(10,i);return salla.money(Math.round(t*o)/o)}async addSelectedToCart(){if(this.isAdding||!this.selectedIds.size)return;this.isAdding=!0;let t=!1;try{for(const i of Array.from(this.selectedIds))try{salla.cart?.api&&(salla.cart.api.addToCartSource="pdp_fbt");const t=await salla.cart.addItem({id:i,endpoint:"quickAdd",source:"pdp_fbt"}),o=this.recommendations.find((t=>t.id===i));if(o){const e=this.isMainProduct(i)?0:this.recommendedPosition(i),a=t?.data?.items?.find((t=>String(t.product_id)===String(o.id)))??t?.data?.items?.slice(-1)[0];salla.event.emit("salla-bought-together::product.added",[{product:o,position:e,cartItem:a,cartId:t?.data?.id,request_id:this.requestId}])}}catch(i){salla.log(i),t=!0}t&&salla.error(salla.lang.get("common.messages.error"))}finally{this.isAdding=!1}}getSkeletonView(){return e(a,{class:"s-bought-together-entry"},e("div",{class:"s-bought-together-skeleton"},e("div",{class:"s-bought-together-skeleton-header"},e("salla-skeleton",{height:"16px",width:"35%"}),e("salla-skeleton",{height:"10px",width:"60%"})),Array(4).fill(null).map(((t,i)=>e("div",{key:i,class:"s-bought-together-skeleton-item"},e("salla-skeleton",{height:"22px",width:"22px"}),e("salla-skeleton",{height:"48px",width:"48px"}),e("div",{class:"s-bought-together-skeleton-info"},e("salla-skeleton",{height:"12px",width:"55%",style:{marginBottom:"3px"}}),e("salla-skeleton",{height:"10px",width:"25%"}))))),e("salla-skeleton",{height:"44px",width:"100%"})))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.recommendations.length?e(a,{class:"s-bought-together-entry"},e("div",{class:"s-bought-together-header"},e("h3",{class:"s-bought-together-title"},this.title),e("p",{class:"s-bought-together-subtitle"},this.subtitle)),e("div",{class:"s-bought-together-list"},this.recommendations.map((t=>e("div",{key:t.id,class:"s-bought-together-item"+(this.selectedIds.has(t.id)?"":" s-bought-together-item--unchecked")},e("label",{class:"s-bought-together-checkbox-label"},e("input",{type:"checkbox",class:"s-bought-together-checkbox",checked:this.selectedIds.has(t.id),onChange:()=>this.toggleProduct(t.id)}),e("span",{class:"s-bought-together-checkmark"})),e("a",{class:"s-bought-together-item-link",href:t.url,onClick:()=>!this.isMainProduct(t.id)&&this.emitProductClicked(t,this.recommendedPosition(t.id))},e("img",{class:"s-bought-together-item-img",src:t.image?.url||salla.url.cdn("images/s-empty.png"),alt:t.image?.alt||t.name,loading:"lazy",decoding:"async",onError:t=>{t.currentTarget.onerror=null,t.currentTarget.src=salla.url.cdn("images/s-empty.png")}}),e("span",{class:"s-bought-together-item-name"},t.name)),e("span",{class:"s-bought-together-item-price",innerHTML:null!=t.price?salla.money(t.price):""}))))),e("salla-button",{class:"s-bought-together-btn",disabled:!this.selectedIds.size||this.isAdding,loading:this.isAdding,onClick:()=>this.addSelectedToCart()},e("span",{innerHTML:`${this.buyTogetherFor} ${this.totalPrice}`}))):null:null}get el(){return s(this)}};T.style='/*!twlt*/:host{display:block}.s-bought-together-checkbox:checked~.s-bought-together-checkmark{background-color:var(--color-primary, #2ECC71);border-color:var(--color-primary, #2ECC71)}.s-bought-together-checkbox:checked~.s-bought-together-checkmark::after{content:"";display:block;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-bought-together-entry{margin-top:1.25rem;margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-bought-together-header{margin-bottom:1rem}.s-bought-together-title{margin-bottom:0.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bought-together-subtitle{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bought-together-list{margin-bottom:1rem;display:flex;flex-direction:column}.s-bought-together-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.s-bought-together-item{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-bought-together-item--unchecked{opacity:0.4}.s-bought-together-checkbox-label{position:relative;display:flex;flex-shrink:0;cursor:pointer;align-items:center}.s-bought-together-checkbox{position:absolute;height:0px;width:0px;opacity:0}.s-bought-together-checkmark{display:flex;height:22px;width:22px;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bought-together-item-link{display:contents;color:inherit;text-decoration-line:none}.s-bought-together-item-img{height:3rem;width:3rem;flex-shrink:0;border-radius:0.375rem;object-fit:cover}.s-bought-together-item-name{flex:1 1 0%;font-size:0.875rem;line-height:1.25rem;line-height:1.375}.s-bought-together-item-price{flex-shrink:0;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600}.s-bought-together-btn{width:100%}.s-bought-together-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-bought-together-skeleton-header{margin-bottom:0.5rem;display:flex;flex-direction:column;gap:0.5rem}.s-bought-together-skeleton-item{display:flex;align-items:center;gap:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem}.s-bought-together-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.25rem}';const E=class{constructor(i){t(this,i),this.isUser=salla.config.isUser(),this.translationLoaded=!1,this.notifyOptionsAvailability=!1,this.isSubscribed=!1,this.handleSubmitOptions=async()=>{let t={id:this.productId};if(!this.notifyOptionsAvailability)return t;let i=document.querySelector(`salla-product-options[product-id="${this.productId}"]`),o=Object.values(await(i?.getSelectedOptionsData())||{});if(o.length&&!await(i?.reportValidity())){let t=salla.lang.get("common.messages.required_fields");throw salla.error(t),t}return t.options=[],o.forEach((i=>{i&&!isNaN(i)&&t.options.push(Number(i))})),t},this.typing=t=>{const i=t.target.nextElementSibling;t.target.classList.remove("s-has-error"),i?.classList.contains("s-product-availability-error-msg")&&(i.innerText=""),13===t.keyCode&&this.submit()},this.hostTitle=this.host.title,this.productId||(this.productId=salla.config.get("page.id")),this.isUser||(this.channelsWatcher(this.channels),this.title_=this.host.title||salla.lang.get("pages.products.notify_availability_title"),this.host.removeAttribute("title"))}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>{this.translationLoaded=!0,this.title_=this.hostTitle||salla.lang.get("pages.products.notify_availability_title"),this.modal?.setTitle(this.title_),o(this)}))}disconnectedCallback(){this.langUnsubscribe?.()}channelsWatcher(t){let i=t||salla.api.product.getAvailabilityChannels?.()||l.availabilityChannels();this.channels_=i?i.split(","):[]}get isSubscribedToProduct(){return this.isSubscribed||!this.notifyOptionsAvailability&&(!!salla.api.product.isSubscribedToAvailability?.(this.productId)||!!salla.storage.get(`product-${this.productId}-subscribed`))}openModel(){this.handleSubmitOptions().then((t=>t?this.modal.open():null))}async submit(){let t=await this.handleSubmitOptions();if(this.isUser)return salla.api.product.availabilitySubscribe(t).then((()=>this.isSubscribed=!0));if(this.channels_.includes("sms")||this.channels_.includes("whatsapp")){let{phone:i,countryCode:o}=await this.mobileInput.getValues();t.country_code=o,t.phone=i}return this.channels_.includes("email")&&""!==this.email.value&&(t.email=this.email.value),await this.validateform(),this.btn.load().then((()=>this.btn.disable())).then((()=>salla.api.product.availabilitySubscribe(t))).then((()=>{if(this.notifyOptionsAvailability){if(t.options.length){let i=salla.storage.get(`product-${this.productId}-subscribed-options`)||[],o=t.options.join(",");i.includes(o)?salla.log("already subscribed to this options"):(i.push(o),salla.storage.set(`product-${this.productId}-subscribed-options`,i),this.isSubscribed=!0)}}else this.isSubscribed=!0})).then((()=>this.btn.stop())).then((()=>this.modal.close())).catch((()=>this.btn.stop()&&this.btn.enable()))}async validateform(){try{if(this.channels_.includes("email")){const t=l.isValidEmail(this.email.value);if(t)return;!t&&this.validateField(this.email,salla.lang.get("common.elements.email_is_valid"))}if((this.channels_.includes("sms")||this.channels_.includes("whatsapp"))&&await this.mobileInput.isValid())return}catch(t){throw"Please insert required fields"}}validateField(t,i){t.classList.add("s-has-error"),t.nextElementSibling.innerText="* "+i}render(){return e(a,{key:"8d535fe3ebb0446c6a40d6ec1edececb5b783434",class:"s-product-availability-wrap"},this.isSubscribedToProduct?e("div",{class:"s-product-availability-subscribed"},e("span",{innerHTML:m,class:"s-product-availability-subs-icon"}),salla.lang.get("pages.products.notify_availability_success")):e("salla-button",{width:"wide",onClick:()=>this.isUser?this.submit():this.openModel()},salla.lang.get("pages.products.notify_availability")),this.isUser||this.isSubscribedToProduct?"":this.renderModal())}renderModal(){return e("salla-modal",{ref:t=>this.modal=t,"modal-title":this.title_,subTitle:salla.lang.get("pages.products.notify_availability_subtitle"),width:"sm"},e("span",{slot:"icon",class:"s-product-availability-header-icon",innerHTML:m}),e("div",{class:"s-product-availability-body"},this.channels_.includes("email")?[e("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.email")),e("input",{class:"s-product-availability-input",onKeyDown:t=>this.typing(t),placeholder:salla.lang.get("common.elements.email_placeholder")||"your@email.com",ref:t=>this.email=t,type:"email"}),e("span",{class:"s-product-availability-error-msg"})]:"",this.channels_.includes("sms")||this.channels_.includes("whatsapp")?[e("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.mobile")),e("salla-tel-input",{ref:t=>this.mobileInput=t,onKeyDown:t=>this.typing(t)})]:""),e("div",{slot:"footer",class:"s-product-availability-footer"},e("salla-button",{class:"modal-cancel-btn",width:"wide",color:"light",fill:"outline",onClick:()=>this.modal.close()},salla.lang.get("common.elements.cancel")),e("salla-button",{class:"submit-btn","loader-position":"center",width:"wide",ref:t=>this.btn=t,onClick:()=>this.submit()},salla.lang.get("common.elements.submit"))))}get host(){return s(this)}static get watchers(){return{channels:["channelsWatcher"]}}};var F,R,D;E.style='/*!twlt*/.outline{outline-style:solid}.s-has-error{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-has-error:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-has-error{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}.s-product-availability-wrap{width:100%}.s-product-availability-subscribed{display:flex;width:100%;align-items:center;justify-content:center;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem;padding-top:0.75rem;padding-bottom:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.s-product-availability-subs-icon svg{margin-left:0.5rem;margin-right:0.5rem;width:1.25rem;fill:#22c55e}.s-product-availability-body{position:relative;z-index:50}.s-product-availability-header-icon{display:inline-flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}@media (min-width: 640px){.s-product-availability-header-icon{margin-left:auto;margin-right:auto;margin-bottom:1rem;height:5rem;width:5rem}}.s-product-availability-header-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}@media (min-width: 640px){.s-product-availability-header-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0px}}.s-product-availability-header-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}@media (min-width: 640px){.s-product-availability-header-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0px}}.s-product-availability-header-icon svg{height:1.25rem;width:1.25rem;flex-shrink:0;fill:#9ca3af}.s-product-availability-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-product-availability-label:where([dir="ltr"],[dir="ltr"] *){text-align:left}.s-product-availability-label:where([dir="rtl"],[dir="rtl"] *){text-align:right}.s-product-availability-input{height:2.5rem;width:100%;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-product-availability-input:focus{border-color:var(--color-primary)}.s-product-availability-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.s-product-availability-footer{margin-top:1rem;display:flex;justify-content:space-between}.s-product-availability-footer>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.s-product-availability-footer:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-product-availability-footer-btn{width:100%}.s-product-availability-error-msg{display:block;height:1.75rem;padding-top:0.25rem;font-size:0.75rem;line-height:1rem;--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-product-availability-error-msg:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.s-product-availability-error-msg{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}',function(t){t[t.INIT=1]="INIT",t[t.IDLE=2]="IDLE",t[t.PROCESSING_QUEUED=9]="PROCESSING_QUEUED",t[t.PROCESSING=3]="PROCESSING",t[t.PROCESSING_COMPLETE=5]="PROCESSING_COMPLETE",t[t.PROCESSING_ERROR=6]="PROCESSING_ERROR",t[t.PROCESSING_REVERT_ERROR=10]="PROCESSING_REVERT_ERROR",t[t.LOADING=7]="LOADING",t[t.LOAD_ERROR=8]="LOAD_ERROR"}(F||(F={})),function(t){t[t.EMPTY=0]="EMPTY",t[t.IDLE=1]="IDLE",t[t.ERROR=2]="ERROR",t[t.BUSY=3]="BUSY",t[t.READY=4]="READY"}(R||(R={})),function(t){t[t.INPUT=1]="INPUT",t[t.LIMBO=2]="LIMBO",t[t.LOCAL=3]="LOCAL"}(D||(D={}));const B=class{constructor(o){if(t(this,o),this.changed=i(this,"changed"),this.fileTypes={pdf:"application/pdf",png:"image/png",jpg:"image/jpeg",word:"application/doc,application/ms-doc,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",exl:"application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",txt:"text/plain"},this.outOfStockText="",this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع"),this.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ"),this.isCustomDonation=!1,this.selectedOptions=[],this.canDisabled=!1,this.disableCardValue=!0,this.availableDigitalCardValues=[],this.userInitiatedValidation=!1,this.isCartMode=!1,this.availabilityMap={},this.productAvailable=!1,this.outSkus=[],this.ignoreDefaultCardValue=!1,this.productId=salla.config.get("page.id"),this.noPadding=!1,this.handleDonationOptions=(t,i,o)=>{if("custom"===i&&"input"===o){const i=t.target;return salla.helpers.inputDigitsOnly(i),salla.event.emit("product-options::donation-changed",{id:this.productId,price:i.value}),void i.dispatchEvent(new window.Event("change",{bubbles:!0}))}const e="option"===o?String(t.target?.value??""):"";if("option"===o&&"custom"===i&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),this.isCustomDonation="custom"===e,this.donationInput){if("custom"===e?(this.donationInput.value="",this.donationInput.focus()):this.donationInput.value=e,"custom"===i)return;salla.event.emit("product-options::donation-changed",{id:this.productId,price:e})}},this.hideLabel=t=>!(t.type!==g.DONATION||!t.donation||t.donation.can_donate),this.getExpireDonationMessage=t=>{if(!t.donation)return;const i=t.donation.target_amount<=t.donation.collected_amount;return e("div",{class:{"s-product-options-donation-message":!0,"s-product-options-donation-completed":i,"s-product-options-donation-expired":!i}},e("p",null,t.donation.target_message),e("span",{innerHTML:i?salla.money(t.donation.target_amount):""}))},this.getConditionalParentValue=t=>{const i=this.host.querySelectorAll("input[name], textarea[name]");let o=null;const e=String(t);for(let t=0;t<i.length;t++){const a=i[t];if(b(a.getAttribute("name"))===e){o=a;break}}return!o||o.disabled?null:o.value??""},this.options)try{return void this.setOptionsData(Array.isArray(this.options)?this.options:JSON.parse(this.options))}catch(t){salla.log("Bad json passed via options prop")}Array.isArray(this.optionsData)||(salla.log("Options is not an array[] ---\x3e ",this.optionsData),this.setOptionsData([])),this.productId&&!salla.url.is_page("cart")&&salla.api.product.getDetails(this.productId,["options"]).then((t=>{this.productAvailable=!t.data.is_out_of_stock,this.setOptionsData(t.data.options)}))}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>{this.outOfStockText=salla.lang.get("pages.products.out_of_stock"),this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع"),this.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ")}))}async setOptionsData(t){this.optionsData=t,this.outSkus=[],this.optionsData[0]?.details?.forEach((t=>{Object.entries(t.skus_availability||{}).filter((([,t])=>!t)).forEach((([t])=>this.outSkus.push(Number(t))))})),this.fillSelectedOptions(),this.computeAvailability()}async getOptionsData(){return this.optionsData}async getSelectedOptionsData(){const t={},i=this.host.getElementSallaData(),o=y(this.optionsData,this.selectedOptions,this.getConditionalParentValue);if(!i)return t;const e=w(i,o),a=void 0!==this.bundleContext?this.bundleContext:null,s=(i,o)=>{const e=b(o);e&&(a?o.startsWith("bundle[")&&o.includes("[options][")&&(t[e]=i):o.startsWith("options[")&&(t[e]=i))};return"function"==typeof e.forEach?e.forEach(s):e&&"object"==typeof e&&Object.entries(e).forEach((([t,i])=>s(i,t))),t}async reportValidity(){const t=this.host.querySelectorAll("[required]");let i=!0;for(let o=0;o<t.length;o++){const e=t[o];if(e.disabled||e.closest(".hidden"))continue;const a=e.closest("salla-map");a&&"function"==typeof a.reportValidity?await a.reportValidity()||(i=!1):"reportValidity"in e&&!e.reportValidity()&&(i=!1)}return i}async hasOutOfStockOption(){return this.selectedOptions.some((t=>t.is_out))||this.selectedSkus?.length&&this.selectedSkus?.every((t=>this.outSkus.includes(t)))}async getSelectedOptions(){return this.selectedOptions}async getOption(t){return this.optionsData.find((i=>i.id===t))}invalidHandler(t,i){const o=t.target.closest(".s-product-options-option");o.classList.contains("s-product-options-option-error")||o.classList.add("s-product-options-option-error"),!this.userInitiatedValidation&&!salla.helpers.isIOSDevice()||salla.url.is_page("cart")||this.host.querySelector(".s-product-options-option-error")===o&&this.scrollToElement(o)}scrollToElement(t){t&&t.scrollIntoView({behavior:"smooth",block:"center"})}changedHandler(t,i,o=!0){const e={event:t,option:i,detail:null,productId:this.productId};if(i.details){const o=i.details.find((i=>Number(i.id)===Number(t.target.value)));e.detail=o}"country"===i.type&&this.handleCountryOptionChange(t,e.detail);const a=t.target.closest(".s-product-options-option");(t.target.value||(i.type===g.FILE||i.type===g.IMAGE)&&"added"===t.type||i.type===g.MAP&&"selected"===t.type&&Number.isFinite(Number(t.target.lat))&&Number.isFinite(Number(t.target.lng)))&&setTimeout((()=>{a.classList.remove("s-product-options-option-error")}),200),i.type===g.DONATION&&salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.target.value}),this.setSelectedSkus(),this.handleRequiredMultipleOptions(i);const s=this.selectedOptions.findIndex((t=>t.option_id===e.option.id));if(e.option.type===g.MULTIPLE_OPTIONS){const t=this.selectedOptions.findIndex((t=>t.option_id===e.option.id&&t?.id===e.detail?.id));t>-1?this.selectedOptions.splice(t,1):this.selectedOptions.push({...e.detail,option_id:e.option.id})}else e.detail&&0!==Object.keys(e.detail).length?s>-1?this.selectedOptions[s]={...e.detail,option_id:e.option.id}:this.selectedOptions.push({...e.detail,option_id:e.option.id}):s>-1&&this.selectedOptions.splice(s,1);this.optionsData=this.optionsData.map((t=>t.id===e.option.id&&t.type!==g.DONATION?{...t,details:(t.details??[]).map((t=>({...t,is_selected:e.option.type===g.MULTIPLE_OPTIONS?this.selectedOptions.some((i=>i.id===t.id)):Number(t.id)===Number(e.detail?.id),value:e.detail?.value})))}:t)),this.pruneInvisibleConditionalSelections(),this.syncHiddenConditionalDom(),this.setSelectedSkus(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===g.MULTIPLE_OPTIONS&&t.required)).forEach((t=>this.handleRequiredMultipleOptions(t)))})),o&&(this.changed.emit(e),salla.event.emit("product-options::change",e))}setSelectedSkus(){this.selectedSkus=this.selectedOptions.map((t=>Object.keys(t.skus_availability||{}))).reduce(((t,i)=>t.filter((t=>i.includes(t)))),[]).map((t=>Number(t))),this.computeAvailability()}handleRequiredMultipleOptions(t){if(t.type!==g.MULTIPLE_OPTIONS||!t.required)return;const i=this.host.querySelector(`[data-option-id="${t.id}"]`);if(!i)return;const o=i.querySelectorAll("input:checked").length;i.querySelectorAll("input").forEach((t=>t.toggleAttribute("required",!o)))}pruneInvisibleConditionalSelections(){y(this.optionsData,this.selectedOptions,this.getConditionalParentValue).forEach((t=>this.clearStaleOption(t)))}syncHiddenConditionalDom(){y(this.optionsData,this.selectedOptions,this.getConditionalParentValue).forEach((t=>{const i=this.host.querySelector(`[data-option-id="${t}"]`);i&&(i.classList.add("hidden"),this.clearNamedFields(i))}))}clearNamedFields(t){t.querySelectorAll("[name]").forEach((t=>{const i=t;i.setAttribute("disabled",""),"disabled"in i&&(i.disabled=!0),i.removeAttribute("required");const o=i.tagName;if("SELECT"!==o&&"TEXTAREA"!==o){if("INPUT"===o){const t=(i.type||"text").toLowerCase();if("checkbox"===t||"radio"===t)return void(i.checked=!1);i.value=""}}else i.value=""}))}clearStaleOption(t){const i=this.optionsData.find((i=>i.id===t));if(!i)return!1;const o=this.selectedOptions.length;this.selectedOptions=this.selectedOptions.filter((i=>i.option_id!==t));const e=this.selectedOptions.length!==o,a=null!=i.value&&String(i.value).length>0,s=i.details?.some((t=>t.is_selected))??!1;return!!(e||a||s)&&(this.optionsData=this.optionsData.map((i=>i.id!==t?i:{...i,value:void 0,details:i.details?.map((t=>({...t,is_selected:!1})))??i.details})),!0)}getLatLng(t,i){if("string"!=typeof t||!t.trim())return;const o=t.split(",")["lat"===i?0:1];if(null==o)return;const e=o.trim();if(""===e)return;const a=Number(e);return Number.isFinite(a)?a:void 0}getDisplayForType(t){return this[`${t.type}Option`]?this[`${t.type}Option`](t):t.type===g.COLOR_PICKER?this.colorPickerOption(t):t.type===g.MULTIPLE_OPTIONS?this.multipleOptions(t):t.type===g.SINGLE_OPTION?this.singleOption(t):t.type===g.RADIO?this.radioOption(t):t.type===g.DIGITAL_CARD_VALUE?this.digitalCardValuesOption(t):t.type===g.COUNTRY?this.countryOption(t):t.type===g.BOOKING&&salla.url.is_page("cart")?e("salla-booking-field",{onInvalidInput:i=>this.invalidHandler(i,t),option:t,productId:t.value}):(salla.log(`Couldn't find options type(${t.type})😢`),"")}getOptionShownWhen(t){return t.visibility_condition?{"data-show-when":`options[${t.visibility_condition.option}] ${t.visibility_condition.operator} ${t.visibility_condition.value}`}:{}}getAvailableDigitalCardSKUs(t){const i=this.optionsData.find((({type:t})=>"digital-code-value"===t));if(!i)throw new Error("product-options:: No digital card options found");const o=Object.keys(t.skus_availability).filter((i=>!1===t.skus_availability[i]));this.availableDigitalCardValues=i.details.filter((t=>!Object.keys(t.skus_availability).filter((t=>o.includes(t))).length))}handleCountryOptionChange(t,i){t.stopImmediatePropagation(),this.ignoreDefaultCardValue=!0;const o=this.host.querySelector("input[data-code-value]:checked");if(o&&(o.checked=!1),!this.optionsData.find((({type:t})=>"digital-code-value"===t)))throw new Error("product-options:: No digital card options found");this.getAvailableDigitalCardSKUs(i)}getSelectedDigitalCardOptions(t){const i=t.details.find((t=>t.is_selected)),o=t.details.find((t=>!!t.is_default))||t.details[0];if(["digital-code-value","country"].includes(t.type))return i||o}async componentWillLoad(){if(salla.url.is_page("cart")&&(this.disableCardValue=!1,this.fillSelectedOptions()),this.config)try{this.optionConfig="string"==typeof this.config?JSON.parse(this.config):this.config}catch(t){console.error("Failed to parse JSON in config prop:",t)}if(this.optionsData.filter((({type:t})=>["country","digital-card-value"].includes(t))).length>0&&salla.url.is_page("cart")){const t=this.optionsData.find((t=>"country"===t.type)),i=t&&this.getSelectedDigitalCardOptions(t);i&&this.getAvailableDigitalCardSKUs(i)}return this.outOfStockText=salla.lang.get("pages.products.out_of_stock"),this.computeAvailability(),await salla.onReady(),this.canDisabled=!salla.config.get("store.settings.product.notify_options_availability")||salla.url.is_page("cart"),this.pasteHandler=this.handlePaste.bind(this),document.addEventListener("paste",this.pasteHandler),!salla.storage.get("cart.id")&&this.optionsData.some((t=>["file","image"].includes(t.type)))?salla.api.cart.getCurrentCartId(!1,"salla-product-options"):null}disconnectedCallback(){this.langUnsubscribe?.(),this.pasteHandler&&document.removeEventListener("paste",this.pasteHandler)}handlePaste(t){const i=t.target;if(!(Salla.helpers.isAppleDevice()&&(i instanceof HTMLInputElement||i instanceof HTMLTextAreaElement)&&i.classList.contains("s-form-control")&&this.host.contains(i)))return;t.preventDefault();const o=t.clipboardData?.getData("text")||"",e=i.selectionStart,a=i.selectionEnd,s=i.value.slice(0,e)+o+i.value.slice(a);i.value=s,i.setSelectionRange(e+o.length,e+o.length);try{i.dispatchEvent(new window.Event("change",{bubbles:!0}))}catch(t){Salla.log("Error on change")}}hideDigitalCardsOptions(t){return this.disableCardValue&&t.type===g.DIGITAL_CARD_VALUE&&!salla.url.is_page("cart")}render(){if(0!==this.optionsData?.length)return e(a,{class:{"s-product-options-wrapper":!0,"s-product-options-no-padding":this.noPadding}},e("salla-conditional-fields",null,this.optionsData.map((t=>e("div",{key:t.id,class:"s-product-options-option-container"+(t.visibility_condition||this.hideDigitalCardsOptions(t)?" hidden":""),"data-option-id":t.id,...this.getOptionShownWhen(t)},"splitter"===t.name?this.splitterOption():e("div",{class:{"s-product-options-option":!0,"s-product-options-option-booking":t.type===g.BOOKING&&salla.url.is_page("cart")},"data-option-type":t.type,"data-option-required":`${t.required}`},e("label",{htmlFor:this.generateInputId(t.id),class:"s-product-options-option-label "+(this.hideLabel(t)?"s-product-options-option-label-hidden":"")},e("b",null,t.name,t.required&&e("span",null," * ")," "),e("small",null,t.placeholder)),e("div",{class:{"s-product-options-option-content":!0,"s-product-options-option-content-full-width":this.hideLabel(t)||t.type===g.BOOKING&&salla.url.is_page("cart"),"s-product-options-option-content-color":t.type===g.COLOR_PICKER}},this.getDisplayForType(t))))))))}generateUniqueKey(t){const i=this.bundleContext;let o=this.uniqueKey?`${t}-${this.uniqueKey}`:t;if(i)try{const t="string"==typeof i?JSON.parse(i):i,{sectionId:e,productId:a}=t;o=`${o}-bundle-${e}-${a}`}catch(t){}return o}generateInputId(t){return this.generateUniqueKey(`option-${t}`)}generateInputName(t){const i=this.bundleContext,o=t.toString();if(i)try{const t="string"==typeof i?JSON.parse(i):i,{sectionId:e,productId:a}=t;return`bundle[${e}][${a}][options][${o}]`}catch(t){return`options[${o}]`}return`options[${o}]`}fillSelectedOptions(){this.selectedOptions=this.optionsData.reduce(((t,i)=>{const o=(i.details??[]).filter((t=>t.is_selected)).map((t=>({...t,option_id:i.id})));return t.concat(o)}),[])}async seedSelectedOptions(){this.fillSelectedOptions(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===g.MULTIPLE_OPTIONS&&t.required)).forEach((t=>this.handleRequiredMultipleOptions(t)))}))}async componentDidLoad(){if(!this.optionsData?.length)return;await Salla.hooks.registerComponent("salla-product-options",this);const t=this.optionsData.find((t=>t.type===g.DONATION))?.details?.find((t=>t.is_selected));if(t&&setTimeout((()=>{salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.additional_price})}),1e3),!salla.url.is_page("cart")&&!this.isCartMode){const t=[g.SINGLE_OPTION,g.MULTIPLE_OPTIONS,g.COLOR,g.THUMBNAIL,g.DONATION,g.DIGITAL_CARD_VALUE,g.COUNTRY];this.optionsData.some((i=>t.includes(i.type)&&i.details?.some((t=>t.is_selected))))&&requestAnimationFrame((()=>{try{const t=this.host.closest("form");if(!t)return;const i=new FormData(t),o=i.get("id")||i.get("product_id");if(o&&String(o)!==String(this.productId))return;salla.product.getPrice(i)}catch(t){salla.log("Error updating price for pre-selected options:",t)}}))}}async enterCartMode(){this.isCartMode=!0,this.disableCardValue=!1,this.canDisabled=!0,this.fillSelectedOptions(),this.computeAvailability()}async enableUserInitiatedValidation(){this.userInitiatedValidation=!0}async validateAndScroll(){return await this.enableUserInitiatedValidation(),this.reportValidity()}donationOption(t,i){return e("div",{class:"s-product-options-donation-wrapper"},t.donation?.can_donate?[t.donation?e("div",{key:t.id,class:"s-product-options-donation-progress"},e("salla-progress-bar",{donation:t.donation})):"",t.details.length?[e("h4",{key:t.id},this.selectAmount),e("div",{key:t.id,class:"s-product-options-donation-options"},t.details.map(((i,o)=>e("div",{key:t.id,class:"s-product-options-donation-options-item"},e("input",{id:this.generateUniqueKey(`donation-option-${o}`),type:"radio",name:"donating_option",checked:i.is_selected,value:i.additional_price,onChange:o=>this.handleDonationOptions(o,i,"option",t)}),e("label",{htmlFor:this.generateUniqueKey(`donation-option-${o}`)},e("span",{innerHTML:salla.money(i.name)}))))),t.donation?.custom_amount_enabled?e("div",{class:"s-product-options-donation-options-item"},e("input",{id:this.generateUniqueKey("donation-option-custom"),type:"radio",name:"donating_option",value:"custom",onChange:i=>this.handleDonationOptions(i,"custom","option",t)}),e("label",{htmlFor:this.generateUniqueKey("donation-option-custom")},e("span",null," ",this.selectDonationAmount," "))):"")]:"",e("div",{key:t.id,class:{"s-product-options-donation-input-group":!0,shown:!t.details.length||t.details.length&&this.isCustomDonation}},e("input",{type:"text",id:"donating-amount",name:"donation_amount",class:"s-form-control",ref:t=>{this.donationInput=t},value:t.details.length&&t.details.some((t=>t.is_selected))?t.details.find((t=>t.is_selected)).additional_price:t.value,placeholder:t.placeholder,onInput:i=>this.handleDonationOptions(i,"custom","input",t),onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t)}),e("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol))]:this.getExpireDonationMessage(t))}fileUploader(t,i=null){return e("salla-file-upload",{...i||{},"payload-name":"file",value:t.value,"instant-upload":!0,name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,height:"120px",onAdded:i=>{this.changedHandler(i,t,!(i.detail?.file?.origin===D.LOCAL))},url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:i=>this.invalidHandler(i,t),class:{"s-product-options-image-input":!0,required:t.required}},e("div",{class:"s-product-options-filepond-placeholder"},e("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:i.accept?.split(",").every((t=>t.includes("image")))?v:'\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>file-upload</title>\n<path d="M21.333 24c0.341 0 0.683-0.131 0.943-0.391 0.521-0.521 0.521-1.364 0-1.885l-5.333-5.333c-0.123-0.123-0.271-0.22-0.433-0.288-0.327-0.135-0.693-0.135-1.019 0-0.163 0.068-0.311 0.165-0.433 0.288l-5.333 5.333c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l3.057-3.057v10.115c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-10.115l3.057 3.057c0.26 0.26 0.601 0.391 0.943 0.391zM28.943 9.724l-9.333-9.333c-0.249-0.251-0.589-0.391-0.943-0.391h-12c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h4c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-4c-0.735 0-1.333-0.599-1.333-1.333v-24c0-0.735 0.599-1.333 1.333-1.333h11.448l8.552 8.552v16.781c0 0.735-0.599 1.333-1.333 1.333h-4c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h4c2.205 0 4-1.795 4-4v-17.333c0-0.353-0.14-0.693-0.391-0.943z"></path>\n</svg>\n'}),e("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),e("span",{class:"filepond--label-action"},salla.lang.get("common.uploader.browse"))))}imageOption(t){return this.fileUploader(t,{accept:"image/png,image/jpeg,image/jpg,image/gif"})}fileOption(t){const i=t.details.map((t=>this.fileTypes[t.name])).filter(Boolean);return i?.length?this.fileUploader(t,{accept:i.join(",")}):"File types not selected."}numberOption(t){return e("input",{type:"text",value:t.value,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t),onInput:t=>salla.helpers.inputDigitsOnly(t.target)})}splitterOption(){return e("div",{class:"s-product-options-splitter"})}textOption(t){return e("div",{class:"s-product-options-text"},e("input",{type:"text",value:t.value,maxLength:t?.length,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}))}textareaOption(t){return e("div",{class:"s-product-options-textarea"},e("div",{class:"mt-1"},e("textarea",{rows:4,value:t.value,maxLength:t?.length,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)})))}mapOption(t){return e("salla-map",{zoom:15,lat:this.getLatLng(t.value,"lat"),lng:this.getLatLng(t.value,"lng"),name:this.generateInputName(t.id),searchable:!0,required:!t.visibility_condition&&t.required,onInvalidInput:i=>this.invalidHandler(i,t),onSelected:i=>this.changedHandler(i,t)})}colorPickerOption(t){return e("salla-color-picker",{onSubmitted:i=>this.changedHandler(i,t),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,onInvalidInput:i=>this.invalidHandler(i,t),color:t.value})}timeOption(t){return e("salla-datetime-picker",{noCalendar:!0,enableTime:!0,dateFormat:"h:i K",value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,name:this.generateInputName(t.id),class:"s-product-options-time-element",onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)})}dateOption(t){return e("div",{class:"s-product-options-date-element"},e("salla-datetime-picker",{value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,minDate:new Date,name:this.generateInputName(t.id),onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}datetimeOption(t){return e("div",{class:"s-product-options-datetime-element"},e("salla-datetime-picker",{enableTime:!0,value:t.value,dateFormat:"Y-m-d G:i:K",placeholder:t.name,required:!t.visibility_condition&&t.required,name:this.generateInputName(t.id),maxDate:t.to_date_time,minDate:t.from_date_time,onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}getOptionDetailName(t,i=!0,o,e){let a;if(o&&o===g.COLOR&&(a=t.name+(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?` <br/> <p> ${this.outOfStockText} </p>`:"")+(t.additional_price?` <p> (${salla.money(t.additional_price,!1)}) </p>`:"")),!a){const o=(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?` - ${this.outOfStockText}`:"")+(t.additional_price?` (${salla.money(t.additional_price,!1)})`:"");if("price"===e){const i=t.name.replace(/<[^>]*>/g,""),e=salla.helpers.digitsOnly(i),a=Number(e);return e&&Number.isFinite(a)?salla.money(a,!0)+o:o}a=t.name+o}return a.replace("<i class=sicon-sar></i>",salla.config.currency()?.symbol||"ر.س")}computeAvailability(){this.availabilityMap=function(t,i,o=!0){const e={};if(!t?.length)return e;const a=t.filter((t=>t.details?.some((t=>t.skus_availability&&Object.keys(t.skus_availability).length>0)))),s=a.length<=1,r=new Set(t.filter((t=>!1===t.is_advance)).map((t=>t.id)));if(0===a.length){for(const i of t)for(const t of i.details)e[t.id]=t.is_out?"out_of_stock":"available";return e}const n=a.some((t=>t.details?.some((t=>t.skus_availability&&Object.values(t.skus_availability).some(Boolean))))),l=o&&!n;for(const t of a){const o=i.filter((i=>i.option_id!==t.id));for(const i of t.details){const t=i.skus_availability;if(!t||!Object.keys(t).length){e[i.id]=i.is_out?"out_of_stock":"available";continue}const a=Object.keys(t).map(Number),n=a.some((i=>t[i]));if(s||0===o.length){e[i.id]=!n&&l||n?"available":"out_of_stock";continue}let c=a;for(const t of o){if(r.has(t.option_id))continue;const i=new Set(Object.keys(t.skus_availability||{}).map(Number));c=c.filter((t=>i.has(t)))}if(!c.length){e[i.id]=l?"available":"impossible";continue}const p=c.some((i=>t[i]));e[i.id]=!p&&l||p?"available":"out_of_stock"}}return e}(this.optionsData||[],this.selectedOptions||[],this.productAvailable)}isOptionDetailOut(t){const i=this.availabilityMap[t.id];return void 0!==i?"available"!==i:!!t.is_out}renderInput(t,i,o,a,s,r){const n=this.generateUniqueKey(`${t}-${o.id}-${i.id}`),l=this.isOptionDetailOut(i),c=this.getOptionDetailName(i,!0,o.type,o.format),p={"s-product-options-grid-mode-span":r,"s-product-options-disabled":this.canDisabled&&l};return e("label",{class:{"s-product-options-disabled":this.canDisabled&&l,"s-product-options-option-stock-out":l}},e("input",{id:n,type:t,name:s,value:i.id,disabled:this.canDisabled&&l,required:a,checked:i.is_selected,onInvalid:t=>this.invalidHandler(t,o),onChange:t=>this.changedHandler(t,o)}),"price"===o.format?e("div",{class:p,innerHTML:c}):e("div",{class:p},c))}renderOptionDetails(t,i,o,e=!1){const a=this.generateInputName(i.id),s="radio"===t?a:`${a}[]`;return i?.details.map((a=>this.renderInput(t,a,i,o,s,e)))}renderSelect(t){return e("div",null,e("select",{id:this.generateInputId(t.id),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,class:"s-form-control",onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)},e("option",{value:""},t.placeholder),t?.details.map((t=>e("option",{key:t.id,value:t.id,disabled:this.canDisabled&&this.isOptionDetailOut(t),selected:t.is_selected},this.getOptionDetailName(t))))))}renderButtonStyle(t,i,o){return e("div",{class:"s-product-options-grid-mode"},this.renderOptionDetails(t,i,o,!0))}singleOption(t){return"button"===this.optionConfig?.["single-option"]?.type||t.type===g.SINGLE_OPTION&&"price"===t.format?this.renderButtonStyle("radio",t,!t.visibility_condition&&t.required):this.renderSelect(t)}multipleOptions(t){const i="button"===this.optionConfig?.["multiple-option"]?.type,o=t.required&&!t.details.some((t=>t.is_selected))&&!t.visibility_condition;return i?this.renderButtonStyle("checkbox",t,o):e("div",{class:{"s-product-options-multiple-options-wrapper":!0,required:t.required}},this.renderOptionDetails("checkbox",t,o))}radioOption(t){return this.singleOption(t)}colorOption(t){return e("fieldset",{class:"s-product-options-colors-wrapper"},t?.details.map((i=>{const o=this.isOptionDetailOut(i);return e("div",{class:{"s-product-options-colors-item":!0,"s-product-options-option-stock-out":o},key:i.id},e("input",{type:"radio",value:i.id,required:!t.visibility_condition&&t.required,checked:i.is_selected,name:this.generateInputName(t.id),disabled:this.canDisabled&&o,id:this.generateUniqueKey(`color-${this.productId}-${t.id}-${i.id}`),onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t),"data-img-id":i.option_value}),e("label",{htmlFor:this.generateUniqueKey(`color-${this.productId}-${t.id}-${i.id}`),"data-img-id":i.option_value},e("span",{style:{backgroundColor:i.color}}),e("div",{innerHTML:this.getOptionDetailName(i,!0,t.type)})))})))}thumbnailOption(t){return e("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((i=>{const o=this.isOptionDetailOut(i);return e("div",{key:i.id,class:{"s-product-options-option-stock-out":o}},e("input",{type:"radio",value:i.id,"data-itemid":i.id,required:!t.visibility_condition&&t.required,checked:i.is_selected,name:this.generateInputName(t.id),"data-img-id":i.option_value,disabled:this.canDisabled&&o,id:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}),e("label",{htmlFor:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),"data-img-id":i.option_value,class:"go-to-slide"},e("img",{"data-src":i.image,src:i.image,title:i.name,alt:i.name}),e("span",{innerHTML:f,class:"s-product-options-thumbnails-icon"}),o?[e("small",{key:`badge-${i.id}`,class:"s-product-options-thumbnails-stock-badge"},this.outOfStockText),this.canDisabled?e("div",{key:`overlay-${i.id}`,class:"s-product-options-thumbnails-badge-overlay"}):""]:""),e("p",null,this.getOptionDetailName(i,!1)," "))})))}digitalCardValuesOption(t){return e("div",{class:"s-product-options-digital-card-wrapper"},this.availableDigitalCardValues.length>0?this.availableDigitalCardValues.map((i=>{const o=String(i.id);return e("label",{htmlFor:this.generateUniqueKey(o.toString()),key:o,class:"s-product-options-digital-card-option"},e("input",{type:"radio","data-code-value":!0,class:"s-form-control s-product-options-digital-card-input",value:i.id,name:this.generateInputName(t.id),id:this.generateUniqueKey(o.toString()),required:!t.visibility_condition&&t.required,onInvalid:i=>this.invalidHandler(i,t),...this.ignoreDefaultCardValue?{}:{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===i.id}}),e("span",null,i.name," ",salla.config?.currency()?.symbol))})):e("div",{class:"s-product-options-digital-card-out-of-stock"}))}countryOption(t){return e("div",{class:"s-product-options-digital-card-wrapper"},t.details.map((i=>{const o=this.isOptionDetailOut(i);return e("label",{htmlFor:this.generateUniqueKey(i.id.toString()),key:i.id,class:{"s-product-options-digital-card-option":!0,"s-product-options-digital-card-option-stock-out":o,"s-product-options-option-stock-out":o}},e("input",{id:this.generateUniqueKey(i.id.toString()),type:"radio",class:"s-form-control s-product-options-digital-card-input",value:i.id,name:this.generateInputName(t.id),disabled:this.canDisabled&&o,required:!t.visibility_condition&&t.required,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t),onClick:()=>{this.disableCardValue=!1},...salla.url.is_page("cart")?{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===i.id}:{}}),e("img",{loading:"lazy",alt:i.code,height:24,width:24,class:"s-product-options-country-flag",src:`https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(i.code).toLocaleLowerCase()}.svg`,onError:t=>{t.currentTarget.onerror=null,t.currentTarget.src=salla.url.cdn("images/globe.svg")}}),e("span",null,i.name))})))}get host(){return s(this)}};function Y(){r.defaults.headers.common.currency=salla?.config?.get?.("user.currency_code")}B.style='/*!twlt*/.visible{visibility:visible}.invisible{visibility:hidden}.mt-1{margin-top:0.25rem}.block{display:block}.inline{display:inline}.grid{display:grid}.\\!hidden{display:none !important}.hidden{display:none}.rounded{border-radius:var(--s-radius, 0.25rem)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-form-control{display:block;width:100%;border-radius:var(--s-radius, 0.25rem);border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-form-control:focus{border-color:var(--color-primary);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.s-product-options-wrapper{margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-product-options-no-padding{padding:0px !important}.s-product-options-option-container{margin-bottom:1.25rem}.s-product-options-option-container:last-child{margin-bottom:0px}.s-product-options-option{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}@media (min-width: 640px){.s-product-options-option{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));align-items:flex-start;gap:1rem}}.s-product-options-option-error .s-product-options-option-label{--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-option-content{margin-top:0.25rem;min-width:0px;overflow:auto;overflow-wrap:break-word}@media (min-width: 640px){.s-product-options-option-content{grid-column:span 2 / span 2;margin-top:0px}}.s-product-options-option-content-color{overflow:visible !important}@media (min-width: 640px){.s-product-options-option-content-full-width{grid-column:span 3 / span 3}}.s-product-options-option-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.s-product-options-option-label{margin-top:1px}}@media (min-width: 768px){.s-product-options-option-label{margin-bottom:0px}}.s-product-options-option-label-hidden{display:none !important}.s-product-options-donation-message{display:flex;align-items:center;justify-content:space-between}.s-product-options-donation-message p{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-donation-message span{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-product-options-option-label b{display:block}.s-product-options-option-label b span{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-product-options-option-label small{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper .s-product-options-colors-item{margin-right:2rem;margin-bottom:1.25rem;display:inline-block;width:2.5rem;white-space:nowrap;text-align:center}.s-product-options-colors-wrapper .s-product-options-colors-item:where([dir="rtl"],[dir="rtl"] *){margin-right:0px;margin-left:2rem}.s-product-options-colors-wrapper input[type=radio]{pointer-events:none;position:absolute;opacity:0}.s-product-options-colors-wrapper input[type=radio]+label{display:flex;cursor:pointer;flex-direction:column;align-items:center}.s-product-options-colors-wrapper input[type=radio]+label div{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper input[type=radio]+label div p{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper input[type=radio]+label span{margin-bottom:0.5rem;display:inline-flex;height:30px;width:30px;cursor:pointer;align-items:center;justify-content:center;border-radius:0.375rem;border-radius:9999px;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1));background-position:center;background-repeat:no-repeat;text-align:center;line-height:2.5rem;--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-product-options-colors-wrapper input[type=radio]+label span:after{height:14px;width:14px;--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));opacity:0;transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);--tw-content:\'\';content:var(--tw-content)}.s-product-options-colors-wrapper input[type=radio]:checked+label span:after{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.s-product-options-colors-wrapper input[type=radio]:disabled+label{opacity:0.4}.s-product-options-field-required{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress{margin-bottom:0.625rem;width:100%}.s-product-options-donation-progress-target-text{margin-bottom:0.375rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress-amount{margin-bottom:0.625rem;display:flex;justify-content:space-between;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-progress-wrapper{height:1rem;width:100%;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-product-options-donation-progress-wrapper:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.s-product-options-donation-progress-bar{position:relative;display:flex;height:1rem;justify-content:flex-end;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-progress-target-data{margin-top:0.625rem;margin-bottom:0.625rem;display:block;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress-target-message{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-donation-wrapper{position:relative;margin-top:1.25rem;margin-bottom:0.625rem;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding-top:1.25rem}.s-product-options-donation-wrapper:only-child{margin-top:0px;border-style:none;padding-top:0px}@media (min-width: 640px){.s-product-options-donation-wrapper{margin-bottom:0px}}.s-product-options-donation-wrapper h4{margin-top:1.25rem;margin-bottom:0.75rem;font-weight:700}.s-product-options-donation-amount-label{margin-bottom:0.625rem;display:block;flex:1 1 0%;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-amount-input-container{position:relative;flex:1 1 0%}.s-product-options-donation-amount-input{margin-bottom:0.625rem;display:block;height:3rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-product-options-donation-amount-input:focus{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241 / var(--tw-ring-opacity, 1))}@media (min-width: 640px){.s-product-options-donation-amount-input{font-size:0.875rem;line-height:1.25rem}}.s-product-options-donation-amount-curruncy{position:absolute;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-multiple-options-wrapper{flex-wrap:wrap;align-items:center}@media (min-width: 768px){.s-product-options-multiple-options-wrapper{display:flex}}.s-product-options-multiple-options-wrapper label{position:relative;margin-bottom:1rem;display:flex;align-items:center;gap:0.75rem}@media (min-width: 768px){.s-product-options-multiple-options-wrapper label{width:50%}}.s-product-options-multiple-options-wrapper input{height:1.5rem;width:1.5rem;cursor:pointer;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));color:var(--color-primary)}.s-product-options-multiple-options-wrapper input:focus{--tw-ring-color:transparent}.s-product-options-multiple-options-wrapper span{margin-left:0.5rem;cursor:pointer;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-product-options-multiple-options-wrapper span:where([dir="rtl"],[dir="rtl"] *){margin-left:0px;margin-right:0.5rem;padding-right:0px;padding-left:0.75rem}.s-product-options-splitter{border-width:2px;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-product-options-thumbnails-wrapper{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:0.75rem}.s-product-options-thumbnails-wrapper label{margin-bottom:0.125rem;display:inline-block;height:6rem;width:100%;cursor:pointer;overflow:hidden;border-radius:0.375rem}@media (min-width: 768px){.s-product-options-thumbnails-wrapper label{height:5rem}}.s-product-options-thumbnails-wrapper>div{position:relative;display:inline-block;width:100%;text-align:center}.s-product-options-thumbnails-stock-badge{position:absolute;bottom:10px;left:50%;z-index:0;display:block;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));white-space:nowrap;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.375rem;padding-right:0.375rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-product-options-thumbnails-badge-overlay{position:absolute;top:0px;height:100%;width:100%;cursor:not-allowed;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));opacity:0.5}.s-product-options-thumbnails-icon{position:absolute;left:35%;top:35%;z-index:10;--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:2px;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-product-options-thumbnails-icon svg{height:1rem;width:1rem}.s-product-options-thumbnails-wrapper div input[type=radio]:checked+label span{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.s-product-options-thumbnails-wrapper div input[type=radio]{pointer-events:none;position:absolute;display:block;opacity:0}.s-product-options-thumbnails-wrapper div input[type=radio]+label{position:relative}.s-product-options-thumbnails-wrapper div input[type=radio]+label img{height:100%;width:100%;object-fit:cover}.s-product-options-thumbnails-wrapper div label::before{position:absolute;inset:0px;--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);content:var(--tw-content);transition-duration:300ms}.s-product-options-thumbnails-wrapper div input[type=radio]:checked+label::before{content:var(--tw-content);opacity:0.3}.s-product-options-thumbnails-wrapper div input[type=radio]:disabled+label{opacity:0.4}.s-product-options-thumbnails-wrapper div p{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-image-input .s-file-upload-wrapper{min-height:120px}.s-product-options-image-input .filepond--list-scroller{overflow-y:inherit !important}.s-product-options-image-input .filepond--drop-label{min-height:120px !important;cursor:pointer;border-radius:0.375rem;border-width:1px;border-style:dashed;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-product-options-filepond-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center}.s-product-options-filepond-placeholder-icon{margin-bottom:0.25rem}.s-product-options-filepond-placeholder-icon svg{height:1.5rem;width:1.5rem;fill:#7c8082}.s-product-options-donation-amount-currency{position:absolute;top:0.25rem;right:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-donation-amount-currency:where([dir="rtl"],[dir="rtl"] *){right:unset;left:1rem}.s-product-options-donation-input-group{position:relative;height:0px;overflow:hidden;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-input-group.shown{height:auto;opacity:1;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-options{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;gap:0.75rem}.s-product-options-donation-options-item{min-width:20%;flex-grow:1}.s-product-options-donation-options-item:last-child{min-width:25%}.s-product-options-donation-options-item label{display:flex;cursor:pointer;flex-direction:column;align-items:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.625rem;padding-bottom:0.625rem;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-options-item input{display:none}.s-product-options-donation-options-item input:checked+label{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-product-options-textarea textarea{resize:none}.s-product-options-digital-card-wrapper{display:flex;flex-wrap:wrap;gap:1rem}.s-product-options-digital-card-option{display:flex;height:fit-content;min-height:40px;min-width:100px;max-width:calc((100% - 1rem) / 3);cursor:pointer;user-select:none;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.375rem;padding:0.5rem;font-size:0.75rem;line-height:1rem;outline-style:solid;outline-width:1px;outline-color:#e5e7eb}.s-product-options-digital-card-option:has(input:checked){color:var(--color-primary-dark);outline-style:solid;outline-width:1px;outline-color:var(--color-primary)}.s-product-options-country-flag{height:24px;width:24px;border-radius:9999px}.s-product-options-digital-card-out-of-stock{height:2.5rem}.s-product-options-digital-card-option input{all:unset}.s-product-options-digital-card-option input:checked{all:unset}.s-product-options-digital-card-option input:invalid{all:unset}@media (min-width: 640px){.s-product-options-option-booking .s-product-options-option-content{margin-top:-2.5rem}}.s-product-options-digital-card-option-stock-out{opacity:0.4}.s-product-options-grid-mode{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;justify-items:center;gap:0.5rem}.s-product-options-grid-mode-span{position:relative;display:flex;min-height:36px;min-width:45px;cursor:pointer;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem;text-align:center;font-size:0.75rem;line-height:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-product-options-grid-mode-span:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-product-options-grid-mode-span-checkbox{position:relative;display:flex;align-items:center;justify-content:center;padding:0.5rem;text-align:center;font-size:0.875rem;font-weight:700;line-height:1.25rem}.s-product-options-grid-mode input:checked+div{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb),0.1);color:var(--color-primary)}.s-product-options-grid-mode input[type=checkbox]{pointer-events:none;position:absolute;opacity:0}.s-product-options-grid-mode input[type=radio]{pointer-events:none;position:absolute;opacity:0}.s-product-options-disabled{cursor:not-allowed;opacity:0.5}.s-product-options-option-stock-out{opacity:0.5}';var H={request:(t,i,o,e=null,a=null)=>(Y(),r.request({url:i,data:o,method:t.toLowerCase(),responseType:"json"}).then(e).catch(a)),get:(t,i=null,o=null,e)=>(Y(),r.get(t,{params:e}).then(i).catch(o)),post(t,i,o=null,e=null){return this.request("post",t,i,o,e)},put(t,i,o=null,e=null){return this.request("put",t,i,o,e)},delete(t,i,o=null,e=null){return this.request("delete",t,i,o,e)},requestWithSupportAjax(t,i,o="post"){return new Promise(((e,a)=>{if(!window?.isLegacyTheme)return this.request(o,t,i,(({data:t})=>e(t)),(({response:t})=>a(t)));Y(),$.ajax({url:t,method:o.toUpperCase(),data:i,headers:{currency:r.defaults.headers.common.currency},async:!1,success:function({data:t}){return e(t)},error:function({response:t}){return a(t)}})}))}},U={options:[],header:"undefined"!=typeof navigator&&"undefined"!=typeof window?[navigator.platform,navigator.userAgent,navigator.appVersion,navigator.vendor,window.opera]:[],dataos:[{name:"Windows Phone",value:"Windows Phone",version:"OS"},{name:"Windows",value:"Win",version:"NT"},{name:"iPhone",value:"iPhone",version:"OS"},{name:"iPad",value:"iPad",version:"OS"},{name:"Kindle",value:"Silk",version:"Silk"},{name:"Android",value:"Android",version:"Android"},{name:"PlayBook",value:"PlayBook",version:"OS"},{name:"BlackBerry",value:"BlackBerry",version:"/"},{name:"Macintosh",value:"Mac",version:"OS X"},{name:"Linux",value:"Linux",version:"rv"},{name:"Palm",value:"Palm",version:"PalmOS"}],databrowser:[{name:"Chrome",value:"Chrome",version:"Chrome"},{name:"Firefox",value:"Firefox",version:"Firefox"},{name:"Safari",value:"Safari",version:"Version"},{name:"Internet Explorer",value:"MSIE",version:"MSIE"},{name:"Opera",value:"Opera",version:"Opera"},{name:"BlackBerry",value:"CLDC",version:"CLDC"},{name:"Mozilla",value:"Mozilla",version:"Mozilla"}],init:function(){var t=this.header.join(" ");return{os:this.matchItem(t,this.dataos),browser:this.matchItem(t,this.databrowser)}},matchItem:function(t,i){var o,e,a,s=0,r=0;for(s=0;s<i.length;s+=1)if(new RegExp(i[s].value,"i").test(t)){if(o=new RegExp(i[s].version+"[- /:;]([\\d._]+)","i"),a="",(e=t.match(o))&&e[1]&&(e=e[1]),e)for(e=e.split(/[._]+/),r=0;r<e.length;r+=1)a+=0===r?e[r]+".":e[r];else a="0";return{name:i[s].name,version:parseFloat(a)}}return{name:"unknown",version:0}}};async function W(t,i,o=!1){if(salla.logger.log("🍏 Pay: mutateShippingContact called",i,o),t.detail.requiredShippingContactFields&&0!=t.detail.requiredShippingContactFields.length)if(o){if(function(t){return salla.config.isGuest()&&!!t.detail?.guestContactSelected}(t)){if(!(i.emailAddress&&i.givenName&&i.familyName&&i.phoneNumber)){salla.logger.warn("🍏 Pay: Guest contact fields are required",i);const o=[];return i.emailAddress||o.push(new window.ApplePayError("shippingContactInvalid","emailAddress","Email address is required")),i.phoneNumber||o.push(new window.ApplePayError("shippingContactInvalid","phoneNumber","Phone number is required")),i.givenName&&i.familyName||o.push(new window.ApplePayError("shippingContactInvalid","name","Name is required")),void t.session.completePayment({status:t.session.STATUS_INVALID_SHIPPING_CONTACT,errors:o})}await async function(t,i){return salla.logger.log("🍏 Pay: Updating guest contact",i),new Promise(((o,e)=>{H.post(t.detail.guestContactSelected.url.replace("{id}",t.id),{email:i.emailAddress||null,first_name:i.givenName||null,last_name:i.familyName||null,phone_number:i.phoneNumber||null,country_code:i.countryCode||null},(async({data:i})=>{"function"==typeof t.detail.guestContactSelected?.onSuccess&&t.detail.guestContactSelected.onSuccess(i),o(i)}),(({response:i})=>{salla.logger.warn("🍏 Pay: Failed to update guest contact via api",i),"function"==typeof t.detail.guestContactSelected?.onFailed&&t.detail.guestContactSelected.onFailed(i),e({response:i})}))}))}(t,i)}}else if(t.detail.requiredShippingContactFields.includes("postalAddress"))return H.post(t.detail.shippingContactSelected.url.replace("{id}",t.id),{country:i.country,city:i.locality,local:i.subLocality||i.administrativeArea||i.locality,description:i.subAdministrativeArea,street:i.addressLines?.join(", ")||i.administrativeArea,country_code:i.countryCode,postal_code:i.postalCode},(async({data:i})=>{if("function"==typeof t.detail.shippingContactSelected.onSuccess&&t.detail.shippingContactSelected.onSuccess(i),t.address_id=i.data.address_id,t.shipping_methods=i.data.shipping_methods,!t.shipping_methods||t.shipping_methods&&!t.shipping_methods.length)return salla.logger.warn("🍏 Pay: We dont found any supported methods",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]});try{await t.selectApplePayShippingMethod(t.shipping_methods[0])}catch(i){return salla.logger.warn("Failed set the shipping details to api",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}try{await t.recalculateTotal()}catch(i){return salla.logger.warn("🍏 Pay: Failed recalculate total",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}const o={newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),newShippingMethods:t.mappingShippingMethods(t.shipping_methods)};salla.logger.log("🍏 Pay: completeShippingContactSelection",o),t.session.completeShippingContactSelection(o)}),(({response:i})=>{salla.logger.warn("🍏 Pay: Failed add address via api",i),"function"==typeof t.detail.shippingContactSelected.onFailed&&t.detail.shippingContactSelected.onFailed(i);let o=i?.data?.error?.fields,e=function(t){return Object.entries(t).filter((([t,i])=>i&&i.length>0)).map((([t,i])=>new window.ApplePayError("shippingContactInvalid",t,i[0])))}({countryCode:o?.country_code&&o.country_code.length>0?o.country_code[0]:null,locality:o?.city&&o.city.length>0?o.city[0]:null,country:o?.country&&o.country.length>0?o.country[0]:null});0===e.length&&i?.data?.error?.message&&e.push(new window.ApplePayError("shippingContactInvalid","locality",i?.data?.error?.message)),t.session.completeShippingContactSelection({newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:e})}))}"undefined"!=typeof window&&(window.Salla=window.Salla||{},window.Salla.Payments=window.Salla.Payments||{});const X="undefined"!=typeof window&&!!window.ApplePaySession,G="pages.checkout.apple_pay_no_supported_network",J="undefined"!=typeof window?{session:null,detail:null,address_id:null,shipping_methods:[],total:void 0,request:void 0,id:void 0,countryCode:null,totals:[],shippingCompany:null,canceled:!1,init:function(){document.removeEventListener("payments::apple-pay.start-transaction",J.startSession),Salla.event.addEventListener("payments::apple-pay.start-transaction",J.startSession)},initDefault:function(){J.detail.onError||(J.detail.onError=function(t){salla.notify.error(t)}),J.detail.authorized.onFailed||(J.detail.authorized.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse(t),J.onCancel({},t.data.error.message)}),J.detail.validateMerchant.onFailed||(J.detail.validateMerchant.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse({response:t}),J.onCancel({},function(t){const i=t?.data?.error?.fields;return i&&Object.values(i).flat().find(Boolean)||t?.data?.error?.message}(t))}),J.detail.authorized.onSuccess||(J.detail.authorized.onSuccess=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleAfterResponseActions(t)})},prepareLineItems:function(){return J.detail?.items?.length||(J.detail.items=[{label:salla.lang.get("pages.cart.items_total"),amount:parseFloat(J.detail.amount).toString()}]),J.detail.items},prepareTotal:function(){return{label:window.location.hostname||"Salla",amount:parseFloat(J.detail.amount).toString()}},isPhysical:()=>J.detail?.requiredShippingContactFields?.includes("postalAddress"),canUseNative:function(){if(!X)return!1;try{return ApplePaySession.canMakePayments()}catch(t){return!1}},getMerchantIdentifier:function(){return J.detail&&J.detail.merchantIdentifier||null},startSession:async function(t){return J.detail=t.detail||t,J.canceled=!1,J._submittedTracked=!1,J._failureTracked=!1,J._succeededTracked=!1,J.id=J.detail?.cartId||null,salla.log("🍏 Pay: payments::apple-pay.start-transaction",J.detail),J.initDefault(),J.detail.savedAddress?.address_id&&(J.canUseNative()?J.detail.requiredShippingContactFields=(J.detail.requiredShippingContactFields||[]).filter((t=>"postalAddress"!==t)):J.detail.savedAddress=null),J.canUseNative()?J.startNativeSession(t):J.startPaymentRequestSession(t)},startNativeSession:async function(t){let i,o=J.getApplePaySessionVersion(),e=A(J.detail.supportedNetworks);if(!e.length)return J.abandonNoSupportedNetwork();if(J.request={countryCode:J.detail.countryCode||"SA",supportsCouponCode:!0,couponCode:"",currencyCode:J.detail.currency||"SAR",requiredShippingContactFields:J.detail.requiredShippingContactFields?J.detail.requiredShippingContactFields:[],merchantCapabilities:["supports3DS"],supportedNetworks:e,supportedCountries:J.detail.supportedCountries||["SA"],total:J.prepareTotal(),shippingContact:J.detail.shippingContact?J.detail.shippingContact:{},shippingMethods:J.detail.shippingMethods&&J.detail.shippingMethods.length?J.mappingShippingMethods(t.detail.shippingMethods):[],lineItems:J.prepareLineItems()},salla.log("🍏 Pay: init ",J.request),J.session=new ApplePaySession(o,J.request),J.session.onshippingcontactselected=J.onShippingContactSelected,J.session.onshippingmethodselected=J.onShippingMethodSelected,J.session.onvalidatemerchant=J.onValidateMerchant,J.session.onpaymentauthorized=J.onPaymentAuthorized,J.session.oncancel=J.onCancel,J.session.oncouponcodechanged=J.onCouponCodeChanged,J.session.onpaymentmethodselected=J.onPaymentMethodSelected,"function"==typeof J.detail.onStartedSession&&(i=J.detail.onStartedSession(J.session)),!i)try{J.session.begin()}catch(t){salla.logger.error("🍏 Pay: session.begin() failed",t),J.trackPaymentFailed("client","APPLE_PAY_PRESENTATION_FAILED",t?.message||""),J.detail.onError(salla.lang.get("pages.checkout.payment_failed")),Salla.event.createAndDispatch("payments::apple-pay.canceled",{})}},onPaymentMethodSelected:async t=>{salla.logger.log("🍏 Pay: onPaymentMethodSelected",t);const i=!!J.detail.savedAddress?.address_id;if(J.isPhysical()&&!i)salla.logger.log("🍏 Pay: completePaymentMethodSelection",{newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()}),J.session.completePaymentMethodSelection({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()});else try{await J.recalculateTotal();const t={newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()};i&&J.shipping_methods?.length&&(t.newShippingMethods=J.savedAddressShippingMethods()),salla.logger.log("🍏 Pay: completePaymentMethodSelection",t),J.session.completePaymentMethodSelection(t)}catch(t){salla.logger.warn("🍏 Pay: Failed recalculate total",t),J.session.completePaymentMethodSelection({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems(),status:J.session.STATUS_FAILURE,errors:[new window.ApplePayError("unknown",void 0,t?.response?.data?.error?.message||t?.response?.data?.error?.code||"Failed to recalculate total")]})}},onCouponCodeChanged:t=>(Salla.event.dispatch("payments::apple-pay.coupon.change",t),H.post(J.detail.onCouponCodeChanged.url.replace("{id}",J.id),{coupon:t.couponCode,payment_method:"apple_pay"},(async({data:t})=>{"function"==typeof J.detail.onCouponCodeChanged.onSuccess&&J.detail.onCouponCodeChanged.onSuccess(t),salla.log("🍏 Pay: Coupon applied success"),await J.recalculateTotal(),J.session.completeCouponCodeChange({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()})}),(async t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.coupon.failed",i),"function"==typeof J.detail.onCouponCodeChanged.onFailed&&J.detail.onCouponCodeChanged.onFailed(i),await J.recalculateTotal(),J.session.completeCouponCodeChange({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems(),errors:[new window.ApplePayError("couponCodeInvalid")]})}))),abandonNoSupportedNetwork:()=>{salla.logger.error("🍏 Pay: no supported network for this shopper — Apple Pay not offered");const t=salla?.lang?.get?.(G),i=t&&t!==G?t:salla?.lang?.get?.("pages.checkout.payment_failed");J.onCancel({},i||null)},onCancel:(t={},i=null)=>{J.canceled=!0,J.trackPaymentFailed("client","APPLE_PAY_SESSION_CANCELED",i||""),J.detail.onError(i||salla.lang.get("pages.checkout.payment_failed")),Salla.event.createAndDispatch("payments::apple-pay.canceled",t)},onPaymentAuthorized:async t=>{salla.logger.log("🍏 Pay: onPaymentAuthorized",t.payment);try{await W(J,t.payment.shippingContact,!0)}catch(t){salla.logger.error("🍏 Pay: Failed to update guest contact details",t);const i=t?.response||t,o=i?.data?.error?.fields||{},e=[];return o?.email&&o.email.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","emailAddress",o.email[0])),o?.phone&&o.phone.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","phoneNumber",o.phone[0])),o?.first_name&&o.first_name.length>0?e.push(new window.ApplePayError("shippingContactInvalid","name",o.first_name[0])):o?.last_name&&o.last_name.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","name",o.last_name[0])),0===e.length&&e.push(new window.ApplePayError("shippingContactInvalid","name",i?.data?.error?.message||i?.data?.error?.code||"Invalid shipping contact details")),Salla.event.dispatch("payments::apple-pay.authorized.failed",i),"function"==typeof J.detail.authorized.onFailed&&J.detail.authorized.onFailed(i),void J.session.completePayment({status:ApplePaySession.STATUS_INVALID_SHIPPING_CONTACT,errors:e})}Salla.event.dispatch("payments::apple-pay.authorized.init",t),J.trackPaymentSubmitted(),H.post(J.detail.authorized.url.replace("{id}",J.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.payment)},(({data:t})=>{Salla.event.dispatch("payments::apple-pay.authorized.success",t),J.trackPaymentSucceeded(t),"function"==typeof J.detail.authorized.onSuccess&&J.detail.authorized.onSuccess(t),J.session.completePayment(ApplePaySession.STATUS_SUCCESS)}),(t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.authorized.failed",i),J.trackPaymentFailed("server",i?.data?.error?.code||"APPLE_PAY_FAILED",i?.data?.error?.message||""),"function"==typeof J.detail.authorized.onFailed&&J.detail.authorized.onFailed(i),J.session.completePayment({status:ApplePaySession.STATUS_FAILURE,errors:[new window.ApplePayError("unknown",void 0,i?.data?.error?.message||i?.data?.error?.code||"Failed to parse authorized response")]})}))},onValidateMerchant:async t=>{try{Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);const{data:i}=await H.post(J.detail.validateMerchant.url.replace("{id}",J.id),{validation_url:t.validationURL});Salla.event.dispatch("payments::apple-pay.validate-merchant.success",i);const o=t=>{J.session.completeMerchantValidation(t)};if("function"==typeof J.detail.validateMerchant.onSuccess){const t=await J.detail.validateMerchant.onSuccess(i);if(t?.redirect)return window.location=t.redirect,J.abortValidateMerchant(t)}J.detail.savedAddress?.address_id&&await J.applySavedAddress(),o(i.data)}catch(t){console.error(t),J.abortValidateMerchant(t?.response)}},abortValidateMerchant:(t=null)=>{J.abortSession(),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",t),"function"==typeof J.detail.validateMerchant.onFailed&&J.detail.validateMerchant.onFailed(t)},onShippingContactSelected:async t=>{salla.logger.log("🍏 Pay: onShippingContactSelected",t.shippingContact),await W(J,t.shippingContact)},onShippingMethodSelected:async t=>{let i=t.shippingMethod.identifier.split(","),o={ship_id:i[0],private_ship_id:void 0===i[1]?null:i[1],type:void 0===i[2]?null:i[2],route_id:void 0===i[3]?null:i[3]};if(salla.logger.log("🍏 Pay: onShippingMethodSelected",{event:t,previous:J.shippingCompany,current:o}),J.shouldUpdateShippingCompany(o))try{await J.selectApplePayShippingMethod(o),await J.recalculateTotal()}catch(t){return salla.logger.warn("🍏 Pay: Failed set the shipping details to api",t),void J.session.completeShippingMethodSelection({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems(),status:J.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}salla.logger.log("🍏 Pay: completeShippingMethodSelection",{newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()}),J.session.completeShippingMethodSelection({newTotal:J.prepareTotal(),newLineItems:J.prepareLineItems()})},abortSession:()=>{J.session&&J.session.abort()},paymentRequest:null,paymentResponse:null,getCurrency:()=>J.detail.currency||"SAR",prAmount:t=>({currency:J.getCurrency(),value:String(t)}),prTotal:()=>{const t=J.prepareTotal();return{label:t.label,amount:J.prAmount(t.amount)}},prDisplayItems:()=>J.prepareLineItems().map((t=>({label:t.label,amount:J.prAmount(t.amount)}))),prShippingOptions:(t=null)=>J.mappingShippingMethods(J.shipping_methods||[]).map(((i,o)=>({id:i.identifier,label:i.label,amount:J.prAmount(i.amount),selected:t?i.identifier===t:0===o}))),prContactOptions:()=>{const t=J.detail.requiredShippingContactFields||[];return{requestPayerName:t.includes("name"),requestPayerEmail:t.includes("email"),requestPayerPhone:t.includes("phone"),requestShipping:t.includes("postalAddress"),shippingType:"shipping"}},startPaymentRequestSession:async function(){const t=J.getMerchantIdentifier();if(!t)return void salla.logger.error("🍏 Pay: missing merchant identifier — skipping QR Apple Pay");const i=J.getApplePaySessionVersion(),o=A(J.detail.supportedNetworks);if(!o.length)return J.abandonNoSupportedNetwork();const e=[{supportedMethods:"https://apple.com/apple-pay",data:{version:i,merchantIdentifier:t,merchantCapabilities:["supports3DS"],supportedNetworks:o,countryCode:J.detail.countryCode||"SA"}}],a=J.isPhysical(),s={total:J.prTotal(),displayItems:J.prDisplayItems()};let r;a&&(s.shippingOptions=J.prShippingOptions());try{r=new PaymentRequest(e,s,J.prContactOptions())}catch(t){return salla.logger.error("🍏 Pay: Failed to create PaymentRequest",t),void J.detail.onError(salla.lang.get("pages.checkout.payment_failed"))}J.paymentRequest=r,r.onmerchantvalidation=t=>{t.complete(J.prValidateMerchant(t))},a&&(r.onshippingaddresschange=t=>{t.updateWith(J.prShippingAddressChange(r))},r.onshippingoptionchange=t=>{t.updateWith(J.prShippingOptionChange(r))});const n=async()=>{Salla.event.dispatch("payments::apple-pay.sheet-opened");try{const t=await r.show();J.paymentResponse=t,await J.prPaymentAuthorized(t)}catch(t){salla.logger.log("🍏 Pay: PaymentRequest closed",t),"AbortError"!==t?.name||J.canceled||J.onCancel({})}finally{J.paymentRequest=null,J.paymentResponse=null,Salla.event.dispatch("payments::apple-pay.sheet-closed")}};let l;"function"==typeof J.detail.onStartedSession&&(l=J.detail.onStartedSession({begin:n})),l||await n()},prValidateMerchant:async function(t){Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);try{const{data:i}=await H.post(J.detail.validateMerchant.url.replace("{id}",J.id),{validation_url:t.validationURL});if(!i?.data?.merchantSessionIdentifier){salla.logger.error("🍏 Pay: merchant validation failed",i?.statusMessage||i),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",{data:i}),J.onCancel({}),setTimeout((()=>{try{J.paymentRequest?.abort()}catch(t){}}),0);const t=new Error("Apple Pay merchant validation failed");throw t.handled=!0,t}if(Salla.event.dispatch("payments::apple-pay.validate-merchant.success",i),"function"==typeof J.detail.validateMerchant.onSuccess){const t=await J.detail.validateMerchant.onSuccess(i);t?.redirect&&(window.location=t.redirect)}return i.data}catch(t){if(!t?.handled){const i=t?.response;Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",i),"function"==typeof J.detail.validateMerchant.onFailed&&J.detail.validateMerchant.onFailed(i)}throw t}},prCountryName:t=>{if(!t)return t;try{const i=salla?.config?.get?.("user.language_code")||"en";return new Intl.DisplayNames([i],{type:"region"}).of(t)||t}catch(i){return t}},prShippingAddressChange:async function(t){const i=t.shippingAddress,o={total:J.prTotal(),displayItems:J.prDisplayItems(),shippingOptions:[]};if(!i)return o;try{const{data:t}=await H.post(J.detail.shippingContactSelected.url.replace("{id}",J.id),{country:J.prCountryName(i.country),city:i.city,local:i.dependentLocality||i.region||i.city,description:i.region,street:(i.addressLine||[]).join(", ")||i.region,country_code:i.country,postal_code:i.postalCode});return J.address_id=t.data.address_id,J.shipping_methods=t.data.shipping_methods,J.shipping_methods?.length?(await J.selectApplePayShippingMethod(J.shipping_methods[0]),await J.recalculateTotal(),{total:J.prTotal(),displayItems:J.prDisplayItems(),shippingOptions:J.prShippingOptions()}):{...o,error:salla.lang.get("pages.checkout.payment_failed")}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping address change failed",t),{...o,error:salla.lang.get("pages.checkout.payment_failed")}}},prShippingOptionChange:async function(t){const i=t.shippingOption;if(!i)return{total:J.prTotal(),displayItems:J.prDisplayItems(),shippingOptions:J.prShippingOptions()};const o=i.split(","),e={ship_id:o[0],private_ship_id:void 0===o[1]?null:o[1],type:void 0===o[2]?null:o[2],route_id:void 0===o[3]?null:o[3]};try{return J.shouldUpdateShippingCompany(e)&&(await J.selectApplePayShippingMethod(e),await J.recalculateTotal()),{total:J.prTotal(),displayItems:J.prDisplayItems(),shippingOptions:J.prShippingOptions(i)}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping option change failed",t),{total:J.prTotal(),displayItems:J.prDisplayItems(),shippingOptions:J.prShippingOptions(i),error:salla.lang.get("pages.checkout.payment_failed")}}},prContactFromResponse:t=>{const i=(t.payerName||"").trim(),o=i.indexOf(" ");return{givenName:o>-1?i.slice(0,o):i,familyName:o>-1?i.slice(o+1):"",emailAddress:t.payerEmail||null,phoneNumber:t.payerPhone||null,countryCode:t.shippingAddress?.country||J.detail.countryCode||null}},track:function(t,i={}){const o=J.id?String(J.id):null;try{salla.analytics?.track(t,{payment_method:"apple_pay",gateway:"apple_pay",cart_id:o,checkout_id:o,session_id:salla.config?.get?.("jitsu.session_id")||null,...i,checkout_type:i.checkout_type||J.detail?.checkout_type||"applepay_checkout"})}catch(i){salla.logger.error("🍏 Pay: failed to track "+t,i)}},trackPaymentSubmitted:function(){J._submittedTracked||(J._submittedTracked=!0,J.track("Payment Submitted",{}))},trackPaymentFailed:function(t,i,o=""){J._submittedTracked&&!J._failureTracked&&(J._failureTracked=!0,J.track("Payment Failed",{error_type:t,error_code:i,error_message:o||""}))},trackPaymentSucceeded:function(t){if(J._succeededTracked)return;J._succeededTracked=!0;const i=t?.data||t||{};J.track("Payment Succeeded",{order_id:i.order_id||null,cart_total:i.total||J.detail?.amount||null,response_status:"success",has_redirect:!1,redirect_url:null})},prPaymentAuthorized:async function(t){if(J.detail.guestContactSelected){const i=J.prContactFromResponse(t);if(!(i.emailAddress&&i.givenName&&i.familyName&&i.phoneNumber))return await t.complete("fail"),void J.detail.onError(salla.lang.get("common.messages.required_fields"));try{await H.post(J.detail.guestContactSelected.url.replace("{id}",J.id),{email:i.emailAddress,first_name:i.givenName,last_name:i.familyName,phone_number:i.phoneNumber,country_code:i.countryCode})}catch(i){return await t.complete("fail"),void J.detail.onError(i?.response?.data?.error?.message||salla.lang.get("pages.checkout.payment_failed"))}}let i;Salla.event.dispatch("payments::apple-pay.authorized.init",t),J.trackPaymentSubmitted();try{const{data:o}=await H.post(J.detail.authorized.url.replace("{id}",J.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.details)});i=o,Salla.event.dispatch("payments::apple-pay.authorized.success",o),J.trackPaymentSucceeded(o),await t.complete("success")}catch(i){const o=i?.response;return Salla.event.dispatch("payments::apple-pay.authorized.failed",o),J.trackPaymentFailed("server",o?.data?.error?.code||"APPLE_PAY_FAILED",o?.data?.error?.message||""),await t.complete("fail"),void("function"==typeof J.detail.authorized.onFailed&&J.detail.authorized.onFailed(o))}"function"==typeof J.detail.authorized.onSuccess&&J.detail.authorized.onSuccess(i)},savedAddressShippingMethods(){const t=J.shipping_methods||[],i=J.shippingCompany,o=t.find((t=>t.ship_id==i?.ship_id&&t.private_ship_id==i?.private_ship_id)),e=o?[o,...t.filter((t=>t!==o))]:t;return J.mappingShippingMethods(e)},shouldUpdateShippingCompany:t=>J.shippingCompany?.ship_id!=t?.ship_id||J.shippingCompany?.private_ship_id!=t?.private_ship_id,getApplePaySessionVersion:()=>{if("sallapp"===(navigator.userAgent||navigator.vendor||window.opera))return 5;let t=U.init(),i=parseFloat(t.os.version);if("Macintosh"===t.os.name){if(i<10.142)return 1}else if(i<12.11)return 1;return 5},recalculateTotal:()=>(salla.logger.log("🍏 Pay: recalculate total"),H.get(J.detail.recalculateTotal.url.replace("{id}",J.id),(({data:t})=>{salla.logger.log("🍏 Pay: recalculate total success",t);let i=t.data.initial_data?.cart||t.data.cart,o=t.data.initial_data?.payments||t.data.payments;salla.logger.log("🍏 Pay: recalculate total success",{cart:i,payments:o}),null!=o?.gateways?.applePay?.amount?(J.detail.amount=o.gateways.applePay.amount,J.detail.currency=o.gateways.applePay.currency??J.detail.currency):J.detail.amount=o?.gateways?.applePay?.supportedMultiCurrency?i.total_in_customer_currency:i.total,J.detail.items=(i.totals||i.items).map((t=>({label:t.title,amount:"مجاني"===t.amount||"Free"===t.amount?0:t.amount.toString().replace("+","")}))),J.detail.items.pop(),J.totals=J.detail.items}),(t=>(salla.logger.warn("🍏 Pay: recalculate total failed",t),t?.response?.data?.message)))),selectApplePayShippingMethod:t=>{salla.logger.log("🍏 Pay: select shipping method ",t),J.shippingCompany=t;const i={address_id:J.address_id,company_id:t.ship_id,private_company_id:t.private_ship_id,type:t.type||void 0,route_id:t.route_id||void 0,payment_method:"apple_pay"};return H.post(J.detail.shippingMethodSelected.url.replace("{id}",J.id),i,(({data:t})=>("function"==typeof J.detail.shippingMethodSelected.onSuccess&&J.detail.shippingMethodSelected.onSuccess(t),!0)),(t=>{salla.logger.warn("🍏 Pay: Set shipping method failed",t),"function"==typeof J.detail.shippingMethodSelected.onFailed&&J.detail.shippingMethodSelected.onFailed(t);let i=t?.response?.data?.error;return i?.data?.fields?.address_id?i?.data?.fields?.address_id[0]:i?.data?.message}))},applySavedAddress:async()=>{const{address_id:t,shippingMethods:i}=J.detail.savedAddress,o=t=>Object.assign(new Error(t),{response:{data:{error:{message:t}}}}),e=()=>salla.lang.get("pages.checkout.address_out_of_coverage");let a;try{const{data:o}=await H.get(i.url.replace("{id}",J.id),null,null,{address_id:t});a=o?.data?.companies}catch(t){throw o(t?.response?.data?.error?.message||e())}if(!a?.length)throw o(e());J.address_id=t,J.shipping_methods=a;const s=await J.selectApplePayShippingMethod(a[0]);if(!0!==s)throw o("string"==typeof s&&s||e())},mappingShippingMethods:t=>t.map((t=>({label:t.shipping_title,amount:t.enable_free_shipping?0:t.ship_cost,detail:"",identifier:t.ship_id.toString()+(t.private_ship_id?","+t.private_ship_id.toString():"")+(t.type?","+t.type:"")+(t.route_id?","+t.route_id:"")})))}:{};"undefined"!=typeof window&&(window.SallaApplePay=J),"undefined"!=typeof window&&(J.canUseNative()||window.PaymentRequest)?J.init():"undefined"!=typeof document&&document.querySelectorAll("data-show-if-apple-pay-supported").forEach((t=>t.style.display="none"));const V=class{constructor(o){t(this,o),this.validationFailed=i(this,"validationFailed"),this.requireLogin=i(this,"requireLogin"),this.hasInitialised=!1,this.isAttached=!1,this.donationChangedListener=t=>{String(t.id)===String(this.productId)&&this.applyBaseCurrencyPrice(t)},this.priceUpdatedListener=t=>{this.applyBaseCurrencyPrice(t?.data)},this.type="buy",this.productType="product",this.options={},this.collectedOrderOptions=[],this.collectedFreeProducts=[],this.optionsResolved=!1,this.applePayAmount=0,this.pendingApplePaySession=null,this.quickBuy=salla.lang.get("pages.products.buy_now"),this.choseGuest=!1,this.cancelLoginAsk=null,this.handleApplePaySessionStarted=t=>!this.optionsResolved&&(this.optionsResolved=!0,this.pendingApplePaySession=t,d({productId:this.productId,amount:Number(this.amount),quantity:this.getSelectedQuantity(),beginPendingSession:()=>{try{this.pendingApplePaySession?.begin()}catch(t){salla.logger.error("🍏 Pay: deferred session.begin() failed",t),window.SallaApplePay?.trackPaymentFailed?.("client","APPLE_PAY_PRESENTATION_FAILED",t?.message||""),window.SallaApplePay?.detail?.onError?.(salla.lang.get("pages.checkout.payment_failed")),salla.event.createAndDispatch("payments::apple-pay.canceled",{})}this.pendingApplePaySession=null},discardPendingSession:()=>{this.pendingApplePaySession=null},onSubmit:(t,i,o)=>{this.collectedOrderOptions=t,this.collectedFreeProducts=o||[],this.applePayAmount=i,this.settlePayment()}}),!0)}bindPriceListeners(){this.isAttached&&("donate"===this.type&&salla?.event?.on?salla.event.on("product-options::donation-changed",this.donationChangedListener):salla?.url?.is_page?.("product.single")&&salla?.product?.event?.onPriceUpdated&&salla.product.event.onPriceUpdated(this.priceUpdatedListener))}connectedCallback(){this.isAttached=!0,this.hasInitialised&&this.bindPriceListeners(),this.langUnsubscribe=salla.lang.subscribe((()=>{this.quickBuy=salla.lang.get("pages.products.buy_now")}))}disconnectedCallback(){this.isAttached=!1,salla?.event?.off?.("product-options::donation-changed",this.donationChangedListener),salla?.product?.event?.offPriceUpdated?.(this.priceUpdatedListener),this.langUnsubscribe?.(),this.cancelLoginAsk?.()}quickBuyHandler(){if(salla.config.isGuest()&&!this.isGuestCheckout())return this.requireLogin.emit({productId:this.productId}),void salla.api.auth.requireLoginThen("salla-quick-buy::user.logged-in",(()=>this.quickBuyHandler()));this.shouldAskLoginFirst()?this.askLoginFirst():this.validatePdpOptionsSync()&&(this.optionsResolved=!1,this.collectedOrderOptions=[],this.collectedFreeProducts=[],this.applePayAmount=0,this.settlePayment())}validatePdpOptionsSync(){return!!u(this.productId)||(this.validationFailed.emit({productId:this.productId}),salla.error(salla.lang.get("common.messages.required_fields")),!1)}getSelectedQuantity(){try{const t=this.host.getElementSallaData?.(),i=Number(t instanceof FormData?t.get("quantity"):t?.quantity);return Number.isFinite(i)&&i>0?i:1}catch{return 1}}resolveCheckoutType(){return this.applePayOnly&&!this.productId?"mini_checkout":"buy_now"}resolveSupportedNetworks(){return A(this.supportedNetworks)}async settlePayment(){let t=this.host.getElementSallaData();if(p(t,this.collectedOrderOptions),"set"in t?(t.set("id",this.productId),t.set("source","buy_now")):(t.id=this.productId,t.source="buy_now"),z(t,this.collectedFreeProducts),!this.isApplePayActive){const i=this.choseGuest&&salla.config.isGuest()?{params:{guest_checkout:1,chose_guest:1}}:{};return salla.api.request("checkout/mini",t,"post",i).catch((i=>this.legacyQuickPurchaseFallback(i,t))).then((t=>{const i=t.data?.url||t.data?.redirect;return i?window.location.href=i:"login"===t.data?.to&&salla.event.dispatch("login::open"),t}))}t.is_applepay=!0,"append"in t&&t.append("is_applepay",!0),salla.event.dispatch("payments::apple-pay.start-transaction",{amount:this.applePayAmount>0?this.applePayAmount:this.amount,currency:this.currency||salla.config.get("store.settings.buy_now.currency")||"SAR",requiredShippingContactFields:this.getRequiredShippingContactFields(),savedAddress:this.getSavedAddressForApplePay(),shippingMethods:this.isRequireShipping?[]:void 0,supportedNetworks:this.resolveSupportedNetworks(),supportedCountries:Array.isArray(this.supportedCountries)&&this.supportedCountries.length?this.supportedCountries:salla.config.get("store.settings.buy_now.supportedCountries"),countryCode:salla.config.get("store.store_country")||"SA",merchantIdentifier:C(),checkout_type:this.resolveCheckoutType(),cartId:this.applePayOnly&&!this.productId?this.cartId:null,onStartedSession:this.handleApplePaySessionStarted,validateMerchant:{url:this.validateHost?`${this.validateHost}/checkout/applepay/validate`:salla.url.get("checkout/applepay/validate"),onSuccess:i=>this.applePayOnly&&!this.productId?this.cartId?(window.SallaApplePay.id=this.cartId,salla.log("🍏 Pay: create checkout success: with id #"+this.cartId),Promise.resolve(i)):(salla.logger.warn("🍏 Pay: trying to create applePay transaction without cartId/ProductId !"),Promise.resolve(i)):salla.api.request("checkout/mini","object"==typeof t?t:void 0,"post",{}).catch((i=>this.legacyQuickPurchaseFallback(i,"object"==typeof t?t:void 0))).then((t=>{const i=t?.data?.id||t?.data?.url?.split("/checkout/")[1]?.split(/[/?#]/)[0];if(i)return window.SallaApplePay.id=i,salla.log("🍏 Pay: create checkout success: with id #"+window.SallaApplePay.id),salla.analytics?.track("Checkout Started",{checkout_id:String(i),cart_id:String(i),payment_method:"apple_pay",gateway:"apple_pay",checkout_type:this.resolveCheckoutType(),session_id:salla.config.get("jitsu.session_id")||null,value:this.applePayAmount>0?this.applePayAmount:this.amount,currency:this.currency||salla.config.get("store.settings.buy_now.currency")||"SAR"}),t;const o=t?.data?.url||t?.data?.redirect?.url||t?.data?.redirect;return o?(salla.log("🍏 Pay: create checkout success: redirect exits, go to checkout page"),window.location.href=o,t):(salla.logger.warn("🍏 Pay: create checkout success: No id, or redirect"),t)}))},authorized:{url:salla.url.get("checkout/{id}/payments/submit"),onFailed:t=>{window.SallaApplePay.onCancel({},t?.data?.error?.message||t?.data?.error?.code||salla.lang.get("pages.checkout.payment_failed"))},onSuccess:t=>{window.location.href=t.redirect.url,salla.log("🍏 Pay: authorized Success:: redirect to thank you page, order placed")}},shippingMethodSelected:this.isRequireShipping?{url:salla.url.get("checkout/{id}/shipping/details")}:void 0,shippingContactSelected:this.isRequireShipping?{url:salla.url.get("checkout/{id}/address/add")}:void 0,guestContactSelected:this.isGuestCheckout()?{url:salla.url.get("checkout/{id}/customer")}:void 0,onCouponCodeChanged:{url:salla.url.get("checkout/{id}/coupons")},recalculateTotal:{url:salla.url.get("checkout/{id}/payments/recalculate?payment_method=apple_pay")},onError:function(t){salla.log(t),salla.notify.error(t)}})}legacyQuickPurchaseFallback(t,i){if("token_not_provided"!==t?.response?.data?.error?.code)throw t;return salla.logger.warn("quick-buy: falling back to quick-purchase because of token_not_provided"),salla.api.request("checkout/quick-purchase/"+this.productId,i,"post")}shouldAskLoginFirst(){return salla.config.isGuest()&&!this.choseGuest&&!this.isApplePayActive&&"variant"===salla.cart.loginBeforeCheckoutGroup?.()}askLoginFirst(){this.cancelLoginAsk?.();const t=()=>{salla.event.off("salla-login::guest-chosen",i),salla.event.off("salla-login::dismissed",t),this.cancelLoginAsk=null};this.cancelLoginAsk=t;const i=i=>{"buy-now"===i?.source&&(t(),this.choseGuest=!0,this.quickBuyHandler())};salla.event.on("salla-login::guest-chosen",i),salla.event.on("salla-login::dismissed",t),this.requireLogin.emit({productId:this.productId}),salla.api.auth.requireLoginThen("salla-quick-buy::user.logged-in",(()=>{t(),this.choseGuest=!1,this.quickBuyHandler()}),null,"buy-now")}isGuestCheckout(){return salla.config.isGuest()&&this.isGuestCheckoutAllowed()&&this.isPhysicalProduct()}isGuestCheckoutAllowed(){const t=salla.config.get("store.settings.buy_now.guest_checkout");return"boolean"==typeof t&&this.productId==salla.config.get("page.id")?t:salla.config.get("store.features").includes("guest-checkout")}getRequiredShippingContactFields(){let t=[];return this.isRequireShipping&&t.push("postalAddress"),this.isGuestCheckout()&&t.push("email","phone","name"),t}getSavedAddressForApplePay(){if(!this.isRequireShipping||salla.config.isGuest()||"buy_now"!==this.resolveCheckoutType())return;const t=k();return"address"===t?.type&&!0===t.scope_allocated&&t.address_id&&x(t)?{address_id:t.address_id,shippingMethods:{url:salla.url.get("checkout/{id}/shipping")}}:void 0}applyBaseCurrencyPrice(t){const i=t?.base_currency_price;null!=i?.amount?(this.amount=i.amount,i?.currency&&(this.currency=i.currency)):null!=t?.price&&(this.amount=t.price,this.currency=salla.config.get("user.currency_code")||this.currency||"SAR"),this.applyApplePayProperties(t?.apple_pay)}applyApplePayProperties(t){t&&(null!=t.supported_networks&&(this.supportedNetworks=q(t.supported_networks)),null!=t.supported_countries&&(this.supportedCountries=q(t.supported_countries)),this.isApplePayActive&&!this.resolveSupportedNetworks().length&&(this.isApplePayActive=!1))}componentWillLoad(){console.log("🍏 Pay: Quick Buy Component Loaded");const t="undefined"!=typeof window&&!!window.ApplePaySession?.canMakePayments?.(),i=salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??!0,o=salla?.config?.get?.("store.settings.is_salla_gateway",!1)??!0,e=I();this.isApplePayActive=t&&i&&o&&!e&&!!this.resolveSupportedNetworks().length;const a=async()=>{if(!this.productId&&salla?.config?.get&&salla.url?.is_page&&(this.productId=salla.config.get("page.id")),!this.applePayOnly&&!this.productId)return void salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, the product id is missing");this.amount&&this.isRequireShipping||!this.productId||!salla?.product?.getDetails||await salla.product.getDetails(this.productId,[]).then((t=>{this.applyBaseCurrencyPrice(t?.data),this.isRequireShipping=t?.data?.is_require_shipping||!1})).catch((t=>{salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, get the product details failed: ",t)})),this.hasInitialised=!0,this.bindPriceListeners();const t=(salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??i)&&(salla?.config?.get?.("store.settings.is_salla_gateway",!1)??o)&&!I();t&&O(),this.isApplePayActive=t&&await N(this.currency,this.resolveSupportedNetworks())};return new Promise((t=>{"function"==typeof salla?.onReady?salla.onReady((()=>a().then((()=>t(!0))))):a().then((()=>t(!0)))}))}render(){return I()?e(a,null):e(a,null,this.quickBuyButton())}quickBuyButton(){return e("apple-pay-button",{locale:salla?.config?.get?.("user.language_code")||"ar",onClick:()=>this.quickBuyHandler(),"data-quick-purchase":"applepay",class:"s-quick-buy-apple-pay","data-is-applepay":"1",buttonstyle:"black",type:this.type})}isPhysicalProduct(){return"product"===this.productType||"group_products"===this.productType||"food"===this.productType}get host(){return s(this)}};V.style='/*!twlt*/.s-quick-buy-button .s-button-text{display:flex}apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:40px;--apple-pay-button-border-radius:.75rem;--apple-pay-button-box-sizing:content-box}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-quick-buy-button svg{margin-right:0.375rem;height:1rem;width:1rem}.s-quick-buy-button svg:where([dir="rtl"],[dir="rtl"] *){margin-right:0px;margin-left:0.375rem}.s-quick-buy-apple-pay{display:block;width:100%}@media (min-width: 640px){.s-quick-buy-apple-pay{margin-top:0.625rem}}.s-quick-buy-apple-pay .apple-pay-btn-wrapper .apple-pay-btn{width:auto !important;border-radius:var(--s-radius, 0.25rem) !important}';export{j as salla_add_product_button,T as salla_bought_together,E as salla_product_availability,B as salla_product_options,V as salla_quick_buy}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,h as a,H as r,a as e}from"./p-C9zdeQFI.js";const i=class{constructor(a){t(this,a),this.loading=!1,this.hasError=!1,this.productData=null}async componentWillLoad(){await salla.onReady(),await this.fetchProduct()}componentDidLoad(){this.ensureParentContainsFloats()}componentDidRender(){this.renderCardNode()}ensureParentContainsFloats(){if("left"!==this.align&&"right"!==this.align)return;const t=this.hostEl?.parentElement;if(!t)return;const a=getComputedStyle(t);"block"===a.display&&"visible"===a.overflow&&"none"===a.float&&(t.style.display="flow-root")}fetchProduct(){return this.productId?(this.loading=!0,this.hasError=!1,salla.api.withoutNotifier((()=>salla.product.api.getDetails(this.productId))).then((t=>{const a=t.data;this.productData=a??null,this.hasError=!a})).catch((()=>{this.productData=null,this.hasError=!0})).finally((()=>{this.loading=!1}))):(this.productData=null,this.loading=!1,void(this.hasError=!1))}renderCardNode(){if(!this.cardContainer)return;if(this.cardContainer.textContent="",!this.productData||this.loading||this.hasError)return;const t=window.customElements.get("custom-salla-product-card")?"custom-salla-product-card":"salla-product-card",a=document.createElement(t),r=this.source||"embed-card";a.setAttribute("source",r),a.product={...this.productData,url:this.withViewedSource(this.productData.url,r)},this.cardContainer.appendChild(a)}withViewedSource(t,a){if(!t)return t;try{const r=new URL(t,window.location.origin);return r.searchParams.set("_svs",a),r.toString()}catch{return t}}render(){const t={"s-product-card-embed-card":!0,"s-product-card-embed-card-align-left":"left"===this.align,"s-product-card-embed-card-align-right":"right"===this.align,"s-product-card-embed-card-align-center":"center"===this.align};return a(r,{key:"f5761d649a68a3fe2c2cf9181d84bb2a4d98f26e"},this.hasError&&a("span",{key:"c6f21121d9804060426c5610cd955ec22a78983c",class:"s-product-card-embed-fallback"}),a("div",{key:"a16356287e33d583cb13a1f2da177bb545bf9c88",class:t,ref:t=>{this.cardContainer=t}}))}get hostEl(){return e(this)}};i.style="/*!twlt*/@charset \"UTF-8\";:host{display:inline-block;vertical-align:top;max-width:12rem}:host([align=left]){float:inline-start;margin-block-end:1em;margin-inline-end:1em;shape-outside:margin-box}:host([align=right]){float:inline-end;margin-block-end:1em;margin-inline-start:1em;shape-outside:margin-box}:host([align=center]){display:block;clear:both;margin-block:1em;margin-inline:auto}.s-product-card-embed-card{display:block}.visible{visibility:visible}.block{display:block}.flow-root{display:flow-root}.s-product-card-embed-card{display:block;max-width:12rem;shape-outside:margin-box}.s-product-card-embed-card custom-salla-product-card{--tw-shadow:0 0 28px 0px rgba(0 0 0 / .1);--tw-shadow-colored:0 0 28px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-product-card-embed-card-align-center{margin-left:auto;margin-right:auto}.s-product-card-embed-card-align-left{float:left;margin-right:1ch}.s-product-card-embed-card-align-right{float:right;margin-left:1ch}.s-product-card-embed-fallback{display:block}article:has(salla-product-card-embed)::after{clear:both;display:block;--tw-content:'';content:var(--tw-content)}";export{i as salla_product_card_embed}
4
+ import{r as t,h as a,H as r,a as e}from"./p-CrXKQnBu.js";const i=class{constructor(a){t(this,a),this.loading=!1,this.hasError=!1,this.productData=null}async componentWillLoad(){await salla.onReady(),await this.fetchProduct()}componentDidLoad(){this.ensureParentContainsFloats()}componentDidRender(){this.renderCardNode()}ensureParentContainsFloats(){if("left"!==this.align&&"right"!==this.align)return;const t=this.hostEl?.parentElement;if(!t)return;const a=getComputedStyle(t);"block"===a.display&&"visible"===a.overflow&&"none"===a.float&&(t.style.display="flow-root")}fetchProduct(){return this.productId?(this.loading=!0,this.hasError=!1,salla.api.withoutNotifier((()=>salla.product.api.getDetails(this.productId))).then((t=>{const a=t.data;this.productData=a??null,this.hasError=!a})).catch((()=>{this.productData=null,this.hasError=!0})).finally((()=>{this.loading=!1}))):(this.productData=null,this.loading=!1,void(this.hasError=!1))}renderCardNode(){if(!this.cardContainer)return;if(this.cardContainer.textContent="",!this.productData||this.loading||this.hasError)return;const t=window.customElements.get("custom-salla-product-card")?"custom-salla-product-card":"salla-product-card",a=document.createElement(t),r=this.source||"embed-card";a.setAttribute("source",r),a.product={...this.productData,url:this.withViewedSource(this.productData.url,r)},this.cardContainer.appendChild(a)}withViewedSource(t,a){if(!t)return t;try{const r=new URL(t,window.location.origin);return r.searchParams.set("_svs",a),r.toString()}catch{return t}}render(){const t={"s-product-card-embed-card":!0,"s-product-card-embed-card-align-left":"left"===this.align,"s-product-card-embed-card-align-right":"right"===this.align,"s-product-card-embed-card-align-center":"center"===this.align};return a(r,{key:"d101dffe8024843e9a30560769da562d64099a81"},this.hasError&&a("span",{key:"26becaac97d2f2a5b27d6c2c3d7dda609d1d7013",class:"s-product-card-embed-fallback"}),a("div",{key:"339d54dba04807ff0b7aa2ad514ec6ba68200b41",class:t,ref:t=>{this.cardContainer=t}}))}get hostEl(){return e(this)}};i.style="/*!twlt*/@charset \"UTF-8\";:host{display:inline-block;vertical-align:top;max-width:12rem}:host([align=left]){float:inline-start;margin-block-end:1em;margin-inline-end:1em;shape-outside:margin-box}:host([align=right]){float:inline-end;margin-block-end:1em;margin-inline-start:1em;shape-outside:margin-box}:host([align=center]){display:block;clear:both;margin-block:1em;margin-inline:auto}.s-product-card-embed-card{display:block}.visible{visibility:visible}.block{display:block}.flow-root{display:flow-root}.s-product-card-embed-card{display:block;max-width:12rem;shape-outside:margin-box}.s-product-card-embed-card custom-salla-product-card{--tw-shadow:0 0 28px 0px rgba(0 0 0 / .1);--tw-shadow-colored:0 0 28px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-product-card-embed-card-align-center{margin-left:auto;margin-right:auto}.s-product-card-embed-card-align-left{float:left;margin-right:1ch}.s-product-card-embed-card-align-right{float:right;margin-left:1ch}.s-product-card-embed-fallback{display:block}article:has(salla-product-card-embed)::after{clear:both;display:block;--tw-content:'';content:var(--tw-content)}";export{i as salla_product_card_embed}