@salla.sa/twilight-components 2.14.537 → 2.14.539

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 (685) hide show
  1. package/dist/cjs/{cancel-B5SbMYEk.js → cancel-De6vslRA.js} +2 -2
  2. package/dist/cjs/{check-BnVBPQNp.js → check-x3w3-gpj.js} +2 -2
  3. package/dist/cjs/{filepond-BKilDzmk.js → filepond-CIpOpiw6.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-poster-DMIbAyAM.js → filepond-plugin-file-poster-CPV_SZrj.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-size-NaEK453w.js → filepond-plugin-file-validate-size-C_XGylG1.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-file-validate-type-C4fSQyfm.js → filepond-plugin-file-validate-type-CmVS48lk.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-edit-M4p4znH2.js → filepond-plugin-image-edit-KfqhH5F9.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-exif-orientation-BmZUQ1qY.js → filepond-plugin-image-exif-orientation-BfRIDxO-.js} +1 -1
  9. package/dist/cjs/{filepond-plugin-image-preview-DQeJbx48.js → filepond-plugin-image-preview-DlvO4sHZ.js} +1 -1
  10. package/dist/cjs/{gift-DbNivqYO.js → gift-CJ-3Yw_x.js} +2 -2
  11. package/dist/cjs/{gift-sharing-BE0uszUm.js → gift-sharing-CStz46FA.js} +2 -2
  12. package/dist/cjs/{index-B_5gLFr2.js → index-CMDyFi6Q.js} +112 -66
  13. package/dist/cjs/{intlTelInput-B5hswC8S.js → intlTelInput-BK34b4sR.js} +1 -1
  14. package/dist/cjs/{iphone-x-qC21wCLj.js → iphone-x-B683VspR.js} +2 -2
  15. package/dist/cjs/loader.cjs.js +2 -2
  16. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-accordion_6.cjs.entry.js +10 -10
  18. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +8 -8
  19. package/dist/cjs/salla-advertisement.cjs.entry.js +2 -2
  20. package/dist/cjs/salla-alert_2.cjs.entry.js +3 -3
  21. package/dist/cjs/salla-app-install-alert.cjs.entry.js +2 -2
  22. package/dist/cjs/salla-apps-icons.cjs.entry.js +2 -2
  23. package/dist/cjs/salla-badge.cjs.entry.js +2 -2
  24. package/dist/cjs/salla-basket-gap.cjs.entry.js +2 -2
  25. package/dist/cjs/salla-booking-field_7.cjs.entry.js +16 -16
  26. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +42 -39
  27. package/dist/cjs/salla-cart-coupons.cjs.entry.js +2 -2
  28. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +5 -5
  29. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +4 -1
  30. package/dist/cjs/salla-cashback-banner.cjs.entry.js +2 -2
  31. package/dist/cjs/salla-comment-factors.cjs.entry.js +2 -2
  32. package/dist/cjs/salla-comment-form_8.cjs.entry.js +15 -13
  33. package/dist/cjs/salla-conditional-offer.cjs.entry.js +2 -2
  34. package/dist/cjs/salla-contacts.cjs.entry.js +2 -2
  35. package/dist/cjs/salla-cookies-bar.cjs.entry.js +2 -2
  36. package/dist/cjs/{salla-count-down_2.cjs.entry.js → salla-count-down.cjs.entry.js} +2 -210
  37. package/dist/cjs/salla-custom-fields.cjs.entry.js +2 -2
  38. package/dist/cjs/salla-delivery-promise.cjs.entry.js +4 -1
  39. package/dist/cjs/salla-edit-order-button.cjs.entry.js +2 -2
  40. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  41. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  42. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +4 -1
  43. package/dist/cjs/salla-gifting.cjs.entry.js +7 -7
  44. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
  46. package/dist/cjs/salla-installment.cjs.entry.js +2 -2
  47. package/dist/cjs/salla-list-tile.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-localization-modal.cjs.entry.js +5 -2
  49. package/dist/cjs/salla-login-modal.cjs.entry.js +2 -2
  50. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +980 -0
  51. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +27 -0
  52. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +2 -2
  53. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +7 -4
  54. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-loyalty.cjs.entry.js +4 -4
  56. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +4 -4
  57. package/dist/cjs/salla-map_2.cjs.entry.js +3 -3
  58. package/dist/cjs/salla-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/salla-metadata.cjs.entry.js +2 -2
  60. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
  63. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +2 -2
  64. package/dist/cjs/salla-notification-item_2.cjs.entry.js +172 -0
  65. package/dist/cjs/salla-offer-modal.cjs.entry.js +6 -7
  66. package/dist/cjs/salla-offer.cjs.entry.js +2 -2
  67. package/dist/cjs/salla-order-branch.cjs.entry.js +2 -2
  68. package/dist/cjs/salla-order-cancel.cjs.entry.js +2 -2
  69. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
  72. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-edit.cjs.entry.js +2 -2
  75. package/dist/cjs/salla-order-options-modal_2.cjs.entry.js +367 -0
  76. package/dist/cjs/salla-order-shipments.cjs.entry.js +2 -2
  77. package/dist/cjs/salla-order-summary.cjs.entry.js +4 -4
  78. package/dist/cjs/salla-order-totals-card.cjs.entry.js +2 -2
  79. package/dist/cjs/salla-orders.cjs.entry.js +5 -3
  80. package/dist/cjs/salla-payments.cjs.entry.js +2 -2
  81. package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
  82. package/dist/cjs/salla-price-range.cjs.entry.js +2 -2
  83. package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
  84. package/dist/cjs/salla-product-size-guide.cjs.entry.js +2 -2
  85. package/dist/cjs/salla-products-list.cjs.entry.js +5 -3
  86. package/dist/cjs/salla-products-slider.cjs.entry.js +167 -0
  87. package/dist/cjs/salla-quick-order.cjs.entry.js +6 -6
  88. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +2 -2
  89. package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
  90. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
  91. package/dist/cjs/salla-scopes.cjs.entry.js +2 -2
  92. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  94. package/dist/cjs/salla-slider.cjs.entry.js +2 -2
  95. package/dist/cjs/salla-social-share.cjs.entry.js +5 -5
  96. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-tab-content_3.cjs.entry.js +2 -2
  98. package/dist/cjs/salla-tiered-offer.cjs.entry.js +2 -2
  99. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  100. package/dist/cjs/salla-trust-badges.cjs.entry.js +2 -2
  101. package/dist/cjs/salla-user-menu.cjs.entry.js +6 -6
  102. package/dist/cjs/salla-user-profile.cjs.entry.js +2 -2
  103. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  104. package/dist/cjs/salla-verify.cjs.entry.js +2 -2
  105. package/dist/cjs/salla-wallet.cjs.entry.js +5 -3
  106. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  107. package/dist/cjs/{cart2-B98PSAFN.js → tag-BH5n_Nx3.js} +9 -2
  108. package/dist/cjs/twilight.cjs.js +2 -2
  109. package/dist/cjs/{vanilla-picker-DcX-oQDe.js → vanilla-picker-DYTpjTDj.js} +1 -1
  110. package/dist/collection/collection-manifest.json +20 -0
  111. package/dist/collection/components/salla-accordion/salla-accordion.css +233 -0
  112. package/dist/collection/components/salla-add-product-button/salla-add-product-button.css +248 -1
  113. package/dist/collection/components/salla-advertisement/salla-advertisement.css +53 -2
  114. package/dist/collection/components/salla-alert/salla-alert.css +57 -2
  115. package/dist/collection/components/salla-app-install-alert/salla-app-install-alert.css +123 -2
  116. package/dist/collection/components/salla-apps-icons/salla-apps-icons.css +15 -2
  117. package/dist/collection/components/salla-badge/salla-badge.css +72 -0
  118. package/dist/collection/components/salla-basket-gap/salla-basket-gap.css +282 -2
  119. package/dist/collection/components/salla-booking-field/salla-booking-field.css +108 -2
  120. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.css +273 -2
  121. package/dist/collection/components/salla-bought-together/salla-bought-together.css +139 -2
  122. package/dist/collection/components/salla-breadcrumb/salla-breadcrumb.css +49 -2
  123. package/dist/collection/components/salla-bullet-delivery/helpers.js +14 -0
  124. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +1170 -5
  125. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +20 -19
  126. package/dist/collection/components/salla-button/salla-button.css +681 -2
  127. package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.css +344 -2
  128. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.css +108 -2
  129. package/dist/collection/components/salla-cart-summary/salla-cart-summary.css +43 -0
  130. package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.css +308 -0
  131. package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.js +10 -0
  132. package/dist/collection/components/salla-cashback-banner/salla-cashback-banner.css +39 -0
  133. package/dist/collection/components/salla-color-picker/salla-color-picker.css +48 -0
  134. package/dist/collection/components/salla-comment-form/salla-comment-form.css +94 -2
  135. package/dist/collection/components/salla-comments/salla-comments.css +626 -2
  136. package/dist/collection/components/salla-comments/salla-comments.js +2 -2
  137. package/dist/collection/components/salla-conditional-offer/salla-conditional-offer.css +293 -2
  138. package/dist/collection/components/salla-contacts/salla-contacts.css +105 -2
  139. package/dist/collection/components/salla-cookies-bar/salla-cookies-bar.css +91 -2
  140. package/dist/collection/components/salla-count-down/salla-count-down.css +395 -2
  141. package/dist/collection/components/salla-custom-fields/salla-custom-fields.css +86 -2
  142. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.css +88 -2
  143. package/dist/collection/components/salla-delivery-promise/salla-delivery-promise.css +452 -0
  144. package/dist/collection/components/salla-delivery-promise/salla-delivery-promise.js +10 -0
  145. package/dist/collection/components/salla-drawer/salla-drawer.css +403 -0
  146. package/dist/collection/components/salla-edit-order-button/salla-edit-order-button.css +2 -2
  147. package/dist/collection/components/salla-file-upload/salla-file-upload.css +277 -2
  148. package/dist/collection/components/salla-filters/salla-filters.css +199 -2
  149. package/dist/collection/components/salla-filters-widget/salla-filters-widget.css +169 -2
  150. package/dist/collection/components/salla-fulfillment-methods/salla-fulfillment-methods.css +140 -0
  151. package/dist/collection/components/salla-fulfillment-methods/salla-fulfillment-methods.js +10 -0
  152. package/dist/collection/components/salla-gifting/salla-gifting.css +593 -2
  153. package/dist/collection/components/salla-infinite-scroll/salla-infinite-scroll.css +107 -2
  154. package/dist/collection/components/salla-installment/salla-installment.css +8 -2
  155. package/dist/collection/components/salla-list-tile/salla-list-tile.css +190 -0
  156. package/dist/collection/components/salla-loading/salla-loading.css +13 -2
  157. package/dist/collection/components/salla-localization-modal/salla-localization-modal.css +170 -0
  158. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +11 -1
  159. package/dist/collection/components/salla-login-modal/salla-login-modal.css +8 -2
  160. package/dist/collection/components/salla-loyalty/salla-loyalty.css +377 -0
  161. package/dist/collection/components/salla-loyalty-points-banner/salla-loyalty-points-banner.css +36 -0
  162. package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.css +365 -0
  163. package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +11 -1
  164. package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.css +1621 -2
  165. package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.css +156 -2
  166. package/dist/collection/components/salla-map/salla-map.css +88 -2
  167. package/dist/collection/components/salla-menu/salla-menu.css +175 -2
  168. package/dist/collection/components/salla-metadata/salla-metadata.css +49 -0
  169. package/dist/collection/components/salla-modal/salla-modal.css +556 -2
  170. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.css +342 -2
  171. package/dist/collection/components/salla-next-order-coupon/salla-next-order-coupon.css +190 -2
  172. package/dist/collection/components/salla-notifications/salla-notifications.css +217 -0
  173. package/dist/collection/components/salla-notifications/salla-notifications.js +2 -2
  174. package/dist/collection/components/salla-offer/salla-offer.css +961 -2
  175. package/dist/collection/components/salla-offer-modal/salla-offer-modal.css +514 -2
  176. package/dist/collection/components/salla-order-branch/salla-order-branch.css +269 -2
  177. package/dist/collection/components/salla-order-cancel/salla-order-cancel.css +283 -2
  178. package/dist/collection/components/salla-order-details/salla-order-details.css +319 -0
  179. package/dist/collection/components/salla-order-edit/salla-order-edit.css +773 -2
  180. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.css +50 -2
  181. package/dist/collection/components/salla-order-shipments/salla-order-shipments.css +110 -2
  182. package/dist/collection/components/salla-order-summary/salla-order-summary.css +117 -2
  183. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.css +116 -2
  184. package/dist/collection/components/salla-orders/salla-orders.css +367 -2
  185. package/dist/collection/components/salla-orders/salla-orders.js +2 -2
  186. package/dist/collection/components/salla-payments/salla-payments.css +40 -2
  187. package/dist/collection/components/salla-placeholder/salla-placeholder.css +121 -0
  188. package/dist/collection/components/salla-price-range/salla-price-range.css +146 -2
  189. package/dist/collection/components/salla-product-availability/salla-product-availability.css +188 -2
  190. package/dist/collection/components/salla-product-card/salla-product-card.css +694 -2
  191. package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.css +42 -2
  192. package/dist/collection/components/salla-product-options/salla-product-options.css +749 -0
  193. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.css +105 -2
  194. package/dist/collection/components/salla-products-list/salla-products-list.css +286 -2
  195. package/dist/collection/components/salla-products-list/salla-products-list.js +2 -2
  196. package/dist/collection/components/salla-products-slider/salla-products-slider.css +48 -0
  197. package/dist/collection/components/salla-progress-bar/salla-progress-bar.css +53 -0
  198. package/dist/collection/components/salla-quantity-input/salla-quantity-input.css +47 -2
  199. package/dist/collection/components/salla-quick-buy/salla-quick-buy.css +32 -2
  200. package/dist/collection/components/salla-quick-order/salla-quick-order.css +233 -1
  201. package/dist/collection/components/salla-rating-modal/salla-rating-modal.css +540 -2
  202. package/dist/collection/components/salla-rating-stars/salla-rating-stars.css +91 -2
  203. package/dist/collection/components/salla-review-card/salla-review-card.css +213 -1
  204. package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.css +45 -2
  205. package/dist/collection/components/salla-reviews/salla-reviews.css +378 -0
  206. package/dist/collection/components/salla-reviews-page/salla-reviews-page.css +124 -2
  207. package/dist/collection/components/salla-reviews-summary/salla-reviews-summary.css +118 -2
  208. package/dist/collection/components/salla-scopes/salla-scopes.css +299 -2
  209. package/dist/collection/components/salla-search/salla-search.css +298 -2
  210. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.css +508 -0
  211. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +14 -4
  212. package/dist/collection/components/salla-skeleton/salla-skeleton.css +31 -2
  213. package/dist/collection/components/salla-slider/salla-slider.css +749 -2
  214. package/dist/collection/components/salla-social/salla-social.css +31 -2
  215. package/dist/collection/components/salla-social-share/salla-social-share.css +56 -2
  216. package/dist/collection/components/salla-tabs/salla-tabs.css +233 -2
  217. package/dist/collection/components/salla-tel-input/salla-tel-input.css +82 -2
  218. package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.css +305 -2
  219. package/dist/collection/components/salla-tooltip/salla-tooltip.css +10 -3
  220. package/dist/collection/components/salla-trust-badges/salla-trust-badges.css +36 -0
  221. package/dist/collection/components/salla-user-menu/salla-user-menu.css +395 -0
  222. package/dist/collection/components/salla-user-profile/salla-user-profile.css +79 -2
  223. package/dist/collection/components/salla-user-settings/salla-user-settings.css +299 -2
  224. package/dist/collection/components/salla-verify/salla-verify.css +226 -2
  225. package/dist/collection/components/salla-wallet/salla-wallet.css +333 -2
  226. package/dist/collection/components/salla-wallet/salla-wallet.js +2 -2
  227. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.css +88 -2
  228. package/dist/collection/global/app.js +60 -0
  229. package/dist/collection/global/app.ts +60 -0
  230. package/dist/collection/global/base-css.js +5 -0
  231. package/dist/collection/global/base-css.ts +2 -0
  232. package/dist/collection/plugins/build-base-css.js +43 -0
  233. package/dist/collection/plugins/css-coverage-check.js +363 -0
  234. package/dist/collection/plugins/tailwind-per-component.js +146 -0
  235. package/dist/collection/plugins/watch-utilities.js +22 -0
  236. package/dist/components/index.js +64 -2
  237. package/dist/components/salla-accordion2.js +1 -1
  238. package/dist/components/salla-add-product-button2.js +1 -1
  239. package/dist/components/salla-advertisement.js +1 -1
  240. package/dist/components/salla-alert.js +1 -1
  241. package/dist/components/salla-app-install-alert.js +1 -1
  242. package/dist/components/salla-apps-icons.js +1 -1
  243. package/dist/components/salla-badge2.js +1 -1
  244. package/dist/components/salla-basket-gap.js +1 -1
  245. package/dist/components/salla-booking-field2.js +1 -1
  246. package/dist/components/salla-bottom-alert.js +1 -1
  247. package/dist/components/salla-bought-together.js +1 -1
  248. package/dist/components/salla-breadcrumb.js +1 -1
  249. package/dist/components/salla-bullet-delivery.js +34 -34
  250. package/dist/components/salla-button2.js +1 -1
  251. package/dist/components/salla-cart-coupons.js +1 -1
  252. package/dist/components/salla-cart-item-offers.js +1 -1
  253. package/dist/components/salla-cart-summary-card.js +3 -0
  254. package/dist/components/salla-cart-summary.js +1 -1
  255. package/dist/components/salla-cashback-banner.js +1 -1
  256. package/dist/components/salla-color-picker2.js +1 -1
  257. package/dist/components/salla-comment-factors2.js +1 -1
  258. package/dist/components/salla-comment-form2.js +1 -1
  259. package/dist/components/salla-comment-item2.js +1 -1
  260. package/dist/components/salla-comments.js +4 -2
  261. package/dist/components/salla-conditional-offer.js +1 -1
  262. package/dist/components/salla-contacts.js +1 -1
  263. package/dist/components/salla-cookies-bar.js +1 -1
  264. package/dist/components/salla-count-down2.js +1 -1
  265. package/dist/components/salla-custom-fields.js +1 -1
  266. package/dist/components/salla-datetime-picker2.js +1 -1
  267. package/dist/components/salla-delivery-promise.js +3 -0
  268. package/dist/components/salla-drawer2.js +1 -1
  269. package/dist/components/salla-edit-order-button.js +1 -1
  270. package/dist/components/salla-file-upload2.js +1 -1
  271. package/dist/components/salla-filters-widget2.js +1 -1
  272. package/dist/components/salla-filters.js +1 -1
  273. package/dist/components/salla-fulfillment-methods.js +3 -0
  274. package/dist/components/salla-gifting.js +1 -1
  275. package/dist/components/salla-infinite-scroll.js +1 -1
  276. package/dist/components/salla-installment.js +1 -1
  277. package/dist/components/salla-list-tile2.js +1 -1
  278. package/dist/components/salla-loading2.js +1 -1
  279. package/dist/components/salla-localization-modal.js +4 -1
  280. package/dist/components/salla-login-modal2.js +1 -1
  281. package/dist/components/salla-loyalty-banner.js +1 -1
  282. package/dist/components/salla-loyalty-exchange-product-card2.js +1 -1
  283. package/dist/components/salla-loyalty-hero2.js +1 -1
  284. package/dist/components/salla-loyalty-panel.js +1 -1
  285. package/dist/components/salla-loyalty-point2.js +1 -1
  286. package/dist/components/salla-loyalty-points-banner.js +1 -1
  287. package/dist/components/salla-loyalty-points-history.js +4 -1
  288. package/dist/components/salla-loyalty-program.js +1 -1
  289. package/dist/components/salla-loyalty-reward.js +1 -1
  290. package/dist/components/salla-loyalty.js +1 -1
  291. package/dist/components/salla-maintenance-alert.js +1 -1
  292. package/dist/components/salla-map2.js +1 -1
  293. package/dist/components/salla-menu.js +1 -1
  294. package/dist/components/salla-metadata.js +1 -1
  295. package/dist/components/salla-modal2.js +1 -1
  296. package/dist/components/salla-multiple-bundle-product.js +1 -1
  297. package/dist/components/salla-next-order-coupon.js +1 -1
  298. package/dist/components/salla-notification-item2.js +1 -1
  299. package/dist/components/salla-notifications.js +4 -2
  300. package/dist/components/salla-offer-modal.js +1 -1
  301. package/dist/components/salla-offer.js +1 -1
  302. package/dist/components/salla-order-branch.js +1 -1
  303. package/dist/components/salla-order-cancel.js +1 -1
  304. package/dist/components/salla-order-details.js +1 -1
  305. package/dist/components/salla-order-edit.js +1 -1
  306. package/dist/components/salla-order-options-modal2.js +1 -1
  307. package/dist/components/salla-order-shipments.js +1 -1
  308. package/dist/components/salla-order-summary.js +1 -1
  309. package/dist/components/salla-order-totals-card.js +1 -1
  310. package/dist/components/salla-orders.js +4 -2
  311. package/dist/components/salla-payments.js +1 -1
  312. package/dist/components/salla-placeholder2.js +1 -1
  313. package/dist/components/salla-price-range2.js +1 -1
  314. package/dist/components/salla-product-availability2.js +1 -1
  315. package/dist/components/salla-product-card-embed.js +1 -1
  316. package/dist/components/salla-product-card2.js +1 -1
  317. package/dist/components/salla-product-options2.js +1 -1
  318. package/dist/components/salla-product-size-guide.js +1 -1
  319. package/dist/components/salla-products-list2.js +4 -2
  320. package/dist/components/salla-products-slider2.js +1 -1
  321. package/dist/components/salla-progress-bar2.js +1 -1
  322. package/dist/components/salla-quantity-input2.js +1 -1
  323. package/dist/components/salla-quick-buy2.js +1 -1
  324. package/dist/components/salla-quick-order.js +1 -1
  325. package/dist/components/salla-rating-modal-v22.js +1 -1
  326. package/dist/components/salla-rating-modal.js +1 -1
  327. package/dist/components/salla-rating-stars2.js +1 -1
  328. package/dist/components/salla-review-card2.js +1 -1
  329. package/dist/components/salla-review-factors-tags2.js +1 -1
  330. package/dist/components/salla-reviews-page.js +1 -1
  331. package/dist/components/salla-reviews-summary2.js +1 -1
  332. package/dist/components/salla-reviews.js +1 -1
  333. package/dist/components/salla-reward-action2.js +1 -1
  334. package/dist/components/salla-reward-card2.js +1 -1
  335. package/dist/components/salla-reward-details2.js +1 -1
  336. package/dist/components/salla-reward-exchange2.js +1 -1
  337. package/dist/components/salla-scopes.js +1 -1
  338. package/dist/components/salla-search.js +1 -1
  339. package/dist/components/salla-searchable-dropdown2.js +7 -4
  340. package/dist/components/salla-skeleton2.js +1 -1
  341. package/dist/components/salla-slider2.js +1 -1
  342. package/dist/components/salla-social-share2.js +1 -1
  343. package/dist/components/salla-social.js +1 -1
  344. package/dist/components/salla-tabs2.js +1 -1
  345. package/dist/components/salla-tel-input2.js +1 -1
  346. package/dist/components/salla-tiered-offer.js +1 -1
  347. package/dist/components/salla-tooltip2.js +1 -1
  348. package/dist/components/salla-trust-badges.js +1 -1
  349. package/dist/components/salla-user-menu.js +1 -1
  350. package/dist/components/salla-user-profile.js +1 -1
  351. package/dist/components/salla-user-settings.js +1 -1
  352. package/dist/components/salla-verify.js +1 -1
  353. package/dist/components/salla-wallet.js +4 -2
  354. package/dist/components/salla-wishlist-actions.js +1 -1
  355. package/dist/esm/{cancel-8Tsmrwno.js → cancel-BsLF_HK7.js} +2 -2
  356. package/dist/esm/{check-BZp0rKEO.js → check-BsXh13x8.js} +2 -2
  357. package/dist/esm/{filepond-Co-IypIA.js → filepond-DMUE9Fyj.js} +1 -1
  358. package/dist/esm/{filepond-plugin-file-poster-CoRXw3k-.js → filepond-plugin-file-poster-DBZQTm7s.js} +1 -1
  359. package/dist/esm/{filepond-plugin-file-validate-size-CGJ0QOyy.js → filepond-plugin-file-validate-size-CrKxdsNW.js} +1 -1
  360. package/dist/esm/{filepond-plugin-file-validate-type-DDAxGYz8.js → filepond-plugin-file-validate-type-DvEJrucY.js} +1 -1
  361. package/dist/esm/{filepond-plugin-image-edit-BTbI51S8.js → filepond-plugin-image-edit-C6ptCg9o.js} +1 -1
  362. package/dist/esm/{filepond-plugin-image-exif-orientation-C0VSH5eq.js → filepond-plugin-image-exif-orientation-IcgeTieF.js} +1 -1
  363. package/dist/esm/{filepond-plugin-image-preview-DZbIdviE.js → filepond-plugin-image-preview-CDMh74os.js} +1 -1
  364. package/dist/esm/{gift-CXRKXFgT.js → gift-BChI23pG.js} +2 -2
  365. package/dist/esm/{gift-sharing-0-eTJXSD.js → gift-sharing-DxkgAGoT.js} +2 -2
  366. package/dist/esm/{index-BICKbbaT.js → index-CjQzkU95.js} +112 -66
  367. package/dist/esm/{intlTelInput-CcU6kFYO.js → intlTelInput-Dsx2z7pR.js} +1 -1
  368. package/dist/esm/{iphone-x-CciN5Q_x.js → iphone-x-Z7udRKSZ.js} +2 -2
  369. package/dist/esm/loader.js +3 -3
  370. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  371. package/dist/esm/salla-accordion_6.entry.js +10 -10
  372. package/dist/esm/salla-add-product-button_5.entry.js +8 -8
  373. package/dist/esm/salla-advertisement.entry.js +2 -2
  374. package/dist/esm/salla-alert_2.entry.js +3 -3
  375. package/dist/esm/salla-app-install-alert.entry.js +2 -2
  376. package/dist/esm/salla-apps-icons.entry.js +2 -2
  377. package/dist/esm/salla-badge.entry.js +2 -2
  378. package/dist/esm/salla-basket-gap.entry.js +2 -2
  379. package/dist/esm/salla-booking-field_7.entry.js +16 -16
  380. package/dist/esm/salla-bullet-delivery_2.entry.js +42 -39
  381. package/dist/esm/salla-cart-coupons.entry.js +2 -2
  382. package/dist/esm/salla-cart-item-offers_2.entry.js +5 -5
  383. package/dist/esm/salla-cart-summary-card.entry.js +4 -1
  384. package/dist/esm/salla-cashback-banner.entry.js +2 -2
  385. package/dist/esm/salla-comment-factors.entry.js +2 -2
  386. package/dist/esm/salla-comment-form_8.entry.js +15 -13
  387. package/dist/esm/salla-conditional-offer.entry.js +2 -2
  388. package/dist/esm/salla-contacts.entry.js +2 -2
  389. package/dist/esm/salla-cookies-bar.entry.js +2 -2
  390. package/dist/esm/{salla-count-down_2.entry.js → salla-count-down.entry.js} +3 -210
  391. package/dist/esm/salla-custom-fields.entry.js +2 -2
  392. package/dist/esm/salla-delivery-promise.entry.js +4 -1
  393. package/dist/esm/salla-edit-order-button.entry.js +2 -2
  394. package/dist/esm/salla-filters-widget.entry.js +2 -2
  395. package/dist/esm/salla-filters.entry.js +2 -2
  396. package/dist/esm/salla-fulfillment-methods.entry.js +4 -1
  397. package/dist/esm/salla-gifting.entry.js +7 -7
  398. package/dist/esm/salla-hook.entry.js +1 -1
  399. package/dist/esm/salla-infinite-scroll.entry.js +2 -2
  400. package/dist/esm/salla-installment.entry.js +2 -2
  401. package/dist/esm/salla-list-tile.entry.js +2 -2
  402. package/dist/esm/salla-localization-modal.entry.js +5 -2
  403. package/dist/esm/salla-login-modal.entry.js +2 -2
  404. package/dist/esm/salla-loyalty-banner_10.entry.js +969 -0
  405. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +25 -0
  406. package/dist/esm/salla-loyalty-points-banner.entry.js +2 -2
  407. package/dist/esm/salla-loyalty-points-history.entry.js +7 -4
  408. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  409. package/dist/esm/salla-loyalty.entry.js +4 -4
  410. package/dist/esm/salla-maintenance-alert.entry.js +4 -4
  411. package/dist/esm/salla-map_2.entry.js +3 -3
  412. package/dist/esm/salla-menu.entry.js +2 -2
  413. package/dist/esm/salla-metadata.entry.js +2 -2
  414. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  415. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  416. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  417. package/dist/esm/salla-next-order-coupon.entry.js +2 -2
  418. package/dist/esm/salla-notification-item_2.entry.js +169 -0
  419. package/dist/esm/salla-offer-modal.entry.js +6 -7
  420. package/dist/esm/salla-offer.entry.js +2 -2
  421. package/dist/esm/salla-order-branch.entry.js +2 -2
  422. package/dist/esm/salla-order-cancel.entry.js +2 -2
  423. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  424. package/dist/esm/salla-order-details-options.entry.js +1 -1
  425. package/dist/esm/salla-order-details.entry.js +2 -2
  426. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  427. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  428. package/dist/esm/salla-order-edit.entry.js +2 -2
  429. package/dist/esm/salla-order-options-modal_2.entry.js +364 -0
  430. package/dist/esm/salla-order-shipments.entry.js +2 -2
  431. package/dist/esm/salla-order-summary.entry.js +4 -4
  432. package/dist/esm/salla-order-totals-card.entry.js +2 -2
  433. package/dist/esm/salla-orders.entry.js +5 -3
  434. package/dist/esm/salla-payments.entry.js +2 -2
  435. package/dist/esm/salla-placeholder.entry.js +2 -2
  436. package/dist/esm/salla-price-range.entry.js +2 -2
  437. package/dist/esm/salla-product-card-embed.entry.js +2 -2
  438. package/dist/esm/salla-product-size-guide.entry.js +2 -2
  439. package/dist/esm/salla-products-list.entry.js +5 -3
  440. package/dist/esm/salla-products-slider.entry.js +165 -0
  441. package/dist/esm/salla-quick-order.entry.js +6 -6
  442. package/dist/esm/salla-rating-modal-v2.entry.js +2 -2
  443. package/dist/esm/salla-rating-modal.entry.js +2 -2
  444. package/dist/esm/salla-review-factors-tags.entry.js +2 -2
  445. package/dist/esm/salla-scopes.entry.js +2 -2
  446. package/dist/esm/salla-search.entry.js +2 -2
  447. package/dist/esm/salla-skeleton.entry.js +2 -2
  448. package/dist/esm/salla-slider.entry.js +2 -2
  449. package/dist/esm/salla-social-share.entry.js +5 -5
  450. package/dist/esm/salla-social.entry.js +2 -2
  451. package/dist/esm/salla-tab-content_3.entry.js +2 -2
  452. package/dist/esm/salla-tiered-offer.entry.js +2 -2
  453. package/dist/esm/salla-tooltip.entry.js +2 -2
  454. package/dist/esm/salla-trust-badges.entry.js +2 -2
  455. package/dist/esm/salla-user-menu.entry.js +6 -6
  456. package/dist/esm/salla-user-profile.entry.js +2 -2
  457. package/dist/esm/salla-user-settings.entry.js +2 -2
  458. package/dist/esm/salla-verify.entry.js +2 -2
  459. package/dist/esm/salla-wallet.entry.js +5 -3
  460. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  461. package/dist/esm/{cart2-D1s2kXqL.js → tag-DRvZV5oe.js} +8 -2
  462. package/dist/esm/twilight.js +3 -3
  463. package/dist/esm/{vanilla-picker-ZYaCOUKK.js → vanilla-picker-oYjMgYry.js} +1 -1
  464. package/dist/twilight/global/app.ts +60 -0
  465. package/dist/twilight/global/base-css.ts +2 -0
  466. package/dist/twilight/p-0a1271e1.entry.js +4 -0
  467. package/dist/twilight/p-1151ebd7.entry.js +4 -0
  468. package/dist/twilight/p-116e7555.entry.js +4 -0
  469. package/dist/twilight/{p-a5d54ce0.entry.js → p-1470e96a.entry.js} +1 -1
  470. package/dist/twilight/p-14c72ffd.entry.js +4 -0
  471. package/dist/twilight/p-152c657e.entry.js +4 -0
  472. package/dist/twilight/p-1754903f.entry.js +4 -0
  473. package/dist/twilight/{p-e24e104a.entry.js → p-187a502c.entry.js} +1 -1
  474. package/dist/twilight/p-1c31cec0.entry.js +4 -0
  475. package/dist/twilight/p-1c369bcf.entry.js +4 -0
  476. package/dist/twilight/{p-eb1bdbee.entry.js → p-1d2804ac.entry.js} +1 -1
  477. package/dist/twilight/p-1dd1fef0.entry.js +4 -0
  478. package/dist/twilight/p-1fb46b43.entry.js +4 -0
  479. package/dist/twilight/p-236f371d.entry.js +4 -0
  480. package/dist/twilight/{p-54f5ab92.entry.js → p-250d7ab2.entry.js} +1 -1
  481. package/dist/twilight/{p-45199451.entry.js → p-27a0a4cc.entry.js} +1 -1
  482. package/dist/twilight/p-298ff716.entry.js +4 -0
  483. package/dist/twilight/p-2babb4bd.entry.js +4 -0
  484. package/dist/twilight/p-2c6c0844.entry.js +4 -0
  485. package/dist/twilight/p-2e112687.entry.js +4 -0
  486. package/dist/twilight/p-2e43ddf0.entry.js +4 -0
  487. package/dist/twilight/p-3052178c.entry.js +4 -0
  488. package/dist/twilight/p-31c36417.entry.js +4 -0
  489. package/dist/twilight/p-331679d8.entry.js +4 -0
  490. package/dist/twilight/p-37413a02.entry.js +4 -0
  491. package/dist/twilight/{p-036f67e4.entry.js → p-3b6b3c54.entry.js} +1 -1
  492. package/dist/twilight/p-3bc64439.entry.js +4 -0
  493. package/dist/twilight/p-3bdba697.entry.js +4 -0
  494. package/dist/twilight/{p-3ff03500.entry.js → p-3c22551b.entry.js} +1 -1
  495. package/dist/twilight/p-3f26f1c5.entry.js +4 -0
  496. package/dist/twilight/p-40217fcc.entry.js +4 -0
  497. package/dist/twilight/p-4058b619.entry.js +4 -0
  498. package/dist/twilight/{p-b4a173be.entry.js → p-437fe6f1.entry.js} +1 -1
  499. package/dist/twilight/{p-15f20a28.entry.js → p-44cfb2c2.entry.js} +1 -1
  500. package/dist/twilight/p-4868c03c.entry.js +4 -0
  501. package/dist/twilight/p-48db7b95.entry.js +4 -0
  502. package/dist/twilight/p-49e6fe86.entry.js +4 -0
  503. package/dist/twilight/p-51a860bc.entry.js +4 -0
  504. package/dist/twilight/p-54d0db9a.entry.js +4 -0
  505. package/dist/twilight/p-58184ae2.entry.js +4 -0
  506. package/dist/twilight/p-5b03dca8.entry.js +4 -0
  507. package/dist/twilight/{p-149e1143.entry.js → p-5bbf829e.entry.js} +1 -1
  508. package/dist/twilight/{p-b10e56fd.entry.js → p-5d01f25c.entry.js} +1 -1
  509. package/dist/twilight/p-5e9fb02d.entry.js +4 -0
  510. package/dist/twilight/p-664f0936.entry.js +4 -0
  511. package/dist/twilight/{p-e8d773b2.entry.js → p-665bca88.entry.js} +1 -1
  512. package/dist/twilight/p-67e88dc4.entry.js +4 -0
  513. package/dist/twilight/p-68c8772a.entry.js +4 -0
  514. package/dist/twilight/p-699bea26.entry.js +4 -0
  515. package/dist/twilight/p-6ed4c9bb.entry.js +4 -0
  516. package/dist/twilight/p-7c74dc6e.entry.js +4 -0
  517. package/dist/twilight/{p-3c52b097.entry.js → p-7f73ff43.entry.js} +1 -1
  518. package/dist/twilight/{p-c1caae26.entry.js → p-80ff5572.entry.js} +1 -1
  519. package/dist/twilight/{p-b8980a7c.entry.js → p-8230c543.entry.js} +38 -38
  520. package/dist/twilight/p-82c12191.entry.js +4 -0
  521. package/dist/twilight/p-84f35767.entry.js +4 -0
  522. package/dist/twilight/{p-56f180b1.entry.js → p-8ae7bf96.entry.js} +1 -1
  523. package/dist/twilight/p-8bce41c8.entry.js +4 -0
  524. package/dist/twilight/{p-3be661be.entry.js → p-8ef3693b.entry.js} +1 -1
  525. package/dist/twilight/p-8fa84b87.entry.js +4 -0
  526. package/dist/twilight/p-91b4a1a0.entry.js +4 -0
  527. package/dist/twilight/{p-710a3ce8.entry.js → p-997c4966.entry.js} +1 -1
  528. package/dist/twilight/p-9b6db6a7.entry.js +4 -0
  529. package/dist/twilight/p-9c7fcbb0.entry.js +4 -0
  530. package/dist/twilight/p-9fa351ab.entry.js +4 -0
  531. package/dist/twilight/{p-DwA0FvNE.js → p-B9VKgTTF.js} +1 -1
  532. package/dist/twilight/{p-CXRKXFgT.js → p-BChI23pG.js} +1 -1
  533. package/dist/twilight/{p-gy7RAvBD.js → p-BiyhYWus.js} +1 -1
  534. package/dist/twilight/{p-8Tsmrwno.js → p-BsLF_HK7.js} +1 -1
  535. package/dist/twilight/{p-BZp0rKEO.js → p-BsXh13x8.js} +1 -1
  536. package/dist/twilight/{p-BqKKpKiZ.js → p-BtymczNp.js} +1 -1
  537. package/dist/twilight/{p-BBYplmag.js → p-C1wu6qA1.js} +1 -1
  538. package/dist/twilight/{p-BMmR9fBv.js → p-C6w35AiQ.js} +1 -1
  539. package/dist/twilight/{p-CnydhXLD.js → p-CGDRqU6i.js} +1 -1
  540. package/dist/twilight/{p-BICKbbaT.js → p-CjQzkU95.js} +2 -2
  541. package/dist/twilight/{p-DGAX-mOJ.js → p-CmQyEOxJ.js} +2 -2
  542. package/dist/twilight/{p-Dbba1-no.js → p-D2uiOzVz.js} +1 -1
  543. package/dist/twilight/{p-D1s2kXqL.js → p-DRvZV5oe.js} +1 -1
  544. package/dist/twilight/{p-CH2gmG7u.js → p-DfJdKB52.js} +1 -1
  545. package/dist/twilight/{p-0-eTJXSD.js → p-DxkgAGoT.js} +1 -1
  546. package/dist/twilight/{p-CciN5Q_x.js → p-Z7udRKSZ.js} +1 -1
  547. package/dist/twilight/p-a1494e64.entry.js +4 -0
  548. package/dist/twilight/p-a3f00389.entry.js +4 -0
  549. package/dist/twilight/p-a669483e.entry.js +4 -0
  550. package/dist/twilight/p-a802826b.entry.js +4 -0
  551. package/dist/twilight/p-ae536a61.entry.js +4 -0
  552. package/dist/twilight/p-aeb76c46.entry.js +4 -0
  553. package/dist/twilight/p-b0e86201.entry.js +4 -0
  554. package/dist/twilight/p-b1812d5c.entry.js +4 -0
  555. package/dist/twilight/p-b193c991.entry.js +4 -0
  556. package/dist/twilight/p-b3fe5e44.entry.js +4 -0
  557. package/dist/twilight/p-b69e98a8.entry.js +4 -0
  558. package/dist/twilight/{p-2ac47b6b.entry.js → p-bbe79568.entry.js} +1 -1
  559. package/dist/twilight/{p-99b6543b.entry.js → p-bf183f3a.entry.js} +1 -1
  560. package/dist/twilight/p-c254b6fa.entry.js +4 -0
  561. package/dist/twilight/{p-064d4340.entry.js → p-cb179aba.entry.js} +1 -1
  562. package/dist/twilight/{p-8ea78b6a.entry.js → p-cc2b960c.entry.js} +1 -1
  563. package/dist/twilight/p-db02986a.entry.js +4 -0
  564. package/dist/twilight/{p-5d14a4ee.entry.js → p-dd5800dd.entry.js} +1 -1
  565. package/dist/twilight/p-e020f1c3.entry.js +4 -0
  566. package/dist/twilight/p-e701a3dc.entry.js +4 -0
  567. package/dist/twilight/p-f1eebeda.entry.js +4 -0
  568. package/dist/twilight/p-f4bdf19e.entry.js +4 -0
  569. package/dist/twilight/p-f7298462.entry.js +4 -0
  570. package/dist/twilight/{p-24cb77eb.entry.js → p-fa28a89f.entry.js} +1 -1
  571. package/dist/twilight/p-faaf4423.entry.js +4 -0
  572. package/dist/twilight/p-fe7990b7.entry.js +4 -0
  573. package/dist/twilight/twilight.esm.js +1 -1
  574. package/dist/types/components/salla-bullet-delivery/helpers.d.ts +9 -0
  575. package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +1 -0
  576. package/dist/types/components/salla-loyalty-program/interfaces.d.ts +1 -1
  577. package/dist/types/global/base-css.d.ts +1 -0
  578. package/package.json +8 -7
  579. package/dist/cjs/functions-BbsKJYTv.js +0 -102
  580. package/dist/cjs/percentage-Fs83gq6Q.js +0 -21
  581. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +0 -67
  582. package/dist/cjs/salla-loyalty-exchange-product-card_5.cjs.entry.js +0 -305
  583. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +0 -255
  584. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +0 -104
  585. package/dist/cjs/salla-loyalty-program.cjs.entry.js +0 -134
  586. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +0 -54
  587. package/dist/cjs/salla-notification-item.cjs.entry.js +0 -20
  588. package/dist/cjs/salla-notifications.cjs.entry.js +0 -157
  589. package/dist/cjs/salla-product-card_2.cjs.entry.js +0 -319
  590. package/dist/cjs/shipping-CPYcgyCL.js +0 -13
  591. package/dist/cjs/tag-D-PcUR33.js +0 -12
  592. package/dist/cjs/tracked-promise-FYMkib0n.js +0 -31
  593. package/dist/cjs/user-add-BCGrddZS.js +0 -13
  594. package/dist/esm/functions-DBwN_PnC.js +0 -95
  595. package/dist/esm/percentage-Bs6JxDkg.js +0 -18
  596. package/dist/esm/salla-loyalty-banner.entry.js +0 -65
  597. package/dist/esm/salla-loyalty-exchange-product-card_5.entry.js +0 -299
  598. package/dist/esm/salla-loyalty-hero_2.entry.js +0 -252
  599. package/dist/esm/salla-loyalty-panel.entry.js +0 -102
  600. package/dist/esm/salla-loyalty-program.entry.js +0 -132
  601. package/dist/esm/salla-loyalty-reward.entry.js +0 -52
  602. package/dist/esm/salla-notification-item.entry.js +0 -18
  603. package/dist/esm/salla-notifications.entry.js +0 -155
  604. package/dist/esm/salla-product-card_2.entry.js +0 -316
  605. package/dist/esm/shipping-CZRcMGA9.js +0 -11
  606. package/dist/esm/tag-cgSL_BIo.js +0 -10
  607. package/dist/esm/tracked-promise-BGUdJ_Y7.js +0 -29
  608. package/dist/esm/user-add-QpH8MU22.js +0 -11
  609. package/dist/twilight/p-035e0ede.entry.js +0 -4
  610. package/dist/twilight/p-0a34505a.entry.js +0 -4
  611. package/dist/twilight/p-123ea3ce.entry.js +0 -4
  612. package/dist/twilight/p-169db5a8.entry.js +0 -4
  613. package/dist/twilight/p-182271b9.entry.js +0 -4
  614. package/dist/twilight/p-1d6e569d.entry.js +0 -4
  615. package/dist/twilight/p-21eef21b.entry.js +0 -4
  616. package/dist/twilight/p-22da89fa.entry.js +0 -4
  617. package/dist/twilight/p-23e937b6.entry.js +0 -4
  618. package/dist/twilight/p-2b07007d.entry.js +0 -4
  619. package/dist/twilight/p-2bf03b63.entry.js +0 -4
  620. package/dist/twilight/p-2c78a0ef.entry.js +0 -4
  621. package/dist/twilight/p-30660cd8.entry.js +0 -4
  622. package/dist/twilight/p-34ed76ac.entry.js +0 -4
  623. package/dist/twilight/p-3eb13818.entry.js +0 -4
  624. package/dist/twilight/p-3ff42b07.entry.js +0 -4
  625. package/dist/twilight/p-44a81e6e.entry.js +0 -4
  626. package/dist/twilight/p-44b0d992.entry.js +0 -4
  627. package/dist/twilight/p-45982933.entry.js +0 -4
  628. package/dist/twilight/p-45b975c2.entry.js +0 -4
  629. package/dist/twilight/p-492415ef.entry.js +0 -4
  630. package/dist/twilight/p-4c9e1e69.entry.js +0 -4
  631. package/dist/twilight/p-4f75de82.entry.js +0 -4
  632. package/dist/twilight/p-4ffb3087.entry.js +0 -4
  633. package/dist/twilight/p-598c5098.entry.js +0 -4
  634. package/dist/twilight/p-5c333767.entry.js +0 -4
  635. package/dist/twilight/p-5c452062.entry.js +0 -4
  636. package/dist/twilight/p-60901520.entry.js +0 -4
  637. package/dist/twilight/p-649e1e03.entry.js +0 -4
  638. package/dist/twilight/p-670e6462.entry.js +0 -4
  639. package/dist/twilight/p-6a814b15.entry.js +0 -4
  640. package/dist/twilight/p-6def828f.entry.js +0 -4
  641. package/dist/twilight/p-70e3120c.entry.js +0 -4
  642. package/dist/twilight/p-74d7660d.entry.js +0 -4
  643. package/dist/twilight/p-7518b9d3.entry.js +0 -4
  644. package/dist/twilight/p-8638175a.entry.js +0 -4
  645. package/dist/twilight/p-8ea18b13.entry.js +0 -4
  646. package/dist/twilight/p-95ef5ed3.entry.js +0 -4
  647. package/dist/twilight/p-9c98fca1.entry.js +0 -4
  648. package/dist/twilight/p-9ee5b0f7.entry.js +0 -4
  649. package/dist/twilight/p-BgfpunEY.js +0 -4
  650. package/dist/twilight/p-Bs6JxDkg.js +0 -4
  651. package/dist/twilight/p-CZRcMGA9.js +0 -4
  652. package/dist/twilight/p-QpH8MU22.js +0 -4
  653. package/dist/twilight/p-a0a248bd.entry.js +0 -4
  654. package/dist/twilight/p-a0cf8839.entry.js +0 -4
  655. package/dist/twilight/p-a665082c.entry.js +0 -4
  656. package/dist/twilight/p-abe7ac70.entry.js +0 -4
  657. package/dist/twilight/p-ad38c3e0.entry.js +0 -4
  658. package/dist/twilight/p-adf1ebf6.entry.js +0 -4
  659. package/dist/twilight/p-aec408ec.entry.js +0 -4
  660. package/dist/twilight/p-afa12e38.entry.js +0 -4
  661. package/dist/twilight/p-b17da4d5.entry.js +0 -4
  662. package/dist/twilight/p-b5ca8b9f.entry.js +0 -4
  663. package/dist/twilight/p-b5cc3e95.entry.js +0 -4
  664. package/dist/twilight/p-b725b869.entry.js +0 -4
  665. package/dist/twilight/p-bba004e0.entry.js +0 -4
  666. package/dist/twilight/p-bcef7f80.entry.js +0 -4
  667. package/dist/twilight/p-bdc23bcf.entry.js +0 -4
  668. package/dist/twilight/p-bfdb98db.entry.js +0 -4
  669. package/dist/twilight/p-c139be2a.entry.js +0 -4
  670. package/dist/twilight/p-c47486be.entry.js +0 -4
  671. package/dist/twilight/p-c861e9f8.entry.js +0 -4
  672. package/dist/twilight/p-cc6eb9fd.entry.js +0 -4
  673. package/dist/twilight/p-cdb0d7fb.entry.js +0 -4
  674. package/dist/twilight/p-cdc3ac03.entry.js +0 -4
  675. package/dist/twilight/p-cgSL_BIo.js +0 -4
  676. package/dist/twilight/p-d6941dc6.entry.js +0 -4
  677. package/dist/twilight/p-dd6ec724.entry.js +0 -4
  678. package/dist/twilight/p-ddabd5f2.entry.js +0 -4
  679. package/dist/twilight/p-e7a1f0c1.entry.js +0 -4
  680. package/dist/twilight/p-eafff38c.entry.js +0 -4
  681. package/dist/twilight/p-efccc05e.entry.js +0 -4
  682. package/dist/twilight/p-faec58b8.entry.js +0 -4
  683. package/dist/twilight/p-fdbe9913.entry.js +0 -4
  684. package/dist/twilight/p-fde5aae7.entry.js +0 -4
  685. package/dist/twilight/p-g9J0grSR.js +0 -4
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as t,c as i,h as o,H as e,a,e as s}from"./p-CjQzkU95.js";import{P as r}from"./p-DY4LZmNP.js";import{H as n}from"./p-DOBDDG4K.js";import{a as l}from"./p-CL7OPpYS.js";import{B as p}from"./p-D3mWkc-3.js";import{D as d}from"./p-CoQJOPRz.js";import{i as c}from"./p-BsXh13x8.js";import{C as u}from"./p-C6jIkM-X.js";import"./p-CgtvEd63.js";const h="apple-pay-sdk";let m=null;function g(){return salla?.config?.get?.("store.settings.buy_now.merchant_identifier")||null}function y(){return"undefined"==typeof document?Promise.resolve():m||(document.getElementById(h)?(m=Promise.resolve(),m):(m=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",h),i.async=!0,i.onload=()=>t(),i.onerror=()=>t(),document.body.appendChild(i)})),m))}async function b(t="SAR"){try{if(window.ApplePaySession?.canMakePayments?.())return!0}catch(t){}if("undefined"==typeof window||!window.PaymentRequest)return!1;if(!g())return!1;await y();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:g(),supportedNetworks:salla?.config?.get?.("store.settings.buy_now.supportedNetworks")||salla?.config?.get?.("store.settings.buy_now.networks")||["masterCard","visa"],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}}class w{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 w(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||[];if(!e.length)return void this.resumeWidget(i);const a=this.livePrice>0?this.livePrice:Number(o?.data?.products?.[0]?.price?.amount)||0,s=this.ensureModal();try{const t=await s.open({orderOptions:e,basePrice:a});this.injectIntoMini(t?.orderOptions||[]),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){if(!t.length)return;const i=this.productId,o=e=>{if(String(e?.id)===String(i))try{e?.payload?.set?.("order_options",t)}finally{salla.event.off("cart::before.add.item",o)}};salla.event.on("cart::before.add.item",o)}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()}}const f=class{constructor(o){t(this,o),this.success=i(this,"success"),this.failed=i(this,"failed"),this.hostAttributes={},this.hasPreOrder=!1,this.productStatus="sale",this.productType="product",this.selectedOptions=[],this.buyNowText=salla.lang.get("pages.products.buy_now"),this.isDesktopViewport="undefined"==typeof window||window.matchMedia("(min-width: 768px)").matches,this.viewportMediaQuery=null,this.orderOptionsGateAttached=!1,this.onViewportChange=t=>{this.isDesktopViewport=t.matches,this.btn?.setText(t.matches&&this.passedLabel?this.passedLabel:this.getLabel())},salla.lang.onLoaded((()=>{this.buyNowText=salla.lang.get("pages.products.buy_now")}))}getLabel(){return"sale"===this.productStatus&&this.supportStickyBar&&!this.isDesktopViewport&&this.showQuickBuy&&this.isApplePayActive?r: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?salla.lang.get("pages.cart.add_to_cart"):"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:n.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 this.hostAttributes}get notifyChannels(){return this.channels||salla.api.product.getAvailabilityChannels?.()||n.availabilityChannels()}getQuickBuyBtnAttributes(){return{...this.getBtnAttributes(),type:this.supportStickyBar&&!this.isDesktopViewport?"plain":"donating"==this.productType?"donate":"buy"}}miniCheckoutWidget(){let t=salla.config.get("store.id");if(t)return o("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"},o("div",{slot:"widget-label",class:"s-add-product-button-mini-checkout-content"},o("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>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'}),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)&&await b(),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?o(e,null,o("salla-product-availability",{...this.getBtnAttributes(),"is-subscribed":!0},o("span",{class:"s-hidden"},o("slot",null)))):"out-and-notify"===this.productStatus&&this.notifyChannels||this.hasOutOfStockOption?o(e,null,o("salla-product-availability",{...this.getBtnAttributes()},o("span",{class:"s-hidden"},o("slot",null)))):o(e,{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}},o("div",{class:{"s-add-product-button-main":this.showQuickBuy,"w-full":!document.getElementById("fast-checkout-js")||["financial_support","donating"].includes(this.productType)}},o("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,...this.getBtnAttributes(),"loader-position":"center"},o("slot",null)),this.showQuickBuy&&document.getElementById("fast-checkout-js")&&!["financial_support","donating"].includes(this.productType)?this.miniCheckoutWidget():""),this.showQuickBuy&&this.isApplePayActive?o("salla-quick-buy",{...this.getQuickBuyBtnAttributes()}):"")}async componentDidLoad(){await Salla.hooks.registerComponent("salla-add-product-button",this),this.notifyOptionsAvailability&&salla.event.on("product-options::change",(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))))))}))}componentDidRender(){!this.orderOptionsGateAttached&&this.productId&&salla.config.get("store.settings.order_options.mandatory",!1)&&w.attach(this.host,this.productId)&&(this.orderOptionsGateAttached=!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.viewportMediaQuery?.removeEventListener("change",this.onViewportChange)}get host(){return a(this)}};f.style='/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.sticky{position:sticky}.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-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-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 v=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,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,l(String(t));this.canRender=!1})).then((t=>{if(!t?.length)return void(this.canRender=!1);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})}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}])}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}])}}catch(i){salla.log(i),t=!0}t&&salla.error(salla.lang.get("common.messages.error"))}finally{this.isAdding=!1}}getSkeletonView(){return o(e,{class:"s-bought-together-entry"},o("div",{class:"s-bought-together-skeleton"},o("div",{class:"s-bought-together-skeleton-header"},o("salla-skeleton",{height:"16px",width:"35%"}),o("salla-skeleton",{height:"10px",width:"60%"})),Array(4).fill(null).map(((t,i)=>o("div",{key:i,class:"s-bought-together-skeleton-item"},o("salla-skeleton",{height:"22px",width:"22px"}),o("salla-skeleton",{height:"48px",width:"48px"}),o("div",{class:"s-bought-together-skeleton-info"},o("salla-skeleton",{height:"12px",width:"55%",style:{marginBottom:"3px"}}),o("salla-skeleton",{height:"10px",width:"25%"}))))),o("salla-skeleton",{height:"44px",width:"100%"})))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.recommendations.length?o(e,{class:"s-bought-together-entry"},o("div",{class:"s-bought-together-header"},o("h3",{class:"s-bought-together-title"},this.title),o("p",{class:"s-bought-together-subtitle"},this.subtitle)),o("div",{class:"s-bought-together-list"},this.recommendations.map((t=>o("div",{key:t.id,class:"s-bought-together-item"+(this.selectedIds.has(t.id)?"":" s-bought-together-item--unchecked")},o("label",{class:"s-bought-together-checkbox-label"},o("input",{type:"checkbox",class:"s-bought-together-checkbox",checked:this.selectedIds.has(t.id),onChange:()=>this.toggleProduct(t.id)}),o("span",{class:"s-bought-together-checkmark"})),o("a",{class:"s-bought-together-item-link",href:t.url,onClick:()=>!this.isMainProduct(t.id)&&this.emitProductClicked(t,this.recommendedPosition(t.id))},o("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")}}),o("span",{class:"s-bought-together-item-name"},t.name)),o("span",{class:"s-bought-together-item-price",innerHTML:null!=t.price?salla.money(t.price):""}))))),o("salla-button",{class:"s-bought-together-btn",disabled:!this.selectedIds.size||this.isAdding,loading:this.isAdding,onClick:()=>this.addSelectedToCart()},o("span",{innerHTML:`${this.buyTogetherFor} ${this.totalPrice}`}))):null:null}get el(){return a(this)}};v.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 x=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()},salla.lang.onLoaded((()=>{this.translationLoaded=!0,this.title_=this.host.title||salla.lang.get("pages.products.notify_availability_title"),this.modal?.setTitle(this.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"))}channelsWatcher(t){let i=t||salla.api.product.getAvailabilityChannels?.()||n.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=n.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 o(e,{key:"ccb098126e7809a6386ff38c74dfa0f00f64deeb",class:"s-product-availability-wrap"},this.isSubscribedToProduct?o("div",{class:"s-product-availability-subscribed"},o("span",{innerHTML:p,class:"s-product-availability-subs-icon"}),salla.lang.get("pages.products.notify_availability_success")):o("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 o("salla-modal",{ref:t=>this.modal=t,"modal-title":this.title_,subTitle:salla.lang.get("pages.products.notify_availability_subtitle"),width:"sm"},o("span",{slot:"icon",class:"s-product-availability-header-icon",innerHTML:p}),o("div",{class:"s-product-availability-body"},this.channels_.includes("email")?[o("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.email")),o("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"}),o("span",{class:"s-product-availability-error-msg"})]:"",this.channels_.includes("sms")||this.channels_.includes("whatsapp")?[o("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.mobile")),o("salla-tel-input",{ref:t=>this.mobileInput=t,onKeyDown:t=>this.typing(t)})]:""),o("div",{slot:"footer",class:"s-product-availability-footer"},o("salla-button",{class:"modal-cancel-btn",width:"wide",color:"light",fill:"outline",onClick:()=>this.modal.close()},salla.lang.get("common.elements.cancel")),o("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 a(this)}static get watchers(){return{channels:["channelsWatcher"]}}};var k,_,S;x.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"}(k||(k={})),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"}(_||(_={})),function(t){t[t.INPUT=1]="INPUT",t[t.LIMBO=2]="LIMBO",t[t.LOCAL=3]="LOCAL"}(S||(S={}));const C=class{constructor(e){if(t(this,e),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!==d.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 o("div",{class:{"s-product-options-donation-message":!0,"s-product-options-donation-completed":i,"s-product-options-donation-expired":!i}},o("p",null,t.donation.target_message),o("span",{innerHTML:i?salla.money(t.donation.target_amount):""}))},salla.lang.onLoaded((()=>{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","اختر المبلغ")})),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)}))}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=void 0!==this.bundleContext?this.bundleContext:null;return i.forEach(((i,e)=>{if(o){if(e.startsWith("bundle[")&&e.includes("[options][")){const o=e.split("[options][")[1].replace("]","");t[o]=i}}else e.startsWith("options[")&&(t[e.replace("options[","").replace("]","")]=i)})),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===d.FILE||i.type===d.IMAGE)&&"added"===t.type||i.type===d.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===d.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===d.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,details:t.details.map((t=>({...t,is_selected:e.option.type===d.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.setSelectedSkus(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===d.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!==d.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(){const t=Math.max(1,this.optionsData.length);for(let i=0;i<t;i++){let t=!1;for(const i of this.optionsData){const o=i.visibility_condition;if(!o)continue;const e=this.selectedOptions.filter((t=>t.option_id===o.option)).map((t=>String(t.id))).includes(String(o.value));("="===o.operator?e:!e)||this.clearStaleOption(i.id)&&(t=!0)}if(!t)break}}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===d.COLOR_PICKER?this.colorPickerOption(t):t.type===d.MULTIPLE_OPTIONS?this.multipleOptions(t):t.type===d.SINGLE_OPTION?this.singleOption(t):t.type===d.RADIO?this.radioOption(t):t.type===d.DIGITAL_CARD_VALUE?this.digitalCardValuesOption(t):t.type===d.COUNTRY?this.countryOption(t):t.type===d.BOOKING&&salla.url.is_page("cart")?o("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.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===d.DIGITAL_CARD_VALUE&&!salla.url.is_page("cart")}render(){if(0!==this.optionsData?.length)return o(e,{class:{"s-product-options-wrapper":!0,"s-product-options-no-padding":this.noPadding}},o("salla-conditional-fields",null,this.optionsData.map((t=>o("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():o("div",{class:{"s-product-options-option":!0,"s-product-options-option-booking":t.type===d.BOOKING&&salla.url.is_page("cart")},"data-option-type":t.type,"data-option-required":`${t.required}`},o("label",{htmlFor:this.generateInputId(t.id),class:"s-product-options-option-label "+(this.hideLabel(t)?"s-product-options-option-label-hidden":"")},o("b",null,t.name,t.required&&o("span",null," * ")," "),o("small",null,t.placeholder)),o("div",{class:"s-product-options-option-content "+(this.hideLabel(t)||t.type===d.BOOKING&&salla.url.is_page("cart")?"s-product-options-option-content-full-width":"")},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===d.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===d.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=[d.SINGLE_OPTION,d.MULTIPLE_OPTIONS,d.COLOR,d.THUMBNAIL,d.DONATION,d.DIGITAL_CARD_VALUE,d.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 o("div",{class:"s-product-options-donation-wrapper"},t.donation?.can_donate?[t.donation?o("div",{key:t.id,class:"s-product-options-donation-progress"},o("salla-progress-bar",{donation:t.donation})):"",t.details.length?[o("h4",{key:t.id},this.selectAmount),o("div",{key:t.id,class:"s-product-options-donation-options"},t.details.map(((i,e)=>o("div",{key:t.id,class:"s-product-options-donation-options-item"},o("input",{id:this.generateUniqueKey(`donation-option-${e}`),type:"radio",name:"donating_option",checked:i.is_selected,value:i.additional_price,onChange:o=>this.handleDonationOptions(o,i,"option",t)}),o("label",{htmlFor:this.generateUniqueKey(`donation-option-${e}`)},o("span",{innerHTML:salla.money(i.name)}))))),t.donation?.custom_amount_enabled?o("div",{class:"s-product-options-donation-options-item"},o("input",{id:this.generateUniqueKey("donation-option-custom"),type:"radio",name:"donating_option",value:"custom",onChange:i=>this.handleDonationOptions(i,"custom","option",t)}),o("label",{htmlFor:this.generateUniqueKey("donation-option-custom")},o("span",null," ",this.selectDonationAmount," "))):"")]:"",o("div",{key:t.id,class:{"s-product-options-donation-input-group":!0,shown:!t.details.length||t.details.length&&this.isCustomDonation}},o("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)}),o("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 o("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===S.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}},o("div",{class:"s-product-options-filepond-placeholder"},o("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:i.accept?.split(",").every((t=>t.includes("image")))?u:'\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'}),o("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),o("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 o("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 o("div",{class:"s-product-options-splitter"})}textOption(t){return o("div",{class:"s-product-options-text"},o("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 o("div",{class:"s-product-options-textarea"},o("div",{class:"mt-1"},o("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 o("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 o("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 o("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 o("div",{class:"s-product-options-date-element"},o("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 o("div",{class:"s-product-options-datetime-element"},o("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===d.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=salla.helpers.digitsOnly(t.name),e=Number(i);return i&&Number.isFinite(e)?salla.money(e,!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 p=a;for(const t of o){if(r.has(t.option_id))continue;const i=new Set(Object.keys(t.skus_availability||{}).map(Number));p=p.filter((t=>i.has(t)))}if(!p.length){e[i.id]=l?"available":"impossible";continue}const d=p.some((i=>t[i]));e[i.id]=!d&&l||d?"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,e,a,s,r){const n=this.generateUniqueKey(`${t}-${e.id}-${i.id}`),l=this.isOptionDetailOut(i),p=this.getOptionDetailName(i,!0,e.type,e.format),d={"s-product-options-grid-mode-span":r,"s-product-options-disabled":this.canDisabled&&l};return o("label",{class:{"s-product-options-disabled":this.canDisabled&&l,"s-product-options-option-stock-out":l}},o("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,e),onChange:t=>this.changedHandler(t,e)}),"price"===e.format?o("div",{class:d,innerHTML:p}):o("div",{class:d},p))}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 o("div",null,o("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)},o("option",{value:""},t.placeholder),t?.details.map((t=>o("option",{key:t.id,value:t.id,disabled:this.canDisabled&&this.isOptionDetailOut(t),selected:t.is_selected},this.getOptionDetailName(t))))))}renderButtonStyle(t,i,e){return o("div",{class:"s-product-options-grid-mode"},this.renderOptionDetails(t,i,e,!0))}singleOption(t){return"button"===this.optionConfig?.["single-option"]?.type||t.type===d.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,e=t.required&&!t.details.some((t=>t.is_selected))&&!t.visibility_condition;return i?this.renderButtonStyle("checkbox",t,e):o("div",{class:{"s-product-options-multiple-options-wrapper":!0,required:t.required}},this.renderOptionDetails("checkbox",t,e))}radioOption(t){return this.singleOption(t)}colorOption(t){return o("fieldset",{class:"s-product-options-colors-wrapper"},t?.details.map((i=>{const e=this.isOptionDetailOut(i);return o("div",{class:{"s-product-options-colors-item":!0,"s-product-options-option-stock-out":e},key:i.id},o("input",{type:"radio",value:i.id,required:!t.visibility_condition&&t.required,checked:i.is_selected,name:this.generateInputName(t.id),disabled:this.canDisabled&&e,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}),o("label",{htmlFor:this.generateUniqueKey(`color-${this.productId}-${t.id}-${i.id}`),"data-img-id":i.option_value},o("span",{style:{backgroundColor:i.color}}),o("div",{innerHTML:this.getOptionDetailName(i,!0,t.type)})))})))}thumbnailOption(t){return o("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((i=>{const e=this.isOptionDetailOut(i);return o("div",{key:i.id,class:{"s-product-options-option-stock-out":e}},o("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&&e,id:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}),o("label",{htmlFor:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),"data-img-id":i.option_value,class:"go-to-slide"},o("img",{"data-src":i.image,src:i.image,title:i.name,alt:i.name}),o("span",{innerHTML:c,class:"s-product-options-thumbnails-icon"}),e?[o("small",{key:`badge-${i.id}`,class:"s-product-options-thumbnails-stock-badge"},this.outOfStockText),this.canDisabled?o("div",{key:`overlay-${i.id}`,class:"s-product-options-thumbnails-badge-overlay"}):""]:""),o("p",null,this.getOptionDetailName(i,!1)," "))})))}digitalCardValuesOption(t){return o("div",{class:"s-product-options-digital-card-wrapper"},this.availableDigitalCardValues.length>0?this.availableDigitalCardValues.map((i=>{const e=String(i.id);return o("label",{htmlFor:this.generateUniqueKey(e.toString()),key:e,class:"s-product-options-digital-card-option"},o("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(e.toString()),required:!t.visibility_condition&&t.required,onInvalid:i=>this.invalidHandler(i,t),...this.ignoreDefaultCardValue?{}:{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===i.id}}),o("span",null,i.name," ",salla.config?.currency()?.symbol))})):o("div",{class:"s-product-options-digital-card-out-of-stock"}))}countryOption(t){return o("div",{class:"s-product-options-digital-card-wrapper"},t.details.map((i=>{const e=this.isOptionDetailOut(i);return o("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":e,"s-product-options-option-stock-out":e}},o("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&&e,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}:{}}),o("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")}}),o("span",null,i.name))})))}get host(){return a(this)}};function P(){s.defaults.headers.common.currency=salla?.config?.get?.("user.currency_code")}C.style='/*!twlt*/.mt-1{margin-top:0.25rem}.block{display:block}.inline{display:inline}.grid{display:grid}.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-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 I={request:(t,i,o,e=null,a=null)=>(P(),s.request({url:i,data:o,method:t.toLowerCase(),responseType:"json"}).then(e).catch(a)),get:(t,i=null,o=null,e)=>(P(),s.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)));P(),$.ajax({url:t,method:o.toUpperCase(),data:i,headers:{currency:s.defaults.headers.common.currency},async:!1,success:function({data:t}){return e(t)},error:function({response:t}){return a(t)}})}))}},O={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 q(t,i,o=!1){if(salla.logger.log("🍏 Pay: mutateShippingContact called",i,o),t.detail.requiredShippingContactFields&&0!=t.detail.requiredShippingContactFields.length)if(o){if(salla.config.isGuest()&&salla.config.get("store.features").includes("guest-checkout")){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)=>{I.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 I.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 z="undefined"!=typeof window&&!!window.ApplePaySession,N="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",N.startSession),Salla.event.addEventListener("payments::apple-pay.start-transaction",N.startSession)},initDefault:function(){N.detail.onError||(N.detail.onError=function(t){salla.notify.error(t)}),N.detail.authorized.onFailed||(N.detail.authorized.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse(t),N.onCancel({},t.data.error.message)}),N.detail.validateMerchant.onFailed||(N.detail.validateMerchant.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse({response:t}),N.onCancel({},t.data.error.message)}),N.detail.authorized.onSuccess||(N.detail.authorized.onSuccess=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleAfterResponseActions(t)})},prepareLineItems:function(){return N.detail?.items?.length||(N.detail.items=[{label:salla.lang.get("pages.cart.items_total"),amount:parseFloat(N.detail.amount).toString()}]),N.detail.items},prepareTotal:function(){return{label:window.location.hostname||"Salla",amount:parseFloat(N.detail.amount).toString()}},isPhysical:()=>N.detail?.requiredShippingContactFields?.includes("postalAddress"),canUseNative:function(){if(!z)return!1;try{return ApplePaySession.canMakePayments()}catch(t){return!1}},getMerchantIdentifier:function(){return N.detail&&N.detail.merchantIdentifier||null},startSession:async function(t){return N.detail=t.detail||t,N.canceled=!1,salla.log("🍏 Pay: payments::apple-pay.start-transaction",N.detail),N.initDefault(),N.canUseNative()?N.startNativeSession(t):N.startPaymentRequestSession(t)},startNativeSession:async function(t){let i,o=N.getApplePaySessionVersion(),e=N.detail.supportedNetworks,a=Array.isArray(e)?[...e]:Object.values(e||{});a.length||(a=["masterCard","visa"]),5!==o||a.includes("mada")||a.push("mada"),N.request={countryCode:N.detail.countryCode||"SA",supportsCouponCode:!0,couponCode:"",currencyCode:N.detail.currency||"SAR",requiredShippingContactFields:N.detail.requiredShippingContactFields?N.detail.requiredShippingContactFields:[],merchantCapabilities:["supports3DS"],supportedNetworks:a,supportedCountries:N.detail.supportedCountries||["SA"],total:N.prepareTotal(),shippingContact:N.detail.shippingContact?N.detail.shippingContact:{},shippingMethods:N.detail.shippingMethods&&N.detail.shippingMethods.length?N.mappingShippingMethods(t.detail.shippingMethods):[],lineItems:N.prepareLineItems()},salla.log("🍏 Pay: init ",N.request),N.session=new ApplePaySession(o,N.request),N.session.onshippingcontactselected=N.onShippingContactSelected,N.session.onshippingmethodselected=N.onShippingMethodSelected,N.session.onvalidatemerchant=N.onValidateMerchant,N.session.onpaymentauthorized=N.onPaymentAuthorized,N.session.oncancel=N.onCancel,N.session.oncouponcodechanged=N.onCouponCodeChanged,N.session.onpaymentmethodselected=N.onPaymentMethodSelected,"function"==typeof N.detail.onStartedSession&&(i=N.detail.onStartedSession(N.session)),i||N.session.begin()},onPaymentMethodSelected:async t=>{if(salla.logger.log("🍏 Pay: onPaymentMethodSelected",t),N.isPhysical())salla.logger.log("🍏 Pay: completePaymentMethodSelection",{newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()}),N.session.completePaymentMethodSelection({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()});else try{await N.recalculateTotal();const t={newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()};salla.logger.log("🍏 Pay: completePaymentMethodSelection",t),N.session.completePaymentMethodSelection(t)}catch(t){salla.logger.warn("🍏 Pay: Failed recalculate total",t),N.session.completePaymentMethodSelection({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems(),status:N.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),I.post(N.detail.onCouponCodeChanged.url.replace("{id}",N.id),{coupon:t.couponCode,payment_method:"apple_pay"},(async({data:t})=>{"function"==typeof N.detail.onCouponCodeChanged.onSuccess&&N.detail.onCouponCodeChanged.onSuccess(t),salla.log("🍏 Pay: Coupon applied success"),await N.recalculateTotal(),N.session.completeCouponCodeChange({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()})}),(async t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.coupon.failed",i),"function"==typeof N.detail.onCouponCodeChanged.onFailed&&N.detail.onCouponCodeChanged.onFailed(i),await N.recalculateTotal(),N.session.completeCouponCodeChange({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems(),errors:[new window.ApplePayError("couponCodeInvalid")]})}))),onCancel:(t={},i=null)=>{N.canceled=!0,N.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 q(N,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 N.detail.authorized.onFailed&&N.detail.authorized.onFailed(i),void N.session.completePayment({status:ApplePaySession.STATUS_INVALID_SHIPPING_CONTACT,errors:e})}Salla.event.dispatch("payments::apple-pay.authorized.init",t),I.post(N.detail.authorized.url.replace("{id}",N.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.payment)},(({data:t})=>{Salla.event.dispatch("payments::apple-pay.authorized.success",t),"function"==typeof N.detail.authorized.onSuccess&&N.detail.authorized.onSuccess(t),N.session.completePayment(ApplePaySession.STATUS_SUCCESS)}),(t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.authorized.failed",i),"function"==typeof N.detail.authorized.onFailed&&N.detail.authorized.onFailed(i),N.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 I.post(N.detail.validateMerchant.url.replace("{id}",N.id),{validation_url:t.validationURL});Salla.event.dispatch("payments::apple-pay.validate-merchant.success",i);const o=t=>{N.session.completeMerchantValidation(t)};if("function"==typeof N.detail.validateMerchant.onSuccess){const t=await N.detail.validateMerchant.onSuccess(i);if(t?.redirect)return window.location=t.redirect,N.abortValidateMerchant(t)}o(i.data)}catch(t){console.error(t),N.abortValidateMerchant(t?.response)}},abortValidateMerchant:(t=null)=>{N.abortSession(),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",t),"function"==typeof N.detail.validateMerchant.onFailed&&N.detail.validateMerchant.onFailed(t)},onShippingContactSelected:async t=>{salla.logger.log("🍏 Pay: onShippingContactSelected",t.shippingContact),await q(N,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:N.shippingCompany,current:o}),N.shouldUpdateShippingCompany(o))try{await N.selectApplePayShippingMethod(o),await N.recalculateTotal()}catch(t){return salla.logger.warn("🍏 Pay: Failed set the shipping details to api",t),void N.session.completeShippingMethodSelection({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems(),status:N.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}salla.logger.log("🍏 Pay: completeShippingMethodSelection",{newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()}),N.session.completeShippingMethodSelection({newTotal:N.prepareTotal(),newLineItems:N.prepareLineItems()})},abortSession:()=>{N.session&&N.session.abort()},paymentRequest:null,paymentResponse:null,getCurrency:()=>N.detail.currency||"SAR",prAmount:t=>({currency:N.getCurrency(),value:String(t)}),prTotal:()=>{const t=N.prepareTotal();return{label:t.label,amount:N.prAmount(t.amount)}},prDisplayItems:()=>N.prepareLineItems().map((t=>({label:t.label,amount:N.prAmount(t.amount)}))),prShippingOptions:(t=null)=>N.mappingShippingMethods(N.shipping_methods||[]).map(((i,o)=>({id:i.identifier,label:i.label,amount:N.prAmount(i.amount),selected:t?i.identifier===t:0===o}))),prContactOptions:()=>{const t=N.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=N.getMerchantIdentifier();if(!t)return void salla.logger.error("🍏 Pay: missing merchant identifier — skipping QR Apple Pay");const i=N.getApplePaySessionVersion(),o=[...N.detail.supportedNetworks||["masterCard","visa"]];5!==i||o.includes("mada")||o.push("mada");const e=[{supportedMethods:"https://apple.com/apple-pay",data:{version:i,merchantIdentifier:t,merchantCapabilities:["supports3DS"],supportedNetworks:o,countryCode:N.detail.countryCode||"SA"}}],a=N.isPhysical(),s={total:N.prTotal(),displayItems:N.prDisplayItems()};let r;a&&(s.shippingOptions=N.prShippingOptions());try{r=new PaymentRequest(e,s,N.prContactOptions())}catch(t){return salla.logger.error("🍏 Pay: Failed to create PaymentRequest",t),void N.detail.onError(salla.lang.get("pages.checkout.payment_failed"))}N.paymentRequest=r,r.onmerchantvalidation=t=>{t.complete(N.prValidateMerchant(t))},a&&(r.onshippingaddresschange=t=>{t.updateWith(N.prShippingAddressChange(r))},r.onshippingoptionchange=t=>{t.updateWith(N.prShippingOptionChange(r))});const n=async()=>{Salla.event.dispatch("payments::apple-pay.sheet-opened");try{const t=await r.show();N.paymentResponse=t,await N.prPaymentAuthorized(t)}catch(t){salla.logger.log("🍏 Pay: PaymentRequest closed",t),"AbortError"!==t?.name||N.canceled||N.onCancel({})}finally{N.paymentRequest=null,N.paymentResponse=null,Salla.event.dispatch("payments::apple-pay.sheet-closed")}};let l;"function"==typeof N.detail.onStartedSession&&(l=N.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 I.post(N.detail.validateMerchant.url.replace("{id}",N.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}),N.onCancel({}),setTimeout((()=>{try{N.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 N.detail.validateMerchant.onSuccess){const t=await N.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 N.detail.validateMerchant.onFailed&&N.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:N.prTotal(),displayItems:N.prDisplayItems(),shippingOptions:[]};if(!i)return o;try{const{data:t}=await I.post(N.detail.shippingContactSelected.url.replace("{id}",N.id),{country:N.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 N.address_id=t.data.address_id,N.shipping_methods=t.data.shipping_methods,N.shipping_methods?.length?(await N.selectApplePayShippingMethod(N.shipping_methods[0]),await N.recalculateTotal(),{total:N.prTotal(),displayItems:N.prDisplayItems(),shippingOptions:N.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:N.prTotal(),displayItems:N.prDisplayItems(),shippingOptions:N.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 N.shouldUpdateShippingCompany(e)&&(await N.selectApplePayShippingMethod(e),await N.recalculateTotal()),{total:N.prTotal(),displayItems:N.prDisplayItems(),shippingOptions:N.prShippingOptions(i)}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping option change failed",t),{total:N.prTotal(),displayItems:N.prDisplayItems(),shippingOptions:N.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||N.detail.countryCode||null}},prPaymentAuthorized:async function(t){if(N.detail.guestContactSelected){const i=N.prContactFromResponse(t);if(!(i.emailAddress&&i.givenName&&i.familyName&&i.phoneNumber))return await t.complete("fail"),void N.detail.onError(salla.lang.get("common.messages.required_fields"));try{await I.post(N.detail.guestContactSelected.url.replace("{id}",N.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 N.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);try{const{data:o}=await I.post(N.detail.authorized.url.replace("{id}",N.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.details)});i=o,Salla.event.dispatch("payments::apple-pay.authorized.success",o),await t.complete("success")}catch(i){const o=i?.response;return Salla.event.dispatch("payments::apple-pay.authorized.failed",o),await t.complete("fail"),void("function"==typeof N.detail.authorized.onFailed&&N.detail.authorized.onFailed(o))}"function"==typeof N.detail.authorized.onSuccess&&N.detail.authorized.onSuccess(i)},shouldUpdateShippingCompany:t=>N.shippingCompany?.ship_id!=t?.ship_id||N.shippingCompany?.private_ship_id!=t?.private_ship_id,getApplePaySessionVersion:()=>{if("sallapp"===(navigator.userAgent||navigator.vendor||window.opera))return 5;let t=O.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"),I.get(N.detail.recalculateTotal.url.replace("{id}",N.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?(N.detail.amount=o.gateways.applePay.amount,N.detail.currency=o.gateways.applePay.currency??N.detail.currency):N.detail.amount=o?.gateways?.applePay?.supportedMultiCurrency?i.total_in_customer_currency:i.total,N.detail.items=(i.totals||i.items).map((t=>({label:t.title,amount:"مجاني"===t.amount||"Free"===t.amount?0:t.amount.toString().replace("+","")}))),N.detail.items.pop(),N.totals=N.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),N.shippingCompany=t;const i={address_id:N.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 I.post(N.detail.shippingMethodSelected.url.replace("{id}",N.id),i,(({data:t})=>("function"==typeof N.detail.shippingMethodSelected.onSuccess&&N.detail.shippingMethodSelected.onSuccess(t),!0)),(t=>{salla.logger.warn("🍏 Pay: Set shipping method failed",t),"function"==typeof N.detail.shippingMethodSelected.onFailed&&N.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}))},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=N),"undefined"!=typeof window&&(N.canUseNative()||window.PaymentRequest)?N.init():"undefined"!=typeof document&&document.querySelectorAll("data-show-if-apple-pay-supported").forEach((t=>t.style.display="none"));const M=class{constructor(o){t(this,o),this.validationFailed=i(this,"validationFailed"),this.requireLogin=i(this,"requireLogin"),this.type="buy",this.productType="product",this.options={},this.collectedOrderOptions=[],this.optionsResolved=!1,this.applePayAmount=0,this.pendingApplePaySession=null,this.quickBuy=salla.lang.get("pages.products.buy_now"),this.handleApplePaySessionStarted=t=>!!salla.config.get("store.settings.order_options.mandatory",!1)&&!this.optionsResolved&&(this.optionsResolved=!0,this.pendingApplePaySession=t,async function(t){let i;try{i=await salla.api.withoutNotifier((()=>salla.product.api.getOrderOptions([{id:t.productId,quantity:t.quantity}])))}catch(i){return salla?.logger?.warn?.("order-options: fetch failed",i),void t.beginPendingSession()}const o=i?.data?.order_options||[];if(!o.length)return void t.beginPendingSession();t.discardPendingSession();const e=Number(t.amount)>0?Number(t.amount):Number(i?.data?.products?.[0]?.price?.amount)||0,a=function(){let t=document.querySelector("salla-order-options-modal");return t||(t=document.createElement("salla-order-options-modal"),document.body.appendChild(t)),t}();try{await a.open({orderOptions:o,basePrice:e,paymentMode:"apple-pay",onSubmit:t.onSubmit})}catch{}}({productId:this.productId,amount:Number(this.amount),quantity:this.getSelectedQuantity(),beginPendingSession:()=>{this.pendingApplePaySession?.begin(),this.pendingApplePaySession=null},discardPendingSession:()=>{this.pendingApplePaySession=null},onSubmit:(t,i)=>{this.collectedOrderOptions=t,this.applePayAmount=i,this.settlePayment()}}),!0),salla.lang.onLoaded((()=>{this.quickBuy=salla.lang.get("pages.products.buy_now")}))}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.validatePdpOptionsSync()&&(this.optionsResolved=!1,this.collectedOrderOptions=[],this.applePayAmount=0,this.settlePayment())}validatePdpOptionsSync(){return!!function(t){const i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(!i)return!0;const o=i.querySelectorAll("[required]");let e=!0;return o.forEach((t=>{t.disabled||t.closest(".hidden")||"reportValidity"in t&&!t.reportValidity()&&(e=!1)})),e}(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}}async settlePayment(){let t=this.host.getElementSallaData();if(function(t,i){i.length&&(t&&"function"==typeof t.append?i.forEach(((i,o)=>{t.append(`order_options[${o}][id]`,String(i.id)),t.append(`order_options[${o}][value]`,String(i.value))})):t&&"object"==typeof t&&(t.order_options=i))}(t,this.collectedOrderOptions),"set"in t?(t.set("id",this.productId),t.set("source","buy_now")):(t.id=this.productId,t.source="buy_now"),!this.isApplePayActive)return salla.api.request("checkout/mini",t,"post").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(),shippingMethods:this.isRequireShipping?[]:void 0,supportedNetworks:Array.isArray(this.supportedNetworks)&&this.supportedNetworks.length?this.supportedNetworks:salla.config.get("store.settings.buy_now.supportedNetworks"),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:g(),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),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")}isGuestCheckout(){return salla.config.isGuest()&&salla.config.get("store.features").includes("guest-checkout")&&this.isPhysicalProduct()}getRequiredShippingContactFields(){let t=[];return this.isRequireShipping&&t.push("postalAddress"),this.isGuestCheckout()&&t.push("email","phone","name"),t}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")}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;this.isApplePayActive=t&&i&&o;const e=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)})),"donate"===this.type&&salla?.event?.on?salla.event.on("product-options::donation-changed",(t=>{String(t.id)===String(this.productId)&&this.applyBaseCurrencyPrice(t)})):salla?.url?.is_page?.("product.single")&&salla?.product?.event?.onPriceUpdated&&salla.product.event.onPriceUpdated((t=>{this.applyBaseCurrencyPrice(t?.data)}));const t=(salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??i)&&(salla?.config?.get?.("store.settings.is_salla_gateway",!1)??o);t&&y(),this.isApplePayActive=t&&await b(this.currency)};return new Promise((t=>{"function"==typeof salla?.onReady?salla.onReady((()=>e().then((()=>t(!0))))):e().then((()=>t(!0)))}))}render(){return o(e,{key:"fd28f7292f396779cbe6ae4d5986ab187be38c48"},this.quickBuyButton())}quickBuyButton(){return o("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 a(this)}};M.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{f as salla_add_product_button,v as salla_bought_together,x as salla_product_availability,C as salla_product_options,M as salla_quick_buy}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as t,h as e,a as s}from"./p-CjQzkU95.js";import{a as i}from"./p-CgtvEd63.js";const a=class{constructor(e){t(this,e),this.currentSlug=salla.config.get("page.slug"),salla.onReady((()=>{this.currentSlug=salla.config.get("page.slug")})),this.advSlot=this.host.querySelector('[slot="adv"]')?.innerHTML||'<div class="s-advertisement-content"><span class="s-advertisement-content-main">{iconElem}{urlElem}</span>{closeElem}</div>\n '}isNotVisible(t){return!(salla.config.isDebug()||salla.helpers.isPreview()||!salla.storage.get(`statusAd-${t.id}`))}setCanDisplayFlag(t,e){e||(salla.storage.set(`statusAd-${t.id}`,"dismissed"),i({targets:this.host,opacity:[1,0],duration:300,height:[this.host.clientHeight,0],easing:"easeInOutQuad"}))}render(){if((!Array.isArray(this.advertisements)||this.advertisements.length)&&this.advertisements)return this.advertisements.map((t=>e("div",{class:{"s-hidden":this.isNotVisible(t),"s-advertisement":!0},"data-id":t.id,style:{"background-color":t.colors.bg,color:t.colors.text}},e("div",{id:"adv-slot",innerHTML:this.advSlot.replace("{iconElem}",`<i class="s-advertisement-content-icon ${t.icon}"></i>`).replace("{urlElem}",t.url?`<a href="${t.url}" target="${t.target}">${t.description}</a>`:t.description).replace("{closeElem}",'<button class="s-advertisement-action" aria-label="close-alert"><i class="sicon-cancel"></i></button>').replace("{icon}",t.icon).replace("{url}",t.url).replace("{target}",t.target).replace("{description}",t.description).replace("{bg_color}",t.colors.bg).replace("{text_color}",t.colors.text)}))))}componentWillLoad(){return(async()=>{if(salla.config.isMobileApp())return[];const t=salla.config.isDebug()||salla.helpers.isPreview();await new Promise((t=>salla.onReady(t)));const e=t?null:this.currentSlug,s=await salla.api.advertisement.fetch(e);if(Array.isArray(s.data)){const e=s.data;this.advertisements=t?e:e.filter((t=>!salla.storage.get(`statusAd-${t.id}`)))}else this.advertisements=[];return this.advertisements})()}componentDidRender(){Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements||(setTimeout((()=>{let t=this.host.querySelector(".s-advertisement-action");t&&t.addEventListener("click",(()=>this.setCanDisplayFlag(this.advertisements[0],!1)))})),this.host.querySelectorAll("#adv-slot").forEach((t=>t?.replaceWith(t?.firstChild))),this.host.querySelector('[slot="adv"]')?.remove(),i({targets:this.host,opacity:[0,1],duration:300,height:[0,this.host.clientHeight],easing:"easeInOutQuad"}))}get host(){return s(this)}};a.style='/*!twlt*/:host{display:block}.visible{visibility:visible}.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-hidden{display:none}.s-advertisement-content{width:100%;margin-right:auto;margin-left:auto;padding-right:10px;padding-left:10px}@media (min-width: 1280px){.s-advertisement-content{max-width:1280px}}.s-advertisement-content{display:flex;align-items:center;justify-content:space-between;padding-top:0.625rem;padding-bottom:0.625rem}.s-advertisement-content-main{flex:1 1 0%;text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-advertisement-content-icon{display:inline-block;vertical-align:middle;font-size:1rem;line-height:1.5rem}.s-advertisement-content-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}.s-advertisement-content-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}.s-advertisement-action{padding-left:0.25rem;padding-right:0.25rem}';export{a as salla_advertisement}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as a,h as s,a as e}from"./p-BICKbbaT.js";import{a as t}from"./p-CgtvEd63.js";import{f as i,t as o}from"./p-CO-PeZ27.js";import{e as l}from"./p-DzAIgzdz.js";import{S as r}from"./p-8Tsmrwno.js";var c,n='\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>link</title>\n<path d="M19.247 23.019l-4.189 4.189c-2.831 2.831-7.435 2.831-10.265 0-1.371-1.372-2.125-3.193-2.125-5.132s0.755-3.761 2.125-5.133l4.189-4.191c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.521-1.885 0l-4.189 4.191c-1.875 1.875-2.907 4.367-2.907 7.019s1.032 5.143 2.907 7.017 4.368 2.907 7.019 2.907 5.143-1.032 7.017-2.908l4.189-4.189c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.52-1.885 0.001zM22.276 9.724c-0.521-0.521-1.364-0.521-1.885 0l-10.667 10.667c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l10.667-10.667c0.521-0.521 0.521-1.364 0-1.885zM29.093 2.908c-1.875-1.876-4.368-2.908-7.019-2.908s-5.143 1.032-7.017 2.908l-4.189 4.188c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l4.189-4.189c2.831-2.831 7.435-2.831 10.265 0 1.371 1.372 2.125 3.193 2.125 5.132s-0.755 3.761-2.125 5.133l-4.189 4.191c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l4.189-4.191c1.875-1.875 2.907-4.367 2.907-7.019s-1.032-5.143-2.907-7.016z"></path>\n</svg>\n',d='\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>whatsapp</title>\n<path d="M16 32c-0.008 0-0.018 0-0.028 0-3.1 0-5.993-0.887-8.439-2.421l0.066 0.039-7.2 2.3 2.336-6.964c-1.713-2.492-2.736-5.575-2.736-8.897 0-0.020 0-0.040 0-0.060v0.003c0.009-8.833 7.167-15.991 15.999-16h0.001c8.837 0 16 7.163 16 16s-7.163 16-16 16v0zM7.906 27.424l0.4 0.264c2.169 1.449 4.837 2.312 7.707 2.312 7.732 0 14-6.268 14-14s-6.268-14-14-14c-0.004 0-0.009 0-0.013 0h0.001c-7.729 0.008-13.992 6.271-14 13.999v0.001c-0 0.010-0 0.021-0 0.032 0 3.072 1 5.909 2.693 8.206l-0.027-0.038 0.304 0.416-1.4 4.2zM20.716 24.958c-1.684-0.131-3.237-0.574-4.641-1.271l0.073 0.033c-3.098-1.456-5.634-3.668-7.438-6.405l-0.042-0.067c-1.102-1.357-1.819-3.067-1.962-4.938l-0.002-0.030c-0.001-0.036-0.001-0.078-0.001-0.12 0-1.575 0.66-2.995 1.719-4l0.002-0.002c0.547-0.52 1.289-0.839 2.105-0.839 0.033 0 0.066 0.001 0.099 0.002l-0.005-0c0.2 0 0.378 0 0.542 0.018 0.016-0.001 0.035-0.001 0.054-0.001 0.815 0 1.502 0.549 1.711 1.298l0.003 0.012 0.324 0.782c0.376 0.906 0.858 2.068 0.942 2.244 0.144 0.251 0.23 0.552 0.23 0.873 0 0.286-0.068 0.557-0.188 0.797l0.005-0.010c-0.149 0.307-0.332 0.57-0.55 0.802l0.002-0.002c-0.148 0.168-0.248 0.274-0.346 0.378s-0.172 0.18-0.26 0.284c0.575 0.92 1.237 1.713 1.992 2.406l0.008 0.008c0.829 0.758 1.802 1.373 2.872 1.8l0.064 0.022c0.369-0.266 0.672-0.6 0.896-0.985l0.008-0.015 0.174-0.232c0.328-0.484 0.875-0.798 1.495-0.798 0.249 0 0.487 0.051 0.703 0.142l-0.012-0.004c0.492 0.168 2.922 1.372 2.946 1.384l0.228 0.11c0.415 0.149 0.758 0.417 0.996 0.763l0.004 0.007c0.107 0.349 0.169 0.75 0.169 1.166 0 0.591-0.125 1.153-0.349 1.661l0.010-0.026c-0.702 1.368-1.983 2.353-3.511 2.637l-0.031 0.005c-0.309 0.071-0.663 0.112-1.028 0.112-0.004 0-0.007 0-0.011 0h0.001zM10.632 9.318c-0.028-0.002-0.062-0.004-0.095-0.004-0.245 0-0.472 0.076-0.659 0.206l0.004-0.002c-0.726 0.651-1.18 1.591-1.18 2.638 0 0.044 0.001 0.087 0.002 0.13l-0-0.006c0.122 1.404 0.662 2.662 1.495 3.671l-0.009-0.011 0.12 0.168c1.627 2.491 3.865 4.46 6.504 5.723l0.096 0.041c3.136 1.288 3.916 1.124 4.426 1.014 0.87-0.159 1.601-0.656 2.067-1.347l0.007-0.011c0.12-0.316 0.204-0.682 0.237-1.063l0.001-0.015-0.040-0.018-0.256-0.124c-0.8-0.4-2.46-1.2-2.734-1.292l-0.058 0.184c-0.346 0.501-0.684 0.934-1.045 1.347l0.015-0.017c-0.344 0.349-0.821 0.565-1.349 0.565-0.28 0-0.546-0.061-0.785-0.17l0.012 0.005c-1.403-0.547-2.609-1.301-3.646-2.239l0.010 0.009c-0.975-0.891-1.81-1.912-2.486-3.039l-0.034-0.061c-0.152-0.244-0.242-0.54-0.242-0.857 0-0.463 0.191-0.88 0.499-1.178l0-0c0.13-0.162 0.264-0.302 0.4-0.444l0.236-0.256c0.091-0.096 0.177-0.201 0.254-0.311l0.006-0.009c-0.158-0.36-0.622-1.472-0.988-2.352l-0.322-0.772-0.038-0.086c-0.188-0.010-0.302-0.016-0.426-0.016zM12.462 12.442v0.012z"></path>\n</svg>\n';!function(a){a.FACEBOOK="facebook",a.TWITTER="twitter",a.WHATSAPP="whatsapp",a.EMAIL="email",a.COPY_LINK="copy_link"}(c||(c={}));const h=class{constructor(s){a(this,s),this.ignoreOutsideClick=!1,this.translationDefaults={"common.social.share":{ar:"مشاركة",en:"Share"},"common.social.email":{ar:"إيميل",en:"Email"},"common.social.whatsapp":{ar:"واتساب",en:"WhatsApp"},"common.social.twitter":{ar:"أكس",en:"X"},"common.social.facebook":{ar:"فيسبوك",en:"Facebook"},"common.social.copy":{ar:"نسخ",en:"Copy"},"common.social.copied":{ar:"تم النسخ",en:"Copied"}},this.onDocumentClick=a=>{this.ignoreOutsideClick||!this.opened||this.host.contains(a.target)||this.close()},this.opened=!1,this.copied=!1,this.allPlatforms=[c.WHATSAPP,c.FACEBOOK,c.TWITTER,c.EMAIL,c.COPY_LINK],this.platformIcons=[{icon:d,name:c.WHATSAPP},{icon:i,name:c.FACEBOOK},{icon:o,name:c.TWITTER},{icon:l,name:c.EMAIL},{icon:n,name:c.COPY_LINK}],this.convertedPlatforms=[],this.url="",this.urlName="",this.platforms="facebook,twitter,whatsapp,email,copy_link",this.mode="default",this.modalTitle=""}componentWillLoad(){if(this.registerTranslationDefaults(),this.host.hasAttribute("aria-label")&&this.host.removeAttribute("aria-label"),this.supportsNativeShare()||document.getElementById("a2a-script"))return;const a=document.createElement("script");a.src="https://static.addtoany.com/menu/page.js",a.setAttribute("id","a2a-script"),a.async=!0,a.onload=function(){window.a2a_config.locale=salla.config.get("user.language_code",salla.lang.getLocale()),window.a2a_config.callbacks=window.a2a_config.callbacks||[],window.a2a_config.callbacks.push({share:a=>{const s={share_via:a.service.toLowerCase(),url:a.url,title:a.title};salla.event.emit("share-element",s)}})},document.body.appendChild(a)}componentDidLoad(){document.addEventListener("click",this.onDocumentClick)}disconnectedCallback(){document.removeEventListener("click",this.onDocumentClick),this.copiedResetTimeout&&window.clearTimeout(this.copiedResetTimeout),this.setBodyScrollLocked(!1)}registerTranslationDefaults(){if(!salla?.lang?.addBulk)return;const a=Object.entries(this.translationDefaults).reduce(((a,[s,e])=>(salla.lang.get(s)===s&&(a[s]=e),a)),{});Object.keys(a).length&&salla.lang.addBulk(a)}resolveShareKit(){return this.host.querySelector(".a2a_kit")}deferOutsideClickGuard(){this.ignoreOutsideClick=!0,requestAnimationFrame((()=>{this.ignoreOutsideClick=!1}))}async open(){if(this.opened)return;if(this.opened=!0,this.deferOutsideClickGuard(),"modal"===this.mode&&this.setBodyScrollLocked(!0),await new Promise((a=>requestAnimationFrame((()=>a())))),!this.opened)return;if(await this.refresh(),"modal"===this.mode)return;const a=this.resolveShareKit();a?(this.openAnimation=(new t.timeline).add({targets:a,translateY:[-50,0],opacity:[0,1],duration:300,podding:"0",easing:"easeInOutSine"}),this.openAnimation.add({targets:a.children,translateZ:0,translateY:[-30,0],scaleY:[0,1],opacity:[0,1],duration:1400,delay:t.stagger(100)},"-=200")):this.opened=!1}async close(){this.opened&&(this.openAnimation?.pause(),this.openAnimation?.seek(0),this.opened=!1,"modal"===this.mode&&this.setBodyScrollLocked(!1))}setBodyScrollLocked(a){document.body.classList.toggle("s-social-share-modal-is-open",a)}toggle(){return this.opened?this.close():(this.deferOutsideClickGuard(),this.open())}supportsNativeShare(){return!!salla.mobile?.isSpaWebview?.()}handleShareClick(){this.supportsNativeShare()?salla.event.dispatch("mobile::share.open",{url:this.getShareUrl()}):this.toggle()}onUrlChanged(a,s){a!==s&&this.refresh()}getShareUrl(){return this.url||window.location.href}getModalTitle(){return this.modalTitle||salla.lang.get("common.social.share")}syncShareAttributes(){const a=this.resolveShareKit();a&&(a.setAttribute("data-a2a-url",this.getShareUrl()),a.setAttribute("data-a2a-title",this.urlName||document.title))}async refresh(){this.syncShareAttributes(),"function"!=typeof window.a2a?.init_all?window.a2a?.init("page"):window.a2a.init_all()}async copyLink(){const a=this.getShareUrl();try{await navigator.clipboard.writeText(a)}catch{const s=document.createElement("textarea");s.value=a,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.select();try{document.execCommand("copy")}catch{}s.remove()}salla.event.emit("share-element",{share_via:"copy_link",url:a,title:this.urlName||document.title}),this.copied=!0,this.copiedResetTimeout&&window.clearTimeout(this.copiedResetTimeout),this.copiedResetTimeout=window.setTimeout((()=>this.copied=!1),2e3)}modalPlatformMeta(a){switch(a){case c.WHATSAPP:return{icon:d,color:"#25D366",label:salla.lang.get("common.social.whatsapp")};case c.FACEBOOK:return{icon:i,color:"#1877F2",label:salla.lang.get("common.social.facebook")};case c.TWITTER:return{icon:o,color:"#000000",label:salla.lang.get("common.social.twitter")};case c.EMAIL:return{icon:l,color:"#2BA6FF",label:salla.lang.get("common.social.email")};default:return{icon:n,color:"#6b7280",label:a}}}renderModalCard(a){const e=this.modalPlatformMeta(a);return s("a",{class:`s-social-share-modal-card a2a_button_${a}`,"aria-label":`Share Via ${a}`},s("span",{class:"s-social-share-modal-icon",style:{backgroundColor:e.color},innerHTML:e.icon}),s("span",{class:"s-social-share-modal-card-label"},e.label))}renderModal(){if(!this.opened)return null;const a=this.platforms.split(",").map((a=>a.trim())),e=[c.EMAIL,c.WHATSAPP,c.TWITTER,c.FACEBOOK].filter((s=>a.includes(s))),t=a.includes(c.COPY_LINK);return s("div",{class:"s-social-share-modal",onClick:a=>{a.target===a.currentTarget&&this.close()}},s("div",{class:"s-social-share-modal-dialog",role:"dialog","aria-modal":"true"},s("div",{class:"s-social-share-modal-handle","aria-hidden":"true"}),s("div",{class:"s-social-share-modal-header"},s("span",{class:"s-social-share-modal-title"},this.getModalTitle()),s("button",{type:"button",class:"s-social-share-modal-close","aria-label":salla.lang.get("common.elements.close"),onClick:()=>this.close()},s("span",{class:"s-social-share-modal-close-icon",innerHTML:r}))),s("div",{class:"s-social-share-modal-platforms a2a_kit","data-a2a-url":this.getShareUrl(),"data-a2a-title":this.urlName?this.urlName:document.title},e.map((a=>this.renderModalCard(a)))),t&&s("div",{class:"s-social-share-modal-copy-row"},s("span",{class:"s-social-share-modal-url",dir:"ltr"},this.getShareUrl()),s("salla-button",{type:"button",fill:"outline",onClick:()=>this.copyLink()},this.copied?salla.lang.get("common.social.copied"):salla.lang.get("common.social.copy")))))}renderPopupList(){return s("ul",{class:{"s-social-share-list":!0,a2a_kit:!0,share:!0,opened:this.opened},"data-a2a-url":this.getShareUrl(),"data-a2a-title":this.urlName?this.urlName:document.title},this.platforms.split(",").map((a=>s("li",null,s("a",{class:`a2a_button_${a}`,"aria-label":`Share Via ${a}`},this.platformIcons.map((e=>{if(e.name===a)return s("span",{class:"s-social-share-icon",innerHTML:e.icon})})))))))}render(){return s("div",{key:"cd2d10a50c7d07fb261471e7ca8e81891bc489e9",class:"s-social-share-wrapper"},s("slot",{key:"94627cdb3aa11d3844c984d8890b13dc7e1f0e3c",name:"widget"},s("salla-button",{key:"3b5ea25966484669a935e62ccbc3d383078337d8","aria-label":"Share",onClick:()=>this.handleShareClick(),class:"s-social-share-btn",shape:"icon",fill:"outline",color:"light"},s("span",{key:"3de3ea0b6f4843a24eeab1f7d6f0be3c8f85de41",innerHTML:this.opened?r:'\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>share-alt</title>\n<path d="M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"></path>\n</svg>\n'}))),"modal"===this.mode?this.renderModal():this.renderPopupList())}get host(){return e(this)}static get watchers(){return{url:["onUrlChanged"]}}};h.style=":global(body.s-social-share-modal-is-open){overflow:hidden}.s-social-share-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:rgba(17, 24, 39, 0.5)}.s-social-share-modal-dialog{position:relative;width:100%;max-width:32rem;padding:1.5rem;background-color:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)}.s-social-share-modal-handle{display:none}.s-social-share-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.s-social-share-modal-title{font-size:1.125rem;font-weight:700;color:#1f2937}.s-social-share-modal-close{display:inline-flex;align-items:center;justify-content:center;padding:0.25rem;line-height:0;background:transparent;border:0;cursor:pointer}.s-social-share-modal-close-icon svg{width:1.25rem;height:1.25rem;fill:#ef4444}.s-social-share-modal-platforms{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:0.75rem}.s-social-share-modal-card{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:0.75rem;border:1px solid #e5e7eb;border-radius:0.75rem;text-decoration:none;cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.s-social-share-modal-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-social-share-modal-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:9999px}.s-social-share-modal-icon svg{width:1.25rem;height:1.25rem;fill:#fff}.s-social-share-modal-card-label{font-size:0.875rem;color:#4b5563}.s-social-share-modal-copy-row{display:flex;align-items:center;gap:0.75rem;margin-top:1rem;padding:0.5rem;background-color:#f3f4f6;border-radius:0.75rem}.s-social-share-modal-url{flex:1 1 auto;min-width:0;padding:0 0.5rem;font-size:0.875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes s-social-share-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 640px){.s-social-share-modal{align-items:flex-end;justify-content:center;padding:0}.s-social-share-modal-dialog{max-width:none;padding:0.75rem 1rem calc(1.25rem + env(safe-area-inset-bottom, 0px));border-radius:1rem 1rem 0 0;box-shadow:0 -4px 24px rgba(0, 0, 0, 0.12);animation:s-social-share-sheet-in 0.28s ease-out}.s-social-share-modal-handle{display:block;width:2.5rem;height:0.25rem;margin:0 auto 0.75rem;background-color:#d1d5db;border-radius:9999px}.s-social-share-modal-header{margin-bottom:1rem}.s-social-share-modal-platforms{grid-template-columns:repeat(2, minmax(0, 1fr))}}";export{h as salla_social_share}
4
+ import{r as a,h as s,a as e}from"./p-CjQzkU95.js";import{a as t}from"./p-CgtvEd63.js";import{f as i,t as o}from"./p-CO-PeZ27.js";import{e as l}from"./p-DzAIgzdz.js";import{C as r}from"./p-BsLF_HK7.js";var c,n='\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>link</title>\n<path d="M19.247 23.019l-4.189 4.189c-2.831 2.831-7.435 2.831-10.265 0-1.371-1.372-2.125-3.193-2.125-5.132s0.755-3.761 2.125-5.133l4.189-4.191c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.521-1.885 0l-4.189 4.191c-1.875 1.875-2.907 4.367-2.907 7.019s1.032 5.143 2.907 7.017 4.368 2.907 7.019 2.907 5.143-1.032 7.017-2.908l4.189-4.189c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.52-1.885 0.001zM22.276 9.724c-0.521-0.521-1.364-0.521-1.885 0l-10.667 10.667c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l10.667-10.667c0.521-0.521 0.521-1.364 0-1.885zM29.093 2.908c-1.875-1.876-4.368-2.908-7.019-2.908s-5.143 1.032-7.017 2.908l-4.189 4.188c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l4.189-4.189c2.831-2.831 7.435-2.831 10.265 0 1.371 1.372 2.125 3.193 2.125 5.132s-0.755 3.761-2.125 5.133l-4.189 4.191c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l4.189-4.191c1.875-1.875 2.907-4.367 2.907-7.019s-1.032-5.143-2.907-7.016z"></path>\n</svg>\n',d='\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>whatsapp</title>\n<path d="M16 32c-0.008 0-0.018 0-0.028 0-3.1 0-5.993-0.887-8.439-2.421l0.066 0.039-7.2 2.3 2.336-6.964c-1.713-2.492-2.736-5.575-2.736-8.897 0-0.020 0-0.040 0-0.060v0.003c0.009-8.833 7.167-15.991 15.999-16h0.001c8.837 0 16 7.163 16 16s-7.163 16-16 16v0zM7.906 27.424l0.4 0.264c2.169 1.449 4.837 2.312 7.707 2.312 7.732 0 14-6.268 14-14s-6.268-14-14-14c-0.004 0-0.009 0-0.013 0h0.001c-7.729 0.008-13.992 6.271-14 13.999v0.001c-0 0.010-0 0.021-0 0.032 0 3.072 1 5.909 2.693 8.206l-0.027-0.038 0.304 0.416-1.4 4.2zM20.716 24.958c-1.684-0.131-3.237-0.574-4.641-1.271l0.073 0.033c-3.098-1.456-5.634-3.668-7.438-6.405l-0.042-0.067c-1.102-1.357-1.819-3.067-1.962-4.938l-0.002-0.030c-0.001-0.036-0.001-0.078-0.001-0.12 0-1.575 0.66-2.995 1.719-4l0.002-0.002c0.547-0.52 1.289-0.839 2.105-0.839 0.033 0 0.066 0.001 0.099 0.002l-0.005-0c0.2 0 0.378 0 0.542 0.018 0.016-0.001 0.035-0.001 0.054-0.001 0.815 0 1.502 0.549 1.711 1.298l0.003 0.012 0.324 0.782c0.376 0.906 0.858 2.068 0.942 2.244 0.144 0.251 0.23 0.552 0.23 0.873 0 0.286-0.068 0.557-0.188 0.797l0.005-0.010c-0.149 0.307-0.332 0.57-0.55 0.802l0.002-0.002c-0.148 0.168-0.248 0.274-0.346 0.378s-0.172 0.18-0.26 0.284c0.575 0.92 1.237 1.713 1.992 2.406l0.008 0.008c0.829 0.758 1.802 1.373 2.872 1.8l0.064 0.022c0.369-0.266 0.672-0.6 0.896-0.985l0.008-0.015 0.174-0.232c0.328-0.484 0.875-0.798 1.495-0.798 0.249 0 0.487 0.051 0.703 0.142l-0.012-0.004c0.492 0.168 2.922 1.372 2.946 1.384l0.228 0.11c0.415 0.149 0.758 0.417 0.996 0.763l0.004 0.007c0.107 0.349 0.169 0.75 0.169 1.166 0 0.591-0.125 1.153-0.349 1.661l0.010-0.026c-0.702 1.368-1.983 2.353-3.511 2.637l-0.031 0.005c-0.309 0.071-0.663 0.112-1.028 0.112-0.004 0-0.007 0-0.011 0h0.001zM10.632 9.318c-0.028-0.002-0.062-0.004-0.095-0.004-0.245 0-0.472 0.076-0.659 0.206l0.004-0.002c-0.726 0.651-1.18 1.591-1.18 2.638 0 0.044 0.001 0.087 0.002 0.13l-0-0.006c0.122 1.404 0.662 2.662 1.495 3.671l-0.009-0.011 0.12 0.168c1.627 2.491 3.865 4.46 6.504 5.723l0.096 0.041c3.136 1.288 3.916 1.124 4.426 1.014 0.87-0.159 1.601-0.656 2.067-1.347l0.007-0.011c0.12-0.316 0.204-0.682 0.237-1.063l0.001-0.015-0.040-0.018-0.256-0.124c-0.8-0.4-2.46-1.2-2.734-1.292l-0.058 0.184c-0.346 0.501-0.684 0.934-1.045 1.347l0.015-0.017c-0.344 0.349-0.821 0.565-1.349 0.565-0.28 0-0.546-0.061-0.785-0.17l0.012 0.005c-1.403-0.547-2.609-1.301-3.646-2.239l0.010 0.009c-0.975-0.891-1.81-1.912-2.486-3.039l-0.034-0.061c-0.152-0.244-0.242-0.54-0.242-0.857 0-0.463 0.191-0.88 0.499-1.178l0-0c0.13-0.162 0.264-0.302 0.4-0.444l0.236-0.256c0.091-0.096 0.177-0.201 0.254-0.311l0.006-0.009c-0.158-0.36-0.622-1.472-0.988-2.352l-0.322-0.772-0.038-0.086c-0.188-0.010-0.302-0.016-0.426-0.016zM12.462 12.442v0.012z"></path>\n</svg>\n';!function(a){a.FACEBOOK="facebook",a.TWITTER="twitter",a.WHATSAPP="whatsapp",a.EMAIL="email",a.COPY_LINK="copy_link"}(c||(c={}));const h=class{constructor(s){a(this,s),this.ignoreOutsideClick=!1,this.translationDefaults={"common.social.share":{ar:"مشاركة",en:"Share"},"common.social.email":{ar:"إيميل",en:"Email"},"common.social.whatsapp":{ar:"واتساب",en:"WhatsApp"},"common.social.twitter":{ar:"أكس",en:"X"},"common.social.facebook":{ar:"فيسبوك",en:"Facebook"},"common.social.copy":{ar:"نسخ",en:"Copy"},"common.social.copied":{ar:"تم النسخ",en:"Copied"}},this.onDocumentClick=a=>{this.ignoreOutsideClick||!this.opened||this.host.contains(a.target)||this.close()},this.opened=!1,this.copied=!1,this.allPlatforms=[c.WHATSAPP,c.FACEBOOK,c.TWITTER,c.EMAIL,c.COPY_LINK],this.platformIcons=[{icon:d,name:c.WHATSAPP},{icon:i,name:c.FACEBOOK},{icon:o,name:c.TWITTER},{icon:l,name:c.EMAIL},{icon:n,name:c.COPY_LINK}],this.convertedPlatforms=[],this.url="",this.urlName="",this.platforms="facebook,twitter,whatsapp,email,copy_link",this.mode="default",this.modalTitle=""}componentWillLoad(){if(this.registerTranslationDefaults(),this.host.hasAttribute("aria-label")&&this.host.removeAttribute("aria-label"),this.supportsNativeShare()||document.getElementById("a2a-script"))return;const a=document.createElement("script");a.src="https://static.addtoany.com/menu/page.js",a.setAttribute("id","a2a-script"),a.async=!0,a.onload=function(){window.a2a_config.locale=salla.config.get("user.language_code",salla.lang.getLocale()),window.a2a_config.callbacks=window.a2a_config.callbacks||[],window.a2a_config.callbacks.push({share:a=>{const s={share_via:a.service.toLowerCase(),url:a.url,title:a.title};salla.event.emit("share-element",s)}})},document.body.appendChild(a)}componentDidLoad(){document.addEventListener("click",this.onDocumentClick)}disconnectedCallback(){document.removeEventListener("click",this.onDocumentClick),this.copiedResetTimeout&&window.clearTimeout(this.copiedResetTimeout),this.setBodyScrollLocked(!1)}registerTranslationDefaults(){if(!salla?.lang?.addBulk)return;const a=Object.entries(this.translationDefaults).reduce(((a,[s,e])=>(salla.lang.get(s)===s&&(a[s]=e),a)),{});Object.keys(a).length&&salla.lang.addBulk(a)}resolveShareKit(){return this.host.querySelector(".a2a_kit")}deferOutsideClickGuard(){this.ignoreOutsideClick=!0,requestAnimationFrame((()=>{this.ignoreOutsideClick=!1}))}async open(){if(this.opened)return;if(this.opened=!0,this.deferOutsideClickGuard(),"modal"===this.mode&&this.setBodyScrollLocked(!0),await new Promise((a=>requestAnimationFrame((()=>a())))),!this.opened)return;if(await this.refresh(),"modal"===this.mode)return;const a=this.resolveShareKit();a?(this.openAnimation=(new t.timeline).add({targets:a,translateY:[-50,0],opacity:[0,1],duration:300,podding:"0",easing:"easeInOutSine"}),this.openAnimation.add({targets:a.children,translateZ:0,translateY:[-30,0],scaleY:[0,1],opacity:[0,1],duration:1400,delay:t.stagger(100)},"-=200")):this.opened=!1}async close(){this.opened&&(this.openAnimation?.pause(),this.openAnimation?.seek(0),this.opened=!1,"modal"===this.mode&&this.setBodyScrollLocked(!1))}setBodyScrollLocked(a){document.body.classList.toggle("s-social-share-modal-is-open",a)}toggle(){return this.opened?this.close():(this.deferOutsideClickGuard(),this.open())}supportsNativeShare(){return!!salla.mobile?.isSpaWebview?.()}handleShareClick(){this.supportsNativeShare()?salla.event.dispatch("mobile::share.open",{url:this.getShareUrl()}):this.toggle()}onUrlChanged(a,s){a!==s&&this.refresh()}getShareUrl(){return this.url||window.location.href}getModalTitle(){return this.modalTitle||salla.lang.get("common.social.share")}syncShareAttributes(){const a=this.resolveShareKit();a&&(a.setAttribute("data-a2a-url",this.getShareUrl()),a.setAttribute("data-a2a-title",this.urlName||document.title))}async refresh(){this.syncShareAttributes(),"function"!=typeof window.a2a?.init_all?window.a2a?.init("page"):window.a2a.init_all()}async copyLink(){const a=this.getShareUrl();try{await navigator.clipboard.writeText(a)}catch{const s=document.createElement("textarea");s.value=a,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.select();try{document.execCommand("copy")}catch{}s.remove()}salla.event.emit("share-element",{share_via:"copy_link",url:a,title:this.urlName||document.title}),this.copied=!0,this.copiedResetTimeout&&window.clearTimeout(this.copiedResetTimeout),this.copiedResetTimeout=window.setTimeout((()=>this.copied=!1),2e3)}modalPlatformMeta(a){switch(a){case c.WHATSAPP:return{icon:d,color:"#25D366",label:salla.lang.get("common.social.whatsapp")};case c.FACEBOOK:return{icon:i,color:"#1877F2",label:salla.lang.get("common.social.facebook")};case c.TWITTER:return{icon:o,color:"#000000",label:salla.lang.get("common.social.twitter")};case c.EMAIL:return{icon:l,color:"#2BA6FF",label:salla.lang.get("common.social.email")};default:return{icon:n,color:"#6b7280",label:a}}}renderModalCard(a){const e=this.modalPlatformMeta(a);return s("a",{class:`s-social-share-modal-card a2a_button_${a}`,"aria-label":`Share Via ${a}`},s("span",{class:"s-social-share-modal-icon",style:{backgroundColor:e.color},innerHTML:e.icon}),s("span",{class:"s-social-share-modal-card-label"},e.label))}renderModal(){if(!this.opened)return null;const a=this.platforms.split(",").map((a=>a.trim())),e=[c.EMAIL,c.WHATSAPP,c.TWITTER,c.FACEBOOK].filter((s=>a.includes(s))),t=a.includes(c.COPY_LINK);return s("div",{class:"s-social-share-modal",onClick:a=>{a.target===a.currentTarget&&this.close()}},s("div",{class:"s-social-share-modal-dialog",role:"dialog","aria-modal":"true"},s("div",{class:"s-social-share-modal-handle","aria-hidden":"true"}),s("div",{class:"s-social-share-modal-header"},s("span",{class:"s-social-share-modal-title"},this.getModalTitle()),s("button",{type:"button",class:"s-social-share-modal-close","aria-label":salla.lang.get("common.elements.close"),onClick:()=>this.close()},s("span",{class:"s-social-share-modal-close-icon",innerHTML:r}))),s("div",{class:"s-social-share-modal-platforms a2a_kit","data-a2a-url":this.getShareUrl(),"data-a2a-title":this.urlName?this.urlName:document.title},e.map((a=>this.renderModalCard(a)))),t&&s("div",{class:"s-social-share-modal-copy-row"},s("span",{class:"s-social-share-modal-url",dir:"ltr"},this.getShareUrl()),s("salla-button",{type:"button",fill:"outline",onClick:()=>this.copyLink()},this.copied?salla.lang.get("common.social.copied"):salla.lang.get("common.social.copy")))))}renderPopupList(){return s("ul",{class:{"s-social-share-list":!0,a2a_kit:!0,share:!0,opened:this.opened},"data-a2a-url":this.getShareUrl(),"data-a2a-title":this.urlName?this.urlName:document.title},this.platforms.split(",").map((a=>s("li",null,s("a",{class:`a2a_button_${a}`,"aria-label":`Share Via ${a}`},this.platformIcons.map((e=>{if(e.name===a)return s("span",{class:"s-social-share-icon",innerHTML:e.icon})})))))))}render(){return s("div",{key:"cd2d10a50c7d07fb261471e7ca8e81891bc489e9",class:"s-social-share-wrapper"},s("slot",{key:"94627cdb3aa11d3844c984d8890b13dc7e1f0e3c",name:"widget"},s("salla-button",{key:"3b5ea25966484669a935e62ccbc3d383078337d8","aria-label":"Share",onClick:()=>this.handleShareClick(),class:"s-social-share-btn",shape:"icon",fill:"outline",color:"light"},s("span",{key:"3de3ea0b6f4843a24eeab1f7d6f0be3c8f85de41",innerHTML:this.opened?r:'\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>share-alt</title>\n<path d="M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"></path>\n</svg>\n'}))),"modal"===this.mode?this.renderModal():this.renderPopupList())}get host(){return e(this)}static get watchers(){return{url:["onUrlChanged"]}}};h.style="/*!twlt*/:global(body.s-social-share-modal-is-open){overflow:hidden}.s-social-share-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:rgba(17, 24, 39, 0.5)}.s-social-share-modal-dialog{position:relative;width:100%;max-width:32rem;padding:1.5rem;background-color:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)}.s-social-share-modal-handle{display:none}.s-social-share-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.s-social-share-modal-title{font-size:1.125rem;font-weight:700;color:#1f2937}.s-social-share-modal-close{display:inline-flex;align-items:center;justify-content:center;padding:0.25rem;line-height:0;background:transparent;border:0;cursor:pointer}.s-social-share-modal-close-icon svg{width:1.25rem;height:1.25rem;fill:#ef4444}.s-social-share-modal-platforms{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:0.75rem}.s-social-share-modal-card{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:0.75rem;border:1px solid #e5e7eb;border-radius:0.75rem;text-decoration:none;cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.s-social-share-modal-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-social-share-modal-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:9999px}.s-social-share-modal-icon svg{width:1.25rem;height:1.25rem;fill:#fff}.s-social-share-modal-card-label{font-size:0.875rem;color:#4b5563}.s-social-share-modal-copy-row{display:flex;align-items:center;gap:0.75rem;margin-top:1rem;padding:0.5rem;background-color:#f3f4f6;border-radius:0.75rem}.s-social-share-modal-url{flex:1 1 auto;min-width:0;padding:0 0.5rem;font-size:0.875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes s-social-share-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 640px){.s-social-share-modal{align-items:flex-end;justify-content:center;padding:0}.s-social-share-modal-dialog{max-width:none;padding:0.75rem 1rem calc(1.25rem + env(safe-area-inset-bottom, 0px));border-radius:1rem 1rem 0 0;box-shadow:0 -4px 24px rgba(0, 0, 0, 0.12);animation:s-social-share-sheet-in 0.28s ease-out}.s-social-share-modal-handle{display:block;width:2.5rem;height:0.25rem;margin:0 auto 0.75rem;background-color:#d1d5db;border-radius:9999px}.s-social-share-modal-header{margin-bottom:1rem}.s-social-share-modal-platforms{grid-template-columns:repeat(2, minmax(0, 1fr))}}.static{position:static}.fixed{position:fixed}.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-social-share-wrapper{position:relative}.s-social-share-btn span{pointer-events:none}.s-social-share-btn span svg{height:1rem;width:1rem}.s-social-share-list{position:absolute;top:3rem;left:2.5px;z-index:10;display:flex;height:0px;flex-direction:column;align-items:center;overflow:hidden;border-radius:1.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));opacity:0;--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-social-share-list.opened{height:auto}.s-social-share-list a{display:block;padding:0.75rem}.s-social-share-list a:hover svg{fill:var(--color-primary)}.s-social-share-icon svg{height:1rem;width:1rem}";export{h as salla_social_share}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as s,h as i,H as e,a as n}from"./p-BICKbbaT.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"610ae038d4f9db109e3f25830e82b39a2b07a010"},i("salla-modal",{key:"b06c130448cd1862d2e879a0285fd385395cc11b",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"1f8b9ffa80a40f8240ede4b8996943f7eecf4098",slot:"loading"},i("salla-skeleton",{key:"26463b16022e1f66fd66f4e9cd8907521352bac1",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"bae60782cbe4ac7dc325fd666258198cd871a52e",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"998afc3297e89df7e0a6b2514a6d5f4f75152492",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"935a3d01a417926e904507d0a64da43c84924068",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"eeb710a27917f6134a2595ebb8e4ec485bb26254",slot:"footer"},i("div",{key:"2ae3d47c461b68d61fcaa1d8f279ae6402aedf2e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"436f64a89183f0e6d56b6800ad031449c49cc751",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"e473b6089ee0e7026dfec042462ed827dabd0083"},i("salla-slider",{key:"492187e1a1c105c21c48543aa227888d122cfa20",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"e40e816439f3b3e1bee12ebdcea60438a45fec12",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}
4
+ import{r as t,c as s,h as i,H as e,a as n}from"./p-CjQzkU95.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"610ae038d4f9db109e3f25830e82b39a2b07a010"},i("salla-modal",{key:"b06c130448cd1862d2e879a0285fd385395cc11b",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"1f8b9ffa80a40f8240ede4b8996943f7eecf4098",slot:"loading"},i("salla-skeleton",{key:"26463b16022e1f66fd66f4e9cd8907521352bac1",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"bae60782cbe4ac7dc325fd666258198cd871a52e",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"998afc3297e89df7e0a6b2514a6d5f4f75152492",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"935a3d01a417926e904507d0a64da43c84924068",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"eeb710a27917f6134a2595ebb8e4ec485bb26254",slot:"footer"},i("div",{key:"2ae3d47c461b68d61fcaa1d8f279ae6402aedf2e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"436f64a89183f0e6d56b6800ad031449c49cc751",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"e473b6089ee0e7026dfec042462ed827dabd0083"},i("salla-slider",{key:"492187e1a1c105c21c48543aa227888d122cfa20",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"e40e816439f3b3e1bee12ebdcea60438a45fec12",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r,h as t,H as a}from"./p-CjQzkU95.js";const o=class{constructor(t){r(this,t)}handleOrderChange(r){r?this.setSummaryFromProp(r):this.summary=void 0}async componentWillLoad(){await Salla.onReady(),this.order&&this.setSummaryFromProp(this.order)}setSummaryFromProp(r){try{const t="string"==typeof r?JSON.parse(r):r;this.summary=t}catch(r){salla.logger.error("Failed to parse order summary data",r),this.summary=void 0}}renderTotalRow(r,a,o,s,e){return t("div",{class:"s-order-totals-card-row"},t("div",{class:"s-order-totals-card-row-inner"},t("dt",{class:o||"s-order-totals-card-label"},r),t("dd",{class:s||"s-order-totals-card-value"},t(e?"b":"span",{innerHTML:salla.money(a)}))))}renderDiscountRow(){return this.summary?.discounts?.map((r=>t("div",{class:"s-order-totals-card-row",key:r.name},t("div",{class:"s-order-totals-card-row-inner"},t("dt",{class:"s-order-totals-card-discount"},r.name),t("dd",{class:"s-order-totals-card-value"},r.discount)))))}renderRefundRow(r){return t("div",{class:"s-order-totals-card-row"},t("div",{class:"s-order-totals-card-row-inner"},t("dt",{class:"s-order-totals-card-refund-label"},t("span",{class:"s-order-totals-card-refund-icon"},t("i",{class:"sicon-info"})),t("span",null," ",salla.lang.get("pages.orders.refund_amount"))),t("dd",{class:"s-order-totals-card-refund-value"},t("b",{innerHTML:salla.money(r)}))))}render(){if(!this.summary)return t(a,{class:"s-order-totals-card-wrapper"});const{summary:r}=this,o=!!Array.isArray(r.options)&&r.options.length>0;return t(a,{class:"s-order-totals-card-wrapper"},t("div",{class:"s-order-totals-card-panel"},t("h2",{id:"summary-heading",class:"s-order-totals-card-heading"},salla.lang.get("pages.orders.summary")),t("div",{class:"s-order-totals-card-flow"},t("dl",{class:"s-order-totals-card-list"},this.renderTotalRow(salla.lang.get("pages.cart.items_total"),r.sub_total),o&&this.renderTotalRow(salla.lang.get("pages.cart.order_options_total"),r.options_total),r.discounts&&this.renderDiscountRow(),r.cod_cost&&this.renderTotalRow(salla.lang.get("pages.orders.cod_cost"),r.cod_cost,""),r.shipping_cost&&this.renderTotalRow(salla.lang.get("pages.orders.shipping_cost"),r.shipping_cost,"s-order-totals-card-shipping"),r.tax&&this.renderTotalRow(`${salla.lang.get("pages.cart.tax")} ${r.tax.percent}%`,r.tax.amount,""),r.paid_amount?this.renderTotalRow(salla.lang.get("pages.orders.partially_paid"),r.paid_amount,""):null,r.remaining_amount?this.renderTotalRow(salla.lang.get("pages.orders.remaining_amount"),r.remaining_amount,""):null,t("div",{class:"s-order-totals-card-total"},this.renderTotalRow(salla.lang.get("pages.orders.final_total"),r.total,"s-order-totals-card-total-label","s-order-totals-card-total-value",!0)),r.refund_amount?t("div",{class:"s-order-totals-card-refund"},this.renderRefundRow(r.refund_amount)):null))))}static get watchers(){return{order:["handleOrderChange"]}}};o.style='/*!twlt*/:host{display:block}.s-order-totals-card-wrapper{display:block}.s-order-totals-card-panel{border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem}.s-order-totals-card-heading{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-order-totals-card-flow{display:flow-root}.s-order-totals-card-list{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-order-totals-card-list>.s-order-totals-card-row{border-bottom-width:1px}.s-order-totals-card-list>.s-order-totals-card-row:last-child{border-bottom-width:0px}.s-order-totals-card-row{display:block}.s-order-totals-card-row-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;padding-bottom:1.25rem}.s-order-totals-card-label{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-order-totals-card-value{font-weight:500}.s-order-totals-card-discount{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-order-totals-card-tax-value{font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-order-totals-card-total{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0.375rem;background-color:var(--color-border);padding-left:1.5rem;padding-right:1.5rem}.s-order-totals-card-total-label{font-size:1rem;line-height:1.5rem;font-weight:500}.s-order-totals-card-total-value{font-size:1rem;line-height:1.5rem;font-weight:500}.s-order-totals-card-refund{margin-left:-1.5rem;margin-right:-1.5rem;border-left-width:4px;--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem}.s-order-totals-card-refund:where([dir="rtl"],[dir="rtl"] *){border-left-width:0px;border-right-width:4px}.s-order-totals-card-refund-label{display:flex;align-items:center;gap:0.5rem;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-order-totals-card-refund-icon{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-order-totals-card-refund-value{font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}';export{o as salla_order_totals_card}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as e,h as t,H as l}from"./p-CjQzkU95.js";const i=class{constructor(t){e(this,t),this.methods=[],this.shouldRender=!1}async componentDidLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),Salla.config.get("store.shipping.support_pickup")&&(this.shouldRender=!0,this.setLabels())}setLabels(){this.methods=[{id:"delivery",title:Salla.lang.getWithDefault("pages.products.promise_delivery_title","متاح للتوصيل"),subtitle:Salla.lang.getWithDefault("pages.products.promise_delivery_subtitle","طلبك يوصلك لباب البيت بسهولة."),iconClass:"sicon-location"},{id:"pickup",title:Salla.lang.getWithDefault("pages.products.promise_pickup_title","متاح للاستلام"),subtitle:Salla.lang.getWithDefault("pages.products.promise_pickup_subtitle","استلام فوري من أقرب فرع."),iconClass:"sicon-store"}]}render(){return this.shouldRender?t(l,{class:"s-fulfillment-methods"},t("div",{class:"s-fulfillment-methods-list"},this.methods.map((e=>t("div",{key:e.id,class:"s-fulfillment-methods-card"},t("div",{class:"s-fulfillment-methods-content"},t("div",{class:"s-fulfillment-methods-icon-wrap"},t("i",{class:`${e.iconClass} s-fulfillment-methods-icon`})),t("div",{class:"s-fulfillment-methods-text"},t("span",{class:"s-fulfillment-methods-title"},e.title),t("span",{class:"s-fulfillment-methods-subtitle"},e.subtitle)))))))):null}};i.style='/*!twlt*/:host{display:block}.s-fulfillment-methods{font-family:inherit}.s-fulfillment-methods-list{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;margin-top:12px}:host-context([dir=rtl]) .s-fulfillment-methods-content{flex-direction:row-reverse}:host-context([dir=ltr]) .s-fulfillment-methods-content{flex-direction:row}.s-fulfillment-methods-card{flex:1;min-width:0;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:16px}.s-fulfillment-methods-content{display:flex;align-items:center;gap:12px}.s-fulfillment-methods-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.s-fulfillment-methods-title{font-weight:700;font-size:14px;line-height:1.3;color:var(--color-text-primary, #2b2d34)}.s-fulfillment-methods-subtitle{font-size:12px;line-height:1.4;color:var(--color-text-secondary, #6b7280)}.s-fulfillment-methods-icon-wrap{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-secondary, #f3f4f6);border-radius:10px}.s-fulfillment-methods-icon{font-size:22px;color:var(--color-text-secondary, #6b7280);line-height:1}.shadow{--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-fulfillment-methods-list{margin-bottom:0.75rem;margin-top:0.75rem;display:flex;flex-wrap:wrap;gap:1rem}.s-fulfillment-methods-card{min-width:0px;flex:1 1 0%;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.s-fulfillment-methods-content{display:flex;flex-direction:row;align-items:center;gap:0.75rem}.s-fulfillment-methods-content:where([dir="rtl"],[dir="rtl"] *){flex-direction:row-reverse}.s-fulfillment-methods-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.25rem}.s-fulfillment-methods-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;line-height:1.375;color:var(--color-text-primary,#2b2d34)}.s-fulfillment-methods-subtitle{font-size:0.75rem;line-height:1rem;line-height:1.4;color:var(--color-text-secondary,#6b7280)}.s-fulfillment-methods-icon-wrap{display:flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:10px;background-color:var(--color-surface-secondary,#f3f4f6)}.s-fulfillment-methods-icon{font-size:22px;line-height:1;color:var(--color-text-secondary,#6b7280)}';export{i as salla_fulfillment_methods}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,h as s,H as i,a as e}from"./p-BICKbbaT.js";const r=class{constructor(s){t(this,s),this.dark=!1,this.commercialRegisterLabel="",this.freelanceLabel="",this.cachedChain=[],this.enforceVisibility=()=>{const t=this.hostEl;if(t&&t.isConnected&&this.getBadgeData()&&!this.isHostVisible(t))for(const s of this.getAncestorChain(t)){const t=getComputedStyle(s);"none"===t.display&&s.style.setProperty("display","flex","important"),"hidden"!==t.visibility&&"collapse"!==t.visibility||s.style.setProperty("visibility","visible","important"),parseFloat(t.opacity)<r.OPACITY_THRESHOLD&&s.style.setProperty("opacity","1","important"),"hidden"===t.contentVisibility&&s.style.setProperty("content-visibility","visible","important")}},this.runEnforce=()=>{this.clearEnforceTimers(),this.enforceVisibility()}}componentWillLoad(){this.initializeTranslations()}async componentDidLoad(){await salla.onReady(),this.isVisibilityEnforced()&&(this.setupVisibilityGuard(),this.scheduleEnforce())}componentDidRender(){this.scheduleEnforce()}disconnectedCallback(){this.attrObserver?.disconnect(),this.attrObserver=void 0,this.moveObserver?.disconnect(),this.moveObserver=void 0,this.cachedChain=[],this.clearEnforceTimers()}isVisibilityEnforced(){return"SA"===salla.config.get("store.store_country")}getAncestorChain(t){const s=[];let i=t;for(;i&&(s.push(i),i!==document.documentElement);)i=i.parentElement;return s}didChainChange(t){const s=this.getAncestorChain(t);if(s.length!==this.cachedChain.length)return!0;for(let t=0;t<s.length;t++)if(s[t]!==this.cachedChain[t])return!0;return!1}isHostVisible(t){return"function"==typeof t.checkVisibility?t.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0}):this.isVisibleFallback(t)}isVisibleFallback(t){let s=t;for(;s;){const t=getComputedStyle(s);if("none"===t.display)return!1;if("hidden"===t.visibility||"collapse"===t.visibility)return!1;if(parseFloat(t.opacity)<r.OPACITY_THRESHOLD)return!1;if("hidden"===t.contentVisibility)return!1;if(s===document.documentElement)break;s=s.parentElement}return!0}clearEnforceTimers(){void 0!==this.enforceTimer&&(clearTimeout(this.enforceTimer),this.enforceTimer=void 0),void 0!==this.maxWaitTimer&&(clearTimeout(this.maxWaitTimer),this.maxWaitTimer=void 0)}scheduleEnforce(){this.isVisibilityEnforced()&&(void 0!==this.enforceTimer&&clearTimeout(this.enforceTimer),this.enforceTimer=setTimeout(this.runEnforce,r.ENFORCE_DEBOUNCE_MS),void 0===this.maxWaitTimer&&(this.maxWaitTimer=setTimeout(this.runEnforce,r.ENFORCE_MAX_WAIT_MS)))}setupVisibilityGuard(){const t=this.hostEl;t&&"undefined"!=typeof MutationObserver&&(this.attrObserver?.disconnect(),this.moveObserver?.disconnect(),this.attrObserver=new MutationObserver((()=>{const t=this.hostEl;t&&t.isConnected&&(this.isHostVisible(t)||this.scheduleEnforce())})),this.attachAttrObserver(t),this.moveObserver=new MutationObserver((()=>{const t=this.hostEl;t&&t.isConnected&&this.didChainChange(t)&&(this.attachAttrObserver(t),this.scheduleEnforce())})),this.moveObserver.observe(document.documentElement,{childList:!0,subtree:!0}))}attachAttrObserver(t){if(this.attrObserver){this.attrObserver.disconnect(),this.cachedChain=this.getAncestorChain(t);for(const t of this.cachedChain)this.attrObserver.observe(t,{attributes:!0,attributeFilter:["style","class","hidden"]})}}initializeTranslations(){salla.lang.onLoaded((()=>{const t=(t,s,i)=>{salla.helpers.setNested(salla.lang.messages[t],s,i)};t("ar.trans","blocks.footer.commercial_register","السجل التجاري"),t("en.trans","blocks.footer.commercial_register","Commercial Register"),t("ar.trans","blocks.footer.freelance","وثيقة العمل الحر"),t("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 t=salla.config.get("store.settings.commercial_number"),s=salla.config.get("store.settings.freelance_number");return t?{number:t,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 t=this.getBadgeData();return t?s(i,{class:"s-trust-badges-wrapper "+(this.dark?"dark":"")},this.isVisibilityEnforced()?s("img",{class:"s-trust-badges-image",width:"55",height:"55",src:t.imageUrl,alt:t.label}):null,s("div",{class:"s-trust-badges-content"},s("p",{class:"s-trust-badges-label"},t.label),s("b",{class:"s-trust-badges-number"},t.number))):null}get hostEl(){return e(this)}};r.OPACITY_THRESHOLD=.1,r.ENFORCE_DEBOUNCE_MS=1500,r.ENFORCE_MAX_WAIT_MS=3e3,r.style="";export{r as salla_trust_badges}
4
+ import{r as t,h as e,H as s,a as i}from"./p-CjQzkU95.js";const r=class{constructor(e){t(this,e),this.dark=!1,this.commercialRegisterLabel="",this.freelanceLabel="",this.cachedChain=[],this.enforceVisibility=()=>{const t=this.hostEl;if(t&&t.isConnected&&this.getBadgeData()&&!this.isHostVisible(t))for(const e of this.getAncestorChain(t)){const t=getComputedStyle(e);"none"===t.display&&e.style.setProperty("display","flex","important"),"hidden"!==t.visibility&&"collapse"!==t.visibility||e.style.setProperty("visibility","visible","important"),parseFloat(t.opacity)<r.OPACITY_THRESHOLD&&e.style.setProperty("opacity","1","important"),"hidden"===t.contentVisibility&&e.style.setProperty("content-visibility","visible","important")}},this.runEnforce=()=>{this.clearEnforceTimers(),this.enforceVisibility()}}componentWillLoad(){this.initializeTranslations()}async componentDidLoad(){await salla.onReady(),this.isVisibilityEnforced()&&(this.setupVisibilityGuard(),this.scheduleEnforce())}componentDidRender(){this.scheduleEnforce()}disconnectedCallback(){this.attrObserver?.disconnect(),this.attrObserver=void 0,this.moveObserver?.disconnect(),this.moveObserver=void 0,this.cachedChain=[],this.clearEnforceTimers()}isVisibilityEnforced(){return"SA"===salla.config.get("store.store_country")}getAncestorChain(t){const e=[];let s=t;for(;s&&(e.push(s),s!==document.documentElement);)s=s.parentElement;return e}didChainChange(t){const e=this.getAncestorChain(t);if(e.length!==this.cachedChain.length)return!0;for(let t=0;t<e.length;t++)if(e[t]!==this.cachedChain[t])return!0;return!1}isHostVisible(t){return"function"==typeof t.checkVisibility?t.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0}):this.isVisibleFallback(t)}isVisibleFallback(t){let e=t;for(;e;){const t=getComputedStyle(e);if("none"===t.display)return!1;if("hidden"===t.visibility||"collapse"===t.visibility)return!1;if(parseFloat(t.opacity)<r.OPACITY_THRESHOLD)return!1;if("hidden"===t.contentVisibility)return!1;if(e===document.documentElement)break;e=e.parentElement}return!0}clearEnforceTimers(){void 0!==this.enforceTimer&&(clearTimeout(this.enforceTimer),this.enforceTimer=void 0),void 0!==this.maxWaitTimer&&(clearTimeout(this.maxWaitTimer),this.maxWaitTimer=void 0)}scheduleEnforce(){this.isVisibilityEnforced()&&(void 0!==this.enforceTimer&&clearTimeout(this.enforceTimer),this.enforceTimer=setTimeout(this.runEnforce,r.ENFORCE_DEBOUNCE_MS),void 0===this.maxWaitTimer&&(this.maxWaitTimer=setTimeout(this.runEnforce,r.ENFORCE_MAX_WAIT_MS)))}setupVisibilityGuard(){const t=this.hostEl;t&&"undefined"!=typeof MutationObserver&&(this.attrObserver?.disconnect(),this.moveObserver?.disconnect(),this.attrObserver=new MutationObserver((()=>{const t=this.hostEl;t&&t.isConnected&&(this.isHostVisible(t)||this.scheduleEnforce())})),this.attachAttrObserver(t),this.moveObserver=new MutationObserver((()=>{const t=this.hostEl;t&&t.isConnected&&this.didChainChange(t)&&(this.attachAttrObserver(t),this.scheduleEnforce())})),this.moveObserver.observe(document.documentElement,{childList:!0,subtree:!0}))}attachAttrObserver(t){if(this.attrObserver){this.attrObserver.disconnect(),this.cachedChain=this.getAncestorChain(t);for(const t of this.cachedChain)this.attrObserver.observe(t,{attributes:!0,attributeFilter:["style","class","hidden"]})}}initializeTranslations(){salla.lang.onLoaded((()=>{const t=(t,e,s)=>{salla.helpers.setNested(salla.lang.messages[t],e,s)};t("ar.trans","blocks.footer.commercial_register","السجل التجاري"),t("en.trans","blocks.footer.commercial_register","Commercial Register"),t("ar.trans","blocks.footer.freelance","وثيقة العمل الحر"),t("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 t=salla.config.get("store.settings.commercial_number"),e=salla.config.get("store.settings.freelance_number");return t?{number:t,label:this.commercialRegisterLabel||"السجل التجاري",imageUrl:salla.url.cdn("images/commercial-register.png",70,70),type:"commercial"}:e?{number:e,label:this.freelanceLabel||"وثيقة العمل الحر",imageUrl:this.dark?salla.url.cdn("images/freelance-white.png"):salla.url.cdn("images/freelance.png"),type:"freelance"}:null}render(){const t=this.getBadgeData();return t?e(s,{class:"s-trust-badges-wrapper "+(this.dark?"dark":"")},this.isVisibilityEnforced()?e("img",{class:"s-trust-badges-image",width:"55",height:"55",src:t.imageUrl,alt:t.label}):null,e("div",{class:"s-trust-badges-content"},e("p",{class:"s-trust-badges-label"},t.label),e("b",{class:"s-trust-badges-number"},t.number))):null}get hostEl(){return i(this)}};r.OPACITY_THRESHOLD=.1,r.ENFORCE_DEBOUNCE_MS=1500,r.ENFORCE_MAX_WAIT_MS=3e3,r.style='/*!twlt*/.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.flex{display:flex}.hidden{display:none}.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{r as salla_trust_badges}