@salla.sa/twilight-components 3.0.18 → 3.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/cjs/{Helper-D2VNt6eb.js → Helper-C3MBaLHQ.js} +1 -1
  2. package/dist/cjs/delivery-promise-intent-5WTKLkFZ.js +71 -0
  3. package/dist/cjs/{filepond-DkCudLhG.js → filepond-DGt10gCq.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-poster-C-uxFWfW.js → filepond-plugin-file-poster-NSV7ClY6.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-size-BikXTQW2.js → filepond-plugin-file-validate-size-C08-fDj7.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-file-validate-type-Drs7PouU.js → filepond-plugin-file-validate-type-CbbTh4qd.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-edit-hxr0h9kt.js → filepond-plugin-image-edit-CqqtsmjD.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-exif-orientation-CVZmWU_4.js → filepond-plugin-image-exif-orientation-D60HJIiL.js} +1 -1
  9. package/dist/cjs/{filepond-plugin-image-preview-CBjPKx-d.js → filepond-plugin-image-preview-B7bWOXFm.js} +1 -1
  10. package/dist/cjs/helpers-wRMwEkLy.js +627 -0
  11. package/dist/cjs/{index-CTYg2zC6.js → index-U-OadFju.js} +14 -10
  12. package/dist/cjs/{intlTelInput-C9X0hKXV.js → intlTelInput-Cp6WJvPO.js} +1 -1
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
  16. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +164 -7
  17. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-applied-filters.cjs.entry.js +2 -2
  21. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +13 -13
  23. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +435 -134
  26. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-comment-form_9.cjs.entry.js +4 -4
  32. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-delivery-promise.cjs.entry.js +5 -65
  38. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  40. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  41. package/dist/cjs/salla-free-shipping-banner.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-free-shipping-tag.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +2 -2
  45. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-login-modal.cjs.entry.js +7 -2
  52. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-mobile-update-modal.cjs.entry.js +188 -0
  63. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +4 -4
  64. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
  65. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
  66. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-notification-item_2.cjs.entry.js +3 -3
  68. package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
  69. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
  75. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
  77. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-order-items.cjs.entry.js +2 -2
  79. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-order-payment.cjs.entry.js +2 -2
  81. package/dist/cjs/salla-order-rewards.cjs.entry.js +2 -2
  82. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
  84. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-orders.cjs.entry.js +2 -2
  86. package/dist/cjs/salla-payments.cjs.entry.js +3 -3
  87. package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
  88. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
  90. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
  92. package/dist/cjs/salla-products-list.cjs.entry.js +9 -2
  93. package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
  94. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +33 -7
  96. package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
  98. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-search-product-card.cjs.entry.js +3 -3
  101. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  102. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  103. package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
  104. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  105. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  106. package/dist/cjs/salla-thank-you-header.cjs.entry.js +2 -2
  107. package/dist/cjs/salla-thank-you-page.cjs.entry.js +2 -2
  108. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  109. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  110. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  111. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  112. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  113. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  114. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  115. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  116. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +2 -2
  117. package/dist/cjs/twilight.cjs.js +2 -2
  118. package/dist/cjs/{vanilla-picker-BsLm8rHT.js → vanilla-picker-C-rN_NiT.js} +1 -1
  119. package/dist/collection/collection-manifest.json +1 -0
  120. package/dist/collection/components/salla-bullet-delivery/api-service.js +156 -25
  121. package/dist/collection/components/salla-bullet-delivery/helpers.js +166 -15
  122. package/dist/collection/components/salla-bullet-delivery/icons.js +17 -0
  123. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +490 -52
  124. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +423 -101
  125. package/dist/collection/components/salla-login-modal/salla-login-modal.js +6 -1
  126. package/dist/collection/components/salla-mobile-update-modal/salla-mobile-update-modal.css +43 -0
  127. package/dist/collection/components/salla-mobile-update-modal/salla-mobile-update-modal.js +235 -0
  128. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
  129. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  130. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
  131. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
  132. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
  133. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  134. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  135. package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
  136. package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
  137. package/dist/collection/components/salla-order-items/salla-order-items.js +1 -1
  138. package/dist/collection/components/salla-order-payment/salla-order-payment.js +1 -1
  139. package/dist/collection/components/salla-order-rewards/salla-order-rewards.js +1 -1
  140. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  141. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  142. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  143. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  144. package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
  145. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  146. package/dist/collection/components/salla-products-list/salla-products-list.js +7 -0
  147. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  148. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +91 -2
  149. package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +31 -5
  150. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  151. package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
  152. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  153. package/dist/collection/components/salla-search-product-card/salla-search-product-card.js +2 -2
  154. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  155. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  156. package/dist/collection/components/salla-social/salla-social.js +1 -1
  157. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  158. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  159. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  160. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  161. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  162. package/dist/collection/components/salla-thank-you-header/salla-thank-you-header.js +1 -1
  163. package/dist/collection/components/salla-thank-you-page/salla-thank-you-page.js +1 -1
  164. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  165. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  166. package/dist/collection/components/salla-verify/salla-verify.js +48 -2
  167. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  168. package/dist/components/delivery-promise-intent.js +67 -0
  169. package/dist/components/helpers.js +322 -40
  170. package/dist/components/index.js +2 -2
  171. package/dist/components/mail.js +2 -2
  172. package/dist/components/salla-bullet-delivery.js +436 -129
  173. package/dist/components/salla-contacts.js +2 -2
  174. package/dist/components/salla-delivery-promise.js +1 -62
  175. package/dist/components/salla-login-modal2.js +6 -1
  176. package/dist/components/salla-loyalty-point2.js +2 -2
  177. package/dist/components/salla-mobile-update-modal.d.ts +11 -0
  178. package/dist/components/salla-mobile-update-modal.js +241 -0
  179. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  180. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  181. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  182. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  183. package/dist/components/salla-multiple-bundle-product.js +1 -1
  184. package/dist/components/salla-notification-item2.js +1 -1
  185. package/dist/components/salla-offer-modal.js +1 -1
  186. package/dist/components/salla-order-details.js +1 -1
  187. package/dist/components/salla-order-edit-product-card.js +1 -1
  188. package/dist/components/salla-order-items2.js +1 -1
  189. package/dist/components/salla-order-payment.js +1 -1
  190. package/dist/components/salla-order-rewards.js +1 -1
  191. package/dist/components/salla-order-summary.js +1 -1
  192. package/dist/components/salla-payments.js +2 -2
  193. package/dist/components/salla-placeholder2.js +1 -1
  194. package/dist/components/salla-product-availability2.js +1 -1
  195. package/dist/components/salla-product-card-embed.js +1 -1
  196. package/dist/components/salla-product-size-guide.js +2 -2
  197. package/dist/components/salla-products-list2.js +7 -0
  198. package/dist/components/salla-quantity-input2.js +1 -1
  199. package/dist/components/salla-quick-buy2.js +161 -4
  200. package/dist/components/salla-quick-order.js +2 -2
  201. package/dist/components/salla-rating-modal-v22.js +33 -7
  202. package/dist/components/salla-rating-modal2.js +2 -2
  203. package/dist/components/salla-review-card2.js +1 -1
  204. package/dist/components/salla-review-factors-tags2.js +1 -1
  205. package/dist/components/salla-reviews-page.js +1 -1
  206. package/dist/components/salla-search-product-card2.js +2 -2
  207. package/dist/components/salla-searchable-dropdown2.js +4 -4
  208. package/dist/components/salla-skeleton2.js +1 -1
  209. package/dist/components/salla-social-share2.js +4 -4
  210. package/dist/components/salla-social.js +1 -1
  211. package/dist/components/salla-tab-content2.js +1 -1
  212. package/dist/components/salla-tab-header2.js +1 -1
  213. package/dist/components/salla-tabs2.js +1 -1
  214. package/dist/components/salla-tel-input2.js +1 -1
  215. package/dist/components/salla-thank-you-header.js +1 -1
  216. package/dist/components/salla-thank-you-page.js +1 -1
  217. package/dist/components/salla-tooltip2.js +1 -1
  218. package/dist/components/salla-user-settings.js +1 -1
  219. package/dist/components/salla-verify.js +1 -321
  220. package/dist/components/salla-verify2.js +328 -0
  221. package/dist/components/salla-wishlist-actions.js +1 -1
  222. package/dist/docs.json +158 -2
  223. package/dist/esm/{Helper-C1T-oD4J.js → Helper-BKruFMBN.js} +1 -1
  224. package/dist/esm/delivery-promise-intent-C6pZjRut.js +67 -0
  225. package/dist/esm/{filepond-BoWJzHeN.js → filepond-Vl6a--vT.js} +1 -1
  226. package/dist/esm/{filepond-plugin-file-poster-B6MkMtuC.js → filepond-plugin-file-poster-CrQqmzd5.js} +1 -1
  227. package/dist/esm/{filepond-plugin-file-validate-size-Dds_462B.js → filepond-plugin-file-validate-size-BrHjddJa.js} +1 -1
  228. package/dist/esm/{filepond-plugin-file-validate-type-DrfGXNay.js → filepond-plugin-file-validate-type-BeMZq9Fl.js} +1 -1
  229. package/dist/esm/{filepond-plugin-image-edit-CN7eGg-7.js → filepond-plugin-image-edit-DW6JzY39.js} +1 -1
  230. package/dist/esm/{filepond-plugin-image-exif-orientation-CyhxK_6R.js → filepond-plugin-image-exif-orientation-gzIIB75B.js} +1 -1
  231. package/dist/esm/{filepond-plugin-image-preview-DdKqAzT9.js → filepond-plugin-image-preview-BwbtnJIU.js} +1 -1
  232. package/dist/esm/helpers-BVaKfTMx.js +591 -0
  233. package/dist/esm/{index-DgUQRYr2.js → index-CrXKQnBu.js} +14 -10
  234. package/dist/esm/{intlTelInput-SwlavcFB.js → intlTelInput-BkjSbnO6.js} +1 -1
  235. package/dist/esm/loader.js +3 -3
  236. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  237. package/dist/esm/salla-accordion_6.entry.js +2 -2
  238. package/dist/esm/salla-add-product-button_5.entry.js +164 -7
  239. package/dist/esm/salla-advertisement.entry.js +1 -1
  240. package/dist/esm/salla-alert_2.entry.js +1 -1
  241. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  242. package/dist/esm/salla-applied-filters.entry.js +2 -2
  243. package/dist/esm/salla-apps-icons.entry.js +1 -1
  244. package/dist/esm/salla-attachment-view_9.entry.js +13 -13
  245. package/dist/esm/salla-badge.entry.js +1 -1
  246. package/dist/esm/salla-basket-gap.entry.js +1 -1
  247. package/dist/esm/salla-bullet-delivery_3.entry.js +435 -134
  248. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  249. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  250. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  251. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  252. package/dist/esm/salla-comment-factors.entry.js +1 -1
  253. package/dist/esm/salla-comment-form_9.entry.js +4 -4
  254. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  255. package/dist/esm/salla-contacts.entry.js +1 -1
  256. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  257. package/dist/esm/salla-count-down.entry.js +1 -1
  258. package/dist/esm/salla-custom-fields.entry.js +1 -1
  259. package/dist/esm/salla-delivery-promise.entry.js +3 -63
  260. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  261. package/dist/esm/salla-filters-widget.entry.js +2 -2
  262. package/dist/esm/salla-filters.entry.js +2 -2
  263. package/dist/esm/salla-free-shipping-banner.entry.js +1 -1
  264. package/dist/esm/salla-free-shipping-tag.entry.js +1 -1
  265. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  266. package/dist/esm/salla-gift-card-redeem_2.entry.js +2 -2
  267. package/dist/esm/salla-gifting.entry.js +1 -1
  268. package/dist/esm/salla-hook.entry.js +1 -1
  269. package/dist/esm/salla-infinite-scroll.entry.js +2 -2
  270. package/dist/esm/salla-installment.entry.js +1 -1
  271. package/dist/esm/salla-list-tile.entry.js +1 -1
  272. package/dist/esm/salla-localization-modal.entry.js +1 -1
  273. package/dist/esm/salla-login-modal.entry.js +7 -2
  274. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  275. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  276. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  277. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  278. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  279. package/dist/esm/salla-loyalty.entry.js +1 -1
  280. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  281. package/dist/esm/salla-map_3.entry.js +1 -1
  282. package/dist/esm/salla-menu.entry.js +1 -1
  283. package/dist/esm/salla-metadata.entry.js +1 -1
  284. package/dist/esm/salla-mobile-update-modal.entry.js +186 -0
  285. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  286. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  287. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  288. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  289. package/dist/esm/salla-notification-item_2.entry.js +3 -3
  290. package/dist/esm/salla-offer-modal.entry.js +2 -2
  291. package/dist/esm/salla-offer.entry.js +1 -1
  292. package/dist/esm/salla-order-branch.entry.js +1 -1
  293. package/dist/esm/salla-order-cancel.entry.js +1 -1
  294. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  295. package/dist/esm/salla-order-details-options.entry.js +1 -1
  296. package/dist/esm/salla-order-details.entry.js +2 -2
  297. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  298. package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
  299. package/dist/esm/salla-order-edit.entry.js +1 -1
  300. package/dist/esm/salla-order-items.entry.js +2 -2
  301. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  302. package/dist/esm/salla-order-payment.entry.js +2 -2
  303. package/dist/esm/salla-order-rewards.entry.js +2 -2
  304. package/dist/esm/salla-order-shipments.entry.js +1 -1
  305. package/dist/esm/salla-order-summary.entry.js +2 -2
  306. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  307. package/dist/esm/salla-orders.entry.js +2 -2
  308. package/dist/esm/salla-payments.entry.js +3 -3
  309. package/dist/esm/salla-placeholder.entry.js +2 -2
  310. package/dist/esm/salla-price-range.entry.js +1 -1
  311. package/dist/esm/salla-product-card-embed.entry.js +2 -2
  312. package/dist/esm/salla-product-card.entry.js +1 -1
  313. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  314. package/dist/esm/salla-products-list.entry.js +9 -2
  315. package/dist/esm/salla-products-slider.entry.js +2 -2
  316. package/dist/esm/salla-quick-order.entry.js +1 -1
  317. package/dist/esm/salla-rating-modal-v2.entry.js +33 -7
  318. package/dist/esm/salla-rating-modal.entry.js +2 -2
  319. package/dist/esm/salla-review-factors-tags.entry.js +2 -2
  320. package/dist/esm/salla-review-order-item.entry.js +1 -1
  321. package/dist/esm/salla-scopes.entry.js +1 -1
  322. package/dist/esm/salla-search-product-card.entry.js +3 -3
  323. package/dist/esm/salla-search.entry.js +2 -2
  324. package/dist/esm/salla-skeleton.entry.js +2 -2
  325. package/dist/esm/salla-social-share.entry.js +2 -2
  326. package/dist/esm/salla-social.entry.js +2 -2
  327. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  328. package/dist/esm/salla-thank-you-header.entry.js +2 -2
  329. package/dist/esm/salla-thank-you-page.entry.js +2 -2
  330. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  331. package/dist/esm/salla-trust-badges.entry.js +1 -1
  332. package/dist/esm/salla-user-menu.entry.js +1 -1
  333. package/dist/esm/salla-user-profile.entry.js +1 -1
  334. package/dist/esm/salla-user-settings.entry.js +2 -2
  335. package/dist/esm/salla-verify.entry.js +3 -3
  336. package/dist/esm/salla-wallet.entry.js +1 -1
  337. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  338. package/dist/esm/salla-wishlist-summary.entry.js +2 -2
  339. package/dist/esm/twilight.js +3 -3
  340. package/dist/esm/{vanilla-picker-Buy50D7t.js → vanilla-picker-eSagUASw.js} +1 -1
  341. package/dist/twilight/p-0050dd2a.entry.js +4 -0
  342. package/dist/twilight/{p-3d8b77f7.entry.js → p-012ff05c.entry.js} +1 -1
  343. package/dist/twilight/{p-08a15c81.entry.js → p-02ce2139.entry.js} +1 -1
  344. package/dist/twilight/{p-b0d2e31f.entry.js → p-059aa8a9.entry.js} +1 -1
  345. package/dist/twilight/{p-0d795b58.entry.js → p-09798a10.entry.js} +1 -1
  346. package/dist/twilight/p-0af7555c.entry.js +4 -0
  347. package/dist/twilight/{p-bed68e52.entry.js → p-11075f15.entry.js} +1 -1
  348. package/dist/twilight/{p-6e52b649.entry.js → p-12b2b553.entry.js} +1 -1
  349. package/dist/twilight/{p-8c1d14f0.entry.js → p-14fb124b.entry.js} +1 -1
  350. package/dist/twilight/{p-9e0a9a5a.entry.js → p-1ca3525d.entry.js} +1 -1
  351. package/dist/twilight/{p-7f97335a.entry.js → p-1f54638c.entry.js} +1 -1
  352. package/dist/twilight/{p-5694edf1.entry.js → p-201c816d.entry.js} +1 -1
  353. package/dist/twilight/{p-92fd20a0.entry.js → p-203b2723.entry.js} +1 -1
  354. package/dist/twilight/{p-1af9db24.entry.js → p-224c35e6.entry.js} +1 -1
  355. package/dist/twilight/{p-6dccd40f.entry.js → p-22bd8281.entry.js} +1 -1
  356. package/dist/twilight/{p-d4fb9921.entry.js → p-25ac8744.entry.js} +1 -1
  357. package/dist/twilight/{p-0ba159db.entry.js → p-25b964c0.entry.js} +1 -1
  358. package/dist/twilight/{p-da0df10b.entry.js → p-2a469c80.entry.js} +1 -1
  359. package/dist/twilight/{p-26d2b28a.entry.js → p-2a6f93a8.entry.js} +1 -1
  360. package/dist/twilight/{p-7fd9dc36.entry.js → p-2b0f98fc.entry.js} +1 -1
  361. package/dist/twilight/{p-259c995a.entry.js → p-2e66576c.entry.js} +1 -1
  362. package/dist/twilight/{p-be6f8551.entry.js → p-2e8e7cf2.entry.js} +1 -1
  363. package/dist/twilight/{p-ee479819.entry.js → p-2f05393f.entry.js} +1 -1
  364. package/dist/twilight/{p-1960020c.entry.js → p-3054e1c1.entry.js} +1 -1
  365. package/dist/twilight/{p-70dfb2b4.entry.js → p-3295390b.entry.js} +1 -1
  366. package/dist/twilight/{p-a95b0dc1.entry.js → p-33678067.entry.js} +1 -1
  367. package/dist/twilight/{p-c4cf0b4d.entry.js → p-33c05de2.entry.js} +1 -1
  368. package/dist/twilight/{p-d0ff9a3e.entry.js → p-381a9e70.entry.js} +1 -1
  369. package/dist/twilight/{p-f9e5ed10.entry.js → p-38270121.entry.js} +1 -1
  370. package/dist/twilight/{p-027cbda6.entry.js → p-385bf37d.entry.js} +1 -1
  371. package/dist/twilight/{p-d0aeeb7f.entry.js → p-40ee2ca3.entry.js} +1 -1
  372. package/dist/twilight/{p-cb48a5ef.entry.js → p-43a3401b.entry.js} +1 -1
  373. package/dist/twilight/{p-9d15f22d.entry.js → p-4616033a.entry.js} +1 -1
  374. package/dist/twilight/p-484af8cc.entry.js +4 -0
  375. package/dist/twilight/{p-516e4edc.entry.js → p-4b6627f5.entry.js} +1 -1
  376. package/dist/twilight/p-4ed8ae08.entry.js +4 -0
  377. package/dist/twilight/{p-6af8a7b6.entry.js → p-4fb442c2.entry.js} +1 -1
  378. package/dist/twilight/{p-4b70e6c4.entry.js → p-516f9b83.entry.js} +1 -1
  379. package/dist/twilight/{p-d1204965.entry.js → p-56aebb36.entry.js} +1 -1
  380. package/dist/twilight/{p-6b5de500.entry.js → p-56fbe5ff.entry.js} +1 -1
  381. package/dist/twilight/{p-66ad7a30.entry.js → p-58af47e4.entry.js} +1 -1
  382. package/dist/twilight/{p-3f842f32.entry.js → p-616e6781.entry.js} +1 -1
  383. package/dist/twilight/{p-254cff9a.entry.js → p-62077080.entry.js} +1 -1
  384. package/dist/twilight/p-6427664a.entry.js +4 -0
  385. package/dist/twilight/{p-bb8b2c85.entry.js → p-65253725.entry.js} +1 -1
  386. package/dist/twilight/{p-fcb1009f.entry.js → p-6a05f69c.entry.js} +1 -1
  387. package/dist/twilight/{p-ac736b30.entry.js → p-6afa5aa8.entry.js} +1 -1
  388. package/dist/twilight/{p-f7a58656.entry.js → p-6ff116eb.entry.js} +1 -1
  389. package/dist/twilight/{p-f9587127.entry.js → p-710b19d2.entry.js} +1 -1
  390. package/dist/twilight/{p-84b0e7a9.entry.js → p-71297800.entry.js} +1 -1
  391. package/dist/twilight/{p-53735934.entry.js → p-7234a066.entry.js} +1 -1
  392. package/dist/twilight/{p-b1f808f5.entry.js → p-73af6a02.entry.js} +1 -1
  393. package/dist/twilight/{p-4ab5ee99.entry.js → p-7428deca.entry.js} +1 -1
  394. package/dist/twilight/{p-b5a45f87.entry.js → p-75b509cd.entry.js} +1 -1
  395. package/dist/twilight/{p-071aa0e7.entry.js → p-79e446b2.entry.js} +1 -1
  396. package/dist/twilight/{p-eaf0c514.entry.js → p-7a8c9411.entry.js} +1 -1
  397. package/dist/twilight/{p-5f6fee0e.entry.js → p-86533832.entry.js} +1 -1
  398. package/dist/twilight/p-8a4af12c.entry.js +4 -0
  399. package/dist/twilight/{p-9cf1cfd4.entry.js → p-8ddf6933.entry.js} +1 -1
  400. package/dist/twilight/{p-7b5f97e7.entry.js → p-93fe31b9.entry.js} +1 -1
  401. package/dist/twilight/{p-4891c565.entry.js → p-9c96a9e7.entry.js} +1 -1
  402. package/dist/twilight/{p-CBLWEyM9.js → p-BNr49RmW.js} +1 -1
  403. package/dist/twilight/{p-DMvhNbgN.js → p-BUzdlb7Q.js} +1 -1
  404. package/dist/twilight/p-BVaKfTMx.js +4 -0
  405. package/dist/twilight/{p-BK9YeXWp.js → p-BYWjrTuB.js} +1 -1
  406. package/dist/twilight/{p-CCwsxMbZ.js → p-Bo_J3Do4.js} +1 -1
  407. package/dist/twilight/{p-CgNJWeaK.js → p-ChxhrML8.js} +1 -1
  408. package/dist/twilight/p-CrXKQnBu.js +5 -0
  409. package/dist/twilight/{p-Y2ZIN9Ok.js → p-D1oKTNWQ.js} +1 -1
  410. package/dist/twilight/{p-De1tLqQF.js → p-DUNRPrqt.js} +1 -1
  411. package/dist/twilight/{p-BxQMWsr9.js → p-DUuRpwsl.js} +1 -1
  412. package/dist/twilight/{p-NqQdbGu6.js → p-DZR3BP63.js} +1 -1
  413. package/dist/twilight/{p-12a25415.entry.js → p-a52a3664.entry.js} +1 -1
  414. package/dist/twilight/{p-d346dabd.entry.js → p-a7114995.entry.js} +1 -1
  415. package/dist/twilight/{p-8c40278d.entry.js → p-aa7494cd.entry.js} +1 -1
  416. package/dist/twilight/{p-34148827.entry.js → p-ae5d26da.entry.js} +1 -1
  417. package/dist/twilight/{p-d1121b3f.entry.js → p-b5434bcc.entry.js} +1 -1
  418. package/dist/twilight/p-b9fabd92.entry.js +4 -0
  419. package/dist/twilight/{p-bed54154.entry.js → p-bac38ed2.entry.js} +1 -1
  420. package/dist/twilight/{p-cdeb9bcc.entry.js → p-bbcfcdb0.entry.js} +1 -1
  421. package/dist/twilight/{p-f7ab5825.entry.js → p-c097cfa1.entry.js} +1 -1
  422. package/dist/twilight/p-c13e7efb.entry.js +4 -0
  423. package/dist/twilight/{p-bfd5e263.entry.js → p-d0ea4c3a.entry.js} +1 -1
  424. package/dist/twilight/{p-a44670a9.entry.js → p-d0ec7ca7.entry.js} +1 -1
  425. package/dist/twilight/{p-fddf1997.entry.js → p-d31fbdea.entry.js} +1 -1
  426. package/dist/twilight/{p-37192614.entry.js → p-d482d43e.entry.js} +1 -1
  427. package/dist/twilight/{p-b3ada3d0.entry.js → p-d5368882.entry.js} +1 -1
  428. package/dist/twilight/{p-4a3fa153.entry.js → p-d5a2a231.entry.js} +1 -1
  429. package/dist/twilight/{p-e457e68f.entry.js → p-d6705759.entry.js} +1 -1
  430. package/dist/twilight/p-d7f2a028.entry.js +4 -0
  431. package/dist/twilight/{p-0418c2df.entry.js → p-d84dedaf.entry.js} +1 -1
  432. package/dist/twilight/{p-419d6d71.entry.js → p-d8d9ff09.entry.js} +1 -1
  433. package/dist/twilight/{p-361f6033.entry.js → p-d902ad13.entry.js} +1 -1
  434. package/dist/twilight/{p-481f52b1.entry.js → p-d941dc58.entry.js} +1 -1
  435. package/dist/twilight/{p-8766e236.entry.js → p-dd046bbd.entry.js} +1 -1
  436. package/dist/twilight/{p-23772523.entry.js → p-dd21db09.entry.js} +1 -1
  437. package/dist/twilight/{p-3a632c69.entry.js → p-dd83b424.entry.js} +1 -1
  438. package/dist/twilight/{p-aa35cf98.entry.js → p-e04fb844.entry.js} +1 -1
  439. package/dist/twilight/{p-6c3084c9.entry.js → p-e60d784c.entry.js} +1 -1
  440. package/dist/twilight/{p-d8955835.entry.js → p-e6cc7742.entry.js} +1 -1
  441. package/dist/twilight/{p-5e8d019e.entry.js → p-e853ac07.entry.js} +1 -1
  442. package/dist/twilight/{p-0f25fedd.entry.js → p-e9ecae21.entry.js} +1 -1
  443. package/dist/twilight/{p-6ba3808a.entry.js → p-ebe3d316.entry.js} +1 -1
  444. package/dist/twilight/{p-5bbf17dd.entry.js → p-ec2a45fb.entry.js} +1 -1
  445. package/dist/twilight/{p-a5b732b3.entry.js → p-ef216c0a.entry.js} +1 -1
  446. package/dist/twilight/{p-78a56dc6.entry.js → p-f3306980.entry.js} +1 -1
  447. package/dist/twilight/{p-d9a1bf08.entry.js → p-f65205d5.entry.js} +1 -1
  448. package/dist/twilight/{p-e9b03e9c.entry.js → p-f6e5cd28.entry.js} +1 -1
  449. package/dist/twilight/{p-af49191f.entry.js → p-f8cfc9f7.entry.js} +1 -1
  450. package/dist/twilight/{p-9e65451e.entry.js → p-faa0b9aa.entry.js} +1 -1
  451. package/dist/twilight/{p-9e042cce.entry.js → p-fb10df18.entry.js} +1 -1
  452. package/dist/twilight/{p-e38a6793.entry.js → p-fcb1cff7.entry.js} +1 -1
  453. package/dist/twilight/{p-487b4411.entry.js → p-ff3cb99b.entry.js} +1 -1
  454. package/dist/twilight/{p-ee65c489.entry.js → p-ff4680ea.entry.js} +1 -1
  455. package/dist/twilight/p-oL7bxwey.js +9 -0
  456. package/dist/twilight/p-q5NJ0uS-.js +4 -0
  457. package/dist/twilight/twilight.esm.js +1 -1
  458. package/dist/types/components/salla-bullet-delivery/api-service.d.ts +23 -7
  459. package/dist/types/components/salla-bullet-delivery/helpers.d.ts +68 -6
  460. package/dist/types/components/salla-bullet-delivery/icons.d.ts +14 -0
  461. package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +40 -1
  462. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +73 -4
  463. package/dist/types/components/salla-mobile-update-modal/salla-mobile-update-modal.d.ts +44 -0
  464. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +18 -0
  465. package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +4 -0
  466. package/dist/types/components/salla-verify/salla-verify.d.ts +8 -0
  467. package/dist/types/components.d.ts +50 -0
  468. package/package.json +5 -5
  469. package/dist/cjs/helpers-8bMfm_mm.js +0 -329
  470. package/dist/esm/helpers-DqzaeXrL.js +0 -309
  471. package/dist/twilight/p-76584a5b.entry.js +0 -4
  472. package/dist/twilight/p-79822d99.entry.js +0 -4
  473. package/dist/twilight/p-Ca_SZn0u.js +0 -9
  474. package/dist/twilight/p-DgUQRYr2.js +0 -5
  475. package/dist/twilight/p-DqzaeXrL.js +0 -4
  476. package/dist/twilight/p-b9d67694.entry.js +0 -4
  477. package/dist/twilight/p-ba6dd59c.entry.js +0 -4
  478. package/dist/twilight/p-bac25e34.entry.js +0 -4
  479. package/dist/twilight/p-d1093a59.entry.js +0 -4
  480. package/dist/twilight/p-e24fbbb4.entry.js +0 -4
  481. package/dist/twilight/p-eefced26.entry.js +0 -4
@@ -52,7 +52,7 @@ const SallaPlaceholder = /*@__PURE__*/ proxyCustomElement(class SallaPlaceholder
52
52
  };
53
53
  }
54
54
  render() {
55
- return (h(Host, { key: '6721d56632a696a5cced960705e3e673ed903612', class: this.alignmentClass() }, h("div", { key: 'e208636c2356a343a61ecffb4667aefded2a89e4', class: `s-placeholder-icon s-placeholder-icon-${this.iconSize}`, innerHTML: this.icon }), h("div", { key: '5062d6e686f22e9022cfcf20d0e765eb043eedea', class: "s-placeholder-title" }, h("slot", { key: '7f823cd4f4e5440413ec70f1153721e6bcee1847', name: 'title' }, h("span", { key: '6845e1aa3ac7b5390bde2d61f38fcc96131bbcaf' }, getSdkValueOrFallback(undefined, () => salla.lang.get('common.elements.no_options'), 'No options available')))), h("div", { key: 'e4ccf03b42df98d60a16dc03c4e8ce4449965a87', class: "s-placeholder-description" }, h("slot", { key: 'c0328e609cdfd19747aaeb001fffc327237b6560', name: 'description' }, h("span", { key: 'c10a8aa9067dcf517b72c8656a6b41f3c49ee556' }, getSdkValueOrFallback(undefined, () => salla.lang.get('common.errors.empty_results'), 'No results found'))))));
55
+ return (h(Host, { key: '27a55988a5b87420723c19fd5f8831cfdae68095', class: this.alignmentClass() }, h("div", { key: '05b2b7cf16fefe961cf3db6228c943df8b3cfa33', class: `s-placeholder-icon s-placeholder-icon-${this.iconSize}`, innerHTML: this.icon }), h("div", { key: '725cb45503b0f57464d91a1f82c28d65d04dfc68', class: "s-placeholder-title" }, h("slot", { key: 'b4ffaf517b05b048aa8e0c629f2792ffa3421370', name: 'title' }, h("span", { key: 'fd8d78ea3af79c0ddbbae7c05e783f34d54952fc' }, getSdkValueOrFallback(undefined, () => salla.lang.get('common.elements.no_options'), 'No options available')))), h("div", { key: 'cfe26fdad2c6372241ef1928a0241bd74c7bec8e', class: "s-placeholder-description" }, h("slot", { key: '4cbd09630ef027012043123e27cfbb4fe9b485ef', name: 'description' }, h("span", { key: 'b4bb80713e68477af56f5ee4908a10c36151b3d5' }, getSdkValueOrFallback(undefined, () => salla.lang.get('common.errors.empty_results'), 'No results found'))))));
56
56
  }
57
57
  static get style() { return sallaPlaceholderCss; }
58
58
  }, [4, "salla-placeholder", {
@@ -155,7 +155,7 @@ const SallaProductAvailability = /*@__PURE__*/ proxyCustomElement(class SallaPro
155
155
  field.nextElementSibling['innerText'] = '* ' + errorMsg;
156
156
  }
157
157
  render() {
158
- return (h(Host, { key: '1ff9ac8f5ca9b90bc9a2c0e4451b4e4214d0b68c', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
158
+ return (h(Host, { key: '8d535fe3ebb0446c6a40d6ec1edececb5b783434', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
159
159
  ? h("div", { class: "s-product-availability-subscribed" }, h("span", { innerHTML: BellRing, class: "s-product-availability-subs-icon" }), salla.lang.get('pages.products.notify_availability_success'))
160
160
  :
161
161
  h("salla-button", { width: "wide", onClick: () => this.isUser ? this.submit() : this.openModel() }, salla.lang.get('pages.products.notify_availability')), this.isUser || this.isSubscribedToProduct ? '' : this.renderModal()));
@@ -99,7 +99,7 @@ const SallaProductCardEmbed$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
99
99
  's-product-card-embed-card-align-right': this.align === 'right',
100
100
  's-product-card-embed-card-align-center': this.align === 'center',
101
101
  };
102
- return (h(Host, { key: 'f5761d649a68a3fe2c2cf9181d84bb2a4d98f26e' }, this.hasError && h("span", { key: 'c6f21121d9804060426c5610cd955ec22a78983c', class: "s-product-card-embed-fallback" }), h("div", { key: 'a16356287e33d583cb13a1f2da177bb545bf9c88', class: cardClasses, ref: (el) => {
102
+ return (h(Host, { key: 'd101dffe8024843e9a30560769da562d64099a81' }, this.hasError && h("span", { key: '26becaac97d2f2a5b27d6c2c3d7dda609d1d7013', class: "s-product-card-embed-fallback" }), h("div", { key: '339d54dba04807ff0b7aa2ad514ec6ba68200b41', class: cardClasses, ref: (el) => {
103
103
  this.cardContainer = el;
104
104
  } })));
105
105
  }
@@ -67,11 +67,11 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
67
67
  return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
68
68
  }
69
69
  render() {
70
- return (h("salla-modal", { key: '31195e037abff8654af838c6c87ba5e52646afe2', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: '586f60a7466f2f9d167f5861357f4337b325e706', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '0e129703a53a4de9a280d067600991ef6d020f59', slot: "loading" }, h("div", { key: '7937b1e2525437aba3e0d25987678ffe0bfaec06', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: '03201726c4817b1a61dc9d0a6b5076d33e8d5abe', height: '15px', width: '25%' }), h("div", { key: 'bb71cdf3ee7b1d82fab177be16c65bb15f46af35', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: '1dabafdfb70285a313024c4481da2b8d82d2706a', height: '40px' }), h("salla-skeleton", { key: 'd858a2795a8f2e9b92fe74b435acab70cde9cf79', height: '40px' }), h("salla-skeleton", { key: 'aa02427470f7b1614d7900e8eed981a91da80dd7', height: '40px' }), h("salla-skeleton", { key: 'fee729b4620c49cb2d869851dfdfbd3f56713b2b', height: '40px' })), h("div", { key: 'acac2ba31051539ce1d7a86cbb54b0a95d672716', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '950bac6b9532c876a9b19fe7eb614218d8eabed1', height: '15px', width: '25%' }), h("salla-skeleton", { key: '3a03a7cee62ff565c38dbd4cac10b155841a4a17', height: '10px', width: '75%' }), h("salla-skeleton", { key: '731c5f9191b4133d35d32914063ab5ee207160a5', height: '10px', width: '50%' }), h("salla-skeleton", { key: 'ecf3a698f63110937102b881ed8888bffc1aff6f', height: '10px', width: '75%' }), h("salla-skeleton", { key: '52d88576752037bcf9878a8527aa3d083f5d0e89', height: '10px', width: '100%' }), h("salla-skeleton", { key: '9b1274d4c5e9d997b1fa23005ca8a07b0d067574', height: '10px', width: '25%' }), h("salla-skeleton", { key: '15c28ca15f44c71417c6ad340303eed09bd33752', height: '10px', width: '60%' }), h("salla-skeleton", { key: 'dcf626b475fbe54ed2d8c678261d7e98e4640c42', height: '10px', width: '45%' }), h("salla-skeleton", { key: 'b242994920b6f079b0d0aa582f92fa85e8ff355a', height: '10px', width: '30%' })))), h("slot", { key: 'd8f52fa5454c208364e1d062dc102c628945318a', name: "header" }), !this.hasError && !!this.guides ?
70
+ return (h("salla-modal", { key: '949a60f0becc6594358c20215c86564c9f96a5b2', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: 'a250df4a45be84188ce9875c969d544baee4aba8', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '5a3e827e8223a846f7b33372c4550144802bfd5d', slot: "loading" }, h("div", { key: '77c24101a09e4ef97deed4a74e07e704300bffeb', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: 'a4803f830e8c682a299df76a4a16b2ad38a031d5', height: '15px', width: '25%' }), h("div", { key: 'fa7bb72254eaa88670b0625244a19e8718cdc19c', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: '90e41d1cba2dc9adc9730e9c84a0703dd222ec2c', height: '40px' }), h("salla-skeleton", { key: '09042f1818dd7bc5e03bb21adcbd7ea0a247287b', height: '40px' }), h("salla-skeleton", { key: '36e3a8804cebc939cf3e7d595f42b0ab145a8906', height: '40px' }), h("salla-skeleton", { key: 'c0517ad2fad0e2a120af65a67524e8e368bcbbbe', height: '40px' })), h("div", { key: '72277a6e5717cb6f46b7d4ca00315e3fc6323840', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: 'a8fc7c88dfba933765c59e94efd6f57975d384d3', height: '15px', width: '25%' }), h("salla-skeleton", { key: '7f551c7e5851080aad5147ad026700ade3d4f729', height: '10px', width: '75%' }), h("salla-skeleton", { key: '4690828dd0204b6682658093ddcd782b7d7808cf', height: '10px', width: '50%' }), h("salla-skeleton", { key: 'cfbc0911430d4f0f86fbd23f7a2cb795997f9ead', height: '10px', width: '75%' }), h("salla-skeleton", { key: '5dc89933c85eda48afb6d71755e5e810644b25dd', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'a87d5c8c088241516fb5a1e3f09a3c2f31231fe3', height: '10px', width: '25%' }), h("salla-skeleton", { key: 'e103932b5300849c43b141d0551cb69291e7ebdd', height: '10px', width: '60%' }), h("salla-skeleton", { key: '7ebf1a7aa02eae1bca9aafd06b0b85bc8c188ef1', height: '10px', width: '45%' }), h("salla-skeleton", { key: '25e82e97bf169c5757bd02139160cf6b75efb993', height: '10px', width: '30%' })))), h("slot", { key: '36fe07ad56643fb92b517c4bf92424a893c7ba9b', name: "header" }), !this.hasError && !!this.guides ?
71
71
  [
72
72
  h("salla-tabs", { activeTab: this.guides[0]?.name }, this.guides.map((guide) => h("salla-tab-header", { slot: "header", name: guide.name }, h("span", null, guide.name))), this.guides.map((guide) => h("salla-tab-content", { slot: "content", name: guide.name }, h("div", { innerHTML: guide.description }))))
73
73
  ]
74
- : this.showPlaceholder(), h("slot", { key: '1a0d9d1a01e18e5bd1c610dac92654f53c2dcad4', name: "footer" })));
74
+ : this.showPlaceholder(), h("slot", { key: '4b6c6a747d398416f814e316fcb97db5281237a5', name: "footer" })));
75
75
  }
76
76
  get host() { return this; }
77
77
  static get style() { return sallaProductSizeGuideCss; }
@@ -1190,6 +1190,13 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
1190
1190
  ?.find(filter => filter.key === 'category_id')
1191
1191
  // loose == : catId may be a number (auto-appended page.id) while API keys are strings
1192
1192
  ?.values?.find(cat => cat.key == catId)?.value ?? '';
1193
+ // without the filters feature the response has no `filters`, so the lookup above finds no name and the
1194
+ // theme would swap the page heading for a bare count; the page itself still names its own list.
1195
+ // page.title is raw text that themes drop into innerHTML, so it's escaped like the search term
1196
+ const pageId = salla.config.get('page.id');
1197
+ if (!title && catId != null && pageId != null && String(catId) === String(pageId)) {
1198
+ title = Helper.escapeHtml(salla.config.get('page.title'));
1199
+ }
1193
1200
  }
1194
1201
  title +=
1195
1202
  (title ? ' - ' : '') +
@@ -105,7 +105,7 @@ const SallaQuantityInput = /*@__PURE__*/ proxyCustomElement(class SallaQuantityI
105
105
  if (!inputAttributes['aria-label'] && !inputAttributes['aria-labelledby']) {
106
106
  inputAttributes['aria-label'] = getSdkValueOrFallback(undefined, () => salla.lang.getWithDefault('common.elements.quantity', 'Quantity'), 'Quantity');
107
107
  }
108
- return (h(Host, { key: 'e5bc3cde1c4f6eda2d515a83f227bde3c92bbecb', class: "s-quantity-input" }, h("div", { key: 'b7a80aa9d3d1b37ba7a57b36a18c230c30e92f2f', class: "s-quantity-input-container" }, h("button", { key: 'b9c60559d7adea97f15e6cfc5ed83d244af0a291', onClick: () => this.increase(), class: "s-quantity-input-increase-button s-quantity-input-button", type: "button", "aria-label": getSdkValueOrFallback(undefined, () => salla.lang.getWithDefault('common.elements.increase_quantity', 'Increase quantity'), 'Increase quantity') }, !this.hasIncrementSlot ? h("span", { innerHTML: Add }) : '', h("slot", { key: '9096d5bd9d412499e6a76e420a3385301b3b97c3', name: "increment-button" })), h("input", { key: '587e8a3d6e7c76b9a28f663d7d88667b46b8e002', class: "s-quantity-input-input", ...inputAttributes, ref: (el) => this.textInput = el, onInput: (event) => this.setValue(event.target.value), inputMode: "numeric", pattern: "[0-9]*", min: "1", readOnly: this.disableInput, value: this.quantity }), h("button", { key: '2087a1aacfb62ae93718cf3f553211997480dad8', class: "s-quantity-input-decrease-button s-quantity-input-button", onClick: () => this.decrease(), type: "button", "aria-label": getSdkValueOrFallback(undefined, () => salla.lang.getWithDefault('common.elements.decrease_quantity', 'Decrease quantity'), 'Decrease quantity') }, !this.hasDecrementSlot ? h("span", { innerHTML: Minus }) : '', h("slot", { key: '5c639d8537ba1d0cc385ba25a8e680022b446028', name: "decrement-button" })))));
108
+ return (h(Host, { key: '6740abf0724452cb0931889f40eb03318c04c4f2', class: "s-quantity-input" }, h("div", { key: 'fd49dd951d1ed0eed508665ef23718fef775cfa8', class: "s-quantity-input-container" }, h("button", { key: 'e8216ee643766ec8ddd7938fc5143dc76db479df', onClick: () => this.increase(), class: "s-quantity-input-increase-button s-quantity-input-button", type: "button", "aria-label": getSdkValueOrFallback(undefined, () => salla.lang.getWithDefault('common.elements.increase_quantity', 'Increase quantity'), 'Increase quantity') }, !this.hasIncrementSlot ? h("span", { innerHTML: Add }) : '', h("slot", { key: '6795b630592a04fa8edada9ff31108915cb5c6b9', name: "increment-button" })), h("input", { key: 'd43559ee2c1930664d9c813570412aec8035f4ca', class: "s-quantity-input-input", ...inputAttributes, ref: (el) => this.textInput = el, onInput: (event) => this.setValue(event.target.value), inputMode: "numeric", pattern: "[0-9]*", min: "1", readOnly: this.disableInput, value: this.quantity }), h("button", { key: 'dd9346b8c71513571a4388700d640f37266ebbd5', class: "s-quantity-input-decrease-button s-quantity-input-button", onClick: () => this.decrease(), type: "button", "aria-label": getSdkValueOrFallback(undefined, () => salla.lang.getWithDefault('common.elements.decrease_quantity', 'Decrease quantity'), 'Decrease quantity') }, !this.hasDecrementSlot ? h("span", { innerHTML: Minus }) : '', h("slot", { key: '7b905f3a8708a75b81a8478fd63c1f20744d9c87', name: "decrement-button" })))));
109
109
  }
110
110
  get host() { return this; }
111
111
  static get watchers() { return {
@@ -4,6 +4,8 @@
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { a as axios } from './axios.js';
6
6
  import { r as resolveApplePayOrderOptions, b as reportProductOptionsValiditySync, a as appendOrderOptionsToPayload } from './apple-pay-order-options.js';
7
+ import { g as getStoredIntent } from './delivery-promise-intent.js';
8
+ import { I as isIntentAddressComplete } from './helpers.js';
7
9
  import { d as defineCustomElement$e } from './salla-attachment-view2.js';
8
10
  import { d as defineCustomElement$d } from './salla-booking-field2.js';
9
11
  import { d as defineCustomElement$c } from './salla-button2.js';
@@ -816,6 +818,17 @@ const SallaApplePay = typeof window !== 'undefined' ? {
816
818
 
817
819
  SallaApplePay.initDefault();
818
820
 
821
+ // A saved delivery address goes to the checkout directly, so the native sheet doesn't ask
822
+ // Apple for one. The QR (PaymentRequest) sheet always asks, so it keeps the default flow.
823
+ if (SallaApplePay.detail.savedAddress?.address_id) {
824
+ if (SallaApplePay.canUseNative()) {
825
+ SallaApplePay.detail.requiredShippingContactFields = (SallaApplePay.detail.requiredShippingContactFields || [])
826
+ .filter((field) => field !== 'postalAddress');
827
+ } else {
828
+ SallaApplePay.detail.savedAddress = null;
829
+ }
830
+ }
831
+
819
832
  // Native (Safari / Apple devices) → classic ApplePaySession. Otherwise
820
833
  // (non-Safari / non-Apple device) → Payment Request API, which renders
821
834
  // Apple's "Scan Code with iPhone" QR sheet.
@@ -887,9 +900,14 @@ const SallaApplePay = typeof window !== 'undefined' ? {
887
900
  onPaymentMethodSelected: async (event) => {
888
901
  salla.logger.log('🍏 Pay: onPaymentMethodSelected', event);
889
902
 
890
- // perform recalculate here only if digital product
903
+ // A saved address skips Apple's address step (postalAddress is removed), so isPhysical() is
904
+ // false for it even though the product ships: it takes this path to refresh the total and
905
+ // offer the carriers, since there is no shipping-contact step to do it.
906
+ const usesSavedAddress = !!SallaApplePay.detail.savedAddress?.address_id;
907
+
908
+ // perform recalculate here only if digital product or a saved address
891
909
  // if physical recalculate performed with shipping company
892
- if (!SallaApplePay.isPhysical()) {
910
+ if (!SallaApplePay.isPhysical() || usesSavedAddress) {
893
911
  try {
894
912
  await SallaApplePay.recalculateTotal();
895
913
 
@@ -897,7 +915,13 @@ const SallaApplePay = typeof window !== 'undefined' ? {
897
915
  newTotal: SallaApplePay.prepareTotal(),
898
916
  newLineItems: SallaApplePay.prepareLineItems()
899
917
  };
900
-
918
+
919
+ // A saved address skips Apple's address step, which is where the shipping methods
920
+ // are normally offered, so offer them here with the selected one first.
921
+ if (usesSavedAddress && SallaApplePay.shipping_methods?.length) {
922
+ updatedPaymentDetails.newShippingMethods = SallaApplePay.savedAddressShippingMethods();
923
+ }
924
+
901
925
  salla.logger.log('🍏 Pay: completePaymentMethodSelection', updatedPaymentDetails);
902
926
 
903
927
  SallaApplePay.session.completePaymentMethodSelection(updatedPaymentDetails);
@@ -1119,6 +1143,12 @@ const SallaApplePay = typeof window !== 'undefined' ? {
1119
1143
  return SallaApplePay.abortValidateMerchant(response);
1120
1144
  }
1121
1145
  }
1146
+
1147
+ // The cart exists now, so the saved address can be set on it before the sheet opens.
1148
+ if (SallaApplePay.detail.savedAddress?.address_id) {
1149
+ await SallaApplePay.applySavedAddress();
1150
+ }
1151
+
1122
1152
  completeMerchantValidation(data.data);
1123
1153
  } catch (error) {
1124
1154
  // Handle errors
@@ -1684,6 +1714,16 @@ const SallaApplePay = typeof window !== 'undefined' ? {
1684
1714
  }
1685
1715
  },
1686
1716
 
1717
+ /** Shipping options for the sheet with the currently selected one first, so Apple keeps it selected. */
1718
+ savedAddressShippingMethods() {
1719
+ const methods = SallaApplePay.shipping_methods || [];
1720
+ const current = SallaApplePay.shippingCompany;
1721
+ const selected = methods.find((method) => method.ship_id == current?.ship_id && method.private_ship_id == current?.private_ship_id);
1722
+ const ordered = selected ? [selected, ...methods.filter((method) => method !== selected)] : methods;
1723
+
1724
+ return SallaApplePay.mappingShippingMethods(ordered);
1725
+ },
1726
+
1687
1727
  shouldUpdateShippingCompany(shippingCompany) {
1688
1728
  return SallaApplePay.shippingCompany?.ship_id != shippingCompany?.ship_id || SallaApplePay.shippingCompany?.private_ship_id != shippingCompany?.private_ship_id
1689
1729
  },
@@ -1793,6 +1833,36 @@ const SallaApplePay = typeof window !== 'undefined' ? {
1793
1833
  return response?.data?.message;
1794
1834
  });
1795
1835
  },
1836
+ /**
1837
+ * Sets the saved delivery address on the cart by its address_id (no address from Apple), then
1838
+ * picks its first shipping method, as the Apple address flow does. Throws an axios-shaped error
1839
+ * so onValidateMerchant's catch can show it through validateMerchant.onFailed.
1840
+ */
1841
+ applySavedAddress: async () => {
1842
+ const { address_id, shippingMethods } = SallaApplePay.detail.savedAddress;
1843
+ const fail = (message) => Object.assign(new Error(message), { response: { data: { error: { message } } } });
1844
+ const outOfCoverage = () => salla.lang.get('pages.checkout.address_out_of_coverage');
1845
+
1846
+ let companies;
1847
+ try {
1848
+ const { data } = await http.get(shippingMethods.url.replace('{id}', SallaApplePay.id), null, null, { address_id });
1849
+ companies = data?.data?.companies;
1850
+ } catch (error) {
1851
+ throw fail(error?.response?.data?.error?.message || outOfCoverage());
1852
+ }
1853
+
1854
+ if (!companies?.length) {
1855
+ throw fail(outOfCoverage());
1856
+ }
1857
+
1858
+ SallaApplePay.address_id = address_id;
1859
+ SallaApplePay.shipping_methods = companies;
1860
+
1861
+ const selected = await SallaApplePay.selectApplePayShippingMethod(companies[0]);
1862
+ if (selected !== true) {
1863
+ throw fail((typeof selected === 'string' && selected) || outOfCoverage());
1864
+ }
1865
+ },
1796
1866
  mappingShippingMethods: methods => methods.map(method => ({
1797
1867
  'label': method.shipping_title,
1798
1868
  'amount': method.enable_free_shipping ? 0 : method.ship_cost,
@@ -1864,6 +1934,9 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
1864
1934
  /** Session from the initial gesture; begun later when there are no order options. */
1865
1935
  this.pendingApplePaySession = null;
1866
1936
  this.quickBuy = salla.lang.get('pages.products.buy_now');
1937
+ /** The guest picked "continue as guest" on the login step, so don't ask again. */
1938
+ this.choseGuest = false;
1939
+ this.cancelLoginAsk = null;
1867
1940
  /** Apple Pay onStartedSession: first call defers begin() to run the OO check; second (resolved) begins. */
1868
1941
  this.handleApplePaySessionStarted = (session) => {
1869
1942
  // Previously gated on `order_options.mandatory`, which is unrelated to CP-2836: a store with
@@ -1931,6 +2004,7 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
1931
2004
  salla?.event?.off?.('product-options::donation-changed', this.donationChangedListener);
1932
2005
  salla?.product?.event?.offPriceUpdated?.(this.priceUpdatedListener);
1933
2006
  this.langUnsubscribe?.();
2007
+ this.cancelLoginAsk?.();
1934
2008
  }
1935
2009
  quickBuyHandler() {
1936
2010
  if (salla.config.isGuest() && !this.isGuestCheckout()) {
@@ -1938,6 +2012,10 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
1938
2012
  salla.api.auth.requireLoginThen('salla-quick-buy::user.logged-in', () => this.quickBuyHandler());
1939
2013
  return;
1940
2014
  }
2015
+ if (this.shouldAskLoginFirst()) {
2016
+ this.askLoginFirst();
2017
+ return;
2018
+ }
1941
2019
  // Sync validate — AP needs the gesture preserved for new ApplePaySession().
1942
2020
  if (!this.validatePdpOptionsSync())
1943
2021
  return;
@@ -2005,7 +2083,10 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
2005
2083
  injectFreeProductsIntoPayload(data, this.collectedFreeProducts);
2006
2084
  // if the store doesn't have Apple Pay , just create a cart and then redirect to check out page
2007
2085
  if (!this.isApplePayActive) {
2008
- return salla.api.request('checkout/mini', data, 'post')
2086
+ // tells checkout the guest already chose guest, so it opens on the guest form —
2087
+ // re-check isGuest(): a login since the choice must not send guest params authenticated
2088
+ const options = this.choseGuest && salla.config.isGuest() ? { params: { guest_checkout: 1, chose_guest: 1 } } : {};
2089
+ return salla.api.request('checkout/mini', data, 'post', options)
2009
2090
  .catch(err => this.legacyQuickPurchaseFallback(err, data))
2010
2091
  .then(resp => {
2011
2092
  // mini-checkout answers {to, url}; legacy quick-purchase answered {redirect}
@@ -2030,6 +2111,7 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
2030
2111
  amount: this.applePayAmount > 0 ? this.applePayAmount : this.amount,
2031
2112
  currency: this.currency || salla.config.get('store.settings.buy_now.currency') || 'SAR', // SAR
2032
2113
  requiredShippingContactFields: this.getRequiredShippingContactFields(),
2114
+ savedAddress: this.getSavedAddressForApplePay(),
2033
2115
  shippingMethods: this.isRequireShipping ? [] : undefined,
2034
2116
  supportedNetworks: this.resolveSupportedNetworks(),
2035
2117
  supportedCountries: (Array.isArray(this.supportedCountries) && this.supportedCountries.length)
@@ -2130,6 +2212,38 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
2130
2212
  salla.logger.warn('quick-buy: falling back to quick-purchase because of token_not_provided');
2131
2213
  return salla.api.request('checkout/quick-purchase/' + this.productId, data, 'post');
2132
2214
  }
2215
+ /** login-before-checkout variant: offer login or guest before buy now. Not for Apple Pay, which must open on the tap. */
2216
+ shouldAskLoginFirst() {
2217
+ return salla.config.isGuest()
2218
+ && !this.choseGuest
2219
+ && !this.isApplePayActive
2220
+ && salla.cart.loginBeforeCheckoutGroup?.() === 'variant';
2221
+ }
2222
+ askLoginFirst() {
2223
+ // a second click before the popup settles must replace the pending ask, not stack a listener
2224
+ this.cancelLoginAsk?.();
2225
+ const stop = () => {
2226
+ salla.event.off('salla-login::guest-chosen', onGuest);
2227
+ salla.event.off('salla-login::dismissed', stop);
2228
+ this.cancelLoginAsk = null;
2229
+ };
2230
+ this.cancelLoginAsk = stop;
2231
+ const onGuest = (detail) => {
2232
+ if (detail?.source !== 'buy-now')
2233
+ return;
2234
+ stop();
2235
+ this.choseGuest = true;
2236
+ this.quickBuyHandler();
2237
+ };
2238
+ salla.event.on('salla-login::guest-chosen', onGuest);
2239
+ salla.event.on('salla-login::dismissed', stop);
2240
+ this.requireLogin.emit({ productId: this.productId });
2241
+ salla.api.auth.requireLoginThen('salla-quick-buy::user.logged-in', () => {
2242
+ stop();
2243
+ this.choseGuest = false;
2244
+ this.quickBuyHandler();
2245
+ }, null, 'buy-now');
2246
+ }
2133
2247
  isGuestCheckout() {
2134
2248
  return salla.config.isGuest() && this.isGuestCheckoutAllowed() && this.isPhysicalProduct();
2135
2249
  }
@@ -2151,6 +2265,28 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
2151
2265
  }
2152
2266
  return fields;
2153
2267
  }
2268
+ /**
2269
+ * The saved address the shopper confirmed in Bullet Delivery, for the checkout to use directly
2270
+ * instead of the address Apple Pay would ask for (SHPD-11082). Undefined keeps the default
2271
+ * Apple Pay address flow: no Bullet Delivery, no confirmed saved address, or a guest.
2272
+ */
2273
+ getSavedAddressForApplePay() {
2274
+ // The mini-checkout already has the shopper's address and carrier on the cart, so it keeps
2275
+ // Apple Pay's default flow; only the product's own Quick Buy uses the Bullet Delivery address.
2276
+ if (!this.isRequireShipping || salla.config.isGuest() || this.resolveCheckoutType() !== 'buy_now')
2277
+ return undefined;
2278
+ const intent = getStoredIntent();
2279
+ if (intent?.type !== 'address' || intent.scope_allocated !== true || !intent.address_id)
2280
+ return undefined;
2281
+ // A country/city-only address would place the order without a street or district and skip
2282
+ // Apple's own address step; keep the default Apple Pay address flow for it.
2283
+ if (!isIntentAddressComplete(intent))
2284
+ return undefined;
2285
+ return {
2286
+ address_id: intent.address_id,
2287
+ shippingMethods: { url: salla.url.get('checkout/{id}/shipping') },
2288
+ };
2289
+ }
2154
2290
  /** Set Apple Pay amount + currency from a price payload, always keeping the pair in one currency. */
2155
2291
  applyBaseCurrencyPrice(data) {
2156
2292
  const base = data?.base_currency_price;
@@ -2166,6 +2302,27 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
2166
2302
  this.amount = data.price;
2167
2303
  this.currency = salla.config.get('user.currency_code') || this.currency || 'SAR';
2168
2304
  }
2305
+ this.applyApplePayProperties(data?.apple_pay);
2306
+ }
2307
+ /**
2308
+ * Networks/countries travel with price responses so the next sheet matches the new total
2309
+ * (the low-amount network rules depend on it; the page config is a cached render snapshot).
2310
+ * A payload without the key (product details, older backend) leaves the current source as-is.
2311
+ */
2312
+ applyApplePayProperties(applePay) {
2313
+ if (!applePay)
2314
+ return;
2315
+ if (applePay.supported_networks != null) {
2316
+ this.supportedNetworks = normalizeApplePayNetworks(applePay.supported_networks);
2317
+ }
2318
+ if (applePay.supported_countries != null) {
2319
+ this.supportedCountries = normalizeApplePayNetworks(applePay.supported_countries);
2320
+ }
2321
+ // Crossing the high-risk amount threshold can empty the list; never open a sheet with
2322
+ // nothing to charge — fall back to the generic buy-now instead.
2323
+ if (this.isApplePayActive && !this.resolveSupportedNetworks().length) {
2324
+ this.isApplePayActive = false;
2325
+ }
2169
2326
  }
2170
2327
  componentWillLoad() {
2171
2328
  console.log('🍏 Pay: Quick Buy Component Loaded');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { I as IphoneXIcon } from './iphone-x.js';
6
- import { M as MailIcon } from './mail.js';
6
+ import { e as email } from './mail.js';
7
7
  import { C as Cancel } from './cancel.js';
8
8
  import { d as defineCustomElement$5 } from './salla-button2.js';
9
9
  import { d as defineCustomElement$4 } from './salla-loading2.js';
@@ -220,7 +220,7 @@ const SallaQuickOrder$1 = /*@__PURE__*/ proxyCustomElement(class SallaQuickOrder
220
220
  ? this.confirmPayButtonTitle : this.expanded ? h("i", { innerHTML: Cancel }) : this.confirmPayButtonTitle)), h("form", { onSubmit: (e) => this.submit(e), class: 's-quick-order-expandable ' + (this.expanded ? 's-quick-order-shown' : '') }, Salla.config.isGuest() &&
221
221
  [
222
222
  h("div", { class: "s-form-group" }, h("span", { innerHTML: PortraitIcon }), h("input", { type: "text", required: true, class: "s-form-control s-quick-order-phone-field", name: 'name', placeholder: this.userNameLabel, ref: el => (this.nameInput = el) })),
223
- h("div", { class: "s-quick-order-flex-input" }, h("div", { class: "s-form-group" }, h("span", { innerHTML: IphoneXIcon }), h("salla-tel-input", { ref: el => (this.phoneInput = el) })), h("div", { class: "s-form-group" }, h("span", { innerHTML: MailIcon }), h("input", { type: "email", class: "s-form-control s-quick-order-email-field", name: 'email', required: this.isEmailRequired, placeholder: this.placeHolderEmail + ' ' + (this.isEmailRequired ? '' : this.emailOptional), ref: el => (this.emailInput = el) }))),
223
+ h("div", { class: "s-quick-order-flex-input" }, h("div", { class: "s-form-group" }, h("span", { innerHTML: IphoneXIcon }), h("salla-tel-input", { ref: el => (this.phoneInput = el) })), h("div", { class: "s-form-group" }, h("span", { innerHTML: email }), h("input", { type: "email", class: "s-form-control s-quick-order-email-field", name: 'email', required: this.isEmailRequired, placeholder: this.placeHolderEmail + ' ' + (this.isEmailRequired ? '' : this.emailOptional), ref: el => (this.emailInput = el) }))),
224
224
  ], this.isTermsRequired && (h("label", { htmlFor: "terms", class: "s-quick-order-terms" }, h("input", { type: "checkbox", required: true, name: 'terms', id: 'terms', ref: el => (this.termsInput = el), onChange: () => (this.termsChecked = this.termsInput.checked), class: "s-checkbox" }), h("span", { class: "s-form-label" }, " ", h("div", { innerHTML: this.formatAgreementText(this.agreementText, 150) }, this.agreementText.length > 150 && (h("salla-button", { shape: "link", onClick: () => this.agreementModal.open() }, this.agreementShowText))), " "))), h("salla-button", { type: "submit", color: this.getBtnColor(), width: "wide", ref: el => (this.submitBtn = el) }, this.payButtonTitle)), h("salla-modal", { "modal-title": this.agreementModalHead, ref: modal => (this.agreementModal = modal) }, h("article", { innerHTML: this.agreementText })))));
225
225
  }
226
226
  componentDidLoad() {
@@ -6,7 +6,7 @@ import { C as CheckCircle2 } from './check-circle2.js';
6
6
  import { H as Helper } from './Helper.js';
7
7
  import { I as ImageIcon } from './image.js';
8
8
  import { W as WhatsappIcon } from './whatsapp2.js';
9
- import { M as MailIcon } from './mail.js';
9
+ import { e as email } from './mail.js';
10
10
  import { d as defineCustomElement$9, l as buildMediaUploadAccept } from './salla-attachment-view2.js';
11
11
  import { d as defineCustomElement$8 } from './salla-button2.js';
12
12
  import { d as defineCustomElement$7 } from './salla-file-upload2.js';
@@ -763,6 +763,34 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
763
763
  }
764
764
  return [];
765
765
  }
766
+ getRateStarsMessage(type, container) {
767
+ const itemName = this.getValidationItemName(type, container);
768
+ const message = salla.lang.get(`pages.rating.rate_${type}_stars`, { item: itemName });
769
+ // Drop a leftover ":item" placeholder (and its parentheses) when no name is available.
770
+ return message.replace(/\s*\(:item\)/g, '').replace(/\s*:item/g, '').trim();
771
+ }
772
+ getValidationItemName(type, container) {
773
+ if (type === 'product') {
774
+ const productId = container.querySelector('[name="product_id"]')
775
+ ?.value;
776
+ const product = this.getOrderProducts().find(item => String(item.product?.id) === String(productId))?.product;
777
+ return product?.name ?? '';
778
+ }
779
+ return '';
780
+ }
781
+ /** Clear a step's validation message as soon as a star rating is picked. */
782
+ clearValidationOnRating(event) {
783
+ const target = event.target;
784
+ if (!target?.closest('salla-rating-stars')) {
785
+ return;
786
+ }
787
+ const form = target.closest('.rating-outer-form');
788
+ const message = form?.querySelector('.s-rating-modal-validation-msg');
789
+ const mainRow = form?.querySelector('.s-rating-modal-product-rating-row-main');
790
+ if (message && form && this.getRatingHiddenInput(mainRow || form)?.value) {
791
+ message.innerHTML = '';
792
+ }
793
+ }
766
794
  validate(rating = null, type = null) {
767
795
  if (!rating && this.currentTab?.dataset?.type === 'products') {
768
796
  const ratingForms = this.currentTab.querySelectorAll('.rating-outer-form');
@@ -779,9 +807,7 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
779
807
  const validationMessage = resolvedRating.querySelector('.s-rating-modal-validation-msg');
780
808
  const resolvedType = type || resolvedRating.getAttribute('data-type');
781
809
  if (!stars) {
782
- validationMessage.innerHTML = salla.lang
783
- .get(`pages.rating.rate_${resolvedType}_stars`)
784
- .replace(' (:item)', '');
810
+ validationMessage.innerHTML = this.getRateStarsMessage(resolvedType, resolvedRating);
785
811
  throw new Error(validationMessage.innerHTML);
786
812
  }
787
813
  if (resolvedType === 'product') {
@@ -1436,8 +1462,8 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
1436
1462
  h("div", { class: "s-rating-modal-wrapper", ref: el => {
1437
1463
  if (el)
1438
1464
  this.body = el;
1439
- } }, this.isTestimonialsEnabled() ? (h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "store" }, h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), h("h2", { class: "s-rating-modal-title" }, salla.config.get('store.name')), h("p", { class: "s-rating-modal-subtitle" }, salla.lang.get('pages.rating.rate_the_store')), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))) : (''), this.isProductsEnabled() &&
1440
- this.getRateableProducts().map((item, index) => this.renderProductStep(item, index)), this.isShippingEnabled() && this.order.shipping?.company ? (h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "shipping" }, h("input", { type: "hidden", name: "shipping_company_id", value: this.order.shipping.company.id }), this.order.shipping.company.logo ? (h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: this.order.shipping.company.logo, class: "s-rating-modal-shipping-logo", alt: this.order.shipping.company.name }))) : (h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast })), h("div", { class: "s-rating-modal-title" }, ' ', `${salla.lang.get('pages.rating.rate_shipping')} ${this.order.shipping.company.name}`), h("p", { class: "s-rating-modal-subtitle" }, salla.lang.get('pages.rating.write_shipping_rate')), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))) : (''), h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => {
1465
+ }, onClick: (event) => this.clearValidationOnRating(event) }, this.isProductsEnabled() &&
1466
+ this.getRateableProducts().map((item, index) => this.renderProductStep(item, index)), this.isTestimonialsEnabled() ? (h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "store" }, h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), h("h2", { class: "s-rating-modal-title" }, salla.config.get('store.name')), h("p", { class: "s-rating-modal-subtitle" }, salla.lang.get('pages.rating.rate_the_store')), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))) : (''), this.isShippingEnabled() && this.order.shipping?.company ? (h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "shipping" }, h("input", { type: "hidden", name: "shipping_company_id", value: this.order.shipping.company.id }), this.order.shipping.company.logo ? (h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: this.order.shipping.company.logo, class: "s-rating-modal-shipping-logo", alt: this.order.shipping.company.name }))) : (h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast })), h("div", { class: "s-rating-modal-title" }, ' ', `${salla.lang.get('pages.rating.rate_shipping')} ${this.order.shipping.company.name}`), h("p", { class: "s-rating-modal-subtitle" }, salla.lang.get('pages.rating.write_shipping_rate')), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))) : (''), h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => {
1441
1467
  if (el)
1442
1468
  this.thanksTab = el;
1443
1469
  } }, h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), h("time", { class: "s-rating-modal-thanks-time", ref: el => {
@@ -1447,7 +1473,7 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
1447
1473
  this.allowContactSupport &&
1448
1474
  this.showContactWidget &&
1449
1475
  (salla.config.get('store.contacts.whatsapp') ||
1450
- salla.config.get('store.contacts.email')) ? (h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && (h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon })), salla.config.get('store.contacts.email') && (h("span", { onClick: () => this.handleSendEmail(), innerHTML: MailIcon }))))) : (''),
1476
+ salla.config.get('store.contacts.email')) ? (h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && (h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon })), salla.config.get('store.contacts.email') && (h("span", { onClick: () => this.handleSendEmail(), innerHTML: email }))))) : (''),
1451
1477
  h("div", { class: "s-rating-modal-footer" }, h("button", { ref: el => {
1452
1478
  if (el)
1453
1479
  this.backBtn = el;
@@ -4,7 +4,7 @@
4
4
  import { proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
5
5
  import { C as CheckCircle2 } from './check-circle2.js';
6
6
  import { I as ImageIcon } from './image.js';
7
- import { M as MailIcon } from './mail.js';
7
+ import { e as email } from './mail.js';
8
8
  import { d as defineCustomElement$4, S as ShippingFast, a as Star } from './salla-rating-modal-v22.js';
9
9
  import { W as WhatsappIcon } from './whatsapp2.js';
10
10
  import { H as Helper } from './Helper.js';
@@ -527,7 +527,7 @@ const SallaRatingModal = /*@__PURE__*/ proxyCustomElement(class SallaRatingModal
527
527
  ? h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "shipping" }, h("input", { type: "hidden", name: "shipping_company_id", value: this.order.shipping.company.id }), this.order.shipping.company.logo
528
528
  ? h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: this.order.shipping.company.logo, class: "s-rating-modal-shipping-logo", alt: this.order.shipping.company.name }))
529
529
  : h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.order.shipping.company.name}`), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))
530
- : '', h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon }), salla.config.get('store.contacts.email') && h("span", { onClick: () => this.handleSendEmail(), innerHTML: MailIcon }))) : '', h("div", { class: "s-rating-modal-footer" }, h("button", { ref: el => this.backBtn = el, onClick: () => this.previousTab(), class: "s-rating-modal-btn s-rating-modal-unvisiable" }, salla.lang.get('common.elements.back')), this.stepsCount > 1 ? h("ul", { class: "s-rating-modal-dots" }, [0, 1, 2].slice(0, this.stepsCount).map((v) => h("li", { key: v, class: 's-rating-modal-bg-gray s-rating-modal-step-dot' }))) : '', h("salla-button", { "loader-position": 'center', ref: el => this.nextBtn = el, onClick: () => this.submit() }, salla.lang.get('common.elements.next')))]
530
+ : '', h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon }), salla.config.get('store.contacts.email') && h("span", { onClick: () => this.handleSendEmail(), innerHTML: email }))) : '', h("div", { class: "s-rating-modal-footer" }, h("button", { ref: el => this.backBtn = el, onClick: () => this.previousTab(), class: "s-rating-modal-btn s-rating-modal-unvisiable" }, salla.lang.get('common.elements.back')), this.stepsCount > 1 ? h("ul", { class: "s-rating-modal-dots" }, [0, 1, 2].slice(0, this.stepsCount).map((v) => h("li", { key: v, class: 's-rating-modal-bg-gray s-rating-modal-step-dot' }))) : '', h("salla-button", { "loader-position": 'center', ref: el => this.nextBtn = el, onClick: () => this.submit() }, salla.lang.get('common.elements.next')))]
531
531
  : h("salla-placeholder", { alignment: "center" }))));
532
532
  }
533
533
  }
@@ -172,7 +172,7 @@ const SallaReviewCard = /*@__PURE__*/ proxyCustomElement(class SallaReviewCard e
172
172
  return (h("a", { href: this.review?.product?.url, class: "s-review-card-product-container" }, h("img", { alt: product.image?.alt || "Product", src: product.image?.url, class: "s-review-card-product-image", width: 60, height: 60, loading: "lazy", decoding: "async", draggable: false }), h("div", { class: "s-review-card-product-details" }, h("p", { class: "s-review-card-product-details-name" }, product.name), this.showPurchaseCount ? h("p", { class: "s-review-card-product-details-purchase-count" }, h("span", { innerHTML: IconFire2 }), this.purchasedCount) : null)));
173
173
  }
174
174
  render() {
175
- return h("div", { key: '74f90d0c16e70958df63048265548fbbe98f1de2', class: "s-review-card-container" }, this.renderSlider(), this.renderSingleImage(), renderDivider(), h("div", { key: 'de835106c59d533bfb722d6e8b2f3153f2ce2772', class: "s-review-card-content" }, this.renderHeader(), h("p", { key: '902668e2d2661565af38aa29e1f46800c380f56d', class: "s-review-card-review-content", innerHTML: this.review?.content }), renderDivider(), this.renderProductInfo()));
175
+ return h("div", { key: 'a2aeb09661c1764b925ef439162ff403b7e06a3c', class: "s-review-card-container" }, this.renderSlider(), this.renderSingleImage(), renderDivider(), h("div", { key: '7f926752e34f00aee7e113cbf3a5d62c0085dfb7', class: "s-review-card-content" }, this.renderHeader(), h("p", { key: 'e0d9dbe1ba13c32ddfc79d5bbc9b40d4de3882c6', class: "s-review-card-review-content", innerHTML: this.review?.content }), renderDivider(), this.renderProductInfo()));
176
176
  }
177
177
  get el() { return this; }
178
178
  static get style() { return sallaReviewCardCss; }
@@ -132,7 +132,7 @@ const SallaReviewFactorsTags = /*@__PURE__*/ proxyCustomElement(class SallaRevie
132
132
  return (h("div", { class: "s-review-factors-tags-factors" }, factors.map(factor => (h("div", { class: "s-review-factors-tags-factor-tag" }, h("span", { class: "s-review-factors-tags-factor-name" }, factor.name), h("span", { class: "s-review-factors-tags-factor-star", innerHTML: Rate }), h("span", { class: "s-review-factors-tags-factor-rating" }, factor.rating || ''))))));
133
133
  }
134
134
  render() {
135
- return (h(Host, { key: '3391a62ef0f0e7b5b97fa17c99aae2383772ba13', class: "s-review-factors-tags-wrapper" }, this.renderFactorTags()));
135
+ return (h(Host, { key: '2fc041ebd27df774250e428f3a68026838221309', class: "s-review-factors-tags-wrapper" }, this.renderFactorTags()));
136
136
  }
137
137
  static get watchers() { return {
138
138
  "factors": ["onPropsChange"],
@@ -687,7 +687,7 @@ const SallaReviewsPage$1 = /*@__PURE__*/ proxyCustomElement(class SallaReviewsPa
687
687
  return options.map(option => (h("option", { key: option.value, value: option.value, selected: option.value === this.sort }, option.label)));
688
688
  }
689
689
  render() {
690
- return (h("host", { key: '99ad0c8d56c14608f3212cea87e8c654bf604dbf' }, h("div", { key: 'cb7001d10ab877e4a01ca7947816ae37f5df3551', class: "s-reviews-page-header-wrapper" }, h("h2", { key: 'b83ba652a056ea7783ce1f7d5de210b4ef56141d', class: "s-reviews-page-title" }, this.langTitlesReviews, h("span", { key: 'ab6ac660abc7f4890cda9e9b84fff0b95c20e6c0', class: "s-reviews-page-count" }, "(", this.langRatingReviews, ")")), h("div", { key: '5bbb950b00b175553e8f9badeef7616519329546', class: "s-reviews-page-filter-wrapper" }, h("label", { key: '0c04b75c09b6a0da4d7e97df9c4c8f2eb3340668', class: "s-reviews-page-filter-label", htmlFor: "testimonials-filter" }, this.langSorting), h("select", { key: '5daa619818112ecab244a5f569070cc4f2d6d5fb', onChange: (e) => this.handleSorting(e), disabled: !this.reviews.length, class: "s-reviews-page-filter" }, this.renderSortingOptions()))), this.reviews.length ? h("main", { class: "s-reviews-page-grid", ref: el => {
690
+ return (h("host", { key: '35cd0a44554000d50366a0fc58e1459aee0b44b8' }, h("div", { key: '84221421edcb64eb6e354ec3db1153a479ad592a', class: "s-reviews-page-header-wrapper" }, h("h2", { key: 'd9d058476d006d09558037e8db5beb2216074f13', class: "s-reviews-page-title" }, this.langTitlesReviews, h("span", { key: '3a26542f8402200d33d8c44edaaa32f368879257', class: "s-reviews-page-count" }, "(", this.langRatingReviews, ")")), h("div", { key: 'c7e62f7e92a8b00ccd7301db6432510b5d7778ef', class: "s-reviews-page-filter-wrapper" }, h("label", { key: '07bcd2bd2e6b218e95296e3e863acf32fa2cca0a', class: "s-reviews-page-filter-label", htmlFor: "testimonials-filter" }, this.langSorting), h("select", { key: 'd6e78c62117a8ed22e76600d83deeccd777fb5d3', onChange: (e) => this.handleSorting(e), disabled: !this.reviews.length, class: "s-reviews-page-filter" }, this.renderSortingOptions()))), this.reviews.length ? h("main", { class: "s-reviews-page-grid", ref: el => {
691
691
  this.wrapper = el;
692
692
  } }, this.reviews.map(review => (h("salla-review-card", { key: review.id, review: review }))))
693
693
  : h("div", { class: "s-products-list-placeholder" }, h("span", { innerHTML: ShoppingBag }), h("p", null, this.placeholderText)), this.pagination?.links?.next && this.reviews.length ? (h("div", { class: "s-reviews-page-load-more-container" }, h("salla-button", { class: "s-reviews-page-load-more-btn", loading: this.isLoading, onClick: () => this.infiniteScroll?.loadNextPage(), onKeyUp: () => this.infiniteScroll?.loadNextPage() }, this.langLoadMore))) : null));
@@ -121,7 +121,7 @@ const SallaSearchProductCard = /*@__PURE__*/ proxyCustomElement(class SallaSearc
121
121
  // 's-search-product-card-out-of-stock': this.productData?.is_out_of_stock,
122
122
  };
123
123
  const hrefProp = this.productData?.url ? { href: this.productData.url } : {};
124
- return (h(Host, { key: '4cfc1a96be2ed4c30a081b427114a5bfe06c3842', id: `search-product-${this.productData?.id}`, class: classes }, this.productData?.url ? (h("a", { class: "s-search-product-card-overlay-link", "aria-label": this.productData?.name, ...hrefProp })) : null, h("div", { key: '2285f61c94fd3769a2233ec03dfb7982c69e72d6', class: "s-search-product-card-image" }, h("img", { key: 'af1c9b83c3b913840dce2e098a162deb523fbc3a', class: `s-search-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url) ? 'contain' : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), this.getProductBadge()), h("div", { key: '9de832c578e6fbb445052ab912f3aa2076c7b8ab', class: "s-search-product-card-content" }, h("div", { key: '3eab0e1c65c95f136409b1822ab561ece92375a3', class: "s-search-product-card-content-main" }, h("h3", { key: '31d1dfae5ba8fece00ca62f2948c8344b9f1826d', class: "s-search-product-card-content-title" }, this.getDisplayTitle()), this.productData?.subtitle ? (h("p", { class: "s-search-product-card-content-subtitle" }, this.productData?.subtitle)) : null), !!this.showDonationAmount && !!this.productData?.donation
124
+ return (h(Host, { key: '6be103faead19fecfbc380ff4ee53f47f057dae0', id: `search-product-${this.productData?.id}`, class: classes }, this.productData?.url ? (h("a", { class: "s-search-product-card-overlay-link", "aria-label": this.productData?.name, ...hrefProp })) : null, h("div", { key: '1b2200c07aead0031e1b7cf4f4a0d0dbdb165d15', class: "s-search-product-card-image" }, h("img", { key: 'dca2fd85d56f311845397893bb64f50c1202ed2c', class: `s-search-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url) ? 'contain' : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), this.getProductBadge()), h("div", { key: '6b04b97c6ead3c399acd3597c62fcf197a2a3b0d', class: "s-search-product-card-content" }, h("div", { key: '750a347824045b181736002aed50b586437065ed', class: "s-search-product-card-content-main" }, h("h3", { key: 'b0b85cd7d0314e6e5657d208ede0bdb2ab957d8a', class: "s-search-product-card-content-title" }, this.getDisplayTitle()), this.productData?.subtitle ? (h("p", { class: "s-search-product-card-content-subtitle" }, this.productData?.subtitle)) : null), !!this.showDonationAmount && !!this.productData?.donation
125
125
  ? [
126
126
  h("salla-progress-bar", { donation: this.productData?.donation }),
127
127
  h("div", { class: "s-search-product-card-donation-input" }, this.productData?.donation?.can_donate
@@ -136,7 +136,7 @@ const SallaSearchProductCard = /*@__PURE__*/ proxyCustomElement(class SallaSearc
136
136
  ]
137
137
  : null),
138
138
  ]
139
- : null, h("div", { key: '8c7989a6e42e4fe058ca1d9edfefb4861aef65d6', class: "s-search-product-card-content-sub" }, this.getProductPrice(), this.productData?.is_out_of_stock ? (h("span", { class: "s-search-product-card-out-of-stock-label" }, this.outOfStock)) : null), this.productData?.rating?.stars ? (h("div", { class: "s-search-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))) : null), !this.hideAddBtn ? (h("div", { class: "s-search-product-card-content-footer" }, h("salla-add-product-button", { ref: el => (this.addBtn = el), "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type, class: "s-add-product-button-compact" }, this.renderAddToCartLabel()))) : null));
139
+ : null, h("div", { key: 'f1507e9e9a42d099e46e12b214be70ed41bff404', class: "s-search-product-card-content-sub" }, this.getProductPrice(), this.productData?.is_out_of_stock ? (h("span", { class: "s-search-product-card-out-of-stock-label" }, this.outOfStock)) : null), this.productData?.rating?.stars ? (h("div", { class: "s-search-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))) : null), !this.hideAddBtn ? (h("div", { class: "s-search-product-card-content-footer" }, h("salla-add-product-button", { ref: el => (this.addBtn = el), "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type, class: "s-add-product-button-compact" }, this.renderAddToCartLabel()))) : null));
140
140
  }
141
141
  componentDidLoad() {
142
142
  document.lazyLoadInstance?.update(this.host?.querySelectorAll('.lazy'));
@@ -210,18 +210,18 @@ const SallaSearchableDropdown = /*@__PURE__*/ proxyCustomElement(class SallaSear
210
210
  render() {
211
211
  const hasSelection = this.selectedItem != null;
212
212
  const listboxId = `${this.inputId}-listbox`;
213
- return (h(Host, { key: 'eadd6ff762e66bc3458d19f7d2490da939a268d0', class: "s-searchable-dropdown" }, h("div", { key: '0cb614d73e06626c0cd3b5e5eadc76ebfc296093', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: '6f3c440ccad07f3ab271f85f508ddf6294464947', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: '9415e3b6b87e702079c2fc810aa7621e623e5641', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: '7ed8979005ef68e40976a536ead5da4c736bb0ba', class: {
213
+ return (h(Host, { key: '02d11f844c06912b4743b820af6cee7c34b77f17', class: "s-searchable-dropdown" }, h("div", { key: 'e2fde5235f96206861dec5c94397a48061a2b59d', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: '22d43eb76b9d9b7e28be0a02e799e200499bb2d5', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: 'a139791c05d1b494776f538deafebbf41a2d4eee', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: '7361971a854f54206f30f61a13bce53c19b4dd54', class: {
214
214
  's-searchable-dropdown-trigger': true,
215
215
  's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
216
216
  's-searchable-dropdown-trigger--open': this.isOpen,
217
- }, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: '7df0a517cb916ad6652544c1b738c569ab2f290f', class: {
217
+ }, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: '11a8d6d198eceaff33c83167db1672709da6a334', class: {
218
218
  'sicon-keyboard_arrow_down': true,
219
219
  's-searchable-dropdown-trigger-icon': true,
220
220
  's-searchable-dropdown-trigger-icon--open': this.isOpen,
221
- }, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '797dea9a0b0a26402132f5d33c49b74cde5f617d', class: {
221
+ }, "aria-hidden": "true" })), this.isOpen && (h("div", { key: 'b1f95c4129297cb880edefdae7dd0ee55d0db89f', class: {
222
222
  's-searchable-dropdown-panel': true,
223
223
  's-searchable-dropdown-panel--up': this.dropUp,
224
- }, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: 'e7b7ec94dbc99ac40a1f833b7aa61c5d2a8742b7', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: '59fc0e1986726f99639688c18bc6c501fae966b4', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), h("input", { key: '70a63f4297d7f1f204d95336cc6aaea28d8f14e1', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), h("div", { key: 'f998cc8115062d98befdb814cba0a282c491ef4e', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
224
+ }, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: '538366b1f478b758697a6163449f02a844046c24', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: 'd4645a414866d20b37567b0edf7cc063c0783b0e', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), h("input", { key: '9a1a0e9146fa1e5a2c391b75c82b8fe795207118', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), h("div", { key: 'c233695fd26f7c743af2a330c149a02171e108da', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
225
225
  }
226
226
  renderListContent() {
227
227
  if (this.searching || this.loading) {
@@ -27,7 +27,7 @@ const SallaSkeleton = /*@__PURE__*/ proxyCustomElement(class SallaSkeleton exten
27
27
  's-skeleton-item': true,
28
28
  's-skeleton-item-circular': this.type == 'circle',
29
29
  };
30
- return (h(Host, { key: 'fbfa8fa5a3c9dd07f69c2ee75a97fd53fff3711c', class: "s-skeleton-wrapper", style: { width: this.width, height: this.height } }, h("div", { key: 'a09b63d0738f06ff388d6f80225a959184f2d8ba', class: classes }, "\u00A0")));
30
+ return (h(Host, { key: 'c73b16b10bad29384b81ac436a09b5d48712c2c3', class: "s-skeleton-wrapper", style: { width: this.width, height: this.height } }, h("div", { key: '890166817a5e0470d25c3114c87193ff7ad88b10', class: classes }, "\u00A0")));
31
31
  }
32
32
  static get style() { return sallaSkeletonCss; }
33
33
  }, [0, "salla-skeleton", {