@salla.sa/twilight-components 2.14.591 → 2.14.593

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 (384) hide show
  1. package/dist/cjs/{apple-pay-order-options-B036Wu4O.js → apple-pay-order-options-CA8IYRTb.js} +1 -0
  2. package/dist/cjs/{filepond-DkObEO32.js → filepond-Dh9Ih7bu.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-poster-wXgeY5cU.js → filepond-plugin-file-poster-C6Sx5vF0.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-size-CWleid1C.js → filepond-plugin-file-validate-size-DdzdetN6.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-type-CJLl2hbe.js → filepond-plugin-file-validate-type-DRWFKOpQ.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-edit-Bp6AxXM9.js → filepond-plugin-image-edit-B4vaf2kZ.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-exif-orientation-abWKSX9-.js → filepond-plugin-image-exif-orientation-BXfm40Ut.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-preview-DxprNycS.js → filepond-plugin-image-preview-DQLCCOAs.js} +1 -1
  9. package/dist/cjs/{helpers-DBynEhOO.js → helpers-DSseNQ1K.js} +1 -1
  10. package/dist/cjs/{index-DBN0LueR.js → index-CLrjVXN1.js} +3 -3
  11. package/dist/cjs/{intlTelInput-B6H18Td2.js → intlTelInput-o62W18dw.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +2 -2
  13. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +152 -7
  16. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
  22. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +45 -34
  25. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-comment-form_9.cjs.entry.js +3 -3
  31. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-delivery-promise.cjs.entry.js +2 -2
  37. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +2 -2
  42. package/dist/cjs/salla-gifting.cjs.entry.js +2 -2
  43. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
  91. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-search-product-card.cjs.entry.js +3 -3
  94. package/dist/cjs/salla-search.cjs.entry.js +2 -2
  95. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  96. package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  98. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  99. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  104. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  106. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  107. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
  108. package/dist/cjs/twilight.cjs.js +2 -2
  109. package/dist/cjs/{vanilla-picker-Cm71HMBs.js → vanilla-picker-FCNrUTtN.js} +1 -1
  110. package/dist/collection/components/salla-add-product-button/salla-add-product-button.css +58 -36
  111. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +120 -2
  112. package/dist/collection/components/salla-bullet-delivery/helpers.js +1 -1
  113. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +39 -28
  114. package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +1 -1
  115. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +17 -4
  116. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  117. package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
  118. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  119. package/dist/collection/components/salla-search/salla-search.js +1 -1
  120. package/dist/collection/components/salla-search-product-card/salla-search-product-card.js +2 -2
  121. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  122. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  123. package/dist/collection/components/salla-social/salla-social.js +1 -1
  124. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  125. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  126. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  127. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  128. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  129. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  130. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  131. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  132. package/dist/components/apple-pay-order-options.js +1 -1
  133. package/dist/components/helpers.js +2 -2
  134. package/dist/components/index.js +3 -3
  135. package/dist/components/salla-add-product-button2.js +120 -3
  136. package/dist/components/salla-bullet-delivery.js +40 -29
  137. package/dist/components/salla-delivery-promise.js +1 -1
  138. package/dist/components/salla-gifting.js +1 -1
  139. package/dist/components/salla-quick-buy2.js +35 -5
  140. package/dist/components/salla-review-card2.js +1 -1
  141. package/dist/components/salla-review-factors-tags2.js +1 -1
  142. package/dist/components/salla-reviews-page.js +1 -1
  143. package/dist/components/salla-search-product-card2.js +2 -2
  144. package/dist/components/salla-search.js +1 -1
  145. package/dist/components/salla-searchable-dropdown2.js +4 -4
  146. package/dist/components/salla-skeleton2.js +1 -1
  147. package/dist/components/salla-social-share2.js +1 -1
  148. package/dist/components/salla-social.js +1 -1
  149. package/dist/components/salla-tab-content2.js +1 -1
  150. package/dist/components/salla-tab-header2.js +1 -1
  151. package/dist/components/salla-tabs2.js +1 -1
  152. package/dist/components/salla-tel-input2.js +1 -1
  153. package/dist/components/salla-tooltip2.js +1 -1
  154. package/dist/components/salla-user-settings.js +1 -1
  155. package/dist/components/salla-wishlist-actions.js +1 -1
  156. package/dist/docs.json +29 -13
  157. package/dist/esm/{apple-pay-order-options-s0kn7yr8.js → apple-pay-order-options-BS2iQKah.js} +1 -1
  158. package/dist/esm/{filepond-Cstf5r6K.js → filepond-DTcw03Zq.js} +1 -1
  159. package/dist/esm/{filepond-plugin-file-poster-GibBgGHW.js → filepond-plugin-file-poster-Csk5cMw9.js} +1 -1
  160. package/dist/esm/{filepond-plugin-file-validate-size-CLc6zco6.js → filepond-plugin-file-validate-size-FFrf5LrW.js} +1 -1
  161. package/dist/esm/{filepond-plugin-file-validate-type-Ca3dc8p0.js → filepond-plugin-file-validate-type-DeZP4xXd.js} +1 -1
  162. package/dist/esm/{filepond-plugin-image-edit-CNGBLi7d.js → filepond-plugin-image-edit-DRKyd_1I.js} +1 -1
  163. package/dist/esm/{filepond-plugin-image-exif-orientation-Dmmu9-UQ.js → filepond-plugin-image-exif-orientation-CxVz7OAy.js} +1 -1
  164. package/dist/esm/{filepond-plugin-image-preview-KX15tx60.js → filepond-plugin-image-preview-CsKN7em3.js} +1 -1
  165. package/dist/esm/{helpers-BJxBnTgv.js → helpers-DgRxTSyJ.js} +2 -2
  166. package/dist/esm/{index-UnmOIma5.js → index-0Tl_yZW8.js} +3 -3
  167. package/dist/esm/{intlTelInput-C-F-rxZ3.js → intlTelInput-CBN9egFg.js} +1 -1
  168. package/dist/esm/loader.js +3 -3
  169. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  170. package/dist/esm/salla-accordion_6.entry.js +1 -1
  171. package/dist/esm/salla-add-product-button_5.entry.js +152 -7
  172. package/dist/esm/salla-advertisement.entry.js +1 -1
  173. package/dist/esm/salla-alert_2.entry.js +1 -1
  174. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  175. package/dist/esm/salla-applied-filters.entry.js +1 -1
  176. package/dist/esm/salla-apps-icons.entry.js +1 -1
  177. package/dist/esm/salla-attachment-view_9.entry.js +11 -11
  178. package/dist/esm/salla-badge.entry.js +1 -1
  179. package/dist/esm/salla-basket-gap.entry.js +1 -1
  180. package/dist/esm/salla-bullet-delivery_3.entry.js +45 -34
  181. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  182. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  183. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  184. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  185. package/dist/esm/salla-comment-factors.entry.js +1 -1
  186. package/dist/esm/salla-comment-form_9.entry.js +3 -3
  187. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  188. package/dist/esm/salla-contacts.entry.js +1 -1
  189. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  190. package/dist/esm/salla-count-down.entry.js +1 -1
  191. package/dist/esm/salla-custom-fields.entry.js +1 -1
  192. package/dist/esm/salla-delivery-promise.entry.js +2 -2
  193. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  194. package/dist/esm/salla-filters-widget.entry.js +1 -1
  195. package/dist/esm/salla-filters.entry.js +1 -1
  196. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  197. package/dist/esm/salla-gift-card-redeem_2.entry.js +2 -2
  198. package/dist/esm/salla-gifting.entry.js +2 -2
  199. package/dist/esm/salla-hook.entry.js +1 -1
  200. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  201. package/dist/esm/salla-installment.entry.js +1 -1
  202. package/dist/esm/salla-list-tile.entry.js +1 -1
  203. package/dist/esm/salla-localization-modal.entry.js +1 -1
  204. package/dist/esm/salla-login-modal.entry.js +1 -1
  205. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  206. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  207. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  208. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  209. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  210. package/dist/esm/salla-loyalty.entry.js +1 -1
  211. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  212. package/dist/esm/salla-map_3.entry.js +1 -1
  213. package/dist/esm/salla-menu.entry.js +1 -1
  214. package/dist/esm/salla-metadata.entry.js +1 -1
  215. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  216. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  217. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  218. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  219. package/dist/esm/salla-notification-item_2.entry.js +1 -1
  220. package/dist/esm/salla-offer-modal.entry.js +1 -1
  221. package/dist/esm/salla-offer.entry.js +1 -1
  222. package/dist/esm/salla-order-branch.entry.js +1 -1
  223. package/dist/esm/salla-order-cancel.entry.js +1 -1
  224. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  225. package/dist/esm/salla-order-details-options.entry.js +1 -1
  226. package/dist/esm/salla-order-details.entry.js +1 -1
  227. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  228. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  229. package/dist/esm/salla-order-edit.entry.js +1 -1
  230. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  231. package/dist/esm/salla-order-shipments.entry.js +1 -1
  232. package/dist/esm/salla-order-summary.entry.js +1 -1
  233. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  234. package/dist/esm/salla-orders.entry.js +1 -1
  235. package/dist/esm/salla-payments.entry.js +1 -1
  236. package/dist/esm/salla-placeholder.entry.js +1 -1
  237. package/dist/esm/salla-price-range.entry.js +1 -1
  238. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  239. package/dist/esm/salla-product-card.entry.js +1 -1
  240. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  241. package/dist/esm/salla-products-list.entry.js +1 -1
  242. package/dist/esm/salla-products-slider.entry.js +1 -1
  243. package/dist/esm/salla-quick-order.entry.js +1 -1
  244. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  245. package/dist/esm/salla-rating-modal.entry.js +1 -1
  246. package/dist/esm/salla-review-factors-tags.entry.js +2 -2
  247. package/dist/esm/salla-review-order-item.entry.js +1 -1
  248. package/dist/esm/salla-scopes.entry.js +1 -1
  249. package/dist/esm/salla-search-product-card.entry.js +3 -3
  250. package/dist/esm/salla-search.entry.js +2 -2
  251. package/dist/esm/salla-skeleton.entry.js +2 -2
  252. package/dist/esm/salla-social-share.entry.js +2 -2
  253. package/dist/esm/salla-social.entry.js +2 -2
  254. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  255. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  256. package/dist/esm/salla-trust-badges.entry.js +1 -1
  257. package/dist/esm/salla-user-menu.entry.js +1 -1
  258. package/dist/esm/salla-user-profile.entry.js +1 -1
  259. package/dist/esm/salla-user-settings.entry.js +2 -2
  260. package/dist/esm/salla-verify.entry.js +1 -1
  261. package/dist/esm/salla-wallet.entry.js +1 -1
  262. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  263. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  264. package/dist/esm/twilight.js +3 -3
  265. package/dist/esm/{vanilla-picker-DMAcm04D.js → vanilla-picker-CiLp9ysz.js} +1 -1
  266. package/dist/twilight/{p-e6de2f79.entry.js → p-01b4b05f.entry.js} +1 -1
  267. package/dist/twilight/{p-c1eab306.entry.js → p-0433773a.entry.js} +1 -1
  268. package/dist/twilight/p-0Tl_yZW8.js +5 -0
  269. package/dist/twilight/{p-5c313f74.entry.js → p-0c26bedf.entry.js} +1 -1
  270. package/dist/twilight/{p-f92f10c7.entry.js → p-0cc42e36.entry.js} +1 -1
  271. package/dist/twilight/{p-4b175320.entry.js → p-0fe961e0.entry.js} +1 -1
  272. package/dist/twilight/{p-fa3c4bcf.entry.js → p-14c9ed90.entry.js} +1 -1
  273. package/dist/twilight/{p-2f1c8e60.entry.js → p-179595d9.entry.js} +1 -1
  274. package/dist/twilight/{p-e3c46eea.entry.js → p-17f2114f.entry.js} +1 -1
  275. package/dist/twilight/{p-9d0658a0.entry.js → p-183e02ac.entry.js} +1 -1
  276. package/dist/twilight/{p-a5c693c1.entry.js → p-1892ea42.entry.js} +1 -1
  277. package/dist/twilight/{p-6dcfc119.entry.js → p-1abcc81d.entry.js} +1 -1
  278. package/dist/twilight/p-1bf7cce7.entry.js +4 -0
  279. package/dist/twilight/{p-9b01e5c2.entry.js → p-220338b4.entry.js} +1 -1
  280. package/dist/twilight/{p-9c284764.entry.js → p-253a352c.entry.js} +1 -1
  281. package/dist/twilight/{p-46ef2b4e.entry.js → p-26adf02d.entry.js} +1 -1
  282. package/dist/twilight/{p-78d1e145.entry.js → p-288627a2.entry.js} +1 -1
  283. package/dist/twilight/{p-8e938bfa.entry.js → p-299e7413.entry.js} +1 -1
  284. package/dist/twilight/{p-49f2ad4a.entry.js → p-2ac1eac9.entry.js} +1 -1
  285. package/dist/twilight/{p-426ac7ab.entry.js → p-2cbed601.entry.js} +1 -1
  286. package/dist/twilight/{p-ff65be76.entry.js → p-2d2db627.entry.js} +1 -1
  287. package/dist/twilight/{p-71372771.entry.js → p-2da1eb61.entry.js} +1 -1
  288. package/dist/twilight/{p-3d535509.entry.js → p-31253c2d.entry.js} +1 -1
  289. package/dist/twilight/{p-caec4a90.entry.js → p-35d5e339.entry.js} +1 -1
  290. package/dist/twilight/{p-170a29db.entry.js → p-3b5fe2ef.entry.js} +1 -1
  291. package/dist/twilight/{p-bb4a95d9.entry.js → p-3d533d87.entry.js} +1 -1
  292. package/dist/twilight/{p-18b786f4.entry.js → p-40be8baa.entry.js} +1 -1
  293. package/dist/twilight/{p-acd9c538.entry.js → p-42426756.entry.js} +1 -1
  294. package/dist/twilight/{p-1a7bee69.entry.js → p-4432411c.entry.js} +1 -1
  295. package/dist/twilight/{p-4b135194.entry.js → p-449eae1d.entry.js} +1 -1
  296. package/dist/twilight/{p-1aaed68f.entry.js → p-44afcd79.entry.js} +1 -1
  297. package/dist/twilight/{p-2e971549.entry.js → p-4701a008.entry.js} +1 -1
  298. package/dist/twilight/{p-0bee12ba.entry.js → p-4d852a57.entry.js} +1 -1
  299. package/dist/twilight/{p-a1d251d4.entry.js → p-4d879cd3.entry.js} +1 -1
  300. package/dist/twilight/{p-c1eaf8c3.entry.js → p-52e7b4f6.entry.js} +1 -1
  301. package/dist/twilight/{p-3d7fdd11.entry.js → p-5cc28510.entry.js} +1 -1
  302. package/dist/twilight/{p-42d6eb6b.entry.js → p-636ffc46.entry.js} +1 -1
  303. package/dist/twilight/{p-9d680306.entry.js → p-6561d5d3.entry.js} +1 -1
  304. package/dist/twilight/{p-d11b211f.entry.js → p-65665ee3.entry.js} +1 -1
  305. package/dist/twilight/{p-06268aeb.entry.js → p-6db61be2.entry.js} +1 -1
  306. package/dist/twilight/{p-a0e1d5f7.entry.js → p-75fc9b99.entry.js} +1 -1
  307. package/dist/twilight/{p-f5605df6.entry.js → p-775f9b02.entry.js} +1 -1
  308. package/dist/twilight/{p-36ac5a06.entry.js → p-7bee2390.entry.js} +1 -1
  309. package/dist/twilight/{p-7f23b98d.entry.js → p-7c038d9d.entry.js} +1 -1
  310. package/dist/twilight/{p-51d7a9f2.entry.js → p-7c06ad6a.entry.js} +1 -1
  311. package/dist/twilight/{p-e34ff202.entry.js → p-7f59893d.entry.js} +1 -1
  312. package/dist/twilight/{p-40a7f8c6.entry.js → p-80f27669.entry.js} +1 -1
  313. package/dist/twilight/{p-ce0c6667.entry.js → p-821e9049.entry.js} +1 -1
  314. package/dist/twilight/{p-a32fb61e.entry.js → p-85ab4182.entry.js} +1 -1
  315. package/dist/twilight/{p-398e864d.entry.js → p-8d369871.entry.js} +1 -1
  316. package/dist/twilight/{p-fb8395de.entry.js → p-8e013db1.entry.js} +1 -1
  317. package/dist/twilight/{p-e3066c95.entry.js → p-918fa44a.entry.js} +1 -1
  318. package/dist/twilight/{p-8ec3b9f0.entry.js → p-933807d7.entry.js} +1 -1
  319. package/dist/twilight/{p-da14ac3f.entry.js → p-9434c23f.entry.js} +1 -1
  320. package/dist/twilight/{p-2d983198.entry.js → p-95b89c32.entry.js} +1 -1
  321. package/dist/twilight/{p-2059ac26.entry.js → p-99e615a1.entry.js} +1 -1
  322. package/dist/twilight/{p-833fb416.entry.js → p-9a818822.entry.js} +1 -1
  323. package/dist/twilight/{p-CtQLzZ1X.js → p-BABHygiN.js} +1 -1
  324. package/dist/twilight/{p-D_C0F9n5.js → p-BDO2BBmv.js} +1 -1
  325. package/dist/twilight/p-BS2iQKah.js +4 -0
  326. package/dist/twilight/{p-C3HaKgMG.js → p-BZHrTB2v.js} +1 -1
  327. package/dist/twilight/{p-BOWrmsKT.js → p-CZkK9lyS.js} +1 -1
  328. package/dist/twilight/{p-xX3a9YdQ.js → p-Cbnu3aaI.js} +1 -1
  329. package/dist/twilight/{p-CjeoBv5q.js → p-CxpHph5p.js} +1 -1
  330. package/dist/twilight/{p-BJxBnTgv.js → p-DgRxTSyJ.js} +1 -1
  331. package/dist/twilight/{p-Dq91sWJh.js → p-MugjBhYh.js} +1 -1
  332. package/dist/twilight/p-YTWgVZ0u.js +9 -0
  333. package/dist/twilight/{p-f08ff103.entry.js → p-a263bdbb.entry.js} +1 -1
  334. package/dist/twilight/{p-a192abb7.entry.js → p-a735c70e.entry.js} +1 -1
  335. package/dist/twilight/{p-52b99743.entry.js → p-a764bfe7.entry.js} +1 -1
  336. package/dist/twilight/{p-ca47204f.entry.js → p-ad9dcb47.entry.js} +1 -1
  337. package/dist/twilight/{p-6b277129.entry.js → p-ae22bfeb.entry.js} +1 -1
  338. package/dist/twilight/{p-635cf0ae.entry.js → p-aec2d723.entry.js} +1 -1
  339. package/dist/twilight/{p-f69a3e84.entry.js → p-aee17b8b.entry.js} +1 -1
  340. package/dist/twilight/{p-ce7450a9.entry.js → p-af12fce1.entry.js} +1 -1
  341. package/dist/twilight/{p-13215fa2.entry.js → p-b01764d0.entry.js} +1 -1
  342. package/dist/twilight/{p-b7399739.entry.js → p-b0d66765.entry.js} +1 -1
  343. package/dist/twilight/{p-62842639.entry.js → p-b566bc10.entry.js} +1 -1
  344. package/dist/twilight/p-b81474c4.entry.js +4 -0
  345. package/dist/twilight/{p-e0ce5d4c.entry.js → p-b9d2ae8a.entry.js} +1 -1
  346. package/dist/twilight/{p-6a68c551.entry.js → p-bc3ad6d2.entry.js} +1 -1
  347. package/dist/twilight/{p-35163279.entry.js → p-bf3fdf6d.entry.js} +1 -1
  348. package/dist/twilight/{p-47e519e4.entry.js → p-c394f30a.entry.js} +1 -1
  349. package/dist/twilight/{p-d62c6529.entry.js → p-cc7c4469.entry.js} +1 -1
  350. package/dist/twilight/{p-81294230.entry.js → p-ce9b6ac6.entry.js} +1 -1
  351. package/dist/twilight/{p-21358994.entry.js → p-d05e1bfd.entry.js} +1 -1
  352. package/dist/twilight/{p-b70cdf88.entry.js → p-d744234e.entry.js} +1 -1
  353. package/dist/twilight/{p-f7b65338.entry.js → p-d851751c.entry.js} +1 -1
  354. package/dist/twilight/{p-540992c1.entry.js → p-dc129d7a.entry.js} +1 -1
  355. package/dist/twilight/{p-adfc54e4.entry.js → p-ddc61bff.entry.js} +1 -1
  356. package/dist/twilight/{p-efb67446.entry.js → p-deb1139c.entry.js} +1 -1
  357. package/dist/twilight/{p-a1d0c650.entry.js → p-e429b1e5.entry.js} +1 -1
  358. package/dist/twilight/{p-2e204cbc.entry.js → p-e8cb4cd9.entry.js} +1 -1
  359. package/dist/twilight/{p-2308e70c.entry.js → p-e8fa4bd0.entry.js} +1 -1
  360. package/dist/twilight/{p-27366663.entry.js → p-e9372ca0.entry.js} +1 -1
  361. package/dist/twilight/{p-7f93ea69.entry.js → p-e955b287.entry.js} +1 -1
  362. package/dist/twilight/{p-ea07afaa.entry.js → p-eb590773.entry.js} +1 -1
  363. package/dist/twilight/{p-1762cfe3.entry.js → p-f176c43e.entry.js} +1 -1
  364. package/dist/twilight/p-f445e7a3.entry.js +4 -0
  365. package/dist/twilight/{p-6e7a12dd.entry.js → p-f4cff5cf.entry.js} +1 -1
  366. package/dist/twilight/{p-700cf9fc.entry.js → p-f828fefc.entry.js} +1 -1
  367. package/dist/twilight/{p-48f9cd45.entry.js → p-f92d1971.entry.js} +1 -1
  368. package/dist/twilight/{p-DVatlmKV.js → p-fP9RBas5.js} +1 -1
  369. package/dist/twilight/{p-e1d59b7e.entry.js → p-fb527b4d.entry.js} +1 -1
  370. package/dist/twilight/{p-efb9f953.entry.js → p-fe27963f.entry.js} +1 -1
  371. package/dist/twilight/{p-328e352d.entry.js → p-fea37c8c.entry.js} +1 -1
  372. package/dist/twilight/{p-1dc68727.entry.js → p-fef5c118.entry.js} +1 -1
  373. package/dist/twilight/twilight.esm.js +1 -1
  374. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +16 -0
  375. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +12 -0
  376. package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +2 -0
  377. package/dist/types/components/salla-search/search-response.d.ts +1 -0
  378. package/package.json +5 -5
  379. package/dist/twilight/p-3845541d.entry.js +0 -4
  380. package/dist/twilight/p-38956156.entry.js +0 -4
  381. package/dist/twilight/p-UnmOIma5.js +0 -5
  382. package/dist/twilight/p-b5d6ddd7.entry.js +0 -4
  383. package/dist/twilight/p-iC3SM6Ji.js +0 -9
  384. package/dist/twilight/p-s0kn7yr8.js +0 -4
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement, e as axios } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement, e as axios } from './index-0Tl_yZW8.js';
5
5
  import { C as Cart } from './cart-gFG8By9O.js';
6
6
  import { H as Helper } from './Helper-BQ-wOE14.js';
7
+ import { e as ensureOrderOptionsModal, a as appendOrderOptionsToPayload, r as resolveApplePayOrderOptions, b as reportProductOptionsValiditySync } from './apple-pay-order-options-BS2iQKah.js';
7
8
  import { a as fetchProductBoughtTogether } from './catalog-recommendations-DIAyA5MP.js';
8
9
  import { B as BellRing } from './bell-ring-D3mWkc-3.js';
9
10
  import { D as DisplayType } from './interfaces-CoQJOPRz.js';
10
11
  import { i as iconCheck } from './check-BsXh13x8.js';
11
12
  import { C as CameraIcon } from './camera-C6jIkM-X.js';
12
- import { r as resolveApplePayOrderOptions, b as reportProductOptionsValiditySync, a as appendOrderOptionsToPayload } from './apple-pay-order-options-s0kn7yr8.js';
13
13
  import './anime.es-CgtvEd63.js';
14
14
 
15
15
  var WalletIcon = `<!-- Generated by IcoMoon.io -->
@@ -51,6 +51,23 @@ function applePayMerchantId() {
51
51
  return salla?.config?.get?.('store.settings.buy_now.merchant_identifier') || null;
52
52
  }
53
53
 
54
+ /**
55
+ * Whether the store's Apple Pay is a hosted redirect rather than a native sheet.
56
+ *
57
+ * MyFatoorah Apple Pay without S2S has no native flow: the checkout page hands off as a
58
+ * credit_card redirect to MyFatoorah's hosted page. The buy-now surfaces (PDP, sticky bar)
59
+ * have no redirect path, so they must not offer an Apple Pay button at all.
60
+ *
61
+ * The backend publishes this as a single boolean (`ApplePayFeature::isHostedRedirect`).
62
+ * Compared with `=== true` on purpose: against a backend that predates the field the key is
63
+ * absent, so this returns false and every surface keeps its current behaviour. That is what
64
+ * makes the storefront half safe to ship independently of the backend half.
65
+ * @returns {boolean}
66
+ */
67
+ function isApplePayHostedRedirect() {
68
+ return salla?.config?.get?.('store.settings.buy_now.hostedRedirect') === true;
69
+ }
70
+
54
71
  /**
55
72
  * Build the W3C Payment Request `methodData` for the Apple Pay method. Callers
56
73
  * supply the values (the probe reads them from config; the live session reads
@@ -465,7 +482,7 @@ class FastCheckoutGate {
465
482
  }
466
483
  }
467
484
 
468
- const sallaAddProductButtonCss = "/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.sticky{position:sticky}.hidden{display:none}.w-full{width:100%}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}";
485
+ const sallaAddProductButtonCss = "/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.s-add-product-button-buy-now{display:block;font-family:'PingARLT';font-weight:normal}.s-add-product-button-buy-now .s-fast-checkout-button{display:flex;align-items:center;justify-content:center;height:var(--salla-fast-checkout-button-height, 2.5rem);width:var(--salla-fast-checkout-button-width, 100%);border-radius:var(--salla-fast-checkout-button-border-radius, 0.375rem);font-size:0.875rem;font-weight:bold;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease-in-out;border:none;font-family:'PingARLT';gap:5px;direction:ltr;border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse);padding:1px 6px;line-height:normal;letter-spacing:normal;outline:none}.s-add-product-button-buy-now .s-fast-checkout-button:focus-visible{outline:auto}.s-add-product-button-buy-now .s-fast-checkout-button:hover{background-color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.rtl{flex-direction:row-reverse}.s-add-product-button-buy-now .s-fast-checkout-button:disabled{cursor:progress;opacity:0.7}.sticky{position:sticky}.hidden{display:none}.w-full{width:100%}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}";
469
486
 
470
487
  const SallaAddProductButton = class {
471
488
  constructor(hostRef) {
@@ -473,6 +490,11 @@ const SallaAddProductButton = class {
473
490
  this.success = createEvent(this, "success");
474
491
  this.failed = createEvent(this, "failed");
475
492
  this.hostAttributes = {};
493
+ this.buyNowBusy = false;
494
+ /** Latest buy-now click; an older click still waiting on Bullet Delivery drops out. */
495
+ this.buyNowToken = 0;
496
+ this.buyNowLastClick = 0;
497
+ this.buyNowLivePrice = 0;
476
498
  /**
477
499
  * Has Pre Order
478
500
  */
@@ -487,6 +509,7 @@ const SallaAddProductButton = class {
487
509
  this.productType = 'product';
488
510
  this.selectedOptions = [];
489
511
  this.buyNowText = salla.lang.get('pages.products.buy_now');
512
+ this.buyNowLoading = false;
490
513
  /** Use matchMedia instead of window.innerWidth to avoid forced reflow (Lighthouse/PageSpeed) */
491
514
  this.isDesktopViewport = typeof window !== 'undefined' ? window.matchMedia('(min-width: 768px)').matches : true;
492
515
  this.viewportMediaQuery = null;
@@ -494,6 +517,9 @@ const SallaAddProductButton = class {
494
517
  this.orderOptionsGateAttached = false;
495
518
  /** Guards one-time attachment of the fast-checkout Bullet Delivery gate (logic lives in FastCheckoutGate). */
496
519
  this.fastCheckoutGateAttached = false;
520
+ this.onBuyNowPriceUpdated = (response) => {
521
+ this.buyNowLivePrice = Number(response?.data?.price) || this.buyNowLivePrice;
522
+ };
497
523
  this.onViewportChange = (e) => {
498
524
  this.isDesktopViewport = e.matches;
499
525
  this.btn?.setText((e.matches && !!this.passedLabel) ? this.passedLabel : this.getLabel());
@@ -621,6 +647,105 @@ const SallaAddProductButton = class {
621
647
  type: this.supportStickyBar && !this.isDesktopViewport ? 'plain' : this.productType == 'donating' ? 'donate' : 'buy'
622
648
  };
623
649
  }
650
+ // Store setting: quick-buy skips the mini-checkout popup and goes straight to the checkout page.
651
+ get redirectsToCheckout() {
652
+ return salla.config.get('store.settings.buy_now.redirect_to_checkout') === true;
653
+ }
654
+ /** The fast-checkout slot renders and the store redirects, so the buy-now button is on the page. */
655
+ get showsBuyNowButton() {
656
+ return this.showQuickBuy
657
+ && !!document.getElementById('fast-checkout-js')
658
+ && !['financial_support', 'donating'].includes(this.productType)
659
+ && this.redirectsToCheckout;
660
+ }
661
+ buyNowButton() {
662
+ return h("div", { class: "s-add-product-button-mini-checkout s-mini-checkout hide-scroll s-add-product-button-buy-now" }, h("button", { type: "button", class: `s-fast-checkout-button outline ${salla.lang.locale == 'ar' ? 'rtl' : 'ltr'}`, disabled: this.buyNowLoading, onClick: () => this.buyNowRedirect() }, h("div", { class: "s-add-product-button-mini-checkout-content" }, h("span", { innerHTML: WalletIcon }), this.buyNowText)));
663
+ }
664
+ async buyNowRedirect() {
665
+ // A double-click would reach Bullet Delivery twice, which stalls its guest gate.
666
+ const now = Date.now();
667
+ if (this.buyNowBusy || now - this.buyNowLastClick < 500) {
668
+ return;
669
+ }
670
+ this.buyNowLastClick = now;
671
+ const token = ++this.buyNowToken;
672
+ const optionsEl = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
673
+ if (optionsEl?.validateAndScroll && !(await optionsEl.validateAndScroll())) {
674
+ return;
675
+ }
676
+ // Bullet Delivery's address gate, as the widget runs it; stays pending if the shopper backs out.
677
+ await salla.cart.event.beforeStartFastCheckout();
678
+ if (token !== this.buyNowToken || this.buyNowBusy) {
679
+ return;
680
+ }
681
+ this.buyNowBusy = true;
682
+ let leaving = false;
683
+ try {
684
+ this.buyNowLoading = true;
685
+ const form = document.querySelector('form.product-form');
686
+ const data = form ? new FormData(form) : new FormData();
687
+ data.set('id', String(this.productId));
688
+ data.set('source', 'buy_now');
689
+ if (!(await this.collectOrderOptions(data))) {
690
+ return;
691
+ }
692
+ const resp = await salla.api.request('checkout/mini', data, 'post');
693
+ if (resp.data?.url) {
694
+ leaving = this.openCheckout(resp.data.url);
695
+ }
696
+ else if (resp.data?.to === 'login') {
697
+ salla.event.dispatch('login::open');
698
+ }
699
+ }
700
+ catch (error) {
701
+ this.failed.emit(error);
702
+ }
703
+ finally {
704
+ if (!leaving) {
705
+ this.buyNowBusy = false;
706
+ this.buyNowLoading = false;
707
+ }
708
+ }
709
+ }
710
+ /** Order options and free offer products, as the widget collects them; false when the modal is dismissed. */
711
+ async collectOrderOptions(data) {
712
+ let resp;
713
+ try {
714
+ resp = await salla.api.withoutNotifier(() => salla.product.api.getOrderOptions([{ id: this.productId, quantity: Number(data.get('quantity')) || 1 }]));
715
+ }
716
+ catch (error) {
717
+ salla?.logger?.warn?.('order-options: fetch failed', error);
718
+ return true;
719
+ }
720
+ const orderOptions = resp?.data?.order_options || [];
721
+ const freeProducts = (Array.isArray(resp?.data?.advance_free_product) ? resp.data.advance_free_product : [])
722
+ .filter((entry) => Array.isArray(entry?.options) && entry.options.length);
723
+ if (!orderOptions.length && !freeProducts.length) {
724
+ return true;
725
+ }
726
+ try {
727
+ const result = await ensureOrderOptionsModal().open({
728
+ orderOptions,
729
+ freeProducts,
730
+ basePrice: this.buyNowLivePrice || Number(resp?.data?.products?.[0]?.price?.amount) || 0,
731
+ });
732
+ appendOrderOptionsToPayload(data, result?.orderOptions || []);
733
+ injectFreeProductsIntoPayload(data, result?.freeProducts || []);
734
+ return true;
735
+ }
736
+ catch {
737
+ return false;
738
+ }
739
+ }
740
+ /** Native SPA webviews own the checkout screen; returns true when this page navigates away. */
741
+ openCheckout(url) {
742
+ if (salla.mobile?.isSpaWebview?.() && salla.mobile.openCheckout) {
743
+ salla.mobile.openCheckout(url);
744
+ return false;
745
+ }
746
+ window.location.href = url;
747
+ return true;
748
+ }
624
749
  miniCheckoutWidget() {
625
750
  let storeId = salla.config.get('store.id');
626
751
  if (!storeId) {
@@ -639,8 +764,11 @@ const SallaAddProductButton = class {
639
764
  && this.productType !== 'booking';
640
765
  // Cross-browser Apple Pay: native (Safari) OR the Payment Request API
641
766
  // (non-Safari browsers / non-Apple devices via the QR-code fallback).
767
+ // Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and no buy-now redirect
768
+ // path, so the quick-buy button below must not render for it either.
642
769
  this.isApplePayActive = salla.config.get('store.settings.payments')?.includes('apple_pay')
643
770
  && salla.config.get('store.settings.is_salla_gateway', false)
771
+ && !isApplePayHostedRedirect()
644
772
  && await canCompleteApplePay();
645
773
  this.passedLabel = this.host.innerHTML.replace('<!---->', '').trim();
646
774
  if (!!this.passedLabel && this.isDesktopViewport) {
@@ -670,11 +798,14 @@ const SallaAddProductButton = class {
670
798
  } }, h("div", { class: {
671
799
  's-add-product-button-main': this.showQuickBuy,
672
800
  'w-full': !document.getElementById('fast-checkout-js') || ['financial_support', 'donating'].includes(this.productType) // This is a temporary fix until all themes fully support the fast checkout -- To be removed later
673
- } }, h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', "aria-label": this.isIconOnlyLabel ? this.addToCartLabel : undefined, ...this.getBtnAttributes(), "loader-position": "center" }, h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? this.miniCheckoutWidget() : ''), this.showQuickBuy && this.isApplePayActive ? h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
801
+ } }, h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', "aria-label": this.isIconOnlyLabel ? this.addToCartLabel : undefined, ...this.getBtnAttributes(), "loader-position": "center" }, h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? (this.redirectsToCheckout ? this.buyNowButton() : this.miniCheckoutWidget()) : ''), this.showQuickBuy && this.isApplePayActive ? h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
674
802
  }
675
803
  async componentDidLoad() {
676
804
  // Register this component for hooks system, already on it logic to run componentDidLoad trigger
677
805
  await Salla.hooks.registerComponent('salla-add-product-button', this);
806
+ if (this.showsBuyNowButton) {
807
+ salla.product?.event?.onPriceUpdated?.(this.onBuyNowPriceUpdated);
808
+ }
678
809
  if (!this.notifyOptionsAvailability) {
679
810
  return;
680
811
  }
@@ -723,6 +854,7 @@ const SallaAddProductButton = class {
723
854
  }
724
855
  disconnectedCallback() {
725
856
  this.viewportMediaQuery?.removeEventListener('change', this.onViewportChange);
857
+ salla.product?.event?.offPriceUpdated?.(this.onBuyNowPriceUpdated);
726
858
  }
727
859
  get host() { return getElement(this); }
728
860
  };
@@ -4056,9 +4188,12 @@ const SallaQuickBuy = class {
4056
4188
  const canMakePayments = typeof window !== 'undefined' && !!window.ApplePaySession?.canMakePayments?.();
4057
4189
  const storeHasApplePay = salla?.config?.get?.('store.settings.payments')?.includes?.('apple_pay') ?? true;
4058
4190
  const isSallaGateway = salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? true;
4191
+ // Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and buy-now has no redirect
4192
+ // path, so there is nothing this button could do — don't offer it.
4193
+ const isHostedRedirect = isApplePayHostedRedirect();
4059
4194
  // No networks means nothing to charge with, so don't show the button — canMakePayments()
4060
4195
  // alone would light it up on Safari.
4061
- this.isApplePayActive = canMakePayments && storeHasApplePay && isSallaGateway
4196
+ this.isApplePayActive = canMakePayments && storeHasApplePay && isSallaGateway && !isHostedRedirect
4062
4197
  && !!this.resolveSupportedNetworks().length;
4063
4198
  const runInit = async () => {
4064
4199
  if (!this.productId && salla?.config?.get && salla.url?.is_page) {
@@ -4087,7 +4222,8 @@ const SallaQuickBuy = class {
4087
4222
  salla.product.event.onPriceUpdated(response => { this.applyBaseCurrencyPrice(response?.data); });
4088
4223
  }
4089
4224
  const storeAllowsApplePay = (salla?.config?.get?.('store.settings.payments')?.includes?.('apple_pay') ?? storeHasApplePay)
4090
- && (salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? isSallaGateway);
4225
+ && (salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? isSallaGateway)
4226
+ && !isApplePayHostedRedirect();
4091
4227
  // Preload Apple's JS SDK so the rendered <apple-pay-button> upgrades on
4092
4228
  // every flow (native Safari + QR). Fire-and-forget: the element upgrades
4093
4229
  // retroactively once the script defines it.
@@ -4111,7 +4247,16 @@ const SallaQuickBuy = class {
4111
4247
  });
4112
4248
  }
4113
4249
  render() {
4114
- return h(Host, { key: '8d1d37acada1f9cdbe6913d01a97fe881facc7af' }, this.quickBuyButton());
4250
+ // Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and buy-now has no
4251
+ // redirect path, so render nothing rather than an Apple Pay button that cannot
4252
+ // do Apple Pay. Scoped to the hosted case on purpose: when a store simply has no
4253
+ // Apple Pay, `isApplePayActive` is false too, but there the button is a deliberate
4254
+ // generic buy-now that falls back to `checkout/mini` (see quickBuyHandler), and
4255
+ // direct consumers rely on that.
4256
+ if (isApplePayHostedRedirect()) {
4257
+ return h(Host, null);
4258
+ }
4259
+ return h(Host, null, this.quickBuyButton());
4115
4260
  }
4116
4261
  quickBuyButton() {
4117
4262
  return h("apple-pay-button", { locale: salla?.config?.get?.('user.language_code') || 'ar', onClick: () => this.quickBuyHandler(), "data-quick-purchase": "applepay", class: "s-quick-buy-apple-pay", "data-is-applepay": "1", buttonstyle: "black", type: this.type });
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, a as getElement } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, a as getElement } from './index-0Tl_yZW8.js';
5
5
  import { a as anime } from './anime.es-CgtvEd63.js';
6
6
 
7
7
  const sallaAdvertisementCss = "/*!twlt*/:host{display:block}.visible{visibility:visible}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.s-advertisement-content{width:100%;margin-right:auto;margin-left:auto;padding-right:10px;padding-left:10px}@media (min-width: 1280px){.s-advertisement-content{max-width:1280px}}.s-advertisement-content{display:flex;align-items:center;justify-content:space-between;padding-top:0.625rem;padding-bottom:0.625rem}.s-advertisement-content-main{flex:1 1 0%;text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-advertisement-content-icon{display:inline-block;vertical-align:middle;font-size:1rem;line-height:1.5rem}.s-advertisement-content-icon:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:0.5rem}.s-advertisement-content-icon:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:0.5rem}.s-advertisement-action{padding-left:0.25rem;padding-right:0.25rem}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0Tl_yZW8.js';
5
5
  import { C as Cart } from './cart-gFG8By9O.js';
6
6
  import { I as ImageIcon } from './image-C-tzSDxw.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0Tl_yZW8.js';
5
5
 
6
6
  const sallaAppInstallAlertCss = "/*!twlt*/:host{display:block}.s-app-install-alert-wrapper{display:none;flex-direction:row;align-items:center;position:fixed;left:0;right:0;width:95%;margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;z-index:999;border-radius:0.375rem;padding:0.75rem;gap:0.5rem;background-color:color-mix(in srgb, var(--color-primary) 15%, white);filter:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.s-app-install-alert-wrapper.open[position=top]{display:flex;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes slideDownFromTop{0%{transform:translateY(-100%);opacity:0}100%{transform:translateY(-0%);opacity:1}}.s-app-install-alert-wrapper.open[position=top]{animation:slideDownFromTop .6s linear;transition-duration:500ms}.s-app-install-alert-wrapper:not(.open){display:none}.s-app-install-alert-content{width:100%}.s-app-install-alert-wrapper[position=top]{top:0px}.s-app-install-alert-wrapper.open[position=bottom]{display:flex}@keyframes slideUpFromBottom{0%{transform:translateY(100%);opacity:0}100%{transform:translateY(0%);opacity:1}}.s-app-install-alert-wrapper.open[position=bottom]{animation:slideUpFromBottom .6s linear}.s-app-install-alert-wrapper[position=bottom]{bottom:0px}@keyframes slideUPFromTop{0%{transform:translateY(-0%);opacity:1}100%{transform:translateY(-100%);opacity:0}}.s-app-install-alert-wrapper[position=top].closing{animation:slideUPFromTop .6s linear}@keyframes slideDownFromBottom{0%{transform:translateY(0%);opacity:1}100%{transform:translateY(100%);opacity:0}}.s-app-install-alert-wrapper[position=bottom].closing{animation:slideDownFromBottom .6s linear}.s-app-install-alert-wrapper.closing{animation-fill-mode:forwards}.s-app-install-alert-title{max-width:95%;font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--color-primary)}.s-app-install-alert-sub-title{max-width:95%;font-size:0.875rem;line-height:1.25rem;font-weight:400}.s-app-install-alert-cta{color:var(--color-primary);text-decoration-line:underline}.s-app-install-alert-cancel-button{position:absolute;top:0.5rem}.s-app-install-alert-cancel-button:where([dir=\"ltr\"],[dir=\"ltr\"] *){right:0.75rem}.s-app-install-alert-cancel-button:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:0.75rem}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host } from './index-0Tl_yZW8.js';
5
5
  import { H as Helper, F as FilterOptionTypes } from './Helper-BQ-wOE14.js';
6
6
  import './anime.es-CgtvEd63.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0Tl_yZW8.js';
5
5
 
6
6
  const sallaAppsIconsCss = "/*!twlt*/:host{display:block}.s-apps-icons-list{display:flex;gap:1rem}.s-apps-icons-list.vertical{flex-direction:column}.s-apps-icons-item{line-height:1}.s-apps-icons-item:hover{color:var(--color-primary)}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement, c as createEvent } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement, c as createEvent } from './index-0Tl_yZW8.js';
5
5
  import { i as isVideoMimeType, a as isImageMimeType, u as usesSplitCountLimits, g as getMaxImagesCount, c as getMaxVideosCount, d as getTotalMaxFiles, p as parseSizeToBytes, e as getFilePondMaxFileSize, f as getUploadErrorMessage, h as formatBytesAsSize, j as formatDuration, s as shouldCountGalleryFile, k as shouldCountGalleryLimit } from './upload-limits-DrXX8XG8.js';
6
6
  import { S as SICalendar } from './calendar-BkmanTR_.js';
7
7
  import { A as ArrowDown } from './keyboard_arrow_down-DCZbpt2a.js';
@@ -687,7 +687,7 @@ const SallaColorPicker = class {
687
687
  }
688
688
  }
689
689
  initColorPicker() {
690
- this.pickerReady = import('./vanilla-picker-DMAcm04D.js').then(function (n) { return n.v; }).then(mod => {
690
+ this.pickerReady = import('./vanilla-picker-CiLp9ysz.js').then(function (n) { return n.v; }).then(mod => {
691
691
  const Picker = mod.default;
692
692
  const picker = new Picker({
693
693
  parent: this.host,
@@ -1148,13 +1148,13 @@ const SallaFileUpload = class {
1148
1148
  return;
1149
1149
  try {
1150
1150
  const [FilePondModule, FilePondPluginFileValidateSize, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginImageEdit, FilePondPluginFileValidateType, FilePondPluginFilePoster] = await Promise.all([
1151
- import('./filepond-Cstf5r6K.js').then(function (n) { return n.f; }),
1152
- import('./filepond-plugin-file-validate-size-CLc6zco6.js').then(function (n) { return n.f; }),
1153
- import('./filepond-plugin-image-exif-orientation-Dmmu9-UQ.js').then(function (n) { return n.f; }),
1154
- import('./filepond-plugin-image-preview-KX15tx60.js').then(function (n) { return n.f; }),
1155
- import('./filepond-plugin-image-edit-CNGBLi7d.js').then(function (n) { return n.f; }),
1156
- import('./filepond-plugin-file-validate-type-Ca3dc8p0.js').then(function (n) { return n.f; }),
1157
- import('./filepond-plugin-file-poster-GibBgGHW.js').then(function (n) { return n.f; })
1151
+ import('./filepond-DTcw03Zq.js').then(function (n) { return n.f; }),
1152
+ import('./filepond-plugin-file-validate-size-FFrf5LrW.js').then(function (n) { return n.f; }),
1153
+ import('./filepond-plugin-image-exif-orientation-CxVz7OAy.js').then(function (n) { return n.f; }),
1154
+ import('./filepond-plugin-image-preview-CsKN7em3.js').then(function (n) { return n.f; }),
1155
+ import('./filepond-plugin-image-edit-DRKyd_1I.js').then(function (n) { return n.f; }),
1156
+ import('./filepond-plugin-file-validate-type-DeZP4xXd.js').then(function (n) { return n.f; }),
1157
+ import('./filepond-plugin-file-poster-Csk5cMw9.js').then(function (n) { return n.f; })
1158
1158
  ]);
1159
1159
  this.FilePond = FilePondModule;
1160
1160
  // Register plugins
@@ -2386,7 +2386,7 @@ const SallaTelInput = class {
2386
2386
  if (this.TelInput)
2387
2387
  return;
2388
2388
  try {
2389
- const telInputModule = await import('./intlTelInput-C-F-rxZ3.js').then(function (n) { return n.i; });
2389
+ const telInputModule = await import('./intlTelInput-CBN9egFg.js').then(function (n) { return n.i; });
2390
2390
  this.TelInput = telInputModule.default;
2391
2391
  }
2392
2392
  catch (error) {
@@ -2515,7 +2515,7 @@ const SallaTelInput = class {
2515
2515
  }
2516
2516
  }
2517
2517
  render() {
2518
- return (h(Host, { key: '49a93bc12f1f33f07e1ab6e859c6ae7b9e902eaa', class: "s-tel-input" }, h("input", { key: '041b007715f41d89c55762f2c31eca2be83dc5a7', type: "tel", disabled: this.disabled, name: this.name, value: this.phone, onChange: (event) => this.handleCountryInput(event), ref: el => this.phoneInput = el, enterkeyhint: "next", autocomplete: "tel", class: "s-tel-input-control tel-input s-ltr" }), h("span", { key: 'a44f133dc52d8ff2e8bc32286fde1492bf1706f8', class: "s-tel-input-error-msg", ref: el => this.errorMsg = el }), h("input", { key: 'f2518dc05cc82c3d01bae282a552665bf1dfcf37', type: "hidden", name: "country_code", value: this.countryCode, ref: el => this.countryCodeInput = el, class: "country_code" })));
2518
+ return (h(Host, { key: 'd03d6361922175ab55e0f58fd54cbbc09f89e5e6', class: "s-tel-input" }, h("input", { key: '69a1fea1c843d4d36d6b0dd59131fa82f0cb62b6', type: "tel", disabled: this.disabled, name: this.name, value: this.phone, onChange: (event) => this.handleCountryInput(event), ref: el => this.phoneInput = el, enterkeyhint: "next", autocomplete: "tel", class: "s-tel-input-control tel-input s-ltr" }), h("span", { key: 'd627bceaf3d7e812a8bc727a12359495350d51b8', class: "s-tel-input-error-msg", ref: el => this.errorMsg = el }), h("input", { key: '013c643d29f51c5ff35cd94ab62e4fcffbb8df0c', type: "hidden", name: "country_code", value: this.countryCode, ref: el => this.countryCodeInput = el, class: "country_code" })));
2519
2519
  }
2520
2520
  componentDidLoad() {
2521
2521
  this.initPromise = this.initTelInput();
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h } from './index-0Tl_yZW8.js';
5
5
 
6
6
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-UnmOIma5.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0Tl_yZW8.js';
5
5
  import { f as fetchCartBoughtTogether } from './catalog-recommendations-DIAyA5MP.js';
6
6
 
7
7
  const sallaBasketGapCss = "/*!twlt*/:host{display:block}.block{display:block}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-basket-gap-entry{margin-top:1.25rem;margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-basket-gap-title{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}.s-basket-gap-list{display:flex;flex-direction:column}.s-basket-gap-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.s-basket-gap-card{display:flex;flex-wrap:wrap;align-items:center;column-gap:0.75rem;row-gap:0.625rem;padding-top:1rem;padding-bottom:1rem}.s-basket-gap-card-image{height:4rem;width:4rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-basket-gap-card-image img{height:100%;width:100%;object-fit:cover}.s-basket-gap-card-info{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.25rem}.s-basket-gap-card-actions{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:0.5rem}@media (min-width: 640px){.s-basket-gap-card-actions{width:auto}}.s-basket-gap-card-name{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-basket-gap-card-name a:hover{color:var(--color-primary)}.s-basket-gap-card-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price{display:flex;align-items:center;gap:0.5rem}.s-basket-gap-card-sale-price span{font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price del{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-basket-gap-card-weight{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer{display:flex;flex-shrink:0;align-items:center;gap:0.25rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));padding-left:9px;padding-right:9px;padding-top:3px;padding-bottom:3px;font-size:11px;font-weight:500;--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer i{font-size:0.75rem;line-height:1rem}.s-basket-gap-card-offer span{font-weight:700;--tw-text-opacity:1 !important;color:rgb(31 41 55 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer salla-count-down{flex-shrink:0}.s-basket-gap-card-offer salla-count-down:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-inline-start:0.25rem}.s-basket-gap-card-offer salla-count-down:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-inline-end:0.25rem}.s-basket-gap-card-offer .s-count-down-list{margin-left:-0px !important;margin-right:-0px !important;margin-bottom:0px !important;margin-top:0px !important;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start !important;column-gap:0px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.s-basket-gap-card-offer .s-count-down-list:where([dir=\"ltr\"],[dir=\"ltr\"] *){flex-direction:row-reverse !important}.s-basket-gap-card-offer .s-count-down-list:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row !important}.s-basket-gap-card-offer .s-count-down-item{position:relative !important;margin-left:0px !important;margin-right:0px !important;display:inline-flex !important;width:auto !important;flex:none !important;flex-grow:0 !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;padding-top:0px !important;padding-bottom:0px !important;padding-left:0px !important;padding-right:0px !important;font-size:12px !important;font-weight:700 !important;line-height:1 !important;--tw-text-opacity:1 !important;color:rgb(21 128 61 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer .s-count-down-item-value{display:inline-block !important;width:2ch !important;min-width:2ch !important;text-align:center;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);line-height:1}.s-basket-gap-card-offer .s-count-down-item-label{display:none}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::before{content:none !important}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::after{content:none !important;position:static;left:auto;right:auto;transform:none}[dir='rtl'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:last-child)::after{content:':' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}[dir='ltr'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:first-child)::after{content:':' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}.s-basket-gap-card-btn{flex-shrink:0}.s-basket-gap-card-btn salla-button .s-button-btn{border-radius:var(--s-radius, 0.25rem);border-width:1px !important;border-color:var(--color-primary) !important;background-color:transparent !important;color:var(--color-primary) !important}.s-basket-gap-card-btn salla-button .s-button-btn:hover{background-color:var(--color-primary) !important;--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-btn salla-button .s-button-loader:before{border-top-color:var(--color-primary) !important;border-left-color:var(--color-primary) !important;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important;--tw-border-opacity:1 !important;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important}.s-basket-gap-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-basket-gap-skeleton-card{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-basket-gap-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.5rem}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-UnmOIma5.js';
5
- import { a as isSaudiArabia, b as bulletDeliveryAPI, r as requireRegionAndDistrictForSA, g as getIntentLatitude, c as getIntentLongitude, h as hasSessionAddressIntent, d as getIntentCityId, e as getIntentCountryId, f as getIntentRegionId, j as getIntentDistrictId, k as filterBranches, l as findNearestBranch, m as getGeolocationErrorMessage, n as clearApiCache, o as getIntentSubtitle, p as getIntentBranchId, i as isMapOriginIntent, q as isBranchSelectable, s as getIntentCountryCode } from './helpers-BJxBnTgv.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-0Tl_yZW8.js';
5
+ import { a as isSaudiArabia, b as bulletDeliveryAPI, r as requireRegionAndDistrictForSA, g as getIntentLatitude, c as getIntentLongitude, h as hasSessionAddressIntent, d as getIntentCityId, e as getIntentCountryId, f as getIntentRegionId, j as getIntentDistrictId, k as isBranchSelectable, l as filterBranches, m as getIntentBranchId, n as findNearestBranch, o as getGeolocationErrorMessage, p as clearApiCache, q as getIntentSubtitle, i as isMapOriginIntent, s as getIntentCountryCode } from './helpers-DgRxTSyJ.js';
6
6
  import { L as Location } from './location-BO5AoBAP.js';
7
7
  import { S as Search } from './search-BscTeWDc.js';
8
8
 
@@ -493,10 +493,7 @@ const SallaBulletDelivery = class {
493
493
  }
494
494
  // Auto-select preselected branch if provided
495
495
  if (this.preselectedBranchId) {
496
- const branch = this.branches.find((b) => b.id === this.preselectedBranchId);
497
- if (branch) {
498
- this.selectedBranch = branch;
499
- }
496
+ this.preselectBranch(this.preselectedBranchId);
500
497
  }
501
498
  }
502
499
  // Prefill form data from session storage
@@ -947,15 +944,30 @@ const SallaBulletDelivery = class {
947
944
  async loadBranches() {
948
945
  this.loadingBranches = true;
949
946
  try {
950
- this.branches = await bulletDeliveryAPI.getBranches({
947
+ this.applyLoadedBranches(await bulletDeliveryAPI.getBranches({
951
948
  country_id: this.selectedCountry?.id,
952
- });
953
- this.filterBranches();
949
+ }));
954
950
  }
955
951
  finally {
956
952
  this.loadingBranches = false;
957
953
  }
958
954
  }
955
+ /**
956
+ * Store a freshly fetched branch list and reconcile the current selection with it.
957
+ * `selectedBranch` is a snapshot from selection time: when the refreshed list carries the
958
+ * same branch, swap in the fresh copy, and drop it if it is no longer selectable (INV-1407).
959
+ * A selection missing from the list (e.g. filtered out by a search) is left untouched.
960
+ */
961
+ applyLoadedBranches(branches) {
962
+ this.branches = branches;
963
+ if (this.selectedBranch) {
964
+ const fresh = branches.find((b) => b.id === this.selectedBranch?.id);
965
+ if (fresh) {
966
+ this.selectedBranch = isBranchSelectable(fresh) ? fresh : null;
967
+ }
968
+ }
969
+ this.filterBranches();
970
+ }
959
971
  filterBranches() {
960
972
  this.filteredBranches = filterBranches(this.branches, this.branchSearchQuery);
961
973
  }
@@ -982,13 +994,7 @@ const SallaBulletDelivery = class {
982
994
  if (country) {
983
995
  this.selectedCountry = country;
984
996
  this.updateNewAddressForm({ country_id: Number(country.id) });
985
- const branchId = getIntentBranchId(intent);
986
- if (branchId != null && this.branches.length > 0) {
987
- const branch = this.branches.find((b) => b.id === branchId);
988
- if (branch) {
989
- this.selectedBranch = branch;
990
- }
991
- }
997
+ this.preselectBranch(getIntentBranchId(intent));
992
998
  }
993
999
  }
994
1000
  }
@@ -1152,11 +1158,10 @@ const SallaBulletDelivery = class {
1152
1158
  return;
1153
1159
  this.loadingBranches = true;
1154
1160
  try {
1155
- this.branches = await bulletDeliveryAPI.getBranches({
1161
+ this.applyLoadedBranches(await bulletDeliveryAPI.getBranches({
1156
1162
  country_id: this.selectedCountry?.id,
1157
1163
  query,
1158
- });
1159
- this.filterBranches();
1164
+ }));
1160
1165
  }
1161
1166
  finally {
1162
1167
  this.loadingBranches = false;
@@ -1189,12 +1194,11 @@ const SallaBulletDelivery = class {
1189
1194
  async loadBranchesWithLocation(lat, lng) {
1190
1195
  this.loadingBranches = true;
1191
1196
  try {
1192
- this.branches = await bulletDeliveryAPI.getBranches({
1197
+ this.applyLoadedBranches(await bulletDeliveryAPI.getBranches({
1193
1198
  country_id: this.selectedCountry?.id,
1194
1199
  lat,
1195
1200
  lng,
1196
- });
1197
- this.filterBranches();
1201
+ }));
1198
1202
  // Auto-select country from first branch if no country is selected
1199
1203
  if (!this.selectedCountry && this.branches.length > 0) {
1200
1204
  const firstBranch = this.branches[0];
@@ -1251,6 +1255,18 @@ const SallaBulletDelivery = class {
1251
1255
  this.selectedBranch = branch;
1252
1256
  this.allocationOutOfCoverageMessage = null;
1253
1257
  }
1258
+ /**
1259
+ * Restore a remembered / event-provided branch — but only one the list renders as selectable,
1260
+ * so a branch that has closed since it was remembered is never silently preselected (INV-1407).
1261
+ */
1262
+ preselectBranch(branchId) {
1263
+ if (branchId == null)
1264
+ return;
1265
+ const branch = this.branches.find((b) => b.id === branchId);
1266
+ if (branch && isBranchSelectable(branch)) {
1267
+ this.selectedBranch = branch;
1268
+ }
1269
+ }
1254
1270
  handleSavedAddressSelect(address) {
1255
1271
  if (address.is_in_coverage === false) {
1256
1272
  // Show toast notification for out of coverage address
@@ -1490,13 +1506,7 @@ const SallaBulletDelivery = class {
1490
1506
  await this.loadBranches();
1491
1507
  }
1492
1508
  // Preselect branch from session storage if available
1493
- const branchId = getIntentBranchId(savedIntent);
1494
- if (branchId != null && this.branches.length > 0) {
1495
- const branch = this.branches.find((b) => b.id === branchId);
1496
- if (branch) {
1497
- this.selectedBranch = branch;
1498
- }
1499
- }
1509
+ this.preselectBranch(getIntentBranchId(savedIntent));
1500
1510
  }
1501
1511
  else if (tab === "address") {
1502
1512
  // Lazy-load saved addresses when switching to address tab (if not loaded yet).
@@ -1525,7 +1535,8 @@ const SallaBulletDelivery = class {
1525
1535
  }
1526
1536
  isConfirmDisabled() {
1527
1537
  if (this.activeTab === "branch") {
1528
- return !this.selectedBranch;
1538
+ // Backstop for any selection path: the allocation API rejects non-selectable branches (INV-1407).
1539
+ return !isBranchSelectable(this.selectedBranch);
1529
1540
  }
1530
1541
  if (this.activeTab === "address") {
1531
1542
  if (this.isLoggedIn && this.selectedSessionAddress) {
@@ -3066,18 +3077,18 @@ const SallaSearchableDropdown = class {
3066
3077
  render() {
3067
3078
  const hasSelection = this.selectedItem != null;
3068
3079
  const listboxId = `${this.inputId}-listbox`;
3069
- return (h(Host, { key: 'fc53e02e434040f760889983d900670231a40e48', class: "s-searchable-dropdown" }, h("div", { key: '86e6866e107164130b3db2ec1771bc88d0b97278', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: 'a3c11751fd38c9ac88ecec24e2ac610a9c22d485', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: '793e54f5dad4e402cfbaf9eb86302d524ef8c3f0', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: 'ba6be33f8cf0361868f38e03298a6f7ca65a014d', class: {
3080
+ return (h(Host, { key: '9b8ac693952ae27f7fecb0f848ef60f5778f0e75', class: "s-searchable-dropdown" }, h("div", { key: '2f10ce4a1aca3ff7299d8561a6dffc05b241b6b1', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: 'bf4f834506b01c388f961e71675dcff60fcab9d9', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: 'ccc2919fd2897f6f88009763c10e7e6b04818f5d', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: '4b3796c45068749c9ad6fcd7cd82289971abd6cb', class: {
3070
3081
  's-searchable-dropdown-trigger': true,
3071
3082
  's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
3072
3083
  's-searchable-dropdown-trigger--open': this.isOpen,
3073
- }, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: 'ee33669d9dceb59ba57a4ab884bd4bd361482fef', class: {
3084
+ }, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: '0f00911d4b31a3bc5607b3d80c75fa9161e57450', class: {
3074
3085
  'sicon-keyboard_arrow_down': true,
3075
3086
  's-searchable-dropdown-trigger-icon': true,
3076
3087
  's-searchable-dropdown-trigger-icon--open': this.isOpen,
3077
- }, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '53beca7bfb0cb44612cbfead759c0681a77a0853', class: {
3088
+ }, "aria-hidden": "true" })), this.isOpen && (h("div", { key: 'e9d3ee8e3ce449038c9c24f664da1fd44cb140c9', class: {
3078
3089
  's-searchable-dropdown-panel': true,
3079
3090
  's-searchable-dropdown-panel--up': this.dropUp,
3080
- }, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: 'b301dbd407c1128bc9baaed95bc5059d06047c09', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: '3cb244ca449a075cbaa70e79a3ce5366eef2f570', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), h("input", { key: '7fe5017de091ad8a4453d3a67c5200411f55a660', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), h("div", { key: '05180ea74c8bbb95c9f19c3346b01c46f2faaa1e', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
3091
+ }, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: '21d3d0f542271255a57c7ae1171a2245f21db148', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: '32b23853dce56095394b0f3f32a62aa05e803af2', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), h("input", { key: 'c50548c034ed3e4ff395fb009e545c78c2dc712e', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), h("div", { key: 'c89233e8d294fe583d9fb8c11c7bb26af5307ce3', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
3081
3092
  }
3082
3093
  renderListContent() {
3083
3094
  if (this.searching || this.loading) {