@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
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,c as s,h as i,H as a,a as e,e as o}from"./p-BICKbbaT.js";import{P as n}from"./p-DY4LZmNP.js";import{H as l}from"./p-DOBDDG4K.js";import{a as r}from"./p-CL7OPpYS.js";import{B as c}from"./p-D3mWkc-3.js";import{D as d}from"./p-CoQJOPRz.js";import{S as p}from"./p-BZp0rKEO.js";import{C as h}from"./p-C6jIkM-X.js";import"./p-CgtvEd63.js";const u="apple-pay-sdk";let m=null;function y(){return salla?.config?.get?.("store.settings.buy_now.merchant_identifier")||null}function g(){return"undefined"==typeof document?Promise.resolve():m||(document.getElementById(u)?(m=Promise.resolve(),m):(m=new Promise((t=>{const s=document.createElement("script");s.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",s.setAttribute("id",u),s.async=!0,s.onload=()=>t(),s.onerror=()=>t(),document.body.appendChild(s)})),m))}async function f(t="SAR"){try{if(window.ApplePaySession?.canMakePayments?.())return!0}catch(t){}if("undefined"==typeof window||!window.PaymentRequest)return!1;if(!y())return!1;await g();try{const s=new PaymentRequest(function({version:t,merchantIdentifier:s,supportedNetworks:i,countryCode:a}){return[{supportedMethods:"https://apple.com/apple-pay",data:{version:t,merchantIdentifier:s,merchantCapabilities:["supports3DS"],supportedNetworks:i,countryCode:a}}]}({version:3,merchantIdentifier:y(),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 s.canMakePayment()}catch(t){return!1}}class w{constructor(t,s){this.host=t,this.productId=s,this.collected=!1,this.livePrice=0}static attach(t,s){const i=t.querySelector("salla-mini-checkout-widget");if(!i)return!1;const a=new w(t,String(s));return salla.product?.event?.onPriceUpdated?.((t=>{a.livePrice=Number(t?.data?.price)||a.livePrice})),i.addEventListener("click",(t=>a.handleWidgetClick(t,i)),!0),!0}getSelectedQuantity(){try{const t=document.querySelector("form.product-form"),s=t?.getElementSallaData?.(),i=Number(s instanceof FormData?s.get("quantity"):s?.quantity);if(Number.isFinite(i)&&i>0)return i}catch{}return Number(this.host.getAttribute("quantity"))||1}async handleWidgetClick(t,s){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,s)));let i;s.classList.add("s-add-product-button-busy");try{i=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),s.classList.remove("s-add-product-button-busy"),void this.resumeWidget(s)}s.classList.remove("s-add-product-button-busy");const a=i?.data?.order_options||[];if(!a.length)return void this.resumeWidget(s);const e=this.livePrice>0?this.livePrice:Number(i?.data?.products?.[0]?.price?.amount)||0,o=this.ensureModal();try{const t=await o.open({orderOptions:a,basePrice:e});this.injectIntoMini(t?.orderOptions||[]),this.resumeWidget(s)}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 s=this.productId,i=a=>{if(String(a?.id)===String(s))try{a?.payload?.set?.("order_options",t)}finally{salla.event.off("cart::before.add.item",i)}};salla.event.on("cart::before.add.item",i)}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 s=t.shadowRoot?.querySelector?.(".s-fast-checkout-button");s?s.click():"function"==typeof t.click&&t.click()}}const b=class{constructor(i){t(this,i),this.success=s(this,"success"),this.failed=s(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?n: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 s=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);return s&&"function"==typeof s.validateAndScroll?s.validateAndScroll().then((async t=>{const s={isValid:t,component:this};if(await salla.hooks.call("salla-add-product-button","validate",s),s.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"),s=Object.entries({id:this.productId,donation_amount:this.donatingAmount,quantity:this.quantity,endpoint:"quickAdd",source:l.getProductsSource(t?.getAttribute("source"))}).reduce(((t,[s,i])=>i?(t[s]=i,t):t),{});return salla.cart.addItem(s).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?.()||l.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 i("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"},i("div",{slot:"widget-label",class:"s-add-product-button-mini-checkout-content"},i("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 f(),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?i(a,null,i("salla-product-availability",{...this.getBtnAttributes(),"is-subscribed":!0},i("span",{class:"s-hidden"},i("slot",null)))):"out-and-notify"===this.productStatus&&this.notifyChannels||this.hasOutOfStockOption?i(a,null,i("salla-product-availability",{...this.getBtnAttributes()},i("span",{class:"s-hidden"},i("slot",null)))):i(a,{class:{"s-add-product-button-with-quick-buy":this.showQuickBuy,"s-add-product-button-with-sticky-bar":this.supportStickyBar,"s-add-product-button-with-apple-pay":this.showQuickBuy&&this.isApplePayActive}},i("div",{class:{"s-add-product-button-main":this.showQuickBuy,"w-full":!document.getElementById("fast-checkout-js")||["financial_support","donating"].includes(this.productType)}},i("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"},i("slot",null)),this.showQuickBuy&&document.getElementById("fast-checkout-js")&&!["financial_support","donating"].includes(this.productType)?this.miniCheckoutWidget():""),this.showQuickBuy&&this.isApplePayActive?i("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 s=salla.storage.get(`product-${this.productId}-subscribed-options`);if((s||this.subscribedOptions)&&this.hasOutOfStockOption)if(salla.config.isGuest()){const t=s?s.map((t=>t.split(",").map((t=>parseInt(t))))):[];this.hasSubscribedOptions=t.length>0&&t.some((t=>t.every((t=>this.selectedOptions.some((s=>s.id===t))))))}else this.hasSubscribedOptions=!(!this.subscribedOptions||"null"===this.subscribedOptions||"[]"===this.subscribedOptions)&&JSON.parse(this.subscribedOptions).some((t=>t.every((t=>this.selectedOptions.some((s=>s.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 e(this)}};b.style=":host{display:block}salla-add-product-button[width=wide]{width:100%}";const v=class{constructor(s){t(this,s),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,r(String(t));this.canRender=!1})).then((t=>{if(!t?.length)return void(this.canRender=!1);const s=[String(this.resolvedProductId),...t.slice(0,this.limit)];return salla.product.fetch({source:"selected",source_value:s})})).then((t=>{if(!t)return;const s=t?.data??[];if(!s.length)return void(this.canRender=!1);const i=s.find((t=>String(t.id)===String(this.resolvedProductId))),a=s.filter((t=>String(t.id)!==String(this.resolvedProductId)));a.length?(this.recommendations=i?[i,...a]:a,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 s=this.recommendations.filter((t=>!this.isMainProduct(t.id))).findIndex((s=>String(s.id)===String(t)));return-1===s?-1:s+1}emitProductClicked(t,s){salla.event.emit("salla-bought-together::product.clicked",[{product:t,position:s}])}toggleProduct(t){const s=new Set(this.selectedIds);s.has(t)?s.delete(t):s.add(t),this.selectedIds=s}get totalPrice(){const t=this.recommendations.filter((t=>this.selectedIds.has(t.id))).reduce(((t,s)=>t+(s.price??0)),0),s=salla.config.get("store.currency.decimals")??2,i=Math.pow(10,s);return salla.money(Math.round(t*i)/i)}async addSelectedToCart(){if(this.isAdding||!this.selectedIds.size)return;this.isAdding=!0;let t=!1;try{for(const s of Array.from(this.selectedIds))try{salla.cart?.api&&(salla.cart.api.addToCartSource="pdp_fbt");const t=await salla.cart.addItem({id:s,endpoint:"quickAdd",source:"pdp_fbt"}),i=this.recommendations.find((t=>t.id===s));if(i){const a=this.isMainProduct(s)?0:this.recommendedPosition(s),e=t?.data?.items?.find((t=>String(t.product_id)===String(i.id)))??t?.data?.items?.slice(-1)[0];salla.event.emit("salla-bought-together::product.added",[{product:i,position:a,cartItem:e,cartId:t?.data?.id}])}}catch(s){salla.log(s),t=!0}t&&salla.error(salla.lang.get("common.messages.error"))}finally{this.isAdding=!1}}getSkeletonView(){return i(a,{class:"s-bought-together-entry"},i("div",{class:"s-bought-together-skeleton"},i("div",{class:"s-bought-together-skeleton-header"},i("salla-skeleton",{height:"16px",width:"35%"}),i("salla-skeleton",{height:"10px",width:"60%"})),Array(4).fill(null).map(((t,s)=>i("div",{key:s,class:"s-bought-together-skeleton-item"},i("salla-skeleton",{height:"22px",width:"22px"}),i("salla-skeleton",{height:"48px",width:"48px"}),i("div",{class:"s-bought-together-skeleton-info"},i("salla-skeleton",{height:"12px",width:"55%",style:{marginBottom:"3px"}}),i("salla-skeleton",{height:"10px",width:"25%"}))))),i("salla-skeleton",{height:"44px",width:"100%"})))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.recommendations.length?i(a,{class:"s-bought-together-entry"},i("div",{class:"s-bought-together-header"},i("h3",{class:"s-bought-together-title"},this.title),i("p",{class:"s-bought-together-subtitle"},this.subtitle)),i("div",{class:"s-bought-together-list"},this.recommendations.map((t=>i("div",{key:t.id,class:"s-bought-together-item"+(this.selectedIds.has(t.id)?"":" s-bought-together-item--unchecked")},i("label",{class:"s-bought-together-checkbox-label"},i("input",{type:"checkbox",class:"s-bought-together-checkbox",checked:this.selectedIds.has(t.id),onChange:()=>this.toggleProduct(t.id)}),i("span",{class:"s-bought-together-checkmark"})),i("a",{class:"s-bought-together-item-link",href:t.url,onClick:()=>!this.isMainProduct(t.id)&&this.emitProductClicked(t,this.recommendedPosition(t.id))},i("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")}}),i("span",{class:"s-bought-together-item-name"},t.name)),i("span",{class:"s-bought-together-item-price",innerHTML:null!=t.price?salla.money(t.price):""}))))),i("salla-button",{class:"s-bought-together-btn",disabled:!this.selectedIds.size||this.isAdding,loading:this.isAdding,onClick:()=>this.addSelectedToCart()},i("span",{innerHTML:`${this.buyTogetherFor} ${this.totalPrice}`}))):null:null}get el(){return e(this)}};v.style=':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}';const k=class{constructor(s){t(this,s),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 s=document.querySelector(`salla-product-options[product-id="${this.productId}"]`),i=Object.values(await(s?.getSelectedOptionsData())||{});if(i.length&&!await(s?.reportValidity())){let t=salla.lang.get("common.messages.required_fields");throw salla.error(t),t}return t.options=[],i.forEach((s=>{s&&!isNaN(s)&&t.options.push(Number(s))})),t},this.typing=t=>{const s=t.target.nextElementSibling;t.target.classList.remove("s-has-error"),s?.classList.contains("s-product-availability-error-msg")&&(s.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 s=t||salla.api.product.getAvailabilityChannels?.()||l.availabilityChannels();this.channels_=s?s.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:s,countryCode:i}=await this.mobileInput.getValues();t.country_code=i,t.phone=s}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 s=salla.storage.get(`product-${this.productId}-subscribed-options`)||[],i=t.options.join(",");s.includes(i)?salla.log("already subscribed to this options"):(s.push(i),salla.storage.set(`product-${this.productId}-subscribed-options`,s),this.isSubscribed=!0)}}else this.isSubscribed=!0})).then((()=>this.btn.stop())).then((()=>this.modal.close())).catch((()=>this.btn.stop()&&this.btn.enable()))}async validateform(){try{if(this.channels_.includes("email")){const t=l.isValidEmail(this.email.value);if(t)return;!t&&this.validateField(this.email,salla.lang.get("common.elements.email_is_valid"))}if((this.channels_.includes("sms")||this.channels_.includes("whatsapp"))&&await this.mobileInput.isValid())return}catch(t){throw"Please insert required fields"}}validateField(t,s){t.classList.add("s-has-error"),t.nextElementSibling.innerText="* "+s}render(){return i(a,{key:"ccb098126e7809a6386ff38c74dfa0f00f64deeb",class:"s-product-availability-wrap"},this.isSubscribedToProduct?i("div",{class:"s-product-availability-subscribed"},i("span",{innerHTML:c,class:"s-product-availability-subs-icon"}),salla.lang.get("pages.products.notify_availability_success")):i("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 i("salla-modal",{ref:t=>this.modal=t,"modal-title":this.title_,subTitle:salla.lang.get("pages.products.notify_availability_subtitle"),width:"sm"},i("span",{slot:"icon",class:"s-product-availability-header-icon",innerHTML:c}),i("div",{class:"s-product-availability-body"},this.channels_.includes("email")?[i("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.email")),i("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"}),i("span",{class:"s-product-availability-error-msg"})]:"",this.channels_.includes("sms")||this.channels_.includes("whatsapp")?[i("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.mobile")),i("salla-tel-input",{ref:t=>this.mobileInput=t,onKeyDown:t=>this.typing(t)})]:""),i("div",{slot:"footer",class:"s-product-availability-footer"},i("salla-button",{class:"modal-cancel-btn",width:"wide",color:"light",fill:"outline",onClick:()=>this.modal.close()},salla.lang.get("common.elements.cancel")),i("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 e(this)}static get watchers(){return{channels:["channelsWatcher"]}}};var _,S,P;k.style="",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"}(_||(_={})),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"}(S||(S={})),function(t){t[t.INPUT=1]="INPUT",t[t.LIMBO=2]="LIMBO",t[t.LOCAL=3]="LOCAL"}(P||(P={}));const C=class{constructor(a){if(t(this,a),this.changed=s(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,s,i)=>{if("custom"===s&&"input"===i){const s=t.target;return salla.helpers.inputDigitsOnly(s),salla.event.emit("product-options::donation-changed",{id:this.productId,price:s.value}),void s.dispatchEvent(new window.Event("change",{bubbles:!0}))}const a="option"===i?String(t.target?.value??""):"";if("option"===i&&"custom"===s&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),this.isCustomDonation="custom"===a,this.donationInput){if("custom"===a?(this.donationInput.value="",this.donationInput.focus()):this.donationInput.value=a,"custom"===s)return;salla.event.emit("product-options::donation-changed",{id:this.productId,price:a})}},this.hideLabel=t=>!(t.type!==d.DONATION||!t.donation||t.donation.can_donate),this.getExpireDonationMessage=t=>{if(!t.donation)return;const s=t.donation.target_amount<=t.donation.collected_amount;return i("div",{class:{"s-product-options-donation-message":!0,"s-product-options-donation-completed":s,"s-product-options-donation-expired":!s}},i("p",null,t.donation.target_message),i("span",{innerHTML:s?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={},s=this.host.getElementSallaData(),i=void 0!==this.bundleContext?this.bundleContext:null;return s.forEach(((s,a)=>{if(i){if(a.startsWith("bundle[")&&a.includes("[options][")){const i=a.split("[options][")[1].replace("]","");t[i]=s}}else a.startsWith("options[")&&(t[a.replace("options[","").replace("]","")]=s)})),t}async reportValidity(){const t=this.host.querySelectorAll("[required]");let s=!0;for(let i=0;i<t.length;i++){const a=t[i];if(a.disabled||a.closest(".hidden"))continue;const e=a.closest("salla-map");e&&"function"==typeof e.reportValidity?await e.reportValidity()||(s=!1):"reportValidity"in a&&!a.reportValidity()&&(s=!1)}return s}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((s=>s.id===t))}invalidHandler(t,s){const i=t.target.closest(".s-product-options-option");i.classList.contains("s-product-options-option-error")||i.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")===i&&this.scrollToElement(i)}scrollToElement(t){t&&t.scrollIntoView({behavior:"smooth",block:"center"})}changedHandler(t,s,i=!0){const a={event:t,option:s,detail:null,productId:this.productId};if(s.details){const i=s.details.find((s=>Number(s.id)===Number(t.target.value)));a.detail=i}"country"===s.type&&this.handleCountryOptionChange(t,a.detail);const e=t.target.closest(".s-product-options-option");(t.target.value||(s.type===d.FILE||s.type===d.IMAGE)&&"added"===t.type||s.type===d.MAP&&"selected"===t.type&&Number.isFinite(Number(t.target.lat))&&Number.isFinite(Number(t.target.lng)))&&setTimeout((()=>{e.classList.remove("s-product-options-option-error")}),200),s.type===d.DONATION&&salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.target.value}),this.setSelectedSkus(),this.handleRequiredMultipleOptions(s);const o=this.selectedOptions.findIndex((t=>t.option_id===a.option.id));if(a.option.type===d.MULTIPLE_OPTIONS){const t=this.selectedOptions.findIndex((t=>t.option_id===a.option.id&&t?.id===a.detail?.id));t>-1?this.selectedOptions.splice(t,1):this.selectedOptions.push({...a.detail,option_id:a.option.id})}else a.detail&&0!==Object.keys(a.detail).length?o>-1?this.selectedOptions[o]={...a.detail,option_id:a.option.id}:this.selectedOptions.push({...a.detail,option_id:a.option.id}):o>-1&&this.selectedOptions.splice(o,1);this.optionsData=this.optionsData.map((t=>t.id===a.option.id?{...t,details:t.details.map((t=>({...t,is_selected:a.option.type===d.MULTIPLE_OPTIONS?this.selectedOptions.some((s=>s.id===t.id)):Number(t.id)===Number(a.detail?.id),value:a.detail?.value})))}:t)),this.pruneInvisibleConditionalSelections(),this.setSelectedSkus(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===d.MULTIPLE_OPTIONS&&t.required)).forEach((t=>this.handleRequiredMultipleOptions(t)))})),i&&(this.changed.emit(a),salla.event.emit("product-options::change",a))}setSelectedSkus(){this.selectedSkus=this.selectedOptions.map((t=>Object.keys(t.skus_availability||{}))).reduce(((t,s)=>t.filter((t=>s.includes(t)))),[]).map((t=>Number(t))),this.computeAvailability()}handleRequiredMultipleOptions(t){if(t.type!==d.MULTIPLE_OPTIONS||!t.required)return;const s=this.host.querySelector(`[data-option-id="${t.id}"]`);if(!s)return;const i=s.querySelectorAll("input:checked").length;s.querySelectorAll("input").forEach((t=>t.toggleAttribute("required",!i)))}pruneInvisibleConditionalSelections(){const t=Math.max(1,this.optionsData.length);for(let s=0;s<t;s++){let t=!1;for(const s of this.optionsData){const i=s.visibility_condition;if(!i)continue;const a=this.selectedOptions.filter((t=>t.option_id===i.option)).map((t=>String(t.id))).includes(String(i.value));("="===i.operator?a:!a)||this.clearStaleOption(s.id)&&(t=!0)}if(!t)break}}clearStaleOption(t){const s=this.optionsData.find((s=>s.id===t));if(!s)return!1;const i=this.selectedOptions.length;this.selectedOptions=this.selectedOptions.filter((s=>s.option_id!==t));const a=this.selectedOptions.length!==i,e=null!=s.value&&String(s.value).length>0,o=s.details?.some((t=>t.is_selected))??!1;return!!(a||e||o)&&(this.optionsData=this.optionsData.map((s=>s.id!==t?s:{...s,value:void 0,details:s.details?.map((t=>({...t,is_selected:!1})))??s.details})),!0)}getLatLng(t,s){if("string"!=typeof t||!t.trim())return;const i=t.split(",")["lat"===s?0:1];if(null==i)return;const a=i.trim();if(""===a)return;const e=Number(a);return Number.isFinite(e)?e: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")?i("salla-booking-field",{onInvalidInput:s=>this.invalidHandler(s,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 s=this.optionsData.find((({type:t})=>"digital-code-value"===t));if(!s)throw new Error("product-options:: No digital card options found");const i=Object.keys(t.skus_availability).filter((s=>!1===t.skus_availability[s]));this.availableDigitalCardValues=s.details.filter((t=>!Object.keys(t.skus_availability).filter((t=>i.includes(t))).length))}handleCountryOptionChange(t,s){t.stopImmediatePropagation(),this.ignoreDefaultCardValue=!0;const i=this.host.querySelector("input[data-code-value]:checked");if(i&&(i.checked=!1),!this.optionsData.find((({type:t})=>"digital-code-value"===t)))throw new Error("product-options:: No digital card options found");this.getAvailableDigitalCardSKUs(s)}getSelectedDigitalCardOptions(t){const s=t.details.find((t=>t.is_selected)),i=t.details.find((t=>!!t.is_default))||t.details[0];if(["digital-code-value","country"].includes(t.type))return s||i}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)),s=t&&this.getSelectedDigitalCardOptions(t);s&&this.getAvailableDigitalCardSKUs(s)}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 s=t.target;if(!(Salla.helpers.isAppleDevice()&&(s instanceof HTMLInputElement||s instanceof HTMLTextAreaElement)&&s.classList.contains("s-form-control")&&this.host.contains(s)))return;t.preventDefault();const i=t.clipboardData?.getData("text")||"",a=s.selectionStart,e=s.selectionEnd,o=s.value.slice(0,a)+i+s.value.slice(e);s.value=o,s.setSelectionRange(a+i.length,a+i.length);try{s.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 i(a,{class:{"s-product-options-wrapper":!0,"s-product-options-no-padding":this.noPadding}},i("salla-conditional-fields",null,this.optionsData.map((t=>i("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():i("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}`},i("label",{htmlFor:this.generateInputId(t.id),class:"s-product-options-option-label "+(this.hideLabel(t)?"s-product-options-option-label-hidden":"")},i("b",null,t.name,t.required&&i("span",null," * ")," "),i("small",null,t.placeholder)),i("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 s=this.bundleContext;let i=this.uniqueKey?`${t}-${this.uniqueKey}`:t;if(s)try{const t="string"==typeof s?JSON.parse(s):s,{sectionId:a,productId:e}=t;i=`${i}-bundle-${a}-${e}`}catch(t){}return i}generateInputId(t){return this.generateUniqueKey(`option-${t}`)}generateInputName(t){const s=this.bundleContext,i=t.toString();if(s)try{const t="string"==typeof s?JSON.parse(s):s,{sectionId:a,productId:e}=t;return`bundle[${a}][${e}][options][${i}]`}catch(t){return`options[${i}]`}return`options[${i}]`}fillSelectedOptions(){this.selectedOptions=this.optionsData.reduce(((t,s)=>{const i=(s.details??[]).filter((t=>t.is_selected)).map((t=>({...t,option_id:s.id})));return t.concat(i)}),[])}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((s=>t.includes(s.type)&&s.details?.some((t=>t.is_selected))))&&requestAnimationFrame((()=>{try{const t=this.host.closest("form");if(!t)return;const s=new FormData(t),i=s.get("id")||s.get("product_id");if(i&&String(i)!==String(this.productId))return;salla.product.getPrice(s)}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,s){return i("div",{class:"s-product-options-donation-wrapper"},t.donation?.can_donate?[t.donation?i("div",{key:t.id,class:"s-product-options-donation-progress"},i("salla-progress-bar",{donation:t.donation})):"",t.details.length?[i("h4",{key:t.id},this.selectAmount),i("div",{key:t.id,class:"s-product-options-donation-options"},t.details.map(((s,a)=>i("div",{key:t.id,class:"s-product-options-donation-options-item"},i("input",{id:this.generateUniqueKey(`donation-option-${a}`),type:"radio",name:"donating_option",checked:s.is_selected,value:s.additional_price,onChange:i=>this.handleDonationOptions(i,s,"option",t)}),i("label",{htmlFor:this.generateUniqueKey(`donation-option-${a}`)},i("span",{innerHTML:salla.money(s.name)}))))),t.donation?.custom_amount_enabled?i("div",{class:"s-product-options-donation-options-item"},i("input",{id:this.generateUniqueKey("donation-option-custom"),type:"radio",name:"donating_option",value:"custom",onChange:s=>this.handleDonationOptions(s,"custom","option",t)}),i("label",{htmlFor:this.generateUniqueKey("donation-option-custom")},i("span",null," ",this.selectDonationAmount," "))):"")]:"",i("div",{key:t.id,class:{"s-product-options-donation-input-group":!0,shown:!t.details.length||t.details.length&&this.isCustomDonation}},i("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:s=>this.handleDonationOptions(s,"custom","input",t),onBlur:s=>this.changedHandler(s,t),onInvalid:s=>this.invalidHandler(s,t)}),i("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol))]:this.getExpireDonationMessage(t))}fileUploader(t,s=null){return i("salla-file-upload",{...s||{},"payload-name":"file",value:t.value,"instant-upload":!0,name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,height:"120px",onAdded:s=>{this.changedHandler(s,t,!(s.detail?.file?.origin===P.LOCAL))},url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:s=>this.invalidHandler(s,t),class:{"s-product-options-image-input":!0,required:t.required}},i("div",{class:"s-product-options-filepond-placeholder"},i("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:s.accept?.split(",").every((t=>t.includes("image")))?h:'\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'}),i("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),i("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 s=t.details.map((t=>this.fileTypes[t.name])).filter(Boolean);return s?.length?this.fileUploader(t,{accept:s.join(",")}):"File types not selected."}numberOption(t){return i("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:s=>this.changedHandler(s,t),onInvalid:s=>this.invalidHandler(s,t),onInput:t=>salla.helpers.inputDigitsOnly(t.target)})}splitterOption(){return i("div",{class:"s-product-options-splitter"})}textOption(t){return i("div",{class:"s-product-options-text"},i("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:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t)}))}textareaOption(t){return i("div",{class:"s-product-options-textarea"},i("div",{class:"mt-1"},i("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:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t)})))}mapOption(t){return i("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:s=>this.invalidHandler(s,t),onSelected:s=>this.changedHandler(s,t)})}colorPickerOption(t){return i("salla-color-picker",{onSubmitted:s=>this.changedHandler(s,t),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,onInvalidInput:s=>this.invalidHandler(s,t),color:t.value})}timeOption(t){return i("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:s=>this.invalidHandler(s,t),onPicked:s=>this.changedHandler(s,t)})}dateOption(t){return i("div",{class:"s-product-options-date-element"},i("salla-datetime-picker",{value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,minDate:new Date,name:this.generateInputName(t.id),onInvalidInput:s=>this.invalidHandler(s,t),onPicked:s=>this.changedHandler(s,t)}))}datetimeOption(t){return i("div",{class:"s-product-options-datetime-element"},i("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:s=>this.invalidHandler(s,t),onPicked:s=>this.changedHandler(s,t)}))}getOptionDetailName(t,s=!0,i,a){let e;if(i&&i===d.COLOR&&(e=t.name+(s&&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>`:"")),!e){const i=(s&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?` - ${this.outOfStockText}`:"")+(t.additional_price?` (${salla.money(t.additional_price,!1)})`:"");if("price"===a){const s=salla.helpers.digitsOnly(t.name),a=Number(s);return s&&Number.isFinite(a)?salla.money(a,!0)+i:i}e=t.name+i}return e.replace("<i class=sicon-sar></i>",salla.config.currency()?.symbol||"ر.س")}computeAvailability(){this.availabilityMap=function(t,s,i=!0){const a={};if(!t?.length)return a;const e=t.filter((t=>t.details?.some((t=>t.skus_availability&&Object.keys(t.skus_availability).length>0)))),o=e.length<=1,n=new Set(t.filter((t=>!1===t.is_advance)).map((t=>t.id)));if(0===e.length){for(const s of t)for(const t of s.details)a[t.id]=t.is_out?"out_of_stock":"available";return a}const l=e.some((t=>t.details?.some((t=>t.skus_availability&&Object.values(t.skus_availability).some(Boolean))))),r=i&&!l;for(const t of e){const i=s.filter((s=>s.option_id!==t.id));for(const s of t.details){const t=s.skus_availability;if(!t||!Object.keys(t).length){a[s.id]=s.is_out?"out_of_stock":"available";continue}const e=Object.keys(t).map(Number),l=e.some((s=>t[s]));if(o||0===i.length){a[s.id]=!l&&r||l?"available":"out_of_stock";continue}let c=e;for(const t of i){if(n.has(t.option_id))continue;const s=new Set(Object.keys(t.skus_availability||{}).map(Number));c=c.filter((t=>s.has(t)))}if(!c.length){a[s.id]=r?"available":"impossible";continue}const d=c.some((s=>t[s]));a[s.id]=!d&&r||d?"available":"out_of_stock"}}return a}(this.optionsData||[],this.selectedOptions||[],this.productAvailable)}isOptionDetailOut(t){const s=this.availabilityMap[t.id];return void 0!==s?"available"!==s:!!t.is_out}renderInput(t,s,a,e,o,n){const l=this.generateUniqueKey(`${t}-${a.id}-${s.id}`),r=this.isOptionDetailOut(s),c=this.getOptionDetailName(s,!0,a.type,a.format),d={"s-product-options-grid-mode-span":n,"s-product-options-disabled":this.canDisabled&&r};return i("label",{class:{"s-product-options-disabled":this.canDisabled&&r,"s-product-options-option-stock-out":r}},i("input",{id:l,type:t,name:o,value:s.id,disabled:this.canDisabled&&r,required:e,checked:s.is_selected,onInvalid:t=>this.invalidHandler(t,a),onChange:t=>this.changedHandler(t,a)}),"price"===a.format?i("div",{class:d,innerHTML:c}):i("div",{class:d},c))}renderOptionDetails(t,s,i,a=!1){const e=this.generateInputName(s.id),o="radio"===t?e:`${e}[]`;return s?.details.map((e=>this.renderInput(t,e,s,i,o,a)))}renderSelect(t){return i("div",null,i("select",{id:this.generateInputId(t.id),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,class:"s-form-control",onInvalid:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t)},i("option",{value:""},t.placeholder),t?.details.map((t=>i("option",{key:t.id,value:t.id,disabled:this.canDisabled&&this.isOptionDetailOut(t),selected:t.is_selected},this.getOptionDetailName(t))))))}renderButtonStyle(t,s,a){return i("div",{class:"s-product-options-grid-mode"},this.renderOptionDetails(t,s,a,!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 s="button"===this.optionConfig?.["multiple-option"]?.type,a=t.required&&!t.details.some((t=>t.is_selected))&&!t.visibility_condition;return s?this.renderButtonStyle("checkbox",t,a):i("div",{class:{"s-product-options-multiple-options-wrapper":!0,required:t.required}},this.renderOptionDetails("checkbox",t,a))}radioOption(t){return this.singleOption(t)}colorOption(t){return i("fieldset",{class:"s-product-options-colors-wrapper"},t?.details.map((s=>{const a=this.isOptionDetailOut(s);return i("div",{class:{"s-product-options-colors-item":!0,"s-product-options-option-stock-out":a},key:s.id},i("input",{type:"radio",value:s.id,required:!t.visibility_condition&&t.required,checked:s.is_selected,name:this.generateInputName(t.id),disabled:this.canDisabled&&a,id:this.generateUniqueKey(`color-${this.productId}-${t.id}-${s.id}`),onInvalid:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t),"data-img-id":s.option_value}),i("label",{htmlFor:this.generateUniqueKey(`color-${this.productId}-${t.id}-${s.id}`),"data-img-id":s.option_value},i("span",{style:{backgroundColor:s.color}}),i("div",{innerHTML:this.getOptionDetailName(s,!0,t.type)})))})))}thumbnailOption(t){return i("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((s=>{const a=this.isOptionDetailOut(s);return i("div",{key:s.id,class:{"s-product-options-option-stock-out":a}},i("input",{type:"radio",value:s.id,"data-itemid":s.id,required:!t.visibility_condition&&t.required,checked:s.is_selected,name:this.generateInputName(t.id),"data-img-id":s.option_value,disabled:this.canDisabled&&a,id:this.generateUniqueKey(`option_${this.productId}-${t.id}_${s.id}`),onInvalid:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t)}),i("label",{htmlFor:this.generateUniqueKey(`option_${this.productId}-${t.id}_${s.id}`),"data-img-id":s.option_value,class:"go-to-slide"},i("img",{"data-src":s.image,src:s.image,title:s.name,alt:s.name}),i("span",{innerHTML:p,class:"s-product-options-thumbnails-icon"}),a?[i("small",{key:`badge-${s.id}`,class:"s-product-options-thumbnails-stock-badge"},this.outOfStockText),this.canDisabled?i("div",{key:`overlay-${s.id}`,class:"s-product-options-thumbnails-badge-overlay"}):""]:""),i("p",null,this.getOptionDetailName(s,!1)," "))})))}digitalCardValuesOption(t){return i("div",{class:"s-product-options-digital-card-wrapper"},this.availableDigitalCardValues.length>0?this.availableDigitalCardValues.map((s=>{const a=String(s.id);return i("label",{htmlFor:this.generateUniqueKey(a.toString()),key:a,class:"s-product-options-digital-card-option"},i("input",{type:"radio","data-code-value":!0,class:"s-form-control s-product-options-digital-card-input",value:s.id,name:this.generateInputName(t.id),id:this.generateUniqueKey(a.toString()),required:!t.visibility_condition&&t.required,onInvalid:s=>this.invalidHandler(s,t),...this.ignoreDefaultCardValue?{}:{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===s.id}}),i("span",null,s.name," ",salla.config?.currency()?.symbol))})):i("div",{class:"s-product-options-digital-card-out-of-stock"}))}countryOption(t){return i("div",{class:"s-product-options-digital-card-wrapper"},t.details.map((s=>{const a=this.isOptionDetailOut(s);return i("label",{htmlFor:this.generateUniqueKey(s.id.toString()),key:s.id,class:{"s-product-options-digital-card-option":!0,"s-product-options-digital-card-option-stock-out":a,"s-product-options-option-stock-out":a}},i("input",{id:this.generateUniqueKey(s.id.toString()),type:"radio",class:"s-form-control s-product-options-digital-card-input",value:s.id,name:this.generateInputName(t.id),disabled:this.canDisabled&&a,required:!t.visibility_condition&&t.required,onInvalid:s=>this.invalidHandler(s,t),onChange:s=>this.changedHandler(s,t),onClick:()=>{this.disableCardValue=!1},...salla.url.is_page("cart")?{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===s.id}:{}}),i("img",{loading:"lazy",alt:s.code,height:24,width:24,class:"s-product-options-country-flag",src:`https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(s.code).toLocaleLowerCase()}.svg`,onError:t=>{t.currentTarget.onerror=null,t.currentTarget.src=salla.url.cdn("images/globe.svg")}}),i("span",null,s.name))})))}get host(){return e(this)}};function I(){o.defaults.headers.common.currency=salla?.config?.get?.("user.currency_code")}C.style="";var O={request:(t,s,i,a=null,e=null)=>(I(),o.request({url:s,data:i,method:t.toLowerCase(),responseType:"json"}).then(a).catch(e)),get:(t,s=null,i=null,a)=>(I(),o.get(t,{params:a}).then(s).catch(i)),post(t,s,i=null,a=null){return this.request("post",t,s,i,a)},put(t,s,i=null,a=null){return this.request("put",t,s,i,a)},delete(t,s,i=null,a=null){return this.request("delete",t,s,i,a)},requestWithSupportAjax(t,s,i="post"){return new Promise(((a,e)=>{if(!window?.isLegacyTheme)return this.request(i,t,s,(({data:t})=>a(t)),(({response:t})=>e(t)));I(),$.ajax({url:t,method:i.toUpperCase(),data:s,headers:{currency:o.defaults.headers.common.currency},async:!1,success:function({data:t}){return a(t)},error:function({response:t}){return e(t)}})}))}},x={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,s){var i,a,e,o=0,n=0;for(o=0;o<s.length;o+=1)if(new RegExp(s[o].value,"i").test(t)){if(i=new RegExp(s[o].version+"[- /:;]([\\d._]+)","i"),e="",(a=t.match(i))&&a[1]&&(a=a[1]),a)for(a=a.split(/[._]+/),n=0;n<a.length;n+=1)e+=0===n?a[n]+".":a[n];else e="0";return{name:s[o].name,version:parseFloat(e)}}return{name:"unknown",version:0}}};async function q(t,s,i=!1){if(salla.logger.log("🍏 Pay: mutateShippingContact called",s,i),t.detail.requiredShippingContactFields&&0!=t.detail.requiredShippingContactFields.length)if(i){if(salla.config.isGuest()&&salla.config.get("store.features").includes("guest-checkout")){if(!(s.emailAddress&&s.givenName&&s.familyName&&s.phoneNumber)){salla.logger.warn("🍏 Pay: Guest contact fields are required",s);const i=[];return s.emailAddress||i.push(new window.ApplePayError("shippingContactInvalid","emailAddress","Email address is required")),s.phoneNumber||i.push(new window.ApplePayError("shippingContactInvalid","phoneNumber","Phone number is required")),s.givenName&&s.familyName||i.push(new window.ApplePayError("shippingContactInvalid","name","Name is required")),void t.session.completePayment({status:t.session.STATUS_INVALID_SHIPPING_CONTACT,errors:i})}await async function(t,s){return salla.logger.log("🍏 Pay: Updating guest contact",s),new Promise(((i,a)=>{O.post(t.detail.guestContactSelected.url.replace("{id}",t.id),{email:s.emailAddress||null,first_name:s.givenName||null,last_name:s.familyName||null,phone_number:s.phoneNumber||null,country_code:s.countryCode||null},(async({data:s})=>{"function"==typeof t.detail.guestContactSelected?.onSuccess&&t.detail.guestContactSelected.onSuccess(s),i(s)}),(({response:s})=>{salla.logger.warn("🍏 Pay: Failed to update guest contact via api",s),"function"==typeof t.detail.guestContactSelected?.onFailed&&t.detail.guestContactSelected.onFailed(s),a({response:s})}))}))}(t,s)}}else if(t.detail.requiredShippingContactFields.includes("postalAddress"))return O.post(t.detail.shippingContactSelected.url.replace("{id}",t.id),{country:s.country,city:s.locality,local:s.subLocality||s.administrativeArea||s.locality,description:s.subAdministrativeArea,street:s.addressLines?.join(", ")||s.administrativeArea,country_code:s.countryCode,postal_code:s.postalCode},(async({data:s})=>{if("function"==typeof t.detail.shippingContactSelected.onSuccess&&t.detail.shippingContactSelected.onSuccess(s),t.address_id=s.data.address_id,t.shipping_methods=s.data.shipping_methods,!t.shipping_methods||t.shipping_methods&&!t.shipping_methods.length)return salla.logger.warn("🍏 Pay: We dont found any supported methods",s),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(s){return salla.logger.warn("Failed set the shipping details to api",s),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}try{await t.recalculateTotal()}catch(s){return salla.logger.warn("🍏 Pay: Failed recalculate total",s),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}const i={newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),newShippingMethods:t.mappingShippingMethods(t.shipping_methods)};salla.logger.log("🍏 Pay: completeShippingContactSelection",i),t.session.completeShippingContactSelection(i)}),(({response:s})=>{salla.logger.warn("🍏 Pay: Failed add address via api",s),"function"==typeof t.detail.shippingContactSelected.onFailed&&t.detail.shippingContactSelected.onFailed(s);let i=s?.data?.error?.fields,a=function(t){return Object.entries(t).filter((([t,s])=>s&&s.length>0)).map((([t,s])=>new window.ApplePayError("shippingContactInvalid",t,s[0])))}({countryCode:i?.country_code&&i.country_code.length>0?i.country_code[0]:null,locality:i?.city&&i.city.length>0?i.city[0]:null,country:i?.country&&i.country.length>0?i.country[0]:null});0===a.length&&s?.data?.error?.message&&a.push(new window.ApplePayError("shippingContactInvalid","locality",s?.data?.error?.message)),t.session.completeShippingContactSelection({newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:a})}))}"undefined"!=typeof window&&(window.Salla=window.Salla||{},window.Salla.Payments=window.Salla.Payments||{});const N="undefined"!=typeof window&&!!window.ApplePaySession,M="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",M.startSession),Salla.event.addEventListener("payments::apple-pay.start-transaction",M.startSession)},initDefault:function(){M.detail.onError||(M.detail.onError=function(t){salla.notify.error(t)}),M.detail.authorized.onFailed||(M.detail.authorized.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse(t),M.onCancel({},t.data.error.message)}),M.detail.validateMerchant.onFailed||(M.detail.validateMerchant.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse({response:t}),M.onCancel({},t.data.error.message)}),M.detail.authorized.onSuccess||(M.detail.authorized.onSuccess=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleAfterResponseActions(t)})},prepareLineItems:function(){return M.detail?.items?.length||(M.detail.items=[{label:salla.lang.get("pages.cart.items_total"),amount:parseFloat(M.detail.amount).toString()}]),M.detail.items},prepareTotal:function(){return{label:window.location.hostname||"Salla",amount:parseFloat(M.detail.amount).toString()}},isPhysical:()=>M.detail?.requiredShippingContactFields?.includes("postalAddress"),canUseNative:function(){if(!N)return!1;try{return ApplePaySession.canMakePayments()}catch(t){return!1}},getMerchantIdentifier:function(){return M.detail&&M.detail.merchantIdentifier||null},startSession:async function(t){return M.detail=t.detail||t,M.canceled=!1,salla.log("🍏 Pay: payments::apple-pay.start-transaction",M.detail),M.initDefault(),M.canUseNative()?M.startNativeSession(t):M.startPaymentRequestSession(t)},startNativeSession:async function(t){let s,i=M.getApplePaySessionVersion(),a=M.detail.supportedNetworks,e=Array.isArray(a)?[...a]:Object.values(a||{});e.length||(e=["masterCard","visa"]),5!==i||e.includes("mada")||e.push("mada"),M.request={countryCode:M.detail.countryCode||"SA",supportsCouponCode:!0,couponCode:"",currencyCode:M.detail.currency||"SAR",requiredShippingContactFields:M.detail.requiredShippingContactFields?M.detail.requiredShippingContactFields:[],merchantCapabilities:["supports3DS"],supportedNetworks:e,supportedCountries:M.detail.supportedCountries||["SA"],total:M.prepareTotal(),shippingContact:M.detail.shippingContact?M.detail.shippingContact:{},shippingMethods:M.detail.shippingMethods&&M.detail.shippingMethods.length?M.mappingShippingMethods(t.detail.shippingMethods):[],lineItems:M.prepareLineItems()},salla.log("🍏 Pay: init ",M.request),M.session=new ApplePaySession(i,M.request),M.session.onshippingcontactselected=M.onShippingContactSelected,M.session.onshippingmethodselected=M.onShippingMethodSelected,M.session.onvalidatemerchant=M.onValidateMerchant,M.session.onpaymentauthorized=M.onPaymentAuthorized,M.session.oncancel=M.onCancel,M.session.oncouponcodechanged=M.onCouponCodeChanged,M.session.onpaymentmethodselected=M.onPaymentMethodSelected,"function"==typeof M.detail.onStartedSession&&(s=M.detail.onStartedSession(M.session)),s||M.session.begin()},onPaymentMethodSelected:async t=>{if(salla.logger.log("🍏 Pay: onPaymentMethodSelected",t),M.isPhysical())salla.logger.log("🍏 Pay: completePaymentMethodSelection",{newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()}),M.session.completePaymentMethodSelection({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()});else try{await M.recalculateTotal();const t={newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()};salla.logger.log("🍏 Pay: completePaymentMethodSelection",t),M.session.completePaymentMethodSelection(t)}catch(t){salla.logger.warn("🍏 Pay: Failed recalculate total",t),M.session.completePaymentMethodSelection({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems(),status:M.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),O.post(M.detail.onCouponCodeChanged.url.replace("{id}",M.id),{coupon:t.couponCode,payment_method:"apple_pay"},(async({data:t})=>{"function"==typeof M.detail.onCouponCodeChanged.onSuccess&&M.detail.onCouponCodeChanged.onSuccess(t),salla.log("🍏 Pay: Coupon applied success"),await M.recalculateTotal(),M.session.completeCouponCodeChange({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()})}),(async t=>{let s=t?.response;Salla.event.dispatch("payments::apple-pay.coupon.failed",s),"function"==typeof M.detail.onCouponCodeChanged.onFailed&&M.detail.onCouponCodeChanged.onFailed(s),await M.recalculateTotal(),M.session.completeCouponCodeChange({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems(),errors:[new window.ApplePayError("couponCodeInvalid")]})}))),onCancel:(t={},s=null)=>{M.canceled=!0,M.detail.onError(s||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(M,t.payment.shippingContact,!0)}catch(t){salla.logger.error("🍏 Pay: Failed to update guest contact details",t);const s=t?.response||t,i=s?.data?.error?.fields||{},a=[];return i?.email&&i.email.length>0&&a.push(new window.ApplePayError("shippingContactInvalid","emailAddress",i.email[0])),i?.phone&&i.phone.length>0&&a.push(new window.ApplePayError("shippingContactInvalid","phoneNumber",i.phone[0])),i?.first_name&&i.first_name.length>0?a.push(new window.ApplePayError("shippingContactInvalid","name",i.first_name[0])):i?.last_name&&i.last_name.length>0&&a.push(new window.ApplePayError("shippingContactInvalid","name",i.last_name[0])),0===a.length&&a.push(new window.ApplePayError("shippingContactInvalid","name",s?.data?.error?.message||s?.data?.error?.code||"Invalid shipping contact details")),Salla.event.dispatch("payments::apple-pay.authorized.failed",s),"function"==typeof M.detail.authorized.onFailed&&M.detail.authorized.onFailed(s),void M.session.completePayment({status:ApplePaySession.STATUS_INVALID_SHIPPING_CONTACT,errors:a})}Salla.event.dispatch("payments::apple-pay.authorized.init",t),O.post(M.detail.authorized.url.replace("{id}",M.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.payment)},(({data:t})=>{Salla.event.dispatch("payments::apple-pay.authorized.success",t),"function"==typeof M.detail.authorized.onSuccess&&M.detail.authorized.onSuccess(t),M.session.completePayment(ApplePaySession.STATUS_SUCCESS)}),(t=>{let s=t?.response;Salla.event.dispatch("payments::apple-pay.authorized.failed",s),"function"==typeof M.detail.authorized.onFailed&&M.detail.authorized.onFailed(s),M.session.completePayment({status:ApplePaySession.STATUS_FAILURE,errors:[new window.ApplePayError("unknown",void 0,s?.data?.error?.message||s?.data?.error?.code||"Failed to parse authorized response")]})}))},onValidateMerchant:async t=>{try{Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);const{data:s}=await O.post(M.detail.validateMerchant.url.replace("{id}",M.id),{validation_url:t.validationURL});Salla.event.dispatch("payments::apple-pay.validate-merchant.success",s);const i=t=>{M.session.completeMerchantValidation(t)};if("function"==typeof M.detail.validateMerchant.onSuccess){const t=await M.detail.validateMerchant.onSuccess(s);if(t?.redirect)return window.location=t.redirect,M.abortValidateMerchant(t)}i(s.data)}catch(t){console.error(t),M.abortValidateMerchant(t?.response)}},abortValidateMerchant:(t=null)=>{M.abortSession(),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",t),"function"==typeof M.detail.validateMerchant.onFailed&&M.detail.validateMerchant.onFailed(t)},onShippingContactSelected:async t=>{salla.logger.log("🍏 Pay: onShippingContactSelected",t.shippingContact),await q(M,t.shippingContact)},onShippingMethodSelected:async t=>{let s=t.shippingMethod.identifier.split(","),i={ship_id:s[0],private_ship_id:void 0===s[1]?null:s[1],type:void 0===s[2]?null:s[2],route_id:void 0===s[3]?null:s[3]};if(salla.logger.log("🍏 Pay: onShippingMethodSelected",{event:t,previous:M.shippingCompany,current:i}),M.shouldUpdateShippingCompany(i))try{await M.selectApplePayShippingMethod(i),await M.recalculateTotal()}catch(t){return salla.logger.warn("🍏 Pay: Failed set the shipping details to api",t),void M.session.completeShippingMethodSelection({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems(),status:M.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}salla.logger.log("🍏 Pay: completeShippingMethodSelection",{newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()}),M.session.completeShippingMethodSelection({newTotal:M.prepareTotal(),newLineItems:M.prepareLineItems()})},abortSession:()=>{M.session&&M.session.abort()},paymentRequest:null,paymentResponse:null,getCurrency:()=>M.detail.currency||"SAR",prAmount:t=>({currency:M.getCurrency(),value:String(t)}),prTotal:()=>{const t=M.prepareTotal();return{label:t.label,amount:M.prAmount(t.amount)}},prDisplayItems:()=>M.prepareLineItems().map((t=>({label:t.label,amount:M.prAmount(t.amount)}))),prShippingOptions:(t=null)=>M.mappingShippingMethods(M.shipping_methods||[]).map(((s,i)=>({id:s.identifier,label:s.label,amount:M.prAmount(s.amount),selected:t?s.identifier===t:0===i}))),prContactOptions:()=>{const t=M.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=M.getMerchantIdentifier();if(!t)return void salla.logger.error("🍏 Pay: missing merchant identifier — skipping QR Apple Pay");const s=M.getApplePaySessionVersion(),i=[...M.detail.supportedNetworks||["masterCard","visa"]];5!==s||i.includes("mada")||i.push("mada");const a=[{supportedMethods:"https://apple.com/apple-pay",data:{version:s,merchantIdentifier:t,merchantCapabilities:["supports3DS"],supportedNetworks:i,countryCode:M.detail.countryCode||"SA"}}],e=M.isPhysical(),o={total:M.prTotal(),displayItems:M.prDisplayItems()};let n;e&&(o.shippingOptions=M.prShippingOptions());try{n=new PaymentRequest(a,o,M.prContactOptions())}catch(t){return salla.logger.error("🍏 Pay: Failed to create PaymentRequest",t),void M.detail.onError(salla.lang.get("pages.checkout.payment_failed"))}M.paymentRequest=n,n.onmerchantvalidation=t=>{t.complete(M.prValidateMerchant(t))},e&&(n.onshippingaddresschange=t=>{t.updateWith(M.prShippingAddressChange(n))},n.onshippingoptionchange=t=>{t.updateWith(M.prShippingOptionChange(n))});const l=async()=>{Salla.event.dispatch("payments::apple-pay.sheet-opened");try{const t=await n.show();M.paymentResponse=t,await M.prPaymentAuthorized(t)}catch(t){salla.logger.log("🍏 Pay: PaymentRequest closed",t),"AbortError"!==t?.name||M.canceled||M.onCancel({})}finally{M.paymentRequest=null,M.paymentResponse=null,Salla.event.dispatch("payments::apple-pay.sheet-closed")}};let r;"function"==typeof M.detail.onStartedSession&&(r=M.detail.onStartedSession({begin:l})),r||await l()},prValidateMerchant:async function(t){Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);try{const{data:s}=await O.post(M.detail.validateMerchant.url.replace("{id}",M.id),{validation_url:t.validationURL});if(!s?.data?.merchantSessionIdentifier){salla.logger.error("🍏 Pay: merchant validation failed",s?.statusMessage||s),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",{data:s}),M.onCancel({}),setTimeout((()=>{try{M.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",s),"function"==typeof M.detail.validateMerchant.onSuccess){const t=await M.detail.validateMerchant.onSuccess(s);t?.redirect&&(window.location=t.redirect)}return s.data}catch(t){if(!t?.handled){const s=t?.response;Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",s),"function"==typeof M.detail.validateMerchant.onFailed&&M.detail.validateMerchant.onFailed(s)}throw t}},prCountryName:t=>{if(!t)return t;try{const s=salla?.config?.get?.("user.language_code")||"en";return new Intl.DisplayNames([s],{type:"region"}).of(t)||t}catch(s){return t}},prShippingAddressChange:async function(t){const s=t.shippingAddress,i={total:M.prTotal(),displayItems:M.prDisplayItems(),shippingOptions:[]};if(!s)return i;try{const{data:t}=await O.post(M.detail.shippingContactSelected.url.replace("{id}",M.id),{country:M.prCountryName(s.country),city:s.city,local:s.dependentLocality||s.region||s.city,description:s.region,street:(s.addressLine||[]).join(", ")||s.region,country_code:s.country,postal_code:s.postalCode});return M.address_id=t.data.address_id,M.shipping_methods=t.data.shipping_methods,M.shipping_methods?.length?(await M.selectApplePayShippingMethod(M.shipping_methods[0]),await M.recalculateTotal(),{total:M.prTotal(),displayItems:M.prDisplayItems(),shippingOptions:M.prShippingOptions()}):{...i,error:salla.lang.get("pages.checkout.payment_failed")}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping address change failed",t),{...i,error:salla.lang.get("pages.checkout.payment_failed")}}},prShippingOptionChange:async function(t){const s=t.shippingOption;if(!s)return{total:M.prTotal(),displayItems:M.prDisplayItems(),shippingOptions:M.prShippingOptions()};const i=s.split(","),a={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]};try{return M.shouldUpdateShippingCompany(a)&&(await M.selectApplePayShippingMethod(a),await M.recalculateTotal()),{total:M.prTotal(),displayItems:M.prDisplayItems(),shippingOptions:M.prShippingOptions(s)}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping option change failed",t),{total:M.prTotal(),displayItems:M.prDisplayItems(),shippingOptions:M.prShippingOptions(s),error:salla.lang.get("pages.checkout.payment_failed")}}},prContactFromResponse:t=>{const s=(t.payerName||"").trim(),i=s.indexOf(" ");return{givenName:i>-1?s.slice(0,i):s,familyName:i>-1?s.slice(i+1):"",emailAddress:t.payerEmail||null,phoneNumber:t.payerPhone||null,countryCode:t.shippingAddress?.country||M.detail.countryCode||null}},prPaymentAuthorized:async function(t){if(M.detail.guestContactSelected){const s=M.prContactFromResponse(t);if(!(s.emailAddress&&s.givenName&&s.familyName&&s.phoneNumber))return await t.complete("fail"),void M.detail.onError(salla.lang.get("common.messages.required_fields"));try{await O.post(M.detail.guestContactSelected.url.replace("{id}",M.id),{email:s.emailAddress,first_name:s.givenName,last_name:s.familyName,phone_number:s.phoneNumber,country_code:s.countryCode})}catch(s){return await t.complete("fail"),void M.detail.onError(s?.response?.data?.error?.message||salla.lang.get("pages.checkout.payment_failed"))}}let s;Salla.event.dispatch("payments::apple-pay.authorized.init",t);try{const{data:i}=await O.post(M.detail.authorized.url.replace("{id}",M.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.details)});s=i,Salla.event.dispatch("payments::apple-pay.authorized.success",i),await t.complete("success")}catch(s){const i=s?.response;return Salla.event.dispatch("payments::apple-pay.authorized.failed",i),await t.complete("fail"),void("function"==typeof M.detail.authorized.onFailed&&M.detail.authorized.onFailed(i))}"function"==typeof M.detail.authorized.onSuccess&&M.detail.authorized.onSuccess(s)},shouldUpdateShippingCompany:t=>M.shippingCompany?.ship_id!=t?.ship_id||M.shippingCompany?.private_ship_id!=t?.private_ship_id,getApplePaySessionVersion:()=>{if("sallapp"===(navigator.userAgent||navigator.vendor||window.opera))return 5;let t=x.init(),s=parseFloat(t.os.version);if("Macintosh"===t.os.name){if(s<10.142)return 1}else if(s<12.11)return 1;return 5},recalculateTotal:()=>(salla.logger.log("🍏 Pay: recalculate total"),O.get(M.detail.recalculateTotal.url.replace("{id}",M.id),(({data:t})=>{salla.logger.log("🍏 Pay: recalculate total success",t);let s=t.data.initial_data?.cart||t.data.cart,i=t.data.initial_data?.payments||t.data.payments;salla.logger.log("🍏 Pay: recalculate total success",{cart:s,payments:i}),null!=i?.gateways?.applePay?.amount?(M.detail.amount=i.gateways.applePay.amount,M.detail.currency=i.gateways.applePay.currency??M.detail.currency):M.detail.amount=i?.gateways?.applePay?.supportedMultiCurrency?s.total_in_customer_currency:s.total,M.detail.items=(s.totals||s.items).map((t=>({label:t.title,amount:"مجاني"===t.amount||"Free"===t.amount?0:t.amount.toString().replace("+","")}))),M.detail.items.pop(),M.totals=M.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),M.shippingCompany=t;const s={address_id:M.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 O.post(M.detail.shippingMethodSelected.url.replace("{id}",M.id),s,(({data:t})=>("function"==typeof M.detail.shippingMethodSelected.onSuccess&&M.detail.shippingMethodSelected.onSuccess(t),!0)),(t=>{salla.logger.warn("🍏 Pay: Set shipping method failed",t),"function"==typeof M.detail.shippingMethodSelected.onFailed&&M.detail.shippingMethodSelected.onFailed(t);let s=t?.response?.data?.error;return s?.data?.fields?.address_id?s?.data?.fields?.address_id[0]:s?.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=M),"undefined"!=typeof window&&(M.canUseNative()||window.PaymentRequest)?M.init():"undefined"!=typeof document&&document.querySelectorAll("data-show-if-apple-pay-supported").forEach((t=>t.style.display="none"));const A=class{constructor(i){t(this,i),this.validationFailed=s(this,"validationFailed"),this.requireLogin=s(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 s;try{s=await salla.api.withoutNotifier((()=>salla.product.api.getOrderOptions([{id:t.productId,quantity:t.quantity}])))}catch(s){return salla?.logger?.warn?.("order-options: fetch failed",s),void t.beginPendingSession()}const i=s?.data?.order_options||[];if(!i.length)return void t.beginPendingSession();t.discardPendingSession();const a=Number(t.amount)>0?Number(t.amount):Number(s?.data?.products?.[0]?.price?.amount)||0,e=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 e.open({orderOptions:i,basePrice:a,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,s)=>{this.collectedOrderOptions=t,this.applePayAmount=s,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 s=document.querySelector(`salla-product-options[product-id="${t}"]`);if(!s)return!0;const i=s.querySelectorAll("[required]");let a=!0;return i.forEach((t=>{t.disabled||t.closest(".hidden")||"reportValidity"in t&&!t.reportValidity()&&(a=!1)})),a}(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?.(),s=Number(t instanceof FormData?t.get("quantity"):t?.quantity);return Number.isFinite(s)&&s>0?s:1}catch{return 1}}async settlePayment(){let t=this.host.getElementSallaData();if(function(t,s){s.length&&(t&&"function"==typeof t.append?s.forEach(((s,i)=>{t.append(`order_options[${i}][id]`,String(s.id)),t.append(`order_options[${i}][value]`,String(s.value))})):t&&"object"==typeof t&&(t.order_options=s))}(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((s=>this.legacyQuickPurchaseFallback(s,t))).then((t=>{const s=t.data?.url||t.data?.redirect;return s?window.location.href=s:"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:y(),onStartedSession:this.handleApplePaySessionStarted,validateMerchant:{url:this.validateHost?`${this.validateHost}/checkout/applepay/validate`:salla.url.get("checkout/applepay/validate"),onSuccess:s=>this.applePayOnly&&!this.productId?this.cartId?(window.SallaApplePay.id=this.cartId,salla.log("🍏 Pay: create checkout success: with id #"+this.cartId),Promise.resolve(s)):(salla.logger.warn("🍏 Pay: trying to create applePay transaction without cartId/ProductId !"),Promise.resolve(s)):salla.api.request("checkout/mini","object"==typeof t?t:void 0,"post",{}).catch((s=>this.legacyQuickPurchaseFallback(s,"object"==typeof t?t:void 0))).then((t=>{const s=t?.data?.id||t?.data?.url?.split("/checkout/")[1]?.split(/[/?#]/)[0];if(s)return window.SallaApplePay.id=s,salla.log("🍏 Pay: create checkout success: with id #"+window.SallaApplePay.id),t;const i=t?.data?.url||t?.data?.redirect?.url||t?.data?.redirect;return i?(salla.log("🍏 Pay: create checkout success: redirect exits, go to checkout page"),window.location.href=i,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,s){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,s,"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 s=t?.base_currency_price;null!=s?.amount?(this.amount=s.amount,s?.currency&&(this.currency=s.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?.(),s=salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??!0,i=salla?.config?.get?.("store.settings.is_salla_gateway",!1)??!0;this.isApplePayActive=t&&s&&i;const a=async()=>{if(!this.productId&&salla?.config?.get&&salla.url?.is_page&&(this.productId=salla.config.get("page.id")),!this.applePayOnly&&!this.productId)return void salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, the product id is missing");this.amount&&this.isRequireShipping||!this.productId||!salla?.product?.getDetails||await salla.product.getDetails(this.productId,[]).then((t=>{this.applyBaseCurrencyPrice(t?.data),this.isRequireShipping=t?.data?.is_require_shipping||!1})).catch((t=>{salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, get the product details failed: ",t)})),"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")??s)&&(salla?.config?.get?.("store.settings.is_salla_gateway",!1)??i);t&&g(),this.isApplePayActive=t&&await f(this.currency)};return new Promise((t=>{"function"==typeof salla?.onReady?salla.onReady((()=>a().then((()=>t(!0))))):a().then((()=>t(!0)))}))}render(){return i(a,{key:"fd28f7292f396779cbe6ae4d5986ab187be38c48"},this.quickBuyButton())}quickBuyButton(){return i("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 e(this)}};A.style=".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}";export{b as salla_add_product_button,v as salla_bought_together,k as salla_product_availability,C as salla_product_options,A as salla_quick_buy}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as e,h as t}from"./p-BICKbbaT.js";const r=class{constructor(t){e(this,t),this.factors=[]}getReviewFactorLabel(e){if(e.label)return e.label;const t=(salla.lang.locale||"ar").startsWith("ar")?["ضعيف","مقبول","جيد","جيد جدا","ممتاز"]:["Poor","Average","Good","Very good","Excellent"],r=[salla.lang.getWithDefault("pages.rating.poor",t[0]),salla.lang.getWithDefault("pages.rating.average",t[1]),salla.lang.getWithDefault("pages.rating.good",t[2]),salla.lang.getWithDefault("pages.rating.very_good",t[3]),salla.lang.getWithDefault("pages.rating.excellent",t[4])],i=Number(e.rating||0);return r[Math.max(1,Math.min(5,Math.round(i)))-1]||""}render(){return this.factors?.length?t("div",{class:"s-comments-item-review-factors"},this.factors.map((e=>t("div",{class:"s-comments-item-review-factor-row"},t("div",{class:"s-comments-item-review-factor-value"},t("span",{class:"s-comments-item-review-factor-label text-left rtl:text-right"},this.getReviewFactorLabel(e)),t("salla-rating-stars",{size:"mini",class:"s-comments-item-review-factor-stars",value:e.rating})),t("span",{class:"s-comments-item-review-factor-name"},e.name))))):null}};r.style=":host{display:block}.s-comments-item-review-factors-toggle{display:inline-flex;align-items:center;gap:0.35rem;padding:0;border:0;background:transparent;color:#0f6a7c;font-size:0.9rem;font-weight:500;cursor:pointer}.s-comments-item-review-factors-chevron{line-height:1;transform:rotate(180deg);transition:transform 0.2s ease}.s-comments-item-review-factors-chevron.is-open{transform:rotate(0deg)}.s-comments-item-review-factors{border:1px solid #e8e8e8;background:rgba(255, 255, 255, 0.3);border-radius:0.6rem;width:min(100%, 26rem);max-width:100%;margin:0 0 1rem;padding:0.85rem 1rem}@media (max-width: 767px){.s-comments-item-review-factors{width:100%;padding:0.75rem}}.s-comments-item-review-factor-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;direction:ltr;min-width:0}@media (max-width: 767px){.s-comments-item-review-factor-row{flex-direction:row;align-items:stretch;gap:0.35rem}}.s-comments-item-review-factor-row+.s-comments-item-review-factor-row{margin-top:0.5rem}.s-comments-item-review-factor-label,.s-comments-item-review-factor-name{color:#4b5563;font-size:0.9rem;line-height:1.45}.s-comments-item-review-factor-name{min-width:6.5rem;text-align:end;flex-shrink:0}@media (max-width: 767px){.s-comments-item-review-factor-name{min-width:5rem;text-align:end}}.s-comments-item-review-factor-label{display:inline-block;min-width:4.75rem}@media (max-width: 767px){.s-comments-item-review-factor-label{min-width:0;flex:1 1 auto}}.s-comments-item-review-factor-value{display:inline-flex;align-items:center;gap:0.35rem;min-width:0}@media (max-width: 767px){.s-comments-item-review-factor-value{width:100%;justify-content:space-between;gap:0.25rem}}.s-rating-stars-wrapper{gap:0 !important}";export{r as salla_comment_factors}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as s,h as e,a}from"./p-BICKbbaT.js";import{S as t}from"./p-Ctkfc4K-.js";import{S as l}from"./p-cgSL_BIo.js";import{S as o}from"./p-D1s2kXqL.js";const i=class{constructor(e){s(this,e),this.offer=null,this.hasError=!1,this.translationLoaded=!1,this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),salla.event.on("offer-modal::open",(s=>this.open(s))),salla.lang.onLoaded((()=>{this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.translationLoaded=!0})),this.categorySlot=this.host.querySelector('[slot="category"]')?.innerHTML||'<span class="s-offer-modal-badge-icon">{tagIcon}</span><span class="s-offer-modal-badge-text">{name}</span>',salla.event.on("offer-modal::open",(s=>this.open(s))),salla.product.event.onOfferExisted((s=>{salla.storage.get("remember-offer-"+s.id)?salla.log("User selected to don't show this offer again."):this.open(s.product_id)}))}emitPromotionViewed(s){s&&salla.event.emit("promotion::viewed",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}emitPromotionClicked(s){s&&salla.event.emit("promotion::clicked",[{id:s.id?.toString(),creative:s.message,name:s.name,position:`${this.offer_type}_offer_modal`}])}async open(s){return this.productID=s,this.hasError=!1,this.modal.loading(),await salla.api.withoutNotifier((()=>salla.product.offers(s))).then((s=>{s.data&&s.data.length&&(this.modal.open(),this.showOffer(s.data[0]))})).catch((s=>{this.hasError=!0,this.errorMessage=s.response?.data?.error?.message||s.response?.data,this.modal.open()})).finally((()=>{this.modal.visible&&setTimeout((()=>this.modal.stopLoading()),1e3)}))}async showOffer(s){this.offer=s,this.offer_name=s.name,this.offer_message=s.message,this.offer.get.discounts_table?this.offer_type="discounts-table":this.offer.get.products?.length?this.offer_type="products":this.offer.get.categories?.length?this.offer_type="categories":this.offer.get.brands?.length?this.offer_type="brands":this.offer.get.tags?.length&&(this.offer_type="tags"),this.modal.setTitle(this.offer_name),this.emitPromotionViewed(this.offer)}rememberMe(s){salla.storage.set("remember-offer-"+this.offer.id,s.target.checked)}addToCart(s){this.emitPromotionClicked(this.offer),salla.api.withoutNotifier((()=>salla.cart.quickAdd(this.productID,s,this.offer_type))).then((()=>this.modal.close()))}getOfferContent(){if(this.offer.get.discounts_table)return e("div",{class:"s-offer-modal-discount-table"},e("table",null,e("tbody",null,this.offer.get.discounts_table?.map((s=>e("tr",null,e("td",null,s.text),e("td",{class:"s-offer-modal-discount-table-cell"},e("salla-button",{fill:"outline",shape:"btn",color:"primary",size:"medium",width:"normal",onClick:()=>this.addToCart(s.quantity)},this.addToCartLabel))))))));if(this.offer.get.products?.length){const s=this.offer.get.products?.length||0,a={slidesPerView:"auto",spaceBetween:16,breakpoints:{768:{slidesPerView:Math.min(2,s),spaceBetween:16},1024:{slidesPerView:Math.min(3,s),spaceBetween:16}}};return e("salla-products-slider",{key:(this.offer.get.products?.map((s=>s.id))||[]).join(","),source:"selected","source-value":`[${(this.offer.get.products?.map((s=>s.id))||[]).join(",")}]`,"slider-config":JSON.stringify(a)})}return this.offer.get.categories?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.categories?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.categories?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.categories.map((s=>e("a",{href:s.urls.customer,class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-cat-item",innerHTML:this.categorySlot.replace(/\{tagIcon\}/g,l).replace(/\{name\}/g,s.name).replace(/\{url\}/g,s.urls.customer)}))))):this.offer.get.brands?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.brands?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.brands?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.brands.map((s=>e("a",{href:s.url||salla.url.create("brands",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-brand-item"},e("div",{class:"s-offer-modal-brand-logo"},e("img",{src:s.logo,alt:s.name})),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):this.offer.get.tags?.length?e("salla-slider",{type:"carousel",class:{"s-offer-modal-slider-centered":this.offer.get.tags?.length<=2,"s-offer-modal-slider":!0},id:"offer-modal-slider","controls-outer":!0,"show-controls":this.offer.get.tags?.length<=2?"false":"true"},e("div",{slot:"items"},this.offer.get.tags.map((s=>e("a",{href:s.url||salla.url.create("tags",s.id),class:"s-offer-modal-badge s-offer-modal-slider-item s-offer-modal-tag-item"},e("span",{class:"s-offer-modal-badge-icon",innerHTML:l}),e("span",{class:"s-offer-modal-badge-text"},s.name)))))):void 0}render(){return e("salla-modal",{key:"570466318b6cd66a7a8b3dd0d80424c2fd73328d","has-skeleton":!0,"sub-title":this.offer_message,ref:s=>this.modal=s,isLoading:!0,class:`s-offer-modal-type-${this.offer_type?this.offer_type:""}`},e("div",{key:"ded0c8df17d5e5c1d6e77b8e1be469e69d3ee12f",slot:"loading"},e("div",{key:"fc96c54fcecc896b3e5a1838e2d07d545fce2f85",class:"s-offer-modal-skeleton"},e("div",{key:"ee7a6f25aabbf4263b43fc7545bbb2c7bfca9b3a",class:"s-offer-modal-skeleton-header"},e("salla-skeleton",{key:"9604f5f33d1d8e074cc3c314addb945b087431ee",type:"circle",height:"80px",width:"80px"}),e("salla-skeleton",{key:"65194ecfee0a01f7c38aa72f7ce2c8c81c893b1f",height:"15px",width:"50%"}),e("salla-skeleton",{key:"21d466bf32f435a511dcece76f51f4052089c130",height:"10px",width:"30%"})),e("div",{key:"53fb44c7c60ca8236dc7ec60ff65cb71df39c03b",class:"s-offer-modal-skeleton-items"},[...Array(3)].map((()=>e("div",{class:"s-offer-modal-skeleton-item"},e("salla-skeleton",{height:"9rem"}),e("div",{class:"s-offer-modal-skeleton-item-title"},e("salla-skeleton",{height:"15px",width:"100%"})),e("div",{class:"s-offer-modal-skeleton-item-subtitle"},e("salla-skeleton",{height:"9px",width:"50%"}),e("div",{innerHTML:o})))))),e("div",{key:"52ad47514b0c00b73ec7d98073b09d21ce6a2b12",class:"s-offer-modal-skeleton-footer"},e("salla-skeleton",{key:"a271e30ab34d96731cc1f51c32cba9aaefee1953",height:"15px",width:"50%"}),e("salla-skeleton",{key:"6e199a5b1283c9d82588c60c712d3799b88c5c8d",height:"15px",width:"30%"})))),this.hasError||null===this.offer?e("salla-placeholder",{class:"s-loyalty-placeholder",alignment:"center"},this.errorMessage?e("span",{slot:"description"},this.errorMessage):""):[e("span",{slot:"icon",class:"s-offer-modal-header-icon",innerHTML:t}),this.getOfferContent(),e("div",{class:"s-offer-modal-footer",slot:"footer"},this.offer.formatted_date?e("p",{class:"s-offer-modal-expiry"},salla.lang.get("pages.products.offer_expires_in")," ",this.offer.formatted_date):"",e("label",{class:"s-offer-modal-remember-label"},e("input",{type:"checkbox",onChange:s=>this.rememberMe(s),class:"s-offer-modal-remember-input"}),"  ",salla.lang.get("common.elements.remember_my_choice")))])}get host(){return a(this)}};i.style=".s-offer-modal-type-products .s-modal-body{min-height:690px;position:relative}";export{i as salla_offer_modal}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,h as e,H as s}from"./p-BICKbbaT.js";const r=class{constructor(e){t(this,e),this.parsedSections=[]}parseProducts(t){let e=[];if("string"==typeof t)try{const s=JSON.parse(t);e=this.extractSections(s)}catch(s){console.error("Invalid JSON passed to bundleSections prop:",t),e=[]}else t&&(e=this.extractSections(t));this.parsedSections=e}extractSections(t){return t.bundle&&t.bundle.sections&&Array.isArray(t.bundle.sections)?t.bundle.sections:Array.isArray(t)?t:t.sections&&Array.isArray(t.sections)?t.sections:(console.warn("No valid sections found in data:",t),[])}isCartPage(){return salla.url.is_page("cart")}renderCartPage(){return e("salla-multiple-bundle-product-cart",{sections:this.parsedSections})}renderDetailsPage(){return e("salla-multiple-bundle-product-details",{sections:this.parsedSections})}componentWillLoad(){this.parseProducts(this.bundleSections)}render(){return e(s,{key:"db7efe81ce29dd1bc45cc5f1dbd45b6b03e31de8",class:"s-multiple-bundle-product-wrapper"},this.isCartPage()?this.renderCartPage():this.renderDetailsPage())}static get watchers(){return{bundleSections:["parseProducts"]}}};r.style=":host{display:block}";export{r as salla_multiple_bundle_product}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,h as s,a as o}from"./p-BICKbbaT.js";import{H as e}from"./p-DOBDDG4K.js";import"./p-CgtvEd63.js";const a=class{constructor(s){t(this,s),this.orderNumberText=salla.lang.get("pages.thank_you.order_id"),this.totalOrderText=salla.lang.get("pages.orders.total"),this.orderDateText=salla.lang.get("pages.orders.date"),this.orderStatusText=salla.lang.get("pages.orders.status"),this.noOrderText=salla.lang.get("pages.orders.non_orders"),this.load_more_text_trans=salla.lang.get("common.elements.load_more"),this.languageCode=salla.lang.locale,this.orders=[],salla.lang.onLoaded((()=>{this.languageCode=salla.lang.locale,this.orderNumberText=salla.lang.get("pages.thank_you.order_id"),this.totalOrderText=salla.lang.get("pages.orders.total"),this.orderDateText=salla.lang.get("pages.orders.date"),this.orderStatusText=salla.lang.get("pages.orders.status"),this.noOrderText=salla.lang.get("pages.orders.non_orders"),this.load_more_text_trans=salla.lang.get("common.elements.load_more")}))}loading(t=!0){let s=this.status?.querySelector(".s-button-text");s&&(e.toggleElementClassIf(s,"s-button-hide","s-button-show",(()=>t)),this.btnLoader.style.display=t?"inherit":"none")}initiateInfiniteScroll(){this.hasInfiniteScroll&&(this.wrapper?(this.infiniteScroll=salla.infiniteScroll.initiate(this.wrapper,this.wrapper,{path:()=>this.nextPage,history:!1,nextPage:this.nextPage,scrollThreshold:!1},!0),this.infiniteScroll?.on("request",(()=>{this.loading()})),this.infiniteScroll?.on("load",(t=>{this.loading(!1),this.pagination=t.pagination,this.nextPage=t.pagination?.links?.next||null,this.handleResponse(t.data).forEach((t=>{this.wrapper.append(t)}));let s=this.host.querySelectorAll(".s-orders-table-tbody-tr:not(.animated)");e.animateItems(s)})),this.infiniteScroll?.on("error",(t=>{salla.logger.error("Error loading more comments:",t)}))):salla.logger.error("Wrapper is undefined. Cannot initiate infinite scroll."))}async loadMore(){this.infiniteScroll.loadNextPage()}handleResponse(t){return t.map((t=>this.getSingleOrderItem(t)))}async loadInitialData(){const t=new URL(window.location.href);await salla.order.api.fetch({...this.params,types:[""],feedback_status:t.searchParams.get("feedback_status")}).then((t=>{if(this.orders=t.data,this.hasInfiniteScroll=!!t.pagination?.links.next,this.pagination=t.pagination,this.total=t.pagination?.total,this.nextPage=t.pagination?.links?.next||null,!this.orders.length)return this.showPlaceholder=!0,this.loading(!1);setTimeout((()=>{this.handleResponse(t.data).forEach((t=>{this.wrapper.append(t)})),this.initiateInfiniteScroll();let s=this.wrapper.querySelectorAll(".s-orders-table-tbody-tr:not(.animated)");e.animateItems(s)}),100)})).catch((t=>{this.showPlaceholder=!0,this.loading(!1),salla.logger.error(t)}))}getSingleOrderItem(t){const s=document.createElement("tr");s.classList.add("s-orders-table-tbody-tr","s-orders-table-tbody-tr-shadow");const o=document.createElement("td");o.classList.add("s-orders-table-tbody-tr-td");const a=document.createElement("div");a.classList.add("s-orders-table-tbody-tr-td-content");const r=document.createElement("span");r.classList.add("s-orders-mobile-title"),r.textContent=this.orderNumberText+":";const n=document.createElement("span");if(n.classList.add("s-orders-reference-id"),n.textContent="#"+t.reference_id,a.appendChild(r),a.appendChild(n),"buy_as_gift"==t.source){const t=document.createElement("i");t.classList.add("sicon-gift-sharing","s-orders-buy-as-gift-icon"),a.appendChild(t)}const i=document.createElement("a");i.href=t.url,a.appendChild(i);const d=document.createElement("div");d.classList.add("s-orders-copy-to-clipboard-button");const l=document.createElement("salla-button");l.classList.add("relative"),l.setAttribute("color","dark"),l.setAttribute("shape","link"),l.dataset.content=t.reference_id.toString(),l.addEventListener("click",(t=>{e.copyToClipboard(t),e.toggleElementClassIf(l,"copied","code-to-copy",(()=>!0)),setTimeout((()=>{e.toggleElementClassIf(l,"code-to-copy","copied",(()=>!0))}),1e3)}));const c=document.createElement("span");c.textContent="#"+t.reference_id;const h=document.createElement("i");h.classList.add("sicon-swap-stroke","s-orders-copy-to-clipboard-button-icon"),salla.config.get("theme.is_rtl",!0)?(l.appendChild(h),l.appendChild(c)):(l.appendChild(c),l.appendChild(h)),d.appendChild(l),a.appendChild(d),o.appendChild(a),s.appendChild(o);const u=document.createElement("td");u.classList.add("s-orders-table-tbody-tr-td");const b=document.createElement("div");b.classList.add("s-orders-table-tbody-tr-td-content");const m=document.createElement("span");m.classList.add("s-orders-mobile-title"),m.textContent=this.totalOrderText+":";const p=document.createElement("div");p.innerHTML=salla.money(t.total);const y=document.createElement("a");y.href=t.url,b.appendChild(m),b.appendChild(p),b.appendChild(y),u.appendChild(b),s.appendChild(u);const g=document.createElement("td");g.classList.add("s-orders-table-tbody-tr-td");const f=document.createElement("div");f.classList.add("s-orders-table-tbody-tr-td-content");const _=document.createElement("span");_.classList.add("s-orders-mobile-title"),_.textContent=this.orderDateText+":";const v=document.createElement("div");v.textContent=e.formatDateFromString(t.created_at.date,salla.helpers.number,this.languageCode);const k=document.createElement("a");k.href=t.url,f.appendChild(_),f.appendChild(v),f.appendChild(k),g.appendChild(f),s.appendChild(g);const w=document.createElement("td");w.classList.add("s-orders-table-tbody-tr-td");const x=document.createElement("div");x.classList.add("s-orders-table-tbody-tr-td-content");const C=document.createElement("span");C.classList.add("s-orders-mobile-title"),C.textContent=this.orderStatusText+":";const D=document.createElement("span");D.classList.add("s-orders-status-container"),D.style.color=t.status.color;const I=document.createElement("i");I.classList.add(t.status.icon);const T=document.createElement("span");T.textContent=t.status.name,D.appendChild(I),D.appendChild(T),x.appendChild(C),x.appendChild(D);const j=document.createElement("i");j.classList.add("sicon-star2","s-orders-status-rated",t.is_rated?"s-orders-rated-text":"s-orders-unrated-text"),x.appendChild(j);const B=document.createElement("a");return B.href=t.url,x.appendChild(B),w.appendChild(x),s.appendChild(w),s}render(){return this.showPlaceholder?s("div",{class:"s-orders-no-content"},s("i",{class:"sicon-packed-box icon"}),s("p",null,this.noOrderText)):s("div",{class:"s-orders-wrapper"},s("table",{class:"s-orders-table"},s("thead",{class:"s-orders-table-head"},s("tr",{class:"s-orders-table-head-tr"},s("th",{class:"s-orders-table-head-tr-th",scope:"col"},this.orderNumberText),s("th",{class:"s-orders-table-head-tr-th",scope:"col"},this.totalOrderText),s("th",{class:"s-orders-table-head-tr-th",scope:"col"},this.orderDateText),s("th",{class:"s-orders-table-head-tr-th",scope:"col"},this.orderStatusText))),s("tbody",{class:"s-orders-table-tbody",ref:t=>this.wrapper=t})),this.nextPage&&s("div",{class:"s-infinite-scroll-wrapper",ref:t=>this.status=t},s("button",{onClick:()=>this.loadMore(),class:"s-infinite-scroll-btn s-button-btn s-button-primary"},s("span",{class:"s-button-text s-infinite-scroll-btn-text"},this.loadMoreText??this.load_more_text_trans),s("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader",ref:t=>this.btnLoader=t,style:{display:"none"}}))))}componentWillLoad(){return salla.onReady().then((()=>this.loadInitialData())).then((()=>this.initiateInfiniteScroll()))}get host(){return o(this)}};a.style=":host{display:block}";export{a as salla_orders}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as a,h as t,H as l}from"./p-BICKbbaT.js";const s=class{constructor(t){a(this,t),this.transactionsArray=[],this.isLoading=!1,this.nextPageUrl="",this.handleClick=()=>{this.loadMoreTransactions()}}componentWillLoad(){return salla.onReady().then((()=>this.loadTransactions()))}normalizeTransactions(a){if(Array.isArray(a))return{list:a,nextPageUrl:""};const t=a?.current_page??1,l=t<(a?.last_page??t)?`/balance/wallet?per_page=${a?.per_page??10}&page=${t+1}`:"";return{list:a?.data??[],nextPageUrl:l}}async loadTransactions(){this.isLoading=!0;try{let a="/balance/wallet?per_page=10&page=1",t=await salla.api.request(a);const{list:l,nextPageUrl:s}=this.normalizeTransactions(t.data.transactions);this.nextPageUrl=s,this.transactionsArray=l,this.balance=t.data.balance}catch(a){console.error("Error loading wallet transactions",a)}finally{this.isLoading=!1}}async loadMoreTransactions(){this.isLoading=!0;try{let a=this.nextPageUrl||"/balance/wallet?page=2&per_page=10",t=await salla.api.request(a);const{list:l,nextPageUrl:s}=this.normalizeTransactions(t.data.transactions);this.nextPageUrl=s,this.transactionsArray=[...this.transactionsArray,...l],this.balance=t.data.balance}catch(a){console.error("Error loading wallet transactions",a)}finally{this.isLoading=!1}}render(){return this.transactionsArray.length>0?t(l,null,t("table",{class:"s-wallet-table"},t("tbody",{class:"s-wallet-table-tbody"},t("tr",{class:"s-table__tr"},t("td",null,t("div",{class:"s-wallet-table-balance-container"},t("i",{class:"s-wallet-table-balance-icon sicon-wallet"}),t("div",null,t("div",{innerHTML:salla.money(this.balance)}),t("div",{class:"font-normal text-gray-400"}," ",salla.lang.get("pages.wallet.balance")))))))),t("h2",{style:{"margin-top":"32px"}},salla.lang.get("pages.wallet.title")),t("table",{class:"s-wallet-table"},t("thead",{class:"s-wallet-table-head"},t("tr",{class:"s-wallet-table-head-tr"},t("th",{scope:"col"},salla.lang.get("pages.wallet.transaction_number")),t("th",{scope:"col",class:"s-wallet-table-head-tr-th"},salla.lang.get("pages.wallet.amount")),t("th",{scope:"col",class:"s-wallet-table-head-tr-th"},salla.lang.get("pages.wallet.date")),t("th",{scope:"col",class:"s-wallet-table-head-tr-th"},salla.lang.get("pages.wallet.order_no")),t("th",{scope:"col",class:"s-wallet-table-head-tr-th"},salla.lang.get("pages.wallet.expiry_date")),t("th",{scope:"col",class:"s-wallet-table-head-tr-th"},salla.lang.get("pages.wallet.transaction_type")," "))),t("tbody",{class:"s-wallet-table-tbody"},this.transactionsArray.map((a=>t("tr",{class:"s-wallet-table-tbody-tr s-wallet-table-tbody-tr-shadow animated"},t("td",{class:"s-wallet-table-tbody-tr-td"},t("div",{class:"s-wallet-table-tbody-tr-td-content"},t("span",{class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.transaction_number"),":"),a.id&&t("span",{class:"hidden md:inline-block"},"#",a.id),t("div",{class:"flex items-center md:hidden"},t("salla-button",{class:"relative",color:"dark",shape:"link","data-content":a.order_id},a.order_id&&t("span",null,"#",a.order_id))))),t("td",{id:"main123",class:"s-wallet-table-tbody-tr-td"},t("div",{id:"main124",class:"s-wallet-table-tbody-tr-td-content"},t("span",{id:"main125",class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.amount"),":"),t("div",{innerHTML:salla.money(a.amount)}))),t("td",{class:"s-wallet-table-tbody-tr-td"},t("div",{class:"s-wallet-table-tbody-tr-td-content"},t("span",{class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.date"),":"),a.created_at&&new Date(1e3*a.created_at).toLocaleDateString(salla.lang.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric"}))),t("td",{id:"main133",class:"s-wallet-table-tbody-tr-td"},t("div",{id:"main134",class:"s-wallet-table-tbody-tr-td-content"},t("span",{id:"main135",class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.order_no"),":"),t("span",{class:"rtl:mr-auto ltr:ml-auto md:mx-0"},a.order_id&&t("span",null,"#",a.order_id)))),t("td",{id:"main143",class:"s-wallet-table-tbody-tr-td"},t("div",{id:"main144",class:"s-wallet-table-tbody-tr-td-content"},t("span",{id:"main145",class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.expiry_date"),":"),t("span",null,a.expired_at&&new Date(1e3*a.expired_at).toLocaleDateString(salla.lang.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric"})))),t("td",{class:"s-wallet-table-tbody-tr-td"},t("div",{class:"s-wallet-table-tbody-tr-td-content"},t("div",null,t("span",{class:"s-wallet-mobile-title"},salla.lang.get("pages.wallet.transaction_type"),":")),t("div",{class:{"s-wallet-table-transaction-status-default":!0,"s-wallet-table-transaction-status-cashback":"cashback"===a.action_type,"s-wallet-table-transaction-status-refund":"refund"===a.action_type,"s-wallet-table-transaction-status-purchase":"purchase_by_wallet"===a.action_type}},!!a.description&&t("i",{id:a.id.toString(),class:"sicon-information text-lg rtl:ml-4 ltr:mr-4 s-wallet-table-transaction-status-icon-success"}),!!a.description&&t("salla-tooltip",{text:a.description,targetId:a.id.toString()}),t("span",null,a.title))))))))),t("div",{class:"s-infinite-scroll-wrapper"},!!this.nextPageUrl&&t("salla-button",{onClick:this.handleClick,loading:this.isLoading},salla.lang.get("common.elements.load_more")))):t(l,null,t("h2",{style:{"margin-top":"32px"}},salla.lang.get("pages.wallet.title")),t("div",{class:"s-wallet-table-empty-state"},t("i",{class:"sicon-full-wallet"}),t("div",{class:"text-center p-3 text-xl font-bold "},salla.lang.get("pages.wallet.no_transactions")),t("div",{class:"text-center text-gray-400 text-sm font-normal "},salla.lang.get("pages.wallet.zero_balance")," ")))}};s.style=".s-wallet-table{min-width:100%}.s-wallet-table-balance-container{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:1rem}.s-wallet-table-balance-icon{border-radius:50%;width:52px;height:52px;font-size:25px;padding:16px 13px;background:var(--color-primary-reverse);color:var(--color-primary)}.s-wallet-table-empty-state{display:flex;flex-direction:column;align-items:center}.s-wallet-table-empty-state i{font-size:80px;margin:4rem 0 2rem;color:var(--infinte-color)}.s-wallet-table-transaction-status{padding:6px 19px !important;border-radius:20px;width:max-content;display:flex;align-items:center}.s-wallet-table-transaction-status-default{background:#fff6eb;color:#a46f29}.s-wallet-table-transaction-status-cashback{background:#effbf6;color:#00af6c}.s-wallet-table-transaction-status-refund{background:#ecf3fe;color:#5196f3}.s-wallet-table-transaction-status-purchase{background:#feecec;color:#f55157}.s-wallet-table-transaction-status-icons-success{color:#00af6c}";export{s as salla_wallet}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as a,h as t,H as s,a as e}from"./p-BICKbbaT.js";const i=class{constructor(t){if(a(this,t),this.entity="product",this.specs=[],this.download=salla.lang.get("pages.thank_you.download"),this.entityId)try{return void(this.entityId=Array.isArray(this.entityId)?this.entityId:JSON.parse(this.entityId))}catch(a){salla.log("Bad json passed via entityId prop")}}getValue(a){if("file"===a.type)return`<a href="${a.value}" class="text-primary" target="_blank"><span class="sicon-download"></span> ${this.download}</a>`;if("url"===a.type)return`<a href="${a.value}" class="text-blue-700 underline" target="_blank">${a.value}</a>`;if("date"===a.type){const t=new Date(a.value);return`${String(t.getDate()).padStart(2,"0")}/${String(t.getMonth()+1).padStart(2,"0")}/${t.getFullYear()}`}return a.value}async componentWillLoad(){if(await salla.onReady(),!salla.config.get("store.features")?.includes("custom-fields"))return salla.logger.error("feature custom-fields is not activated");if(this.entityId||!salla.url.is_page("product.single")&&!salla.url.is_page("product.showNewUrls")||(this.entityId=salla.config.get("page.id")),!this.entityId)return salla.logger.error("can't render salla-metadata without enity-id prop!");await salla.lang.onLoaded(),this.download=salla.lang.get("pages.thank_you.download");const a=await Salla.api.metadata.fetchValues(this.entity,this.entityId);this.specs=a.data[0]?.sections}render(){if(this.specs.length)return t(s,{class:"s-metadata-wrapper"},this.specs.map((a=>t("div",{class:"s-metadata-box"},t("div",{class:"s-metadata-box-header"},t("i",{class:"sicon-list"}),a.name),a.fields.map((a=>t("div",{class:"s-metadata-row"},t("p",{class:"s-metadata-row-name"},a.name),t("p",{class:"s-metadata-row-value",innerHTML:this.getValue(a)}))))))))}get host(){return e(this)}};i.style="";export{i as salla_metadata}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,h as s,H as c,a}from"./p-BICKbbaT.js";import{W as e}from"./p-CgR-T_ZS.js";import{e as n}from"./p-DzAIgzdz.js";const i=class{constructor(s){t(this,s),this.contacts=salla.config.get("store.contacts"),this.iconsList={mobile:'\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>iphone</title>\n<path d="M15.053 27.613c0.133 0.12 0.28 0.213 0.44 0.28s0.333 0.107 0.507 0.107c0.36 0 0.693-0.135 0.947-0.387 0.12-0.135 0.213-0.28 0.28-0.44 0.080-0.16 0.107-0.333 0.107-0.507 0-0.347-0.147-0.695-0.387-0.947-0.507-0.493-1.387-0.493-1.893 0-0.12 0.12-0.213 0.267-0.28 0.44-0.067 0.16-0.107 0.333-0.107 0.507s0.040 0.347 0.107 0.507 0.16 0.305 0.28 0.44zM24 0h-16c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h16c2.205 0 4-1.795 4-4v-24c0-2.205-1.795-4-4-4zM25.333 28c0 0.736-0.599 1.333-1.333 1.333h-16c-0.735 0-1.333-0.597-1.333-1.333v-4h18.667zM25.333 21.333h-18.667v-17.333c0-0.735 0.599-1.333 1.333-1.333h16c0.735 0 1.333 0.599 1.333 1.333z"></path>\n</svg>\n',whatsapp:e,phone:'\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>phone</title>\n<path d="M30.823 21.713l-3.883-3.883c-1.569-1.568-4.12-1.568-5.689 0l-2.568 2.568c-3.063-1.499-5.583-4.019-7.081-7.083l2.568-2.567c0.759-0.76 1.177-1.771 1.177-2.845s-0.419-2.084-1.179-2.844l-3.881-3.881c-1.52-1.521-4.171-1.521-5.689 0l-1.845 1.847c-2.22 2.219-3.183 5.407-2.573 8.527 1.98 10.144 10.125 18.292 20.269 20.271 0.616 0.121 1.236 0.18 1.849 0.18 2.492 0 4.896-0.972 6.677-2.752l1.847-1.847c1.568-1.571 1.568-4.121 0.001-5.691zM28.936 25.517l-1.845 1.847c-1.592 1.592-3.883 2.283-6.132 1.841-9.089-1.776-16.388-9.075-18.163-18.165-0.439-2.247 0.249-4.539 1.841-6.129l1.847-1.847c0.256-0.257 0.596-0.397 0.959-0.397s0.703 0.14 0.959 0.397l3.883 3.883c0.256 0.256 0.397 0.596 0.397 0.959s-0.141 0.703-0.397 0.96l-3.22 3.217c-0.383 0.384-0.496 0.959-0.287 1.457 1.813 4.339 5.343 7.868 9.683 9.684 0.497 0.207 1.073 0.095 1.457-0.288l3.22-3.22c0.529-0.529 1.389-0.528 1.917 0l3.881 3.883c0.528 0.529 0.528 1.389 0 1.919z"></path>\n</svg>\n',telegram:'\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>paper-plane-o</title>\n<path d="M31.5 0.482c0.375 0.268 0.554 0.696 0.482 1.143l-4.571 27.429c-0.054 0.339-0.268 0.625-0.571 0.804-0.161 0.089-0.357 0.143-0.554 0.143-0.143 0-0.286-0.036-0.429-0.089l-9.411-3.839-5.321 5.839c-0.214 0.25-0.518 0.375-0.839 0.375-0.143 0-0.286-0.018-0.411-0.071-0.446-0.179-0.732-0.607-0.732-1.071v-8.071l-8.429-3.446c-0.411-0.161-0.679-0.536-0.714-0.982-0.036-0.429 0.196-0.839 0.571-1.054l29.714-17.143c0.375-0.232 0.857-0.214 1.214 0.036zM25.393 27.25l3.946-23.625-25.607 14.768 6 2.446 15.411-11.411-8.536 14.232z"></path>\n</svg>\n',email:n},this.contactSlot=this.host.querySelector('[slot="contact"]')?.innerHTML||`<a href={link} class="s-contacts-item"><span class="s-contacts-icon">{icon}</span>${!this.iconsOnly&&"<span class='unicode'>{value}</span>"}</a>`,salla.onReady((()=>{this.contacts=salla.config.get("store.contacts")})),salla.lang.onLoaded((()=>{this.contactsTitle=this.contactsTitle||salla.lang.get("blocks.footer.social")}))}getContactsArray(){return Object.entries(this.contacts).filter((([t,s])=>""!==s)).map((([t,s])=>({type:t,value:s})))}getContactLink(t){const s=this.contacts[t];switch(t){case"phone":case"mobile":return`tel:${s}`;case"whatsapp":const t=(s||"").toString().replace(/[^\d]/g,"");return t?`https://wa.me/${t}`:salla.url.get("whatsapp/send");case"email":return`mailto:${s}`;case"telegram":return s.startsWith("https://t.me/")?s:`https://t.me/${s}`;default:return s}}getContactIcon(t){return this.iconsList[t]}componentWillLoad(){return new Promise((t=>salla.onReady(t)))}render(){const t=this.getContactsArray();if(t&&0!=t.length)return this.isHeader?s(c,{class:"s-contacts s-contacts-header"},t.filter((t=>"phone"==t.type||"email"==t.type)).map(((t,c)=>s("a",{href:this.getContactLink(t.type),key:c,class:"s-contacts-topnav-link"},"email"===t.type?t.value:[s("span",null,this.contactsTitle,": "),s("a",{class:"unicode",href:this.iconsList[t.type]},t.value)])))):s(c,{class:"s-contacts"},!this.hideTitle&&s("h3",{class:"s-contacts-title"},this.contactsTitle),s("div",{class:{"s-contacts-list":!0,"s-contacts-list-horizontal":this.horizontal,"s-contacts-list-vertical":!this.horizontal,"s-contacts-list-icons-only":this.iconsOnly}},t.map(((t,c)=>s("div",{key:c,id:"contact-slot",innerHTML:this.contactSlot.replace(/\{icon\}/g,this.getContactIcon(t.type)).replace(/\{value\}/g,t.value.toString()).replace(/\{link\}/g,this.getContactLink(t.type))})))))}componentDidRender(){this.host.querySelector('[slot="contact"]')?.remove()}get host(){return a(this)}};i.style=".unicode{unicode-bidi:plaintext}";export{i as salla_contacts}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as s,c as t,h as i,H as e,a as h}from"./p-BICKbbaT.js";import{e as r}from"./p-DzAIgzdz.js";const l=class{constructor(i){s(this,i),this.verified=t(this,"verified"),this.translationLoaded=!1,this.display="modal",this.type="mobile",this.autoReload=!0,this.supportWebAuth=!0,this.resendAfter=30,this.isProfileVerify=!1,salla.lang.onLoaded((()=>{this.translationLoaded=!0,this.title=salla.lang.get("pages.profile.verify_title")+salla.lang.get("common.elements."+this.type),this.modal?.setTitle(this.title)})),"inline"!=this.display?(salla.event.on("profile::verification",(s=>{let t=Array.isArray(s)?s[0]:s;"delete_account"===t?.request_type||document.getElementById("salla-user-settings-delete-modal")?.hasAttribute("visible")||(this.isProfileVerify=!0,this.open(t),this.title=salla.lang.get("pages.profile.verify_title")+salla.lang.get("common.elements."+t.type),this.modal?.setTitle(this.title))})),salla.event.on("modalClosed",(()=>{this.resendAfter=0,this.timer.innerHTML="30 : 00"}))):this.modal={open:()=>"",close:()=>"",setTitle:()=>""}}splitNumber(s){this.resetError();let t=s.data||s.target.value;t&&1!==t.length&&this.modifyNext(s.target,t)}modifyNext(s,t){s.value=t[0],t=t.substring(1),s.nextElementSibling&&t.length?this.modifyNext(s.nextElementSibling,t):s.nextElementSibling||0!==t.length?s.nextElementSibling&&0===t.length&&s.nextElementSibling.focus():s.focus()}checkAllInputs(){let s=!0;for(let t=0;t<this.otpInputs.length;t++)""===this.otpInputs[t].value&&(s=!1);return s}handleKeyUp(s){if(this.resetError(),["Alt","Shift","Control","AltGraph","Ctrl"].includes(s.key))return;let t=s.keyCode||s.charCode;s.target.value?(s.target.nextElementSibling?.focus(),s.target.nextElementSibling?.select()):[8,46].includes(t)&&(s.target.previousElementSibling?.focus(),s.target.previousElementSibling?.select()),s.target.value.length>1&&this.splitNumber(s)}handlePaste(s){this.resetError();let t=(salla.helpers.number(s.clipboardData.getData("text"))||"").replace(/[^0-9]/g,"");t=t.substring(0,this.otpInputs.length),this.otpInputs.forEach((s=>s.value="")),this.modifyNext(this.otpInputs[0],t)}handleInput(s){this.resetError(),salla.helpers.inputDigitsOnly(s.target),this.checkAllInputs()&&setTimeout((()=>{this.toggleOTPSubmit()}),100)}resetError(){this.hasError=!1,this.errorMessage=""}handleFocus(s){s.target!==this.firstOtpInput&&(""==this.firstOtpInput?.value&&this.firstOtpInput.focus(),""==s.target.previousElementSibling.value&&s.target.previousElementSibling.focus())}async getCode(){return this.code.value}async open(s){this.data=s,this.data.type=this.data.type||this.type,this.type=this.data.type,this.resendTimer(),this.otpInputs=this.body.querySelectorAll(".s-verify-input"),this.firstOtpInput=this.body.querySelector("#otp-1"),this.reset(),this.resetError(),"modal"==this.display&&this.modal?.setTitle(this.title),this.modal.open(),this.firstOtpInput?.addEventListener("input",(s=>this.splitNumber(s))),setTimeout((()=>this.otpInputs[0].focus()),100)}toggleOTPSubmit(){let s=[];if(this.otpInputs.forEach((t=>t.value&&s.push(t.value))),this.code.value=s.join(""),4===s.length)return this.btn.disable(),void this.btn.click();this.btn.enable()}reset(){this.otpInputs.forEach((s=>s.value="")),this.code.value="",this.otpInputs[0].focus()}resendTimer(){this.resendMessage.style.display="block",this.resend.style.display="none",this.resendAfter=30;let s=setInterval((()=>{this.resendAfter<=0?(clearInterval(s),this.resend.style.display="block",this.resendMessage.style.display="none"):(this.timer.innerHTML=`${this.resendAfter>=10?this.resendAfter:"0"+this.resendAfter} : 00`,this.resendAfter--)}),1e3)}resendCode(){return this.btn.stop().then((()=>this.btn.disable())).then((()=>{this.otpInputs.forEach((s=>s.value="")),this.otpInputs[0].focus()})).then((()=>salla.api.auth.resend(this.data))).finally((()=>this.resendTimer()))}submit(){if(this.code.value.length<4)return this.otpInputs[this.code.value.length].focus(),void salla.log("Trying to submit without 4 digits!");let s={code:this.code.value,...this.data};return this.btn.load().then((()=>this.btn.disable())).then((()=>this.isProfileVerify?salla.profile.verify(s):salla.auth.verify(s,this.supportWebAuth))).then((s=>this.verified.emit(s))).then((()=>this.btn.stop()&&this.btn.disable())).then((()=>this.modal.close())).then((()=>this.autoReload&&window.location.reload())).catch((s=>{this.hasError=!0,this.errorMessage=s.response?.data?.error?.message||salla.lang.get("common.errors.error_occurred"),s.response?salla.logger.error(s):console.log("Unexpected error",s),this.btn.stop()&&this.btn.enable()&&this.reset()}))}render(){return"inline"==this.display?i(e,null,this.myBody()):i("salla-modal",{width:"xs",class:"s-verify",ref:s=>this.modal=s,"modal-title":this.title},i("span",{slot:"icon",class:"s-verify-header-icon",innerHTML:"mobile"==this.type?'\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>android-phone</title>\n<path d="M22.667 0h-13.333c-2.941 0-5.333 2.392-5.333 5.333v21.333c0 2.941 2.392 5.333 5.333 5.333h13.333c2.941 0 5.333-2.392 5.333-5.333v-21.333c0-2.941-2.392-5.333-5.333-5.333zM25.333 26.667c0 1.471-1.196 2.667-2.667 2.667h-13.333c-1.471 0-2.667-1.196-2.667-2.667v-2.667h18.667zM25.333 21.333h-18.667v-16c0-1.471 1.196-2.667 2.667-2.667h13.333c1.471 0 2.667 1.196 2.667 2.667zM13.333 28h5.333c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-5.333c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"></path>\n</svg>\n':r}),this.myBody())}myBody(){return i("div",{class:"s-verify-body",ref:s=>this.body=s},i("div",{class:"s-verify-message",innerHTML:salla.lang.get("pages.profile.verify_message")}),i("slot",{name:"mobile"}),i("slot",{name:"email"}),i("input",{type:"hidden",name:"code",maxlength:"4",required:!0,ref:s=>this.code=s}),i("div",{class:{"s-verify-codes":!0,"has-error":this.hasError},dir:"ltr"},[1,2,3,4].map((s=>i("input",{type:"number",autocomplete:"one-time-code",pattern:"[0-9]*",inputmode:"numeric",maxlength:"1",value:"",id:`otp-${s}`,class:{"s-verify-input":!0,"s-has-error":this.hasError},onInput:s=>this.handleInput(s),onPaste:s=>this.handlePaste(s),onKeyUp:s=>this.handleKeyUp(s),onFocus:s=>this.handleFocus(s),required:!0})))),this.hasError&&this.errorMessage?i("span",{class:"s-verify-error-message"},this.errorMessage):"",i("div",{slot:"footer",class:"s-verify-footer"},i("salla-button",{class:"s-verify-submit","loader-position":"center",disabled:!0,onClick:()=>this.submit(),ref:s=>this.btn=s},salla.lang.get("pages.profile.verify")),i("p",{class:"s-verify-resend-message",ref:s=>this.resendMessage=s},salla.lang.get("blocks.header.resend_after"),i("b",{class:"s-verify-timer",ref:s=>this.timer=s})),i("a",{href:"#",class:"s-verify-resend",onClick:()=>this.resendCode(),ref:s=>this.resend=s},salla.lang.get("blocks.comments.submit"))),i("slot",{name:"after-footer"}))}get host(){return h(this)}};l.style="salla-verify{display:block}.s-verify-input{}.s-verify-input::-webkit-outer-spin-button,.s-verify-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.s-verify-input[type=number]{-moz-appearance:textfield}";export{l as salla_verify}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,h as s,H as i,a as o}from"./p-BICKbbaT.js";const e=class{constructor(s){t(this,s),this.size="md",this.color="dark",this.digits="auto",this.autoSegments=!1,this.daysLabel=salla.lang.getWithDefault("pages.checkout.day","يوم"),this.hoursLabel=salla.lang.getWithDefault("pages.checkout.hour","ساعة"),this.minutesLabel=salla.lang.getWithDefault("pages.checkout.minute","دقيقة"),this.secondsLabel=salla.lang.getWithDefault("pages.checkout.second","ثانية"),this.endLabel=salla.lang.getWithDefault("pages.checkout.offer_ended","انتهت مدة العرض"),this.invalidDate=salla.lang.getWithDefault("blocks.buy_as_gift.incorrect_date","الرجاء إدخال الموعد بشكل صحيح"),this.offerEnded=!1,this.parseFailed=!1,this.showDays=!0,this.showHours=!0,this.days=this.number(0),this.hours=this.number(0),this.minutes=this.number(0),this.seconds=this.number(0),salla.lang.onLoaded((()=>{this.daysLabel=salla.lang.getWithDefault("pages.checkout.day","يوم"),this.hoursLabel=salla.lang.getWithDefault("pages.checkout.hour","ساعة"),this.minutesLabel=salla.lang.getWithDefault("pages.checkout.minute","دقيقة"),this.invalidDate=salla.lang.getWithDefault("blocks.buy_as_gift.incorrect_date","الرجاء إدخال الموعد بشكل صحيح"),this.secondsLabel=salla.lang.getWithDefault("pages.checkout.second","ثانية"),this.endLabel=salla.lang.getWithDefault("pages.checkout.offer_ended","انتهت مدة العرض")})),this.date&&this.isValidDate(this.date)&&this.startCountDown()}async endCountDown(){clearInterval(this.countInterval),this.offerEnded=!0,this.days=this.number(0),this.hours=this.number(0),this.minutes=this.number(0),this.seconds=this.number(0)}componentWillLoad(){if("string"==typeof this.preOrder)try{this.normalizedPreOrder=JSON.parse(this.preOrder)}catch{this.normalizedPreOrder=void 0}else this.normalizedPreOrder=this.preOrder;this.normalizedPreOrder?.end_date&&(this.date=this.normalizedPreOrder.end_date),this.date&&this.isValidDate(this.date)&&this.startCountDown()}normalizeDate(t){const s=t.match(/^(\d{1,2})-(\d{1,2})-(\d{4}),(\d{1,2}):(\d{2}):(\d{2})\s*(am|pm)$/i);if(s){const[,t,i,o,e,a,n,l]=s;let h=parseInt(e,10);"pm"===l.toLowerCase()&&h<12&&(h+=12),"am"===l.toLowerCase()&&12===h&&(h=0);const r=String(h).padStart(2,"0");return`${o}-${String(t).padStart(2,"0")}-${String(i).padStart(2,"0")} ${r}:${a}:${n}`}const i=t.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);if(i){const[,t,s,o]=i;return`${o}-${String(t).padStart(2,"0")}-${String(s).padStart(2,"0")}`}const o=t.match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[ T](\d{1,2}:\d{2}:\d{2}))?$/);if(o){const[,t,s,i,e]=o,a=String(s).padStart(2,"0"),n=String(i).padStart(2,"0");return e?`${t}-${a}-${n} ${e}`:`${t}-${a}-${n}`}return t}isValidDate(t){const s=this.normalizeDate(t);let i,o=s.includes("-"),e=s.split(" ");return i=o?e[0].replace(/-/g,"/"):e[0],!isNaN(Date.parse(i))}number(t){const s=String(Math.max(0,Math.floor(t))).padStart(2,"0");return salla.helpers.number(s,"en"===this.digits)}startCountDown(){const t=this.normalizeDate(this.date),s=t.includes("-"),i=this.endOfDay||1===t.split(" ").length;let o;if(s){const s=i?`${t.split(" ")[0]}T23:59:59+03:00`:`${t.replace(" ","T")}+03:00`;o=new Date(s).getTime()}else{const s=new Date(t);i&&s.setHours(23,59,59,999),o=s.getTime()}if(Number.isNaN(o))return salla.logger.warn(`[salla-count-down] unable to parse date: "${this.date}"`),void(this.parseFailed=!0);const e=()=>{const t=o-Date.now(),s=Math.floor(t/864e5),i=Math.floor(t%864e5/36e5);this.days=this.number(s),this.hours=this.number(i),this.minutes=this.number(Math.floor(t%36e5/6e4)),this.seconds=this.number(Math.floor(t%6e4/1e3)),this.autoSegments&&(this.showDays=s>0,this.showHours=s>0||i>0),t<0&&this.endCountDown()};this.countInterval=setInterval(e,1e3),e()}renderCountDown(){const t=this.boxTheme?`var(--color-${this.boxTheme})`:this.boxColor,i=this.boxed&&t?{backgroundColor:t}:void 0;return s("ul",{class:`s-count-down-list ${this.boxed?"s-count-down-boxed":""} ${this.offerEnded?"s-count-down-ended":""} s-count-down-${this.size} s-count-down-${this.color}`,style:this.listPadding?{paddingLeft:this.listPadding,paddingRight:this.listPadding}:void 0},s("li",{class:"s-count-down-item",style:i},s("div",{class:"s-count-down-item-value"},this.seconds),this.labeled&&s("div",{class:"s-count-down-item-label"},this.secondsLabel)),s("li",{class:"s-count-down-item",style:i},s("div",{class:"s-count-down-item-value"},this.minutes),this.labeled&&s("div",{class:"s-count-down-item-label"},this.minutesLabel)),(!this.autoSegments||this.showHours)&&s("li",{class:"s-count-down-item",style:i},s("div",{class:"s-count-down-item-value"},this.hours),this.labeled&&s("div",{class:"s-count-down-item-label"},this.hoursLabel)),(!this.autoSegments||this.showDays)&&s("li",{class:"s-count-down-item",style:i},s("div",{class:"s-count-down-item-value"},this.days),this.labeled&&s("div",{class:"s-count-down-item-label"},this.daysLabel)))}renderInvalidDate(){return s("div",{class:"s-count-down-text-center"},this.invalidDate)}renderOfferEnded(){return s("div",{class:"s-count-down-end-text"},this.endText?this.endText:this.endLabel)}renderPreOrderToBeAvailableOn(){return this.normalizedPreOrder?.availability_date&&this.isValidDate(this.normalizedPreOrder?.availability_date)?s("div",{class:"s-count-down-info-message"},s("i",{class:"sicon-info"}),s("span",null,salla.lang.getWithDefault("pages.products.expected_to_be","متوقَّع توفُّره بتاريخ:")),s("span",null,new Date(this.normalizedPreOrder?.availability_date).toLocaleDateString(salla.lang.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric"}))):null}renderPreOrderCountDown(){return this.normalizedPreOrder?.activate_countdown?s("div",{class:"s-count-down-pre-order-container"},s("p",{class:"text-sm "},salla.lang.getWithDefault("pages.products.pre_order_ends_in","ينتهي الطلب المسبق خلال:")),this.renderCountDown()):null}renderPreOrder(){return s("div",null,"object"==typeof this.normalizedPreOrder&&this.normalizedPreOrder?.availability_date&&this.renderPreOrderToBeAvailableOn(),this.renderPreOrderCountDown())}renderPrefixText(){return this.prefixText?s("span",{class:"s-count-down-prefix-text"},this.prefixText):null}renderButton(){return this.withButton&&this.buttonText?s("salla-button",{color:"primary",size:"medium",href:this.buttonHref},this.buttonIcon?s("i",{class:this.buttonIcon}):null,s("span",null,this.buttonText)):null}renderContent(){return this.date?!this.isValidDate(this.date)||this.parseFailed?this.renderInvalidDate():this.preOrder?this.renderPreOrder():this.renderCountDown():null}render(){return s(i,{key:"e2805e528a52b71ad71f4f1f16a473947dafb5bc",class:`s-count-down-wrapper ${this.preOrder&&this.isValidDate(this.date)?"s-count-down-pre-order":""} ${this.horizontal?"s-count-down-horizontal":""} ${this.withButton?"s-count-down-with-button":""} ${this.offerEnded?"s-count-down-ended":""}`},this.renderPrefixText(),this.renderContent(),this.offerEnded&&this.renderOfferEnded(),this.renderButton())}};e.style=".s-count-down-horizontal{background-color:rgba(0, 0, 0, 0.06);background-color:color-mix(in srgb, var(--color-primary) 10%, transparent)}";const a=class{constructor(s){t(this,s),this.resolveFn=null,this.rejectFn=null,this.optionsRefs=new Map,this.changeHandler=null,this.submitCallback=null,this.orderOptions=[],this.basePrice=0,this.liveTotal=0,this.isSubmitting=!1,this.sessionId=0,this.paymentMode="default",this.title="",this.subtitle="",this.submitLabel="",this.totalLabel="",this.requiredMessage="",this.handleClose=()=>{this.isSubmitting||(this.rejectFn?.({reason:"dismissed"}),this.resolveFn=null,this.rejectFn=null,this.detachChangeListener(),this.reset())},salla.lang.onLoaded((()=>this.loadTranslations()))}componentWillLoad(){this.loadTranslations()}loadTranslations(){this.title=salla.lang.get("blocks.order_options.title"),this.subtitle=salla.lang.get("blocks.order_options.subtitle"),this.submitLabel=salla.lang.get("blocks.order_options.continue"),this.totalLabel=salla.lang.get("blocks.order_options.total"),this.requiredMessage=salla.lang.get("blocks.order_options.required_message")}async open(t){return this.orderOptions=(Array.isArray(t.orderOptions)?t.orderOptions:[]).map((t=>({...t,details:t.details??[]}))),this.basePrice=Number(t.basePrice)||0,this.liveTotal=this.basePrice+this.seedOptionsPrice(this.orderOptions),this.isSubmitting=!1,this.sessionId++,this.optionsRefs.clear(),this.submitCallback=t.onSubmit??null,this.paymentMode=t.paymentMode??"default",await(this.modal?.open()),this.attachChangeListener(),new Promise(((t,s)=>{this.resolveFn=t,this.rejectFn=s}))}async close(){await(this.modal?.close())}collectOrderOptionsSync(){const t=[];for(const[,s]of this.optionsRefs)s&&s.querySelectorAll('[name^="options["],[name*="[options]["]').forEach((s=>{if(s instanceof HTMLInputElement&&("radio"===s.type||"checkbox"===s.type)&&!s.checked)return;const i=s.name.match(/(?:^|\[)options\]?\[(\d+)\]/);if(!i)return;const o=s.value;if(""===o||null==o)return;const e=Number(o);t.push({id:Number(i[1]),value:Number.isFinite(e)&&o===String(e)?e:o})}));return t}validateSync(){let t=!0;for(const[,s]of this.optionsRefs)s&&s.querySelectorAll("[required]").forEach((s=>{s.disabled||s.closest(".hidden")||"reportValidity"in s&&!s.reportValidity()&&(t=!1)}));return t}seedOptionsPrice(t){let s=0;return t.forEach((t=>{(t.details||[]).forEach((t=>{t.is_selected&&(s+=Number(t.total_price??t.additional_price)||0)}))})),s}attachChangeListener(){this.detachChangeListener(),this.changeHandler=()=>this.recomputeTotal(),salla.event.on("product-options::change",this.changeHandler)}detachChangeListener(){this.changeHandler&&(salla.event.off("product-options::change",this.changeHandler),this.changeHandler=null)}async recomputeTotal(){let t=0;for(const[,s]of this.optionsRefs)s&&(("function"==typeof s.getSelectedOptions?await s.getSelectedOptions():[])||[]).forEach((s=>{t+=Number(s.total_price??s.additional_price)||0}));this.liveTotal=this.basePrice+t}handleSubmit(){if(this.isSubmitting)return;if(!this.validateSync())return void salla.notify?.error?.(this.requiredMessage);this.isSubmitting=!0;const t=this.collectOrderOptionsSync(),s=Math.round(100*this.liveTotal)/100;try{this.submitCallback?.(t,s)}catch(t){salla?.logger?.warn?.("order-options modal onSubmit threw",t)}this.resolveFn?.({orderOptions:t}),this.resolveFn=null,this.rejectFn=null,this.submitCallback=null,this.detachChangeListener(),this.modal?.close().then((()=>this.reset())),this.isSubmitting=!1}reset(){this.orderOptions=[],this.optionsRefs.clear(),this.liveTotal=0}render(){const t=salla.money(Math.round(100*this.liveTotal)/100);return s("salla-modal",{key:"e84a40e1a27447d58ca5651a7ed76cbcf886495c",ref:t=>this.modal=t,class:"s-order-options-modal-host",width:"md","modal-title":this.title,onModalVisibilityChanged:t=>{t.detail||this.handleClose()}},s("div",{key:"fafa3cdeb22787d4a02f3fc8afb70770e1c3b4b5",class:"s-order-options-modal-body"},s("p",{key:"c563c24e1b8744f3248328ec16a18c5a668e7949",class:"s-order-options-modal-subtitle"},this.subtitle),s("div",{key:"475599cc47435b077d2321573328321888e60aa6",class:"s-order-options-modal-fields"},this.orderOptions.length>0&&s("salla-product-options",{key:this.sessionId,ref:t=>{t&&(this.optionsRefs.set("order-options",t),t.seedSelectedOptions?.())},"product-id":`order-options-${this.orderOptions[0]?.id}`,"unique-key":"order-options",options:JSON.stringify(this.orderOptions),"hide-out-label":"1","no-padding":!0}))),s("div",{key:"e00641853937f745c8cc798c7f9e15b389faf540",slot:"footer",class:"s-order-options-modal-footer"},"apple-pay"===this.paymentMode?s("div",{class:"s-order-options-modal-apple-pay-wrap"},s("div",{class:"s-order-options-modal-apple-pay-total"},s("span",{class:"s-order-options-modal-apple-pay-label"},this.totalLabel),s("span",{class:"s-order-options-modal-apple-pay-amount",innerHTML:t})),s("apple-pay-button",{locale:salla?.config?.get?.("user.language_code")||"ar",buttonstyle:"black",type:"buy",class:"s-order-options-modal-apple-pay",onClick:()=>this.handleSubmit()})):s("salla-button",{type:"button",color:"primary",fill:"solid",width:"wide",loading:this.isSubmitting,onClick:()=>this.handleSubmit()},s("span",{class:"s-order-options-modal-cta-content"},s("span",{class:"s-order-options-modal-cta-text"},this.submitLabel),s("span",{class:"s-order-options-modal-cta-total",innerHTML:t})))))}get host(){return o(this)}};a.style=".s-order-options-modal-host .s-modal-header-inner,.s-order-options-modal-host .s-modal-header-content,.s-order-options-modal-host .s-modal-title{text-align:start !important}.s-order-options-modal-apple-pay{display:block;width:100%;--apple-pay-button-width:100%;--apple-pay-button-height:44px;--apple-pay-button-border-radius:0.75rem}.s-order-options-modal-apple-pay-wrap{display:flex;flex-direction:column;gap:0.75rem;width:100%}.s-order-options-modal-apple-pay-total{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.s-order-options-modal-apple-pay-label,.s-order-options-modal-apple-pay-amount{font-size:1.125rem;line-height:1.5rem;font-weight:700;color:#111827}";export{e as salla_count_down,a as salla_order_options_modal}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as e,h as s}from"./p-BICKbbaT.js";import{G as l}from"./p-OF8QcbMM.js";const a=class{constructor(s){e(this,s),this.minAge=10,this.isEditable=!0,this.disableAction=!1,this.isLoading=!0,this.first_name_trans=salla.lang.get("pages.profile.first_name"),this.last_name_trans=salla.lang.get("pages.profile.last_name"),this.birthday_trans=salla.lang.get("pages.profile.birthday"),this.birthday_placeholder_trans=salla.lang.get("pages.profile.birthday_placeholder"),this.gender_trans=salla.lang.get("pages.profile.gender"),this.gender_placeholder_trans=salla.lang.get("pages.profile.gender_placeholder"),this.male_trans=salla.lang.get("pages.profile.male"),this.female_trans=salla.lang.get("pages.profile.female"),this.email_trans=salla.lang.get("common.elements.email"),this.mobile_trans=salla.lang.get("common.elements.mobile"),this.save_btn_trans=salla.lang.get("common.elements.save"),this.drag_and_drop_trans=salla.lang.get("common.uploader.drag_and_drop"),this.browse_trans=salla.lang.get("common.uploader.browse"),this.email_required_trans=salla.lang.get("pages.checkout.email_required"),this.invalid_email_trans=salla.lang.get("pages.error.invalid_value",{attribute:"email"}),salla.lang.onLoaded((()=>{this.first_name_trans=salla.lang.get("pages.profile.first_name"),this.last_name_trans=salla.lang.get("pages.profile.last_name"),this.birthday_trans=salla.lang.get("pages.profile.birthday"),this.birthday_placeholder_trans=salla.lang.get("pages.profile.birthday_placeholder"),this.gender_trans=salla.lang.get("pages.profile.gender"),this.gender_placeholder_trans=salla.lang.get("pages.profile.gender_placeholder"),this.male_trans=salla.lang.get("pages.profile.male"),this.female_trans=salla.lang.get("pages.profile.female"),this.email_trans=salla.lang.get("common.elements.email"),this.mobile_trans=salla.lang.get("common.elements.mobile"),this.save_btn_trans=salla.lang.get("common.elements.save"),this.drag_and_drop_trans=salla.lang.get("common.uploader.drag_and_drop"),this.browse_trans=salla.lang.get("common.uploader.browse"),this.email_required_trans=salla.lang.get("pages.checkout.email_required"),this.invalid_email_trans=salla.lang.get("pages.error.invalid_value",{attribute:"email"})}))}phoneNumberFieldEventHandler(e){e.detail.number?(this.userData.phone.number=Number.parseInt(e.detail.number),this.userData.phone.country=e.detail.country_code,this.disableAction=!1):this.disableAction=!0}handleFieldChange(e,s,l=!1){s.target.value?(this.userData[e]=s.target.value,this.disableAction=!1):l&&(this.disableAction=!0)}handleEmailInput(e,s){const l=document.getElementById("email-error"),a=s.target.value;if(!a)return this.disableAction=!0,void(l.textContent=this.email_required_trans);/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(a)||(this.disableAction=!0,l.textContent=this.invalid_email_trans),l.textContent="",this.userData[e]=a,this.disableAction=!1}submitForm(e){e.preventDefault(),this.disableAction=!0;const s=Object.assign({},this.userData);s.phone=void 0,s.phone=this.userData.phone.number,s.country_code=this.userData.phone.country,salla.api.profile.update(s).finally((()=>{this.disableAction=!1}))}getBirthDateRestriction(){const e=new Date,s=e.getFullYear()-this.minAge;return e.setFullYear(s),e}fetchData(){return salla.api.profile.info().then((e=>{this.userData=e.data})).finally((()=>{this.isLoading=!1,this.isEditable=!Salla.config.get("store.features").includes("sso-login")}))}renderLoadingSection(){return s("div",{class:"s-user-profile-skeleton-wrapper"},Array.from({length:6},((e,l)=>s("salla-skeleton",{class:"skeleton-item",width:"100%",height:"50px",key:l}))))}componentWillLoad(){Salla.onReady().then((()=>this.fetchData()))}render(){return this.isLoading?this.renderLoadingSection():s("form",{onSubmit:e=>this.submitForm(e)},s("div",{class:"s-user-profile-wrapper"},s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"first-name",class:"s-user-profile-field-label"},this.first_name_trans),s("input",{disabled:!this.isEditable,type:"text",name:"first_name",value:this.userData.first_name,id:"first-name",required:!0,autocomplete:"first_name",class:"form-input",onChange:e=>this.handleFieldChange("first_name",e)})),s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"last-name",class:"s-user-profile-field-label"},this.last_name_trans),s("input",{disabled:!this.isEditable,type:"text",name:"last_name",value:this.userData.last_name,id:"last-name",required:!0,autocomplete:"last_name",class:"form-input",onChange:e=>this.handleFieldChange("last_name",e)})),s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"birthday",class:"s-user-profile-field-label"},this.birthday_trans),s("salla-datetime-picker",{disabled:!this.isEditable,dateFormat:"Y-m-d",value:this.userData.birthday,placeholder:this.birthday_placeholder_trans,required:!0,maxDate:this.getBirthDateRestriction(),name:"birthday",onPicked:e=>this.handleFieldChange("birthday",e)})),s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"gender",class:"s-user-profile-field-label"},this.gender_trans),s("select",{disabled:!this.isEditable,class:"form-input",name:"gender",required:!0,onChange:e=>this.handleFieldChange("gender",e)},s("option",{value:""},this.gender_placeholder_trans),s("option",{value:l.Male,selected:this.userData.gender===l.Male},this.male_trans),s("option",{value:l.Female,selected:this.userData.gender===l.Female},this.female_trans))),s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"email",class:"s-user-profile-field-label"},this.email_trans),s("input",{disabled:!this.isEditable,type:"email",name:"email",value:this.userData.email,id:"email",class:"form-input",required:!0,onInput:e=>this.handleEmailInput("email",e)}),s("p",{id:"email-error",class:"s-user-profile-field-error"})),s("div",{class:"s-user-profile-field"},s("label",{htmlFor:"international-mobile",class:"s-user-profile-field-label"},this.mobile_trans),s("salla-tel-input",{disabled:!this.isEditable,name:"international-mobile","country-code":this.userData.phone.country,phone:`${this.userData.phone.number}`,onPhoneEntered:e=>this.phoneNumberFieldEventHandler(e)}))),s("salla-button",{type:"submit",loading:this.disableAction,disabled:this.disableAction||!this.isEditable,"loader-position":"end",class:"s-user-profile-submit"},this.save_btn_trans))}};a.style=":host{display:block}";export{a as salla_user_profile}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,h as s,H as a,a as e}from"./p-BICKbbaT.js";import{f as i}from"./p-CL7OPpYS.js";const l=class{constructor(s){t(this,s),this.limit=10,this.products=[],this.isLoading=!0,this.canRender=!0,this.title="",this.addToCartLabel="",this.weightLabel="",this.discountLabel="",this.placeholder="",this.fetchGeneration=0,this.isSyncingCart=!1,this.cartItemChangedHandler=t=>{const s=t?.data?.cart?.items??[],a=s.map((t=>String(t.product_id))).filter(Boolean);this.syncCartItemsDom(s),this.fetchRecommendations(a)},this.beforeAddItemHandler=t=>{const s=String(t?.id??"");s&&this.products.some((t=>String(t.id)===s))&&salla.cart?.api&&(salla.cart.api.addToCartSource="basket_gap")},this.addButtonSuccessHandler=t=>{const s=t?.target?.getAttribute?.("product-id");if(!s)return;const a=this.products.find((t=>String(t.id)===String(s)));if(!a)return;const e=t?.detail?.data?.items??[],i=e.find((t=>String(t.product_id)===String(a.id)))??e.slice(-1)[0];salla.event.emit("salla-basket-gap::product.added",[{product:a,position:this.products.indexOf(a)+1,cartItem:i,cartId:t?.detail?.data?.id,source:"basket_gap"}])},salla.lang.onLoaded((()=>{this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount")}))}componentWillLoad(){salla.onReady().then((()=>{if(!salla.config.get("store.settings.cart.basket_gap"))return this.canRender=!1,void(this.isLoading=!1);this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount"),this.placeholder=salla.url.asset(salla.config.get("theme.settings.placeholder"));const t=salla.storage.get("cart"),s=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return s.length?this.fetchRecommendations(s):salla.api.cart.details().then((({data:{cart:t}})=>{const s=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return this.fetchRecommendations(s)})).catch((()=>{this.canRender=!1,this.isLoading=!1}))}))}componentDidLoad(){this.positionUnderCartItems()}componentDidUpdate(){document.lazyLoadInstance?.update(this.host.querySelectorAll(".lazy")),this.positionUnderCartItems()}getCartItemForms(t=document){return Array.from(t.querySelectorAll('form[id^="item-"]')).filter((t=>!t.closest(".cart-options")))}positionUnderCartItems(){const t=this.getCartItemForms(),s=t[t.length-1];s&&s.nextElementSibling!==this.host&&s.after(this.host)}syncCartItemsDom(t){t?.length&&!this.isSyncingCart&&t.filter((t=>!document.getElementById("item-"+t.id))).length&&(this.isSyncingCart=!0,fetch(window.location.href,{headers:{"X-Requested-With":"XMLHttpRequest"},credentials:"same-origin"}).then((t=>t.text())).then((t=>{const s=(new DOMParser).parseFromString(t,"text/html"),a=this.getCartItemForms(s),e=this.getCartItemForms();if(!a.length||!e.length)return;const i=e[0],l=i.parentElement;l&&(a.forEach((t=>{l.insertBefore(document.importNode(t,!0),i)})),e.forEach((t=>t.remove())),document.lazyLoadInstance?.update?.(),this.positionUnderCartItems())})).catch((()=>{})).finally((()=>{this.isSyncingCart=!1})))}connectedCallback(){salla.event.on("cart::item.added",this.cartItemChangedHandler),salla.event.on("cart::item.deleted",this.cartItemChangedHandler),salla.event.on("cart::before.add.item",this.beforeAddItemHandler),this.host.addEventListener("success",this.addButtonSuccessHandler)}disconnectedCallback(){salla.event.off("cart::item.added",this.cartItemChangedHandler),salla.event.off("cart::item.deleted",this.cartItemChangedHandler),salla.event.off("cart::before.add.item",this.beforeAddItemHandler),this.host.removeEventListener("success",this.addButtonSuccessHandler)}getCartProductIds(t){if(t?.length)return new Set(t);const s=salla.storage.get("cart");return new Set((s?.items??[]).map((t=>String(t.product_id))).filter(Boolean))}fetchRecommendations(t){if(!t.length)return this.canRender=!1,this.isLoading=!1,Promise.resolve();const s=++this.fetchGeneration;return i(t).then((a=>{if(s!==this.fetchGeneration)return;const e=this.getCartProductIds(t),i=a.filter((t=>!e.has(t)));if(i.length)return this.fetchProducts(i.slice(0,this.limit),s);this.canRender=!1})).catch((()=>{s===this.fetchGeneration&&(this.canRender=!1)})).finally((()=>{s===this.fetchGeneration&&(this.isLoading=!1)}))}fetchProducts(t,s){return salla.api.withoutNotifier((()=>salla.product.api.fetch({source:"selected",source_value:t,limit:this.limit}))).then((t=>{s===this.fetchGeneration&&(this.products=t?.data??[],this.canRender=this.products.length>0)})).catch((()=>{s===this.fetchGeneration&&(this.canRender=!1)}))}getDiscountLabel(t){if(t.promotion_title)return t.promotion_title;if(t.is_on_sale&&t.regular_price>0&&t.sale_price>0){const s=Math.round(100*(1-t.sale_price/t.regular_price));return s>0?`${this.discountLabel} ${s}%`:null}return null}formatDate(t){const s=new Date(1e3*t),a=String(s.getMonth()+1).padStart(2,"0"),e=String(s.getDate()).padStart(2,"0");return`${s.getFullYear()}-${a}-${e}`}getSkeletonView(){return s(a,{class:"s-basket-gap-entry"},s("div",{class:"s-basket-gap-skeleton"},s("salla-skeleton",{height:"16px",width:"40%",style:{marginBottom:"16px"}}),Array(3).fill(null).map(((t,a)=>s("div",{key:a,class:"s-basket-gap-skeleton-card"},s("salla-skeleton",{height:"64px",width:"64px",style:{borderRadius:"8px",flexShrink:"0"}}),s("div",{class:"s-basket-gap-skeleton-info"},s("salla-skeleton",{height:"14px",width:"50%"}),s("salla-skeleton",{height:"12px",width:"25%",style:{marginTop:"6px"}}),s("salla-skeleton",{height:"10px",width:"35%",style:{marginTop:"4px"}})),s("salla-skeleton",{height:"36px",width:"100px",style:{borderRadius:"6px",flexShrink:"0",marginInlineStart:"auto"}}))))))}getProductCard(t){const a=this.getDiscountLabel(t);return s("div",{key:t.id,class:"s-basket-gap-card"},s("a",{href:t.url,class:"s-basket-gap-card-image"},s("img",{class:"lazy",src:this.placeholder,"data-src":t.image?.url,alt:t.image?.alt||t.name})),s("div",{class:"s-basket-gap-card-info"},s("h3",{class:"s-basket-gap-card-name"},s("a",{href:t.url},t.name)),t.is_on_sale?s("div",{class:"s-basket-gap-card-sale-price"},s("span",{innerHTML:salla.money(t.sale_price)}),s("del",{innerHTML:salla.money(t.regular_price)})):s("span",{class:"s-basket-gap-card-price",innerHTML:salla.money(t.price)}),t.weight_label&&s("span",{class:"s-basket-gap-card-weight"},this.weightLabel," ",t.weight_label)),s("div",{class:"s-basket-gap-card-actions"},(t.promotion_title||t.discount_ends||t.is_on_sale)&&s("div",{class:"s-basket-gap-card-offer"},s("i",{class:"sicon-gift"}),a&&s("span",null,a),t.discount_ends&&[s("salla-count-down",{date:this.formatDate(t.discount_ends),"end-of-day":!0,digits:"en","auto-segments":!0}),s("i",{class:"sicon-alarm"})]),s("salla-add-product-button",{class:"s-basket-gap-card-btn","product-id":t.id,"product-status":t.status,"product-type":t.type},this.addToCartLabel)))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.products.length?s(a,{class:"s-basket-gap-entry"},this.title&&s("h2",{class:"s-basket-gap-title"},this.title),s("div",{class:"s-basket-gap-list"},this.products.map((t=>this.getProductCard(t))))):null:null}get host(){return e(this)}};l.style=":host{display:block}";export{l as salla_basket_gap}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as s,h as l,H as t}from"./p-BICKbbaT.js";const i=class{constructor(l){s(this,l),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?l(t,{class:"s-fulfillment-methods"},l("div",{class:"s-fulfillment-methods-list"},this.methods.map((s=>l("div",{key:s.id,class:"s-fulfillment-methods-card"},l("div",{class:"s-fulfillment-methods-content"},l("div",{class:"s-fulfillment-methods-icon-wrap"},l("i",{class:`${s.iconClass} s-fulfillment-methods-icon`})),l("div",{class:"s-fulfillment-methods-text"},l("span",{class:"s-fulfillment-methods-title"},s.title),l("span",{class:"s-fulfillment-methods-subtitle"},s.subtitle)))))))):null}};export{i as salla_fulfillment_methods}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,c as e,h as s,H as i,a}from"./p-BICKbbaT.js";import{L as l}from"./p-BO5AoBAP.js";var r={light:[{featureType:"water",elementType:"geometry",stylers:[{color:"#e9e9e9"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffffff"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#ffffff"},{lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:18}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:21}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}],dark:[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#263c3f"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#6b9a76"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#38414e"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#212a37"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#9ca5b3"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#746855"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#1f2835"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#f3d19c"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2f3948"}]},{featureType:"transit.station",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#17263c"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#515c6d"}]},{featureType:"water",elementType:"labels.text.stroke",stylers:[{color:"#17263c"}]}]};class o{constructor(t=null,e={}){if(this.apiKey=t,this.options=e,"undefined"==typeof window)throw new Error("google-maps is supported only in browser environment")}load(){return void 0!==this.api?Promise.resolve(this.api):void 0!==this.loader?this.loader:(window[o.CALLBACK_NAME]=()=>{if(this.api=window.google,void 0===this.resolve)throw new Error("Should not happen");this.resolve(this.api)},window.gm_authFailure=()=>{if(void 0===this.reject)throw new Error("Should not happen");this.reject(new Error("google-maps: authentication error"))},this.loader=new Promise(((t,e)=>{this.resolve=t,this.reject=e;const s=document.createElement("script");s.src=this.createUrl(),s.async=!0,s.onerror=t=>e(t),document.head.appendChild(s)})))}createUrl(){const t=[`callback=${o.CALLBACK_NAME}`];this.apiKey&&t.push(`key=${this.apiKey}`);for(let e in this.options)if(this.options.hasOwnProperty(e)){let s=this.options[e];"version"===e&&(e="v"),"libraries"===e&&(s=s.join(",")),t.push(`${e}=${s}`)}return`https://maps.googleapis.com/maps/api/js?${t.join("&")}`}}o.CALLBACK_NAME="_dk_google_maps_loader_cb";const h=class{constructor(s){t(this,s),this.selected=e(this,"selected"),this.mapClicked=e(this,"mapClicked"),this.currentLocationChanged=e(this,"currentLocationChanged"),this.invalidInput=e(this,"invalidInput"),this.defaultLat=21.419421,this.defaultLng=39.82553,this.modalActivityTitle=salla.lang.get("pages.checkout.select_your_address_from_map"),this.confirmButtonTitle=salla.lang.get("pages.checkout.confirm_address"),this.locateButtonTitle=salla.lang.get("pages.cart.detect_location"),this.locateButtonEdit=salla.lang.get("common.elements.edit"),this.searchPlaceholder=salla.lang.get("pages.checkout.search_for_address"),this.searchInputValue=null,this.formattedAddress="",this.geolocationError=!1,this.name="location",this.required=!1,this.readonly=!1,this.searchable=!1,this.zoom=10,this.theme="light",salla.lang.onLoaded((()=>{this.modalActivityTitle=salla.lang.get("pages.checkout.select_your_address_from_map"),this.confirmButtonTitle=salla.lang.get("pages.checkout.confirm_address"),this.locateButtonTitle=salla.lang.get("pages.cart.detect_location"),this.locateButtonEdit=salla.lang.get("common.elements.edit"),this.searchPlaceholder=salla.lang.get("pages.checkout.search_for_address")})),salla.onReady((()=>{this.apiKey=salla.config.get("store.settings.keys.maps")}))}formatAddress(t){return t.length>25?t.substring(0,25)+"...":t}hasCoordinate(t){if(null==t)return!1;if("number"==typeof t)return Number.isFinite(t);const e=String(t).trim();return""!==e&&Number.isFinite(Number(e))}getLatLng(){const t=this.hasCoordinate(this.selectedLat)?this.selectedLat:this.lat,e=this.hasCoordinate(this.selectedLng)?this.selectedLng:this.lng;return this.hasCoordinate(t)&&this.hasCoordinate(e)?`${t}, ${e}`:""}syncMapInputValue(){this.mapInput&&(this.mapInput.value=this.getLatLng(),this.mapInput.setCustomValidity(""))}focusLocateControl(){const t=this.host.querySelector(".s-map-location-button");t?.focus?.()}componentWillLoad(){this.hasCoordinate(this.lat)&&this.hasCoordinate(this.lng)&&(this.selectedLat=this.lat,this.selectedLng=this.lng)}getPositionAddress(t,e=!1){(new google.maps.Geocoder).geocode({location:t},((t,s)=>{s===google.maps.GeocoderStatus.OK&&(this.searchable&&(this.searchInputValue=t[0].formatted_address,this.searchInput.value=t[0].formatted_address),e&&(this.formattedAddress=t[0].formatted_address))}))}initGoogleMaps(t,e){new o(this.apiKey,t).load().then((t=>{if(this.map=new t.maps.Map(e,{center:this.lat||this.lng?{lat:this.lat,lng:this.lng}:{lat:this.defaultLat,lng:this.defaultLng},zoom:this.zoom,zoomControl:!0,mapTypeControl:!1,scaleControl:!1,streetViewControl:!1,rotateControl:!1,fullscreenControl:!1,disableDefaultUI:!1}),this.map.setOptions({styles:"light"===this.theme?r.light:r.dark}),this.marker=new t.maps.Marker({position:this.map.getCenter(),map:this.map,icon:{url:"data:image/svg+xml;utf8,"+encodeURIComponent('<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect width="36" height="36" rx="18" fill="#5CD5C4"/>\n<path d="M18 10C17.0104 10 16.1458 10.1771 15.4062 10.5312C14.6562 10.8854 14.026 11.3542 13.5156 11.9375C13.0156 12.5104 12.6406 13.1667 12.3906 13.9062C12.1302 14.6458 12 15.401 12 16.1719C12 16.8906 12.2604 17.7656 12.7812 18.7969C13.3021 19.8281 13.8854 20.8333 14.5312 21.8125C15.1875 22.7812 15.8073 23.6406 16.3906 24.3906C16.9844 25.1302 17.349 25.5885 17.4844 25.7656C17.5469 25.8385 17.625 25.8958 17.7188 25.9375C17.8125 25.9792 17.9062 26 18 26C18.1042 26 18.1979 25.9792 18.2812 25.9375C18.375 25.8958 18.4531 25.8385 18.5156 25.7656C18.651 25.5885 19.0156 25.1302 19.6094 24.3906C20.1927 23.6406 20.8073 22.7812 21.4531 21.8125C22.1094 20.8333 22.6979 19.8281 23.2188 18.7969C23.7396 17.7656 24 16.8906 24 16.1719C24 15.401 23.8698 14.6458 23.6094 13.9062C23.3594 13.1667 22.9792 12.5104 22.4688 11.9375C21.9688 11.3542 21.3438 10.8854 20.5938 10.5312C19.8542 10.1771 18.9896 10 18 10ZM18 24.2812C17.5833 23.75 17.1094 23.1198 16.5781 22.3906C16.0365 21.651 15.526 20.901 15.0469 20.1406C14.5677 19.3698 14.1615 18.6302 13.8281 17.9219C13.4948 17.2135 13.3281 16.6302 13.3281 16.1719C13.3281 15.5885 13.4219 15.0052 13.6094 14.4219C13.7969 13.849 14.0781 13.3333 14.4531 12.875C14.8385 12.4167 15.3281 12.0469 15.9219 11.7656C16.5052 11.474 17.1979 11.3281 18 11.3281C18.8021 11.3281 19.4948 11.474 20.0781 11.7656C20.6719 12.0469 21.1562 12.4167 21.5312 12.875C21.9167 13.3333 22.2031 13.849 22.3906 14.4219C22.5781 15.0052 22.6719 15.5885 22.6719 16.1719C22.6719 16.6302 22.5052 17.2135 22.1719 17.9219C21.8385 18.6302 21.4323 19.3698 20.9531 20.1406C20.474 20.901 19.9688 21.651 19.4375 22.3906C18.8958 23.1198 18.4167 23.75 18 24.2812ZM18 13.3281C17.2604 13.3281 16.6302 13.5885 16.1094 14.1094C15.5885 14.6302 15.3281 15.2604 15.3281 16C15.3281 16.7396 15.5885 17.3698 16.1094 17.8906C16.6302 18.4115 17.2604 18.6719 18 18.6719C18.7396 18.6719 19.3698 18.4115 19.8906 17.8906C20.4115 17.3698 20.6719 16.7396 20.6719 16C20.6719 15.2604 20.4115 14.6302 19.8906 14.1094C19.3698 13.5885 18.7396 13.3281 18 13.3281ZM18 17.3281C17.6354 17.3281 17.3229 17.1979 17.0625 16.9375C16.8021 16.6771 16.6719 16.3646 16.6719 16C16.6719 15.6354 16.8021 15.3229 17.0625 15.0625C17.3229 14.8021 17.6354 14.6719 18 14.6719C18.3646 14.6719 18.6771 14.8021 18.9375 15.0625C19.1979 15.3229 19.3281 15.6354 19.3281 16C19.3281 16.3646 19.1979 16.6771 18.9375 16.9375C18.6771 17.1979 18.3646 17.3281 18 17.3281Z" fill="white"/>\n</svg>\n'),scaledSize:new t.maps.Size(30,30)}}),this.searchable){const e=new t.maps.places.SearchBox(this.searchInput);t.maps.event.addListener(e,"places_changed",(()=>{const t=e.getPlaces();t.length>0&&this.map&&(this.map.setCenter(t[0].geometry.location),this.lat=t[0].geometry.location.lat(),this.lng=t[0].geometry.location.lng(),this.marker.setPosition(t[0].geometry.location),this.searchInputValue=t[0].formatted_address,this.formattedAddress=t[0].formatted_address)}))}t.maps.event.addListener(this.map,"click",(t=>{this.readonly||(this.marker.setPosition(t.latLng),this.lat=t.latLng.lat(),this.lng=t.latLng.lng(),this.getPositionAddress(t.latLng),this.mapClicked.emit({lat:t.latLng.lat(),lng:t.latLng.lng(),address:this.formattedAddress?this.formattedAddress:null}))})),this.lat||this.lng||(this.getCurrentLocation(),this.geolocationError&&(this.map.setCenter({lat:this.lat,lng:this.lng}),this.marker.setPosition({lat:this.lat,lng:this.lng})))}))}getCurrentLocation(){navigator.geolocation&&this.map?navigator.geolocation.getCurrentPosition((t=>{const e={center:new google.maps.LatLng(t.coords.latitude,t.coords.longitude),zoom:15};this.map.setOptions(e),this.marker.setPosition(e.center),this.getPositionAddress(e.center),this.lat=t.coords.latitude,this.lng=t.coords.longitude,this.currentLocationChanged.emit({lat:t.coords.latitude,lng:t.coords.longitude,address:this.formattedAddress?this.formattedAddress:null})}),this.handleLocationError.bind(this)):(salla.log("Geolocation is not supported by this browser."),this.geolocationError=!0)}handleLocationError(t){switch(this.geolocationError=!0,t.code){case t.PERMISSION_DENIED:salla.log("User denied the request for Geolocation.");break;case t.POSITION_UNAVAILABLE:salla.log("Location information is unavailable.");break;case t.TIMEOUT:salla.log("The request to get user location timed out.");break;case t.UNKNOWN_ERROR:salla.log("An unknown error occurred.")}}componentDidLoad(){this.syncMapInputValue(),this.hasCoordinate(this.lat)&&this.hasCoordinate(this.lng)&&fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${this.lat},${this.lng}&key=${this.apiKey}&language=${salla.config.get("user.language_code")||document.documentElement.lang||"ar"}`).then((t=>t.json())).then((t=>{"OK"===t.status&&(this.formattedAddress=t.results[0].formatted_address,this.searchInputValue=t.results[0].formatted_address,this.searchInput&&(this.searchInput.value=t.results[0].formatted_address),this.selectedLng=this.lng,this.selectedLat=this.lat,this.syncMapInputValue())})),this.mapInput.addEventListener("invalid",(t=>{t.preventDefault(),this.host.classList.add("s-has-error"),this.focusLocateControl(),this.invalidInput.emit(t)})),this.mapInput.addEventListener("input",(()=>{this.mapInput.setCustomValidity(""),this.host.classList.remove("s-has-error")}))}async reportValidity(){return this.syncMapInputValue(),!this.mapInput||!this.required||this.readonly||this.getLatLng()?(this.mapInput?.setCustomValidity(""),this.host.classList.remove("s-has-error"),!0):this.mapInput.reportValidity()}async open(){return this.map||this.initGoogleMaps({libraries:this.searchable?["places","search"]:[],language:salla.config.get("user.language_code")||document.documentElement.lang||"ar"},this.mapElement),await this.locationModal.open()}getLocationModal(){return s("div",null,s("div",{class:"s-map-modal-title"},this.modalTitle?this.modalTitle:this.modalActivityTitle),s("div",{class:"s-map-modal-body"},s("div",{class:"s-map-element",ref:t=>this.mapElement=t}),this.readonly?"":[this.searchable&&s("div",{class:"s-map-search-wrapper"},s("input",{class:"s-map-search-input",ref:t=>this.searchInput=t,placeholder:this.searchPlaceholder})),s("salla-button",{class:"s-map-my-location-button",onClick:()=>{this.getCurrentLocation()},shape:"icon",color:"primary"},s("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>location-target</title>\n<path d="M16 9.333c-3.676 0-6.667 2.991-6.667 6.667s2.991 6.667 6.667 6.667 6.667-2.991 6.667-6.667-2.991-6.667-6.667-6.667zM16 20c-2.205 0-4-1.795-4-4s1.795-4 4-4 4 1.795 4 4-1.795 4-4 4zM30.667 14.667h-1.401c-0.627-6.289-5.643-11.305-11.932-11.932v-1.401c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333v1.401c-6.289 0.627-11.305 5.643-11.932 11.932h-1.401c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h1.401c0.628 6.289 5.643 11.305 11.932 11.932v1.401c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-1.401c6.289-0.628 11.305-5.643 11.932-11.932h1.401c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333zM16 26.667c-5.881 0-10.667-4.785-10.667-10.667s4.785-10.667 10.667-10.667 10.667 4.785 10.667 10.667-4.785 10.667-10.667 10.667z"></path>\n</svg>\n'})),s("salla-button",{class:"s-map-submit-button",color:"primary",width:"wide",onClick:()=>{let t={lat:this.lat,lng:this.lng,address:this.formattedAddress?this.formattedAddress:null};salla.event.emit("salla-map::selected",t),this.selected.emit(t),this.selectedLat=t.lat,this.selectedLng=t.lng,this.getPositionAddress(new google.maps.LatLng(t.lat,t.lng),!0),this.syncMapInputValue(),this.host.classList.remove("s-has-error"),this.mapInput.dispatchEvent(new window.Event("change",{bubbles:!0})),this.locationModal.close()}},this.confirmButtonTitle)]))}render(){return s(i,{key:"20ed1a1d4099e817164c3764341d473c1b735add",class:"s-map-wrapper"},s("salla-modal",{key:"77309d82d11bbae677a935aef0e02588c5f9fbfa",class:"s-map-modal-wrapper",noPadding:!0,ref:t=>{this.locationModal=t}},this.getLocationModal()),s("slot",{key:"57e6d352f42a3321a98925dd4136eaf0fdbb06b0",name:"button"},s("salla-button",{key:"a0c39395b18ca41f2ea31c5c5729b2ba20c17a16",onClick:()=>{this.open()},color:"primary",class:"s-map-location-button"},s("span",{key:"b9478a06c198812edeacab794fb63699ea72fd6b",class:"s-map-location-icon",innerHTML:this.formattedAddress?'\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>edit</title>\n<path d="M30.583 1.417c-1.828-1.829-5.019-1.829-6.847 0l-13.396 13.396c-0.161 0.161-0.279 0.361-0.341 0.581l-1.949 6.911c-0.131 0.464 0 0.964 0.341 1.305 0.253 0.252 0.593 0.389 0.943 0.389 0.121 0 0.243-0.016 0.361-0.051l6.911-1.949c0.22-0.061 0.419-0.179 0.581-0.34l10.455-10.453s0 0 0 0l2.941-2.941c1.887-1.888 1.887-4.96 0-6.848zM15.547 19.528l-4.284 1.208 1.208-4.284 9.265-9.265 3.076 3.076zM28.696 6.38l-1.999 1.999-3.076-3.076 1.999-1.999c0.849-0.848 2.227-0.848 3.076 0 0.848 0.848 0.848 2.227 0 3.076zM24 20c-0.737 0-1.333 0.597-1.333 1.333v4c0 2.205-1.795 4-4 4h-12c-2.205 0-4-1.795-4-4v-12c0-2.205 1.795-4 4-4h4c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333h-4c-3.676 0-6.667 2.991-6.667 6.667v12c0 3.676 2.991 6.667 6.667 6.667h12c3.676 0 6.667-2.991 6.667-6.667v-4c0-0.736-0.596-1.333-1.333-1.333z"></path>\n</svg>\n':l}),this.formattedAddress?s("div",null,this.locateButtonEdit," | ",this.formatAddress(this.formattedAddress)):this.locateButtonTitle)),s("input",{key:"d1619a934c72218d4d00b651e95743ad8d14a7a2",class:"s-map-value-input",name:this.name,required:this.required,value:this.getLatLng(),tabIndex:-1,"aria-hidden":"true",ref:t=>this.mapInput=t}))}get host(){return a(this)}};h.style=".s-map-wrapper{position:relative}.s-map-value-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;opacity:0;pointer-events:none}.s-map-wrapper.s-has-error .s-map-location-button{outline:2px solid rgb(248, 113, 113);outline-offset:2px}";const n=class{constructor(e){t(this,e),this.height="10px";try{if(this.donation){let t="string"==typeof this.donation?JSON.parse(this.donation):this.donation;t.can_donate&&t.target_amount?(t.target_end_date="0000-00-00"==t.target_end_date?null:t.target_end_date,this.value=t.collected_amount,this.target=t.target_amount,this.header=salla.lang.get("pages.products.target"),this.message=t.target_end_date?salla.lang.get("pages.products.donation_target_date")+" "+t.target_end_date:""):this.message=t.target_amount?t.target_message:""}}catch(t){salla.log("Wrong donation json")}salla.lang.onLoaded((()=>{this.header=this.header?.replace("pages.products.target",salla.lang.get("pages.products.target")),this.message=this.message?.replace("pages.products.donation_target_date",salla.lang.get("pages.products.donation_target_date"))})),salla.onReady((()=>{this.color=this.color||salla.config.get("theme.color.primary","#ffd5c4"),this.unit||(this.unit=salla.config.currency().symbol)}))}getPercentage(){return this.value/this.target*100}render(){return this.target||this.message?s("div",{class:"s-progress-bar-container"},this.header?s("div",{class:"s-progress-bar-header"},this.header):"",this.getProgressBar(),this.message?s("span",{class:"s-progress-bar-message"},this.message):""):""}getProgressBar(){return this.target?[this.hideUnits?null:s("div",{class:"s-progress-bar-target-section"},s("span",{innerHTML:`${salla.helpers.number(this.value)} ${this.unit}`}),s("span",{innerHTML:`${salla.helpers.number(this.target)} ${this.unit}`})),s("div",{class:"s-progress-bar-wrapper",style:{height:this.height}},s("div",{class:{"s-progress-bar-progress":!0,"s-progress-bar-progress-stripped":this.stripped},style:{width:`${this.getPercentage()}%`,backgroundColor:this.color}}))]:null}};n.style="";export{h as salla_map,n as salla_progress_bar}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as s,h as t,c as e,a}from"./p-BICKbbaT.js";const c=class{constructor(t){s(this,t),this.isSelected=!1}async getChild(){return{selected:this.selected.bind(this),unselect:this.unselect.bind(this),name:this.name}}unselect(){this.isSelected=!1}selected(){this.isSelected=!0}render(){return t("div",{key:"f5cfa9676bc8314149cb78e103b9ef580c0d7559",class:{"s-tabs-content":!0,"s-tabs-content-selected":this.isSelected}},t("slot",{key:"1b86591377c09f1acb25cda20024b3af9c6a874d"}))}};c.style="";const i=class{constructor(t){s(this,t),this.tabSelected=e(this,"tabSelected"),this.id=Math.random().toString(36).slice(2,10),this.activeClass=void 0,this.height=void 0,this.centered=!1,this.isSelected=!1}async getChild(){return{selected:this.selected.bind(this),unselect:this.unselect.bind(this),name:this.name,id:this.id}}unselect(){this.isSelected=!1}selected(){this.isSelected=!0}onClick(){this.getChild().then((s=>{this.tabSelected.emit(s)}))}render(){return[t("div",{key:"a9548ed2a74d30e6fcf365dbe26aa5f7fdab2468",class:{"s-tabs-header-item":!0,"s-tabs-bg-normal":!0,"s-tabs-active":this.isSelected},onClick:this.onClick.bind(this)},t("slot",{key:"547edd40aab5843c6035bd3c36a34d9449dc12d3"}))]}};i.style="";const h=class{constructor(t){s(this,t),this.backgroundColor=void 0,this.vertical=!1}componentWillLoad(){this.createGroup().then((()=>{const[s]=this.tabGroup;this.selectGroup(s)}))}onSelectedTab(s){const t=this.tabGroup.find((t=>t.header.id===s.detail.id));this.selectGroup(t)}async createGroup(){const s=Array.from(this.host.querySelectorAll("salla-tab-header"));this.tabsHeader=await Promise.all(s.map((async s=>await s.getChild())));const t=Array.from(this.host.querySelectorAll("salla-tab-content"));this.tabsContent=await Promise.all(t.map((async s=>await s.getChild()))),this.tabGroup=this.tabsHeader.map((s=>{const t=this.tabsContent.find((t=>t.name===s.name));return{header:s,content:t}}))}selectGroup(s){this.tabGroup.map((s=>{s.header.unselect(),s.content.unselect()})),s.header.selected(),s.content.selected()}render(){return[t("div",{key:"e9054cb114c2bd66940b6afa98d7c7c230353a74",class:"s-tabs"},t("div",{key:"d245f64aef9b7fd77c9c51eb1d86ddfd9202e5fb",class:"s-tabs-header"},t("slot",{key:"f1b9a982cd746d637db5d514cb691f188af0cb7e",name:"header"})),t("div",{key:"0ba8441707b087a8c4d068b1a72bf10c8efb41cc",class:"s-tabs-content-wrapper"},t("slot",{key:"afcee28724a5a9ce263fcc3a38d624a631069945",name:"content"})))]}get host(){return a(this)}};h.style=".s-tabs-header{-ms-overflow-style:none;scrollbar-width:none;}.s-tabs-header::-webkit-scrollbar{display:none}";export{c as salla_tab_content,i as salla_tab_header,h as salla_tabs}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as e,h as a,H as t,a as n}from"./p-BICKbbaT.js";import{S as i}from"./p-8Tsmrwno.js";const r=class{constructor(a){e(this,a)}componentWillLoad(){this.title=salla.config.get("maintenance_details.title"),this.message=salla.config.get("maintenance_details.message");const e="undefined"!=typeof window&&!window.matchMedia("(min-width: 768px)").matches;this.buttonTitle=e?salla.config.get("maintenance_details.button_title"):salla.config.get("maintenance_details.button_full_title")}closeAlert(){salla.storage.set("hide_salla-maintenance-alert_at",Date.now()),this.host.style.display="none"}render(){return a(t,{key:"e27395e05c81dcaa9c105208997ce5cbf3b8fbb2",class:"s-maintenance-alert-wrapper"},a("button",{key:"278105559b3001246e829d57e13a54ed067e629e",class:"s-maintenance-alert-close",innerHTML:i,onClick:()=>this.closeAlert()}),a("div",{key:"643ab2c22dbfa44f51a267ab098154ea19ffd6b4",class:"s-maintenance-alert-content"},a("div",{key:"15d0f8369577ff359db19ad95adf49df717df960",class:"s-maintenance-alert-container"},a("div",{key:"10839c38008ae904678d3e4e815d669a4112d0ca",class:"s-maintenance-alert-icon"},a("img",{key:"b9853fd903db772180f3bc4435c604dc5640d409",src:salla.url.cdn("images/alert.png"),alt:"Alert"})),a("div",{key:"e7dac10cd9677094ef30708dbb30b94075d13380",class:"s-maintenance-alert-text"},a("h2",{key:"476e13b23928a0633d78a9897d084a95e48085a7"},this.title),a("p",{key:"8d44c1bff80ec334bf3ba8678201630172c0188d"},this.message))),a("div",{key:"958b4fef3310ae507df1871386bfe4e1d464a6b7"},a("a",{key:"c20313b563098396a96aa07e76852cd72662ca71",class:"s-maintenance-alert-btn",href:salla.config.get("maintenance_details.button_url")},this.buttonTitle))))}componentDidLoad(){let e=salla.storage.get("hide_salla-maintenance-alert_at");e&&(Date.now()-e)/1e3/60<60&&this.closeAlert()}get host(){return n(this)}};r.style=".s-maintenance-alert-wrapper{display:flex;min-height:40px;width:100%;flex-direction:row;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgba(26, 38, 61, var(--tw-bg-opacity));padding:0.25rem 0.5rem;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.s-maintenance-alert-wrapper a{transition:0.35s cubic-bezier(0.2, 1, 0.3, 1)}.s-maintenance-alert-wrapper *{color:inherit}@media (min-width: 640px){.s-maintenance-alert-wrapper{padding-left:2rem;padding-right:2rem}}.s-maintenance-alert-content{margin-top:1rem;margin-bottom:1rem;display:flex;width:100%;align-items:center;justify-content:space-between}@media (min-width: 640px){.s-maintenance-alert-content{padding-left:2rem;padding-right:2rem}}.s-maintenance-alert-container{display:flex;align-items:center}.s-maintenance-alert-icon{margin-right:1.25rem;display:none}@media (min-width: 640px){.s-maintenance-alert-icon{display:block}}.s-maintenance-alert-text h2{margin-bottom:0.5rem;font-size:0.875rem;font-weight:700;line-height:1.4}@media (min-width: 640px){.s-maintenance-alert-text h2{font-size:1.5rem;line-height:2rem}}.s-maintenance-alert-text p{margin:0px;text-align:right;font-size:10px;line-height:1.2}@media (min-width: 640px){.s-maintenance-alert-text p{text-align:center;font-size:0.75rem;line-height:1}}.s-maintenance-alert-btn{position:relative;margin-left:4px;margin-right:4px;display:inline-block;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;border-radius:0.125rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(93, 213, 196, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(93, 213, 196, var(--tw-bg-opacity));padding:0.5rem;text-align:center;vertical-align:middle;font-size:0.875rem;font-weight:400;line-height:1.4;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.s-maintenance-alert-btn:hover{--tw-bg-opacity:1;background-color:rgba(53, 203, 181, var(--tw-bg-opacity))}.s-maintenance-alert-btn *{pointer-events:none}[dir=rtl] .s-maintenance-alert-btn{margin-left:1.25rem;margin-right:0}@media (min-width: 640px){.s-maintenance-alert-btn{padding:0.5rem 1rem}}";export{r as salla_maintenance_alert}