@salla.sa/twilight-components 2.14.595 → 2.14.597

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 (542) hide show
  1. package/dist/cjs/{filepond-BmX7bEQk.js → filepond-Dw1N5qBB.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-Cs6e85Vn.js → filepond-plugin-file-poster-C1ipzdpz.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-CSk66JAo.js → filepond-plugin-file-validate-size-DbTJ1H8k.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-Piu3p2Um.js → filepond-plugin-file-validate-type-CDOD2WKz.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-Ba9FBal4.js → filepond-plugin-image-edit-CP7JkpKx.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-zwtgHyrT.js → filepond-plugin-image-exif-orientation-Bm5i6zMO.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-BmGjui8n.js → filepond-plugin-image-preview-INllb63L.js} +1 -1
  8. package/dist/cjs/{index-DkrDtx6i.js → index-DIEWuq3M.js} +2 -2
  9. package/dist/cjs/{intlTelInput-Bty1-N7J.js → intlTelInput-bnpl10H7.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +10 -18
  13. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +37 -15
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +26 -20
  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 +7 -2
  19. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +79 -40
  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 +2 -2
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +12 -5
  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 +67 -25
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +10 -3
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down.cjs.entry.js +17 -12
  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 +7 -4
  37. package/dist/cjs/salla-filters.cjs.entry.js +10 -5
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +12 -7
  41. package/dist/cjs/salla-hook.cjs.entry.js +2 -2
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +7 -2
  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 +14 -2
  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 +12 -5
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-map_3.cjs.entry.js +39 -15
  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 +7 -2
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +14 -7
  63. package/dist/cjs/salla-offer.cjs.entry.js +14 -9
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +42 -4
  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 +7 -4
  75. package/dist/cjs/salla-order-totals-card.cjs.entry.js +2 -2
  76. package/dist/cjs/salla-orders.cjs.entry.js +10 -6
  77. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-placeholder.cjs.entry.js +10 -3
  79. package/dist/cjs/salla-price-range.cjs.entry.js +7 -4
  80. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-product-card.cjs.entry.js +14 -9
  82. package/dist/cjs/salla-product-size-guide.cjs.entry.js +9 -4
  83. package/dist/cjs/salla-products-list.cjs.entry.js +5 -4
  84. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-quick-order.cjs.entry.js +7 -2
  86. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-rating-modal.cjs.entry.js +9 -3
  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 +9 -2
  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 +8 -8
  94. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social.cjs.entry.js +8 -3
  96. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  97. package/dist/cjs/salla-tiered-offer.cjs.entry.js +7 -2
  98. package/dist/cjs/salla-trust-badges.cjs.entry.js +8 -4
  99. package/dist/cjs/salla-user-menu.cjs.entry.js +7 -1
  100. package/dist/cjs/salla-user-profile.cjs.entry.js +7 -3
  101. package/dist/cjs/salla-user-settings.cjs.entry.js +8 -3
  102. package/dist/cjs/salla-verify.cjs.entry.js +13 -6
  103. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
  106. package/dist/cjs/translate-Cvomt6Jh.js +58 -0
  107. package/dist/cjs/twilight.cjs.js +2 -2
  108. package/dist/cjs/{vanilla-picker-DgPfWupN.js → vanilla-picker-BaSDLxjI.js} +1 -1
  109. package/dist/collection/Helpers/translate.js +36 -0
  110. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +7 -2
  111. package/dist/collection/components/salla-alert/salla-alert.js +5 -5
  112. package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +6 -1
  113. package/dist/collection/components/salla-booking-field/salla-booking-field.js +10 -4
  114. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +23 -17
  115. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +2 -0
  116. package/dist/collection/components/salla-button/salla-button.js +19 -27
  117. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +10 -3
  118. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +2 -2
  119. package/dist/collection/components/salla-comment-form/salla-comment-form.js +10 -5
  120. package/dist/collection/components/salla-comments/salla-comment-item.js +8 -2
  121. package/dist/collection/components/salla-comments/salla-comments.js +32 -5
  122. package/dist/collection/components/salla-contacts/salla-contacts.js +9 -2
  123. package/dist/collection/components/salla-count-down/salla-count-down.js +23 -18
  124. package/dist/collection/components/salla-custom-fields/salla-custom-fields.js +4 -0
  125. package/dist/collection/components/salla-file-upload/salla-file-upload.css +3 -0
  126. package/dist/collection/components/salla-file-upload/salla-file-upload.js +36 -7
  127. package/dist/collection/components/salla-filters/salla-filters.js +10 -5
  128. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +6 -3
  129. package/dist/collection/components/salla-gifting/salla-gifting.js +11 -6
  130. package/dist/collection/components/salla-hook/salla-hook.js +5 -1
  131. package/dist/collection/components/salla-infinite-scroll/salla-infinite-scroll.js +6 -1
  132. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +15 -2
  133. package/dist/collection/components/salla-loyalty/salla-loyalty.js +12 -5
  134. package/dist/collection/components/salla-map/salla-map.js +12 -7
  135. package/dist/collection/components/salla-notifications/salla-notifications.js +6 -1
  136. package/dist/collection/components/salla-offer/salla-offer.js +12 -7
  137. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +13 -6
  138. package/dist/collection/components/salla-order-branch/salla-order-branch.css +35 -0
  139. package/dist/collection/components/salla-order-branch/salla-order-branch.js +40 -2
  140. package/dist/collection/components/salla-order-summary/salla-order-summary.js +6 -3
  141. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +1 -1
  142. package/dist/collection/components/salla-orders/salla-orders.js +9 -5
  143. package/dist/collection/components/salla-placeholder/salla-placeholder.js +10 -3
  144. package/dist/collection/components/salla-price-range/salla-price-range.js +6 -3
  145. package/dist/collection/components/salla-product-availability/salla-product-availability.js +16 -7
  146. package/dist/collection/components/salla-product-card/salla-product-card.js +22 -17
  147. package/dist/collection/components/salla-product-options/salla-product-options.js +9 -6
  148. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +8 -3
  149. package/dist/collection/components/salla-products-list/salla-products-list.js +4 -3
  150. package/dist/collection/components/salla-progress-bar/salla-progress-bar.js +20 -4
  151. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +6 -1
  152. package/dist/collection/components/salla-quick-order/salla-quick-order.js +6 -1
  153. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +8 -2
  154. package/dist/collection/components/salla-rating-stars/salla-rating-stars.js +16 -16
  155. package/dist/collection/components/salla-review-card/salla-review-card.js +5 -1
  156. package/dist/collection/components/salla-reviews/salla-reviews.js +6 -1
  157. package/dist/collection/components/salla-scopes/salla-scopes.js +9 -2
  158. package/dist/collection/components/salla-skeleton/salla-skeleton.js +10 -10
  159. package/dist/collection/components/salla-slider/salla-slider.js +6 -3
  160. package/dist/collection/components/salla-social/salla-social.js +7 -2
  161. package/dist/collection/components/salla-tabs/salla-tab-header.js +3 -3
  162. package/dist/collection/components/salla-tel-input/salla-tel-input.js +24 -19
  163. package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +6 -1
  164. package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +7 -3
  165. package/dist/collection/components/salla-user-menu/salla-user-menu.js +6 -0
  166. package/dist/collection/components/salla-user-profile/salla-user-profile.js +6 -2
  167. package/dist/collection/components/salla-user-settings/salla-user-settings.js +7 -2
  168. package/dist/collection/components/salla-verify/salla-verify.js +13 -6
  169. package/dist/components/index.js +2 -2
  170. package/dist/components/salla-add-product-button2.js +7 -2
  171. package/dist/components/salla-alert.js +2 -2
  172. package/dist/components/salla-apps-icons.js +6 -1
  173. package/dist/components/salla-booking-field2.js +10 -4
  174. package/dist/components/salla-bottom-alert.js +23 -17
  175. package/dist/components/salla-bullet-delivery.js +1 -1
  176. package/dist/components/salla-button2.js +9 -17
  177. package/dist/components/salla-cart-item-offers.js +10 -3
  178. package/dist/components/salla-cart-summary.js +1 -1
  179. package/dist/components/salla-comment-form2.js +10 -5
  180. package/dist/components/salla-comment-item2.js +8 -2
  181. package/dist/components/salla-comments.js +32 -5
  182. package/dist/components/salla-contacts.js +9 -2
  183. package/dist/components/salla-count-down2.js +16 -11
  184. package/dist/components/salla-file-upload2.js +37 -8
  185. package/dist/components/salla-filters-widget2.js +6 -3
  186. package/dist/components/salla-filters.js +9 -4
  187. package/dist/components/salla-gifting.js +11 -6
  188. package/dist/components/salla-hook.js +1 -1
  189. package/dist/components/salla-infinite-scroll.js +6 -1
  190. package/dist/components/salla-localization-modal.js +15 -2
  191. package/dist/components/salla-loyalty.js +12 -5
  192. package/dist/components/salla-map2.js +12 -7
  193. package/dist/components/salla-notifications.js +6 -1
  194. package/dist/components/salla-offer-modal.js +13 -6
  195. package/dist/components/salla-offer.js +12 -7
  196. package/dist/components/salla-order-branch.js +41 -3
  197. package/dist/components/salla-order-summary.js +6 -3
  198. package/dist/components/salla-order-totals-card.js +1 -1
  199. package/dist/components/salla-orders.js +9 -5
  200. package/dist/components/salla-placeholder2.js +10 -3
  201. package/dist/components/salla-price-range2.js +6 -3
  202. package/dist/components/salla-product-availability2.js +16 -7
  203. package/dist/components/salla-product-card2.js +13 -8
  204. package/dist/components/salla-product-options2.js +9 -6
  205. package/dist/components/salla-product-size-guide.js +8 -3
  206. package/dist/components/salla-products-list2.js +4 -3
  207. package/dist/components/salla-progress-bar2.js +20 -4
  208. package/dist/components/salla-quick-buy2.js +6 -1
  209. package/dist/components/salla-quick-order.js +6 -1
  210. package/dist/components/salla-rating-modal2.js +8 -2
  211. package/dist/components/salla-rating-stars2.js +10 -10
  212. package/dist/components/salla-review-card2.js +1 -1
  213. package/dist/components/salla-reviews.js +6 -1
  214. package/dist/components/salla-scopes.js +9 -2
  215. package/dist/components/salla-skeleton2.js +7 -7
  216. package/dist/components/salla-slider2.js +6 -3
  217. package/dist/components/salla-social.js +7 -2
  218. package/dist/components/salla-tab-header2.js +3 -3
  219. package/dist/components/salla-tel-input2.js +24 -19
  220. package/dist/components/salla-tiered-offer.js +6 -1
  221. package/dist/components/salla-trust-badges.js +7 -3
  222. package/dist/components/salla-user-menu.js +6 -0
  223. package/dist/components/salla-user-profile.js +6 -2
  224. package/dist/components/salla-user-settings.js +7 -2
  225. package/dist/components/salla-verify.js +13 -6
  226. package/dist/components/translate.js +37 -1
  227. package/dist/docs.json +44 -44
  228. package/dist/esm/{filepond-DF26o67L.js → filepond-DfLkIBAw.js} +1 -1
  229. package/dist/esm/{filepond-plugin-file-poster-B4epzDDH.js → filepond-plugin-file-poster-D3ie06bz.js} +1 -1
  230. package/dist/esm/{filepond-plugin-file-validate-size-DILJc03j.js → filepond-plugin-file-validate-size-C_S_eFQe.js} +1 -1
  231. package/dist/esm/{filepond-plugin-file-validate-type-Bic7dGts.js → filepond-plugin-file-validate-type-BE7nqQRE.js} +1 -1
  232. package/dist/esm/{filepond-plugin-image-edit-DHfCLKK0.js → filepond-plugin-image-edit-C6jDcMnX.js} +1 -1
  233. package/dist/esm/{filepond-plugin-image-exif-orientation-C7y59Hrn.js → filepond-plugin-image-exif-orientation-nKXdF-ae.js} +1 -1
  234. package/dist/esm/{filepond-plugin-image-preview-C-ZqWLeC.js → filepond-plugin-image-preview-Dzl44GI1.js} +1 -1
  235. package/dist/esm/{index-HRJpfiBN.js → index-BmRQjBRH.js} +2 -2
  236. package/dist/esm/{intlTelInput-DOVRUqFb.js → intlTelInput-dGrU4Iu9.js} +1 -1
  237. package/dist/esm/loader.js +3 -3
  238. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  239. package/dist/esm/salla-accordion_6.entry.js +10 -18
  240. package/dist/esm/salla-add-product-button_5.entry.js +37 -15
  241. package/dist/esm/salla-advertisement.entry.js +1 -1
  242. package/dist/esm/salla-alert_2.entry.js +26 -20
  243. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  244. package/dist/esm/salla-applied-filters.entry.js +1 -1
  245. package/dist/esm/salla-apps-icons.entry.js +7 -2
  246. package/dist/esm/salla-attachment-view_9.entry.js +79 -40
  247. package/dist/esm/salla-badge.entry.js +1 -1
  248. package/dist/esm/salla-basket-gap.entry.js +1 -1
  249. package/dist/esm/salla-bullet-delivery_3.entry.js +2 -2
  250. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  251. package/dist/esm/salla-cart-item-offers_2.entry.js +12 -5
  252. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  253. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  254. package/dist/esm/salla-comment-factors.entry.js +1 -1
  255. package/dist/esm/salla-comment-form_9.entry.js +67 -25
  256. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  257. package/dist/esm/salla-contacts.entry.js +10 -3
  258. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  259. package/dist/esm/salla-count-down.entry.js +17 -12
  260. package/dist/esm/salla-custom-fields.entry.js +1 -1
  261. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  262. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  263. package/dist/esm/salla-filters-widget.entry.js +7 -4
  264. package/dist/esm/salla-filters.entry.js +10 -5
  265. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  266. package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
  267. package/dist/esm/salla-gifting.entry.js +12 -7
  268. package/dist/esm/salla-hook.entry.js +2 -2
  269. package/dist/esm/salla-infinite-scroll.entry.js +7 -2
  270. package/dist/esm/salla-installment.entry.js +1 -1
  271. package/dist/esm/salla-list-tile.entry.js +1 -1
  272. package/dist/esm/salla-localization-modal.entry.js +14 -2
  273. package/dist/esm/salla-login-modal.entry.js +1 -1
  274. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  275. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  276. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  277. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  278. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  279. package/dist/esm/salla-loyalty.entry.js +12 -5
  280. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  281. package/dist/esm/salla-map_3.entry.js +39 -15
  282. package/dist/esm/salla-menu.entry.js +1 -1
  283. package/dist/esm/salla-metadata.entry.js +1 -1
  284. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  285. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  286. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  287. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  288. package/dist/esm/salla-notification-item_2.entry.js +7 -2
  289. package/dist/esm/salla-offer-modal.entry.js +14 -7
  290. package/dist/esm/salla-offer.entry.js +14 -9
  291. package/dist/esm/salla-order-branch.entry.js +42 -4
  292. package/dist/esm/salla-order-cancel.entry.js +1 -1
  293. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  294. package/dist/esm/salla-order-details-options.entry.js +1 -1
  295. package/dist/esm/salla-order-details.entry.js +1 -1
  296. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  297. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  298. package/dist/esm/salla-order-edit.entry.js +1 -1
  299. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  300. package/dist/esm/salla-order-shipments.entry.js +1 -1
  301. package/dist/esm/salla-order-summary.entry.js +7 -4
  302. package/dist/esm/salla-order-totals-card.entry.js +2 -2
  303. package/dist/esm/salla-orders.entry.js +10 -6
  304. package/dist/esm/salla-payments.entry.js +1 -1
  305. package/dist/esm/salla-placeholder.entry.js +10 -3
  306. package/dist/esm/salla-price-range.entry.js +7 -4
  307. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  308. package/dist/esm/salla-product-card.entry.js +14 -9
  309. package/dist/esm/salla-product-size-guide.entry.js +9 -4
  310. package/dist/esm/salla-products-list.entry.js +5 -4
  311. package/dist/esm/salla-products-slider.entry.js +1 -1
  312. package/dist/esm/salla-quick-order.entry.js +7 -2
  313. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  314. package/dist/esm/salla-rating-modal.entry.js +9 -3
  315. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  316. package/dist/esm/salla-review-order-item.entry.js +1 -1
  317. package/dist/esm/salla-scopes.entry.js +9 -2
  318. package/dist/esm/salla-search-product-card.entry.js +1 -1
  319. package/dist/esm/salla-search.entry.js +1 -1
  320. package/dist/esm/salla-skeleton.entry.js +8 -8
  321. package/dist/esm/salla-social-share.entry.js +1 -1
  322. package/dist/esm/salla-social.entry.js +8 -3
  323. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  324. package/dist/esm/salla-tiered-offer.entry.js +7 -2
  325. package/dist/esm/salla-trust-badges.entry.js +8 -4
  326. package/dist/esm/salla-user-menu.entry.js +7 -1
  327. package/dist/esm/salla-user-profile.entry.js +7 -3
  328. package/dist/esm/salla-user-settings.entry.js +8 -3
  329. package/dist/esm/salla-verify.entry.js +13 -6
  330. package/dist/esm/salla-wallet.entry.js +1 -1
  331. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  332. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  333. package/dist/esm/translate-CxrJQ3Jf.js +54 -0
  334. package/dist/esm/twilight.js +3 -3
  335. package/dist/esm/{vanilla-picker-DQKehCLa.js → vanilla-picker-DRghK0RD.js} +1 -1
  336. package/dist/twilight/p-00e1f5fd.entry.js +4 -0
  337. package/dist/twilight/{p-078e5ef8.entry.js → p-12338d19.entry.js} +1 -1
  338. package/dist/twilight/p-1557d0ca.entry.js +4 -0
  339. package/dist/twilight/{p-ef09a761.entry.js → p-15ab81d6.entry.js} +1 -1
  340. package/dist/twilight/p-182d7bab.entry.js +4 -0
  341. package/dist/twilight/p-1908ab44.entry.js +4 -0
  342. package/dist/twilight/p-19592be3.entry.js +4 -0
  343. package/dist/twilight/{p-75ed7d4e.entry.js → p-1a8c7481.entry.js} +1 -1
  344. package/dist/twilight/p-1c8bf883.entry.js +4 -0
  345. package/dist/twilight/{p-119aa7c1.entry.js → p-1c8dde1a.entry.js} +1 -1
  346. package/dist/twilight/p-1f2844db.entry.js +4 -0
  347. package/dist/twilight/{p-b66c664b.entry.js → p-2cf7eb3b.entry.js} +1 -1
  348. package/dist/twilight/p-2de4c351.entry.js +4 -0
  349. package/dist/twilight/{p-7f38cf0c.entry.js → p-2de666d8.entry.js} +1 -1
  350. package/dist/twilight/p-33e769b3.entry.js +4 -0
  351. package/dist/twilight/{p-84c56f4d.entry.js → p-3745be6d.entry.js} +1 -1
  352. package/dist/twilight/p-39a16468.entry.js +4 -0
  353. package/dist/twilight/{p-76f49fd8.entry.js → p-3a996401.entry.js} +1 -1
  354. package/dist/twilight/{p-6feb378a.entry.js → p-3bf933f6.entry.js} +1 -1
  355. package/dist/twilight/p-3d1842e4.entry.js +4 -0
  356. package/dist/twilight/p-3f373f1e.entry.js +4 -0
  357. package/dist/twilight/{p-8f0b6a64.entry.js → p-3f66f717.entry.js} +1 -1
  358. package/dist/twilight/p-3fdaf198.entry.js +4 -0
  359. package/dist/twilight/p-41248f5f.entry.js +4 -0
  360. package/dist/twilight/{p-c919171b.entry.js → p-4235b3c2.entry.js} +1 -1
  361. package/dist/twilight/{p-3c0be6b1.entry.js → p-4aa07eca.entry.js} +1 -1
  362. package/dist/twilight/{p-4e74c79f.entry.js → p-4b111d7a.entry.js} +1 -1
  363. package/dist/twilight/{p-2c13b5e8.entry.js → p-51694dd2.entry.js} +1 -1
  364. package/dist/twilight/{p-c8d4b211.entry.js → p-55b5158c.entry.js} +1 -1
  365. package/dist/twilight/{p-9a4a84b8.entry.js → p-5617656f.entry.js} +1 -1
  366. package/dist/twilight/{p-25ea21a6.entry.js → p-58dcc966.entry.js} +1 -1
  367. package/dist/twilight/p-5f35b46a.entry.js +4 -0
  368. package/dist/twilight/{p-a3009d00.entry.js → p-60e1fb1a.entry.js} +1 -1
  369. package/dist/twilight/{p-5134faef.entry.js → p-61956814.entry.js} +1 -1
  370. package/dist/twilight/p-6854e982.entry.js +4 -0
  371. package/dist/twilight/{p-1a684490.entry.js → p-68919916.entry.js} +1 -1
  372. package/dist/twilight/p-6b0d6b9b.entry.js +4 -0
  373. package/dist/twilight/p-71cbf7a4.entry.js +4 -0
  374. package/dist/twilight/{p-313dbe67.entry.js → p-730101ff.entry.js} +1 -1
  375. package/dist/twilight/p-737b93c2.entry.js +4 -0
  376. package/dist/twilight/p-74ccf675.entry.js +4 -0
  377. package/dist/twilight/{p-83edd1a1.entry.js → p-7aa15258.entry.js} +1 -1
  378. package/dist/twilight/{p-5b617110.entry.js → p-7c7648d7.entry.js} +1 -1
  379. package/dist/twilight/p-7dfe99e6.entry.js +4 -0
  380. package/dist/twilight/{p-07e1822a.entry.js → p-7e724019.entry.js} +1 -1
  381. package/dist/twilight/p-8248cecd.entry.js +4 -0
  382. package/dist/twilight/p-844ebeb6.entry.js +4 -0
  383. package/dist/twilight/{p-2413d450.entry.js → p-87cedb04.entry.js} +1 -1
  384. package/dist/twilight/p-8b21158b.entry.js +4 -0
  385. package/dist/twilight/{p-1b0da3b9.entry.js → p-8c10cb85.entry.js} +1 -1
  386. package/dist/twilight/p-8e2488fe.entry.js +4 -0
  387. package/dist/twilight/{p-33a64882.entry.js → p-9108e712.entry.js} +1 -1
  388. package/dist/twilight/p-91326a74.entry.js +4 -0
  389. package/dist/twilight/{p-100260a2.entry.js → p-96f9eb1f.entry.js} +1 -1
  390. package/dist/twilight/p-99463d58.entry.js +4 -0
  391. package/dist/twilight/p-9e196eb0.entry.js +4 -0
  392. package/dist/twilight/{p-BFMu9w68.js → p-B4fbRnFh.js} +1 -1
  393. package/dist/twilight/{p-BGUXYEQf.js → p-BIToxPOg.js} +1 -1
  394. package/dist/twilight/{p-HRJpfiBN.js → p-BmRQjBRH.js} +1 -1
  395. package/dist/twilight/{p-CliIfO7G.js → p-C1XjCBHg.js} +1 -1
  396. package/dist/twilight/{p-BdaR2plD.js → p-C48Rktr4.js} +1 -1
  397. package/dist/twilight/{p-O5jKs1Zb.js → p-CWismw4I.js} +1 -1
  398. package/dist/twilight/p-CxrJQ3Jf.js +4 -0
  399. package/dist/twilight/{p-DlxVucku.js → p-DYEGhE1O.js} +1 -1
  400. package/dist/twilight/{p-CSRWBUvd.js → p-DnZfyhH5.js} +1 -1
  401. package/dist/twilight/{p-BCFB-lfz.js → p-OCGvfvVA.js} +1 -1
  402. package/dist/twilight/{p-9a723216.entry.js → p-a80acba3.entry.js} +1 -1
  403. package/dist/twilight/{p-61c8e3c6.entry.js → p-ab1d320f.entry.js} +1 -1
  404. package/dist/twilight/{p-5f0eca54.entry.js → p-ac7d45b6.entry.js} +1 -1
  405. package/dist/twilight/{p-fe72290f.entry.js → p-aeafb519.entry.js} +1 -1
  406. package/dist/twilight/p-b5499627.entry.js +4 -0
  407. package/dist/twilight/{p-f5e46494.entry.js → p-b5829615.entry.js} +1 -1
  408. package/dist/twilight/p-b6c5435e.entry.js +4 -0
  409. package/dist/twilight/{p-02d79968.entry.js → p-baaa3e72.entry.js} +1 -1
  410. package/dist/twilight/{p-7f58cf36.entry.js → p-bfdde3db.entry.js} +1 -1
  411. package/dist/twilight/p-c22ea75b.entry.js +4 -0
  412. package/dist/twilight/{p-768f5c26.entry.js → p-c3d33aee.entry.js} +1 -1
  413. package/dist/twilight/{p-943f3e5a.entry.js → p-c5d4f71c.entry.js} +1 -1
  414. package/dist/twilight/{p-ee8d13fd.entry.js → p-cc46f297.entry.js} +1 -1
  415. package/dist/twilight/p-cca10a34.entry.js +4 -0
  416. package/dist/twilight/p-cdbb6758.entry.js +4 -0
  417. package/dist/twilight/{p-96560ca2.entry.js → p-cf1cc0d1.entry.js} +1 -1
  418. package/dist/twilight/{p-73b8ed51.entry.js → p-d034a3ba.entry.js} +1 -1
  419. package/dist/twilight/{p-155f1fed.entry.js → p-d307d40a.entry.js} +1 -1
  420. package/dist/twilight/p-d37e6c2f.entry.js +4 -0
  421. package/dist/twilight/{p-eb6f86fb.entry.js → p-d3be7885.entry.js} +1 -1
  422. package/dist/twilight/{p-87d34b7c.entry.js → p-d542e647.entry.js} +1 -1
  423. package/dist/twilight/{p-c3afee2f.entry.js → p-db9994c2.entry.js} +1 -1
  424. package/dist/twilight/p-dd4bcce0.entry.js +4 -0
  425. package/dist/twilight/{p-c89d7291.entry.js → p-de3c5f91.entry.js} +1 -1
  426. package/dist/twilight/{p-df8c51c2.entry.js → p-e2d1d888.entry.js} +1 -1
  427. package/dist/twilight/{p-0e430b25.entry.js → p-e6bc3cf4.entry.js} +1 -1
  428. package/dist/twilight/{p-e4d76bce.entry.js → p-e8d94147.entry.js} +1 -1
  429. package/dist/twilight/{p-4e0dcb5c.entry.js → p-e9319448.entry.js} +1 -1
  430. package/dist/twilight/{p-ee23fbba.entry.js → p-ec1589cf.entry.js} +1 -1
  431. package/dist/twilight/{p-d8181149.entry.js → p-ece1fecd.entry.js} +1 -1
  432. package/dist/twilight/{p-231d4bf2.entry.js → p-f0180034.entry.js} +1 -1
  433. package/dist/twilight/{p-49e2f73d.entry.js → p-f348601d.entry.js} +1 -1
  434. package/dist/twilight/{p-6e8cb8fb.entry.js → p-f5afeed8.entry.js} +1 -1
  435. package/dist/twilight/p-f70fa2e9.entry.js +4 -0
  436. package/dist/twilight/{p-a2cbbc56.entry.js → p-f76349b3.entry.js} +1 -1
  437. package/dist/twilight/{p-49d6d82e.entry.js → p-fa600113.entry.js} +1 -1
  438. package/dist/twilight/p-fde4cf31.entry.js +4 -0
  439. package/dist/twilight/{p-14b78c6e.entry.js → p-fe3645b0.entry.js} +1 -1
  440. package/dist/twilight/{p-4cee6b43.entry.js → p-feb068a2.entry.js} +1 -1
  441. package/dist/twilight/{p-D1oXS6KY.js → p-imI5he7m.js} +1 -1
  442. package/dist/twilight/twilight.esm.js +1 -1
  443. package/dist/types/Helpers/translate.d.ts +17 -0
  444. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -1
  445. package/dist/types/components/salla-alert/salla-alert.d.ts +3 -3
  446. package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +3 -0
  447. package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +3 -0
  448. package/dist/types/components/salla-bottom-alert/salla-bottom-alert.d.ts +3 -1
  449. package/dist/types/components/salla-button/salla-button.d.ts +10 -18
  450. package/dist/types/components/salla-cart-item-offers/salla-cart-item-offers.d.ts +3 -0
  451. package/dist/types/components/salla-cart-summary/salla-cart-summary.d.ts +2 -2
  452. package/dist/types/components/salla-comment-form/salla-comment-form.d.ts +3 -0
  453. package/dist/types/components/salla-comments/salla-comment-item.d.ts +3 -1
  454. package/dist/types/components/salla-comments/salla-comments.d.ts +6 -0
  455. package/dist/types/components/salla-contacts/salla-contacts.d.ts +4 -0
  456. package/dist/types/components/salla-count-down/salla-count-down.d.ts +17 -14
  457. package/dist/types/components/salla-custom-fields/salla-custom-fields.d.ts +4 -0
  458. package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +3 -0
  459. package/dist/types/components/salla-filters/salla-filters.d.ts +4 -1
  460. package/dist/types/components/salla-filters-widget/salla-filters-widget.d.ts +2 -0
  461. package/dist/types/components/salla-gifting/salla-gifting.d.ts +3 -0
  462. package/dist/types/components/salla-hook/salla-hook.d.ts +4 -0
  463. package/dist/types/components/salla-infinite-scroll/salla-infinite-scroll.d.ts +3 -0
  464. package/dist/types/components/salla-localization-modal/salla-localization-modal.d.ts +4 -0
  465. package/dist/types/components/salla-loyalty/salla-loyalty.d.ts +3 -0
  466. package/dist/types/components/salla-map/salla-map.d.ts +3 -0
  467. package/dist/types/components/salla-notifications/salla-notifications.d.ts +3 -1
  468. package/dist/types/components/salla-offer/salla-offer.d.ts +3 -0
  469. package/dist/types/components/salla-offer-modal/salla-offer-modal.d.ts +3 -0
  470. package/dist/types/components/salla-order-branch/interfaces.d.ts +1 -0
  471. package/dist/types/components/salla-order-branch/salla-order-branch.d.ts +10 -1
  472. package/dist/types/components/salla-order-summary/salla-order-summary.d.ts +2 -0
  473. package/dist/types/components/salla-order-totals-card/interfaces.d.ts +1 -0
  474. package/dist/types/components/salla-orders/salla-orders.d.ts +3 -1
  475. package/dist/types/components/salla-placeholder/salla-placeholder.d.ts +3 -1
  476. package/dist/types/components/salla-price-range/salla-price-range.d.ts +2 -0
  477. package/dist/types/components/salla-product-availability/salla-product-availability.d.ts +4 -0
  478. package/dist/types/components/salla-product-card/salla-product-card.d.ts +12 -9
  479. package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
  480. package/dist/types/components/salla-product-size-guide/salla-product-size-guide.d.ts +3 -0
  481. package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
  482. package/dist/types/components/salla-progress-bar/salla-progress-bar.d.ts +5 -0
  483. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +3 -1
  484. package/dist/types/components/salla-quick-order/salla-quick-order.d.ts +3 -0
  485. package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +3 -0
  486. package/dist/types/components/salla-rating-stars/salla-rating-stars.d.ts +14 -14
  487. package/dist/types/components/salla-review-card/salla-review-card.d.ts +4 -0
  488. package/dist/types/components/salla-reviews/salla-reviews.d.ts +3 -0
  489. package/dist/types/components/salla-scopes/salla-scopes.d.ts +3 -0
  490. package/dist/types/components/salla-skeleton/salla-skeleton.d.ts +6 -6
  491. package/dist/types/components/salla-slider/salla-slider.d.ts +2 -0
  492. package/dist/types/components/salla-social/salla-social.d.ts +3 -0
  493. package/dist/types/components/salla-tabs/salla-tab-header.d.ts +2 -2
  494. package/dist/types/components/salla-tel-input/salla-tel-input.d.ts +3 -1
  495. package/dist/types/components/salla-tiered-offer/salla-tiered-offer.d.ts +3 -1
  496. package/dist/types/components/salla-trust-badges/salla-trust-badges.d.ts +3 -1
  497. package/dist/types/components/salla-user-menu/salla-user-menu.d.ts +3 -0
  498. package/dist/types/components/salla-user-profile/salla-user-profile.d.ts +3 -1
  499. package/dist/types/components/salla-user-settings/salla-user-settings.d.ts +3 -0
  500. package/dist/types/components/salla-verify/salla-verify.d.ts +3 -0
  501. package/dist/types/components.d.ts +128 -80
  502. package/package.json +5 -5
  503. package/dist/cjs/translate-BeU1QX_r.js +0 -20
  504. package/dist/esm/translate-CrSV-tno.js +0 -18
  505. package/dist/twilight/p-117c8823.entry.js +0 -4
  506. package/dist/twilight/p-16b45c19.entry.js +0 -4
  507. package/dist/twilight/p-20d5665b.entry.js +0 -4
  508. package/dist/twilight/p-235f40b0.entry.js +0 -4
  509. package/dist/twilight/p-2f96a72f.entry.js +0 -4
  510. package/dist/twilight/p-312d231b.entry.js +0 -4
  511. package/dist/twilight/p-334fc442.entry.js +0 -4
  512. package/dist/twilight/p-3e232b09.entry.js +0 -4
  513. package/dist/twilight/p-3f376a9d.entry.js +0 -4
  514. package/dist/twilight/p-46ad2b0e.entry.js +0 -4
  515. package/dist/twilight/p-4e3a3c55.entry.js +0 -4
  516. package/dist/twilight/p-4f9da81b.entry.js +0 -4
  517. package/dist/twilight/p-5bc3f956.entry.js +0 -4
  518. package/dist/twilight/p-5fae444a.entry.js +0 -4
  519. package/dist/twilight/p-70c45a90.entry.js +0 -4
  520. package/dist/twilight/p-761e273c.entry.js +0 -4
  521. package/dist/twilight/p-7960e489.entry.js +0 -4
  522. package/dist/twilight/p-845e4790.entry.js +0 -4
  523. package/dist/twilight/p-8688c21f.entry.js +0 -4
  524. package/dist/twilight/p-8be3fa1c.entry.js +0 -4
  525. package/dist/twilight/p-8dc7ae26.entry.js +0 -4
  526. package/dist/twilight/p-8e0a33dd.entry.js +0 -4
  527. package/dist/twilight/p-8eabd62f.entry.js +0 -4
  528. package/dist/twilight/p-8fc42a50.entry.js +0 -4
  529. package/dist/twilight/p-96317fc8.entry.js +0 -4
  530. package/dist/twilight/p-97b51153.entry.js +0 -4
  531. package/dist/twilight/p-9c1bf3fb.entry.js +0 -4
  532. package/dist/twilight/p-CrSV-tno.js +0 -4
  533. package/dist/twilight/p-b202c2d3.entry.js +0 -4
  534. package/dist/twilight/p-b2b896d1.entry.js +0 -4
  535. package/dist/twilight/p-c327bc95.entry.js +0 -4
  536. package/dist/twilight/p-c699207a.entry.js +0 -4
  537. package/dist/twilight/p-d565b168.entry.js +0 -4
  538. package/dist/twilight/p-d7a70a29.entry.js +0 -4
  539. package/dist/twilight/p-d8a5198b.entry.js +0 -4
  540. package/dist/twilight/p-db27df13.entry.js +0 -4
  541. package/dist/twilight/p-f9abcf4f.entry.js +0 -4
  542. package/dist/twilight/p-fd0d136d.entry.js +0 -4
@@ -7,6 +7,7 @@ import cartIcon from "../../assets/svg/cart.svg";
7
7
  import imageIcon from "../../assets/svg/image.svg";
8
8
  import moneyIcon from "../../assets/svg/money-card.svg";
9
9
  import checkCircleIcon from "../../assets/svg/check-circle.svg";
10
+ import { setTranslationDefault } from "../../Helpers/translate";
10
11
  export class SallaBottomAlert {
11
12
  constructor() {
12
13
  this.storeId = salla.config.get('store.id');
@@ -31,7 +32,9 @@ export class SallaBottomAlert {
31
32
  * Alert Type
32
33
  * */
33
34
  this.type = 'popup';
34
- salla.lang.onLoaded(() => {
35
+ }
36
+ connectedCallback() {
37
+ this.langUnsubscribe = salla.lang.subscribe(() => {
35
38
  this.defaultMessage = salla.lang.get('common.elements.experimental_and_available_store');
36
39
  this.defaultActionLabel = salla.lang.get('common.elements.know_more');
37
40
  this.storeFeatures = salla.lang.get('common.elements.store_features');
@@ -42,20 +45,20 @@ export class SallaBottomAlert {
42
45
  const enTrans = salla.lang.messages?.['en.trans'];
43
46
  if (!arTrans || !enTrans)
44
47
  return;
45
- salla.helpers.setNested(arTrans, 'common.elements.more_details', 'تفاصيل أكثر');
46
- salla.helpers.setNested(enTrans, 'common.elements.more_details', 'More Details');
47
- salla.helpers.setNested(arTrans, 'common.elements.store_price', 'سعر المتجر');
48
- salla.helpers.setNested(enTrans, 'common.elements.store_price', 'Store Price');
49
- salla.helpers.setNested(arTrans, 'common.elements.the_developer', 'المطور');
50
- salla.helpers.setNested(enTrans, 'common.elements.the_developer', 'the developer');
51
- salla.helpers.setNested(arTrans, 'common.elements.store_price_details', 'السعر يشمل');
52
- salla.helpers.setNested(enTrans, 'common.elements.store_price_details', 'Price Includes');
53
- salla.helpers.setNested(arTrans, 'common.elements.salla', 'سلة');
54
- salla.helpers.setNested(enTrans, 'common.elements.salla', 'Salla');
55
- salla.helpers.setNested(arTrans, 'common.elements.store_is_available_for_purchase', 'هذا المتجر تطويري ومتاح للشراء من');
56
- salla.helpers.setNested(enTrans, 'common.elements.store_is_available_for_purchase', 'This ready store is available for purchase from');
57
- salla.helpers.setNested(arTrans, 'common.elements.ready_stores', 'المتاجر الجاهزة');
58
- salla.helpers.setNested(enTrans, 'common.elements.ready_stores', 'Ready Stores');
48
+ setTranslationDefault('ar.trans', 'common.elements.more_details', 'تفاصيل أكثر');
49
+ setTranslationDefault('en.trans', 'common.elements.more_details', 'More Details');
50
+ setTranslationDefault('ar.trans', 'common.elements.store_price', 'سعر المتجر');
51
+ setTranslationDefault('en.trans', 'common.elements.store_price', 'Store Price');
52
+ setTranslationDefault('ar.trans', 'common.elements.the_developer', 'المطور');
53
+ setTranslationDefault('en.trans', 'common.elements.the_developer', 'the developer');
54
+ setTranslationDefault('ar.trans', 'common.elements.store_price_details', 'السعر يشمل');
55
+ setTranslationDefault('en.trans', 'common.elements.store_price_details', 'Price Includes');
56
+ setTranslationDefault('ar.trans', 'common.elements.salla', 'سلة');
57
+ setTranslationDefault('en.trans', 'common.elements.salla', 'Salla');
58
+ setTranslationDefault('ar.trans', 'common.elements.store_is_available_for_purchase', 'هذا المتجر تطويري ومتاح للشراء من');
59
+ setTranslationDefault('en.trans', 'common.elements.store_is_available_for_purchase', 'This ready store is available for purchase from');
60
+ setTranslationDefault('ar.trans', 'common.elements.ready_stores', 'المتاجر الجاهزة');
61
+ setTranslationDefault('en.trans', 'common.elements.ready_stores', 'Ready Stores');
59
62
  setTimeout(() => {
60
63
  this.storePrice = salla.lang.get('common.elements.store_price');
61
64
  this.theDeveloper = salla.lang.get('common.elements.the_developer');
@@ -68,6 +71,9 @@ export class SallaBottomAlert {
68
71
  }, 100);
69
72
  });
70
73
  }
74
+ disconnectedCallback() {
75
+ this.langUnsubscribe?.();
76
+ }
71
77
  componentDidLoad() {
72
78
  // Fetch template data on mount if there's a template
73
79
  if (this.template &&
@@ -128,9 +134,9 @@ export class SallaBottomAlert {
128
134
  }
129
135
  render() {
130
136
  const hasTemplate = this.template && typeof this.template === 'object' && Object.keys(this.template).length > 0;
131
- return (h(Host, { key: '00d1b1e0b98318096f366dfa13c43df13d95df1c', class: `s-bottom-alert-wrapper ${hasTemplate ? 's-bottom-alert-wrapper-with-template' : ''}` }, hasTemplate && (h("div", { key: '01079527fba6e46eb5e893e64b68e66f35f12c2f', class: "s-bottom-alert-logo-section" }, h("img", { key: '49fd2f67e97ded7ff6240573b825dcea349e47f8', src: "https://cdn.salla.network/images/logo/logo-light.svg", alt: "Salla", class: "s-bottom-alert-logo" }), h("span", { key: '998216dbcfb5381c94ef3b94ddfa2334ccfd24ac', class: "s-bottom-alert-logo-text" }, this.readyStores))), h("div", { key: '68bd744c9b41847ca757f1127610c84e3eededf6', class: "s-bottom-alert-content" }, h("div", { key: '2dd6195b822a6e076fffddc8fb851292f97e8074', class: "flex items-center gap-2" }, h("div", { key: '67ea932ac092fa207b1888f7641d8733c5109f01', class: "s-bottom-alert-icon" }, this.icon ? h("i", { class: this.icon }) : h("i", { innerHTML: infoIcon })), h("div", { key: '5ea417ca4e00f9a3e19902d84192a9f788c1e75b', class: "s-bottom-alert-message" }, this.message ? (this.message) : hasTemplate ? (h("span", { class: "flex flex-wrap items-center gap-1" }, this.defaultMessage, h("span", { class: {
137
+ return (h(Host, { key: '4c3b1d7d0be604027b8b95fd78b9b464621e526a', class: `s-bottom-alert-wrapper ${hasTemplate ? 's-bottom-alert-wrapper-with-template' : ''}` }, hasTemplate && (h("div", { key: '6c90fd96f45ca304de08324a3ae40de3e868dc23', class: "s-bottom-alert-logo-section" }, h("img", { key: 'f84bae86ce5d82750d7ba6d2d29ce81140e1fe3f', src: "https://cdn.salla.network/images/logo/logo-light.svg", alt: "Salla", class: "s-bottom-alert-logo" }), h("span", { key: '8e78eb67f2b02934fe9fe9ed08aa3b0fb81c82d4', class: "s-bottom-alert-logo-text" }, this.readyStores))), h("div", { key: '1c64cbdced918c2568089c9e0c9cd6b3ec02229a', class: "s-bottom-alert-content" }, h("div", { key: 'bdbfa17a0c192ddfd5e315b097a1c6dae8b30047', class: "flex items-center gap-2" }, h("div", { key: 'e908c88635ac3a38a609aa21a4e6aa901fc5d7eb', class: "s-bottom-alert-icon" }, this.icon ? h("i", { class: this.icon }) : h("i", { innerHTML: infoIcon })), h("div", { key: 'a57c3f1d12302dae8bce086cc7a76c6251a1de37', class: "s-bottom-alert-message" }, this.message ? (this.message) : hasTemplate ? (h("span", { class: "flex flex-wrap items-center gap-1" }, this.defaultMessage, h("span", { class: {
132
138
  's-bottom-alert-message-highlight': true,
133
- }, "aria-label": "Developer" }, this.salla), h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (h("div", { key: '06f2d2949b3a5864151eb96378fc8f82373397a7', class: hasTemplate ? 's-bottom-alert-actions-group' : 's-bottom-alert-action' }, hasTemplate ? (this.loading ? (h("salla-loading", { size: "20" })) : (h("div", { class: "s-bottom-alert-actions-group-container" }, h("a", { class: "s-bottom-alert-action-link", onClick: () => this.handleAction() }, this.actionLabel || this.moreDetailsLabel), this.templateData?.link ? (h("button", { type: "button", class: "s-bottom-alert-action-purchase-button", onClick: () => window.open(this.templateData?.link, '_blank') }, this.buyTheTemplate)) : null))) : (h("salla-button", { href: this.actionUrl, size: "medium", onClick: () => this.handleAction(), width: "normal" }, this.actionLabel || this.defaultActionLabel)))), this.type === 'popup' && this.popup())));
139
+ }, "aria-label": "Developer" }, this.salla), h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (h("div", { key: 'f80ef6a48ed2b1d0c6e3aacf1988878bc8eee9a3', class: hasTemplate ? 's-bottom-alert-actions-group' : 's-bottom-alert-action' }, hasTemplate ? (this.loading ? (h("salla-loading", { size: "20" })) : (h("div", { class: "s-bottom-alert-actions-group-container" }, h("a", { class: "s-bottom-alert-action-link", onClick: () => this.handleAction() }, this.actionLabel || this.moreDetailsLabel), this.templateData?.link ? (h("button", { type: "button", class: "s-bottom-alert-action-purchase-button", onClick: () => window.open(this.templateData?.link, '_blank') }, this.buyTheTemplate)) : null))) : (h("salla-button", { href: this.actionUrl, size: "medium", onClick: () => this.handleAction(), width: "normal" }, this.actionLabel || this.defaultActionLabel)))), this.type === 'popup' && this.popup())));
134
140
  }
135
141
  static get is() { return "salla-bottom-alert"; }
136
142
  static get originalStyleUrls() {
@@ -675,6 +675,7 @@
675
675
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
676
676
  }
677
677
  .s-bullet-delivery-addresses-list{
678
+ position: relative;
678
679
  display: flex;
679
680
  max-height: 260px;
680
681
  flex-direction: column;
@@ -923,6 +924,7 @@
923
924
  overflow: hidden;
924
925
  }
925
926
  .s-bullet-delivery-branches-list{
927
+ position: relative;
926
928
  max-height: min(260px, 32svh);
927
929
  overflow-y: auto;
928
930
  border-radius: 0.5rem;
@@ -5,27 +5,27 @@ import { h, Host } from "@stencil/core";
5
5
  export class SallaButton {
6
6
  constructor() {
7
7
  /**
8
- * Button Type
8
+ * The shape/variant of the button. Can be 'link' (text-only style), 'icon' (circular icon button), or 'btn' (standard button). Default is 'btn'.
9
9
  */
10
10
  this.shape = 'btn';
11
11
  /**
12
- * Button Color
12
+ * The color theme of the button. Available options: 'primary', 'success', 'warning', 'danger', 'light', 'gray', 'dark'. Default is 'primary'.
13
13
  */
14
14
  this.color = 'primary';
15
15
  /**
16
- * Button Fill
16
+ * The fill style of the button. 'solid' (filled background), 'outline' (bordered, transparent background), or 'none'. Default is 'solid'.
17
17
  */
18
18
  this.fill = 'solid';
19
19
  /**
20
- * Button Size
20
+ * The size of the button. Can be 'small', 'medium', or 'large'. Default is 'medium'.
21
21
  */
22
22
  this.size = 'medium';
23
23
  /**
24
- * Button Width
24
+ * The width of the button. 'wide' makes the button full-width, 'normal' uses auto width. Default is 'normal'.
25
25
  */
26
26
  this.width = 'normal';
27
27
  /**
28
- * Is the button currently loading
28
+ * Shows a loading spinner on the button. Default is false.
29
29
  */
30
30
  this.loading = false;
31
31
  /**
@@ -35,23 +35,15 @@ export class SallaButton {
35
35
  */
36
36
  this.enableLoader = true;
37
37
  /**
38
- * Is the button currently disabled
38
+ * Disables the button, preventing user interaction. Default is false.
39
39
  */
40
40
  this.disabled = false;
41
41
  /**
42
- * If there is need to change loader position, pass the position
42
+ * Position of the loading spinner. Can be 'start', 'end', 'center', or 'after' (after the button text). Default is 'after'.
43
43
  */
44
44
  this.loaderPosition = 'after';
45
45
  /**
46
- * Determines the type of the rendered button.
47
- * By default, the type is set to "button," making it a general-purpose button.
48
- * Setting `type` to "submit" makes the button behave as a submit button within a form, triggering form submission.
49
- * Possible values for `type` include "button," "submit," "reset," and "menu.".
50
- *
51
- * Possible values and their usage are as follows:
52
- * "button" (default, used for general button functionality),
53
- * "reset" (resets form fields to their default values), and
54
- * "menu" (represents a button that, when activated, displays a context menu).
46
+ * The HTML type attribute for the button. 'button' (default, general-purpose), 'submit' (submits forms), or 'reset' (resets form fields).
55
47
  */
56
48
  this.type = "button";
57
49
  }
@@ -186,7 +178,7 @@ export class SallaButton {
186
178
  "optional": false,
187
179
  "docs": {
188
180
  "tags": [],
189
- "text": "Button Type"
181
+ "text": "The shape/variant of the button. Can be 'link' (text-only style), 'icon' (circular icon button), or 'btn' (standard button). Default is 'btn'."
190
182
  },
191
183
  "getter": false,
192
184
  "setter": false,
@@ -206,7 +198,7 @@ export class SallaButton {
206
198
  "optional": false,
207
199
  "docs": {
208
200
  "tags": [],
209
- "text": "Button Color"
201
+ "text": "The color theme of the button. Available options: 'primary', 'success', 'warning', 'danger', 'light', 'gray', 'dark'. Default is 'primary'."
210
202
  },
211
203
  "getter": false,
212
204
  "setter": false,
@@ -226,7 +218,7 @@ export class SallaButton {
226
218
  "optional": false,
227
219
  "docs": {
228
220
  "tags": [],
229
- "text": "Button Fill"
221
+ "text": "The fill style of the button. 'solid' (filled background), 'outline' (bordered, transparent background), or 'none'. Default is 'solid'."
230
222
  },
231
223
  "getter": false,
232
224
  "setter": false,
@@ -246,7 +238,7 @@ export class SallaButton {
246
238
  "optional": false,
247
239
  "docs": {
248
240
  "tags": [],
249
- "text": "Button Size"
241
+ "text": "The size of the button. Can be 'small', 'medium', or 'large'. Default is 'medium'."
250
242
  },
251
243
  "getter": false,
252
244
  "setter": false,
@@ -266,7 +258,7 @@ export class SallaButton {
266
258
  "optional": false,
267
259
  "docs": {
268
260
  "tags": [],
269
- "text": "Button Width"
261
+ "text": "The width of the button. 'wide' makes the button full-width, 'normal' uses auto width. Default is 'normal'."
270
262
  },
271
263
  "getter": false,
272
264
  "setter": false,
@@ -286,7 +278,7 @@ export class SallaButton {
286
278
  "optional": false,
287
279
  "docs": {
288
280
  "tags": [],
289
- "text": "Is the button currently loading"
281
+ "text": "Shows a loading spinner on the button. Default is false."
290
282
  },
291
283
  "getter": false,
292
284
  "setter": false,
@@ -326,7 +318,7 @@ export class SallaButton {
326
318
  "optional": false,
327
319
  "docs": {
328
320
  "tags": [],
329
- "text": "Is the button currently disabled"
321
+ "text": "Disables the button, preventing user interaction. Default is false."
330
322
  },
331
323
  "getter": false,
332
324
  "setter": false,
@@ -346,7 +338,7 @@ export class SallaButton {
346
338
  "optional": false,
347
339
  "docs": {
348
340
  "tags": [],
349
- "text": "If there is need to change loader position, pass the position"
341
+ "text": "Position of the loading spinner. Can be 'start', 'end', 'center', or 'after' (after the button text). Default is 'after'."
350
342
  },
351
343
  "getter": false,
352
344
  "setter": false,
@@ -366,7 +358,7 @@ export class SallaButton {
366
358
  "optional": false,
367
359
  "docs": {
368
360
  "tags": [],
369
- "text": "Button with href as normal link"
361
+ "text": "When provided, renders the button as an anchor (`<a>`) element with this URL."
370
362
  },
371
363
  "getter": false,
372
364
  "setter": false,
@@ -385,7 +377,7 @@ export class SallaButton {
385
377
  "optional": false,
386
378
  "docs": {
387
379
  "tags": [],
388
- "text": "Determines the type of the rendered button.\nBy default, the type is set to \"button,\" making it a general-purpose button.\nSetting `type` to \"submit\" makes the button behave as a submit button within a form, triggering form submission.\nPossible values for `type` include \"button,\" \"submit,\" \"reset,\" and \"menu.\".\n\nPossible values and their usage are as follows:\n\"button\" (default, used for general button functionality), \n\"reset\" (resets form fields to their default values), and \n\"menu\" (represents a button that, when activated, displays a context menu)."
380
+ "text": "The HTML type attribute for the button. 'button' (default, general-purpose), 'submit' (submits forms), or 'reset' (resets form fields)."
389
381
  },
390
382
  "getter": false,
391
383
  "setter": false,
@@ -37,14 +37,21 @@ export class SallaCartItemOffers {
37
37
  this.showAll = !this.showAll;
38
38
  };
39
39
  }
40
- async componentWillLoad() {
41
- await Salla.onReady();
42
- await salla.lang.onLoaded(() => {
40
+ connectedCallback() {
41
+ this.langUnsubscribe = salla.lang.subscribe(() => {
43
42
  this.freeLabel = salla.lang.get('common.elements.freeExclam');
44
43
  this.receivedOffer = salla.lang.get('pages.cart.received_offer');
45
44
  this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');
46
45
  this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');
47
46
  });
47
+ }
48
+ disconnectedCallback() {
49
+ this.langUnsubscribe?.();
50
+ }
51
+ async componentWillLoad() {
52
+ await Salla.onReady();
53
+ // still hold the first render until translations are in; the labels come from the subscriber
54
+ await salla.lang.onLoaded();
48
55
  this.internalQuantity = this.quantity;
49
56
  this.internalOffers = this.parseOffers(this.offers);
50
57
  this.internalProductPrice = this.productPrice;
@@ -118,7 +118,7 @@ export class SallaCartSummary {
118
118
  return cartUrl;
119
119
  }
120
120
  render() {
121
- return (h(Host, { key: '80544f74203447490842d9ef9519ba3013fe0d02' }, h("a", { key: 'd769586f49b37a079653587d990871cb3ffe6542', class: "s-cart-summary-wrapper", href: this.getCartLink(), onClick: this.handleCheckoutClick }, h("div", { key: 'ad1833c7562138c211def82a365a89216157db20', id: "s-cart-icon" }, h("slot", { key: 'a5d60463eb9f023ffed29586a94d3b5feaf586c8', name: "icon" }, h("i", { key: '64a0c861706a05edc9057b1692d33945306958c0', class: "s-cart-summary-icon", innerHTML: CartIcon }))), h("span", { key: '6781086462fdb3e9910d9d32bd53014345c7148b', class: "s-cart-summary-count" }, salla.helpers.number(this.cartSummaryCount)), h("p", { key: '04dd5019a64ac99153b843ec2cff9103cf247c6a', class: "s-cart-summary-content" }, this.showCartLabel && h("span", { key: '2625556cc87729a72eb9ab455e3274a24c1738fa', class: "s-cart-summary-label" }, this.cartLabel), h("b", { key: '97a1a1911d6e18f9dde89437bd8749553ce8d35c', class: "s-cart-summary-total", innerHTML: salla.money(this.cartSummaryTotal) })))));
121
+ return (h(Host, { key: '4ed9d259a12ec48915a500bbeddb87c0078e8a3a' }, h("a", { key: '0d15f13e6e225dfe25e5b714f2bab5e6804fa387', class: "s-cart-summary-wrapper", href: this.getCartLink(), onClick: this.handleCheckoutClick }, h("div", { key: '9bbb00e5582afd7b79c65ae10d7dc1f28f67b943', id: "s-cart-icon" }, h("slot", { key: 'fa36457a1adf6587b787c1d2a4eeb50580593929', name: "icon" }, h("i", { key: 'fcdc45a58e4ab257af5965b8cb2d04c722ca7bea', class: "s-cart-summary-icon", innerHTML: CartIcon }))), h("span", { key: 'da492932c9cf9aec194a1f009960c132e5c79c5c', class: "s-cart-summary-count" }, salla.helpers.number(this.cartSummaryCount)), h("p", { key: 'a5465b7f3a2366136cb1a294f5b345807b93d4de', class: "s-cart-summary-content" }, this.showCartLabel && h("span", { key: '17497746811a5d6c33ca2ebcb5ba2a17e1fc86c3', class: "s-cart-summary-label" }, this.cartLabel), h("b", { key: '828ab6dee93cd7dee0e8964b8503831ebefc08da', class: "s-cart-summary-total", innerHTML: salla.money(this.cartSummaryTotal) })))));
122
122
  }
123
123
  static get is() { return "salla-cart-summary"; }
124
124
  static get originalStyleUrls() {
@@ -146,7 +146,7 @@ export class SallaCartSummary {
146
146
  "optional": false,
147
147
  "docs": {
148
148
  "tags": [],
149
- "text": "Show cart label"
149
+ "text": "Whether to show the cart label text alongside the cart icon. Default is false (icon only)."
150
150
  },
151
151
  "getter": false,
152
152
  "setter": false,
@@ -6,16 +6,21 @@ export class SallaCommentForm {
6
6
  constructor() {
7
7
  this.placeholder = salla.lang.get('blocks.comments.placeholder');
8
8
  this.submitText = salla.lang.get('blocks.comments.submit');
9
- salla.lang.onLoaded(() => {
10
- this.placeholder = salla.lang.get('blocks.comments.placeholder');
11
- this.submitText = salla.lang.get('blocks.comments.submit');
12
- });
13
9
  salla.onReady(() => {
14
10
  this.canComment = salla.config.get('user.can_comment');
15
11
  this.itemId = salla.config.get('page.id');
16
12
  this.type = salla.url.is_page('page-single') ? 'page' : salla.url.is_page('blog.single') ? 'blog' : 'product';
17
13
  });
18
14
  }
15
+ connectedCallback() {
16
+ this.langUnsubscribe = salla.lang.subscribe(() => {
17
+ this.placeholder = salla.lang.get('blocks.comments.placeholder');
18
+ this.submitText = salla.lang.get('blocks.comments.submit');
19
+ });
20
+ }
21
+ disconnectedCallback() {
22
+ this.langUnsubscribe?.();
23
+ }
19
24
  submit() {
20
25
  if (!this.commentForm.reportValidity()) {
21
26
  salla.log('CommentForm:: validation error!');
@@ -38,7 +43,7 @@ export class SallaCommentForm {
38
43
  .finally(() => this.submitBtn.stop());
39
44
  }
40
45
  render() {
41
- return (h(Host, { key: '16f5113a8345c31dce2f8302bcb5a5fba62e91c3' }, !!this.canComment ? h("form", { ref: frm => this.commentForm = frm }, h("div", { class: "s-comment-form-wrapper" }, this.showAvatar ?
46
+ return (h(Host, { key: '12db8a037d96013df1c9f3e4547d3383b6332fcc' }, !!this.canComment ? h("form", { ref: frm => this.commentForm = frm }, h("div", { class: "s-comment-form-wrapper" }, this.showAvatar ?
42
47
  h("img", { class: "s-comment-form-avatar", src: salla.config.get('user.avatar'), alt: "user avatar" }) : '', h("div", { class: "s-comment-form-content" }, h("textarea", { cols: 30, rows: 5, minlength: "4", maxlength: "500", ref: field => this.commentField = field, placeholder: this.placeholder, class: "s-comment-form-input", required: true }), h("br", null), h("div", { class: "s-comment-form-action" }, h("salla-button", { ref: btn => this.submitBtn = btn, "loader-position": 'center', onClick: () => this.submit() }, this.submitText))))) : ''));
43
48
  }
44
49
  static get is() { return "salla-comment-form"; }
@@ -5,6 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import CheckIcon from "../../assets/svg/check.svg";
6
6
  import Reply from "../../assets/svg/reply.svg";
7
7
  import ThumbsUp from "../../assets/svg/thumbs-up.svg";
8
+ import { setTranslationDefault } from "../../Helpers/translate";
8
9
  export class SallaCommentItem {
9
10
  constructor() {
10
11
  // Translations
@@ -21,10 +22,12 @@ export class SallaCommentItem {
21
22
  this.likesCount = 0;
22
23
  this.likedComments = [];
23
24
  this.showReviewFactors = false;
24
- salla.lang.onLoaded(() => {
25
+ }
26
+ connectedCallback() {
27
+ this.langUnsubscribe = salla.lang.subscribe(() => {
25
28
  const setNestedAsync = (lang, key, value) => {
26
29
  return new Promise((resolve) => {
27
- salla.helpers.setNested(salla.lang.messages[lang], key, value);
30
+ setTranslationDefault(lang, key, value);
28
31
  resolve(true);
29
32
  });
30
33
  };
@@ -47,6 +50,9 @@ export class SallaCommentItem {
47
50
  setTranslations();
48
51
  });
49
52
  }
53
+ disconnectedCallback() {
54
+ this.langUnsubscribe?.();
55
+ }
50
56
  componentDidLoad() {
51
57
  if (!this.comment)
52
58
  return;
@@ -6,6 +6,7 @@ import { CommentType, buildCommentSortOptions, isFeatureEnabled } from "./interf
6
6
  import anime from "animejs";
7
7
  import Helper from "../../Helpers/Helper";
8
8
  import ChatBubbles from "../../assets/svg/chat-bubbles.svg";
9
+ import { addMissingTranslations, setTranslationDefault } from "../../Helpers/translate";
9
10
  export class SallaComments {
10
11
  constructor() {
11
12
  /**
@@ -25,6 +26,7 @@ export class SallaComments {
25
26
  */
26
27
  this.testimonials = false;
27
28
  this.customerId = null;
29
+ this.initialDataVersion = 0;
28
30
  // Translations
29
31
  this.noComments = salla.lang.get('blocks.comments.no_comments');
30
32
  this.comment_title = '';
@@ -36,8 +38,10 @@ export class SallaComments {
36
38
  this.allowLikes = salla.config.get('store.settings.rating.allow_likes');
37
39
  this.showRatingSummary = salla.config.get('store.settings.rating.show_rating_summary');
38
40
  });
39
- salla.lang.onLoaded(() => {
40
- salla.lang.addBulk({
41
+ }
42
+ connectedCallback() {
43
+ this.langUnsubscribe = salla.lang.subscribe(() => {
44
+ addMissingTranslations({
41
45
  "blocks.comments.overall_rating": { ar: "التقييم العام", en: "Overall rating" }
42
46
  });
43
47
  this.comment_title = salla.lang.get('blocks.comments.overall_rating');
@@ -45,7 +49,7 @@ export class SallaComments {
45
49
  this.noComments = salla.lang.get('pages.rating.no_ratings');
46
50
  const setNestedAsync = (lang, key, value) => {
47
51
  return new Promise((resolve) => {
48
- salla.helpers.setNested(salla.lang.messages[lang], key, value);
52
+ setTranslationDefault(lang, key, value);
49
53
  resolve(true);
50
54
  });
51
55
  };
@@ -63,6 +67,21 @@ export class SallaComments {
63
67
  setTranslations();
64
68
  });
65
69
  }
70
+ disconnectedCallback() {
71
+ this.langUnsubscribe?.();
72
+ }
73
+ resetInfiniteScroll() {
74
+ clearTimeout(this.initialDataTimer);
75
+ if (this.infiniteScroll) {
76
+ this.infiniteScroll.destroy();
77
+ const instances = salla.infiniteScroll.instances;
78
+ for (let index = instances.length - 1; index >= 0; index--) {
79
+ if (instances[index] === this.infiniteScroll)
80
+ instances.splice(index, 1);
81
+ }
82
+ }
83
+ this.infiniteScroll = undefined;
84
+ }
66
85
  get sortOptions() {
67
86
  return buildCommentSortOptions({
68
87
  mostHelpfulLabel: this.mostHelpfulLabel,
@@ -197,7 +216,7 @@ export class SallaComments {
197
216
  this.wrapper.append(loading);
198
217
  }
199
218
  this.nextPage = null;
200
- this.loadInitialData();
219
+ return this.loadInitialData();
201
220
  }
202
221
  // Get comment item HTML
203
222
  getCommentHTML(comment) {
@@ -249,6 +268,8 @@ export class SallaComments {
249
268
  }
250
269
  // Load initial data
251
270
  async loadInitialData() {
271
+ const version = ++this.initialDataVersion;
272
+ this.resetInfiniteScroll();
252
273
  try {
253
274
  let resp = { data: [], pagination: {} };
254
275
  const searchParams = new URLSearchParams(window.location.search);
@@ -269,6 +290,8 @@ export class SallaComments {
269
290
  : null;
270
291
  resp = await salla.api.comment.getComments(this.type, this.itemId, 1, 5, this.sort, this.customerId);
271
292
  }
293
+ if (version !== this.initialDataVersion)
294
+ return;
272
295
  if (!resp.data || !resp.data.length) {
273
296
  this.showPlaceholder = false;
274
297
  this.comments = [];
@@ -299,7 +322,9 @@ export class SallaComments {
299
322
  this.total = resp.pagination.total;
300
323
  this.nextPage = typeof resp.pagination.links === 'object' && !!resp.pagination.links.next ? resp.pagination.links.next : null;
301
324
  this.patchNextPageUrl();
302
- setTimeout(() => {
325
+ this.initialDataTimer = setTimeout(() => {
326
+ if (version !== this.initialDataVersion || !this.wrapper)
327
+ return;
303
328
  for (const card of this.handleResponse(resp)) {
304
329
  this.wrapper.append(card);
305
330
  }
@@ -309,6 +334,8 @@ export class SallaComments {
309
334
  }, 100);
310
335
  }
311
336
  catch (error) {
337
+ if (version !== this.initialDataVersion)
338
+ return;
312
339
  console.error('Error loading initial data:', error);
313
340
  this.showPlaceholder = true;
314
341
  this.loading(false);
@@ -18,10 +18,17 @@ export class SallaContacts {
18
18
  salla.onReady(() => {
19
19
  this.contacts = salla.config.get('store.contacts');
20
20
  });
21
- salla.lang.onLoaded(() => {
22
- this.contactsTitle = this.contactsTitle || salla.lang.get('blocks.footer.social');
21
+ }
22
+ connectedCallback() {
23
+ this.langUnsubscribe = salla.lang.subscribe(() => {
24
+ if (!this.contactsTitle || this.contactsTitle === this.langTitle) {
25
+ this.contactsTitle = this.langTitle = salla.lang.get('blocks.footer.social');
26
+ }
23
27
  });
24
28
  }
29
+ disconnectedCallback() {
30
+ this.langUnsubscribe?.();
31
+ }
25
32
  getContactsArray() {
26
33
  return Object.entries(this.contacts)
27
34
  .filter(([_key, value]) => value !== '')
@@ -5,16 +5,16 @@ import { Host, h } from "@stencil/core";
5
5
  export class SallaCountDown {
6
6
  constructor() {
7
7
  /**
8
- * The size of the count down
9
- * */
8
+ * The size of the countdown display. Can be 'sm', 'md', or 'lg'. Default is 'md'.
9
+ */
10
10
  this.size = 'md';
11
11
  /**
12
- * The color of the count down
13
- * */
12
+ * The color theme of the countdown. Can be 'primary', 'light', or 'dark'. Default is 'dark'.
13
+ */
14
14
  this.color = 'dark';
15
15
  /**
16
- * The digits lang to show in the count down
17
- * */
16
+ * The language/format for displaying digits. 'en' for English numerals, 'auto' for localized numerals. Default is 'auto'.
17
+ */
18
18
  this.digits = 'auto';
19
19
  /**
20
20
  * If true, hides days segment when days = 0, and hides hours segment when both days and hours = 0.
@@ -35,7 +35,12 @@ export class SallaCountDown {
35
35
  this.hours = this.number(0);
36
36
  this.minutes = this.number(0);
37
37
  this.seconds = this.number(0);
38
- salla.lang.onLoaded(() => {
38
+ if (this.date && this.isValidDate(this.date)) {
39
+ this.startCountDown();
40
+ }
41
+ }
42
+ connectedCallback() {
43
+ this.langUnsubscribe = salla.lang.subscribe(() => {
39
44
  this.daysLabel = salla.lang.getWithDefault('pages.checkout.day', 'يوم');
40
45
  this.hoursLabel = salla.lang.getWithDefault('pages.checkout.hour', 'ساعة');
41
46
  this.minutesLabel = salla.lang.getWithDefault('pages.checkout.minute', 'دقيقة');
@@ -43,9 +48,9 @@ export class SallaCountDown {
43
48
  this.secondsLabel = salla.lang.getWithDefault('pages.checkout.second', 'ثانية');
44
49
  this.endLabel = salla.lang.getWithDefault('pages.checkout.offer_ended', 'انتهت مدة العرض');
45
50
  });
46
- if (this.date && this.isValidDate(this.date)) {
47
- this.startCountDown();
48
- }
51
+ }
52
+ disconnectedCallback() {
53
+ this.langUnsubscribe?.();
49
54
  }
50
55
  /**
51
56
  * End the count down
@@ -229,7 +234,7 @@ export class SallaCountDown {
229
234
  return this.renderCountDown();
230
235
  }
231
236
  render() {
232
- return (h(Host, { key: 'a16b6dc8c000eea39b990588995b07d6361231b2', class: `s-count-down-wrapper ${this.preOrder && this.isValidDate(this.date) ? 's-count-down-pre-order' : ''} ${this.horizontal ? 's-count-down-horizontal' : ''} ${this.withButton ? 's-count-down-with-button' : ''} ${this.offerEnded ? 's-count-down-ended' : ''}` }, this.renderPrefixText(), this.renderContent(), this.offerEnded && this.renderOfferEnded(), this.renderButton()));
237
+ return (h(Host, { key: '6d42cb8b06464f722d078ab4eb7117c7f698f3c3', class: `s-count-down-wrapper ${this.preOrder && this.isValidDate(this.date) ? 's-count-down-pre-order' : ''} ${this.horizontal ? 's-count-down-horizontal' : ''} ${this.withButton ? 's-count-down-with-button' : ''} ${this.offerEnded ? 's-count-down-ended' : ''}` }, this.renderPrefixText(), this.renderContent(), this.offerEnded && this.renderOfferEnded(), this.renderButton()));
233
238
  }
234
239
  static get is() { return "salla-count-down"; }
235
240
  static get originalStyleUrls() {
@@ -414,7 +419,7 @@ export class SallaCountDown {
414
419
  "optional": false,
415
420
  "docs": {
416
421
  "tags": [],
417
- "text": "If true, the count down numbers will be appear in a boxes"
422
+ "text": "Whether to display countdown numbers in boxed containers. Default is false."
418
423
  },
419
424
  "getter": false,
420
425
  "setter": false,
@@ -433,7 +438,7 @@ export class SallaCountDown {
433
438
  "optional": false,
434
439
  "docs": {
435
440
  "tags": [],
436
- "text": "The size of the count down"
441
+ "text": "The size of the countdown display. Can be 'sm', 'md', or 'lg'. Default is 'md'."
437
442
  },
438
443
  "getter": false,
439
444
  "setter": false,
@@ -453,7 +458,7 @@ export class SallaCountDown {
453
458
  "optional": false,
454
459
  "docs": {
455
460
  "tags": [],
456
- "text": "The color of the count down"
461
+ "text": "The color theme of the countdown. Can be 'primary', 'light', or 'dark'. Default is 'dark'."
457
462
  },
458
463
  "getter": false,
459
464
  "setter": false,
@@ -473,7 +478,7 @@ export class SallaCountDown {
473
478
  "optional": false,
474
479
  "docs": {
475
480
  "tags": [],
476
- "text": "Show labels for each count down number"
481
+ "text": "Whether to show labels (day, hour, minute, second) below each countdown number. Default is false."
477
482
  },
478
483
  "getter": false,
479
484
  "setter": false,
@@ -492,7 +497,7 @@ export class SallaCountDown {
492
497
  "optional": false,
493
498
  "docs": {
494
499
  "tags": [],
495
- "text": "The text to show when the count down ends"
500
+ "text": "Custom text to display when the countdown ends. If not provided, uses the default localized message."
496
501
  },
497
502
  "getter": false,
498
503
  "setter": false,
@@ -568,7 +573,7 @@ export class SallaCountDown {
568
573
  "optional": false,
569
574
  "docs": {
570
575
  "tags": [],
571
- "text": "The digits lang to show in the count down"
576
+ "text": "The language/format for displaying digits. 'en' for English numerals, 'auto' for localized numerals. Default is 'auto'."
572
577
  },
573
578
  "getter": false,
574
579
  "setter": false,
@@ -588,7 +593,7 @@ export class SallaCountDown {
588
593
  "optional": false,
589
594
  "docs": {
590
595
  "tags": [],
591
- "text": "If true, the count down will end at the end of the day"
596
+ "text": "Whether to set the countdown end time to the end of the specified day (23:59:59). Default is false."
592
597
  },
593
598
  "getter": false,
594
599
  "setter": false,
@@ -4,6 +4,10 @@
4
4
  import { h, } from "@stencil/core";
5
5
  import CameraIcon from "../../assets/svg/camera.svg";
6
6
  import { FormFieldTypes, } from "../salla-user-profile/interfaces";
7
+ /**
8
+ * The `salla-custom-fields` component renders custom form fields with validation support.
9
+ * Supports text and file upload fields with real-time validation.
10
+ */
7
11
  export class SallaCustomFields {
8
12
  constructor() {
9
13
  /** Whether the fields can be edited by the user. */
@@ -358,6 +358,9 @@
358
358
  .fixed{
359
359
  position: fixed;
360
360
  }
361
+ .relative{
362
+ position: relative;
363
+ }
361
364
  .grid{
362
365
  display: grid;
363
366
  }