@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
@@ -343,9 +343,14 @@ export class SallaLoginModal {
343
343
  });
344
344
  }
345
345
  async handleGuestCheckout() {
346
+ // buy now resumes its own flow; emitted before closing so the dismissal doesn't race it
347
+ if (this.source === 'buy-now') {
348
+ Salla.event.emit('salla-login::guest-chosen', { source: this.source });
349
+ return this.modal.close();
350
+ }
346
351
  this.modal.close();
347
352
  if (salla.config.isGuest()) {
348
- return salla.cart.submit(false, true);
353
+ return salla.cart.submit(false, true, true);
349
354
  }
350
355
  }
351
356
  openModal() {
@@ -0,0 +1,43 @@
1
+ /*!twlt*//*
2
+ * Mobile Update Modal: popup that makes a duplicated-mobile customer confirm or replace the number.
3
+ * You can use these classes to target the elements in the component.
4
+ */
5
+ .s-mobile-update-content, .s-mobile-update-content salla-verify .s-verify-body {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 1rem;
9
+ }
10
+ .s-mobile-update-message, .s-mobile-update-blocked {
11
+ margin: 0;
12
+ }
13
+ .s-mobile-update-field {
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: 0.25rem;
17
+ }
18
+ .s-mobile-update-field-error {
19
+ display: block;
20
+ color: #ef4444;
21
+ font-size: 0.875rem;
22
+ }
23
+ .s-mobile-update-number {
24
+ display: block;
25
+ text-align: center;
26
+ }
27
+ .s-mobile-update-content .s-verify-footer {
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 1rem;
31
+ }
32
+ .\!visible {
33
+ visibility: visible !important;
34
+ }
35
+ .visible {
36
+ visibility: visible;
37
+ }
38
+ .inline {
39
+ display: inline;
40
+ }
41
+ .outline {
42
+ outline-style: solid;
43
+ }
@@ -0,0 +1,235 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { Fragment, h } from "@stencil/core";
5
+ // Fallbacks only: the texts live in `pages.mobile_update.*` of the Languages module
6
+ const TEXTS = {
7
+ title: { ar: 'تحديث رقم الجوال', en: 'Update your mobile number' },
8
+ clarification: {
9
+ ar: 'رقم الجوال مكرر مع حساب آخر يبدو أنك تملك حساباً مسبقاً بهذا الرقم! يرجى تسجيل الدخول عبر البريد الإلكتروني، أو المتابعة باستخدام رقم جوال جديد.',
10
+ en: 'This mobile number is duplicated with another account. It looks like you already have an account with this number! Please log in with your email, or continue with a new mobile number.',
11
+ },
12
+ choice: {
13
+ ar: 'هل هذا الرقم رقم جوالك؟ أكّد رقمك الحالي أو أدخل رقماً جديداً لإتمام الطلب.',
14
+ en: 'Is this your mobile number? Confirm your current number or enter a new one to complete the order.',
15
+ },
16
+ same_number: { ar: 'تأكيد رقمي الحالي', en: 'Confirm my current number' },
17
+ new_number: { ar: 'استخدام رقم جديد', en: 'Use a new number' },
18
+ send_code: { ar: 'إرسال رمز التحقق', en: 'Send verification code' },
19
+ exists: { ar: 'رقم الجوال موجود مسبقاً', en: 'Mobile number exists' },
20
+ blocked: { ar: 'يرجى إدخال رقم جوال جديد لإتمام الطلب', en: 'Please provide a new mobile number to complete the order' },
21
+ too_many: {
22
+ ar: 'تجاوزت عدد المحاولات المسموح بها، حاول مرة أخرى بعد 10 دقائق',
23
+ en: 'Too many attempts, please try again after 10 minutes',
24
+ },
25
+ back: { ar: 'رجوع', en: 'Back' },
26
+ };
27
+ /**
28
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
29
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
30
+ */
31
+ export class SallaMobileUpdateModal {
32
+ constructor() {
33
+ this.options = ['new_number'];
34
+ this.step = 'mobile';
35
+ this.mode = 'new_number';
36
+ this.errorMessage = '';
37
+ this.fieldError = '';
38
+ this.phone = {};
39
+ this.completed = false;
40
+ this.sending = false;
41
+ this.flow = 0;
42
+ this.dialCode = '';
43
+ this.verifyCode = (data) => {
44
+ const request = this.mode === 'same_number'
45
+ ? salla.api.profile.requiredMobile('requiredMobileSameVerify', { code: data.code })
46
+ : salla.api.profile.requiredMobile('requiredMobileUpdate', { ...this.phone, code: data.code });
47
+ return request.then(response => {
48
+ this.completed = true;
49
+ salla.event.emit('mobile-update::updated', response);
50
+ this.modal.close();
51
+ return response;
52
+ });
53
+ };
54
+ this.resendCode = () => this.requestCode().catch(error => {
55
+ this.fail(error, salla.lang.get('common.errors.error_occurred'));
56
+ });
57
+ }
58
+ t(key) {
59
+ const text = TEXTS[key];
60
+ const fallback = salla.lang.locale === 'ar' ? text.ar : text.en;
61
+ // these two labels already exist in the Languages module, so the popup reuses them
62
+ const shared = { back: 'common.elements.back', send_code: 'pages.checkout.send_code' }[key];
63
+ return salla.lang.getWithDefault(shared || `pages.mobile_update.${key}`, fallback);
64
+ }
65
+ /**
66
+ * Open the popup
67
+ * @param data `options` is the list the backend returned: `new_number`, and `same_number` for an unresolved duplicate
68
+ */
69
+ async open(data = {}) {
70
+ this.options = (data.options?.length ? data.options : ['new_number']);
71
+ this.completed = false;
72
+ this.sending = false;
73
+ this.flow++;
74
+ this.errorMessage = '';
75
+ this.fieldError = '';
76
+ this.step = this.options.includes('same_number') ? 'choice' : 'mobile';
77
+ this.mode = 'new_number';
78
+ await this.modal.open();
79
+ }
80
+ onVisibilityChanged(visible) {
81
+ if (!visible && !this.completed) {
82
+ salla.event.emit('mobile-update::dismissed');
83
+ }
84
+ }
85
+ fail(error, fallback = '') {
86
+ const status = error?.response?.status;
87
+ const fields = error?.response?.data?.error?.fields || {};
88
+ const fieldMessage = [].concat(fields.phone || [])[0];
89
+ this.errorMessage = '';
90
+ this.fieldError = '';
91
+ if (status !== 429 && fieldMessage) {
92
+ this.fieldError = this.t('exists');
93
+ return;
94
+ }
95
+ this.errorMessage = status === 429 ? this.t('too_many') : (error?.response?.data?.error?.message || fallback);
96
+ }
97
+ async sendCode() {
98
+ if (this.sending)
99
+ return;
100
+ this.errorMessage = '';
101
+ this.fieldError = '';
102
+ // a response that lands after the popup was closed and reopened belongs to a flow that no longer exists
103
+ const flow = this.flow;
104
+ this.sending = true;
105
+ try {
106
+ if (this.mode === 'new_number') {
107
+ if (!(await this.telInput.isValid()))
108
+ return;
109
+ const values = await this.telInput.getValues();
110
+ this.phone = { phone: values.phone, country_code: values.countryCode };
111
+ this.dialCode = String(values.countryKey || '');
112
+ }
113
+ await this.requestCode();
114
+ if (flow === this.flow)
115
+ this.step = 'verify';
116
+ }
117
+ catch (error) {
118
+ if (flow === this.flow)
119
+ this.fail(error, salla.lang.get('common.errors.error_occurred'));
120
+ }
121
+ finally {
122
+ if (flow === this.flow)
123
+ this.sending = false;
124
+ }
125
+ }
126
+ requestCode() {
127
+ return this.mode === 'same_number'
128
+ ? salla.api.profile.requiredMobile('requiredMobileSameSend')
129
+ : salla.api.profile.requiredMobile('requiredMobileSend', this.phone);
130
+ }
131
+ componentDidRender() {
132
+ if (this.step === 'verify' && this.verify && !this.verify.dataset.opened) {
133
+ this.verify.dataset.opened = 'true';
134
+ this.verify.open({ type: 'mobile' });
135
+ }
136
+ }
137
+ chooseMode(mode) {
138
+ if (this.sending)
139
+ return;
140
+ this.mode = mode;
141
+ this.errorMessage = '';
142
+ this.fieldError = '';
143
+ if (mode === 'same_number') {
144
+ return this.sendCode();
145
+ }
146
+ this.step = 'mobile';
147
+ }
148
+ // back from the verify step to the step that chose the number, so a mistaken number can be corrected
149
+ changeNumber() {
150
+ this.step = this.mode === 'same_number' ? 'choice' : 'mobile';
151
+ this.errorMessage = '';
152
+ this.fieldError = '';
153
+ }
154
+ sentTo() {
155
+ if (this.mode === 'same_number') {
156
+ return String(salla.config.get('user.mobile', '') || '');
157
+ }
158
+ return `${this.dialCode}${this.phone.phone || ''}`;
159
+ }
160
+ clarification() {
161
+ return this.options.includes('same_number') ? this.t('choice') : this.t('clarification');
162
+ }
163
+ body() {
164
+ if (this.step === 'choice') {
165
+ return h(Fragment, null, h("p", { class: "s-mobile-update-message" }, this.clarification()), h("salla-button", { class: "s-mobile-update-same", width: "wide", onClick: () => this.chooseMode('same_number') }, this.t('same_number')), h("salla-button", { class: "s-mobile-update-new", width: "wide", color: "light", onClick: () => this.chooseMode('new_number') }, this.t('new_number')));
166
+ }
167
+ if (this.step === 'mobile') {
168
+ return h(Fragment, null, h("p", { class: "s-mobile-update-message" }, this.clarification()), !this.options.includes('same_number') && h("p", { class: "s-mobile-update-blocked" }, this.t('blocked')), h("div", { class: "s-mobile-update-field" }, h("salla-tel-input", { ref: el => this.telInput = el }), this.fieldError && h("span", { class: "s-tel-input-error-msg s-mobile-update-field-error" }, this.fieldError)), h("salla-button", { class: "s-mobile-update-send", width: "wide", onClick: () => this.sendCode() }, this.t('send_code')), this.options.includes('same_number') &&
169
+ h("salla-button", { class: "s-mobile-update-back", width: "wide", color: "light", fill: "outline", onClick: () => {
170
+ if (!this.sending) {
171
+ this.step = 'choice';
172
+ this.errorMessage = '';
173
+ this.fieldError = '';
174
+ }
175
+ } }, this.t('back')));
176
+ }
177
+ return h(Fragment, null, h("salla-verify", { display: "inline", type: "mobile", autoReload: false, verifyHandler: this.verifyCode, resendHandler: this.resendCode, ref: el => { this.verify = el; } }, h("b", { slot: "mobile", class: "s-mobile-update-number", dir: "ltr" }, this.sentTo())), h("salla-button", { class: "s-mobile-update-change", width: "wide", color: "light", fill: "outline", onClick: () => this.changeNumber() }, this.t('back')));
178
+ }
179
+ render() {
180
+ return (h("salla-modal", { key: '9b414affef0063fc82fb99b0a065062aacf840be', class: "s-mobile-update-modal", width: "xs", "is-closable": true, "modal-title": this.t('title'), ref: modal => this.modal = modal, onModalVisibilityChanged: e => this.onVisibilityChanged(!!e.detail) }, h("div", { key: '2de95104b0b048b47baa4a7472cea566e4e961e4', class: "s-mobile-update-content" }, this.body(), this.errorMessage && h("span", { key: 'f8ccbd204e9dcaa31a48b2beb974a4b5d8691d53', class: "s-mobile-update-error" }, this.errorMessage))));
181
+ }
182
+ static get is() { return "salla-mobile-update-modal"; }
183
+ static get originalStyleUrls() {
184
+ return {
185
+ "$": ["salla-mobile-update-modal.scss"]
186
+ };
187
+ }
188
+ static get styleUrls() {
189
+ return {
190
+ "$": ["salla-mobile-update-modal.css"]
191
+ };
192
+ }
193
+ static get states() {
194
+ return {
195
+ "options": {},
196
+ "step": {},
197
+ "mode": {},
198
+ "errorMessage": {},
199
+ "fieldError": {}
200
+ };
201
+ }
202
+ static get methods() {
203
+ return {
204
+ "open": {
205
+ "complexType": {
206
+ "signature": "(data?: { options?: string[]; }) => Promise<void>",
207
+ "parameters": [{
208
+ "name": "data",
209
+ "type": "{ options?: string[]; }",
210
+ "docs": "`options` is the list the backend returned: `new_number`, and `same_number` for an unresolved duplicate"
211
+ }],
212
+ "references": {
213
+ "Promise": {
214
+ "location": "global",
215
+ "id": "global::Promise"
216
+ },
217
+ "Mode": {
218
+ "location": "global",
219
+ "id": "global::Mode"
220
+ }
221
+ },
222
+ "return": "Promise<void>"
223
+ },
224
+ "docs": {
225
+ "text": "Open the popup",
226
+ "tags": [{
227
+ "name": "param",
228
+ "text": "data `options` is the list the backend returned: `new_number`, and `same_number` for an unresolved duplicate"
229
+ }]
230
+ }
231
+ }
232
+ };
233
+ }
234
+ static get elementRef() { return "host"; }
235
+ }
@@ -30,7 +30,7 @@ export class SallaMultipleBundleProductCart {
30
30
  return (h("div", { slot: "html", class: "s-multiple-bundle-product-cart-header-wrapper" }, h("div", { class: `s-multiple-bundle-product-cart-header ${hasOptions ? '' : 's-multiple-bundle-product-cart-header-no-options'}` }, h("div", { class: "s-multiple-bundle-product-cart-header-content" }, h("a", { href: product?.url, class: "s-multiple-bundle-product-cart-header-image-wrapper" }, h("img", { src: product?.image?.url, alt: product?.image?.alt || product?.name, class: "s-multiple-bundle-product-cart-header-image" })), h("div", { class: "s-multiple-bundle-product-cart-header-content-details" }, h("h2", { class: "s-multiple-bundle-product-cart-header-content-details-title" }, h("a", { href: product?.url, class: "s-multiple-bundle-product-cart-header-content-details-title-link" }, product?.name)), h("div", { class: "s-multiple-bundle-product-cart-header-content-details-price" }, h("span", { class: "s-multiple-bundle-product-cart-header-content-details-price-regular" }, h("span", { innerHTML: product?.price ? salla.money(product?.price) : '' })), product?.sale_price > 0 && (h("span", { class: "s-multiple-bundle-product-cart-header-content-details-price-sale" }, h("span", { innerHTML: salla.money(product?.sale_price) })))), product?.quantity_in_group > 0 && product?.quantity !== 0 && (h("p", { class: "s-multiple-bundle-product-cart-header-content-details-quantity" }, h("span", null, salla.lang.get('pages.products.number_of_pieces')), h("span", null, product?.quantity_in_group))))), !hasOptions && (h("div", { class: "s-multiple-bundle-product-cart-header-remove-button" }, this.renderRemoveButton(sectionId, product, false))))));
31
31
  }
32
32
  render() {
33
- return (h(Host, { key: '8fbfb8b15c2c3bea7f4073f2cc160bdf09a78ef0', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: 'df943b98be029dc458d53d8c43759b9093056908', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, sectionIndex) => {
33
+ return (h(Host, { key: 'db441f645dc207f5864d3f4b89e67bb09ae2e622', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '68bdd0512162e73bce90d1077d0d6d7f9f8da29b', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, sectionIndex) => {
34
34
  return section.products.map(product => {
35
35
  const bundleContext = {
36
36
  sectionId: section.id,
@@ -375,9 +375,9 @@ export class SallaMultipleBundleProductDetails {
375
375
  }
376
376
  }
377
377
  render() {
378
- return (h(Host, { key: 'ccc37b0f67b64192f1d7c12660b8c968aa776b15', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '6529eb0eea69ea8440fbba251df56a3e7bdcff32', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
378
+ return (h(Host, { key: '91b215bcdaa53e6888a07a6d3e4c3ac7c745f91e', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '152614a163c9c788e2b5bc32f9a037cba9779046', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
379
379
  return (h("salla-accordion", { key: section.id, collapsed: index === 0 ? false : true }, h("salla-accordion-head", null, this.renderAccordionHeader(section)), h("salla-accordion-body", null, h("salla-multiple-bundle-product-slider", { section: section, sectionIndex: index, selectedProducts: this.selectedProducts, selectionLimit: this.getEffectiveMax(section), isSelectionLocked: this.isProductSelectionLocked(section), onProductSelected: this.handleBundleSliderProductSelected, onProductOptionsSelected: this.handleBundleSliderProductOptionsSelected }))));
380
- })), h("salla-multiple-bundle-product-options-modal", { key: 'ea769a631840c75d2906da8f97c7127ddd772f04' })));
380
+ })), h("salla-multiple-bundle-product-options-modal", { key: '2642221bd44ce9659dc90af568292587f071267c' })));
381
381
  }
382
382
  static get is() { return "salla-multiple-bundle-product-details"; }
383
383
  static get originalStyleUrls() {
@@ -472,7 +472,7 @@ export class SallaMultipleBundleProductOptionsModal {
472
472
  const cacheKey = this.generateCacheKey(this.sectionId, this.productIndex, productId);
473
473
  const resetToken = this.optionsResetTokens[cacheKey] || 0;
474
474
  const isDisabled = this.isLoading || optionsWithSelectedState.some(opt => opt.details.some(d => d.is_selected && d.is_out === true));
475
- return (h(Host, { key: '8c2d6cbc15d173ceeb3a5b498e8684e0c61a5adf' }, h("salla-modal", { key: '7cb8274a9304257c19a5fb8bbbfb44c98b818c83', isLoading: this.isLoading, ref: el => (this.modal = el), width: "md", centered: false, id: `s-multiple-bundle-product-options-modal-options-${productId}`, class: "s-multiple-bundle-product-options-modal-wrapper" }, h("div", { key: '9f16fe0b3fb26e4fee7f1273f875399ed0f401a7', slot: "loading" }, h("salla-skeleton", { key: '0fdf6a86da8432f8f5c883466ea2fab00ae4e2d3', height: "100%", width: "100%" })), this.product?.images && this.product?.images.length > 0 && (h("salla-slider", { key: '940ca77513e6aee8062b7cc8b2d04334973f6b02', id: `details-slider-${this.product?.id}`, type: "thumbs", loop: false, "auto-height": true, "listen-to-thumbnails-option": true, showThumbsControls: false, controlsOuter: false, showControls: false, class: "s-multiple-bundle-product-options-modal-slider", verticalThumbs: true, thumbsConfig: {
475
+ return (h(Host, { key: '74f5fc9c02a5ea10a9d92d2427df05210740f3e4' }, h("salla-modal", { key: 'a00db7e88d2687ef106c3c384cd94b7d7b2ed443', isLoading: this.isLoading, ref: el => (this.modal = el), width: "md", centered: false, id: `s-multiple-bundle-product-options-modal-options-${productId}`, class: "s-multiple-bundle-product-options-modal-wrapper" }, h("div", { key: '5ee1738c87ad75f7e812aefb3ea04b71f153673a', slot: "loading" }, h("salla-skeleton", { key: 'ebb0bf70a092958bd4241e4b7bc42922efed87dc', height: "100%", width: "100%" })), this.product?.images && this.product?.images.length > 0 && (h("salla-slider", { key: '871db23f2811753e3f469a8e12483f4fd3166a40', id: `details-slider-${this.product?.id}`, type: "thumbs", loop: false, "auto-height": true, "listen-to-thumbnails-option": true, showThumbsControls: false, controlsOuter: false, showControls: false, class: "s-multiple-bundle-product-options-modal-slider", verticalThumbs: true, thumbsConfig: {
476
476
  centeredSlides: true,
477
477
  centeredSlidesBounds: true,
478
478
  slidesPerView: Math.min(5, Math.max(1, this.product?.images.length)),
@@ -480,13 +480,13 @@ export class SallaMultipleBundleProductOptionsModal {
480
480
  watchSlidesProgress: true,
481
481
  direction: 'vertical',
482
482
  spaceBetween: 10,
483
- } }, h("div", { key: 'cd14ebae116356906bb1f9dda3545e5555295b33', slot: "items" }, this.product?.images &&
483
+ } }, h("div", { key: 'a80a29966c883094655558cdd861938f8c2c505f', slot: "items" }, this.product?.images &&
484
484
  this.product?.images.map((image, index) => (h("div", { key: index, class: "swiper-slide" }, h("img", { src: image.url, alt: image.alt || `${this.product?.name} - Image ${index + 1}`, loading: "lazy", onError: e => {
485
485
  e.target.style.display = 'none';
486
- } }))))), this.product?.images && this.product?.images.length > 1 && (h("div", { key: 'e40da3829870abc60dba4827c8d331152e45272c', slot: "thumbs" }, this.product?.images &&
486
+ } }))))), this.product?.images && this.product?.images.length > 1 && (h("div", { key: 'bb38eec9d89c6fc1afbea740d23f21ea3b83892f', slot: "thumbs" }, this.product?.images &&
487
487
  this.product?.images.map((image, index) => (h("div", { key: index, "data-caption": `${this.product?.name} - Image ${index + 1}` }, h("img", { src: image.url, loading: "eager", class: "s-multiple-bundle-product-options-modal-slider-thumb", title: `${this.product?.name} - ${index + 1}`, alt: image.alt || `${this.product?.name} - ${index + 1}`, onError: e => {
488
488
  e.target.style.display = 'none';
489
- } })))))))), h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${cacheKey}-reset-${resetToken}`, "product-id": productId, "unique-key": `${cacheKey}-reset-${resetToken}` }), h("div", { key: '6caf87769ef6ffda12dee54df32e87728e62c484', slot: "footer" }, h("div", { key: 'bf2ed94efbe7e2ca4dd76441783d5a8423a4454d', class: "s-multiple-bundle-product-options-modal-footer" }, h("salla-button", { key: '9468df838e0b677714abb4951c958f37bac2a1c2', onClick: e => this.onSave(e), loading: this.isLoading, disabled: isDisabled }, this.isLoading
489
+ } })))))))), h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${cacheKey}-reset-${resetToken}`, "product-id": productId, "unique-key": `${cacheKey}-reset-${resetToken}` }), h("div", { key: 'b18dbbdcbb37ff8fb61ec4be551c5d07cc04286e', slot: "footer" }, h("div", { key: '1b71874c06aa379b515a1239fb9059da11e92609', class: "s-multiple-bundle-product-options-modal-footer" }, h("salla-button", { key: '83db878dffdef845db6f904c9486d5c4cd003f31', onClick: e => this.onSave(e), loading: this.isLoading, disabled: isDisabled }, this.isLoading
490
490
  ? salla.lang.get('common.elements.saving')
491
491
  : salla.lang.get('common.elements.save')))))));
492
492
  }
@@ -134,7 +134,7 @@ export class SallaMultipleBundleProductSlider {
134
134
  }
135
135
  }
136
136
  render() {
137
- return (h(Host, { key: 'fc6f9cc1bbc36bbcdfc9bc4346d818cd9ac67c92', class: "s-multiple-bundle-product-slider" }, h("salla-slider", { key: '82648a1348104be40093a501ceab6ea0209ec761', type: "carousel", controlsOuter: false, showControls: false, id: `accordion-multiple-bundle-product-${this.section.id}`, pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: { spaceBetween: 0 } }, h("div", { key: 'a6d44237aaabb99aa4b4c8c3c5a986fe8d5afdc7', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
137
+ return (h(Host, { key: '17d96d9983fdb033c32d77228f52030ee408d856', class: "s-multiple-bundle-product-slider" }, h("salla-slider", { key: 'fe99a686cec9fe71728e651d1228564af1236483', type: "carousel", controlsOuter: false, showControls: false, id: `accordion-multiple-bundle-product-${this.section.id}`, pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: { spaceBetween: 0 } }, h("div", { key: '2517a2b14ed787c32e1782fa7af04339660a0344', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
138
138
  const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
139
139
  const isLocked = isChecked && this.isSelectionLocked;
140
140
  const isDisabled = this.isProductSelectionDisabled(product, isChecked);
@@ -82,7 +82,7 @@ export class SallaMultipleBundleProduct {
82
82
  this.parseProducts(this.bundleSections);
83
83
  }
84
84
  render() {
85
- return (h(Host, { key: 'c8d6b6de73710a20e8423cfd888420ef280c4d1a', class: "s-multiple-bundle-product-wrapper" }, this.isCartPage() ? this.renderCartPage() : this.renderDetailsPage()));
85
+ return (h(Host, { key: '6dc3144512e29cf462642af7db3d5e6c576b1a95', class: "s-multiple-bundle-product-wrapper" }, this.isCartPage() ? this.renderCartPage() : this.renderDetailsPage()));
86
86
  }
87
87
  static get is() { return "salla-multiple-bundle-product"; }
88
88
  static get originalStyleUrls() {
@@ -4,7 +4,7 @@
4
4
  import { h } from "@stencil/core";
5
5
  export class SallaNotificationItem {
6
6
  render() {
7
- return h("a", { key: '13976e9a0b805a9222c3e1c990874681f7033aa3', href: this.notification.url, class: { "s-notifications-item": true, "s-notifications-item-shadow": true, "s-notifications-item-read": !this.notification.is_new } }, h("span", { key: '011fe6447c6da2d7a5fd7fcac0eedecb3a969e79', class: "s-notifications-item-icon" }, h("i", { key: '912593ae30d8d3a344a9e1af0a834547b542dab8', class: { 's-notifications-item-icon sicon-bell-ring': true, 's-notifications-item-icon-new': this.notification.is_new } })), h("div", { key: 'b8c6e38c8b127a0b9c776e39ecd3512fd1759fa4', class: "s-notifications-item-content" }, h("div", { key: 'd169045e7eafe995d113988215b45d1507f48ab5', class: "s-notifications-item-content-leading" }, h("h4", { key: '974947d770fc964689708bc45376e76e3ff61c3e' }, this.notification.title), h("p", { key: '55a767038d1ae2c0917626f2b477ac99fc6eae50' }, this.notification.sub_title)), h("span", { key: 'a34107b11d454d0e3ba9ef307c9919a8c09e58e4', class: "s-notifications-item-content-trailing" }, h("i", { key: 'c930a39524b4bc1958d42263862f1aa40bbb8778', class: "sicon-time s-notifications-item-content-trailing-icon" }), h("span", { key: '970a470a7f19537c8b9b783f7db9b12db5d18fea' }, this.notification.date))));
7
+ return h("a", { key: '649f2cd499ea2a0bbfa66ed1d7f2c13b6f7b95c9', href: this.notification.url, class: { "s-notifications-item": true, "s-notifications-item-shadow": true, "s-notifications-item-read": !this.notification.is_new } }, h("span", { key: '8b1a19da2fa545d2f03f4eed655538e328567f90', class: "s-notifications-item-icon" }, h("i", { key: 'a199263421bb9f57a2665e127f46e81b49e58f22', class: { 's-notifications-item-icon sicon-bell-ring': true, 's-notifications-item-icon-new': this.notification.is_new } })), h("div", { key: 'e85d01bcd6c004f1ce7c689b11692ec4dc140da6', class: "s-notifications-item-content" }, h("div", { key: 'bc6622a17bda28c4d53f195ceaa9268da4b42a89', class: "s-notifications-item-content-leading" }, h("h4", { key: 'e5d528edd7304b61f98a4acaa92a988e86829286' }, this.notification.title), h("p", { key: 'f2497ba4b4a825811897ee688271f3324112d02b' }, this.notification.sub_title)), h("span", { key: '73d838f84b2ee69760cba02d0d0eabde24e519b5', class: "s-notifications-item-content-trailing" }, h("i", { key: 'c848ee4156630739b2e7ba2a7e3537900f5ee723', class: "sicon-time s-notifications-item-content-trailing-icon" }), h("span", { key: 'be6bd821024bb94ab0d7d5fde0b3b9d05772bd70' }, this.notification.date))));
8
8
  }
9
9
  static get is() { return "salla-notification-item"; }
10
10
  static get originalStyleUrls() {
@@ -250,7 +250,7 @@ export class SallaOfferModal {
250
250
  // '</div>';
251
251
  // }
252
252
  render() {
253
- return h("salla-modal", { key: '71406265e704b3c5a60ddd1be00cf72cda5e75b2', "has-skeleton": true, "sub-title": this.offer_message, ref: modal => this.modal = modal, isLoading: true, class: `s-offer-modal-type-${this.offer_type ? this.offer_type : ''}` }, h("div", { key: '30eec029e649fcb4bfb8868b14c2886f9060e320', slot: 'loading' }, h("div", { key: '5989afa516f8e175de636342655864dfa0fe5109', class: "s-offer-modal-skeleton" }, h("div", { key: '09fec5c367bae84b1f5a6c15f85ee006f5c50487', class: "s-offer-modal-skeleton-header" }, h("salla-skeleton", { key: '3e110f82bc9872a0e3d66f7a75a602f215d0bf6a', type: 'circle', height: '80px', width: '80px' }), h("salla-skeleton", { key: '74399af02937a11638c0d0b77d621d1a6ed066c7', height: '15px', width: '50%' }), h("salla-skeleton", { key: '9bf668017079ec6499493f08ebb80a47476e8574', height: '10px', width: '30%' })), h("div", { key: 'f6e3b6476c6c98c58b2dce08ff0944ae64843df1', class: "s-offer-modal-skeleton-items" }, [...Array(3)].map(() => h("div", { class: "s-offer-modal-skeleton-item" }, h("salla-skeleton", { height: '9rem' }), h("div", { class: "s-offer-modal-skeleton-item-title" }, h("salla-skeleton", { height: '15px', width: '100%' })), h("div", { class: "s-offer-modal-skeleton-item-subtitle" }, h("salla-skeleton", { height: '9px', width: '50%' }), h("div", { innerHTML: Cart2 }))))), h("div", { key: 'f8c171a56c0bee10756b3e04060ec014197a7b13', class: "s-offer-modal-skeleton-footer" }, h("salla-skeleton", { key: '4e5cbd7f594d9e2517b1833bf636181ccd6aba51', height: '15px', width: '50%' }), h("salla-skeleton", { key: 'ed341e4c04799c744e2ffc04f8a5d77c76f98141', height: '15px', width: '30%' })))), !this.hasError && this.offer !== null
253
+ return h("salla-modal", { key: '13fb1ed1ed84c3ef9faad5fc0835fed357fc4ec3', "has-skeleton": true, "sub-title": this.offer_message, ref: modal => this.modal = modal, isLoading: true, class: `s-offer-modal-type-${this.offer_type ? this.offer_type : ''}` }, h("div", { key: '37d364587488539197cec349d189f3fd269b3cde', slot: 'loading' }, h("div", { key: 'fc4b422b907f43ba53c3a6cd96a0ca27eeac7124', class: "s-offer-modal-skeleton" }, h("div", { key: '15cba0491543e04dca01121d5c8ce530fdb0b4e7', class: "s-offer-modal-skeleton-header" }, h("salla-skeleton", { key: '56e0d722c299c64ea246e4b98c103e53f7525327', type: 'circle', height: '80px', width: '80px' }), h("salla-skeleton", { key: '8457bda654d11e9eea6ac99e5e11d81f3a58ef7f', height: '15px', width: '50%' }), h("salla-skeleton", { key: 'be8e93976308fce340a9551b0c2accbf5acf7b53', height: '10px', width: '30%' })), h("div", { key: 'c72416643dc794111a6730309303036f28abf6a8', class: "s-offer-modal-skeleton-items" }, [...Array(3)].map(() => h("div", { class: "s-offer-modal-skeleton-item" }, h("salla-skeleton", { height: '9rem' }), h("div", { class: "s-offer-modal-skeleton-item-title" }, h("salla-skeleton", { height: '15px', width: '100%' })), h("div", { class: "s-offer-modal-skeleton-item-subtitle" }, h("salla-skeleton", { height: '9px', width: '50%' }), h("div", { innerHTML: Cart2 }))))), h("div", { key: 'b852d619415d80af27082fddbb08c4705650a9b8', class: "s-offer-modal-skeleton-footer" }, h("salla-skeleton", { key: '6931be27ea963a526ab5ed518eaa3367c7664891', height: '15px', width: '50%' }), h("salla-skeleton", { key: '1c76adb679a040d52cc693ea7d3f44f43735a96f', height: '15px', width: '30%' })))), !this.hasError && this.offer !== null
254
254
  ? [h("span", { slot: 'icon', class: "s-offer-modal-header-icon", innerHTML: SpecialDiscountIcon }), this.getOfferContent(),
255
255
  this.getOfferConditions(), h("div", { class: "s-offer-modal-footer", slot: "footer" }, this.offer.formatted_date ?
256
256
  h("p", { class: "s-offer-modal-expiry" }, salla.lang.get('pages.products.offer_expires_in'), " ", this.offer.formatted_date)
@@ -36,7 +36,7 @@ export class SallaOrderDetails {
36
36
  ];
37
37
  }
38
38
  render() {
39
- return h(Host, { key: 'da14fceaeeace760150ec91d58978b7e3b883356', class: "s-order-details-wrapper" }, this.renderOrderDetailsContent());
39
+ return h(Host, { key: 'dee58b4aee9e961e401f19024b35524874c85f6f', class: "s-order-details-wrapper" }, this.renderOrderDetailsContent());
40
40
  }
41
41
  static get is() { return "salla-order-details"; }
42
42
  static get originalStyleUrls() {
@@ -24,7 +24,7 @@ export class SallaOrderEditProductCard {
24
24
  const product = this.productData;
25
25
  const productName = product?.name || salla.lang.getWithDefault('common.elements.product', 'منتج');
26
26
  const price = product?.price;
27
- return (h(Host, { key: '0dcf3a6106db0d03e2b4746a821295e200820f03' }, h("button", { key: '11ffc873c2f2750d006a0cbe7a7552b7f763221a', type: "button", class: "s-order-edit-product-card", onClick: () => this.handleSelectProduct() }, h("div", { key: '58cef6bf3c6cbc0c07d4d6414da4692479165904', class: "s-order-edit-product-card-media" }, product?.image?.url ? (h("img", { src: product.image.url, alt: product.image.alt || productName, class: "s-order-edit-product-card-image" })) : (h("div", { class: "s-order-edit-product-card-placeholder" }, h("i", { class: "sicon-shopping-bag" })))), h("div", { key: '77819d6bb5a63ae94c950c38e23d96b04c87b87c', class: "s-order-edit-product-card-content" }, h("h3", { key: '714d714413577586a321d298ace38a8acac2e739', class: "s-order-edit-product-card-title" }, productName), price != null && (h("p", { key: '96fe89acd8a62cc2014207d3466c85e625b83af9', class: "s-order-edit-product-card-price", innerHTML: salla.money(price) }))))));
27
+ return (h(Host, { key: '03355186aac01cfe50e99c09e15e4a923d83e4f0' }, h("button", { key: 'a0d38460a26df69d4b358ded42b08deaf925eec3', type: "button", class: "s-order-edit-product-card", onClick: () => this.handleSelectProduct() }, h("div", { key: '05f43967adfb4ec591c15702d98f3b906983df3e', class: "s-order-edit-product-card-media" }, product?.image?.url ? (h("img", { src: product.image.url, alt: product.image.alt || productName, class: "s-order-edit-product-card-image" })) : (h("div", { class: "s-order-edit-product-card-placeholder" }, h("i", { class: "sicon-shopping-bag" })))), h("div", { key: '939f2f7912f1f9dc5cd386a4d23f2b3df80f2fc3', class: "s-order-edit-product-card-content" }, h("h3", { key: 'c8b575a83e070515f77fc3c62a4de6cfc70f6587', class: "s-order-edit-product-card-title" }, productName), price != null && (h("p", { key: 'b5691eaeccd99612866e800739ee50ea830d5529', class: "s-order-edit-product-card-price", innerHTML: salla.money(price) }))))));
28
28
  }
29
29
  static get is() { return "salla-order-edit-product-card"; }
30
30
  static get originalStyleUrls() {
@@ -76,7 +76,7 @@ export class SallaOrderItems {
76
76
  return (h("div", { class: "s-order-items-item" }, h("span", { class: "s-order-items-image" }, item.image ? h("img", { src: item.image, alt: item.name }) : null), h("div", { class: "s-order-items-text" }, url ? (h("a", { href: url, class: "s-order-items-name", title: item.name }, item.name)) : (h("span", { class: "s-order-items-name", title: item.name }, item.name)), price.html ? h("span", { class: "s-order-items-price", innerHTML: price.html }) : null, price.text ? h("span", { class: "s-order-items-price", innerHTML: moneyTextHtml(price.text) }) : null), item.quantity != null ? (h("span", { class: "s-order-items-qty" }, salla.helpers.number(item.quantity))) : null));
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '9b230203e222ba078af700f0904f0ae5e717a038', class: "s-order-items-wrapper" }, h("div", { key: 'c2d7073ebcb8190aa0623862ed54e46ad480dc66', class: "s-order-items-card" }, h("button", { key: '61e96ab6f15cf4f2a47793a14734e5a39790df1a', type: "button", class: "s-order-items-header", "aria-expanded": String(!this.collapsed), onClick: () => (this.collapsed = !this.collapsed) }, h("span", { key: 'd6147ffcf049e711c3fb425d16907a673d909468', class: "s-order-items-summary" }, this.collapsed ? this.renderThumbs() : null, h("span", { key: '251bac0840df7da8864b7edff475444fdcafa817', class: "s-order-items-title" }, this.collapsed ? this.collapsedText : this.cardTitle || this.collapsedText), this.collapsed && this.logo ? (h("img", { class: "s-order-items-logo", src: this.logo, alt: "" })) : null), h("span", { key: 'd7ad8f397ee70ae6e0db75a96a8057fcb7bda11f', class: "s-order-items-toggle", "aria-hidden": "true" }, h("i", { key: '0a89826623307035f7c238b4d8cba74665fe9443', class: `hgi-stroke ${this.collapsed ? 'hgi-unfold-more' : 'hgi-unfold-less'}` }))), h("div", { key: '1fc1ec0a2a04381de6ea662e51175591144d4416', class: "s-order-items-list", hidden: this.collapsed }, this.list.map(item => this.renderItem(item))), h("div", { key: '79f677359c4953f4e2a52252033ac479844f2d1a', class: "s-order-items-footer", hidden: this.collapsed }, h("slot", { key: 'db87d52267a4997d43b7063724cfa3e7bdf92912', name: "footer" })))));
79
+ return (h(Host, { key: '0caddaf962003684a67ff5d2439dff7fa14b029b', class: "s-order-items-wrapper" }, h("div", { key: 'c4bf86751dd8f20b83d99e2f95d0a25ac5acceee', class: "s-order-items-card" }, h("button", { key: 'c10ab197715c6a5b022ace0b5c4ba06d278ebe6b', type: "button", class: "s-order-items-header", "aria-expanded": String(!this.collapsed), onClick: () => (this.collapsed = !this.collapsed) }, h("span", { key: 'f5823e5f5c9f4f5c256ff096532e179247d8478b', class: "s-order-items-summary" }, this.collapsed ? this.renderThumbs() : null, h("span", { key: 'b6c13d062907133880923c5051d33bb255a0110f', class: "s-order-items-title" }, this.collapsed ? this.collapsedText : this.cardTitle || this.collapsedText), this.collapsed && this.logo ? (h("img", { class: "s-order-items-logo", src: this.logo, alt: "" })) : null), h("span", { key: '80c62df6872eda47081b2b012ed1adfcf0fd69b4', class: "s-order-items-toggle", "aria-hidden": "true" }, h("i", { key: 'd733ae71fef343d66ebccbc8a83f332d795aed81', class: `hgi-stroke ${this.collapsed ? 'hgi-unfold-more' : 'hgi-unfold-less'}` }))), h("div", { key: 'b0fbfef920006e7908db84966eba7994a83b85ca', class: "s-order-items-list", hidden: this.collapsed }, this.list.map(item => this.renderItem(item))), h("div", { key: '48e9bf8d2317a3d36456d11ab5503bf6f0322e2a', class: "s-order-items-footer", hidden: this.collapsed }, h("slot", { key: '4d7783a95ba0e0cda4759f5e3c965257e66ef1ab', name: "footer" })))));
80
80
  }
81
81
  static get is() { return "salla-order-items"; }
82
82
  static get originalStyleUrls() {
@@ -53,7 +53,7 @@ export class SallaOrderPayment {
53
53
  }
54
54
  render() {
55
55
  const invoiceUrl = safeHttpUrl(this.invoiceUrl);
56
- return h("section", { key: '315ef59766e984af72300af056bf8a6b920abbee', class: "s-order-payment-wrapper" }, h("dl", { key: 'ef6dec3310faaaaeafcfe3eb8ca1d0567949a005', class: "s-order-payment-list" }, h("div", { key: 'dd63e14441f534433d2e9b409015fcefe48fe5d3', class: "s-order-payment-row" }, h("dt", { key: 'a799bda3655a1efb1abb37edd24a1951083e8f1f' }, salla.lang.get('pages.cart.payment_way')), h("dd", { key: '6bf67863696911d79ada40086eb9a8b8f1001145' }, this.paymentLogo && !this.logoFailed
56
+ return h("section", { key: 'a11d82b09c38a1f2b8085bcd62e3ba988aff1d30', class: "s-order-payment-wrapper" }, h("dl", { key: 'fdd189e43387e43cc9a2f78416ff6c0463a0fd5c', class: "s-order-payment-list" }, h("div", { key: '27362be4b928815f2b6d2320bb9aada1344c7654', class: "s-order-payment-row" }, h("dt", { key: 'dec8b18118b8629a083720b9242d8b897f92722c' }, salla.lang.get('pages.cart.payment_way')), h("dd", { key: '85d6532a1abe13b7204e16b9e90a88d0958a7e89' }, this.paymentLogo && !this.logoFailed
57
57
  // Whole logo, never cropped: _mini images vary (180×120 padded, 538×135, 258×258 …). The box
58
58
  // overlaps the row gaps (-my-1.5) so the row keeps its height.
59
59
  ? h("span", { class: "s-order-payment-logo" }, h("img", { src: this.paymentLogo, alt: this.paymentMethod || '', loading: "lazy", onError: () => { this.logoFailed = true; } }))
@@ -19,7 +19,7 @@ export class SallaOrderRewards {
19
19
  render() {
20
20
  const points = Number.isFinite(this.loyaltyPoints) && this.loyaltyPoints > 0;
21
21
  const cashback = Number.isFinite(this.cashbackAmount) && this.cashbackAmount > 0;
22
- return h(Host, { key: '48092e64f9a7e927cd9ea209d525f52d6f959e0d', class: { 's-order-rewards-hidden': !points && !cashback } }, points || cashback ? h("div", { class: "s-order-rewards-wrapper" }, h("div", { class: "s-order-rewards-list" }, points ? this.card(this.loyaltyUrl, StarsIcon, `+${salla.helpers.number(this.loyaltyPoints)}`, 'pages.loyalty_program.loyalty_points') : null, cashback ? this.card(this.cashbackUrl, GiftIcon, moneyHtml(this.cashbackAmount, this.currency), 'pages.checkout.cashback', true) : null), h("hr", { class: "s-order-rewards-divider" })) : null);
22
+ return h(Host, { key: '9ff386306001bb290db45c48a6f944c88f707447', class: { 's-order-rewards-hidden': !points && !cashback } }, points || cashback ? h("div", { class: "s-order-rewards-wrapper" }, h("div", { class: "s-order-rewards-list" }, points ? this.card(this.loyaltyUrl, StarsIcon, `+${salla.helpers.number(this.loyaltyPoints)}`, 'pages.loyalty_program.loyalty_points') : null, cashback ? this.card(this.cashbackUrl, GiftIcon, moneyHtml(this.cashbackAmount, this.currency), 'pages.checkout.cashback', true) : null), h("hr", { class: "s-order-rewards-divider" })) : null);
23
23
  }
24
24
  static get is() { return "salla-order-rewards"; }
25
25
  static get originalStyleUrls() {
@@ -65,7 +65,7 @@ export class SallaOrderSummary {
65
65
  this.copyCodeButtonTimeout && clearTimeout(this.copyCodeButtonTimeout);
66
66
  }
67
67
  render() {
68
- return (h("ul", { key: '0a05b21cd69915328ed5fa22f48ecc08d8393a7c', class: "s-order-summary-wrapper" }, this.noItemFound ? h("salla-placeholder", { alignment: "center" }, h("span", { slot: "title" })) :
68
+ return (h("ul", { key: 'b446c1c9c972f9e419b5d378bff85cf742e3772f', class: "s-order-summary-wrapper" }, this.noItemFound ? h("salla-placeholder", { alignment: "center" }, h("span", { slot: "title" })) :
69
69
  this.order_items.map((item) => (this.isDigitalCard(item) ? (h("li", { key: item.product.id, class: "s-order-summary-item" }, h("h2", { class: "s-order-summary-item-title" }, this.codes_text, " (", item.name, ")"), item.codes.map((code) => (h("div", { key: code.code, class: "s-order-summary-code-item-wrapper" }, h("p", null, h("span", { innerHTML: iconCreditCard }), h("span", null, code.code)), h("salla-button", { class: `s-order-summary-item-copy-button ${this.codeCopied === code.code ? 'copied' : ''}`, onClick: () => this.copyToClipboardHandler(code.code), shape: "link" }, h("span", { innerHTML: this.codeCopied === code.code ? iconCheck : iconCopy }), h("span", null, this.copy_text))))))) :
70
70
  this.isDigitalProduct(item) ? (h("li", { key: item.product.id, class: "s-order-summary-item" }, h("h2", { class: "s-order-summary-item-title" }, this.files_text, " (", item.name, ")"), h("ul", null, item.files.map((file) => (h("li", { class: "s-order-summary-digital-item-wrapper" }, h("div", null, h("span", { innerHTML: iconFileArchive }), h("span", null, file.name)), h("a", { href: file.url, target: "_blank", class: "s-order-summary-item-download" }, h("span", { innerHTML: iconDownload }), h("span", null, this.download_text)))))))) : null))));
71
71
  }
@@ -42,12 +42,12 @@ export class SallaPayments {
42
42
  render() {
43
43
  const madeInKSA = !this.exclude.includes('made-in-ksa') && salla.config.get('store.settings.made_in_ksa');
44
44
  const sbcId = this.exclude.includes('sbc') ? null : salla.config.get('store.settings.certificate.id');
45
- return (h(Host, { key: '4e3c1662f11fc2a78fbff8e3276e739647efddd3', class: "s-payments-list-wrap" }, h("ul", { key: '849cc37ee955dbc4b04b8b68c468b363b7ffbaf8', class: "s-payments-list" }, madeInKSA && h("li", { key: '24e228025591dbb6e86c1c37760c220860cf4d7e', class: "s-payments-list-item" }, h("img", { key: '7e7a7fb31a53187d883aaa01a5bc5f75d3ab00c0', width: 58, height: 58, decoding: "async", loading: "lazy", src: salla.url.cdn(`images/made-in-ksa.svg`, 58, 58), alt: "made in KSA certified" })), this.payments.filter(payment => !this.exclude.includes(payment)).map((payment) => (payment == "cod" ?
45
+ return (h(Host, { key: 'eb0b16a8d95d7e82b023c852054ca16501102aba', class: "s-payments-list-wrap" }, h("ul", { key: '498d19f83e1a7e1f27f6e03b2f93d58b8889a07a', class: "s-payments-list" }, madeInKSA && h("li", { key: 'ec226e4668a634a1886caba6a0dbe62ba87a36c3', class: "s-payments-list-item" }, h("img", { key: 'a5d5716201bb62dd7de8295923a79d3a596b0a90', width: 58, height: 58, decoding: "async", loading: "lazy", src: salla.url.cdn(`images/made-in-ksa.svg`, 58, 58), alt: "made in KSA certified" })), this.payments.filter(payment => !this.exclude.includes(payment)).map((payment) => (payment == "cod" ?
46
46
  h("div", { id: "cod-slot", innerHTML: this.codSlot
47
47
  .replace(/\{image\}/g, this.paymentLogo(`cod`)) }) :
48
48
  h("div", { id: "payment-slot", innerHTML: this.paymentSlot
49
49
  .replace(/\{image\}/g, this.paymentLogo(payment))
50
- .replace(/\{payment\}/g, payment) }))), sbcId && h("div", { key: '82fe0f6f2e0f7515c77f9db040cb84aa8bb19761', id: "sbc-slot", innerHTML: this.sbcSlot
50
+ .replace(/\{payment\}/g, payment) }))), sbcId && h("div", { key: 'dac8e679a47767b558a92a1832d9a849e2618ab1', id: "sbc-slot", innerHTML: this.sbcSlot
51
51
  .replace(/\{image\}/g, salla.url.cdn(`images/sbc.png`, 58, 58))
52
52
  .replace(/\{link\}/g, `https://eauthenticate.saudibusiness.gov.sa/certificate-details/${sbcId}`) }))));
53
53
  }
@@ -45,7 +45,7 @@ export class SallaPlaceholder {
45
45
  };
46
46
  }
47
47
  render() {
48
- 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'))))));
48
+ 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'))))));
49
49
  }
50
50
  static get is() { return "salla-placeholder"; }
51
51
  static get originalStyleUrls() {
@@ -146,7 +146,7 @@ export class SallaProductAvailability {
146
146
  field.nextElementSibling['innerText'] = '* ' + errorMsg;
147
147
  }
148
148
  render() {
149
- return (h(Host, { key: '1ff9ac8f5ca9b90bc9a2c0e4451b4e4214d0b68c', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
149
+ return (h(Host, { key: '8d535fe3ebb0446c6a40d6ec1edececb5b783434', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
150
150
  ? h("div", { class: "s-product-availability-subscribed" }, h("span", { innerHTML: BellRingIcon, class: "s-product-availability-subs-icon" }), salla.lang.get('pages.products.notify_availability_success'))
151
151
  :
152
152
  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()));
@@ -94,7 +94,7 @@ export class SallaProductCardEmbed {
94
94
  's-product-card-embed-card-align-right': this.align === 'right',
95
95
  's-product-card-embed-card-align-center': this.align === 'center',
96
96
  };
97
- 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) => {
97
+ 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) => {
98
98
  this.cardContainer = el;
99
99
  } })));
100
100
  }
@@ -52,11 +52,11 @@ export class SallaProductSizeGuide {
52
52
  return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
53
53
  }
54
54
  render() {
55
- 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 ?
55
+ 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 ?
56
56
  [
57
57
  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 }))))
58
58
  ]
59
- : this.showPlaceholder(), h("slot", { key: '1a0d9d1a01e18e5bd1c610dac92654f53c2dcad4', name: "footer" })));
59
+ : this.showPlaceholder(), h("slot", { key: '4b6c6a747d398416f814e316fcb97db5281237a5', name: "footer" })));
60
60
  }
61
61
  static get is() { return "salla-product-size-guide"; }
62
62
  static get originalStyleUrls() {
@@ -1181,6 +1181,13 @@ export class SallaProductsList {
1181
1181
  ?.find(filter => filter.key === 'category_id')
1182
1182
  // loose == : catId may be a number (auto-appended page.id) while API keys are strings
1183
1183
  ?.values?.find(cat => cat.key == catId)?.value ?? '';
1184
+ // without the filters feature the response has no `filters`, so the lookup above finds no name and the
1185
+ // theme would swap the page heading for a bare count; the page itself still names its own list.
1186
+ // page.title is raw text that themes drop into innerHTML, so it's escaped like the search term
1187
+ const pageId = salla.config.get('page.id');
1188
+ if (!title && catId != null && pageId != null && String(catId) === String(pageId)) {
1189
+ title = Helper.escapeHtml(salla.config.get('page.title'));
1190
+ }
1184
1191
  }
1185
1192
  title +=
1186
1193
  (title ? ' - ' : '') +