@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
@@ -1,5 +1,6 @@
1
1
  import { type EventEmitter } from "../../stencil-public-runtime";
2
2
  import { type SelectorTrigger } from "./selector-tracker";
3
+ import type { BranchDiscountRange } from "./helpers";
3
4
  import type { AddressCreatedEvent, Branch, BulletDeliveryConfirmedEvent, City, Country, District, HeaderContextUpdateEvent, IntentType, NewAddressFormData, Region, SavedAddress } from "./interfaces";
4
5
  import { type LocationPermissionState } from "./location-permission-notice";
5
6
  import { type Coordinates } from "./location-distance-warning";
@@ -13,6 +14,8 @@ export declare class SallaBulletDelivery {
13
14
  private pendingCartSubmitResolver;
14
15
  private pendingCartSubmitPromise;
15
16
  private cartSubmitConfirmationPending;
17
+ /** Query the current branch list was searched with server-side; its results are not re-filtered locally. */
18
+ private branchesServerQuery;
16
19
  private branchSearchDebounceTimer;
17
20
  private countrySearchTimer;
18
21
  private regionSearchTimer;
@@ -53,6 +56,8 @@ export declare class SallaBulletDelivery {
53
56
  * coordinates re-picked, or the map left) can be told apart from the current one. */
54
57
  private geocodeRequestId;
55
58
  private isRTL;
59
+ /** Identifies the latest pickup-offer fetch so one from an earlier modal open is dropped. */
60
+ private pickupDiscountRequestId;
56
61
  activeTab: IntentType;
57
62
  isLoggedIn: boolean;
58
63
  viewMode: ViewMode;
@@ -71,9 +76,33 @@ export declare class SallaBulletDelivery {
71
76
  /** True when user selected the session address (guest address from before login, not yet saved) */
72
77
  selectedSessionAddress: boolean;
73
78
  branches: Branch[];
79
+ /** Pickup offer range across the store's branches (INV-1416); null shows the default tab badge. */
80
+ pickupDiscountRange: BranchDiscountRange | null;
81
+ /** False until the offer lookup settles, so the tab never flashes the default badge before an offer. */
82
+ pickupDiscountResolved: boolean;
74
83
  filteredBranches: Branch[];
75
84
  selectedBranch: Branch | null;
76
85
  branchSearchQuery: string;
86
+ /** Cities that have branches in the selected country (from the unfiltered branch list). */
87
+ branchCities: {
88
+ id: number;
89
+ name: string;
90
+ }[];
91
+ selectedBranchCity: {
92
+ id: number;
93
+ name: string;
94
+ } | null;
95
+ branchCitySearchQuery: string;
96
+ /** Branch whose weekly hours are expanded behind the chevron (one at a time). */
97
+ expandedScheduleBranchId: number | null;
98
+ /** Shopper's device location for branch distances (see getGrantedDeviceLocation). */
99
+ private shopperLocation;
100
+ private shopperLocationRequestId;
101
+ private nearestBranchRequestId;
102
+ /** Bumped per branch-list request; overlapping city/search loads only apply the latest one. */
103
+ private branchesRequestId;
104
+ /** Shared country rows and city options expire with the API cache. */
105
+ private allBranchCities;
77
106
  loadingCountries: boolean;
78
107
  loadingCities: boolean;
79
108
  loadingDistricts: boolean;
@@ -215,6 +244,8 @@ export declare class SallaBulletDelivery {
215
244
  private loadDistricts;
216
245
  private findPrefillDistrict;
217
246
  private loadBranches;
247
+ /** Reuse the country's city collection while keeping visible choices usable during loading. */
248
+ private refreshBranchCities;
218
249
  /**
219
250
  * Store a freshly fetched branch list and reconcile the current selection with it.
220
251
  * `selectedBranch` is a snapshot from selection time: when the refreshed list carries the
@@ -222,6 +253,13 @@ export declare class SallaBulletDelivery {
222
253
  * A selection missing from the list (e.g. filtered out by a search) is left untouched.
223
254
  */
224
255
  private applyLoadedBranches;
256
+ /** Shares a fresh branch collection with the picker on each modal open. */
257
+ private loadPickupDiscountRange;
258
+ /**
259
+ * ar: "خصم 25%" / "خصم 5 – 25%" / "خصم 10 ر.س"; en: "25% discount" / "5 – 25% discount" / "10 SAR discount".
260
+ * Money may carry the riyal-symbol SVG, so it renders as HTML.
261
+ */
262
+ private getPickupDiscountLabel;
225
263
  private filterBranches;
226
264
  /**
227
265
  * Prefill form fields from session storage
@@ -247,7 +285,10 @@ export declare class SallaBulletDelivery {
247
285
  private loadBranchesWithLocation;
248
286
  /** Locate nearest branch using device geolocation (branches tab only). */
249
287
  private handleFindNearestBranch;
288
+ private geolocationErrorMessage;
250
289
  private handleBranchSelect;
290
+ private handleBranchCitySelected;
291
+ private toggleBranchSchedule;
251
292
  /**
252
293
  * Restore a remembered / event-provided branch — but only one the list renders as selectable,
253
294
  * so a branch that has closed since it was remembered is never silently preselected (INV-1407).
@@ -322,8 +363,17 @@ export declare class SallaBulletDelivery {
322
363
  private renderMapCountryNotice;
323
364
  /** Center shown before geolocation resolves — the customer's IP-based default (falls back to Riyadh). */
324
365
  private get mapInitialCenter();
325
- /** Parse a config coordinate to a finite number, treating blank/whitespace strings as missing. */
326
- private toCoordinate;
366
+ /** Device location for a branch list request, waiting at most BRANCH_LIST_LOCATION_WAIT. */
367
+ private getListLocation;
368
+ /**
369
+ * Where branch distances (`distance_km`) are measured from: the shopper's real device location
370
+ * only. It comes from "nearest to my location", or is read silently when location permission was
371
+ * already granted (never prompting). Empty otherwise: `user.default_geo_location` and the Riyadh
372
+ * map fallback are not where the shopper is, so they would show wrong distances.
373
+ */
374
+ private getGrantedDeviceLocation;
375
+ /** The customer's IP-based `user.default_geo_location`, or null when it is missing or invalid. */
376
+ private get defaultGeoLocation();
327
377
  /**
328
378
  * Submit add-address form: stage the picked address/dropdowns as the session intent,
329
379
  * then delegate to handleConfirm() for the single save→allocate→close path (avoids
@@ -399,10 +449,16 @@ export declare class SallaBulletDelivery {
399
449
  private getCartViewConfig;
400
450
  /** Creates the cart view DOM for mounting into cart.items.start hook */
401
451
  private createCartViewElement;
452
+ /**
453
+ * A branch pickup offer (INV-1416) replaces the default "save delivery fees" badge; only one shows,
454
+ * and neither until the offer lookup settles.
455
+ */
456
+ private renderPickupTabBadge;
402
457
  private renderTabs;
403
458
  private renderAlert;
404
459
  private renderAllocationOutOfCoverageAlert;
405
460
  private handleCountrySelected;
461
+ /** `showLabel` is off in the pickup filter panel, where the selects sit label-less side by side. */
406
462
  private renderCountrySelect;
407
463
  private handleRegionSelected;
408
464
  /** Region select (SA only): shown when SA is selected; city and district disabled until region selected. */
@@ -426,10 +482,23 @@ export declare class SallaBulletDelivery {
426
482
  private renderDeliveryTab;
427
483
  private renderGuestDeliveryContent;
428
484
  private renderBranchSearch;
429
- /** Renders a branch's `preparation_time_range` as a localized "from - to <unit>" label. */
430
- private getPreparationTimeLabel;
431
485
  private renderBranchList;
486
+ /** "يبعد عنك: ~" stays muted; the distance and its unit read as the value, as in checkout. */
487
+ private renderDistanceLabel;
488
+ private get isArabic();
489
+ private formatClock;
490
+ /** "جاهز اليوم 10:00 ص" for a branch that is closed now and opens later today. */
491
+ private getReadyTodayLabel;
492
+ /** "15-30 د" — compact preparation range for the card's meta row. */
493
+ private getPreparationShortLabel;
494
+ /**
495
+ * Busy, always-open, or the backend's `open_status_line` ("مفتوح - يغلق عند 11:00 م"), which reads
496
+ * the hours on the branch's clock. Without that line, `is_open` gives a bare open/closed label.
497
+ */
498
+ private renderBranchOpenStatus;
432
499
  private renderPickupTab;
500
+ /** City filter for the pickup list; options come from the branches themselves, so none is empty. */
501
+ private renderBranchCitySelect;
433
502
  /** Add-address form: map + confirm card in one screen, or dropdown fallback. */
434
503
  private renderAddAddressForm;
435
504
  private renderFooter;
@@ -0,0 +1,44 @@
1
+ type Step = 'choice' | 'mobile' | 'verify';
2
+ type Mode = 'same_number' | 'new_number';
3
+ /**
4
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
5
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
6
+ */
7
+ export declare class SallaMobileUpdateModal {
8
+ host: HTMLElement;
9
+ options: Mode[];
10
+ step: Step;
11
+ mode: Mode;
12
+ errorMessage: string;
13
+ fieldError: string;
14
+ private modal;
15
+ private telInput;
16
+ private verify;
17
+ private phone;
18
+ private completed;
19
+ private sending;
20
+ private flow;
21
+ private dialCode;
22
+ private t;
23
+ /**
24
+ * Open the popup
25
+ * @param data `options` is the list the backend returned: `new_number`, and `same_number` for an unresolved duplicate
26
+ */
27
+ open(data?: {
28
+ options?: string[];
29
+ }): Promise<void>;
30
+ private onVisibilityChanged;
31
+ private fail;
32
+ private sendCode;
33
+ private requestCode;
34
+ private verifyCode;
35
+ private resendCode;
36
+ componentDidRender(): void;
37
+ private chooseMode;
38
+ private changeNumber;
39
+ private sentTo;
40
+ private clarification;
41
+ private body;
42
+ render(): any;
43
+ }
44
+ export {};
@@ -111,6 +111,9 @@ export declare class SallaQuickBuy {
111
111
  requireLogin: EventEmitter<{
112
112
  productId: string;
113
113
  }>;
114
+ /** The guest picked "continue as guest" on the login step, so don't ask again. */
115
+ private choseGuest;
116
+ private cancelLoginAsk;
114
117
  private quickBuyHandler;
115
118
  /** Sync PDP-option validity (preserves the AP gesture); emits + notifies on failure. */
116
119
  private validatePdpOptionsSync;
@@ -135,11 +138,26 @@ export declare class SallaQuickBuy {
135
138
  private resolveSupportedNetworks;
136
139
  private settlePayment;
137
140
  private legacyQuickPurchaseFallback;
141
+ /** login-before-checkout variant: offer login or guest before buy now. Not for Apple Pay, which must open on the tap. */
142
+ private shouldAskLoginFirst;
143
+ private askLoginFirst;
138
144
  private isGuestCheckout;
139
145
  private isGuestCheckoutAllowed;
140
146
  private getRequiredShippingContactFields;
147
+ /**
148
+ * The saved address the shopper confirmed in Bullet Delivery, for the checkout to use directly
149
+ * instead of the address Apple Pay would ask for (SHPD-11082). Undefined keeps the default
150
+ * Apple Pay address flow: no Bullet Delivery, no confirmed saved address, or a guest.
151
+ */
152
+ private getSavedAddressForApplePay;
141
153
  /** Set Apple Pay amount + currency from a price payload, always keeping the pair in one currency. */
142
154
  private applyBaseCurrencyPrice;
155
+ /**
156
+ * Networks/countries travel with price responses so the next sheet matches the new total
157
+ * (the low-amount network rules depend on it; the page config is a cached render snapshot).
158
+ * A payload without the key (product details, older backend) leaves the current source as-is.
159
+ */
160
+ private applyApplePayProperties;
143
161
  componentWillLoad(): Promise<unknown>;
144
162
  render(): any;
145
163
  private quickBuyButton;
@@ -155,6 +155,10 @@ export declare class SallaRatingModalV2 {
155
155
  private getRatingHiddenInput;
156
156
  private collectNamedInputs;
157
157
  private normalizeFactorsList;
158
+ private getRateStarsMessage;
159
+ private getValidationItemName;
160
+ /** Clear a step's validation message as soon as a star rating is picked. */
161
+ private clearValidationOnRating;
158
162
  private validate;
159
163
  private collectFormData;
160
164
  private buildProductRatingPayload;
@@ -41,6 +41,14 @@ export declare class SallaVerify {
41
41
  * Once the api verify success, it will be login the customer in web pages
42
42
  */
43
43
  supportWebAuth: boolean;
44
+ /**
45
+ * Replaces the verify request, for flows with their own endpoint. Receives `{code, ...data}`
46
+ */
47
+ verifyHandler?: (data: any) => Promise<any>;
48
+ /**
49
+ * Replaces the resend request, for flows with their own endpoint. Receives the data passed to `open()`
50
+ */
51
+ resendHandler?: (data: any) => Promise<any>;
44
52
  /**
45
53
  * Event when success verification
46
54
  */
@@ -2022,6 +2022,17 @@ export namespace Components {
2022
2022
  */
2023
2023
  "entityId": number | number[] | string;
2024
2024
  }
2025
+ /**
2026
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
2027
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
2028
+ */
2029
+ interface SallaMobileUpdateModal {
2030
+ /**
2031
+ * Open the popup
2032
+ * @param data `options` is the list the backend returned: `new_number`, and `same_number` for an unresolved duplicate
2033
+ */
2034
+ "open": (data?: { options?: string[]; }) => Promise<void>;
2035
+ }
2025
2036
  interface SallaModal {
2026
2037
  /**
2027
2038
  * Whether to center-align the modal header content. Default is false.
@@ -3926,6 +3937,10 @@ export namespace Components {
3926
3937
  * @param data
3927
3938
  */
3928
3939
  "open": (data: any) => Promise<void>;
3940
+ /**
3941
+ * Replaces the resend request, for flows with their own endpoint. Receives the data passed to `open()`
3942
+ */
3943
+ "resendHandler"?: (data: any) => Promise<any>;
3929
3944
  /**
3930
3945
  * Once the api verify success, it will be login the customer in web pages
3931
3946
  * @default true
@@ -3936,6 +3951,10 @@ export namespace Components {
3936
3951
  * @default 'mobile'
3937
3952
  */
3938
3953
  "type": 'mobile' | 'email';
3954
+ /**
3955
+ * Replaces the verify request, for flows with their own endpoint. Receives `{code, ...data}`
3956
+ */
3957
+ "verifyHandler"?: (data: any) => Promise<any>;
3939
3958
  }
3940
3959
  interface SallaWallet {
3941
3960
  }
@@ -4865,6 +4884,16 @@ declare global {
4865
4884
  prototype: HTMLSallaMetadataElement;
4866
4885
  new (): HTMLSallaMetadataElement;
4867
4886
  };
4887
+ /**
4888
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
4889
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
4890
+ */
4891
+ interface HTMLSallaMobileUpdateModalElement extends Components.SallaMobileUpdateModal, HTMLStencilElement {
4892
+ }
4893
+ var HTMLSallaMobileUpdateModalElement: {
4894
+ prototype: HTMLSallaMobileUpdateModalElement;
4895
+ new (): HTMLSallaMobileUpdateModalElement;
4896
+ };
4868
4897
  interface HTMLSallaModalElementEventMap {
4869
4898
  "modalVisibilityChanged": Boolean;
4870
4899
  "modalBack": void;
@@ -5808,6 +5837,7 @@ declare global {
5808
5837
  "salla-map": HTMLSallaMapElement;
5809
5838
  "salla-menu": HTMLSallaMenuElement;
5810
5839
  "salla-metadata": HTMLSallaMetadataElement;
5840
+ "salla-mobile-update-modal": HTMLSallaMobileUpdateModalElement;
5811
5841
  "salla-modal": HTMLSallaModalElement;
5812
5842
  "salla-multiple-bundle-product": HTMLSallaMultipleBundleProductElement;
5813
5843
  "salla-multiple-bundle-product-cart": HTMLSallaMultipleBundleProductCartElement;
@@ -7742,6 +7772,12 @@ declare namespace LocalJSX {
7742
7772
  */
7743
7773
  "entityId"?: number | number[] | string;
7744
7774
  }
7775
+ /**
7776
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
7777
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
7778
+ */
7779
+ interface SallaMobileUpdateModal {
7780
+ }
7745
7781
  interface SallaModal {
7746
7782
  /**
7747
7783
  * Whether to center-align the modal header content. Default is false.
@@ -9480,6 +9516,10 @@ declare namespace LocalJSX {
9480
9516
  * Event when success verification
9481
9517
  */
9482
9518
  "onVerified"?: (event: SallaVerifyCustomEvent<SallaVerifyVerifiedEvent>) => void;
9519
+ /**
9520
+ * Replaces the resend request, for flows with their own endpoint. Receives the data passed to `open()`
9521
+ */
9522
+ "resendHandler"?: (data: any) => Promise<any>;
9483
9523
  /**
9484
9524
  * Once the api verify success, it will be login the customer in web pages
9485
9525
  * @default true
@@ -9490,6 +9530,10 @@ declare namespace LocalJSX {
9490
9530
  * @default 'mobile'
9491
9531
  */
9492
9532
  "type"?: 'mobile' | 'email';
9533
+ /**
9534
+ * Replaces the verify request, for flows with their own endpoint. Receives `{code, ...data}`
9535
+ */
9536
+ "verifyHandler"?: (data: any) => Promise<any>;
9493
9537
  }
9494
9538
  interface SallaWallet {
9495
9539
  }
@@ -9586,6 +9630,7 @@ declare namespace LocalJSX {
9586
9630
  "salla-map": SallaMap;
9587
9631
  "salla-menu": SallaMenu;
9588
9632
  "salla-metadata": SallaMetadata;
9633
+ "salla-mobile-update-modal": SallaMobileUpdateModal;
9589
9634
  "salla-modal": SallaModal;
9590
9635
  "salla-multiple-bundle-product": SallaMultipleBundleProduct;
9591
9636
  "salla-multiple-bundle-product-cart": SallaMultipleBundleProductCart;
@@ -9841,6 +9886,11 @@ declare module "@stencil/core" {
9841
9886
  "salla-map": LocalJSX.SallaMap & JSXBase.HTMLAttributes<HTMLSallaMapElement>;
9842
9887
  "salla-menu": LocalJSX.SallaMenu & JSXBase.HTMLAttributes<HTMLSallaMenuElement>;
9843
9888
  "salla-metadata": LocalJSX.SallaMetadata & JSXBase.HTMLAttributes<HTMLSallaMetadataElement>;
9889
+ /**
9890
+ * Makes a customer flagged as a duplicate confirm the current mobile number or replace it, verified by a code.
9891
+ * Opened by `salla.mobileUpdate`, which mounts it on any theme when the order submit is blocked.
9892
+ */
9893
+ "salla-mobile-update-modal": LocalJSX.SallaMobileUpdateModal & JSXBase.HTMLAttributes<HTMLSallaMobileUpdateModalElement>;
9844
9894
  "salla-modal": LocalJSX.SallaModal & JSXBase.HTMLAttributes<HTMLSallaModalElement>;
9845
9895
  /**
9846
9896
  * Example usage with new nested structure:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salla.sa/twilight-components",
3
- "version": "3.0.18",
3
+ "version": "3.0.20",
4
4
  "license": "GPL-3.0",
5
5
  "author": "Salla Team <support@salla.dev> (https://salla.dev)",
6
6
  "bugs": {
@@ -82,9 +82,9 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@googlemaps/markerclusterer": "2.6.2",
85
- "@salla.sa/applepay": "3.0.18",
86
- "@salla.sa/twilight": "3.0.18",
87
- "@salla.sa/twilight-tailwind-theme": "3.0.18",
85
+ "@salla.sa/applepay": "3.0.20",
86
+ "@salla.sa/twilight": "3.0.20",
87
+ "@salla.sa/twilight-tailwind-theme": "3.0.20",
88
88
  "@salla.sa/ui-address-autocomplete-widget": "1.2.1",
89
89
  "@salla.sa/ui-google-map-render": "1.2.1",
90
90
  "@types/node": "^20.4.8",
@@ -104,5 +104,5 @@
104
104
  "vanilla-lazyload": "^17.9.0",
105
105
  "vanilla-picker": "^2.12.3"
106
106
  },
107
- "gitHead": "c9063f4c25769b9a5b3b7448c1075ffbadaf2a95"
107
+ "gitHead": "87982d444f0f3f162c8a96a5daaa004a0937487d"
108
108
  }