@salla.sa/twilight-components 3.0.25 → 3.0.26

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 (368) hide show
  1. package/dist/cjs/{Helper-BSFw7uVh.js → Helper-Di1G8EnP.js} +1 -1
  2. package/dist/cjs/{filepond-DzJcpvBM.js → filepond-DU_-t59i.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-poster-BILkbyw_.js → filepond-plugin-file-poster-CYpSqb6i.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-size-DIJUAZji.js → filepond-plugin-file-validate-size-a_tUhUBx.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-type-4lpOf3hf.js → filepond-plugin-file-validate-type-D_X7irXu.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-edit-DtE3Wj_4.js → filepond-plugin-image-edit-BRP3GZ31.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-exif-orientation-Dc_jwifJ.js → filepond-plugin-image-exif-orientation-CiHIpg-4.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-preview-D_8qt0dd.js → filepond-plugin-image-preview-CKT6x8T1.js} +1 -1
  9. package/dist/cjs/{index-D0d25H-r.js → index-BLPUgwXq.js} +6 -6
  10. package/dist/cjs/info-Do5bVPmK.js +13 -0
  11. package/dist/cjs/{intlTelInput-DqmuleM6.js → intlTelInput-CyL5UDfU.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +2 -2
  13. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
  15. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +2 -2
  16. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-alert_2.cjs.entry.js +3 -9
  18. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-applied-filters.cjs.entry.js +2 -2
  20. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
  22. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +120 -5
  28. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-comment-form_9.cjs.entry.js +2 -2
  31. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  39. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  40. package/dist/cjs/salla-free-shipping-banner.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-free-shipping-tag.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
  47. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-mobile-update-modal.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
  67. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-order-items.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-order-payment.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-order-rewards.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-order-totals-card.cjs.entry.js +27 -6
  84. package/dist/cjs/salla-orders.cjs.entry.js +2 -2
  85. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-products-list.cjs.entry.js +2 -2
  92. package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +2 -2
  95. package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
  96. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  101. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-thank-you-header.cjs.entry.js +1 -1
  106. package/dist/cjs/salla-thank-you-page.cjs.entry.js +1 -1
  107. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  108. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  109. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  110. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  111. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  112. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  113. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  114. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  115. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +2 -2
  116. package/dist/cjs/twilight.cjs.js +2 -2
  117. package/dist/cjs/{vanilla-picker-DP9Hy8IR.js → vanilla-picker-C9AVuYe1.js} +1 -1
  118. package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.css +152 -59
  119. package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.js +123 -4
  120. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.css +3 -0
  121. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +25 -4
  122. package/dist/components/index.js +2 -2
  123. package/dist/components/info.js +11 -0
  124. package/dist/components/salla-bottom-alert.js +2 -8
  125. package/dist/components/salla-cart-summary-card.js +124 -5
  126. package/dist/components/salla-order-totals-card.js +26 -5
  127. package/dist/docs.json +3 -3
  128. package/dist/esm/{Helper-DmnUAusv.js → Helper-CFEqaSN-.js} +1 -1
  129. package/dist/esm/{filepond-DZbzdjkK.js → filepond-BfW_OXid.js} +1 -1
  130. package/dist/esm/{filepond-plugin-file-poster-D9cjvoj-.js → filepond-plugin-file-poster-CsMiL-wZ.js} +1 -1
  131. package/dist/esm/{filepond-plugin-file-validate-size-D-kjllC-.js → filepond-plugin-file-validate-size-BuxVUFKn.js} +1 -1
  132. package/dist/esm/{filepond-plugin-file-validate-type-D9hsNaJl.js → filepond-plugin-file-validate-type-Dq94isoe.js} +1 -1
  133. package/dist/esm/{filepond-plugin-image-edit-CDHAxJY8.js → filepond-plugin-image-edit-CEVstXlA.js} +1 -1
  134. package/dist/esm/{filepond-plugin-image-exif-orientation-BGKiclwK.js → filepond-plugin-image-exif-orientation-BhViRs-X.js} +1 -1
  135. package/dist/esm/{filepond-plugin-image-preview-BUjvnt8G.js → filepond-plugin-image-preview-BrscXNqJ.js} +1 -1
  136. package/dist/esm/{index-ze9e0dxM.js → index-g-_4am8C.js} +6 -6
  137. package/dist/esm/info-OdOOjQZO.js +11 -0
  138. package/dist/esm/{intlTelInput-BkYRB6km.js → intlTelInput-PsSXBr__.js} +1 -1
  139. package/dist/esm/loader.js +3 -3
  140. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  141. package/dist/esm/salla-accordion_6.entry.js +2 -2
  142. package/dist/esm/salla-add-product-button_5.entry.js +2 -2
  143. package/dist/esm/salla-advertisement.entry.js +1 -1
  144. package/dist/esm/salla-alert_2.entry.js +3 -9
  145. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  146. package/dist/esm/salla-applied-filters.entry.js +2 -2
  147. package/dist/esm/salla-apps-icons.entry.js +1 -1
  148. package/dist/esm/salla-attachment-view_9.entry.js +11 -11
  149. package/dist/esm/salla-badge.entry.js +1 -1
  150. package/dist/esm/salla-basket-gap.entry.js +1 -1
  151. package/dist/esm/salla-bullet-delivery_3.entry.js +1 -1
  152. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  153. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  154. package/dist/esm/salla-cart-summary-card.entry.js +120 -5
  155. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  156. package/dist/esm/salla-comment-factors.entry.js +1 -1
  157. package/dist/esm/salla-comment-form_9.entry.js +2 -2
  158. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  159. package/dist/esm/salla-contacts.entry.js +1 -1
  160. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  161. package/dist/esm/salla-count-down.entry.js +1 -1
  162. package/dist/esm/salla-custom-fields.entry.js +1 -1
  163. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  164. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  165. package/dist/esm/salla-filters-widget.entry.js +2 -2
  166. package/dist/esm/salla-filters.entry.js +2 -2
  167. package/dist/esm/salla-free-shipping-banner.entry.js +1 -1
  168. package/dist/esm/salla-free-shipping-tag.entry.js +1 -1
  169. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  170. package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
  171. package/dist/esm/salla-gifting.entry.js +1 -1
  172. package/dist/esm/salla-hook.entry.js +1 -1
  173. package/dist/esm/salla-infinite-scroll.entry.js +2 -2
  174. package/dist/esm/salla-installment.entry.js +1 -1
  175. package/dist/esm/salla-list-tile.entry.js +1 -1
  176. package/dist/esm/salla-localization-modal.entry.js +1 -1
  177. package/dist/esm/salla-login-modal.entry.js +1 -1
  178. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  179. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  180. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  181. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  182. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  183. package/dist/esm/salla-loyalty.entry.js +1 -1
  184. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  185. package/dist/esm/salla-map_3.entry.js +1 -1
  186. package/dist/esm/salla-menu.entry.js +1 -1
  187. package/dist/esm/salla-metadata.entry.js +1 -1
  188. package/dist/esm/salla-mobile-update-modal.entry.js +1 -1
  189. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  190. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  191. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  192. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  193. package/dist/esm/salla-notification-item_2.entry.js +2 -2
  194. package/dist/esm/salla-offer-modal.entry.js +1 -1
  195. package/dist/esm/salla-offer.entry.js +1 -1
  196. package/dist/esm/salla-order-branch.entry.js +1 -1
  197. package/dist/esm/salla-order-cancel.entry.js +1 -1
  198. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  199. package/dist/esm/salla-order-details-options.entry.js +1 -1
  200. package/dist/esm/salla-order-details.entry.js +1 -1
  201. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  202. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  203. package/dist/esm/salla-order-edit.entry.js +1 -1
  204. package/dist/esm/salla-order-items.entry.js +1 -1
  205. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  206. package/dist/esm/salla-order-payment.entry.js +1 -1
  207. package/dist/esm/salla-order-rewards.entry.js +1 -1
  208. package/dist/esm/salla-order-shipments.entry.js +1 -1
  209. package/dist/esm/salla-order-summary.entry.js +1 -1
  210. package/dist/esm/salla-order-totals-card.entry.js +27 -6
  211. package/dist/esm/salla-orders.entry.js +2 -2
  212. package/dist/esm/salla-payments.entry.js +1 -1
  213. package/dist/esm/salla-placeholder.entry.js +1 -1
  214. package/dist/esm/salla-price-range.entry.js +1 -1
  215. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  216. package/dist/esm/salla-product-card.entry.js +1 -1
  217. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  218. package/dist/esm/salla-products-list.entry.js +2 -2
  219. package/dist/esm/salla-products-slider.entry.js +2 -2
  220. package/dist/esm/salla-quick-order.entry.js +1 -1
  221. package/dist/esm/salla-rating-modal-v2.entry.js +2 -2
  222. package/dist/esm/salla-rating-modal.entry.js +2 -2
  223. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  224. package/dist/esm/salla-review-order-item.entry.js +1 -1
  225. package/dist/esm/salla-scopes.entry.js +1 -1
  226. package/dist/esm/salla-search-product-card.entry.js +1 -1
  227. package/dist/esm/salla-search.entry.js +2 -2
  228. package/dist/esm/salla-skeleton.entry.js +1 -1
  229. package/dist/esm/salla-social-share.entry.js +1 -1
  230. package/dist/esm/salla-social.entry.js +1 -1
  231. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  232. package/dist/esm/salla-thank-you-header.entry.js +1 -1
  233. package/dist/esm/salla-thank-you-page.entry.js +1 -1
  234. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  235. package/dist/esm/salla-trust-badges.entry.js +1 -1
  236. package/dist/esm/salla-user-menu.entry.js +1 -1
  237. package/dist/esm/salla-user-profile.entry.js +1 -1
  238. package/dist/esm/salla-user-settings.entry.js +1 -1
  239. package/dist/esm/salla-verify.entry.js +1 -1
  240. package/dist/esm/salla-wallet.entry.js +1 -1
  241. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  242. package/dist/esm/salla-wishlist-summary.entry.js +2 -2
  243. package/dist/esm/twilight.js +3 -3
  244. package/dist/esm/{vanilla-picker-CxhuwWDi.js → vanilla-picker-D3lgt9go.js} +1 -1
  245. package/dist/twilight/{p-2dcd24fe.entry.js → p-02006b3a.entry.js} +1 -1
  246. package/dist/twilight/{p-67cf7454.entry.js → p-0207dae4.entry.js} +1 -1
  247. package/dist/twilight/{p-75f7f1d8.entry.js → p-025e30c7.entry.js} +1 -1
  248. package/dist/twilight/{p-97c5b11d.entry.js → p-058e4be3.entry.js} +1 -1
  249. package/dist/twilight/{p-dfde387f.entry.js → p-0ce6514e.entry.js} +1 -1
  250. package/dist/twilight/{p-474d882c.entry.js → p-0d94c90e.entry.js} +1 -1
  251. package/dist/twilight/{p-5b118b5b.entry.js → p-0e423424.entry.js} +1 -1
  252. package/dist/twilight/{p-a7566af2.entry.js → p-0f7db4a1.entry.js} +1 -1
  253. package/dist/twilight/{p-57fafaba.entry.js → p-12038aef.entry.js} +1 -1
  254. package/dist/twilight/{p-770142fe.entry.js → p-12dcb9a0.entry.js} +1 -1
  255. package/dist/twilight/{p-024ecda2.entry.js → p-14311053.entry.js} +1 -1
  256. package/dist/twilight/{p-e3dd9502.entry.js → p-151df172.entry.js} +1 -1
  257. package/dist/twilight/{p-8077d8b6.entry.js → p-152ac425.entry.js} +1 -1
  258. package/dist/twilight/{p-11eb8675.entry.js → p-1b6d84a8.entry.js} +1 -1
  259. package/dist/twilight/{p-78c04993.entry.js → p-1d31b983.entry.js} +1 -1
  260. package/dist/twilight/{p-7fffa509.entry.js → p-1dcbbbbf.entry.js} +1 -1
  261. package/dist/twilight/{p-ed96c703.entry.js → p-1df3fe4a.entry.js} +1 -1
  262. package/dist/twilight/{p-73649c81.entry.js → p-22271248.entry.js} +1 -1
  263. package/dist/twilight/{p-b6098938.entry.js → p-2834a4d3.entry.js} +1 -1
  264. package/dist/twilight/{p-9fe5c0f5.entry.js → p-2907057d.entry.js} +1 -1
  265. package/dist/twilight/{p-455a4702.entry.js → p-2d3b29d9.entry.js} +1 -1
  266. package/dist/twilight/{p-fb955257.entry.js → p-2db9ee05.entry.js} +1 -1
  267. package/dist/twilight/{p-2aa9147c.entry.js → p-2e4ce75b.entry.js} +1 -1
  268. package/dist/twilight/{p-bf5b5f52.entry.js → p-329b7cc2.entry.js} +1 -1
  269. package/dist/twilight/{p-7a985fe3.entry.js → p-3c2e7bef.entry.js} +1 -1
  270. package/dist/twilight/{p-9acfe389.entry.js → p-3fedd652.entry.js} +1 -1
  271. package/dist/twilight/{p-446e3f38.entry.js → p-4247db1a.entry.js} +1 -1
  272. package/dist/twilight/{p-d89328d7.entry.js → p-496f950b.entry.js} +1 -1
  273. package/dist/twilight/{p-0fd15433.entry.js → p-49cd89d1.entry.js} +1 -1
  274. package/dist/twilight/p-4b8bb969.entry.js +4 -0
  275. package/dist/twilight/{p-97fa91db.entry.js → p-5166cd84.entry.js} +1 -1
  276. package/dist/twilight/{p-dbb4db25.entry.js → p-5350ba07.entry.js} +1 -1
  277. package/dist/twilight/{p-c122e9c1.entry.js → p-54eec74a.entry.js} +1 -1
  278. package/dist/twilight/{p-93571975.entry.js → p-55861492.entry.js} +1 -1
  279. package/dist/twilight/{p-6d6b99fe.entry.js → p-6070b995.entry.js} +1 -1
  280. package/dist/twilight/{p-4c191ab4.entry.js → p-62a3394a.entry.js} +1 -1
  281. package/dist/twilight/{p-d300a117.entry.js → p-63c982e1.entry.js} +1 -1
  282. package/dist/twilight/{p-08be494e.entry.js → p-6432401e.entry.js} +1 -1
  283. package/dist/twilight/{p-e23b84bf.entry.js → p-64ae09b4.entry.js} +1 -1
  284. package/dist/twilight/{p-c6f09614.entry.js → p-685a61fa.entry.js} +1 -1
  285. package/dist/twilight/{p-7731e280.entry.js → p-710a42d2.entry.js} +1 -1
  286. package/dist/twilight/{p-d089ac6d.entry.js → p-72e13a12.entry.js} +1 -1
  287. package/dist/twilight/{p-d2396143.entry.js → p-73612f04.entry.js} +1 -1
  288. package/dist/twilight/{p-f054cf8e.entry.js → p-74602eb0.entry.js} +1 -1
  289. package/dist/twilight/{p-7790a9a1.entry.js → p-76e238b3.entry.js} +1 -1
  290. package/dist/twilight/{p-5ceda3d5.entry.js → p-78240cb3.entry.js} +1 -1
  291. package/dist/twilight/{p-331003bc.entry.js → p-78a7b46e.entry.js} +1 -1
  292. package/dist/twilight/{p-3a2ff4d6.entry.js → p-79f9403a.entry.js} +1 -1
  293. package/dist/twilight/{p-bd06c200.entry.js → p-7f4f300a.entry.js} +1 -1
  294. package/dist/twilight/{p-a865995d.entry.js → p-7fc9a0bf.entry.js} +1 -1
  295. package/dist/twilight/{p-e849f5ef.entry.js → p-8016f122.entry.js} +1 -1
  296. package/dist/twilight/{p-5e0f85ae.entry.js → p-801eb7d8.entry.js} +1 -1
  297. package/dist/twilight/{p-5d8937c5.entry.js → p-81ec67d8.entry.js} +1 -1
  298. package/dist/twilight/{p-89598ad3.entry.js → p-83a1123b.entry.js} +1 -1
  299. package/dist/twilight/{p-776f9492.entry.js → p-84b9416e.entry.js} +1 -1
  300. package/dist/twilight/{p-b297fe2e.entry.js → p-8783aa81.entry.js} +1 -1
  301. package/dist/twilight/{p-02b7dfcc.entry.js → p-87ba0ca2.entry.js} +1 -1
  302. package/dist/twilight/{p-bb137dbb.entry.js → p-8cbbe961.entry.js} +1 -1
  303. package/dist/twilight/{p-75ad7f14.entry.js → p-8ec7866e.entry.js} +1 -1
  304. package/dist/twilight/{p-45a7d444.entry.js → p-92cbac49.entry.js} +1 -1
  305. package/dist/twilight/{p-1ca39f1c.entry.js → p-93a85463.entry.js} +1 -1
  306. package/dist/twilight/{p-0c022fbd.entry.js → p-95f8caa0.entry.js} +1 -1
  307. package/dist/twilight/{p-ffc7f526.entry.js → p-965c3ee8.entry.js} +1 -1
  308. package/dist/twilight/{p-519cf4c2.entry.js → p-98b24f1d.entry.js} +1 -1
  309. package/dist/twilight/{p-BpJsOjKP.js → p-9h9-vkr9.js} +1 -1
  310. package/dist/twilight/{p-CNQaYCUJ.js → p-B6WlUws-.js} +1 -1
  311. package/dist/twilight/{p-C9ldyQUq.js → p-ByR59DTl.js} +2 -2
  312. package/dist/twilight/{p-DOUAavek.js → p-CB552NRi.js} +1 -1
  313. package/dist/twilight/{p-CICtuB_u.js → p-CWi90iJ1.js} +1 -1
  314. package/dist/twilight/{p-BjUh9YCs.js → p-DjCyIWR1.js} +1 -1
  315. package/dist/twilight/{p-wYYV5ykR.js → p-EXd4paYi.js} +1 -1
  316. package/dist/twilight/{p-BlPdaFn2.js → p-MEqjtc_i.js} +1 -1
  317. package/dist/twilight/p-OdOOjQZO.js +4 -0
  318. package/dist/twilight/{p-cykIAOlk.js → p-WsiD2WP-.js} +1 -1
  319. package/dist/twilight/{p-B8nGVDvQ.js → p-_ulhlUUw.js} +1 -1
  320. package/dist/twilight/{p-47c79c49.entry.js → p-a185d836.entry.js} +1 -1
  321. package/dist/twilight/p-a2147ef3.entry.js +4 -0
  322. package/dist/twilight/{p-71ce8e4f.entry.js → p-a21bc7ee.entry.js} +1 -1
  323. package/dist/twilight/{p-37b64e36.entry.js → p-a255167f.entry.js} +1 -1
  324. package/dist/twilight/{p-bf65d2fa.entry.js → p-a76a2a5d.entry.js} +1 -1
  325. package/dist/twilight/{p-4ec15515.entry.js → p-a7aa162c.entry.js} +1 -1
  326. package/dist/twilight/{p-f9dd6b3e.entry.js → p-aa5be7cf.entry.js} +1 -1
  327. package/dist/twilight/{p-b71673ee.entry.js → p-ac31a382.entry.js} +1 -1
  328. package/dist/twilight/{p-9a2567e2.entry.js → p-ad95bb9a.entry.js} +1 -1
  329. package/dist/twilight/{p-8b0b6bca.entry.js → p-ae4ea8c9.entry.js} +1 -1
  330. package/dist/twilight/{p-c0301e00.entry.js → p-ba601791.entry.js} +1 -1
  331. package/dist/twilight/{p-008740fe.entry.js → p-c0423cfc.entry.js} +1 -1
  332. package/dist/twilight/{p-8d3c5d1f.entry.js → p-c861b955.entry.js} +1 -1
  333. package/dist/twilight/{p-792494c8.entry.js → p-c96e9150.entry.js} +1 -1
  334. package/dist/twilight/{p-d61298f8.entry.js → p-cdd8e44a.entry.js} +1 -1
  335. package/dist/twilight/{p-830abcc1.entry.js → p-cf3285f1.entry.js} +1 -1
  336. package/dist/twilight/p-d02dee6d.entry.js +4 -0
  337. package/dist/twilight/{p-f7c06bee.entry.js → p-d204326c.entry.js} +1 -1
  338. package/dist/twilight/{p-cbd056ba.entry.js → p-d304b8fc.entry.js} +1 -1
  339. package/dist/twilight/{p-9dd7cf71.entry.js → p-da63cbf0.entry.js} +1 -1
  340. package/dist/twilight/p-db2b9499.entry.js +4 -0
  341. package/dist/twilight/{p-59694c45.entry.js → p-dba5b89a.entry.js} +1 -1
  342. package/dist/twilight/{p-f23ada45.entry.js → p-e0387b79.entry.js} +1 -1
  343. package/dist/twilight/{p-12a52f1b.entry.js → p-e0dc2c2d.entry.js} +1 -1
  344. package/dist/twilight/{p-16e2a110.entry.js → p-e3d37ab2.entry.js} +1 -1
  345. package/dist/twilight/{p-5f9d87ec.entry.js → p-e59a8901.entry.js} +1 -1
  346. package/dist/twilight/{p-dceb3725.entry.js → p-e776afcd.entry.js} +1 -1
  347. package/dist/twilight/{p-03b2df97.entry.js → p-e8921db3.entry.js} +1 -1
  348. package/dist/twilight/{p-da0349f9.entry.js → p-ec9434d9.entry.js} +1 -1
  349. package/dist/twilight/{p-cdeaf60b.entry.js → p-ee7e6ce9.entry.js} +1 -1
  350. package/dist/twilight/{p-3ec3e9fb.entry.js → p-f0ab3933.entry.js} +1 -1
  351. package/dist/twilight/{p-cb961f05.entry.js → p-f16bdaf5.entry.js} +1 -1
  352. package/dist/twilight/{p-a7849674.entry.js → p-f2718aec.entry.js} +1 -1
  353. package/dist/twilight/{p-da60995f.entry.js → p-f581bb32.entry.js} +1 -1
  354. package/dist/twilight/{p-de10d0c3.entry.js → p-f6981856.entry.js} +1 -1
  355. package/dist/twilight/{p-a1a650ab.entry.js → p-f7f8d758.entry.js} +1 -1
  356. package/dist/twilight/{p-20949dfb.entry.js → p-fbff3efd.entry.js} +1 -1
  357. package/dist/twilight/{p-07e581af.entry.js → p-ff890108.entry.js} +1 -1
  358. package/dist/twilight/{p-4cf81a44.entry.js → p-fffd562d.entry.js} +1 -1
  359. package/dist/twilight/{p-ze9e0dxM.js → p-g-_4am8C.js} +1 -1
  360. package/dist/twilight/twilight.esm.js +1 -1
  361. package/dist/types/components/salla-cart-summary-card/salla-cart-summary-card.d.ts +26 -0
  362. package/dist/types/components/salla-order-totals-card/interfaces.d.ts +8 -3
  363. package/dist/types/components/salla-order-totals-card/salla-order-totals-card.d.ts +2 -1
  364. package/package.json +5 -5
  365. package/dist/twilight/p-0c0b2b36.entry.js +0 -4
  366. package/dist/twilight/p-61b98119.entry.js +0 -4
  367. package/dist/twilight/p-8d096f95.entry.js +0 -4
  368. package/dist/twilight/p-be8c42f1.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as e,h as t,H as r}from"./p-ze9e0dxM.js";import{S as i}from"./p-C3B-35h_.js";var s;!function(e){e.PERCENTAGE="percentage",e.FIXED="fixed"}(s||(s={}));const o={staticIcons:['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>',i,'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M14.2644 18.3717C14.5806 17.407 14.7387 16.9247 15.0616 16.593C15.215 16.4354 15.3932 16.3048 15.5887 16.2066C16.0003 16 16.5003 16 17.5002 16C18.5001 16 19.0001 16 19.4116 16.2066C19.6072 16.3048 19.7853 16.4354 19.9388 16.593C20.2617 16.9247 20.4198 17.407 20.736 18.3717L21.0624 19.3675C21.4561 20.5688 21.653 21.1694 21.3587 21.5847C21.0643 22 20.4418 22 19.1966 22H15.8038C14.5586 22 13.936 22 13.6417 21.5847C13.3473 21.1694 13.5442 20.5688 13.938 19.3675L14.2644 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M8.76421 10.3717C9.08041 9.40705 9.23851 8.92471 9.56143 8.59298C9.71485 8.43537 9.89299 8.3048 10.0885 8.20663C10.5001 8 11.0001 8 12 8C12.9999 8 13.4999 8 13.9115 8.20663C14.107 8.3048 14.2851 8.43537 14.4386 8.59298C14.7615 8.92471 14.9196 9.40705 15.2358 10.3717L15.5622 11.3675C15.956 12.5688 16.1528 13.1694 15.8585 13.5847C15.5642 14 14.9416 14 13.6964 14H10.3036C9.05842 14 8.43585 14 8.1415 13.5847C7.84716 13.1694 8.04404 12.5688 8.43779 11.3675L8.76421 10.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M3.26439 18.3717C3.58059 17.407 3.73869 16.9247 4.06162 16.593C4.21504 16.4354 4.39317 16.3048 4.58872 16.2066C5.00031 16 5.50027 16 6.50018 16C7.5001 16 8.00006 16 8.41165 16.2066C8.6072 16.3048 8.78533 16.4354 8.93875 16.593C9.26167 16.9247 9.41977 17.407 9.73597 18.3717L10.0624 19.3675C10.4561 20.5688 10.653 21.1694 10.3587 21.5847C10.0643 22 9.44176 22 8.19661 22H4.80375C3.5586 22 2.93603 22 2.64169 21.5847C2.34735 21.1694 2.54422 20.5688 2.93797 19.3675L3.26439 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M12 2V4M7.5 3.5L9 5M16.5 3.5L15 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M5.78223 4.18192C6.43007 3.68319 6.754 3.43383 7.12788 3.27323C7.29741 3.20041 7.47367 3.14158 7.65459 3.09741C8.0536 3 8.4767 3 9.32289 3H14.6771C15.5233 3 15.9464 3 16.3454 3.09741C16.5263 3.14158 16.7026 3.20041 16.8721 3.27323C17.246 3.43383 17.5699 3.68319 18.2178 4.18192C20.3644 5.83448 21.4378 6.66077 21.8057 7.73078C21.9694 8.20673 22.0305 8.70728 21.9858 9.20461C21.8852 10.3227 21.0379 11.346 19.3433 13.3925L15.3498 18.2153C13.8126 20.0718 13.044 21 12 21C10.956 21 10.1874 20.0718 8.65018 18.2153L4.65671 13.3925C2.96208 11.346 2.11476 10.3227 2.0142 9.20461C1.96947 8.70728 2.03064 8.20673 2.1943 7.73078C2.56224 6.66077 3.63557 5.83448 5.78223 4.18192Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M10 8.5H14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>'],staticColors:["#993018","#444444","#D18F36","#315F9C"]};class a{static findTierByIndex(e,t){return e.find((e=>e.index===t))||null}static findTierByName(e,t){return e.find((e=>e.tier_name===t))||null}static getTierNameByIndex(e,t){return this.findTierByIndex(e,t)?.tier_name}static findCurrentTierIndex(e,t){if(!t)return 0;for(let r=t.length-1;r>=0;r--)if(e>=t[r].threshold)return t[r].index;return 0}}const n=class{constructor(t){e(this,t),this.hasLoaded=!1,this.isAttached=!1,this.currentTierIndex=0,this.canRender=!1,this.isLoading=!1,this.cartUpdatedListener=async e=>{let t=null;try{t=await this.fetchTieredOfferData()}catch(e){return void salla.logger.warn("salla-tiered-offer:: ",e)}t&&(this.tieredOfferData?this.updateOfferValues(e,t):this.initializeComponent(t))},this.handleTabClick=e=>{this.activeTabTier=e}}connectedCallback(){this.isAttached=!0,this.hasLoaded&&salla.event.on("cart::updated",this.cartUpdatedListener),this.langUnsubscribe=salla.lang.subscribe((()=>{this.loyaltyProgramText=salla.lang.get("blocks.tiered_offer.program_title"),this.currentTierText=salla.lang.get("blocks.tiered_offer.current_tier"),this.discountText=salla.lang.get("blocks.tiered_offer.discount"),this.benefitText=salla.lang.get("blocks.tiered_offer.tier_description")}))}disconnectedCallback(){this.isAttached=!1,salla.event.off("cart::updated",this.cartUpdatedListener),this.langUnsubscribe?.()}async componentWillLoad(){try{if(await salla.onReady(),!this.checkFeatureEnabled())return;if(!this.checkCartExists())return;this.isLoading=!0;const e=await this.fetchTieredOfferData();if(!e)return;this.initializeComponent(e)}catch(e){this.canRender=!1,salla.logger.warn("salla-tiered-offer:: ",e)}finally{this.isLoading=!1}}checkFeatureEnabled(){return salla.config.get("store.features")?.includes("tiered-offer")}checkCartExists(){return!!salla.storage.get("cart")?.summary?.count}validateCouponCompatibility(e,t){return!(t&&!e.details?.applied_with_coupon)}shouldHideForGuest(){return salla.config.isGuest()}shouldHideUntilThreshold(e,t){return!(!e?.hide_until_threshold||0!==t)}resolveTierName(e,t){return a.getTierNameByIndex(e,t)||""}async fetchTieredOfferData(){try{const{data:e}=await salla.api.cart.offers(),t=e.find((e=>"tiered_offer"===e.type));return t?this.validateCouponCompatibility(t,salla.storage.get("cart")?.coupon)?t:(this.canRender=!1,null):null}catch(e){throw e}}initializeComponent(e){this.apiOfferData=e,this.tieredOfferData=this.mapApiDataToTiers(this.apiOfferData),this.loyaltyProgramText=this.apiOfferData.title||this.loyaltyProgramText;const t=this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0);this.shouldHideForGuest()||this.shouldHideUntilThreshold(this.apiOfferData.details,t)?this.canRender=!1:(this.currentTierIndex=t,this.currentTier=this.resolveTierName(this.tieredOfferData.tiers,t),this.activeTabTier=this.currentTier||this.tieredOfferData.tiers[0]?.tier_name,this.canRender=!0)}componentDidLoad(){this.hasLoaded=!0,this.isAttached&&salla.event.on("cart::updated",this.cartUpdatedListener)}mapApiDataToTiers(e){const t=[...e.details.discounts].sort(((e,t)=>e.min_spend-t.min_spend)).map(((e,t)=>({name:e.name,tier_name:e.name,discount:e.type===s.PERCENTAGE?`${salla.helpers.number(e.value)}%`:salla.money(e.value),icon:o.staticIcons[t]||o.staticIcons[0],threshold:e.min_spend,text_color:o.staticColors[t],index:t+1})));return{current_tier:a.getTierNameByIndex(t,this.findCurrentTierIndex(e.details.current_value,t)),tiers:t}}findCurrentTierIndex(e,t=this.tieredOfferData?.tiers){return a.findCurrentTierIndex(e,t||[])}updateOfferValues(e,t){if(!t||!this.tieredOfferData)return;if(!t.details?.discounts?.length)return void(this.canRender=!1);if(!this.validateCouponCompatibility(t,e.coupon))return void(this.canRender=!1);if(this.shouldHideForGuest())return void(this.canRender=!1);const r=this.mapApiDataToTiers(t),i=this.findCurrentTierIndex(t.details?.current_value||0,r.tiers);if(this.shouldHideUntilThreshold(t.details,i))return void(this.canRender=!1);if(!1===t.details?.with_current_cart)return void(this.canRender=!0);this.apiOfferData=t,this.tieredOfferData=r,this.canRender=!0,this.currentTierIndex=i,this.currentTier=this.resolveTierName(r.tiers,i);const s=this.currentTier||r.tiers[0]?.tier_name;this.activeTabTier!==s&&(this.activeTabTier=s)}getLoadingSkeletonView(){return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-skeleton-wrapper"},t("div",{class:"s-tiered-offer-skeleton-title"},t("salla-skeleton",{height:"16px",width:"40%"})),t("div",{class:"s-tiered-offer-skeleton-subtitle"},t("salla-skeleton",{height:"20px",width:"60%"})),t("div",{class:"s-tiered-offer-skeleton-progress"},t("salla-skeleton",{height:"16px",width:"100%"})),t("div",{class:"s-tiered-offer-skeleton-tabs"},t("salla-skeleton",{height:"50px",width:"100%"})))))}getCurrentTierData(){return a.findTierByIndex(this.tieredOfferData.tiers,this.currentTierIndex)||this.tieredOfferData.tiers[0]}getProgressWidth(){const e=this.tieredOfferData.tiers.length;return this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0)/e*100}calculateMilestonePosition(e,t){return 1===t?"calc(100% - 18px)":`${Math.max(2,Math.min(95,(e+1)/t*100-8/t))}%`}getMilestoneStyles(e,t,r){const i="rtl"===document.documentElement.dir,s=this.calculateMilestonePosition(t,r),o=e.name.length>6?"flex-end":"center";return{[i?"right":"left"]:s,alignItems:o,position:"absolute",transform:i?"translateX(50%)":"translateX(-50%)"}}getMilestoneIconStyles(e,t,r){return t?{color:e.text_color}:r?{color:"var(--color-primary)"}:{}}renderProgressBarBackground(e){return[t("div",{class:"s-tiered-offer-progress-bg"}),t("div",{class:"s-tiered-offer-progress-fill",style:{width:`${e}%`}})]}renderMilestoneIcon(e,r,i){const s=["s-tiered-offer-milestone-icon",r?"s-tiered-offer-milestone-active":"",i?"s-tiered-offer-milestone-completed":""].filter(Boolean).join(" ");return t("div",{class:s,style:this.getMilestoneIconStyles(e,r,i)},t("span",{innerHTML:e.icon}))}renderMilestoneName(e,r){return t("div",{class:"s-tiered-offer-milestone-name"},r&&t("span",{style:{color:e.text_color}},e.name))}renderMilestones(e,r){return t("div",{class:"s-tiered-offer-milestones-wrapper"},t("div",{class:1===r?"s-tiered-offer-single-milestone-justify-end":"s-tiered-offer-milestones"},this.tieredOfferData.tiers.map(((i,s)=>{const o=e>=i.threshold,a=i.tier_name===this.currentTier;return t("div",{class:"s-tiered-offer-milestone",style:this.getMilestoneStyles(i,s,r)},this.renderMilestoneIcon(i,a,o),this.renderMilestoneName(i,a))}))))}renderProgressBar(){const e=this.getProgressWidth(),r=this.tieredOfferData.tiers.length,i=this.apiOfferData.details?.current_value||0;return t("div",{class:"s-tiered-offer-progress-container"},t("div",{class:"s-tiered-offer-progress-wrapper"},this.renderProgressBarBackground(e),this.renderMilestones(i,r)))}renderTabs(){return t("div",{class:"s-tiered-offer-tabs-container"},t("div",{class:"s-tiered-offer-tab-headers"},this.tieredOfferData.tiers.map((e=>t("button",{class:"s-tiered-offer-tab-header "+(e.tier_name===this.activeTabTier?"s-tiered-offer-tab-active":""),onClick:()=>this.handleTabClick(e.tier_name)},t("span",null,e.name))))),t("div",{class:"s-tiered-offer-tab-content-wrapper"},(()=>{const e=a.findTierByName(this.tieredOfferData.tiers,this.activeTabTier);return e?t("div",{class:"s-tiered-offer-tab-content"},t("div",{class:"s-tiered-offer-tab-content-inner"},t("div",{class:"s-tiered-offer-discount-section"},t("p",{class:"s-tiered-offer-discount-title"},this.discountText," ",t("span",{innerHTML:e.discount})),t("p",{class:"s-tiered-offer-benefit-description"},this.benefitText," ",e.name)))):null})()))}render(){if(this.isLoading)return this.getLoadingSkeletonView();if(!this.canRender||!this.tieredOfferData)return null;const e=this.getCurrentTierData();return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-header"},t("div",{class:"s-tiered-offer-header-content"},t("p",{class:"s-tiered-offer-program-title"},this.loyaltyProgramText),this.currentTier&&t("div",{class:"s-tiered-offer-current-tier-name-wrapper"},t("h2",{class:"s-tiered-offer-current-tier"},this.currentTierText," ",t("span",{class:"s-tiered-offer-tier-name"},e.name)),t("span",{innerHTML:e.icon})))),this.renderProgressBar(),this.renderTabs()))}};n.style="/*!twlt*/.s-tiered-offer-milestone-icon svg{color:currentColor}.s-tiered-offer-milestone-icon svg path{stroke:currentColor;fill:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg path{fill:currentColor;stroke:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg[fill=none] path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg[fill=none] path{fill:none;stroke:currentColor}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-bg{transform:scaleX(-1)}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-fill{transform:scaleX(-1);left:auto}[dir=rtl] .flip-x{transform:scaleX(-1)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-tiered-offer-container{position:relative;margin-bottom:1.25rem;width:100%;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (min-width: 640px){.s-tiered-offer-container{padding:1.25rem;padding-left:1.5rem;padding-right:1.5rem}}.s-tiered-offer-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:0.75rem}.s-tiered-offer-header-content{flex:1 1 0%}.s-tiered-offer-current-tier-name-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:0.375rem}.s-tiered-offer-current-tier-name-wrapper h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier-name-wrapper svg{height:1.5rem;width:1.5rem}.s-tiered-offer-program-title{margin:0px;margin-bottom:0.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-tiered-offer-program-title h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier{margin:0px;margin-bottom:0.375rem;font-weight:700}.s-tiered-offer-tier-name{font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-progress-container{margin-top:1.5rem;margin-bottom:1rem}.s-tiered-offer-progress-wrapper{position:relative}.s-tiered-offer-progress-bg{position:absolute;top:0.5rem;left:1rem;right:1rem;height:1rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-tiered-offer-progress-fill{position:absolute;top:0.5rem;height:1rem;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-duration:500ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-tiered-offer-milestones-wrapper{display:flex;justify-content:flex-end}.s-tiered-offer-milestones{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:space-between}.s-tiered-offer-single-milestone-justify-end{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:flex-end}.s-tiered-offer-milestone{display:flex;flex-direction:column;align-items:center}.s-tiered-offer-milestone-icon{position:relative;z-index:10;margin-top:0px;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:0.75rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-tiered-offer-milestone-icon span{display:flex;align-items:center;justify-content:center}.s-tiered-offer-milestone-icon svg{height:1.25rem;width:1.25rem;color:currentColor}.s-tiered-offer-milestone-name{margin-top:0.5rem;display:flex;height:1rem;align-items:center;justify-content:center}.s-tiered-offer-milestone-name span{text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}@media (min-width: 640px){.s-tiered-offer-milestone-name span{font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tabs-container{margin-top:1rem}.s-tiered-offer-tab-headers{display:flex;gap:0.25rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-tiered-offer-tab-header{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;justify-content:center;border-radius:0.125rem;border-style:none;background-color:transparent;padding-top:0.625rem;padding-bottom:0.625rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}@media (min-width: 640px){.s-tiered-offer-tab-header{padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tab-active{border-radius:0.375rem;background-color:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-tiered-offer-tab-active:hover{background-color:var(--color-primary-dark);opacity:0.8}.s-tiered-offer-tab-content-wrapper{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-tiered-offer-tab-content{padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.s-tiered-offer-tab-content{padding-left:1rem;padding-right:1rem}}.s-tiered-offer-tab-content.tab-hidden{display:none}.s-tiered-offer-tab-content-inner{padding-top:1rem}.s-tiered-offer-discount-section{margin-bottom:0.5rem}.s-tiered-offer-discount-title{margin:0px;margin-bottom:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-benefit-description{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-tiered-offer-skeleton-wrapper{padding:1.25rem}.s-tiered-offer-skeleton-title{margin-bottom:0.75rem}.s-tiered-offer-skeleton-subtitle{margin-bottom:1.5rem}.s-tiered-offer-skeleton-progress{margin-bottom:1.25rem}";export{n as salla_tiered_offer}
4
+ import{r as e,h as t,H as r}from"./p-g-_4am8C.js";import{S as i}from"./p-C3B-35h_.js";var s;!function(e){e.PERCENTAGE="percentage",e.FIXED="fixed"}(s||(s={}));const o={staticIcons:['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>',i,'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M14.2644 18.3717C14.5806 17.407 14.7387 16.9247 15.0616 16.593C15.215 16.4354 15.3932 16.3048 15.5887 16.2066C16.0003 16 16.5003 16 17.5002 16C18.5001 16 19.0001 16 19.4116 16.2066C19.6072 16.3048 19.7853 16.4354 19.9388 16.593C20.2617 16.9247 20.4198 17.407 20.736 18.3717L21.0624 19.3675C21.4561 20.5688 21.653 21.1694 21.3587 21.5847C21.0643 22 20.4418 22 19.1966 22H15.8038C14.5586 22 13.936 22 13.6417 21.5847C13.3473 21.1694 13.5442 20.5688 13.938 19.3675L14.2644 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M8.76421 10.3717C9.08041 9.40705 9.23851 8.92471 9.56143 8.59298C9.71485 8.43537 9.89299 8.3048 10.0885 8.20663C10.5001 8 11.0001 8 12 8C12.9999 8 13.4999 8 13.9115 8.20663C14.107 8.3048 14.2851 8.43537 14.4386 8.59298C14.7615 8.92471 14.9196 9.40705 15.2358 10.3717L15.5622 11.3675C15.956 12.5688 16.1528 13.1694 15.8585 13.5847C15.5642 14 14.9416 14 13.6964 14H10.3036C9.05842 14 8.43585 14 8.1415 13.5847C7.84716 13.1694 8.04404 12.5688 8.43779 11.3675L8.76421 10.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M3.26439 18.3717C3.58059 17.407 3.73869 16.9247 4.06162 16.593C4.21504 16.4354 4.39317 16.3048 4.58872 16.2066C5.00031 16 5.50027 16 6.50018 16C7.5001 16 8.00006 16 8.41165 16.2066C8.6072 16.3048 8.78533 16.4354 8.93875 16.593C9.26167 16.9247 9.41977 17.407 9.73597 18.3717L10.0624 19.3675C10.4561 20.5688 10.653 21.1694 10.3587 21.5847C10.0643 22 9.44176 22 8.19661 22H4.80375C3.5586 22 2.93603 22 2.64169 21.5847C2.34735 21.1694 2.54422 20.5688 2.93797 19.3675L3.26439 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M12 2V4M7.5 3.5L9 5M16.5 3.5L15 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M5.78223 4.18192C6.43007 3.68319 6.754 3.43383 7.12788 3.27323C7.29741 3.20041 7.47367 3.14158 7.65459 3.09741C8.0536 3 8.4767 3 9.32289 3H14.6771C15.5233 3 15.9464 3 16.3454 3.09741C16.5263 3.14158 16.7026 3.20041 16.8721 3.27323C17.246 3.43383 17.5699 3.68319 18.2178 4.18192C20.3644 5.83448 21.4378 6.66077 21.8057 7.73078C21.9694 8.20673 22.0305 8.70728 21.9858 9.20461C21.8852 10.3227 21.0379 11.346 19.3433 13.3925L15.3498 18.2153C13.8126 20.0718 13.044 21 12 21C10.956 21 10.1874 20.0718 8.65018 18.2153L4.65671 13.3925C2.96208 11.346 2.11476 10.3227 2.0142 9.20461C1.96947 8.70728 2.03064 8.20673 2.1943 7.73078C2.56224 6.66077 3.63557 5.83448 5.78223 4.18192Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M10 8.5H14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>'],staticColors:["#993018","#444444","#D18F36","#315F9C"]};class a{static findTierByIndex(e,t){return e.find((e=>e.index===t))||null}static findTierByName(e,t){return e.find((e=>e.tier_name===t))||null}static getTierNameByIndex(e,t){return this.findTierByIndex(e,t)?.tier_name}static findCurrentTierIndex(e,t){if(!t)return 0;for(let r=t.length-1;r>=0;r--)if(e>=t[r].threshold)return t[r].index;return 0}}const n=class{constructor(t){e(this,t),this.hasLoaded=!1,this.isAttached=!1,this.currentTierIndex=0,this.canRender=!1,this.isLoading=!1,this.cartUpdatedListener=async e=>{let t=null;try{t=await this.fetchTieredOfferData()}catch(e){return void salla.logger.warn("salla-tiered-offer:: ",e)}t&&(this.tieredOfferData?this.updateOfferValues(e,t):this.initializeComponent(t))},this.handleTabClick=e=>{this.activeTabTier=e}}connectedCallback(){this.isAttached=!0,this.hasLoaded&&salla.event.on("cart::updated",this.cartUpdatedListener),this.langUnsubscribe=salla.lang.subscribe((()=>{this.loyaltyProgramText=salla.lang.get("blocks.tiered_offer.program_title"),this.currentTierText=salla.lang.get("blocks.tiered_offer.current_tier"),this.discountText=salla.lang.get("blocks.tiered_offer.discount"),this.benefitText=salla.lang.get("blocks.tiered_offer.tier_description")}))}disconnectedCallback(){this.isAttached=!1,salla.event.off("cart::updated",this.cartUpdatedListener),this.langUnsubscribe?.()}async componentWillLoad(){try{if(await salla.onReady(),!this.checkFeatureEnabled())return;if(!this.checkCartExists())return;this.isLoading=!0;const e=await this.fetchTieredOfferData();if(!e)return;this.initializeComponent(e)}catch(e){this.canRender=!1,salla.logger.warn("salla-tiered-offer:: ",e)}finally{this.isLoading=!1}}checkFeatureEnabled(){return salla.config.get("store.features")?.includes("tiered-offer")}checkCartExists(){return!!salla.storage.get("cart")?.summary?.count}validateCouponCompatibility(e,t){return!(t&&!e.details?.applied_with_coupon)}shouldHideForGuest(){return salla.config.isGuest()}shouldHideUntilThreshold(e,t){return!(!e?.hide_until_threshold||0!==t)}resolveTierName(e,t){return a.getTierNameByIndex(e,t)||""}async fetchTieredOfferData(){try{const{data:e}=await salla.api.cart.offers(),t=e.find((e=>"tiered_offer"===e.type));return t?this.validateCouponCompatibility(t,salla.storage.get("cart")?.coupon)?t:(this.canRender=!1,null):null}catch(e){throw e}}initializeComponent(e){this.apiOfferData=e,this.tieredOfferData=this.mapApiDataToTiers(this.apiOfferData),this.loyaltyProgramText=this.apiOfferData.title||this.loyaltyProgramText;const t=this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0);this.shouldHideForGuest()||this.shouldHideUntilThreshold(this.apiOfferData.details,t)?this.canRender=!1:(this.currentTierIndex=t,this.currentTier=this.resolveTierName(this.tieredOfferData.tiers,t),this.activeTabTier=this.currentTier||this.tieredOfferData.tiers[0]?.tier_name,this.canRender=!0)}componentDidLoad(){this.hasLoaded=!0,this.isAttached&&salla.event.on("cart::updated",this.cartUpdatedListener)}mapApiDataToTiers(e){const t=[...e.details.discounts].sort(((e,t)=>e.min_spend-t.min_spend)).map(((e,t)=>({name:e.name,tier_name:e.name,discount:e.type===s.PERCENTAGE?`${salla.helpers.number(e.value)}%`:salla.money(e.value),icon:o.staticIcons[t]||o.staticIcons[0],threshold:e.min_spend,text_color:o.staticColors[t],index:t+1})));return{current_tier:a.getTierNameByIndex(t,this.findCurrentTierIndex(e.details.current_value,t)),tiers:t}}findCurrentTierIndex(e,t=this.tieredOfferData?.tiers){return a.findCurrentTierIndex(e,t||[])}updateOfferValues(e,t){if(!t||!this.tieredOfferData)return;if(!t.details?.discounts?.length)return void(this.canRender=!1);if(!this.validateCouponCompatibility(t,e.coupon))return void(this.canRender=!1);if(this.shouldHideForGuest())return void(this.canRender=!1);const r=this.mapApiDataToTiers(t),i=this.findCurrentTierIndex(t.details?.current_value||0,r.tiers);if(this.shouldHideUntilThreshold(t.details,i))return void(this.canRender=!1);if(!1===t.details?.with_current_cart)return void(this.canRender=!0);this.apiOfferData=t,this.tieredOfferData=r,this.canRender=!0,this.currentTierIndex=i,this.currentTier=this.resolveTierName(r.tiers,i);const s=this.currentTier||r.tiers[0]?.tier_name;this.activeTabTier!==s&&(this.activeTabTier=s)}getLoadingSkeletonView(){return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-skeleton-wrapper"},t("div",{class:"s-tiered-offer-skeleton-title"},t("salla-skeleton",{height:"16px",width:"40%"})),t("div",{class:"s-tiered-offer-skeleton-subtitle"},t("salla-skeleton",{height:"20px",width:"60%"})),t("div",{class:"s-tiered-offer-skeleton-progress"},t("salla-skeleton",{height:"16px",width:"100%"})),t("div",{class:"s-tiered-offer-skeleton-tabs"},t("salla-skeleton",{height:"50px",width:"100%"})))))}getCurrentTierData(){return a.findTierByIndex(this.tieredOfferData.tiers,this.currentTierIndex)||this.tieredOfferData.tiers[0]}getProgressWidth(){const e=this.tieredOfferData.tiers.length;return this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0)/e*100}calculateMilestonePosition(e,t){return 1===t?"calc(100% - 18px)":`${Math.max(2,Math.min(95,(e+1)/t*100-8/t))}%`}getMilestoneStyles(e,t,r){const i="rtl"===document.documentElement.dir,s=this.calculateMilestonePosition(t,r),o=e.name.length>6?"flex-end":"center";return{[i?"right":"left"]:s,alignItems:o,position:"absolute",transform:i?"translateX(50%)":"translateX(-50%)"}}getMilestoneIconStyles(e,t,r){return t?{color:e.text_color}:r?{color:"var(--color-primary)"}:{}}renderProgressBarBackground(e){return[t("div",{class:"s-tiered-offer-progress-bg"}),t("div",{class:"s-tiered-offer-progress-fill",style:{width:`${e}%`}})]}renderMilestoneIcon(e,r,i){const s=["s-tiered-offer-milestone-icon",r?"s-tiered-offer-milestone-active":"",i?"s-tiered-offer-milestone-completed":""].filter(Boolean).join(" ");return t("div",{class:s,style:this.getMilestoneIconStyles(e,r,i)},t("span",{innerHTML:e.icon}))}renderMilestoneName(e,r){return t("div",{class:"s-tiered-offer-milestone-name"},r&&t("span",{style:{color:e.text_color}},e.name))}renderMilestones(e,r){return t("div",{class:"s-tiered-offer-milestones-wrapper"},t("div",{class:1===r?"s-tiered-offer-single-milestone-justify-end":"s-tiered-offer-milestones"},this.tieredOfferData.tiers.map(((i,s)=>{const o=e>=i.threshold,a=i.tier_name===this.currentTier;return t("div",{class:"s-tiered-offer-milestone",style:this.getMilestoneStyles(i,s,r)},this.renderMilestoneIcon(i,a,o),this.renderMilestoneName(i,a))}))))}renderProgressBar(){const e=this.getProgressWidth(),r=this.tieredOfferData.tiers.length,i=this.apiOfferData.details?.current_value||0;return t("div",{class:"s-tiered-offer-progress-container"},t("div",{class:"s-tiered-offer-progress-wrapper"},this.renderProgressBarBackground(e),this.renderMilestones(i,r)))}renderTabs(){return t("div",{class:"s-tiered-offer-tabs-container"},t("div",{class:"s-tiered-offer-tab-headers"},this.tieredOfferData.tiers.map((e=>t("button",{class:"s-tiered-offer-tab-header "+(e.tier_name===this.activeTabTier?"s-tiered-offer-tab-active":""),onClick:()=>this.handleTabClick(e.tier_name)},t("span",null,e.name))))),t("div",{class:"s-tiered-offer-tab-content-wrapper"},(()=>{const e=a.findTierByName(this.tieredOfferData.tiers,this.activeTabTier);return e?t("div",{class:"s-tiered-offer-tab-content"},t("div",{class:"s-tiered-offer-tab-content-inner"},t("div",{class:"s-tiered-offer-discount-section"},t("p",{class:"s-tiered-offer-discount-title"},this.discountText," ",t("span",{innerHTML:e.discount})),t("p",{class:"s-tiered-offer-benefit-description"},this.benefitText," ",e.name)))):null})()))}render(){if(this.isLoading)return this.getLoadingSkeletonView();if(!this.canRender||!this.tieredOfferData)return null;const e=this.getCurrentTierData();return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-header"},t("div",{class:"s-tiered-offer-header-content"},t("p",{class:"s-tiered-offer-program-title"},this.loyaltyProgramText),this.currentTier&&t("div",{class:"s-tiered-offer-current-tier-name-wrapper"},t("h2",{class:"s-tiered-offer-current-tier"},this.currentTierText," ",t("span",{class:"s-tiered-offer-tier-name"},e.name)),t("span",{innerHTML:e.icon})))),this.renderProgressBar(),this.renderTabs()))}};n.style="/*!twlt*/.s-tiered-offer-milestone-icon svg{color:currentColor}.s-tiered-offer-milestone-icon svg path{stroke:currentColor;fill:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg path{fill:currentColor;stroke:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg[fill=none] path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg[fill=none] path{fill:none;stroke:currentColor}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-bg{transform:scaleX(-1)}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-fill{transform:scaleX(-1);left:auto}[dir=rtl] .flip-x{transform:scaleX(-1)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-tiered-offer-container{position:relative;margin-bottom:1.25rem;width:100%;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (min-width: 640px){.s-tiered-offer-container{padding:1.25rem;padding-left:1.5rem;padding-right:1.5rem}}.s-tiered-offer-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:0.75rem}.s-tiered-offer-header-content{flex:1 1 0%}.s-tiered-offer-current-tier-name-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:0.375rem}.s-tiered-offer-current-tier-name-wrapper h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier-name-wrapper svg{height:1.5rem;width:1.5rem}.s-tiered-offer-program-title{margin:0px;margin-bottom:0.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-tiered-offer-program-title h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier{margin:0px;margin-bottom:0.375rem;font-weight:700}.s-tiered-offer-tier-name{font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-progress-container{margin-top:1.5rem;margin-bottom:1rem}.s-tiered-offer-progress-wrapper{position:relative}.s-tiered-offer-progress-bg{position:absolute;top:0.5rem;left:1rem;right:1rem;height:1rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-tiered-offer-progress-fill{position:absolute;top:0.5rem;height:1rem;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-duration:500ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-tiered-offer-milestones-wrapper{display:flex;justify-content:flex-end}.s-tiered-offer-milestones{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:space-between}.s-tiered-offer-single-milestone-justify-end{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:flex-end}.s-tiered-offer-milestone{display:flex;flex-direction:column;align-items:center}.s-tiered-offer-milestone-icon{position:relative;z-index:10;margin-top:0px;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:0.75rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-tiered-offer-milestone-icon span{display:flex;align-items:center;justify-content:center}.s-tiered-offer-milestone-icon svg{height:1.25rem;width:1.25rem;color:currentColor}.s-tiered-offer-milestone-name{margin-top:0.5rem;display:flex;height:1rem;align-items:center;justify-content:center}.s-tiered-offer-milestone-name span{text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}@media (min-width: 640px){.s-tiered-offer-milestone-name span{font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tabs-container{margin-top:1rem}.s-tiered-offer-tab-headers{display:flex;gap:0.25rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-tiered-offer-tab-header{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;justify-content:center;border-radius:0.125rem;border-style:none;background-color:transparent;padding-top:0.625rem;padding-bottom:0.625rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}@media (min-width: 640px){.s-tiered-offer-tab-header{padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tab-active{border-radius:0.375rem;background-color:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-tiered-offer-tab-active:hover{background-color:var(--color-primary-dark);opacity:0.8}.s-tiered-offer-tab-content-wrapper{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-tiered-offer-tab-content{padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.s-tiered-offer-tab-content{padding-left:1rem;padding-right:1rem}}.s-tiered-offer-tab-content.tab-hidden{display:none}.s-tiered-offer-tab-content-inner{padding-top:1rem}.s-tiered-offer-discount-section{margin-bottom:0.5rem}.s-tiered-offer-discount-title{margin:0px;margin-bottom:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-benefit-description{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-tiered-offer-skeleton-wrapper{padding:1.25rem}.s-tiered-offer-skeleton-title{margin-bottom:0.75rem}.s-tiered-offer-skeleton-subtitle{margin-bottom:1.5rem}.s-tiered-offer-skeleton-progress{margin-bottom:1.25rem}";export{n as salla_tiered_offer}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r,f as e,h as s,H as t}from"./p-ze9e0dxM.js";import{C as i}from"./p-CTtM5VoO.js";import{S as a}from"./p-C_pGXoBk.js";import{s as o}from"./p-BQHBj1u_.js";class n{async run(r){this.abort();const{signal:e}=this.controller=new AbortController;try{const s=await r(e);return e.aborted?{aborted:!0}:{aborted:!1,result:s}}catch(r){if(e.aborted)return{aborted:!0};throw r}}abort(){this.controller?.abort()}}const l=class{constructor(e){r(this,e),this.stickyCta=!1,this.shipments=[],this.request=new n,this.keepFirstExpanded=!1,this.itemIndex={byId:new Map,byUniqueName:new Map}}async componentWillLoad(){if(this.indexItems(this.items),await salla.onReady(),this.readInitialShipments(this.initialShipments),null==this.items)return this.fetchShipments();this.fetchShipments()}readInitialShipments(r){try{const e="string"==typeof r?JSON.parse(r):r;this.shipments=Array.isArray(e)?e:[]}catch{this.shipments=[]}}async onOrderIdChange(){this.shipments=[],await this.fetchShipments()}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>e(this)))}disconnectedCallback(){this.request.abort(),this.langUnsubscribe?.()}async openTrackingSheet(){await(this.sheet?.open())}async fetchShipments(){this.request.abort();const r=this.orderId||salla.config.get("page.id");if(r)try{const{aborted:e,result:s}=await this.request.run((e=>salla.order.api.getShipments(r,e)));if(e)return;const t=s?.data,i=Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];if(!i.length)return;this.keepFirstExpanded=!1===this.fallbackCard?.collapsed,this.shipments=i.every((r=>r.products?.length))||!this.shipments.length?i:this.shipments.map(((r,e)=>{const s=i.length===this.shipments.length?i[e]:void 0,t=i.find((e=>null!=e.id&&null!=r.id&&String(e.id)===String(r.id)))??(!s||null!=s.id&&null!=r.id?void 0:s);return t?{...r,...t,products:t.products?.length?t.products:r.products}:r}))}catch(r){const e=r?.response?.data?.error?.message||r?.response?.data?.message;e&&salla.notify.error(e)}}label(r,e){return salla.lang.getWithDefault(r,e)}get isSplit(){return this.shipments.length>1}slaText(r){if(r.sla)return r.sla;const e=r.estimated_delivery_at?new Date(r.estimated_delivery_at.replace(" ","T")).getTime():NaN,s=Math.ceil((e-Date.now())/864e5);return!Number.isFinite(s)||s<1?"":1===s?salla.lang.get("pages.thank_you.arrives_within_day"):salla.lang.get("pages.thank_you.arrives_within_days").replace(":days",salla.helpers.number(s))}trackingNumber(r){const e=r.number;return e&&0!==Number(e)?String(e):""}async copyTracking(r){try{await navigator.clipboard.writeText(r),salla.notify.success(this.label("common.elements.copied","تم النسخ"))}catch{}}shipmentTitle(r){return this.isSplit?salla.lang.get("pages.thank_you.shipment_number").replace(":number",salla.helpers.number(r+1)):salla.lang.get("pages.orders.shipment_details")}renderTracking(r){const e=this.trackingNumber(r);return e?s("button",{type:"button",class:"s-order-shipments-tracking",title:salla.lang.get("common.elements.copy"),onClick:()=>this.copyTracking(e)},s("span",{dir:"ltr"},"#",e),s("span",{innerHTML:i})):s("span",{class:"s-order-shipments-placeholder"},salla.lang.get("pages.thank_you.tracking_placeholder"))}renderCarrier(r){return s("div",{class:"s-order-shipments-carrier"},r.logo?s("img",{src:r.logo,class:"s-order-shipments-logo",alt:r.name||""}):null,s("div",{class:"s-order-shipments-carrier-text"},s("div",{class:"s-order-shipments-carrier-row"},this.slaText(r)?s("b",{class:"s-order-shipments-sla"},this.slaText(r)):null,s("div",{class:"s-order-shipments-info"},this.renderTracking(r))),r.name?s("span",{class:"s-order-shipments-name"},r.name):null))}renderTrackButton(r,e=!1){const t=o(r.tracking_url)||null,i=t?salla.lang.get("pages.orders.tracking"):salla.lang.get("pages.thank_you.track_after_ready");return s("a",{class:{"s-order-shipments-track":!0,"s-order-shipments-track-primary":e},href:t||void 0,target:t?"_blank":void 0,rel:t?"noopener":void 0,"aria-disabled":String(!t)},s("span",{innerHTML:a}),s("span",null,i))}indexItems(r){let e=[];try{const s="string"==typeof r?JSON.parse(r):r;Array.isArray(s)&&(e=s)}catch{}const s=new Map,t=new Map;for(const r of e)null!=r.id&&s.set(String(r.id),r),t.set(r.name,t.has(r.name)?null:r);const i=new Map([...t].filter((([,r])=>r)));this.itemIndex={byId:s,byUniqueName:i}}shipmentItems(r){if(!r.products?.length)return this.isSplit?[]:this.items;const{byId:e,byUniqueName:s}=this.itemIndex;return r.products.map((r=>{const t=null!=r.id&&e.get(String(r.id))||s.get(r.name);return{...r,price:t?.price??r.price,url:r.url??t?.url}}))}renderShipment(r,e){return s("salla-order-items",{class:"s-order-shipments-card",currency:this.currency,items:this.shipmentItems(r),cardTitle:this.shipmentTitle(e),summary:this.slaText(r)||void 0,logo:r.logo||void 0,collapsed:!(0===e&&this.keepFirstExpanded)},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.renderCarrier(r),this.renderTrackButton(r)))}renderSheet(){return s("salla-modal",{class:"s-order-shipments-modal",position:"middle",width:"md",ref:r=>{this.sheet=r,r?.setTitle?.(salla.lang.get("pages.thank_you.shipments_details"))}},s("div",{class:"s-order-shipments-sheet"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-sheet-item"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),s("div",{class:"s-order-shipments-thumbs"},(r.products||[]).map((r=>s("span",{class:"s-order-shipments-thumb",title:r.name},r.image?s("img",{src:r.image,alt:r.name}):null)))),this.renderCarrier(r),this.renderTrackButton(r))))))}renderCta(){return this.isSplit?s("button",{type:"button",class:"s-order-shipments-track s-order-shipments-track-primary",onClick:()=>this.openTrackingSheet()},s("span",{innerHTML:a}),s("span",null,salla.lang.get("pages.orders.tracking"))):this.renderTrackButton(this.shipments[0],!0)}renderFallbackCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!0})}renderUngroupedCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!this.keepFirstExpanded},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-shipment-tracking"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),this.renderCarrier(r),this.renderTrackButton(r))))))}render(){if(!this.shipments.length)return null!=this.items?s(t,{class:"s-order-shipments-wrapper"},this.renderFallbackCard()):s(t,{class:"s-order-shipments-empty"});const r=!this.isSplit||null==this.items||this.shipments.every((r=>r.products?.length));return s(t,{class:"s-order-shipments-wrapper"},s("div",{class:"s-order-shipments-list"},r?this.shipments.map(((r,e)=>this.renderShipment(r,e))):this.renderUngroupedCard()),this.stickyCta?s("div",{class:"s-order-shipments-cta"},this.renderCta()):null,this.isSplit?this.renderSheet():null)}static get watchers(){return{initialShipments:["readInitialShipments"],orderId:["onOrderIdChange"],items:["indexItems"]}}};l.style='/*!twlt*/:host{display:flex;flex-direction:column}@media not all and (min-width: 768px){.s-order-shipments-cta{position:fixed;left:0px;right:0px;bottom:0px;z-index:40;border-top-width:1px;border-color:var(--color-border,#eee);background-color:var(--color-surface,#fff);padding:1rem}.s-order-shipments-modal .s-modal-body{position:fixed;bottom:0px;left:0px;margin-top:0px;margin-bottom:0px;max-width:none;border-bottom-right-radius:0px;border-bottom-left-radius:0px;max-height:calc(100vh - 2rem) !important;overflow-y:auto !important;overflow-x:hidden !important}.s-order-shipments-modal .s-modal-body.s-modal-entering{--tw-translate-y:0px;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-order-shipments-modal .s-modal-body.s-modal-leaving{--tw-translate-y:1rem;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-order-shipments-wrapper:has(.s-order-shipments-cta):not(.s-thank-you-page-wrapper *){padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}}.fixed{position:fixed}.sticky{position:sticky}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-shipments-wrapper{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-empty{display:none}.s-order-shipments-list{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-card{display:block}.s-order-shipments-footer{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-shipment-tracking{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-carrier{display:flex;align-items:flex-start;gap:0.75rem}.s-order-shipments-logo{height:2.5rem;width:2.5rem;flex-shrink:0;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);object-fit:contain;padding:0.125rem}.s-order-shipments-carrier-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;font-size:0.75rem;line-height:1rem;color:var(--color-text-primary,#333)}.s-order-shipments-carrier-row{display:flex;width:100%;align-items:center;gap:1rem}.s-order-shipments-sla{min-width:0px;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.s-order-shipments-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-order-shipments-info{margin-inline-start:auto;flex-shrink:0;font-size:0.75rem;line-height:1rem;color:var(--color-text-secondary,#666)}.s-order-shipments-tracking{display:inline-flex;cursor:pointer;align-items:center;gap:0.25rem;border-width:0px;background-color:transparent;padding:0px;color:currentColor}.s-order-shipments-tracking svg{height:0.875rem;width:0.875rem;fill:currentColor}.s-order-shipments-placeholder{display:inline-flex;align-items:center;gap:0.25rem}.s-order-shipments-track{display:inline-flex;min-height:2.5rem;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary);text-decoration-line:none}.s-order-shipments-track svg{height:1rem;width:1rem;fill:currentColor}.s-order-shipments-track[aria-disabled=\'true\']{pointer-events:none;color:var(--color-text-secondary,#999)}.s-order-shipments-track-primary{min-height:3rem;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}@media (min-width: 768px){.s-order-shipments-cta{order:-1}}.s-order-shipments-sheet{display:flex;flex-direction:column;gap:0.75rem}@media (min-width: 768px){.s-order-shipments-sheet{gap:1.5rem}}.s-order-shipments-sheet-item{display:flex;flex-direction:column;gap:0.75rem;border-radius:1rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4);padding:0.75rem}.s-order-shipments-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-order-shipments-thumbs{display:flex;gap:0.5rem;overflow-x:auto}.s-order-shipments-thumb{display:inline-flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.75rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4)}.s-order-shipments-thumb img{display:block;height:100%;width:100%;object-fit:cover}.s-order-shipments-track-primary[aria-disabled=\'true\']{border-color:color-mix(in srgb,var(--color-primary) 60%,white);background-color:color-mix(in srgb,var(--color-primary) 60%,white);color:var(--color-primary-reverse)}.s-order-shipments-sheet-item .s-order-shipments-thumbs{margin-top:0.25rem}.s-order-shipments-sheet-item .s-order-shipments-carrier{border-top-width:1px;border-color:var(--color-border-light,#f4f4f4);padding-top:0.75rem}.s-order-shipments-sheet-item .s-order-shipments-logo{height:2.75rem;width:2.75rem;padding:0.125rem}.s-order-shipments-modal .s-modal-body{border-top-left-radius:1rem;border-top-right-radius:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-body{max-width:42rem;border-radius:1rem}}.s-order-shipments-modal .s-modal-padding{padding:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-padding{padding:2rem}}.s-order-shipments-modal .s-modal-header-inner{margin-bottom:0.75rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-inner{margin-bottom:1.5rem}}.s-order-shipments-modal .s-modal-header-content{text-align:start}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-content{text-align:start}}.s-order-shipments-modal .s-modal-title{margin-bottom:0px;font-size:1.125rem;line-height:1.75rem;color:var(--color-primary)}@media (min-width: 768px){.s-order-shipments-modal .s-modal-title{margin-bottom:0px}}.s-order-shipments-modal .s-modal-close{display:none}@media (min-width: 768px){.s-order-shipments-modal .s-modal-close{top:2rem;display:block;width:1.5rem;padding-left:0px;padding-right:0px}.s-order-shipments-modal .s-modal-close:where([dir="ltr"],[dir="ltr"] *){right:2rem}.s-order-shipments-modal .s-modal-close:where([dir="rtl"],[dir="rtl"] *){left:2rem}.s-order-shipments-modal .s-modal-close svg{width:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-carrier-text,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-info{font-size:0.875rem;line-height:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track{font-size:1rem;line-height:1.5rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-tracking svg{height:1.25rem;width:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1rem}@media (min-width: 640px){.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-carrier-row{flex-wrap:wrap;column-gap:0.75rem;row-gap:0.5rem}.s-thank-you-page-wrapper .s-order-shipments-info{max-width:100%;word-break:break-all}.s-thank-you-page-wrapper .s-order-shipments-tracking{max-width:100%}';export{l as salla_order_shipments}
4
+ import{r,f as e,h as s,H as t}from"./p-g-_4am8C.js";import{C as i}from"./p-CTtM5VoO.js";import{S as a}from"./p-C_pGXoBk.js";import{s as o}from"./p-BQHBj1u_.js";class n{async run(r){this.abort();const{signal:e}=this.controller=new AbortController;try{const s=await r(e);return e.aborted?{aborted:!0}:{aborted:!1,result:s}}catch(r){if(e.aborted)return{aborted:!0};throw r}}abort(){this.controller?.abort()}}const l=class{constructor(e){r(this,e),this.stickyCta=!1,this.shipments=[],this.request=new n,this.keepFirstExpanded=!1,this.itemIndex={byId:new Map,byUniqueName:new Map}}async componentWillLoad(){if(this.indexItems(this.items),await salla.onReady(),this.readInitialShipments(this.initialShipments),null==this.items)return this.fetchShipments();this.fetchShipments()}readInitialShipments(r){try{const e="string"==typeof r?JSON.parse(r):r;this.shipments=Array.isArray(e)?e:[]}catch{this.shipments=[]}}async onOrderIdChange(){this.shipments=[],await this.fetchShipments()}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>e(this)))}disconnectedCallback(){this.request.abort(),this.langUnsubscribe?.()}async openTrackingSheet(){await(this.sheet?.open())}async fetchShipments(){this.request.abort();const r=this.orderId||salla.config.get("page.id");if(r)try{const{aborted:e,result:s}=await this.request.run((e=>salla.order.api.getShipments(r,e)));if(e)return;const t=s?.data,i=Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];if(!i.length)return;this.keepFirstExpanded=!1===this.fallbackCard?.collapsed,this.shipments=i.every((r=>r.products?.length))||!this.shipments.length?i:this.shipments.map(((r,e)=>{const s=i.length===this.shipments.length?i[e]:void 0,t=i.find((e=>null!=e.id&&null!=r.id&&String(e.id)===String(r.id)))??(!s||null!=s.id&&null!=r.id?void 0:s);return t?{...r,...t,products:t.products?.length?t.products:r.products}:r}))}catch(r){const e=r?.response?.data?.error?.message||r?.response?.data?.message;e&&salla.notify.error(e)}}label(r,e){return salla.lang.getWithDefault(r,e)}get isSplit(){return this.shipments.length>1}slaText(r){if(r.sla)return r.sla;const e=r.estimated_delivery_at?new Date(r.estimated_delivery_at.replace(" ","T")).getTime():NaN,s=Math.ceil((e-Date.now())/864e5);return!Number.isFinite(s)||s<1?"":1===s?salla.lang.get("pages.thank_you.arrives_within_day"):salla.lang.get("pages.thank_you.arrives_within_days").replace(":days",salla.helpers.number(s))}trackingNumber(r){const e=r.number;return e&&0!==Number(e)?String(e):""}async copyTracking(r){try{await navigator.clipboard.writeText(r),salla.notify.success(this.label("common.elements.copied","تم النسخ"))}catch{}}shipmentTitle(r){return this.isSplit?salla.lang.get("pages.thank_you.shipment_number").replace(":number",salla.helpers.number(r+1)):salla.lang.get("pages.orders.shipment_details")}renderTracking(r){const e=this.trackingNumber(r);return e?s("button",{type:"button",class:"s-order-shipments-tracking",title:salla.lang.get("common.elements.copy"),onClick:()=>this.copyTracking(e)},s("span",{dir:"ltr"},"#",e),s("span",{innerHTML:i})):s("span",{class:"s-order-shipments-placeholder"},salla.lang.get("pages.thank_you.tracking_placeholder"))}renderCarrier(r){return s("div",{class:"s-order-shipments-carrier"},r.logo?s("img",{src:r.logo,class:"s-order-shipments-logo",alt:r.name||""}):null,s("div",{class:"s-order-shipments-carrier-text"},s("div",{class:"s-order-shipments-carrier-row"},this.slaText(r)?s("b",{class:"s-order-shipments-sla"},this.slaText(r)):null,s("div",{class:"s-order-shipments-info"},this.renderTracking(r))),r.name?s("span",{class:"s-order-shipments-name"},r.name):null))}renderTrackButton(r,e=!1){const t=o(r.tracking_url)||null,i=t?salla.lang.get("pages.orders.tracking"):salla.lang.get("pages.thank_you.track_after_ready");return s("a",{class:{"s-order-shipments-track":!0,"s-order-shipments-track-primary":e},href:t||void 0,target:t?"_blank":void 0,rel:t?"noopener":void 0,"aria-disabled":String(!t)},s("span",{innerHTML:a}),s("span",null,i))}indexItems(r){let e=[];try{const s="string"==typeof r?JSON.parse(r):r;Array.isArray(s)&&(e=s)}catch{}const s=new Map,t=new Map;for(const r of e)null!=r.id&&s.set(String(r.id),r),t.set(r.name,t.has(r.name)?null:r);const i=new Map([...t].filter((([,r])=>r)));this.itemIndex={byId:s,byUniqueName:i}}shipmentItems(r){if(!r.products?.length)return this.isSplit?[]:this.items;const{byId:e,byUniqueName:s}=this.itemIndex;return r.products.map((r=>{const t=null!=r.id&&e.get(String(r.id))||s.get(r.name);return{...r,price:t?.price??r.price,url:r.url??t?.url}}))}renderShipment(r,e){return s("salla-order-items",{class:"s-order-shipments-card",currency:this.currency,items:this.shipmentItems(r),cardTitle:this.shipmentTitle(e),summary:this.slaText(r)||void 0,logo:r.logo||void 0,collapsed:!(0===e&&this.keepFirstExpanded)},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.renderCarrier(r),this.renderTrackButton(r)))}renderSheet(){return s("salla-modal",{class:"s-order-shipments-modal",position:"middle",width:"md",ref:r=>{this.sheet=r,r?.setTitle?.(salla.lang.get("pages.thank_you.shipments_details"))}},s("div",{class:"s-order-shipments-sheet"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-sheet-item"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),s("div",{class:"s-order-shipments-thumbs"},(r.products||[]).map((r=>s("span",{class:"s-order-shipments-thumb",title:r.name},r.image?s("img",{src:r.image,alt:r.name}):null)))),this.renderCarrier(r),this.renderTrackButton(r))))))}renderCta(){return this.isSplit?s("button",{type:"button",class:"s-order-shipments-track s-order-shipments-track-primary",onClick:()=>this.openTrackingSheet()},s("span",{innerHTML:a}),s("span",null,salla.lang.get("pages.orders.tracking"))):this.renderTrackButton(this.shipments[0],!0)}renderFallbackCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!0})}renderUngroupedCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!this.keepFirstExpanded},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-shipment-tracking"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),this.renderCarrier(r),this.renderTrackButton(r))))))}render(){if(!this.shipments.length)return null!=this.items?s(t,{class:"s-order-shipments-wrapper"},this.renderFallbackCard()):s(t,{class:"s-order-shipments-empty"});const r=!this.isSplit||null==this.items||this.shipments.every((r=>r.products?.length));return s(t,{class:"s-order-shipments-wrapper"},s("div",{class:"s-order-shipments-list"},r?this.shipments.map(((r,e)=>this.renderShipment(r,e))):this.renderUngroupedCard()),this.stickyCta?s("div",{class:"s-order-shipments-cta"},this.renderCta()):null,this.isSplit?this.renderSheet():null)}static get watchers(){return{initialShipments:["readInitialShipments"],orderId:["onOrderIdChange"],items:["indexItems"]}}};l.style='/*!twlt*/:host{display:flex;flex-direction:column}@media not all and (min-width: 768px){.s-order-shipments-cta{position:fixed;left:0px;right:0px;bottom:0px;z-index:40;border-top-width:1px;border-color:var(--color-border,#eee);background-color:var(--color-surface,#fff);padding:1rem}.s-order-shipments-modal .s-modal-body{position:fixed;bottom:0px;left:0px;margin-top:0px;margin-bottom:0px;max-width:none;border-bottom-right-radius:0px;border-bottom-left-radius:0px;max-height:calc(100vh - 2rem) !important;overflow-y:auto !important;overflow-x:hidden !important}.s-order-shipments-modal .s-modal-body.s-modal-entering{--tw-translate-y:0px;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-order-shipments-modal .s-modal-body.s-modal-leaving{--tw-translate-y:1rem;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-order-shipments-wrapper:has(.s-order-shipments-cta):not(.s-thank-you-page-wrapper *){padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}}.fixed{position:fixed}.sticky{position:sticky}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-shipments-wrapper{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-empty{display:none}.s-order-shipments-list{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-card{display:block}.s-order-shipments-footer{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-shipment-tracking{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-carrier{display:flex;align-items:flex-start;gap:0.75rem}.s-order-shipments-logo{height:2.5rem;width:2.5rem;flex-shrink:0;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);object-fit:contain;padding:0.125rem}.s-order-shipments-carrier-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;font-size:0.75rem;line-height:1rem;color:var(--color-text-primary,#333)}.s-order-shipments-carrier-row{display:flex;width:100%;align-items:center;gap:1rem}.s-order-shipments-sla{min-width:0px;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.s-order-shipments-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-order-shipments-info{margin-inline-start:auto;flex-shrink:0;font-size:0.75rem;line-height:1rem;color:var(--color-text-secondary,#666)}.s-order-shipments-tracking{display:inline-flex;cursor:pointer;align-items:center;gap:0.25rem;border-width:0px;background-color:transparent;padding:0px;color:currentColor}.s-order-shipments-tracking svg{height:0.875rem;width:0.875rem;fill:currentColor}.s-order-shipments-placeholder{display:inline-flex;align-items:center;gap:0.25rem}.s-order-shipments-track{display:inline-flex;min-height:2.5rem;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary);text-decoration-line:none}.s-order-shipments-track svg{height:1rem;width:1rem;fill:currentColor}.s-order-shipments-track[aria-disabled=\'true\']{pointer-events:none;color:var(--color-text-secondary,#999)}.s-order-shipments-track-primary{min-height:3rem;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}@media (min-width: 768px){.s-order-shipments-cta{order:-1}}.s-order-shipments-sheet{display:flex;flex-direction:column;gap:0.75rem}@media (min-width: 768px){.s-order-shipments-sheet{gap:1.5rem}}.s-order-shipments-sheet-item{display:flex;flex-direction:column;gap:0.75rem;border-radius:1rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4);padding:0.75rem}.s-order-shipments-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-order-shipments-thumbs{display:flex;gap:0.5rem;overflow-x:auto}.s-order-shipments-thumb{display:inline-flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.75rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4)}.s-order-shipments-thumb img{display:block;height:100%;width:100%;object-fit:cover}.s-order-shipments-track-primary[aria-disabled=\'true\']{border-color:color-mix(in srgb,var(--color-primary) 60%,white);background-color:color-mix(in srgb,var(--color-primary) 60%,white);color:var(--color-primary-reverse)}.s-order-shipments-sheet-item .s-order-shipments-thumbs{margin-top:0.25rem}.s-order-shipments-sheet-item .s-order-shipments-carrier{border-top-width:1px;border-color:var(--color-border-light,#f4f4f4);padding-top:0.75rem}.s-order-shipments-sheet-item .s-order-shipments-logo{height:2.75rem;width:2.75rem;padding:0.125rem}.s-order-shipments-modal .s-modal-body{border-top-left-radius:1rem;border-top-right-radius:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-body{max-width:42rem;border-radius:1rem}}.s-order-shipments-modal .s-modal-padding{padding:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-padding{padding:2rem}}.s-order-shipments-modal .s-modal-header-inner{margin-bottom:0.75rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-inner{margin-bottom:1.5rem}}.s-order-shipments-modal .s-modal-header-content{text-align:start}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-content{text-align:start}}.s-order-shipments-modal .s-modal-title{margin-bottom:0px;font-size:1.125rem;line-height:1.75rem;color:var(--color-primary)}@media (min-width: 768px){.s-order-shipments-modal .s-modal-title{margin-bottom:0px}}.s-order-shipments-modal .s-modal-close{display:none}@media (min-width: 768px){.s-order-shipments-modal .s-modal-close{top:2rem;display:block;width:1.5rem;padding-left:0px;padding-right:0px}.s-order-shipments-modal .s-modal-close:where([dir="ltr"],[dir="ltr"] *){right:2rem}.s-order-shipments-modal .s-modal-close:where([dir="rtl"],[dir="rtl"] *){left:2rem}.s-order-shipments-modal .s-modal-close svg{width:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-carrier-text,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-info{font-size:0.875rem;line-height:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track{font-size:1rem;line-height:1.5rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-tracking svg{height:1.25rem;width:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1rem}@media (min-width: 640px){.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-carrier-row{flex-wrap:wrap;column-gap:0.75rem;row-gap:0.5rem}.s-thank-you-page-wrapper .s-order-shipments-info{max-width:100%;word-break:break-all}.s-thank-you-page-wrapper .s-order-shipments-tracking{max-width:100%}';export{l as salla_order_shipments}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as i,h as s,H as e,a as r}from"./p-ze9e0dxM.js";const a=class{constructor(s){t(this,s),this.giftCardRedeemed=i(this,"giftCardRedeemed"),this.code="",this.inlineForm=!1,this.pending=!1,this.error=null,this.redeemedOnce=!1,this.isDesktop=!1,this.modalView=null,this.result=null,this.mediaQueryList=null,this.mqlChangeHandler=t=>{this.isDesktop=t.matches,"form"===this.modalView&&this.isDesktop?(this.modalView=null,this.inlineForm=!0):this.inlineForm&&!this.isDesktop&&(this.inlineForm=!1,this.openModal("form"))},this.closeModal=()=>{this.modalView=null,this.modal?.close?.()},this.start=()=>{if(this.error=null,this.code="",this.isDesktop)return this.inlineForm=!0,void setTimeout((()=>this.field?.focus()),0);this.openModal("form")},this.cancel=()=>{this.inlineForm=!1,this.code="",this.error=null,this.closeModal()},this.handleInput=t=>{const i=t.target;this.code=(i.value||"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,16),i.value=this.code,this.error=null},this.onKeyUp=t=>{"Enter"===t.key&&(t.preventDefault(),this.redeem())},this.shopNow=()=>{this.closeModal(),window.location.href=salla.url.get("/")}}breakpointPx(){return 768}async componentWillLoad(){await salla.onReady(),this.mediaQueryList=window.matchMedia(`(min-width: ${this.breakpointPx()}px)`),this.isDesktop=this.mediaQueryList.matches,this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener("change",this.mqlChangeHandler):this.mediaQueryList.addListener&&this.mediaQueryList.addListener(this.mqlChangeHandler),await salla.lang.onLoaded()}disconnectedCallback(){this.mediaQueryList?.removeEventListener?this.mediaQueryList.removeEventListener("change",this.mqlChangeHandler):this.mediaQueryList?.removeListener&&this.mediaQueryList.removeListener(this.mqlChangeHandler)}tFirst(t,i){for(const s of t){const t=salla.lang.get(s,i);if(t&&t!==s)return t}return""}t(t,i){return this.tFirst([`pages.checkout.${t}`],i)}get canRedeem(){const t=salla.config.get("store.features",[]);return!salla.config.isGuest()&&t.includes("wallet-gift-card")&&t.includes("giftcard-redemption-form-enabled")}get isValidCode(){return/^[A-Z0-9]{16}$/.test(this.code)}get addLabel(){return this.t(this.redeemedOnce?"gift_card_add_another":"gift_card_add")}openModal(t){this.modalView=t,this.modal?.open?.(),"form"===t&&setTimeout((()=>this.field?.focus()),0)}toDate(t){if(!t)return null;const i="object"==typeof t?t.date??t.datetime??null:t;if("number"==typeof i){const t=new Date(i<1e12?1e3*i:i);return isNaN(t.getTime())?null:t}if("string"!=typeof i)return null;const s=new Date(i.replace(" ","T"));return isNaN(s.getTime())?null:s}expiryMonths(t){const i=this.toDate(t);if(!i)return null;const s=Math.round((i.getTime()-Date.now())/2630016e3);return s>0?s:null}formatMoney(t){try{return salla.money(t)||""}catch(t){return salla.logger?.warn?.("gift-card: could not format amount",t),""}}trackRedeem(t,i,s={}){salla.event.dispatch("giftcard::redeemed",{status:t,code:i?i.slice(0,4)+"X".repeat(Math.max(0,i.length-4)):"",...s})}async redeem(){if(this.pending||!this.isValidCode||!this.canRedeem)return;this.pending=!0,this.error=null;const t=this.code;try{const i=await salla.api.request("wallet/gift-card/redeem",{code:this.code},"post"),s=i?.data||{};this.code="",this.field&&(this.field.value=""),this.inlineForm=!1,this.redeemedOnce=!0,this.result=s,this.openModal("success"),this.giftCardRedeemed.emit(s),this.trackRedeem("success",t,{amount:s.amount,new_balance:s.new_balance,expires_at:s.expires_at})}catch(i){const s=i?.response?.data?.error?.fields;this.error=s?Object.values(s).flat().join(", "):i?.response?.data?.error?.message||this.t("gift_card_redeem_error"),this.inlineForm=!1,this.openModal("error"),this.trackRedeem("failed",t,{reason:this.error})}finally{this.pending=!1}}renderPrompt(){return s("div",{class:"s-gift-card-prompt"},s("div",{class:"s-gift-card-intro"},s("span",{class:"s-gift-card-mark"},s("i",{class:"sicon-gift","aria-hidden":"true"})),s("div",{class:"s-gift-card-copy"},s("p",{class:"s-gift-card-title"},this.t("gift_card_title")),s("p",{class:"s-gift-card-subtitle"},this.t("gift_card_subtitle")))),s("salla-button",{class:"s-gift-card-trigger",color:"primary",fill:"outline",onClick:this.start},s("span",null,this.addLabel)))}renderField(){return[s("label",{class:"s-gift-card-label",htmlFor:"gift_card_redeem_field"},this.tFirst(["pages.gift.code"])),s("input",{id:"gift_card_redeem_field",ref:t=>this.field=t,type:"text",maxlength:16,autocomplete:"off",class:"s-gift-card-input",value:this.code,disabled:this.pending,placeholder:this.t("gift_card_redeem_placeholder"),onInput:this.handleInput,onKeyUp:this.onKeyUp})]}renderSubmit(t=!1){return s("salla-button",{id:"gift_card_redeem_submit",color:"primary",width:t?"wide":"normal",loading:this.pending,"loader-position":"center",disabled:this.pending||!this.isValidCode,onClick:()=>this.redeem()},s("span",null,this.t("gift_card_redeem_confirm")))}renderInlineForm(){return s("div",{class:"s-gift-card-form"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(),s("button",{type:"button",class:"s-gift-card-cancel",disabled:this.pending,onClick:this.cancel},this.t("gift_card_cancel")))}renderSheetForm(){return s("div",{class:"s-gift-card-sheet"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(!0))}renderSuccess(){const t=this.formatMoney(this.result?.amount),i=this.expiryMonths(this.result?.expires_at),e=this.t("gift_card_success_title");return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-success",innerHTML:'\n<svg viewBox="0 0 96 96" width="72" height="72" role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">\n \x3c!-- burst --\x3e\n <g fill="#F5C242">\n <path d="M48 8l3.2 7.6L59 18l-6.2 5.3L54 31l-6-4-6 4 1.2-7.7L37 18l7.8-2.4z"/>\n <path d="M71 26l1.9 4.4L77 32l-3.6 3 .7 4.5-4.1-2.3-4.1 2.3.7-4.5L63 32l4.1-1.6z"/>\n <path d="M25 26l1.9 4.4L31 32l-3.6 3 .7 4.5L24 37.2 19.9 39.5l.7-4.5L17 32l4.1-1.6z"/>\n </g>\n <g fill="#E4572E" opacity=".9">\n <circle cx="30" cy="18" r="2.4"/>\n <circle cx="66" cy="18" r="2.4"/>\n <circle cx="48" cy="44" r="2.2"/>\n </g>\n \x3c!-- lid --\x3e\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57"/>\n \x3c!-- box --\x3e\n <path d="M25 58h46v26a4 4 0 0 1-4 4H29a4 4 0 0 1-4-4z" fill="#3AA76D"/>\n \x3c!-- ribbon --\x3e\n <rect x="44" y="46" width="8" height="42" fill="#F5F7F6"/>\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57" opacity="0"/>\n <rect x="44" y="46" width="8" height="12" fill="#E9EFEB"/>\n</svg>\n'}),e&&s("h3",{class:"s-gift-card-result-title"},e),s("p",{class:"s-gift-card-result-text",innerHTML:i?this.tFirst(["pages.checkout.gift_card_success_body_expiring","pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t,months:i}):this.tFirst(["pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t})}),s("salla-button",{color:"primary",width:"wide",onClick:this.shopNow},s("span",null,this.tFirst(["pages.loyalty_program.shop_now"]))))}renderError(){return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-error"},s("i",{class:"sicon-cancel","aria-hidden":"true"})),s("h3",{class:"s-gift-card-result-title"},this.tFirst(["pages.checkout.gift_card_failure_title","pages.checkout.gift_card_redeem_error"])),s("p",{class:"s-gift-card-result-text"},this.error))}render(){return this.canRedeem?s(e,{class:"s-gift-card"},s("div",{class:"s-gift-card-panel"},this.inlineForm&&this.isDesktop?this.renderInlineForm():this.renderPrompt()),s("salla-modal",{ref:t=>this.modal=t,class:"s-gift-card-modal",width:"sm",position:this.isDesktop?"middle":"bottom","modal-title":this.t("gift_card_redeem_label"),onModalVisibilityChanged:t=>{t.detail||(this.modalView=null)}},s("div",{class:"s-gift-card-modal-body"},"form"===this.modalView&&this.renderSheetForm(),"success"===this.modalView&&this.renderSuccess(),"error"===this.modalView&&this.renderError()))):null}};a.style='/*!twlt*/@charset "UTF-8";.s-gift-card{display:block;flex:1 1 auto;min-width:0}.s-gift-card-panel{height:100%;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box}.s-gift-card-prompt{display:flex;flex-direction:column;align-items:stretch;gap:16px;height:100%}.s-gift-card-intro{display:flex;align-items:center;gap:12px}.s-gift-card-mark{flex:0 0 auto;width:48px;height:48px;border-radius:9999px;background:#fdecef;color:#e8637c;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.s-gift-card-copy{min-width:0}.s-gift-card-title{margin:0;font-weight:700;font-size:15px;color:#1c1c1c}.s-gift-card-subtitle{margin:2px 0 0;font-size:12px;color:#9aa0a6}.s-gift-card-trigger{display:block}.s-gift-card-form{display:flex;align-items:flex-end;gap:12px}.s-gift-card-field{flex:1 1 auto;min-width:0}.s-gift-card-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#1c1c1c}.s-gift-card-input{width:100%;height:44px;padding:0 14px;box-sizing:border-box;border:1px solid #e6e8eb;border-radius:8px;background:#fff;font-size:13px;color:#1c1c1c}.s-gift-card-input::placeholder{color:#b7bcc2}.s-gift-card-input:focus{outline:none;border-color:var(--color-primary, #2e8b57)}.s-gift-card-cancel{flex:0 0 auto;height:44px;padding:0 8px;border:0;background:none;color:#6b7280;font-size:13px;cursor:pointer}.s-gift-card-cancel:disabled{opacity:0.5;cursor:default}.s-gift-card-sheet{display:flex;flex-direction:column;gap:16px;padding-top:4px}.s-gift-card-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 8px}.s-gift-card-result-mark{width:120px;height:120px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.s-gift-card-result-mark-success{background:#eaf7f0}.s-gift-card-result-mark-error{background:#fdeaea;color:#fff;font-size:34px}.s-gift-card-result-mark-error i{width:72px;height:72px;border-radius:9999px;background:#ea4b4b;display:inline-flex;align-items:center;justify-content:center}.s-gift-card-result-title{margin:0 0 10px;font-size:19px;font-weight:700;color:#1c1c1c}.s-gift-card-result-text{margin:0 0 22px;font-size:13px;line-height:1.7;color:#6b7280}@media screen and (min-width: 768px){.s-gift-card-panel{padding:22px 24px;display:flex;align-items:center}.s-gift-card-prompt{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%}.s-gift-card-trigger{flex:0 0 auto}.s-gift-card-form{width:100%}.s-gift-card-result{padding:8px 24px 16px}}.inline{display:inline}.contents{display:contents}.resize{resize:both}.uppercase{text-transform:uppercase}.outline{outline-style:solid}';const l=class{constructor(i){t(this,i),this.theme="default",this.show=!1,this.targetElement=null}handleMouseOver(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!0)}handleMouseOut(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!1)}componentDidLoad(){this.targetElement=document.getElementById(this.targetId)}render(){const t=["default","dark"].includes(this.theme)?this.theme:"default";return s("div",{key:"e78c348a4fdc3eae7b719a8c8f1f115d521a1965",class:"s-tooltip-container"},s("div",{key:"dc2137a53c1f5b2075d8a96d13c16ad216ca9b37",class:`s-tooltip-item s-tooltip-item--${t}`,style:{display:this.show?"block":"none"}},this.text?s("span",null,this.text):s("slot",null)))}get el(){return r(this)}};l.style='/*!twlt*/.s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;transform:translateX(-63%) translateY(-50%);background-color:var(--color-primary);color:var(--color-primary-reverse);bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:"";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.s-tooltip-item:dir(ltr){transform:translateX(-72%)}.s-tooltip-item--dark{background-color:#555555;color:white;padding:5px 15px;border-radius:8px;font-size:12px;font-weight:normal;max-width:330px;width:max-content}.s-tooltip-item--dark::after{border-color:#555555 transparent transparent transparent}.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}';export{a as salla_gift_card_redeem,l as salla_tooltip}
4
+ import{r as t,c as i,h as s,H as e,a as r}from"./p-g-_4am8C.js";const a=class{constructor(s){t(this,s),this.giftCardRedeemed=i(this,"giftCardRedeemed"),this.code="",this.inlineForm=!1,this.pending=!1,this.error=null,this.redeemedOnce=!1,this.isDesktop=!1,this.modalView=null,this.result=null,this.mediaQueryList=null,this.mqlChangeHandler=t=>{this.isDesktop=t.matches,"form"===this.modalView&&this.isDesktop?(this.modalView=null,this.inlineForm=!0):this.inlineForm&&!this.isDesktop&&(this.inlineForm=!1,this.openModal("form"))},this.closeModal=()=>{this.modalView=null,this.modal?.close?.()},this.start=()=>{if(this.error=null,this.code="",this.isDesktop)return this.inlineForm=!0,void setTimeout((()=>this.field?.focus()),0);this.openModal("form")},this.cancel=()=>{this.inlineForm=!1,this.code="",this.error=null,this.closeModal()},this.handleInput=t=>{const i=t.target;this.code=(i.value||"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,16),i.value=this.code,this.error=null},this.onKeyUp=t=>{"Enter"===t.key&&(t.preventDefault(),this.redeem())},this.shopNow=()=>{this.closeModal(),window.location.href=salla.url.get("/")}}breakpointPx(){return 768}async componentWillLoad(){await salla.onReady(),this.mediaQueryList=window.matchMedia(`(min-width: ${this.breakpointPx()}px)`),this.isDesktop=this.mediaQueryList.matches,this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener("change",this.mqlChangeHandler):this.mediaQueryList.addListener&&this.mediaQueryList.addListener(this.mqlChangeHandler),await salla.lang.onLoaded()}disconnectedCallback(){this.mediaQueryList?.removeEventListener?this.mediaQueryList.removeEventListener("change",this.mqlChangeHandler):this.mediaQueryList?.removeListener&&this.mediaQueryList.removeListener(this.mqlChangeHandler)}tFirst(t,i){for(const s of t){const t=salla.lang.get(s,i);if(t&&t!==s)return t}return""}t(t,i){return this.tFirst([`pages.checkout.${t}`],i)}get canRedeem(){const t=salla.config.get("store.features",[]);return!salla.config.isGuest()&&t.includes("wallet-gift-card")&&t.includes("giftcard-redemption-form-enabled")}get isValidCode(){return/^[A-Z0-9]{16}$/.test(this.code)}get addLabel(){return this.t(this.redeemedOnce?"gift_card_add_another":"gift_card_add")}openModal(t){this.modalView=t,this.modal?.open?.(),"form"===t&&setTimeout((()=>this.field?.focus()),0)}toDate(t){if(!t)return null;const i="object"==typeof t?t.date??t.datetime??null:t;if("number"==typeof i){const t=new Date(i<1e12?1e3*i:i);return isNaN(t.getTime())?null:t}if("string"!=typeof i)return null;const s=new Date(i.replace(" ","T"));return isNaN(s.getTime())?null:s}expiryMonths(t){const i=this.toDate(t);if(!i)return null;const s=Math.round((i.getTime()-Date.now())/2630016e3);return s>0?s:null}formatMoney(t){try{return salla.money(t)||""}catch(t){return salla.logger?.warn?.("gift-card: could not format amount",t),""}}trackRedeem(t,i,s={}){salla.event.dispatch("giftcard::redeemed",{status:t,code:i?i.slice(0,4)+"X".repeat(Math.max(0,i.length-4)):"",...s})}async redeem(){if(this.pending||!this.isValidCode||!this.canRedeem)return;this.pending=!0,this.error=null;const t=this.code;try{const i=await salla.api.request("wallet/gift-card/redeem",{code:this.code},"post"),s=i?.data||{};this.code="",this.field&&(this.field.value=""),this.inlineForm=!1,this.redeemedOnce=!0,this.result=s,this.openModal("success"),this.giftCardRedeemed.emit(s),this.trackRedeem("success",t,{amount:s.amount,new_balance:s.new_balance,expires_at:s.expires_at})}catch(i){const s=i?.response?.data?.error?.fields;this.error=s?Object.values(s).flat().join(", "):i?.response?.data?.error?.message||this.t("gift_card_redeem_error"),this.inlineForm=!1,this.openModal("error"),this.trackRedeem("failed",t,{reason:this.error})}finally{this.pending=!1}}renderPrompt(){return s("div",{class:"s-gift-card-prompt"},s("div",{class:"s-gift-card-intro"},s("span",{class:"s-gift-card-mark"},s("i",{class:"sicon-gift","aria-hidden":"true"})),s("div",{class:"s-gift-card-copy"},s("p",{class:"s-gift-card-title"},this.t("gift_card_title")),s("p",{class:"s-gift-card-subtitle"},this.t("gift_card_subtitle")))),s("salla-button",{class:"s-gift-card-trigger",color:"primary",fill:"outline",onClick:this.start},s("span",null,this.addLabel)))}renderField(){return[s("label",{class:"s-gift-card-label",htmlFor:"gift_card_redeem_field"},this.tFirst(["pages.gift.code"])),s("input",{id:"gift_card_redeem_field",ref:t=>this.field=t,type:"text",maxlength:16,autocomplete:"off",class:"s-gift-card-input",value:this.code,disabled:this.pending,placeholder:this.t("gift_card_redeem_placeholder"),onInput:this.handleInput,onKeyUp:this.onKeyUp})]}renderSubmit(t=!1){return s("salla-button",{id:"gift_card_redeem_submit",color:"primary",width:t?"wide":"normal",loading:this.pending,"loader-position":"center",disabled:this.pending||!this.isValidCode,onClick:()=>this.redeem()},s("span",null,this.t("gift_card_redeem_confirm")))}renderInlineForm(){return s("div",{class:"s-gift-card-form"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(),s("button",{type:"button",class:"s-gift-card-cancel",disabled:this.pending,onClick:this.cancel},this.t("gift_card_cancel")))}renderSheetForm(){return s("div",{class:"s-gift-card-sheet"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(!0))}renderSuccess(){const t=this.formatMoney(this.result?.amount),i=this.expiryMonths(this.result?.expires_at),e=this.t("gift_card_success_title");return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-success",innerHTML:'\n<svg viewBox="0 0 96 96" width="72" height="72" role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">\n \x3c!-- burst --\x3e\n <g fill="#F5C242">\n <path d="M48 8l3.2 7.6L59 18l-6.2 5.3L54 31l-6-4-6 4 1.2-7.7L37 18l7.8-2.4z"/>\n <path d="M71 26l1.9 4.4L77 32l-3.6 3 .7 4.5-4.1-2.3-4.1 2.3.7-4.5L63 32l4.1-1.6z"/>\n <path d="M25 26l1.9 4.4L31 32l-3.6 3 .7 4.5L24 37.2 19.9 39.5l.7-4.5L17 32l4.1-1.6z"/>\n </g>\n <g fill="#E4572E" opacity=".9">\n <circle cx="30" cy="18" r="2.4"/>\n <circle cx="66" cy="18" r="2.4"/>\n <circle cx="48" cy="44" r="2.2"/>\n </g>\n \x3c!-- lid --\x3e\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57"/>\n \x3c!-- box --\x3e\n <path d="M25 58h46v26a4 4 0 0 1-4 4H29a4 4 0 0 1-4-4z" fill="#3AA76D"/>\n \x3c!-- ribbon --\x3e\n <rect x="44" y="46" width="8" height="42" fill="#F5F7F6"/>\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57" opacity="0"/>\n <rect x="44" y="46" width="8" height="12" fill="#E9EFEB"/>\n</svg>\n'}),e&&s("h3",{class:"s-gift-card-result-title"},e),s("p",{class:"s-gift-card-result-text",innerHTML:i?this.tFirst(["pages.checkout.gift_card_success_body_expiring","pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t,months:i}):this.tFirst(["pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t})}),s("salla-button",{color:"primary",width:"wide",onClick:this.shopNow},s("span",null,this.tFirst(["pages.loyalty_program.shop_now"]))))}renderError(){return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-error"},s("i",{class:"sicon-cancel","aria-hidden":"true"})),s("h3",{class:"s-gift-card-result-title"},this.tFirst(["pages.checkout.gift_card_failure_title","pages.checkout.gift_card_redeem_error"])),s("p",{class:"s-gift-card-result-text"},this.error))}render(){return this.canRedeem?s(e,{class:"s-gift-card"},s("div",{class:"s-gift-card-panel"},this.inlineForm&&this.isDesktop?this.renderInlineForm():this.renderPrompt()),s("salla-modal",{ref:t=>this.modal=t,class:"s-gift-card-modal",width:"sm",position:this.isDesktop?"middle":"bottom","modal-title":this.t("gift_card_redeem_label"),onModalVisibilityChanged:t=>{t.detail||(this.modalView=null)}},s("div",{class:"s-gift-card-modal-body"},"form"===this.modalView&&this.renderSheetForm(),"success"===this.modalView&&this.renderSuccess(),"error"===this.modalView&&this.renderError()))):null}};a.style='/*!twlt*/@charset "UTF-8";.s-gift-card{display:block;flex:1 1 auto;min-width:0}.s-gift-card-panel{height:100%;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box}.s-gift-card-prompt{display:flex;flex-direction:column;align-items:stretch;gap:16px;height:100%}.s-gift-card-intro{display:flex;align-items:center;gap:12px}.s-gift-card-mark{flex:0 0 auto;width:48px;height:48px;border-radius:9999px;background:#fdecef;color:#e8637c;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.s-gift-card-copy{min-width:0}.s-gift-card-title{margin:0;font-weight:700;font-size:15px;color:#1c1c1c}.s-gift-card-subtitle{margin:2px 0 0;font-size:12px;color:#9aa0a6}.s-gift-card-trigger{display:block}.s-gift-card-form{display:flex;align-items:flex-end;gap:12px}.s-gift-card-field{flex:1 1 auto;min-width:0}.s-gift-card-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#1c1c1c}.s-gift-card-input{width:100%;height:44px;padding:0 14px;box-sizing:border-box;border:1px solid #e6e8eb;border-radius:8px;background:#fff;font-size:13px;color:#1c1c1c}.s-gift-card-input::placeholder{color:#b7bcc2}.s-gift-card-input:focus{outline:none;border-color:var(--color-primary, #2e8b57)}.s-gift-card-cancel{flex:0 0 auto;height:44px;padding:0 8px;border:0;background:none;color:#6b7280;font-size:13px;cursor:pointer}.s-gift-card-cancel:disabled{opacity:0.5;cursor:default}.s-gift-card-sheet{display:flex;flex-direction:column;gap:16px;padding-top:4px}.s-gift-card-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 8px}.s-gift-card-result-mark{width:120px;height:120px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.s-gift-card-result-mark-success{background:#eaf7f0}.s-gift-card-result-mark-error{background:#fdeaea;color:#fff;font-size:34px}.s-gift-card-result-mark-error i{width:72px;height:72px;border-radius:9999px;background:#ea4b4b;display:inline-flex;align-items:center;justify-content:center}.s-gift-card-result-title{margin:0 0 10px;font-size:19px;font-weight:700;color:#1c1c1c}.s-gift-card-result-text{margin:0 0 22px;font-size:13px;line-height:1.7;color:#6b7280}@media screen and (min-width: 768px){.s-gift-card-panel{padding:22px 24px;display:flex;align-items:center}.s-gift-card-prompt{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%}.s-gift-card-trigger{flex:0 0 auto}.s-gift-card-form{width:100%}.s-gift-card-result{padding:8px 24px 16px}}.inline{display:inline}.contents{display:contents}.resize{resize:both}.uppercase{text-transform:uppercase}.outline{outline-style:solid}';const l=class{constructor(i){t(this,i),this.theme="default",this.show=!1,this.targetElement=null}handleMouseOver(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!0)}handleMouseOut(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!1)}componentDidLoad(){this.targetElement=document.getElementById(this.targetId)}render(){const t=["default","dark"].includes(this.theme)?this.theme:"default";return s("div",{key:"e78c348a4fdc3eae7b719a8c8f1f115d521a1965",class:"s-tooltip-container"},s("div",{key:"dc2137a53c1f5b2075d8a96d13c16ad216ca9b37",class:`s-tooltip-item s-tooltip-item--${t}`,style:{display:this.show?"block":"none"}},this.text?s("span",null,this.text):s("slot",null)))}get el(){return r(this)}};l.style='/*!twlt*/.s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;transform:translateX(-63%) translateY(-50%);background-color:var(--color-primary);color:var(--color-primary-reverse);bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:"";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.s-tooltip-item:dir(ltr){transform:translateX(-72%)}.s-tooltip-item--dark{background-color:#555555;color:white;padding:5px 15px;border-radius:8px;font-size:12px;font-weight:normal;max-width:330px;width:max-content}.s-tooltip-item--dark::after{border-color:#555555 transparent transparent transparent}.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}';export{a as salla_gift_card_redeem,l as salla_tooltip}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as e,h as i,F as s,a as t}from"./p-ze9e0dxM.js";const a={title:{ar:"تحديث رقم الجوال",en:"Update your mobile number"},clarification:{ar:"رقم الجوال مكرر مع حساب آخر يبدو أنك تملك حساباً مسبقاً بهذا الرقم! يرجى تسجيل الدخول عبر البريد الإلكتروني، أو المتابعة باستخدام رقم جوال جديد.",en:"This mobile number is duplicated with another account. It looks like you already have an account with this number! Please log in with your email, or continue with a new mobile number."},choice:{ar:"هل هذا الرقم رقم جوالك؟ أكّد رقمك الحالي أو أدخل رقماً جديداً لإتمام الطلب.",en:"Is this your mobile number? Confirm your current number or enter a new one to complete the order."},same_number:{ar:"تأكيد رقمي الحالي",en:"Confirm my current number"},new_number:{ar:"استخدام رقم جديد",en:"Use a new number"},send_code:{ar:"إرسال رمز التحقق",en:"Send verification code"},exists:{ar:"رقم الجوال موجود مسبقاً",en:"Mobile number exists"},blocked:{ar:"يرجى إدخال رقم جوال جديد لإتمام الطلب",en:"Please provide a new mobile number to complete the order"},too_many:{ar:"تجاوزت عدد المحاولات المسموح بها، حاول مرة أخرى بعد 10 دقائق",en:"Too many attempts, please try again after 10 minutes"},back:{ar:"رجوع",en:"Back"}},l=class{constructor(i){e(this,i),this.options=["new_number"],this.step="mobile",this.mode="new_number",this.errorMessage="",this.fieldError="",this.phone={},this.completed=!1,this.sending=!1,this.flow=0,this.dialCode="",this.verifyCode=e=>("same_number"===this.mode?salla.api.profile.requiredMobile("requiredMobileSameVerify",{code:e.code}):salla.api.profile.requiredMobile("requiredMobileUpdate",{...this.phone,code:e.code})).then((e=>(this.completed=!0,salla.event.emit("mobile-update::updated",e),this.modal.close(),e))),this.resendCode=()=>this.requestCode().catch((e=>{this.fail(e,salla.lang.get("common.errors.error_occurred"))}))}t(e){const i=a[e],s="ar"===salla.lang.locale?i.ar:i.en;return salla.lang.getWithDefault({back:"common.elements.back",send_code:"pages.checkout.send_code"}[e]||`pages.mobile_update.${e}`,s)}async open(e={}){this.options=e.options?.length?e.options:["new_number"],this.completed=!1,this.sending=!1,this.flow++,this.errorMessage="",this.fieldError="",this.step=this.options.includes("same_number")?"choice":"mobile",this.mode="new_number",await this.modal.open()}onVisibilityChanged(e){e||this.completed||salla.event.emit("mobile-update::dismissed")}fail(e,i=""){const s=e?.response?.status,t=[].concat((e?.response?.data?.error?.fields||{}).phone||[])[0];this.errorMessage="",this.fieldError="",429!==s&&t?this.fieldError=this.t("exists"):this.errorMessage=429===s?this.t("too_many"):e?.response?.data?.error?.message||i}async sendCode(){if(this.sending)return;this.errorMessage="",this.fieldError="";const e=this.flow;this.sending=!0;try{if("new_number"===this.mode){if(!await this.telInput.isValid())return;const e=await this.telInput.getValues();this.phone={phone:e.phone,country_code:e.countryCode},this.dialCode=String(e.countryKey||"")}await this.requestCode(),e===this.flow&&(this.step="verify")}catch(i){e===this.flow&&this.fail(i,salla.lang.get("common.errors.error_occurred"))}finally{e===this.flow&&(this.sending=!1)}}requestCode(){return"same_number"===this.mode?salla.api.profile.requiredMobile("requiredMobileSameSend"):salla.api.profile.requiredMobile("requiredMobileSend",this.phone)}componentDidRender(){"verify"===this.step&&this.verify&&!this.verify.dataset.opened&&(this.verify.dataset.opened="true",this.verify.open({type:"mobile"}))}chooseMode(e){if(!this.sending){if(this.mode=e,this.errorMessage="",this.fieldError="","same_number"===e)return this.sendCode();this.step="mobile"}}changeNumber(){this.step="same_number"===this.mode?"choice":"mobile",this.errorMessage="",this.fieldError=""}sentTo(){return"same_number"===this.mode?String(salla.config.get("user.mobile","")||""):`${this.dialCode}${this.phone.phone||""}`}clarification(){return this.options.includes("same_number")?this.t("choice"):this.t("clarification")}body(){return"choice"===this.step?i(s,null,i("p",{class:"s-mobile-update-message"},this.clarification()),i("salla-button",{class:"s-mobile-update-same",width:"wide",onClick:()=>this.chooseMode("same_number")},this.t("same_number")),i("salla-button",{class:"s-mobile-update-new",width:"wide",color:"light",onClick:()=>this.chooseMode("new_number")},this.t("new_number"))):"mobile"===this.step?i(s,null,i("p",{class:"s-mobile-update-message"},this.clarification()),!this.options.includes("same_number")&&i("p",{class:"s-mobile-update-blocked"},this.t("blocked")),i("div",{class:"s-mobile-update-field"},i("salla-tel-input",{ref:e=>this.telInput=e}),this.fieldError&&i("span",{class:"s-tel-input-error-msg s-mobile-update-field-error"},this.fieldError)),i("salla-button",{class:"s-mobile-update-send",width:"wide",onClick:()=>this.sendCode()},this.t("send_code")),this.options.includes("same_number")&&i("salla-button",{class:"s-mobile-update-back",width:"wide",color:"light",fill:"outline",onClick:()=>{this.sending||(this.step="choice",this.errorMessage="",this.fieldError="")}},this.t("back"))):i(s,null,i("salla-verify",{display:"inline",type:"mobile",autoReload:!1,verifyHandler:this.verifyCode,resendHandler:this.resendCode,ref:e=>{this.verify=e}},i("b",{slot:"mobile",class:"s-mobile-update-number",dir:"ltr"},this.sentTo())),i("salla-button",{class:"s-mobile-update-change",width:"wide",color:"light",fill:"outline",onClick:()=>this.changeNumber()},this.t("back")))}render(){return i("salla-modal",{key:"9b414affef0063fc82fb99b0a065062aacf840be",class:"s-mobile-update-modal",width:"xs","is-closable":!0,"modal-title":this.t("title"),ref:e=>this.modal=e,onModalVisibilityChanged:e=>this.onVisibilityChanged(!!e.detail)},i("div",{key:"2de95104b0b048b47baa4a7472cea566e4e961e4",class:"s-mobile-update-content"},this.body(),this.errorMessage&&i("span",{key:"f8ccbd204e9dcaa31a48b2beb974a4b5d8691d53",class:"s-mobile-update-error"},this.errorMessage)))}get host(){return t(this)}};l.style="/*!twlt*/.s-mobile-update-content,.s-mobile-update-content salla-verify .s-verify-body{display:flex;flex-direction:column;gap:1rem}.s-mobile-update-message,.s-mobile-update-blocked{margin:0}.s-mobile-update-field{display:flex;flex-direction:column;gap:0.25rem}.s-mobile-update-field-error{display:block;color:#ef4444;font-size:0.875rem}.s-mobile-update-number{display:block;text-align:center}.s-mobile-update-content .s-verify-footer{display:flex;flex-direction:column;gap:1rem}.\\!visible{visibility:visible !important}.visible{visibility:visible}.inline{display:inline}.outline{outline-style:solid}";export{l as salla_mobile_update_modal}
4
+ import{r as e,h as i,F as s,a as t}from"./p-g-_4am8C.js";const a={title:{ar:"تحديث رقم الجوال",en:"Update your mobile number"},clarification:{ar:"رقم الجوال مكرر مع حساب آخر يبدو أنك تملك حساباً مسبقاً بهذا الرقم! يرجى تسجيل الدخول عبر البريد الإلكتروني، أو المتابعة باستخدام رقم جوال جديد.",en:"This mobile number is duplicated with another account. It looks like you already have an account with this number! Please log in with your email, or continue with a new mobile number."},choice:{ar:"هل هذا الرقم رقم جوالك؟ أكّد رقمك الحالي أو أدخل رقماً جديداً لإتمام الطلب.",en:"Is this your mobile number? Confirm your current number or enter a new one to complete the order."},same_number:{ar:"تأكيد رقمي الحالي",en:"Confirm my current number"},new_number:{ar:"استخدام رقم جديد",en:"Use a new number"},send_code:{ar:"إرسال رمز التحقق",en:"Send verification code"},exists:{ar:"رقم الجوال موجود مسبقاً",en:"Mobile number exists"},blocked:{ar:"يرجى إدخال رقم جوال جديد لإتمام الطلب",en:"Please provide a new mobile number to complete the order"},too_many:{ar:"تجاوزت عدد المحاولات المسموح بها، حاول مرة أخرى بعد 10 دقائق",en:"Too many attempts, please try again after 10 minutes"},back:{ar:"رجوع",en:"Back"}},l=class{constructor(i){e(this,i),this.options=["new_number"],this.step="mobile",this.mode="new_number",this.errorMessage="",this.fieldError="",this.phone={},this.completed=!1,this.sending=!1,this.flow=0,this.dialCode="",this.verifyCode=e=>("same_number"===this.mode?salla.api.profile.requiredMobile("requiredMobileSameVerify",{code:e.code}):salla.api.profile.requiredMobile("requiredMobileUpdate",{...this.phone,code:e.code})).then((e=>(this.completed=!0,salla.event.emit("mobile-update::updated",e),this.modal.close(),e))),this.resendCode=()=>this.requestCode().catch((e=>{this.fail(e,salla.lang.get("common.errors.error_occurred"))}))}t(e){const i=a[e],s="ar"===salla.lang.locale?i.ar:i.en;return salla.lang.getWithDefault({back:"common.elements.back",send_code:"pages.checkout.send_code"}[e]||`pages.mobile_update.${e}`,s)}async open(e={}){this.options=e.options?.length?e.options:["new_number"],this.completed=!1,this.sending=!1,this.flow++,this.errorMessage="",this.fieldError="",this.step=this.options.includes("same_number")?"choice":"mobile",this.mode="new_number",await this.modal.open()}onVisibilityChanged(e){e||this.completed||salla.event.emit("mobile-update::dismissed")}fail(e,i=""){const s=e?.response?.status,t=[].concat((e?.response?.data?.error?.fields||{}).phone||[])[0];this.errorMessage="",this.fieldError="",429!==s&&t?this.fieldError=this.t("exists"):this.errorMessage=429===s?this.t("too_many"):e?.response?.data?.error?.message||i}async sendCode(){if(this.sending)return;this.errorMessage="",this.fieldError="";const e=this.flow;this.sending=!0;try{if("new_number"===this.mode){if(!await this.telInput.isValid())return;const e=await this.telInput.getValues();this.phone={phone:e.phone,country_code:e.countryCode},this.dialCode=String(e.countryKey||"")}await this.requestCode(),e===this.flow&&(this.step="verify")}catch(i){e===this.flow&&this.fail(i,salla.lang.get("common.errors.error_occurred"))}finally{e===this.flow&&(this.sending=!1)}}requestCode(){return"same_number"===this.mode?salla.api.profile.requiredMobile("requiredMobileSameSend"):salla.api.profile.requiredMobile("requiredMobileSend",this.phone)}componentDidRender(){"verify"===this.step&&this.verify&&!this.verify.dataset.opened&&(this.verify.dataset.opened="true",this.verify.open({type:"mobile"}))}chooseMode(e){if(!this.sending){if(this.mode=e,this.errorMessage="",this.fieldError="","same_number"===e)return this.sendCode();this.step="mobile"}}changeNumber(){this.step="same_number"===this.mode?"choice":"mobile",this.errorMessage="",this.fieldError=""}sentTo(){return"same_number"===this.mode?String(salla.config.get("user.mobile","")||""):`${this.dialCode}${this.phone.phone||""}`}clarification(){return this.options.includes("same_number")?this.t("choice"):this.t("clarification")}body(){return"choice"===this.step?i(s,null,i("p",{class:"s-mobile-update-message"},this.clarification()),i("salla-button",{class:"s-mobile-update-same",width:"wide",onClick:()=>this.chooseMode("same_number")},this.t("same_number")),i("salla-button",{class:"s-mobile-update-new",width:"wide",color:"light",onClick:()=>this.chooseMode("new_number")},this.t("new_number"))):"mobile"===this.step?i(s,null,i("p",{class:"s-mobile-update-message"},this.clarification()),!this.options.includes("same_number")&&i("p",{class:"s-mobile-update-blocked"},this.t("blocked")),i("div",{class:"s-mobile-update-field"},i("salla-tel-input",{ref:e=>this.telInput=e}),this.fieldError&&i("span",{class:"s-tel-input-error-msg s-mobile-update-field-error"},this.fieldError)),i("salla-button",{class:"s-mobile-update-send",width:"wide",onClick:()=>this.sendCode()},this.t("send_code")),this.options.includes("same_number")&&i("salla-button",{class:"s-mobile-update-back",width:"wide",color:"light",fill:"outline",onClick:()=>{this.sending||(this.step="choice",this.errorMessage="",this.fieldError="")}},this.t("back"))):i(s,null,i("salla-verify",{display:"inline",type:"mobile",autoReload:!1,verifyHandler:this.verifyCode,resendHandler:this.resendCode,ref:e=>{this.verify=e}},i("b",{slot:"mobile",class:"s-mobile-update-number",dir:"ltr"},this.sentTo())),i("salla-button",{class:"s-mobile-update-change",width:"wide",color:"light",fill:"outline",onClick:()=>this.changeNumber()},this.t("back")))}render(){return i("salla-modal",{key:"9b414affef0063fc82fb99b0a065062aacf840be",class:"s-mobile-update-modal",width:"xs","is-closable":!0,"modal-title":this.t("title"),ref:e=>this.modal=e,onModalVisibilityChanged:e=>this.onVisibilityChanged(!!e.detail)},i("div",{key:"2de95104b0b048b47baa4a7472cea566e4e961e4",class:"s-mobile-update-content"},this.body(),this.errorMessage&&i("span",{key:"f8ccbd204e9dcaa31a48b2beb974a4b5d8691d53",class:"s-mobile-update-error"},this.errorMessage)))}get host(){return t(this)}};l.style="/*!twlt*/.s-mobile-update-content,.s-mobile-update-content salla-verify .s-verify-body{display:flex;flex-direction:column;gap:1rem}.s-mobile-update-message,.s-mobile-update-blocked{margin:0}.s-mobile-update-field{display:flex;flex-direction:column;gap:0.25rem}.s-mobile-update-field-error{display:block;color:#ef4444;font-size:0.875rem}.s-mobile-update-number{display:block;text-align:center}.s-mobile-update-content .s-verify-footer{display:flex;flex-direction:column;gap:1rem}.\\!visible{visibility:visible !important}.visible{visibility:visible}.inline{display:inline}.outline{outline-style:solid}";export{l as salla_mobile_update_modal}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as e,h as r,H as i,a as s}from"./p-ze9e0dxM.js";import{H as o,F as a}from"./p-wYYV5ykR.js";const l=class{constructor(r){t(this,r),this.changed=e(this,"changed"),this.isReady=!1,this.isInitialFetch=!0,this.filtersData={},this.filtersHiddenListener=()=>this.host.style.display="none",this.filtersFetchedListener=({filters:t})=>{this.host.style.display="";let e={};this.filters=o.resolveFilterLabels(t).map((t=>{this.filtersData.variants&&t.type==a.VARIANTS&&(e.variants=this.filtersData.variants),this.filtersData[t.key]&&t.type!==a.VARIANTS&&(e[t.key]=this.filtersData[t.key]);let r=new URLSearchParams(window.location.search),i=!1;for(let t of r.keys())if(t.includes("filters")){i=!0;break}if(this.isInitialFetch&&"product.index"==salla.config.get("page.slug")&&0==Object.keys(e).length&&!i){let t=window.location.href,r=salla.config.get("page.id"),i=-1!==t.indexOf("?")?"&":"?",s=t+i+"filters[category_id]="+r;e.category_id=r,window.history.pushState({path:s},"",s)}return t})),this.isInitialFetch=!1,this.filtersData=e,this.host.childNodes.forEach((async t=>t.setWidgetHeight&&await t.setWidgetHeight()))}}connectedCallback(){salla.event.on("filters::hidden",this.filtersHiddenListener),salla.event.on("filters::fetched",this.filtersFetchedListener),this.langUnsubscribe=salla.lang.subscribe((()=>{this.apply=salla.lang.get("pages.checkout.apply")}))}disconnectedCallback(){salla.event.off("filters::hidden",this.filtersHiddenListener),salla.event.off("filters::fetched",this.filtersFetchedListener),this.langUnsubscribe?.()}async componentWillLoad(){try{const t=new URLSearchParams(window.location.search);this.filtersData=await o.extractFiltersFromUrl(t)}catch(t){console.warn("failed to get filters from URL",t.message)}}async getFilters(){return this.filtersData}async applyFilters(){if(!this.isReady)return;let t=Object.keys(this.filtersData).length>0;setTimeout((()=>{if(t){let t=new URL(window.location.href);for(const[e]of t.searchParams.entries())e.startsWith("filters")&&t.searchParams.delete(e);let e=this.encodeFilters(this.filtersData),r=t.search.split("&").filter((t=>!t.includes("filters"))).join("&");t.search=r?t.search.split("&filters")[0]+"&"+e:`?${e}`,window.history.pushState({},"",t.href)}else{let t=new URL(window.location.href);t.searchParams?.delete("filters"),window.history.pushState({},"",t.toString())}salla.event.emit("salla-filters::changed",this.filtersData),this.changed.emit(this.filtersData)}),300)}encodeFilters(t,e="filters"){const r=[];for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const s=t[i],o=e?`${e}[${i}]`:i;Array.isArray(s)?s.forEach((t=>r.push(`${o}[]=${t}`))):r.push("object"==typeof s&&null!==s?this.encodeFilters(s,o):`${o}=${s}`)}return r.join("&")}async resetFilters(){return this.removeFiltersQueryParams(),this.filtersData={},this.host.childNodes.forEach((t=>t.reset&&t.reset())),salla.event.emit("salla-filters::reset"),this.applyFilters()}removeFiltersQueryParams(){const t=new URLSearchParams(window.location.search),e=Array.from(t.keys()).filter((t=>!t.startsWith("filters["))).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t.get(e))}`)).join("&"),r=e?`${window.location.pathname}?${e}`:window.location.pathname;window.history.pushState({},"",r)}handleOptionChange(t,e,r){e.type===a.RANGE&&(this.filtersData[e.key]=r);let i=t.target.checked;if(e.type===a.VARIANTS)this.filtersData.variants=this.filtersData.variants||{},i&&(this.filtersData.variants[e.key]=r),i||delete this.filtersData.variants[e.key];else if("radio"==t.target.type)i&&(this.filtersData[e.key]=r),i||delete this.filtersData[e.key];else if("checkbox"==t.target.type){const t=this.filtersData[e.key];this.filtersData[e.key]=Array.isArray(t)?t:null!=t?[t]:[],i?this.filtersData[e.key].push(r):this.filtersData[e.key]=this.filtersData[e.key].filter((t=>t!=r)),this.filtersData[e.key].length||delete this.filtersData[e.key]}this.filtersData={...this.filtersData},this.applyFilters()}async removeFilter(t){if(t.type===a.VARIANTS)this.filtersData.variants&&(delete this.filtersData.variants[t.variantKey],Object.keys(this.filtersData.variants).length||delete this.filtersData.variants);else if(t.type===a.RANGE)delete this.filtersData[t.key];else{const e=this.filtersData[t.key];Array.isArray(e)?(this.filtersData[t.key]=e.filter((e=>e!=t.value)),this.filtersData[t.key].length||delete this.filtersData[t.key]):delete this.filtersData[t.key]}this.filtersData={...this.filtersData},this.applyFilters()}render(){return r(i,{key:"dfc60c3352c657da578fceb160e2442024e9ff57"},this.filters?.map((t=>r("salla-filters-widget",{option:t,filtersData:this.filtersData,onChanged:({detail:{event:t,option:e,value:r}})=>{this.handleOptionChange(t,e,r)}}))))}componentDidLoad(){this.isReady=!0}get host(){return s(this)}};l.style='/*!twlt*/:host{display:block}.s-rating-stars-small{line-height:12px}.s-filters-radio{background-image:none !important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-filters-checkbox{height:1.25rem;width:1.25rem;border-radius:6px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));color:var(--color-primary)}.s-filters-checkbox:focus{--tw-ring-color:transparent}.s-filters-radio{position:relative;height:1rem;width:1rem;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;color:var(--color-primary)}.s-filters-radio:focus{--tw-ring-color:transparent}.s-filters-radio:where([dir="ltr"],[dir="ltr"] *){margin-right:0.75rem}.s-filters-radio:where([dir="rtl"],[dir="rtl"] *){margin-left:0.75rem}.s-filters-radio:checked{border-color:var(--color-primary)}.s-filters-radio:checked::after{position:absolute;left:0.125rem;top:0.125rem;display:block;height:0.625rem;width:0.625rem;border-radius:9999px;background-color:var(--color-primary);--tw-content:\'\';content:var(--tw-content)}.s-filters-radio:checked:hover{border-color:var(--color-primary)}.s-filters-radio:checked:focus{border-color:var(--color-primary)}.s-filters-label{position:relative;margin-bottom:0.75rem;display:flex;cursor:pointer;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}.s-filters-label:last-child{margin-bottom:0px}.s-filters-option-name{margin-left:0.5rem;margin-right:0.5rem;--tw-text-opacity:1;color:rgb(129 127 127 / var(--tw-text-opacity, 1))}.s-filters-footer{margin-top:1rem;display:flex}.s-filters-footer salla-button{flex:1 1 0%}.s-filters-footer salla-button button{width:100%}';export{l as salla_filters}
4
+ import{r as t,c as e,h as r,H as i,a as s}from"./p-g-_4am8C.js";import{H as o,F as a}from"./p-EXd4paYi.js";const l=class{constructor(r){t(this,r),this.changed=e(this,"changed"),this.isReady=!1,this.isInitialFetch=!0,this.filtersData={},this.filtersHiddenListener=()=>this.host.style.display="none",this.filtersFetchedListener=({filters:t})=>{this.host.style.display="";let e={};this.filters=o.resolveFilterLabels(t).map((t=>{this.filtersData.variants&&t.type==a.VARIANTS&&(e.variants=this.filtersData.variants),this.filtersData[t.key]&&t.type!==a.VARIANTS&&(e[t.key]=this.filtersData[t.key]);let r=new URLSearchParams(window.location.search),i=!1;for(let t of r.keys())if(t.includes("filters")){i=!0;break}if(this.isInitialFetch&&"product.index"==salla.config.get("page.slug")&&0==Object.keys(e).length&&!i){let t=window.location.href,r=salla.config.get("page.id"),i=-1!==t.indexOf("?")?"&":"?",s=t+i+"filters[category_id]="+r;e.category_id=r,window.history.pushState({path:s},"",s)}return t})),this.isInitialFetch=!1,this.filtersData=e,this.host.childNodes.forEach((async t=>t.setWidgetHeight&&await t.setWidgetHeight()))}}connectedCallback(){salla.event.on("filters::hidden",this.filtersHiddenListener),salla.event.on("filters::fetched",this.filtersFetchedListener),this.langUnsubscribe=salla.lang.subscribe((()=>{this.apply=salla.lang.get("pages.checkout.apply")}))}disconnectedCallback(){salla.event.off("filters::hidden",this.filtersHiddenListener),salla.event.off("filters::fetched",this.filtersFetchedListener),this.langUnsubscribe?.()}async componentWillLoad(){try{const t=new URLSearchParams(window.location.search);this.filtersData=await o.extractFiltersFromUrl(t)}catch(t){console.warn("failed to get filters from URL",t.message)}}async getFilters(){return this.filtersData}async applyFilters(){if(!this.isReady)return;let t=Object.keys(this.filtersData).length>0;setTimeout((()=>{if(t){let t=new URL(window.location.href);for(const[e]of t.searchParams.entries())e.startsWith("filters")&&t.searchParams.delete(e);let e=this.encodeFilters(this.filtersData),r=t.search.split("&").filter((t=>!t.includes("filters"))).join("&");t.search=r?t.search.split("&filters")[0]+"&"+e:`?${e}`,window.history.pushState({},"",t.href)}else{let t=new URL(window.location.href);t.searchParams?.delete("filters"),window.history.pushState({},"",t.toString())}salla.event.emit("salla-filters::changed",this.filtersData),this.changed.emit(this.filtersData)}),300)}encodeFilters(t,e="filters"){const r=[];for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const s=t[i],o=e?`${e}[${i}]`:i;Array.isArray(s)?s.forEach((t=>r.push(`${o}[]=${t}`))):r.push("object"==typeof s&&null!==s?this.encodeFilters(s,o):`${o}=${s}`)}return r.join("&")}async resetFilters(){return this.removeFiltersQueryParams(),this.filtersData={},this.host.childNodes.forEach((t=>t.reset&&t.reset())),salla.event.emit("salla-filters::reset"),this.applyFilters()}removeFiltersQueryParams(){const t=new URLSearchParams(window.location.search),e=Array.from(t.keys()).filter((t=>!t.startsWith("filters["))).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t.get(e))}`)).join("&"),r=e?`${window.location.pathname}?${e}`:window.location.pathname;window.history.pushState({},"",r)}handleOptionChange(t,e,r){e.type===a.RANGE&&(this.filtersData[e.key]=r);let i=t.target.checked;if(e.type===a.VARIANTS)this.filtersData.variants=this.filtersData.variants||{},i&&(this.filtersData.variants[e.key]=r),i||delete this.filtersData.variants[e.key];else if("radio"==t.target.type)i&&(this.filtersData[e.key]=r),i||delete this.filtersData[e.key];else if("checkbox"==t.target.type){const t=this.filtersData[e.key];this.filtersData[e.key]=Array.isArray(t)?t:null!=t?[t]:[],i?this.filtersData[e.key].push(r):this.filtersData[e.key]=this.filtersData[e.key].filter((t=>t!=r)),this.filtersData[e.key].length||delete this.filtersData[e.key]}this.filtersData={...this.filtersData},this.applyFilters()}async removeFilter(t){if(t.type===a.VARIANTS)this.filtersData.variants&&(delete this.filtersData.variants[t.variantKey],Object.keys(this.filtersData.variants).length||delete this.filtersData.variants);else if(t.type===a.RANGE)delete this.filtersData[t.key];else{const e=this.filtersData[t.key];Array.isArray(e)?(this.filtersData[t.key]=e.filter((e=>e!=t.value)),this.filtersData[t.key].length||delete this.filtersData[t.key]):delete this.filtersData[t.key]}this.filtersData={...this.filtersData},this.applyFilters()}render(){return r(i,{key:"dfc60c3352c657da578fceb160e2442024e9ff57"},this.filters?.map((t=>r("salla-filters-widget",{option:t,filtersData:this.filtersData,onChanged:({detail:{event:t,option:e,value:r}})=>{this.handleOptionChange(t,e,r)}}))))}componentDidLoad(){this.isReady=!0}get host(){return s(this)}};l.style='/*!twlt*/:host{display:block}.s-rating-stars-small{line-height:12px}.s-filters-radio{background-image:none !important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-filters-checkbox{height:1.25rem;width:1.25rem;border-radius:6px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));color:var(--color-primary)}.s-filters-checkbox:focus{--tw-ring-color:transparent}.s-filters-radio{position:relative;height:1rem;width:1rem;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;color:var(--color-primary)}.s-filters-radio:focus{--tw-ring-color:transparent}.s-filters-radio:where([dir="ltr"],[dir="ltr"] *){margin-right:0.75rem}.s-filters-radio:where([dir="rtl"],[dir="rtl"] *){margin-left:0.75rem}.s-filters-radio:checked{border-color:var(--color-primary)}.s-filters-radio:checked::after{position:absolute;left:0.125rem;top:0.125rem;display:block;height:0.625rem;width:0.625rem;border-radius:9999px;background-color:var(--color-primary);--tw-content:\'\';content:var(--tw-content)}.s-filters-radio:checked:hover{border-color:var(--color-primary)}.s-filters-radio:checked:focus{border-color:var(--color-primary)}.s-filters-label{position:relative;margin-bottom:0.75rem;display:flex;cursor:pointer;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}.s-filters-label:last-child{margin-bottom:0px}.s-filters-option-name{margin-left:0.5rem;margin-right:0.5rem;--tw-text-opacity:1;color:rgb(129 127 127 / var(--tw-text-opacity, 1))}.s-filters-footer{margin-top:1rem;display:flex}.s-filters-footer salla-button{flex:1 1 0%}.s-filters-footer salla-button button{width:100%}';export{l as salla_filters}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as t,h as a,H as s,a as r}from"./p-g-_4am8C.js";import{I as i}from"./p-OdOOjQZO.js";const e=[{label:"100px",value:"56px"},{label:"72px",value:"64px"},{label:"96px",value:"48px"}],n=class{constructor(a){t(this,a),this.validateForms=!0,this.cartCount=0,this.cartTotal=0,this.cartTotalDiscount=0,this.cartCashbackAmount=0,this.cartSubTotal=0,this.cartOptionsTotal=0,this.cartServiceFees=[],this.cartShippingCost=0,this.cartTaxAmount=0,this.cartHasShipping=!1,this.isOpen=!1,this.isDesktop=!1,this.isLoading=!0,this.feeTip=null,this.showFeeTip=(t,a)=>{const s=a.currentTarget;if(!s)return;const r=s.getBoundingClientRect();this.feeTip={key:t,top:Math.round(r.bottom+8),left:this.clampFeeTipLeft(r.left+r.width/2)},this.bindFeeTipDismiss()},this.hideFeeTip=()=>{this.feeTip=null,this.unbindFeeTipDismiss()},this.originalParent=null,this.originalNextSibling=null,this.bodyObserver=null,this.mediaQueryList=null,this.submitObserver=null,this.isSubmitting=!1,this.feeTipDismissBound=!1,this.mqlChangeHandler=t=>{this.isDesktop=t.matches,this.applyMode()},this.cartEventNames=["cart::details.fetched","cart::updated","cart::latest.fetched","cart::coupon.added","cart::coupon.deleted"],this.cartEventHandler=t=>this.applyCartData(this.extractCart(t)),this.releaseSubmitLoading=()=>{this.submitObserver?.disconnect(),this.submitObserver=null,this.submitObserverTimeout&&(clearTimeout(this.submitObserverTimeout),this.submitObserverTimeout=void 0),this.host.querySelector("#s-cart-summary-card-submit")?.removeAttribute?.("loading")},this.toggleSheet=()=>{this.isDesktop||(this.isOpen=!this.isOpen,this.isOpen||this.hideFeeTip())},this.handleSubmit=async t=>{if(this.isSubmitting)return void t.preventDefault();if(this.isSubmitting=!0,this.validateForms&&!await this.validateCartForms())return t.preventDefault(),salla.notify?.error?.(salla.lang?.get?.("common.messages.required_fields")),void(this.isSubmitting=!1);const a=this.host.querySelector("#s-cart-summary-card-submit");a&&(a.load?.(),this.submitObserver?.disconnect(),this.submitObserverTimeout&&clearTimeout(this.submitObserverTimeout),this.submitObserver=new MutationObserver((()=>{a.hasAttribute("loading")||a.setAttribute("loading","")})),this.submitObserver.observe(a,{attributes:!0,attributeFilter:["loading"]}),this.submitObserverTimeout=window.setTimeout((()=>{this.submitObserver?.disconnect(),this.submitObserver=null,a.removeAttribute?.("loading")}),1e4)),salla.cart?.submit?.(),window.setTimeout((()=>{this.isSubmitting=!1}),1500)}}componentWillLoad(){this.mediaQueryList=window.matchMedia(this.desktopMediaQuery()),this.isDesktop=this.mediaQueryList.matches,this.isDesktop&&(this.isOpen=!0),this.init()}async init(){await salla.onReady(),await salla.lang.onLoaded(),this.loadTranslations(),this.cartEventNames.forEach((t=>salla.event.on(t,this.cartEventHandler))),salla.event.on("cart::submit.failed",this.releaseSubmitLoading),this.fetchCart()}loadTranslations(){this.summaryLabel=salla.lang.get("pages.cart.summary"),this.itemsTotalLabel=salla.lang.get("pages.cart.items_total"),this.itemsTotalNoTaxLabel=salla.lang.get("pages.cart.items_total_without_tax"),this.optionsTotalLabel=salla.lang.get("pages.cart.order_options_total"),this.shippingCostLabel=salla.lang.get("pages.cart.shipping_cost"),this.vatTaxLabel=salla.lang.get("pages.cart.VAT_tax_amount"),this.savedLabel=salla.lang.get("pages.cart.discount"),this.discountBadge=salla.lang.get("pages.cart.saved"),this.cashbackLabel=salla.lang.get("pages.checkout.cashback"),this.finalTotalLabel=salla.lang.get("pages.cart.final_total"),this.pricesTaxedLabel=salla.lang.get("pages.cart.prices_taxed"),this.completeOrderLabel=salla.lang.get("pages.cart.complete_order"),this.openSummaryLabel=salla.lang.get("pages.cart.open_summary"),this.closeSummaryLabel=salla.lang.get("pages.cart.close_summary"),this.minimumLabel=salla.lang.get("pages.cart.minimum"),this.maximumLabel=salla.lang.get("pages.cart.up_to"),this.itemsCountTemplate=salla.lang.get("pages.cart.items_with_count")}num(t){if(null==t)return 0;if("number"==typeof t)return isFinite(t)?t:0;if("string"==typeof t)return parseFloat(t)||0;if("object"==typeof t){if("amount"in t)return this.num(t.amount);if("value"in t)return this.num(t.value);if("formatted"in t)return this.num(t.formatted)}return 0}optionalBound(t){if(null==t||""===t)return null;const a=this.num(t);return Number.isFinite(a)&&a>0?a:null}mapServiceFees(t){return t.flatMap(((t,a)=>{const s=String(t?.title??"").trim(),r=this.num(t?.amount);return!s||r<=0?[]:[{key:String(a),title:s,amount:r,minAmount:this.optionalBound(t?.min_amount??t?.min_service_amount),maxAmount:this.optionalBound(t?.max_amount??t?.max_service_amount)}]}))}plainMoney(t){return this.money(t).replace(/<i[^>]*sicon-sar[^>]*>.*?<\/i>/gi," SAR").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim()}serviceFeeBoundLines(t){const a=[];return null!==t.minAmount&&a.push({label:this.minimumLabel,amount:t.minAmount}),null!==t.maxAmount&&a.push({label:this.maximumLabel,amount:t.maxAmount}),a}clampFeeTipLeft(t){const a=Math.min(220,Math.max(132,window.innerWidth-24))/2,s=12+a,r=window.innerWidth-12-a;return r<=s?Math.round(window.innerWidth/2):Math.round(Math.min(Math.max(t,s),r))}bindFeeTipDismiss(){this.feeTipDismissBound||(window.addEventListener("scroll",this.hideFeeTip,!0),window.addEventListener("resize",this.hideFeeTip),this.feeTipDismissBound=!0)}unbindFeeTipDismiss(){this.feeTipDismissBound&&(window.removeEventListener("scroll",this.hideFeeTip,!0),window.removeEventListener("resize",this.hideFeeTip),this.feeTipDismissBound=!1)}renderServiceFeeBoundsTip(t){const s=this.serviceFeeBoundLines(t);return s.length?a("span",{class:"s-cart-summary-card-fee-tip-wrap",onMouseEnter:a=>this.showFeeTip(t.key,a),onMouseLeave:this.hideFeeTip},a("button",{type:"button",class:"s-cart-summary-card-fee-tip","aria-label":s.map((t=>`${t.label}: ${this.plainMoney(t.amount)}`)).join(", "),innerHTML:i,onFocus:a=>this.showFeeTip(t.key,a),onBlur:this.hideFeeTip})):null}renderFixedFeeTipBubble(){if(!this.feeTip)return null;const t=this.cartServiceFees.find((t=>t.key===this.feeTip.key)),s=t?this.serviceFeeBoundLines(t):[];return s.length?a("span",{class:"s-cart-summary-card-fee-tip-bubble",role:"tooltip",style:{top:`${this.feeTip.top}px`,left:`${this.feeTip.left}px`}},s.map((t=>a("span",{class:"s-cart-summary-card-fee-tip-line",key:t.label},a("span",{class:"s-cart-summary-card-fee-tip-line-label"},t.label),a("span",{class:"s-cart-summary-card-fee-tip-line-value"},this.plainMoney(t.amount)))))):null}breakpointPx(){return 1024}desktopMediaQuery(){return`(min-width: ${this.breakpointPx()}px)`}componentDidLoad(){this.originalParent=this.host.parentElement,this.originalNextSibling=this.host.nextSibling,this.mediaQueryList||(this.mediaQueryList=window.matchMedia(this.desktopMediaQuery()),this.isDesktop=this.mediaQueryList.matches),this.applyMode(),this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener("change",this.mqlChangeHandler):this.mediaQueryList.addListener(this.mqlChangeHandler)}applyMode(){this.isDesktop?(this.isOpen=!0,this.bodyObserver?.disconnect(),this.bodyObserver=null,this.originalParent&&this.host.parentElement!==this.originalParent&&this.originalParent.insertBefore(this.host,this.originalNextSibling?.parentNode===this.originalParent?this.originalNextSibling:null)):this.pinToBodyEnd()}pinToBodyEnd(){this.host.parentElement===document.body&&document.body.lastElementChild===this.host||document.body.appendChild(this.host),this.bodyObserver||(this.bodyObserver=new MutationObserver((()=>{this.isDesktop||document.body.lastElementChild===this.host||document.body.appendChild(this.host)})),this.bodyObserver.observe(document.body,{childList:!0}))}disconnectedCallback(){Promise.resolve().then((()=>{this.host.isConnected||(this.bodyObserver?.disconnect(),this.submitObserver?.disconnect(),this.submitObserverTimeout&&(clearTimeout(this.submitObserverTimeout),this.submitObserverTimeout=void 0),this.mediaQueryList?.removeEventListener?this.mediaQueryList.removeEventListener("change",this.mqlChangeHandler):this.mediaQueryList?.removeListener(this.mqlChangeHandler),this.mediaQueryList=null,this.unbindFeeTipDismiss(),this.cartEventNames.forEach((t=>salla.event.off(t,this.cartEventHandler))),salla.event.off("cart::submit.failed",this.releaseSubmitLoading))}))}fetchCart(){const t=salla.config?.get?.("page.id"),a=salla.cart?.api?.details?.(t);a&&"function"==typeof a.then?a.then((t=>this.applyCartData(this.extractCart(t)))).catch((()=>this.applyCachedSummary())):this.applyCachedSummary()}applyCachedSummary(){const t=salla.storage?.get?.("cart.summary");t&&"object"==typeof t&&this.applyCartData(t,!1),this.isLoading=!1}extractCart(t){return t?t.data?.cart?t.data.cart:t.cart?t.cart:t:null}applyCartData(t,a){if(!t)return;this.isLoading=!1,void 0!==t.count&&(this.cartCount=this.num(t.count)),void 0!==t.total&&(this.cartTotal=this.num(t.total));const s=t.total_discount??t.discount;void 0!==s&&(this.cartTotalDiscount=this.num(s));const r=a??(void 0!==t.sub_total&&void 0!==t.total);void 0!==t.cashback_amount?this.cartCashbackAmount=this.num(t.cashback_amount):r&&(this.cartCashbackAmount=0),void 0!==t.sub_total&&(this.cartSubTotal=this.num(t.sub_total)),void 0!==t.options_total&&(this.cartOptionsTotal=this.num(t.options_total)),void 0!==t.tax_amount&&(this.cartTaxAmount=this.num(t.tax_amount)),Array.isArray(t.service_fees)?this.cartServiceFees=this.mapServiceFees(t.service_fees):r&&(this.cartServiceFees=[]);const i=!!t.free_shipping_bar?.has_free_shipping;void 0!==t.shipping_cost?this.cartShippingCost=this.num(t.shipping_cost):void 0!==t.real_shipping_cost&&(this.cartShippingCost=i?0:this.num(t.real_shipping_cost)),this.cartHasShipping=this.cartShippingCost>0||!!t.has_shipping}async validateCartForms(){let t=!0;document.querySelectorAll('form[id^="item-"]').forEach((a=>{a.reportValidity()||(t=!1)}));const a=Array.from(document.querySelectorAll('form[id^="item-"] salla-product-options'));for(const s of a)"function"!=typeof s.reportValidity||await s.reportValidity()||(t=!1);return t}decimalPlaces(t){const a=String(t),s=a.indexOf(".");return-1===s||a.includes("e")?0:a.length-s-1}roundToCurrency(t){const a=Math.min(Math.max(2,this.decimalPlaces(this.cartTotal),this.decimalPlaces(this.cartTotalDiscount)),4),s=Math.pow(10,a);return Math.round(t*s)/s}money(t){try{if("undefined"!=typeof salla&&"function"==typeof salla.money)return salla.money(t)}catch(t){}return String(t??0)}getItemsLabel(){return this.itemsCountTemplate?.replace(":count",String(this.cartCount))??""}renderSkeleton(){return a(s,{class:{"s-cart-summary-card":!0,"s-cart-summary-card--loading":!0,"s-cart-summary-card--desktop":this.isDesktop,"s-cart-summary-card--mobile":!this.isDesktop}},this.isDesktop&&a("div",{class:"s-cart-summary-card-sheet-wrap s-cart-summary-card-sheet-wrap--open"},a("div",{class:"s-cart-summary-card-sheet"},a("header",{class:"s-cart-summary-card-sheet-header"},a("h3",{class:"s-cart-summary-card-sheet-title"},a("salla-skeleton",{width:"140px",height:"16px"}))),e.map((({label:t,value:s},r)=>a("div",{class:"s-cart-summary-card-line",key:r},a("salla-skeleton",{width:t,height:"16px"}),a("salla-skeleton",{width:s,height:"16px"})))))),a("div",{class:"s-cart-summary-card-bar"},a("div",{class:"s-cart-summary-card-bar-label"},a("div",{class:"s-cart-summary-card-bar-label-main"},a("salla-skeleton",{width:"90px",height:"16px"}),a("salla-skeleton",{width:"48px",height:"12px"}))),a("div",{class:"s-cart-summary-card-bar-totals"},a("div",{class:"s-cart-summary-card-bar-totals-row"},a("salla-skeleton",{width:"80px",height:"20px"})))),a("div",{class:"s-cart-summary-card-action"},a("salla-skeleton",{width:"100%",height:"44px"})))}render(){if(this.isLoading)return this.renderSkeleton();const t=this.cartTotalDiscount>0,r=this.cartCashbackAmount>0,i=this.cartTaxAmount?this.itemsTotalNoTaxLabel:this.itemsTotalLabel;return a(s,{class:{"s-cart-summary-card":!0,"s-cart-summary-card--open":this.isOpen,"s-cart-summary-card--desktop":this.isDesktop,"s-cart-summary-card--mobile":!this.isDesktop}},a("div",{class:{"s-cart-summary-card-sheet-wrap":!0,"s-cart-summary-card-sheet-wrap--open":this.isOpen},"aria-hidden":this.isOpen?"false":"true"},a("div",{class:"s-cart-summary-card-sheet",style:this.isDesktop?{}:{transform:this.isOpen?"translateY(0)":"translateY(100%)",transition:"transform 0.4s cubic-bezier(0.32, 0.72, 0, 1)"}},a("header",{class:"s-cart-summary-card-sheet-header"},a("h3",{class:"s-cart-summary-card-sheet-title"},this.summaryLabel)),a("div",{class:"s-cart-summary-card-line"},a("span",null,i),a("b",{innerHTML:this.money(this.cartSubTotal)})),this.cartOptionsTotal>0&&a("div",{class:"s-cart-summary-card-line"},a("span",null,this.optionsTotalLabel),a("b",{innerHTML:this.money(this.cartOptionsTotal)})),this.cartServiceFees.map((t=>a("div",{class:"s-cart-summary-card-line",key:t.key},a("span",{class:"s-cart-summary-card-fee-label"},a("span",null,t.title),this.renderServiceFeeBoundsTip(t)),a("b",{innerHTML:this.money(t.amount)})))),this.cartHasShipping&&a("div",{class:"s-cart-summary-card-line"},a("span",null,this.shippingCostLabel),a("b",{innerHTML:this.money(this.cartShippingCost)})),this.cartTaxAmount>0&&a("div",{class:"s-cart-summary-card-line"},a("span",null,this.vatTaxLabel),a("b",{innerHTML:this.money(this.cartTaxAmount)})),t&&a("div",{class:"s-cart-summary-card-line s-cart-summary-card-line--discount"},a("span",null,this.savedLabel),a("b",null,"− ",a("span",{innerHTML:this.money(this.cartTotalDiscount)}))))),a("div",{class:"s-cart-summary-card-bar"},a("div",{class:"s-cart-summary-card-bar-label"},a("div",{class:"s-cart-summary-card-bar-label-main"},a("span",{class:"s-cart-summary-card-bar-label-text"},this.finalTotalLabel),a("span",{class:"s-cart-summary-card-bar-count"},this.getItemsLabel())),this.cartTaxAmount>0&&a("div",{class:"s-cart-summary-card-bar-label-sub"},this.pricesTaxedLabel)),a("div",{class:"s-cart-summary-card-bar-totals"},a("div",{class:"s-cart-summary-card-bar-totals-row"},t&&a("s",{class:"s-cart-summary-card-bar-original"},salla.helpers.number(this.roundToCurrency(this.cartTotal+this.cartTotalDiscount))),a("b",{class:"s-cart-summary-card-bar-total",innerHTML:this.money(this.cartTotal)}),!this.isDesktop&&a("button",{type:"button",class:"s-cart-summary-card-chevron","aria-label":this.isOpen?this.closeSummaryLabel:this.openSummaryLabel,"aria-expanded":this.isOpen?"true":"false",onClick:this.toggleSheet},a("i",{class:"sicon-keyboard_arrow_up s-cart-summary-card-chevron-icon"}))),(t||r)&&a("div",{class:"s-cart-summary-card-bar-savings-badge"},a("span",{"aria-hidden":"true"},"🎉"),a("span",null,t&&a("span",null,this.discountBadge," ",a("span",{innerHTML:this.money(this.cartTotalDiscount)})),t&&r&&" + ",r&&a("span",null,a("span",{innerHTML:this.money(this.cartCashbackAmount)})," ",this.cashbackLabel))))),a("div",{class:"s-cart-summary-card-action"},a("salla-button",{id:"s-cart-summary-card-submit",width:"wide","loader-position":"center",onClick:this.handleSubmit},this.completeOrderLabel)),this.renderFixedFeeTipBubble())}get host(){return r(this)}};n.style='/*!twlt*/@charset "UTF-8";:host{display:block}.s-cart-summary-card-fee-tip-wrap{display:inline-flex;align-items:center}.s-cart-summary-card-fee-tip{appearance:none;border:0;background:transparent;padding:0;outline:none}.s-cart-summary-card-fee-tip svg{width:100%;height:100%;fill:currentColor}.s-cart-summary-card-fee-tip-bubble{position:fixed;transform:translateX(-50%);display:flex;flex-direction:column;gap:6px;min-width:132px;max-width:min(220px, 100vw - 24px);padding:10px 12px;border-radius:8px;background:var(--color-primary);color:var(--color-primary-reverse);line-height:1.35;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.s-cart-summary-card-fee-tip-bubble::after{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:var(--color-primary)}.s-cart-summary-card-fee-tip-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--color-primary-reverse)}.s-cart-summary-card-fee-tip-line-label{font-size:11px;font-weight:400;opacity:0.72}.s-cart-summary-card-fee-tip-line-value{font-size:13px;font-weight:700}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\!btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.\\!btn:hover{opacity:0.8}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-cart-summary-card-sheet-title{margin-bottom:0.5rem;flex:1 1 0%;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line{margin-bottom:0.5rem;display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;line-height:1.25rem}.s-cart-summary-card-line>span{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line b{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line--discount b{--tw-text-opacity:1 !important;color:rgb(220 38 38 / var(--tw-text-opacity, 1)) !important}.s-cart-summary-card-line--discount b *{--tw-text-opacity:1 !important;color:rgb(220 38 38 / var(--tw-text-opacity, 1)) !important}.s-cart-summary-card-fee-label{display:inline-flex;align-items:center;gap:0.25rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-cart-summary-card-fee-tip{display:inline-flex;height:0.875rem;width:0.875rem;cursor:pointer;align-items:center;justify-content:center;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-label{display:flex;flex-direction:column;gap:0.125rem}.s-cart-summary-card-bar-label-main{display:flex;align-items:baseline;gap:0.375rem}.s-cart-summary-card-bar-label-text{white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-count{white-space:nowrap;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-label-sub{font-size:11px;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-totals{display:flex;flex-direction:column;align-items:flex-end;gap:0.375rem}.s-cart-summary-card-bar-totals-row{display:flex;align-items:center;gap:0.375rem}.s-cart-summary-card-bar-total{font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-original{font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-cart-summary-card-bar-savings-badge{display:inline-flex;width:max-content;align-items:center;gap:0.25rem;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(239 251 246 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.125rem;padding-bottom:0.125rem;font-size:11px;font-weight:600;--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.s-cart-summary-card-chevron{display:inline-flex;height:1.5rem;width:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-width:0px;background-color:transparent;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px}.s-cart-summary-card-chevron-icon{display:inline-flex;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-cart-summary-card{display:block;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (max-width: 1023px){.s-cart-summary-card{position:fixed;inset-inline:0;bottom:0;z-index:1;border-radius:24px 24px 0 0;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0.12);transition:box-shadow 0.3s ease;padding-bottom:calc(env(safe-area-inset-bottom) + 0.5rem)}}@media (min-width: 1024px){.s-cart-summary-card{position:relative;border-radius:0.5rem;box-shadow:0 2px 6px rgba(0, 0, 0, 0.05);padding:1.25rem 1.5rem;margin-bottom:1.25rem}}@media (max-width: 1023px){.s-cart-summary-card--open{border-radius:0;box-shadow:none}}.s-cart-summary-card-sheet-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s cubic-bezier(0.32, 0.72, 0, 1), box-shadow 0.3s ease}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap{position:absolute;inset-inline:0;bottom:calc(100% - 1px);background:#fff;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0)}}@media (min-width: 1024px){.s-cart-summary-card-sheet-wrap{grid-template-rows:1fr}}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap--open{grid-template-rows:1fr;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0.12)}}.s-cart-summary-card-sheet{min-height:0;overflow:hidden}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap--open .s-cart-summary-card-sheet{overflow-y:auto;max-height:70vh;-webkit-overflow-scrolling:touch;padding:0.75rem 1rem 0}}.s-cart-summary-card-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}@media (max-width: 1023px){.s-cart-summary-card-sheet-header{padding-bottom:0.5rem}}.s-cart-summary-card-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (min-width: 1024px){.s-cart-summary-card-bar{margin-top:1rem}}@media (max-width: 1023px){.s-cart-summary-card-bar{padding:0.875rem 1rem 0.5rem;border-radius:24px 24px 0 0}.s-cart-summary-card--open .s-cart-summary-card-bar{padding-top:0;border-radius:0}}@media (min-width: 1024px){.s-cart-summary-card-action{padding-top:1rem}}@media (max-width: 1023px){.s-cart-summary-card-action{padding:0 1rem 0.75rem}}.s-cart-summary-card--open .s-cart-summary-card-chevron-icon{transform:rotate(180deg)}.s-cart-summary-card-action *:focus{outline:none}';export{n as salla_cart_summary_card}