@salla.sa/twilight-components 2.14.587 → 2.14.588

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 (340) hide show
  1. package/dist/cjs/{filepond-BF8Q2gfH.js → filepond-FHDuUT2A.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-CDZXoVge.js → filepond-plugin-file-poster-cswOK9iC.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-M6dKiRMH.js → filepond-plugin-file-validate-size-BKHetR6q.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-BSTQI9uG.js → filepond-plugin-file-validate-type-TR28icaL.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-h3hJm3qv.js → filepond-plugin-image-edit-D-Wzkzl3.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-CXkq3_oT.js → filepond-plugin-image-exif-orientation-BF-uGQ3T.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-BP4-WdE7.js → filepond-plugin-image-preview-BMRguebr.js} +1 -1
  8. package/dist/cjs/{index-DN51eLtp.js → index-C3RW52t1.js} +4 -4
  9. package/dist/cjs/{intlTelInput-Cgao3Jc8.js → intlTelInput-BwwLaGw1.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +10 -10
  20. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +30 -18
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-form_9.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +3 -3
  30. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +123 -24
  32. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gift-card-redeem.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  106. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
  107. package/dist/cjs/twilight.cjs.js +1 -1
  108. package/dist/cjs/{vanilla-picker-BAqDsAyV.js → vanilla-picker-BCVMDRc5.js} +1 -1
  109. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +29 -17
  110. package/dist/collection/components/salla-conditional-offer/salla-conditional-offer.css +2 -13
  111. package/dist/collection/components/salla-conditional-offer/salla-conditional-offer.js +1 -1
  112. package/dist/collection/components/salla-cookies-bar/salla-cookies-bar.css +3 -0
  113. package/dist/collection/components/salla-cookies-bar/salla-cookies-bar.js +121 -22
  114. package/dist/components/index.js +4 -4
  115. package/dist/components/salla-bullet-delivery.js +29 -17
  116. package/dist/components/salla-conditional-offer.js +2 -2
  117. package/dist/components/salla-cookies-bar.js +122 -23
  118. package/dist/docs.json +1 -1
  119. package/dist/esm/{filepond-Xi2-pJA0.js → filepond-D9x8e0kN.js} +1 -1
  120. package/dist/esm/{filepond-plugin-file-poster-DduYF-sA.js → filepond-plugin-file-poster-Dnc-RXWn.js} +1 -1
  121. package/dist/esm/{filepond-plugin-file-validate-size-BkPirl0j.js → filepond-plugin-file-validate-size-CZkCBl_R.js} +1 -1
  122. package/dist/esm/{filepond-plugin-file-validate-type-BIX8_1CI.js → filepond-plugin-file-validate-type-C5Nsnz-Z.js} +1 -1
  123. package/dist/esm/{filepond-plugin-image-edit--1Sv5xxH.js → filepond-plugin-image-edit-hv6HNezY.js} +1 -1
  124. package/dist/esm/{filepond-plugin-image-exif-orientation-Dss_DgF7.js → filepond-plugin-image-exif-orientation-xKI5gBkW.js} +1 -1
  125. package/dist/esm/{filepond-plugin-image-preview-CaA89Pn1.js → filepond-plugin-image-preview-C1Lw27uf.js} +1 -1
  126. package/dist/esm/{index-BtdIfJF8.js → index-BTR557QH.js} +4 -4
  127. package/dist/esm/{intlTelInput-DxHIK3cL.js → intlTelInput-HpgbsbG0.js} +1 -1
  128. package/dist/esm/loader.js +2 -2
  129. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  130. package/dist/esm/salla-accordion_6.entry.js +1 -1
  131. package/dist/esm/salla-add-product-button_5.entry.js +1 -1
  132. package/dist/esm/salla-advertisement.entry.js +1 -1
  133. package/dist/esm/salla-alert_2.entry.js +1 -1
  134. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  135. package/dist/esm/salla-applied-filters.entry.js +1 -1
  136. package/dist/esm/salla-apps-icons.entry.js +1 -1
  137. package/dist/esm/salla-attachment-view_9.entry.js +10 -10
  138. package/dist/esm/salla-badge.entry.js +1 -1
  139. package/dist/esm/salla-basket-gap.entry.js +1 -1
  140. package/dist/esm/salla-bullet-delivery_3.entry.js +30 -18
  141. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  142. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  143. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  144. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  145. package/dist/esm/salla-comment-factors.entry.js +1 -1
  146. package/dist/esm/salla-comment-form_9.entry.js +1 -1
  147. package/dist/esm/salla-conditional-offer.entry.js +3 -3
  148. package/dist/esm/salla-contacts.entry.js +1 -1
  149. package/dist/esm/salla-cookies-bar.entry.js +123 -24
  150. package/dist/esm/salla-count-down.entry.js +1 -1
  151. package/dist/esm/salla-custom-fields.entry.js +1 -1
  152. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  153. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  154. package/dist/esm/salla-filters-widget.entry.js +1 -1
  155. package/dist/esm/salla-filters.entry.js +1 -1
  156. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  157. package/dist/esm/salla-gift-card-redeem.entry.js +1 -1
  158. package/dist/esm/salla-gifting.entry.js +1 -1
  159. package/dist/esm/salla-hook.entry.js +1 -1
  160. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  161. package/dist/esm/salla-installment.entry.js +1 -1
  162. package/dist/esm/salla-list-tile.entry.js +1 -1
  163. package/dist/esm/salla-localization-modal.entry.js +1 -1
  164. package/dist/esm/salla-login-modal.entry.js +1 -1
  165. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  166. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  167. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  168. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  169. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  170. package/dist/esm/salla-loyalty.entry.js +1 -1
  171. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  172. package/dist/esm/salla-map_3.entry.js +1 -1
  173. package/dist/esm/salla-menu.entry.js +1 -1
  174. package/dist/esm/salla-metadata.entry.js +1 -1
  175. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  176. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  177. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  178. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  179. package/dist/esm/salla-notification-item_2.entry.js +1 -1
  180. package/dist/esm/salla-offer-modal.entry.js +1 -1
  181. package/dist/esm/salla-offer.entry.js +1 -1
  182. package/dist/esm/salla-order-branch.entry.js +1 -1
  183. package/dist/esm/salla-order-cancel.entry.js +1 -1
  184. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  185. package/dist/esm/salla-order-details-options.entry.js +1 -1
  186. package/dist/esm/salla-order-details.entry.js +1 -1
  187. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  188. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  189. package/dist/esm/salla-order-edit.entry.js +1 -1
  190. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  191. package/dist/esm/salla-order-shipments.entry.js +1 -1
  192. package/dist/esm/salla-order-summary.entry.js +1 -1
  193. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  194. package/dist/esm/salla-orders.entry.js +1 -1
  195. package/dist/esm/salla-payments.entry.js +1 -1
  196. package/dist/esm/salla-placeholder.entry.js +1 -1
  197. package/dist/esm/salla-price-range.entry.js +1 -1
  198. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  199. package/dist/esm/salla-product-card.entry.js +1 -1
  200. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  201. package/dist/esm/salla-products-list.entry.js +1 -1
  202. package/dist/esm/salla-products-slider.entry.js +1 -1
  203. package/dist/esm/salla-quick-order.entry.js +1 -1
  204. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  205. package/dist/esm/salla-rating-modal.entry.js +1 -1
  206. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  207. package/dist/esm/salla-review-order-item.entry.js +1 -1
  208. package/dist/esm/salla-scopes.entry.js +1 -1
  209. package/dist/esm/salla-search-product-card.entry.js +1 -1
  210. package/dist/esm/salla-search.entry.js +1 -1
  211. package/dist/esm/salla-skeleton.entry.js +1 -1
  212. package/dist/esm/salla-social-share.entry.js +1 -1
  213. package/dist/esm/salla-social.entry.js +1 -1
  214. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  215. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  216. package/dist/esm/salla-tooltip.entry.js +1 -1
  217. package/dist/esm/salla-trust-badges.entry.js +1 -1
  218. package/dist/esm/salla-user-menu.entry.js +1 -1
  219. package/dist/esm/salla-user-profile.entry.js +1 -1
  220. package/dist/esm/salla-user-settings.entry.js +1 -1
  221. package/dist/esm/salla-verify.entry.js +1 -1
  222. package/dist/esm/salla-wallet.entry.js +1 -1
  223. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  224. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  225. package/dist/esm/twilight.js +2 -2
  226. package/dist/esm/{vanilla-picker-CdDrNNAM.js → vanilla-picker-Cwahuohu.js} +1 -1
  227. package/dist/twilight/p-025f158d.entry.js +4 -0
  228. package/dist/twilight/{p-3b566d5d.entry.js → p-0447c80d.entry.js} +1 -1
  229. package/dist/twilight/{p-7944abc5.entry.js → p-0f559883.entry.js} +1 -1
  230. package/dist/twilight/{p-c571954d.entry.js → p-13186e26.entry.js} +1 -1
  231. package/dist/twilight/{p-6ed2c97c.entry.js → p-1b19b60d.entry.js} +1 -1
  232. package/dist/twilight/{p-f32f8e51.entry.js → p-1bd13cb1.entry.js} +1 -1
  233. package/dist/twilight/p-1d60d5cf.entry.js +4 -0
  234. package/dist/twilight/{p-c3d67706.entry.js → p-1d93fdb7.entry.js} +1 -1
  235. package/dist/twilight/{p-646d3f8f.entry.js → p-1e2aa94c.entry.js} +1 -1
  236. package/dist/twilight/{p-a0ad482e.entry.js → p-1e930884.entry.js} +1 -1
  237. package/dist/twilight/p-2158f53a.entry.js +4 -0
  238. package/dist/twilight/{p-e9ab3ead.entry.js → p-28a76fa1.entry.js} +1 -1
  239. package/dist/twilight/{p-f3cd8cf5.entry.js → p-29992256.entry.js} +1 -1
  240. package/dist/twilight/{p-97ead14b.entry.js → p-2b088e94.entry.js} +1 -1
  241. package/dist/twilight/{p-98c519f7.entry.js → p-2ffe4f20.entry.js} +1 -1
  242. package/dist/twilight/{p-6de41bdc.entry.js → p-34cae9d4.entry.js} +1 -1
  243. package/dist/twilight/{p-af6932b0.entry.js → p-34ea8023.entry.js} +1 -1
  244. package/dist/twilight/{p-58a66109.entry.js → p-39c0175f.entry.js} +1 -1
  245. package/dist/twilight/{p-5afc95a7.entry.js → p-3d31cbfe.entry.js} +1 -1
  246. package/dist/twilight/{p-a9857ca3.entry.js → p-3f6c6e95.entry.js} +1 -1
  247. package/dist/twilight/{p-14545c2e.entry.js → p-3f6e3bca.entry.js} +1 -1
  248. package/dist/twilight/{p-ShShhGeu.js → p-3xURxQbt.js} +1 -1
  249. package/dist/twilight/{p-84588994.entry.js → p-41d66dbc.entry.js} +1 -1
  250. package/dist/twilight/{p-f318c73c.entry.js → p-43a135f9.entry.js} +1 -1
  251. package/dist/twilight/{p-cbe828f7.entry.js → p-46a2bf53.entry.js} +1 -1
  252. package/dist/twilight/{p-bd84e964.entry.js → p-48a3c4d0.entry.js} +1 -1
  253. package/dist/twilight/{p-b199478b.entry.js → p-4b6dc22a.entry.js} +1 -1
  254. package/dist/twilight/{p-89cbcd3c.entry.js → p-4cdfb0ed.entry.js} +1 -1
  255. package/dist/twilight/{p-26479dee.entry.js → p-4d4f5878.entry.js} +1 -1
  256. package/dist/twilight/{p-506f1716.entry.js → p-4de41a53.entry.js} +1 -1
  257. package/dist/twilight/{p-a6c0154a.entry.js → p-4ee88ae3.entry.js} +1 -1
  258. package/dist/twilight/{p-e519da79.entry.js → p-52b0e3e5.entry.js} +1 -1
  259. package/dist/twilight/{p-cf1ea038.entry.js → p-53b89833.entry.js} +1 -1
  260. package/dist/twilight/{p-c61fce7a.entry.js → p-54bdf670.entry.js} +1 -1
  261. package/dist/twilight/{p-c317b529.entry.js → p-5572c1bb.entry.js} +1 -1
  262. package/dist/twilight/{p-e9174da7.entry.js → p-58bfa710.entry.js} +1 -1
  263. package/dist/twilight/{p-573899dc.entry.js → p-5b34281f.entry.js} +1 -1
  264. package/dist/twilight/{p-9661b909.entry.js → p-5d8f8d31.entry.js} +1 -1
  265. package/dist/twilight/{p-340621ed.entry.js → p-5dfb4250.entry.js} +1 -1
  266. package/dist/twilight/{p-20b122f5.entry.js → p-5e48d054.entry.js} +1 -1
  267. package/dist/twilight/{p-b5b70b36.entry.js → p-6371ecfb.entry.js} +1 -1
  268. package/dist/twilight/{p-565f74fe.entry.js → p-63997e17.entry.js} +1 -1
  269. package/dist/twilight/{p-bce91b93.entry.js → p-639ef336.entry.js} +1 -1
  270. package/dist/twilight/{p-20edfe7d.entry.js → p-65dac0dc.entry.js} +1 -1
  271. package/dist/twilight/{p-56f3be75.entry.js → p-6972a912.entry.js} +1 -1
  272. package/dist/twilight/{p-d3a3216f.entry.js → p-6c6cfa25.entry.js} +1 -1
  273. package/dist/twilight/{p-410af88a.entry.js → p-7117a3df.entry.js} +1 -1
  274. package/dist/twilight/{p-5f7532b3.entry.js → p-730f67ce.entry.js} +1 -1
  275. package/dist/twilight/{p-b677ddca.entry.js → p-75316703.entry.js} +1 -1
  276. package/dist/twilight/{p-e3a2bf70.entry.js → p-791a4de0.entry.js} +1 -1
  277. package/dist/twilight/{p-15b4d61d.entry.js → p-79f75f23.entry.js} +1 -1
  278. package/dist/twilight/{p-c1caf8cb.entry.js → p-7a5150ad.entry.js} +1 -1
  279. package/dist/twilight/{p-cec14ad5.entry.js → p-7bce8959.entry.js} +1 -1
  280. package/dist/twilight/{p-a244a4f2.entry.js → p-88aae8b5.entry.js} +1 -1
  281. package/dist/twilight/{p-d46adde4.entry.js → p-891fd288.entry.js} +1 -1
  282. package/dist/twilight/{p-799027c5.entry.js → p-89365ad7.entry.js} +1 -1
  283. package/dist/twilight/{p-a71b30fa.entry.js → p-8da97f62.entry.js} +1 -1
  284. package/dist/twilight/{p-b492dd6a.entry.js → p-8de1f867.entry.js} +1 -1
  285. package/dist/twilight/{p-93064a1f.entry.js → p-913e3175.entry.js} +1 -1
  286. package/dist/twilight/{p-5d8cc35c.entry.js → p-9b95f107.entry.js} +1 -1
  287. package/dist/twilight/{p-f97885ed.entry.js → p-9bb8bd6c.entry.js} +1 -1
  288. package/dist/twilight/{p-8bf2a280.entry.js → p-9ca993de.entry.js} +1 -1
  289. package/dist/twilight/{p-fcbd0395.entry.js → p-9df8e4bd.entry.js} +1 -1
  290. package/dist/twilight/{p-41b0367e.entry.js → p-9e49d85f.entry.js} +1 -1
  291. package/dist/twilight/{p-7Z5IAwod.js → p-AWtDVHWY.js} +1 -1
  292. package/dist/twilight/{p-BtdIfJF8.js → p-BTR557QH.js} +2 -2
  293. package/dist/twilight/{p-DetotZcx.js → p-D82O5pkw.js} +1 -1
  294. package/dist/twilight/p-DXNyBG0s.js +9 -0
  295. package/dist/twilight/{p-CKp7_rq_.js → p-DdVH7VEz.js} +1 -1
  296. package/dist/twilight/{p-DwNLIufU.js → p-GQ-wuBin.js} +1 -1
  297. package/dist/twilight/{p-BjKw2hiE.js → p-X6DlYEXx.js} +1 -1
  298. package/dist/twilight/{p-Bc26pjHG.js → p-Y9R2faFd.js} +1 -1
  299. package/dist/twilight/{p-BiGEqBIB.js → p-Zr_Na9jM.js} +2 -2
  300. package/dist/twilight/{p-b1f146d6.entry.js → p-a0d251ec.entry.js} +1 -1
  301. package/dist/twilight/{p-072455fd.entry.js → p-a2df5f85.entry.js} +1 -1
  302. package/dist/twilight/{p-c64aaef9.entry.js → p-a462cf60.entry.js} +1 -1
  303. package/dist/twilight/{p-ae543e87.entry.js → p-a73f0f08.entry.js} +1 -1
  304. package/dist/twilight/{p-344e9465.entry.js → p-ac968f38.entry.js} +1 -1
  305. package/dist/twilight/{p-bbfa65b5.entry.js → p-aca47dd5.entry.js} +1 -1
  306. package/dist/twilight/{p-3212b345.entry.js → p-b0dee69a.entry.js} +1 -1
  307. package/dist/twilight/{p-0b975744.entry.js → p-b7a84f6a.entry.js} +1 -1
  308. package/dist/twilight/{p-be824cd2.entry.js → p-b8ba7d7a.entry.js} +1 -1
  309. package/dist/twilight/{p-c495c15f.entry.js → p-b8eead91.entry.js} +1 -1
  310. package/dist/twilight/{p-773de9cc.entry.js → p-bbb88414.entry.js} +1 -1
  311. package/dist/twilight/{p-e583bb7d.entry.js → p-c50f18ff.entry.js} +1 -1
  312. package/dist/twilight/{p-3b37eccc.entry.js → p-ca14d0e0.entry.js} +1 -1
  313. package/dist/twilight/{p-80a7d4af.entry.js → p-ce20fc73.entry.js} +1 -1
  314. package/dist/twilight/{p-49d4a3c2.entry.js → p-d09e982e.entry.js} +1 -1
  315. package/dist/twilight/{p-8dac352c.entry.js → p-d3977f2f.entry.js} +1 -1
  316. package/dist/twilight/{p-5710d065.entry.js → p-d3a0ba94.entry.js} +1 -1
  317. package/dist/twilight/{p-1f48b187.entry.js → p-d5d2b0fb.entry.js} +1 -1
  318. package/dist/twilight/{p-7c1d3130.entry.js → p-d78b3444.entry.js} +1 -1
  319. package/dist/twilight/{p-09f65942.entry.js → p-db30160d.entry.js} +1 -1
  320. package/dist/twilight/{p-d720d65e.entry.js → p-dd9260b4.entry.js} +1 -1
  321. package/dist/twilight/{p-4e5bde43.entry.js → p-e0bdbbff.entry.js} +1 -1
  322. package/dist/twilight/{p-24ebf9d6.entry.js → p-e551f928.entry.js} +1 -1
  323. package/dist/twilight/{p-0d58eb8e.entry.js → p-e8c637d0.entry.js} +1 -1
  324. package/dist/twilight/{p-357c7c69.entry.js → p-ed7ffc7e.entry.js} +1 -1
  325. package/dist/twilight/{p-f4d02219.entry.js → p-eee4a3dd.entry.js} +1 -1
  326. package/dist/twilight/{p-60a35744.entry.js → p-eeece90d.entry.js} +1 -1
  327. package/dist/twilight/{p-80818114.entry.js → p-f2099ffc.entry.js} +1 -1
  328. package/dist/twilight/{p-32f6ea11.entry.js → p-f3abd84c.entry.js} +1 -1
  329. package/dist/twilight/{p-67a08021.entry.js → p-fa984e9c.entry.js} +1 -1
  330. package/dist/twilight/{p-2a5844fa.entry.js → p-fb4906f6.entry.js} +1 -1
  331. package/dist/twilight/{p-22bf309f.entry.js → p-fc146f87.entry.js} +1 -1
  332. package/dist/twilight/{p-9d3d89f8.entry.js → p-fdb6d4c3.entry.js} +1 -1
  333. package/dist/twilight/twilight.esm.js +1 -1
  334. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +4 -0
  335. package/dist/types/components/salla-cookies-bar/salla-cookies-bar.d.ts +53 -11
  336. package/package.json +5 -5
  337. package/dist/twilight/p-56b50c65.entry.js +0 -4
  338. package/dist/twilight/p-6b9c1c5d.entry.js +0 -4
  339. package/dist/twilight/p-D9PZqqzV.js +0 -9
  340. package/dist/twilight/p-df4e13e9.entry.js +0 -4
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DN51eLtp.js');
6
+ var index = require('./index-C3RW52t1.js');
7
7
 
8
8
  const sallaWalletCss = "/*!twlt*/@charset \"UTF-8\";.s-wallet-table{min-width:100%}.s-wallet-table-balance-container{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:1rem}.s-wallet-table-balance-icon{border-radius:50%;width:52px;height:52px;font-size:25px;padding:16px 13px;background:var(--color-primary-reverse);color:var(--color-primary)}.s-wallet-table-empty-state{display:flex;flex-direction:column;align-items:center}.s-wallet-table-empty-state i{font-size:80px;margin:4rem 0 2rem;color:var(--infinte-color)}.s-wallet-table-transaction-status{padding:6px 19px !important;border-radius:20px;width:max-content;display:flex;align-items:center}.s-wallet-table-transaction-status-default{background:#fff6eb;color:#a46f29}.s-wallet-table-transaction-status-cashback{background:#effbf6;color:#00af6c}.s-wallet-table-transaction-status-refund{background:#ecf3fe;color:#5196f3}.s-wallet-table-transaction-status-purchase{background:#feecec;color:#f55157}.s-wallet-table-transaction-status-icons-success{color:#00af6c}.s-wallet-summary{display:flex;align-items:stretch;gap:16px;margin-bottom:28px}.s-wallet-balance-card{flex:0 0 34%;max-width:240px;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box}.s-wallet-balance-mark{width:48px;height:48px;border-radius:9999px;background:var(--color-primary-reverse, #eaf7f0);color:var(--color-primary, #2e8b57);display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}.s-wallet-balance-figure{font-size:18px;font-weight:700;color:#1c1c1c}.s-wallet-balance-label{margin-top:2px;font-size:12px;color:#9aa0a6}.s-wallet-amount{display:inline-flex;align-items:center;gap:4px;font-weight:700;white-space:nowrap}.s-wallet-amount-credit{color:#00af6c}.s-wallet-amount-debit{color:#f55157}.s-wallet-transaction-type{display:flex;align-items:center;color:#4b5563}@media screen and (min-width: 768px){.s-wallet-balance-card{display:flex;flex-direction:column;justify-content:center}}@media screen and (max-width: 767px){.s-wallet-summary{gap:12px;margin-bottom:20px}.s-wallet-balance-card{flex:0 0 38%;padding:16px;text-align:center}.s-wallet-balance-mark{margin-bottom:8px}}.absolute{position:absolute}.relative{position:relative}.flex{display:flex}.table{display:table}.hidden{display:none}.items-center{align-items:center}.p-3{padding:0.75rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-wallet-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}@media (min-width: 768px){.s-wallet-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}}.s-wallet-mobile-title{display:inline-block;width:8rem;font-weight:400;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.s-wallet-mobile-title{display:none}}.s-wallet-reference-id{display:none}@media (min-width: 768px){.s-wallet-reference-id{display:inline-block}}.s-wallet-buy-as-gift-icon{margin-left:0.25rem;margin-right:0.25rem;display:inline-block;color:var(--color-primary)}.s-wallet-copy-to-clipboard-button{display:flex;align-items:center}@media (min-width: 768px){.s-wallet-copy-to-clipboard-button{display:none}}.s-wallet-copy-to-clipboard-button salla-button{position:relative}.s-wallet-copy-to-clipboard-button-icon{pointer-events:none;font-size:0.75rem;line-height:1rem}.s-wallet-copy-to-clipboard-button-icon:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-left:0.25rem}.s-wallet-copy-to-clipboard-button-icon:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0.25rem}@media (min-width: 768px){.s-wallet-status-container{margin-left:0px;margin-right:0px}}.s-wallet-status-container:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-left:auto}.s-wallet-status-container:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:auto}.s-wallet-status-container i{margin-top:0.25rem}.s-wallet-status-container i:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:0.25rem}.s-wallet-status-container i:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:0.25rem}.s-wallet-rated-text{--tw-text-opacity:1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.s-wallet-unrated-text{--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.s-wallet-no-content{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-wallet-no-content .icon{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-wallet-no-content p{margin-bottom:1rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-wallet-table{min-width:100%;border-collapse:separate}@media (min-width: 768px){.s-wallet-table{margin-bottom:-0.75rem;--tw-border-spacing-y:1.25rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}}.s-wallet-table-head{margin-bottom:1.25rem;display:none;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}@media (min-width: 768px){.s-wallet-table-head{display:table-header-group}}.s-wallet-table-head-tr-th{padding-left:1.5rem;padding-right:1.5rem;text-align:start;font-size:0.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em}.s-wallet-table-head-tr-th:where([dir=\"ltr\"],[dir=\"ltr\"] *){text-align:left}.s-wallet-table-head-tr-th:last-child:where([dir=\"ltr\"],[dir=\"ltr\"] *){text-align:right}.s-wallet-table-head-tr-th:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:right}.s-wallet-table-head-tr-th:last-child:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:left}.s-wallet-table-tbody-tr{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;overflow:hidden;border-radius:var(--s-radius, 0.25rem);border-bottom-width:8px;border-top-width:8px;--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem;transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}@media (min-width: 768px){.s-wallet-table-tbody-tr{display:table-row;flex-direction:row;flex-wrap:nowrap;padding:0px}}.s-wallet-table-tbody-tr-td{width:100%;white-space:nowrap;font-size:0.875rem;line-height:1.25rem}.s-wallet-table-tbody-tr-td:first-child{font-weight:700}@media (min-width: 768px){.s-wallet-table-tbody-tr-td{height:5rem;width:auto}.s-wallet-table-tbody-tr-td:last-child{text-align:end}.s-wallet-table-tbody-tr-td:first-child:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.s-wallet-table-tbody-tr-td:first-child:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}}.s-wallet-table-tbody-tr-td:first-child{font-weight:700}.s-wallet-table-tbody-tr-td-content{position:relative;display:flex;align-items:center;justify-content:space-between;padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-size:0.75rem;line-height:1rem}@media (min-width: 768px){.s-wallet-table-tbody-tr-td-content{padding-left:1.5rem;padding-right:1.5rem;padding-top:1.5rem;padding-bottom:1.5rem}}.s-wallet-table-tbody-tr-td-content:where([dir=\"ltr\"],[dir=\"ltr\"] *){padding-right:0.5rem}.s-wallet-table-tbody-tr-td-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){padding-left:0.5rem}.s-wallet-table-tbody-tr a{position:absolute;top:0px;bottom:0px;display:block;width:100%}.s-wallet-table-tbody-tr a:where([dir=\"ltr\"],[dir=\"ltr\"] *){left:0px}.s-wallet-table-tbody-tr a:where([dir=\"rtl\"],[dir=\"rtl\"] *){right:0px}@media (min-width: 768px){.md\\:mx-0{margin-left:0px;margin-right:0px}.md\\:inline-block{display:inline-block}.md\\:hidden{display:none}}.ltr\\:ml-auto:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-left:auto}.ltr\\:mr-4:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:1rem}.rtl\\:ml-4:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:1rem}.rtl\\:mr-auto:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:auto}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DN51eLtp.js');
6
+ var index = require('./index-C3RW52t1.js');
7
7
 
8
8
  const sallaWishlistActionsCss = "/*!twlt*/:host{display:block}.s-wishlist-actions-menu{min-width:200px;inset-inline-end:0;inset-inline-start:auto;list-style:none;margin:0;padding:4px 0;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}.s-wishlist-actions-menu-item{display:block;width:100%;padding:10px 16px;text-align:start;font-size:0.875rem;color:#374151;background:transparent;cursor:pointer;white-space:nowrap}.s-wishlist-actions-menu-item:hover{background-color:#f3f4f6;color:var(--color-primary)}.s-wishlist-actions-panel{box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-wishlist-actions-panel-select-all{user-select:none}.s-wishlist-actions-select-all:indeterminate,.s-wishlist-actions-select-all:indeterminate:hover,.s-wishlist-actions-select-all:indeterminate:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-wishlist-actions-select-all:indeterminate::after{content:\"\";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;border:none;transform:translate(-50%, -50%)}.s-wishlist-actions-social-anchor{display:none}h1.s-wishlist-actions-page-title{text-align:start !important}.static{position:static}.absolute{position:absolute}.relative{position:relative}.z-20{z-index:20}.mb-3{margin-bottom:0.75rem}.mt-1{margin-top:0.25rem}.mt-3{margin-top:0.75rem}.flex{display:flex}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:0.5rem}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DN51eLtp.js');
6
+ var index = require('./index-C3RW52t1.js');
7
7
  var heart = require('./heart-ClVn_Co8.js');
8
8
  var Helper = require('./Helper-DgRzYZwR.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DN51eLtp.js');
6
+ var index = require('./index-C3RW52t1.js');
7
7
 
8
8
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
9
9
  /*
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DN51eLtp.js');
6
+ var index = require('./index-C3RW52t1.js');
7
7
 
8
8
  function _mergeNamespaces(n, m) {
9
9
  m.forEach(function (e) {
@@ -408,8 +408,9 @@ export class SallaBulletDelivery {
408
408
  else {
409
409
  this.activeTab = 'address';
410
410
  }
411
- // Fetch address token for map (fire-and-forget, non-blocking)
412
- this.fetchAddressToken();
411
+ // Map SDK + token only when the opening view actually renders the map (fire-and-forget).
412
+ if (this.needsMap)
413
+ this.fetchAddressToken();
413
414
  // Load countries always; load saved addresses only when address tab is active (lazy tab data).
414
415
  if (this.isLoggedIn && this.activeTab === "address") {
415
416
  this.loadingSavedAddresses = true;
@@ -1257,24 +1258,23 @@ export class SallaBulletDelivery {
1257
1258
  }
1258
1259
  // ─── Map methods ───
1259
1260
  async fetchAddressToken() {
1260
- if (this.addressToken || this.loadingToken)
1261
+ // The token and Maps JS only serve map mode (setting on + maps key); otherwise they are ~180KB of unused JS.
1262
+ if (!this.canUseMap || this.addressToken || this.loadingToken)
1261
1263
  return;
1262
1264
  this.loadingToken = true;
1263
1265
  try {
1264
1266
  const mapsKey = salla.config.get('store.settings.keys.maps');
1265
- if (mapsKey) {
1266
- const bootMaps = () => import('@salla.sa/ui-google-map-render')
1267
- .then(({ load }) => load({
1268
- key: mapsKey,
1269
- libraries: ['marker', 'places'],
1270
- language: salla.config.get('user.language_code') || 'ar',
1271
- }))
1272
- .catch(err => log('Failed to load Google Maps SDK', err));
1273
- if (document.readyState === 'complete')
1274
- bootMaps();
1275
- else
1276
- window.addEventListener('load', bootMaps, { once: true });
1277
- }
1267
+ const bootMaps = () => import('@salla.sa/ui-google-map-render')
1268
+ .then(({ load }) => load({
1269
+ key: mapsKey,
1270
+ libraries: ['marker', 'places'],
1271
+ language: salla.config.get('user.language_code') || 'ar',
1272
+ }))
1273
+ .catch(err => log('Failed to load Google Maps SDK', err));
1274
+ if (document.readyState === 'complete')
1275
+ bootMaps();
1276
+ else
1277
+ window.addEventListener('load', bootMaps, { once: true });
1278
1278
  this.addressToken = await bulletDeliveryAPI.getAddressToken();
1279
1279
  }
1280
1280
  catch {
@@ -1351,7 +1351,17 @@ export class SallaBulletDelivery {
1351
1351
  return Salla.config.get('store.settings.bullet_delivery.settings.map_enabled');
1352
1352
  }
1353
1353
  get isMapModeAvailable() {
1354
- return this.isMapSettingEnabled && !!salla.config.get('store.settings.keys.maps') && !!this.addressToken;
1354
+ return this.canUseMap && !!this.addressToken;
1355
+ }
1356
+ /** Store config allows map mode (independent of whether the token has loaded yet). */
1357
+ get canUseMap() {
1358
+ return !!this.isMapSettingEnabled && !!salla.config.get('store.settings.keys.maps');
1359
+ }
1360
+ /** The current view will render <gmap-map>: guest delivery tab, or the add-address view. */
1361
+ get needsMap() {
1362
+ return (this.canUseMap &&
1363
+ this.activeTab === 'address' &&
1364
+ (this.viewMode === 'add-address' || !this.isLoggedIn));
1355
1365
  }
1356
1366
  /** In map mode and a pin has already been dropped (as opposed to still using the dropdowns), regardless of login state. */
1357
1367
  get isMapPick() {
@@ -1416,6 +1426,8 @@ export class SallaBulletDelivery {
1416
1426
  this.selectedCountry = this.countries[0];
1417
1427
  }
1418
1428
  }
1429
+ if (tab === "address" && this.needsMap)
1430
+ this.fetchAddressToken();
1419
1431
  // Load appropriate data when switching tabs if country is selected
1420
1432
  if (this.selectedCountry) {
1421
1433
  if (tab === "branch") {
@@ -16,15 +16,9 @@
16
16
  .mb-1 {
17
17
  margin-bottom: 0.25rem;
18
18
  }
19
- .block {
20
- display: block;
21
- }
22
19
  .flex {
23
20
  display: flex;
24
21
  }
25
- .hidden {
26
- display: none;
27
- }
28
22
  .h-12 {
29
23
  height: 3rem;
30
24
  }
@@ -157,13 +151,13 @@
157
151
  display: flex;
158
152
  height: 8rem;
159
153
  width: 100%;
160
- flex-wrap: wrap;
161
154
  align-items: center;
162
- justify-content: center;
155
+ overflow-x: auto;
163
156
  }
164
157
  @media (min-width: 768px) {
165
158
  .s-conditional-offer-progress-container {
166
159
  height: 4rem;
160
+ overflow: visible;
167
161
  }
168
162
  }
169
163
  .s-conditional-offer-item-avatar-content {
@@ -287,8 +281,3 @@
287
281
  display: flex;
288
282
  align-items: center;
289
283
  }
290
- @media (min-width: 640px) {
291
- .sm\:block {
292
- display: block;
293
- }
294
- }
@@ -136,7 +136,7 @@ export class SallaConditionalOffer {
136
136
  h("div", { key: "progress-line", class: "s-conditional-offer-progress-line-container" }, h("div", { class: "s-conditional-offer-progress-line-inactive" }), h("div", { class: "s-conditional-offer-progress-line-active", style: { width: `${progressPercentage}%` } })),
137
137
  h("div", { key: "checkpoint", class: `s-conditional-offer-checkpoint ${isActive ? "s-conditional-offer-active-checkpoint" : ""}` }, h("div", { class: `s-conditional-offer-item-avatar-content ${isActive ? "active" : ""}`, id: discount.type === DiscountType.FREE_PRODUCT ? `avatar-product-${discount.value}` : `avatar-${discount.value ?? index}` }, this.products && this.getCheckpointContent(discount)), this.products && discount.type === DiscountType.FREE_PRODUCT && this.renderTooltip(discount), h("div", { class: `s-conditional-offer-checkpoint-label ${isActive ? "active" : ""}`, innerHTML: this.getOfferType(discount) }))
138
138
  ] :
139
- h("div", { key: "label", class: { "s-conditional-offer-checkpoint-label": true, "first-checkpoint": index === 0, active: isActive, "hidden": index === 0, "sm:block": index === 0 }, innerHTML: this.getOfferType(discount) })));
139
+ h("div", { key: "label", class: { "s-conditional-offer-checkpoint-label": true, "first-checkpoint": index === 0, active: isActive }, innerHTML: this.getOfferType(discount) })));
140
140
  }
141
141
  getLoadingSkeletonView() {
142
142
  return h(Host, { class: "s-conditional-offer-container" }, h("div", { class: "s-conditional-offer-skeleton-inner-container" }, h("div", { class: "s-conditional-offer-skeleton-subtitle" }, h("salla-skeleton", { height: "16px", width: "30%" })), h("div", { class: "s-conditional-offer-skeleton-subtitle" }, h("salla-skeleton", { height: "16px", width: "35%" })), h("div", { class: "s-conditional-offer-skeleton-checkpoints-wrapper" }, Array(3).fill(null).map(() => ([h("salla-skeleton", { key: "checkpoint-line", height: "8px" }), h("div", { key: "checkpoint" }, h("salla-skeleton", { height: "60px", width: "60px", type: "circle" }))])))));
@@ -153,6 +153,9 @@
153
153
  .ms-1 {
154
154
  margin-inline-start: 0.25rem;
155
155
  }
156
+ .hidden {
157
+ display: none;
158
+ }
156
159
  .resize {
157
160
  resize: both;
158
161
  }
@@ -22,7 +22,7 @@ export class SallaCookiesBar {
22
22
  this.mobileQueryHandler = (e) => (this.isMobile = e.matches);
23
23
  this.openRequestedHandler = () => this.open();
24
24
  this.authLoggedInHandler = () => this.syncConsentAfterLogin();
25
- this.authLoggedOutHandler = () => this.clearLocalConsent();
25
+ this.authLoggedOutHandler = () => this.handleLogout();
26
26
  /**
27
27
  * Consent cookie names, matching the category keys the backend expects.
28
28
  */
@@ -31,6 +31,18 @@ export class SallaCookiesBar {
31
31
  this.functionalCookieKey = 'functional_cookies';
32
32
  this.advertisingCookieKey = 'advertising_cookies';
33
33
  this.consentCookieDays = 365;
34
+ /**
35
+ * Storage keys for the consent choice. The persistent choice lives in `Salla.storage`
36
+ * (localStorage); after a logout a copy is kept in `Salla.storage.session` so the bar
37
+ * stays hidden until the browsing session ends.
38
+ */
39
+ this.consentStorageKey = 'cookies-consent';
40
+ this.sessionConsentPointsKey = 'cookies-consent-points';
41
+ /**
42
+ * Set when the persistent choice was made (or attributed) while signed in, i.e. it
43
+ * belongs to that account and must never be carried over to whoever signs in next.
44
+ */
45
+ this.consentByUserKey = 'cookies-consent-by-user';
34
46
  /**
35
47
  * Known first-party cookie names (a trailing `*` matches by prefix) set by common
36
48
  * third-party scripts, grouped by the category they belong to. Only first-party
@@ -112,6 +124,14 @@ export class SallaCookiesBar {
112
124
  this.functionsEnabled = false;
113
125
  this.adsEnabled = false;
114
126
  }
127
+ /**
128
+ * Stores can share an origin (`salla.sa/store_one`, `salla.sa/store_two`), so the
129
+ * post-logout session copy and the signed-in marker are keyed by store id to stay out
130
+ * of the other stores.
131
+ */
132
+ storeKey(key) {
133
+ return `${key}_${Salla.config.get('store.id')}`;
134
+ }
115
135
  async componentWillLoad() {
116
136
  await Salla.onReady();
117
137
  await Salla.lang.onLoaded();
@@ -121,7 +141,7 @@ export class SallaCookiesBar {
121
141
  Salla.event.on('auth::logged.out', this.authLoggedOutHandler);
122
142
  this.unregisterAfterFetchMenuItemsHook = Salla.hooks.registerHook('salla-menu', 'afterFetchMenuItems', (menuComponent) => this.appendCookiesSettingsLink(menuComponent));
123
143
  this.hydrateToggleState();
124
- if (Salla.storage.get('cookies-consent')) {
144
+ if (this.currentConsentPoints()) {
125
145
  this.isVisible = false;
126
146
  }
127
147
  // Keep tracking cookies enforced on every load/refresh, not just when the
@@ -190,23 +210,50 @@ export class SallaCookiesBar {
190
210
  */
191
211
  applyConsent(points) {
192
212
  this.writeLocalConsentCookies(points);
213
+ // A fresh choice is stored persistently, so any post-logout session copy is stale.
214
+ this.clearSessionConsent();
215
+ Salla.storage.set(this.storeKey(this.consentByUserKey), !Salla.config.isGuest());
193
216
  this.sweepDisabledCategoryCookies(points);
194
217
  if (!Salla.config.isGuest()) {
195
218
  Salla.api.request('account/data-privacy', { points }, 'post').catch(() => { });
196
219
  }
197
220
  }
198
221
  /**
199
- * The currently known accepted categories, read from local cookies — there is no
200
- * backend endpoint to read the customer's saved preference back, so the cookies
201
- * written on save are the only source of truth we have. Returns `null` when no
202
- * choice has been made yet — the bar itself is the source of truth in that case,
203
- * not a sweep.
222
+ * The currently known accepted categories: the persistent choice if there is one,
223
+ * otherwise the post-logout session copy. Returns `null` when no choice has been
224
+ * made yet — the bar itself is the source of truth in that case, not a sweep.
204
225
  */
205
226
  currentConsentPoints() {
206
- if (!Salla.storage.get('cookies-consent'))
227
+ return this.persistentConsentPoints() ?? this.sessionConsentPoints();
228
+ }
229
+ /**
230
+ * The accepted categories read from local cookies — there is no backend endpoint to
231
+ * read the customer's saved preference back, so the cookies written on save are the
232
+ * only source of truth we have.
233
+ */
234
+ persistentConsentPoints() {
235
+ if (!Salla.storage.get(this.consentStorageKey))
207
236
  return null;
208
237
  return this.allCategoryKeys().filter(key => key === this.necessaryCookieKey || Salla.cookie.get(key) === 'true');
209
238
  }
239
+ /**
240
+ * The choice carried over from before a logout, kept only for the current browsing
241
+ * session (see `handleLogout`). It belongs to the customer who logged out, so it only
242
+ * applies while the visitor is a guest — never to whoever signs in next.
243
+ */
244
+ sessionConsentPoints() {
245
+ if (!Salla.config.isGuest())
246
+ return null;
247
+ if (!Salla.storage.session?.get(this.storeKey(this.consentStorageKey)))
248
+ return null;
249
+ const points = Salla.storage.session.get(this.storeKey(this.sessionConsentPointsKey));
250
+ const savedPoints = Array.isArray(points) ? points : [];
251
+ return this.allCategoryKeys().filter(key => key === this.necessaryCookieKey || savedPoints.includes(key));
252
+ }
253
+ clearSessionConsent() {
254
+ Salla.storage.session?.remove(this.storeKey(this.consentStorageKey));
255
+ Salla.storage.session?.remove(this.storeKey(this.sessionConsentPointsKey));
256
+ }
210
257
  enforceCurrentConsent() {
211
258
  const points = this.currentConsentPoints();
212
259
  if (points)
@@ -226,31 +273,76 @@ export class SallaCookiesBar {
226
273
  this.adsEnabled = points.includes(this.advertisingCookieKey);
227
274
  }
228
275
  /**
229
- * Wipe the locally-stored choice on logout. Local cookies/storage are scoped to the
230
- * browser, not the account — without this, whatever the previous customer chose would
231
- * be misread as "the visitor's own prior choice" and pushed to the next account that
232
- * logs in (or is created) on this same browser.
276
+ * On logout, stop keeping the choice persistently: local cookies/storage are scoped to
277
+ * the browser, not the account — without this, whatever the previous customer chose
278
+ * would be misread as "the visitor's own prior choice" and pushed to the next account
279
+ * that logs in (or is created) on this same browser.
280
+ *
281
+ * The choice is still honoured for the rest of the browsing session (copied to session
282
+ * storage), so the bar doesn't pop up again right after logging out; it shows again
283
+ * once the store is closed and reopened.
284
+ *
285
+ * A logout fired while the visitor is already a guest is the automatic `force_logout`
286
+ * cleanup (the session already ended server-side), not the customer's doing, so a choice
287
+ * the visitor made as a guest is kept as is. A choice made while signed in belongs to
288
+ * that account, so it's handled like any other logout.
233
289
  */
234
- clearLocalConsent() {
290
+ handleLogout() {
291
+ if (Salla.config.isGuest() && !Salla.storage.get(this.storeKey(this.consentByUserKey)))
292
+ return;
293
+ const state = Salla.storage.get(this.consentStorageKey);
294
+ const points = this.persistentConsentPoints();
295
+ if (state && points) {
296
+ Salla.storage.session?.set(this.storeKey(this.consentStorageKey), state);
297
+ Salla.storage.session?.set(this.storeKey(this.sessionConsentPointsKey), points);
298
+ }
235
299
  for (const key of this.allCategoryKeys()) {
236
300
  Salla.cookie.remove(key);
237
301
  }
238
- Salla.storage.remove('cookies-consent');
239
- // Whoever continues on this browser next (guest or a different account) hasn't
240
- // made a choice yet, so the bar should show again right away.
241
- this.isVisible = true;
302
+ Salla.storage.remove(this.consentStorageKey);
303
+ Salla.storage.remove(this.storeKey(this.consentByUserKey));
242
304
  }
243
305
  /**
244
306
  * Runs when a guest signs in. There is no backend endpoint to check whether the
245
307
  * account already has a saved preference, so if the visitor already made a choice
246
308
  * as a guest (guest choices are never sent server-side), attribute that local
247
309
  * choice to the account now — this is the only source of truth available.
310
+ * The post-logout session copy belongs to the previous customer, so it's dropped here
311
+ * and never synced.
312
+ * `auth::logged.in` is dispatched even when the profile fetch fails, so a login that
313
+ * didn't resolve a user (still a guest) changes nothing.
248
314
  */
249
315
  syncConsentAfterLogin() {
250
- const points = this.currentConsentPoints();
251
- if (!points)
316
+ if (Salla.config.isGuest())
317
+ return;
318
+ this.clearSessionConsent();
319
+ const points = this.persistentConsentPoints();
320
+ if (!points) {
321
+ // Nothing chosen on this browser for the account that just signed in — e.g. after a
322
+ // logout that kept the bar hidden on this page — so ask them now.
323
+ this.step = 'consent';
324
+ this.isVisible = true;
325
+ return;
326
+ }
327
+ // A choice that already belongs to an account isn't this visitor's to hand over.
328
+ if (Salla.storage.get(this.storeKey(this.consentByUserKey)))
252
329
  return;
253
- Salla.api.request('account/data-privacy', { points }, 'post').catch(() => { });
330
+ // Only once the account actually has the choice does it count as theirs; if the POST
331
+ // fails, a later login can try again. The response can arrive after the visitor logged
332
+ // out or chose again, so only mark it if it's still the same account and choice.
333
+ const userId = Salla.config.get('user.id');
334
+ Salla.api
335
+ .request('account/data-privacy', { points }, 'post')
336
+ .then(() => {
337
+ const currentPoints = this.persistentConsentPoints();
338
+ const unchanged = !Salla.config.isGuest() &&
339
+ Salla.config.get('user.id') === userId &&
340
+ currentPoints?.length === points.length &&
341
+ points.every(key => currentPoints.includes(key));
342
+ if (unchanged)
343
+ Salla.storage.set(this.storeKey(this.consentByUserKey), true);
344
+ })
345
+ .catch(() => { });
254
346
  }
255
347
  cookieNameMatchesPattern(cookieName, pattern) {
256
348
  return pattern.endsWith('*')
@@ -277,8 +369,15 @@ export class SallaCookiesBar {
277
369
  dismiss(eventName) {
278
370
  this.isVisible = false;
279
371
  //We will call event first because we need to compare between old and new data inside session
280
- Salla.event.emit(`salla-cookies-bar::${eventName}`);
281
- Salla.storage.set('cookies-consent', eventName);
372
+ try {
373
+ Salla.event.emit(`salla-cookies-bar::${eventName}`);
374
+ }
375
+ finally {
376
+ // Listeners (themes, apps, third-party scripts) run synchronously and their errors
377
+ // propagate; always persist the choice so a throwing listener can't make the bar
378
+ // show again on the next page. The error is still rethrown after this.
379
+ Salla.storage.set(this.consentStorageKey, eventName);
380
+ }
282
381
  }
283
382
  /**
284
383
  * Persist the customized per-category toggle choices, then dismiss.