@salla.sa/twilight-components 2.14.596 → 2.14.598

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 (551) hide show
  1. package/dist/cjs/{filepond-MMeFYRaC.js → filepond-Yrcu23Ew.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-Dd1aobB-.js → filepond-plugin-file-poster-DRez16xM.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-Be46s5wp.js → filepond-plugin-file-validate-size-H6Ijvhk2.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-Cf3OjTHE.js → filepond-plugin-file-validate-type-ozbX9Tb-.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-BDX5qgng.js → filepond-plugin-image-edit-CynCgK8H.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-ilZNc8J4.js → filepond-plugin-image-exif-orientation-C18fCqoh.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-C9c7tVEB.js → filepond-plugin-image-preview-FiRPNiZp.js} +1 -1
  8. package/dist/cjs/{index-zv0p1Eys.js → index-CpkvCUQ3.js} +7 -7
  9. package/dist/cjs/{intlTelInput-C8hiSJ_i.js → intlTelInput-dW1ObsSS.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 +111 -37
  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 +47 -24
  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 +14 -3
  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 +11 -4
  76. package/dist/cjs/salla-orders.cjs.entry.js +41 -7
  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 +16 -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 +9 -5
  99. package/dist/cjs/salla-user-menu.cjs.entry.js +39 -2
  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-DRrOfZz0.js → vanilla-picker-CSaDVE6R.js} +1 -1
  109. package/dist/collection/Helpers/money-text.js +37 -0
  110. package/dist/collection/Helpers/translate.js +36 -0
  111. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +7 -2
  112. package/dist/collection/components/salla-alert/salla-alert.js +5 -5
  113. package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +6 -1
  114. package/dist/collection/components/salla-booking-field/salla-booking-field.js +10 -4
  115. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +23 -17
  116. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +2 -0
  117. package/dist/collection/components/salla-button/salla-button.js +19 -27
  118. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +10 -3
  119. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +2 -2
  120. package/dist/collection/components/salla-comment-form/salla-comment-form.js +10 -5
  121. package/dist/collection/components/salla-comments/salla-comment-item.js +11 -3
  122. package/dist/collection/components/salla-comments/salla-comments.js +9 -3
  123. package/dist/collection/components/salla-contacts/salla-contacts.js +9 -2
  124. package/dist/collection/components/salla-count-down/salla-count-down.js +23 -18
  125. package/dist/collection/components/salla-custom-fields/salla-custom-fields.js +4 -0
  126. package/dist/collection/components/salla-file-upload/salla-file-upload.js +69 -5
  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-login-modal/salla-login-modal.css +3 -0
  134. package/dist/collection/components/salla-login-modal/salla-login-modal.js +12 -1
  135. package/dist/collection/components/salla-loyalty/salla-loyalty.js +12 -5
  136. package/dist/collection/components/salla-map/salla-map.js +12 -7
  137. package/dist/collection/components/salla-notifications/salla-notifications.js +6 -1
  138. package/dist/collection/components/salla-offer/salla-offer.js +12 -7
  139. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +13 -6
  140. package/dist/collection/components/salla-order-branch/salla-order-branch.css +35 -0
  141. package/dist/collection/components/salla-order-branch/salla-order-branch.js +40 -2
  142. package/dist/collection/components/salla-order-summary/salla-order-summary.js +6 -3
  143. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +10 -3
  144. package/dist/collection/components/salla-orders/salla-orders.js +13 -6
  145. package/dist/collection/components/salla-placeholder/salla-placeholder.js +10 -3
  146. package/dist/collection/components/salla-price-range/salla-price-range.js +6 -3
  147. package/dist/collection/components/salla-product-availability/salla-product-availability.js +16 -7
  148. package/dist/collection/components/salla-product-card/salla-product-card.js +24 -17
  149. package/dist/collection/components/salla-product-options/salla-product-options.js +9 -6
  150. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +8 -3
  151. package/dist/collection/components/salla-products-list/salla-products-list.js +4 -3
  152. package/dist/collection/components/salla-progress-bar/salla-progress-bar.js +20 -4
  153. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +6 -1
  154. package/dist/collection/components/salla-quick-order/salla-quick-order.js +6 -1
  155. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +8 -2
  156. package/dist/collection/components/salla-rating-stars/salla-rating-stars.js +16 -16
  157. package/dist/collection/components/salla-review-card/salla-review-card.js +5 -1
  158. package/dist/collection/components/salla-reviews/salla-reviews.js +6 -1
  159. package/dist/collection/components/salla-scopes/salla-scopes.js +9 -2
  160. package/dist/collection/components/salla-skeleton/salla-skeleton.js +10 -10
  161. package/dist/collection/components/salla-slider/salla-slider.js +6 -3
  162. package/dist/collection/components/salla-social/salla-social.js +7 -2
  163. package/dist/collection/components/salla-tabs/salla-tab-header.js +3 -3
  164. package/dist/collection/components/salla-tel-input/salla-tel-input.js +24 -19
  165. package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +6 -1
  166. package/dist/collection/components/salla-trust-badges/salla-trust-badges.css +17 -12
  167. package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +7 -3
  168. package/dist/collection/components/salla-user-menu/salla-user-menu.js +38 -1
  169. package/dist/collection/components/salla-user-profile/salla-user-profile.js +6 -2
  170. package/dist/collection/components/salla-user-settings/salla-user-settings.js +7 -2
  171. package/dist/collection/components/salla-verify/salla-verify.js +13 -6
  172. package/dist/components/index.js +3 -3
  173. package/dist/components/salla-add-product-button2.js +7 -2
  174. package/dist/components/salla-alert.js +2 -2
  175. package/dist/components/salla-apps-icons.js +6 -1
  176. package/dist/components/salla-booking-field2.js +10 -4
  177. package/dist/components/salla-bottom-alert.js +23 -17
  178. package/dist/components/salla-bullet-delivery.js +1 -1
  179. package/dist/components/salla-button2.js +9 -17
  180. package/dist/components/salla-cart-item-offers.js +10 -3
  181. package/dist/components/salla-cart-summary.js +1 -1
  182. package/dist/components/salla-comment-form2.js +10 -5
  183. package/dist/components/salla-comment-item2.js +11 -3
  184. package/dist/components/salla-comments.js +9 -3
  185. package/dist/components/salla-contacts.js +9 -2
  186. package/dist/components/salla-count-down2.js +16 -11
  187. package/dist/components/salla-file-upload2.js +69 -5
  188. package/dist/components/salla-filters-widget2.js +6 -3
  189. package/dist/components/salla-filters.js +9 -4
  190. package/dist/components/salla-gifting.js +11 -6
  191. package/dist/components/salla-hook.js +1 -1
  192. package/dist/components/salla-infinite-scroll.js +6 -1
  193. package/dist/components/salla-localization-modal.js +15 -2
  194. package/dist/components/salla-login-modal2.js +13 -2
  195. package/dist/components/salla-loyalty.js +12 -5
  196. package/dist/components/salla-map2.js +12 -7
  197. package/dist/components/salla-notifications.js +6 -1
  198. package/dist/components/salla-offer-modal.js +13 -6
  199. package/dist/components/salla-offer.js +12 -7
  200. package/dist/components/salla-order-branch.js +41 -3
  201. package/dist/components/salla-order-summary.js +6 -3
  202. package/dist/components/salla-order-totals-card.js +10 -3
  203. package/dist/components/salla-orders.js +40 -6
  204. package/dist/components/salla-placeholder2.js +10 -3
  205. package/dist/components/salla-price-range2.js +6 -3
  206. package/dist/components/salla-product-availability2.js +16 -7
  207. package/dist/components/salla-product-card2.js +15 -8
  208. package/dist/components/salla-product-options2.js +9 -6
  209. package/dist/components/salla-product-size-guide.js +8 -3
  210. package/dist/components/salla-products-list2.js +4 -3
  211. package/dist/components/salla-progress-bar2.js +20 -4
  212. package/dist/components/salla-quick-buy2.js +6 -1
  213. package/dist/components/salla-quick-order.js +6 -1
  214. package/dist/components/salla-rating-modal2.js +8 -2
  215. package/dist/components/salla-rating-stars2.js +10 -10
  216. package/dist/components/salla-review-card2.js +1 -1
  217. package/dist/components/salla-reviews.js +6 -1
  218. package/dist/components/salla-scopes.js +9 -2
  219. package/dist/components/salla-skeleton2.js +7 -7
  220. package/dist/components/salla-slider2.js +6 -3
  221. package/dist/components/salla-social.js +7 -2
  222. package/dist/components/salla-tab-header2.js +3 -3
  223. package/dist/components/salla-tel-input2.js +24 -19
  224. package/dist/components/salla-tiered-offer.js +6 -1
  225. package/dist/components/salla-trust-badges.js +8 -4
  226. package/dist/components/salla-user-menu.js +38 -1
  227. package/dist/components/salla-user-profile.js +6 -2
  228. package/dist/components/salla-user-settings.js +7 -2
  229. package/dist/components/salla-verify.js +13 -6
  230. package/dist/components/translate.js +37 -1
  231. package/dist/docs.json +44 -44
  232. package/dist/esm/{filepond-okemUEVJ.js → filepond-Cqatu146.js} +1 -1
  233. package/dist/esm/{filepond-plugin-file-poster-He-1QDcm.js → filepond-plugin-file-poster-DbVXhgv4.js} +1 -1
  234. package/dist/esm/{filepond-plugin-file-validate-size-BoQ9OZHK.js → filepond-plugin-file-validate-size-BpJPambh.js} +1 -1
  235. package/dist/esm/{filepond-plugin-file-validate-type-BVxE-7xU.js → filepond-plugin-file-validate-type-3Qrskyxw.js} +1 -1
  236. package/dist/esm/{filepond-plugin-image-edit-DJnNmArQ.js → filepond-plugin-image-edit-Cjy7cOV1.js} +1 -1
  237. package/dist/esm/{filepond-plugin-image-exif-orientation-CgkqV9g5.js → filepond-plugin-image-exif-orientation-DYM12Yp-.js} +1 -1
  238. package/dist/esm/{filepond-plugin-image-preview-DxbixTNR.js → filepond-plugin-image-preview-C9nMEHVX.js} +1 -1
  239. package/dist/esm/{index-C1mBhG6Z.js → index-noRE1pbw.js} +7 -7
  240. package/dist/esm/{intlTelInput-wxpsRy0u.js → intlTelInput-CiinYrbq.js} +1 -1
  241. package/dist/esm/loader.js +3 -3
  242. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  243. package/dist/esm/salla-accordion_6.entry.js +10 -18
  244. package/dist/esm/salla-add-product-button_5.entry.js +37 -15
  245. package/dist/esm/salla-advertisement.entry.js +1 -1
  246. package/dist/esm/salla-alert_2.entry.js +26 -20
  247. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  248. package/dist/esm/salla-applied-filters.entry.js +1 -1
  249. package/dist/esm/salla-apps-icons.entry.js +7 -2
  250. package/dist/esm/salla-attachment-view_9.entry.js +111 -37
  251. package/dist/esm/salla-badge.entry.js +1 -1
  252. package/dist/esm/salla-basket-gap.entry.js +1 -1
  253. package/dist/esm/salla-bullet-delivery_3.entry.js +2 -2
  254. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  255. package/dist/esm/salla-cart-item-offers_2.entry.js +12 -5
  256. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  257. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  258. package/dist/esm/salla-comment-factors.entry.js +1 -1
  259. package/dist/esm/salla-comment-form_9.entry.js +47 -24
  260. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  261. package/dist/esm/salla-contacts.entry.js +10 -3
  262. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  263. package/dist/esm/salla-count-down.entry.js +17 -12
  264. package/dist/esm/salla-custom-fields.entry.js +1 -1
  265. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  266. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  267. package/dist/esm/salla-filters-widget.entry.js +7 -4
  268. package/dist/esm/salla-filters.entry.js +10 -5
  269. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  270. package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
  271. package/dist/esm/salla-gifting.entry.js +12 -7
  272. package/dist/esm/salla-hook.entry.js +2 -2
  273. package/dist/esm/salla-infinite-scroll.entry.js +7 -2
  274. package/dist/esm/salla-installment.entry.js +1 -1
  275. package/dist/esm/salla-list-tile.entry.js +1 -1
  276. package/dist/esm/salla-localization-modal.entry.js +14 -2
  277. package/dist/esm/salla-login-modal.entry.js +14 -3
  278. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  279. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  280. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  281. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  282. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  283. package/dist/esm/salla-loyalty.entry.js +12 -5
  284. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  285. package/dist/esm/salla-map_3.entry.js +39 -15
  286. package/dist/esm/salla-menu.entry.js +1 -1
  287. package/dist/esm/salla-metadata.entry.js +1 -1
  288. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  289. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  290. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  291. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  292. package/dist/esm/salla-notification-item_2.entry.js +7 -2
  293. package/dist/esm/salla-offer-modal.entry.js +14 -7
  294. package/dist/esm/salla-offer.entry.js +14 -9
  295. package/dist/esm/salla-order-branch.entry.js +42 -4
  296. package/dist/esm/salla-order-cancel.entry.js +1 -1
  297. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  298. package/dist/esm/salla-order-details-options.entry.js +1 -1
  299. package/dist/esm/salla-order-details.entry.js +1 -1
  300. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  301. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  302. package/dist/esm/salla-order-edit.entry.js +1 -1
  303. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  304. package/dist/esm/salla-order-shipments.entry.js +1 -1
  305. package/dist/esm/salla-order-summary.entry.js +7 -4
  306. package/dist/esm/salla-order-totals-card.entry.js +11 -4
  307. package/dist/esm/salla-orders.entry.js +41 -7
  308. package/dist/esm/salla-payments.entry.js +1 -1
  309. package/dist/esm/salla-placeholder.entry.js +10 -3
  310. package/dist/esm/salla-price-range.entry.js +7 -4
  311. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  312. package/dist/esm/salla-product-card.entry.js +16 -9
  313. package/dist/esm/salla-product-size-guide.entry.js +9 -4
  314. package/dist/esm/salla-products-list.entry.js +5 -4
  315. package/dist/esm/salla-products-slider.entry.js +1 -1
  316. package/dist/esm/salla-quick-order.entry.js +7 -2
  317. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  318. package/dist/esm/salla-rating-modal.entry.js +9 -3
  319. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  320. package/dist/esm/salla-review-order-item.entry.js +1 -1
  321. package/dist/esm/salla-scopes.entry.js +9 -2
  322. package/dist/esm/salla-search-product-card.entry.js +1 -1
  323. package/dist/esm/salla-search.entry.js +1 -1
  324. package/dist/esm/salla-skeleton.entry.js +8 -8
  325. package/dist/esm/salla-social-share.entry.js +1 -1
  326. package/dist/esm/salla-social.entry.js +8 -3
  327. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  328. package/dist/esm/salla-tiered-offer.entry.js +7 -2
  329. package/dist/esm/salla-trust-badges.entry.js +9 -5
  330. package/dist/esm/salla-user-menu.entry.js +39 -2
  331. package/dist/esm/salla-user-profile.entry.js +7 -3
  332. package/dist/esm/salla-user-settings.entry.js +8 -3
  333. package/dist/esm/salla-verify.entry.js +13 -6
  334. package/dist/esm/salla-wallet.entry.js +1 -1
  335. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  336. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  337. package/dist/esm/translate-CxrJQ3Jf.js +54 -0
  338. package/dist/esm/twilight.js +3 -3
  339. package/dist/esm/{vanilla-picker-CQEJbE9K.js → vanilla-picker-BWBrgMJQ.js} +1 -1
  340. package/dist/twilight/{p-c28395c6.entry.js → p-03e89cb1.entry.js} +1 -1
  341. package/dist/twilight/{p-5babb989.entry.js → p-07dc637e.entry.js} +1 -1
  342. package/dist/twilight/p-0859fe23.entry.js +4 -0
  343. package/dist/twilight/p-0b54834f.entry.js +4 -0
  344. package/dist/twilight/{p-e00ed6c9.entry.js → p-0c9f5232.entry.js} +1 -1
  345. package/dist/twilight/p-0ca1a782.entry.js +4 -0
  346. package/dist/twilight/p-0cb548be.entry.js +4 -0
  347. package/dist/twilight/{p-8ec0fc03.entry.js → p-138d6214.entry.js} +1 -1
  348. package/dist/twilight/p-141218a3.entry.js +4 -0
  349. package/dist/twilight/p-15b8fa7f.entry.js +4 -0
  350. package/dist/twilight/{p-ac20a6de.entry.js → p-15f5d424.entry.js} +1 -1
  351. package/dist/twilight/{p-21ba0eac.entry.js → p-16072449.entry.js} +1 -1
  352. package/dist/twilight/{p-dcb5ceda.entry.js → p-16b2f58b.entry.js} +1 -1
  353. package/dist/twilight/{p-f643bf2f.entry.js → p-18aff2d5.entry.js} +1 -1
  354. package/dist/twilight/{p-7ac91ace.entry.js → p-1930b915.entry.js} +1 -1
  355. package/dist/twilight/p-1cbbdcea.entry.js +4 -0
  356. package/dist/twilight/{p-d75157e0.entry.js → p-1fe92c36.entry.js} +1 -1
  357. package/dist/twilight/{p-f130c67f.entry.js → p-221e47a5.entry.js} +1 -1
  358. package/dist/twilight/p-2636c473.entry.js +4 -0
  359. package/dist/twilight/p-27712ed1.entry.js +4 -0
  360. package/dist/twilight/{p-fac4da2b.entry.js → p-2eea4245.entry.js} +1 -1
  361. package/dist/twilight/{p-d6d72996.entry.js → p-3263103c.entry.js} +1 -1
  362. package/dist/twilight/{p-ca7593c0.entry.js → p-341a7ab8.entry.js} +1 -1
  363. package/dist/twilight/{p-1080831a.entry.js → p-3b4f66d3.entry.js} +1 -1
  364. package/dist/twilight/p-3c45c49f.entry.js +4 -0
  365. package/dist/twilight/{p-e98835e3.entry.js → p-3f730d01.entry.js} +1 -1
  366. package/dist/twilight/{p-12a2b743.entry.js → p-40c8b553.entry.js} +1 -1
  367. package/dist/twilight/p-4333c630.entry.js +4 -0
  368. package/dist/twilight/{p-1a5d0b25.entry.js → p-454b32f0.entry.js} +1 -1
  369. package/dist/twilight/{p-8bdb7f71.entry.js → p-475d01e2.entry.js} +1 -1
  370. package/dist/twilight/{p-f8aa1b23.entry.js → p-4962d869.entry.js} +1 -1
  371. package/dist/twilight/{p-4b0eaa16.entry.js → p-4ce97595.entry.js} +1 -1
  372. package/dist/twilight/p-4d1582f8.entry.js +4 -0
  373. package/dist/twilight/{p-5e426c78.entry.js → p-4d482ee4.entry.js} +1 -1
  374. package/dist/twilight/{p-67d3ee58.entry.js → p-5110433d.entry.js} +1 -1
  375. package/dist/twilight/p-517807b2.entry.js +4 -0
  376. package/dist/twilight/p-52a7dbb7.entry.js +4 -0
  377. package/dist/twilight/{p-160476f0.entry.js → p-5360d082.entry.js} +1 -1
  378. package/dist/twilight/p-53bf1d54.entry.js +4 -0
  379. package/dist/twilight/p-540a7588.entry.js +4 -0
  380. package/dist/twilight/{p-9d434410.entry.js → p-5a6c4fdf.entry.js} +1 -1
  381. package/dist/twilight/{p-5e099f96.entry.js → p-5ac2e6ab.entry.js} +1 -1
  382. package/dist/twilight/{p-de55326d.entry.js → p-64158678.entry.js} +1 -1
  383. package/dist/twilight/p-67ecb74a.entry.js +4 -0
  384. package/dist/twilight/{p-342b31ba.entry.js → p-6e53afc6.entry.js} +1 -1
  385. package/dist/twilight/{p-474997dd.entry.js → p-6f66a0f2.entry.js} +1 -1
  386. package/dist/twilight/p-721819ee.entry.js +4 -0
  387. package/dist/twilight/p-76d11b5c.entry.js +4 -0
  388. package/dist/twilight/p-78b86647.entry.js +4 -0
  389. package/dist/twilight/p-7f0bdf0e.entry.js +4 -0
  390. package/dist/twilight/{p-caee5b0d.entry.js → p-7f882abf.entry.js} +1 -1
  391. package/dist/twilight/{p-6602a61a.entry.js → p-826ed1c6.entry.js} +1 -1
  392. package/dist/twilight/{p-8eb75cf8.entry.js → p-82d59bf3.entry.js} +1 -1
  393. package/dist/twilight/p-856ed222.entry.js +4 -0
  394. package/dist/twilight/{p-4bde9c4e.entry.js → p-87b3c231.entry.js} +1 -1
  395. package/dist/twilight/p-87dcc9d8.entry.js +4 -0
  396. package/dist/twilight/{p-58058ae9.entry.js → p-8876efa6.entry.js} +1 -1
  397. package/dist/twilight/{p-81596b48.entry.js → p-88d64b87.entry.js} +1 -1
  398. package/dist/twilight/p-88f650da.entry.js +4 -0
  399. package/dist/twilight/p-8e248aa7.entry.js +4 -0
  400. package/dist/twilight/p-919dd049.entry.js +4 -0
  401. package/dist/twilight/{p-62653d93.entry.js → p-950634d1.entry.js} +1 -1
  402. package/dist/twilight/{p-a11b77df.entry.js → p-9ce917a6.entry.js} +1 -1
  403. package/dist/twilight/{p-672a709e.entry.js → p-9e084610.entry.js} +1 -1
  404. package/dist/twilight/{p-8513fec2.entry.js → p-9ed52621.entry.js} +1 -1
  405. package/dist/twilight/{p-60d06105.entry.js → p-9fcc7eeb.entry.js} +1 -1
  406. package/dist/twilight/{p-Gxv67UlH.js → p-B867dk1j.js} +1 -1
  407. package/dist/twilight/{p-CJPWrlxL.js → p-BT5AJCX9.js} +1 -1
  408. package/dist/twilight/{p-CtcjG32v.js → p-CADeV7A-.js} +1 -1
  409. package/dist/twilight/{p-E2n9kJc8.js → p-CbJEogz0.js} +1 -1
  410. package/dist/twilight/p-CxrJQ3Jf.js +4 -0
  411. package/dist/twilight/{p-C57CqqgQ.js → p-CyV163V_.js} +1 -1
  412. package/dist/twilight/{p-DiU9tYvl.js → p-D98H4WeK.js} +1 -1
  413. package/dist/twilight/p-DN2opqoB.js +9 -0
  414. package/dist/twilight/{p-pzi0Osm7.js → p-DWkNp24H.js} +1 -1
  415. package/dist/twilight/{p-Bm1ywp6t.js → p-DomdkzLW.js} +1 -1
  416. package/dist/twilight/{p-c28c53c3.entry.js → p-a030da8e.entry.js} +1 -1
  417. package/dist/twilight/{p-3a465851.entry.js → p-a2de7999.entry.js} +1 -1
  418. package/dist/twilight/{p-c89282b0.entry.js → p-a8408d51.entry.js} +1 -1
  419. package/dist/twilight/p-aabc57e3.entry.js +4 -0
  420. package/dist/twilight/p-b1a35349.entry.js +4 -0
  421. package/dist/twilight/{p-fd787b30.entry.js → p-ba76a96a.entry.js} +1 -1
  422. package/dist/twilight/{p-d6508494.entry.js → p-ba9ee435.entry.js} +1 -1
  423. package/dist/twilight/{p-f47a1351.entry.js → p-be7dcc25.entry.js} +1 -1
  424. package/dist/twilight/{p-54bc613c.entry.js → p-c41c1eff.entry.js} +1 -1
  425. package/dist/twilight/p-c589a326.entry.js +4 -0
  426. package/dist/twilight/{p-e43c49e9.entry.js → p-c5d4682b.entry.js} +1 -1
  427. package/dist/twilight/p-c631e2cd.entry.js +4 -0
  428. package/dist/twilight/{p-97bb12a6.entry.js → p-c6af4f05.entry.js} +1 -1
  429. package/dist/twilight/{p-da9bd7f6.entry.js → p-c8d269df.entry.js} +1 -1
  430. package/dist/twilight/{p-e4589779.entry.js → p-cab2f22a.entry.js} +1 -1
  431. package/dist/twilight/{p-f3985cfd.entry.js → p-ce120ce6.entry.js} +1 -1
  432. package/dist/twilight/{p-80699771.entry.js → p-ce981b2f.entry.js} +1 -1
  433. package/dist/twilight/p-d09b6b8c.entry.js +4 -0
  434. package/dist/twilight/{p-b3abf071.entry.js → p-d13f5256.entry.js} +1 -1
  435. package/dist/twilight/{p-c82f46a9.entry.js → p-d306b947.entry.js} +1 -1
  436. package/dist/twilight/p-d986aa18.entry.js +4 -0
  437. package/dist/twilight/{p-844176cb.entry.js → p-e4c88bee.entry.js} +1 -1
  438. package/dist/twilight/p-e7fc0d63.entry.js +4 -0
  439. package/dist/twilight/p-eef846fa.entry.js +4 -0
  440. package/dist/twilight/{p-dbc1e40c.entry.js → p-f03f893c.entry.js} +1 -1
  441. package/dist/twilight/p-f5f0246f.entry.js +4 -0
  442. package/dist/twilight/p-f6f633fc.entry.js +4 -0
  443. package/dist/twilight/p-f9fbcb8d.entry.js +4 -0
  444. package/dist/twilight/p-fc717703.entry.js +4 -0
  445. package/dist/twilight/{p-C1mBhG6Z.js → p-noRE1pbw.js} +2 -2
  446. package/dist/twilight/twilight.esm.js +1 -1
  447. package/dist/types/Helpers/money-text.d.ts +13 -0
  448. package/dist/types/Helpers/translate.d.ts +17 -0
  449. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -1
  450. package/dist/types/components/salla-alert/salla-alert.d.ts +3 -3
  451. package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +3 -0
  452. package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +3 -0
  453. package/dist/types/components/salla-bottom-alert/salla-bottom-alert.d.ts +3 -1
  454. package/dist/types/components/salla-button/salla-button.d.ts +10 -18
  455. package/dist/types/components/salla-cart-item-offers/salla-cart-item-offers.d.ts +3 -0
  456. package/dist/types/components/salla-cart-summary/salla-cart-summary.d.ts +2 -2
  457. package/dist/types/components/salla-comment-form/salla-comment-form.d.ts +3 -0
  458. package/dist/types/components/salla-comments/salla-comment-item.d.ts +3 -1
  459. package/dist/types/components/salla-comments/salla-comments.d.ts +3 -0
  460. package/dist/types/components/salla-contacts/salla-contacts.d.ts +4 -0
  461. package/dist/types/components/salla-count-down/salla-count-down.d.ts +17 -14
  462. package/dist/types/components/salla-custom-fields/salla-custom-fields.d.ts +4 -0
  463. package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +12 -0
  464. package/dist/types/components/salla-filters/salla-filters.d.ts +4 -1
  465. package/dist/types/components/salla-filters-widget/salla-filters-widget.d.ts +2 -0
  466. package/dist/types/components/salla-gifting/salla-gifting.d.ts +3 -0
  467. package/dist/types/components/salla-hook/salla-hook.d.ts +4 -0
  468. package/dist/types/components/salla-infinite-scroll/salla-infinite-scroll.d.ts +3 -0
  469. package/dist/types/components/salla-localization-modal/salla-localization-modal.d.ts +4 -0
  470. package/dist/types/components/salla-login-modal/salla-login-modal.d.ts +3 -0
  471. package/dist/types/components/salla-loyalty/salla-loyalty.d.ts +3 -0
  472. package/dist/types/components/salla-map/salla-map.d.ts +3 -0
  473. package/dist/types/components/salla-notifications/salla-notifications.d.ts +3 -1
  474. package/dist/types/components/salla-offer/salla-offer.d.ts +3 -0
  475. package/dist/types/components/salla-offer-modal/salla-offer-modal.d.ts +3 -0
  476. package/dist/types/components/salla-order-branch/interfaces.d.ts +1 -0
  477. package/dist/types/components/salla-order-branch/salla-order-branch.d.ts +10 -1
  478. package/dist/types/components/salla-order-summary/salla-order-summary.d.ts +2 -0
  479. package/dist/types/components/salla-order-totals-card/interfaces.d.ts +4 -3
  480. package/dist/types/components/salla-order-totals-card/salla-order-totals-card.d.ts +2 -0
  481. package/dist/types/components/salla-orders/salla-orders.d.ts +3 -1
  482. package/dist/types/components/salla-placeholder/salla-placeholder.d.ts +3 -1
  483. package/dist/types/components/salla-price-range/salla-price-range.d.ts +2 -0
  484. package/dist/types/components/salla-product-availability/salla-product-availability.d.ts +4 -0
  485. package/dist/types/components/salla-product-card/salla-product-card.d.ts +12 -9
  486. package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
  487. package/dist/types/components/salla-product-size-guide/salla-product-size-guide.d.ts +3 -0
  488. package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
  489. package/dist/types/components/salla-progress-bar/salla-progress-bar.d.ts +5 -0
  490. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +3 -1
  491. package/dist/types/components/salla-quick-order/salla-quick-order.d.ts +3 -0
  492. package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +3 -0
  493. package/dist/types/components/salla-rating-stars/salla-rating-stars.d.ts +14 -14
  494. package/dist/types/components/salla-review-card/salla-review-card.d.ts +4 -0
  495. package/dist/types/components/salla-reviews/salla-reviews.d.ts +3 -0
  496. package/dist/types/components/salla-scopes/salla-scopes.d.ts +3 -0
  497. package/dist/types/components/salla-skeleton/salla-skeleton.d.ts +6 -6
  498. package/dist/types/components/salla-slider/salla-slider.d.ts +2 -0
  499. package/dist/types/components/salla-social/salla-social.d.ts +3 -0
  500. package/dist/types/components/salla-tabs/salla-tab-header.d.ts +2 -2
  501. package/dist/types/components/salla-tel-input/salla-tel-input.d.ts +3 -1
  502. package/dist/types/components/salla-tiered-offer/salla-tiered-offer.d.ts +3 -1
  503. package/dist/types/components/salla-trust-badges/salla-trust-badges.d.ts +3 -1
  504. package/dist/types/components/salla-user-menu/salla-user-menu.d.ts +16 -0
  505. package/dist/types/components/salla-user-profile/salla-user-profile.d.ts +3 -1
  506. package/dist/types/components/salla-user-settings/salla-user-settings.d.ts +3 -0
  507. package/dist/types/components/salla-verify/salla-verify.d.ts +3 -0
  508. package/dist/types/components.d.ts +128 -80
  509. package/package.json +19 -19
  510. package/dist/cjs/translate-BeU1QX_r.js +0 -20
  511. package/dist/esm/translate-CrSV-tno.js +0 -18
  512. package/dist/twilight/p-020eb2a1.entry.js +0 -4
  513. package/dist/twilight/p-06799084.entry.js +0 -4
  514. package/dist/twilight/p-0a3abfd4.entry.js +0 -4
  515. package/dist/twilight/p-0ef388be.entry.js +0 -4
  516. package/dist/twilight/p-1f99db23.entry.js +0 -4
  517. package/dist/twilight/p-232c39e9.entry.js +0 -4
  518. package/dist/twilight/p-305ed224.entry.js +0 -4
  519. package/dist/twilight/p-3a4cf66c.entry.js +0 -4
  520. package/dist/twilight/p-3c4702bb.entry.js +0 -4
  521. package/dist/twilight/p-3dcb5129.entry.js +0 -4
  522. package/dist/twilight/p-43d0c80e.entry.js +0 -4
  523. package/dist/twilight/p-50bbbd18.entry.js +0 -4
  524. package/dist/twilight/p-51c26ce7.entry.js +0 -4
  525. package/dist/twilight/p-54054ab9.entry.js +0 -4
  526. package/dist/twilight/p-5c1a36ab.entry.js +0 -4
  527. package/dist/twilight/p-5cf3929c.entry.js +0 -4
  528. package/dist/twilight/p-8028be6f.entry.js +0 -4
  529. package/dist/twilight/p-82939afe.entry.js +0 -4
  530. package/dist/twilight/p-85cff524.entry.js +0 -4
  531. package/dist/twilight/p-8dfdd6c9.entry.js +0 -4
  532. package/dist/twilight/p-92f6aa52.entry.js +0 -4
  533. package/dist/twilight/p-BB23a2fo.js +0 -9
  534. package/dist/twilight/p-CrSV-tno.js +0 -4
  535. package/dist/twilight/p-a4aac112.entry.js +0 -4
  536. package/dist/twilight/p-a52bfa57.entry.js +0 -4
  537. package/dist/twilight/p-a9aadc0b.entry.js +0 -4
  538. package/dist/twilight/p-bc26490f.entry.js +0 -4
  539. package/dist/twilight/p-bef93c52.entry.js +0 -4
  540. package/dist/twilight/p-c30bfc0b.entry.js +0 -4
  541. package/dist/twilight/p-cb770a9e.entry.js +0 -4
  542. package/dist/twilight/p-cbcca1ff.entry.js +0 -4
  543. package/dist/twilight/p-d81bcfb3.entry.js +0 -4
  544. package/dist/twilight/p-e67b2aa8.entry.js +0 -4
  545. package/dist/twilight/p-e9ce8dec.entry.js +0 -4
  546. package/dist/twilight/p-eb718f6b.entry.js +0 -4
  547. package/dist/twilight/p-ec361a66.entry.js +0 -4
  548. package/dist/twilight/p-f32de457.entry.js +0 -4
  549. package/dist/twilight/p-f626ef96.entry.js +0 -4
  550. package/dist/twilight/p-f6df7f8a.entry.js +0 -4
  551. package/dist/twilight/p-fd3bb3f2.entry.js +0 -4
@@ -54,16 +54,10 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
54
54
  this.fitImageHeight = salla.config.get('store.settings.product.fit_type');
55
55
  salla.wishlist.event.onAdded((_res, id) => this.toggleFavoriteIcon(true, id));
56
56
  salla.wishlist.event.onRemoved((_res, id) => this.toggleFavoriteIcon(false, id));
57
+ // e.g. a guest signs into an account that already saved this product
58
+ salla.event.on('wishlist::storage.synced', () => this.productData && this.toggleFavoriteIcon(this.isInWishlist()));
57
59
  this.placeholder = salla.url.asset(salla.config.get('theme.settings.placeholder'));
58
60
  });
59
- // Language
60
- salla.lang.onLoaded(() => {
61
- this.remained = salla.lang.get('pages.products.remained');
62
- this.donationAmount = salla.lang.get('pages.products.donation_amount');
63
- this.startingPrice = salla.lang.get('pages.products.starting_price');
64
- this.addToCart = salla.lang.get('pages.cart.add_to_cart');
65
- this.outOfStock = salla.lang.get('pages.products.out_of_stock');
66
- });
67
61
  // Parse product data
68
62
  if (!this.product) {
69
63
  return;
@@ -75,6 +69,19 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
75
69
  salla.log('Bad json passed via product prop');
76
70
  }
77
71
  }
72
+ connectedCallback() {
73
+ // Language
74
+ this.langUnsubscribe = salla.lang.subscribe(() => {
75
+ this.remained = salla.lang.get('pages.products.remained');
76
+ this.donationAmount = salla.lang.get('pages.products.donation_amount');
77
+ this.startingPrice = salla.lang.get('pages.products.starting_price');
78
+ this.addToCart = salla.lang.get('pages.cart.add_to_cart');
79
+ this.outOfStock = salla.lang.get('pages.products.out_of_stock');
80
+ });
81
+ }
82
+ disconnectedCallback() {
83
+ this.langUnsubscribe?.();
84
+ }
78
85
  // Private Methods
79
86
  initCircleBar() {
80
87
  let qty = this.productData.quantity, total = this.productData.quantity > 100 ? this.productData.quantity * 2 : 100, roundPercent = (qty / total) * 100, bar = this.pie.querySelector('.s-product-card-content-pie-svg-bar'), strokeDashOffsetValue = 100 - roundPercent;
@@ -282,12 +282,6 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
282
282
  const completed = option.donation.target_amount <= option.donation.collected_amount;
283
283
  return h("div", { class: { "s-product-options-donation-message": true, "s-product-options-donation-completed": completed, "s-product-options-donation-expired": !completed } }, h("p", null, option.donation.target_message), h("span", { innerHTML: completed ? salla.money(option.donation.target_amount) : '' }));
284
284
  };
285
- salla.lang.onLoaded(() => {
286
- this.outOfStockText = salla.lang.get("pages.products.out_of_stock");
287
- this.donationAmount = salla.lang.get('pages.products.donation_amount');
288
- this.selectDonationAmount = salla.lang.getWithDefault('pages.products.select_donation_amount', 'تحديد مبلغ التبرع');
289
- this.selectAmount = salla.lang.getWithDefault('pages.products.select_amount', 'اختر المبلغ');
290
- });
291
285
  if (this.options) {
292
286
  try {
293
287
  this.setOptionsData(Array.isArray(this.options) ? this.options : JSON.parse(this.options));
@@ -308,6 +302,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
308
302
  });
309
303
  }
310
304
  }
305
+ connectedCallback() {
306
+ this.langUnsubscribe = salla.lang.subscribe(() => {
307
+ this.outOfStockText = salla.lang.get("pages.products.out_of_stock");
308
+ this.donationAmount = salla.lang.get('pages.products.donation_amount');
309
+ this.selectDonationAmount = salla.lang.getWithDefault('pages.products.select_donation_amount', 'تحديد مبلغ التبرع');
310
+ this.selectAmount = salla.lang.getWithDefault('pages.products.select_amount', 'اختر المبلغ');
311
+ });
312
+ }
311
313
  /**
312
314
  * Sets the options data for the product
313
315
  * @param optionsData - Array of product options
@@ -688,6 +690,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
688
690
  return needsCartId ? salla.api.cart.getCurrentCartId(false, "salla-product-options") : null;
689
691
  }
690
692
  disconnectedCallback() {
693
+ this.langUnsubscribe?.();
691
694
  if (this.pasteHandler) {
692
695
  document.removeEventListener("paste", this.pasteHandler);
693
696
  }
@@ -26,12 +26,17 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
26
26
  this.__registerHost();
27
27
  this.hasError = false;
28
28
  salla.event.on('size-guide::open', (product_id) => this.open(product_id));
29
- salla.lang.onLoaded(() => {
29
+ }
30
+ connectedCallback() {
31
+ this.langUnsubscribe = salla.lang.subscribe(() => {
30
32
  this.placeholder_title = salla.lang.get('pages.products.size_guide_placeholder');
31
33
  this.placeholder_description = salla.lang.get('pages.products.size_guide_placeholder_info');
32
34
  this.modal_title = salla.lang.get('pages.products.size_guides');
33
35
  });
34
36
  }
37
+ disconnectedCallback() {
38
+ this.langUnsubscribe?.();
39
+ }
35
40
  /**
36
41
  * Show the size-guide modal window
37
42
  */
@@ -60,11 +65,11 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
60
65
  return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
61
66
  }
62
67
  render() {
63
- return (h("salla-modal", { key: 'de368aff05a19d87eb4e99f4e1d7eee36155f435', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: 'c4ab31b3e6ef2751761ca2db27554f7f5bf057fc', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '17cfceb5ccb0546928f87f956267e9d0c11017ac', slot: "loading" }, h("div", { key: '4f4e20a62396d7825315203ffd22a72030e821b1', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: 'd9132b26634ae1997dad9f1229b248c2cd76fff0', height: '15px', width: '25%' }), h("div", { key: '1b6a236851eef6e7caf7b7a0e84e591824b4e4ef', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: 'bae06741881b57b4eb853f1256a22f9393d9cea4', height: '40px' }), h("salla-skeleton", { key: 'fdeb75a853f89df154b69dbd48fc8e233561af59', height: '40px' }), h("salla-skeleton", { key: 'd0be70bc141f04fd24adc86c56eec3a5e896f2d4', height: '40px' }), h("salla-skeleton", { key: 'c5146addbf2d5b9bda05170a9743cad0e08d8674', height: '40px' })), h("div", { key: '04dbbffe2de708c984c5d0966aa2b86c0051bd14', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '320fb33a2e5d9ee1f4b87c18b3f3dd13de180d4f', height: '15px', width: '25%' }), h("salla-skeleton", { key: 'f06aeac8e2f8ea86ec9b1c5c6f2b31172f23209f', height: '10px', width: '75%' }), h("salla-skeleton", { key: '1accf852a34edcac77a77151ebf67ba8e05cc729', height: '10px', width: '50%' }), h("salla-skeleton", { key: '42d4c3364779a6ee130339e37affe2e0c590e6a7', height: '10px', width: '75%' }), h("salla-skeleton", { key: '13064a231460414b4a0abd19dda41b01ac1ee04f', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'd5a50f96ca3bab125503f836cd883cfb98ca135d', height: '10px', width: '25%' }), h("salla-skeleton", { key: '11cd2ed36d9754c32173f14cd7d5ea99fc2b5577', height: '10px', width: '60%' }), h("salla-skeleton", { key: 'a5b3a192d0e38dc13a025b8b8e0aba767f35611b', height: '10px', width: '45%' }), h("salla-skeleton", { key: 'dddcb26038e180fb5b686b29d286316d4314909f', height: '10px', width: '30%' })))), h("slot", { key: '43a08b9b6e64955b726b832f0849617ac31d4c25', name: "header" }), !this.hasError && !!this.guides ?
68
+ return (h("salla-modal", { key: '587dbc28fa828df2a47a4db1c124df032fe719fa', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: '822224aa89fb065c7262abf2f24914ed1fa3d8bb', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '84e14a400f9417aa9be851a07f0203348a560aec', slot: "loading" }, h("div", { key: '5cbdbcf560f08279543c4d25fd21416ce2da1314', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: 'e3139f2898256adc2c20fbb86e96a9f5d008a677', height: '15px', width: '25%' }), h("div", { key: '961f482bf358c5a4ca0d980561bafdcd7489fa68', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: '1754361211a771952be69eeda9a4c9788aaff0e6', height: '40px' }), h("salla-skeleton", { key: '2ea3578f8751a2526947d5c067392ef95e3bcf44', height: '40px' }), h("salla-skeleton", { key: '32bba195c5f6a60ce9837b4d4cbfa302d6ddfb07', height: '40px' }), h("salla-skeleton", { key: '9888b01cd47c5acdc0a159ad49db228efd630d75', height: '40px' })), h("div", { key: 'd86e706b2393b17301f9f28b4b303f00bf743363', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '02e0330958fd73288d5c654fce7169470cdf47cd', height: '15px', width: '25%' }), h("salla-skeleton", { key: 'cccb8bc372c6ccfdf707621190bba4bc38aecb99', height: '10px', width: '75%' }), h("salla-skeleton", { key: '95f8e83b3b1a54a52da1ff2e61a866239575cf7b', height: '10px', width: '50%' }), h("salla-skeleton", { key: '4880b1d82cea617cae837ad2d6dd4d627fe8d9e3', height: '10px', width: '75%' }), h("salla-skeleton", { key: '38980cc41e7388b41e35015ceed72d025bd82980', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'bb1ad6a995e9e27b851007cae2c1f7204f3c2d91', height: '10px', width: '25%' }), h("salla-skeleton", { key: 'fc5cd1e7adafca96e00b9284123bb3eb9f892c9c', height: '10px', width: '60%' }), h("salla-skeleton", { key: '89bbd77ec6da0c8e03dd2fb9f60c929f49415c83', height: '10px', width: '45%' }), h("salla-skeleton", { key: '0666ce266b9411913ae4db64c61d3cfa44cf4245', height: '10px', width: '30%' })))), h("slot", { key: '31a338bdc12e2a4ea1f80ea4bd700e293020b840', name: "header" }), !this.hasError && !!this.guides ?
64
69
  [
65
70
  h("salla-tabs", null, this.guides.map((guide) => h("salla-tab-header", { slot: "header", name: guide.name }, h("span", null, guide.name))), this.guides.map((guide) => h("salla-tab-content", { slot: "content", name: guide.name }, h("div", { innerHTML: guide.description }))))
66
71
  ]
67
- : this.showPlaceholder(), h("slot", { key: '5ae0956ca1f9313b5ef3d01dbdcab32f2e975e05', name: "footer" })));
72
+ : this.showPlaceholder(), h("slot", { key: '887b97cd58b442db20dad02db8ace42847bcef75', name: "footer" })));
68
73
  }
69
74
  get host() { return this; }
70
75
  static get style() { return sallaProductSizeGuideCss; }
@@ -110,14 +110,14 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
110
110
  this.includes = null;
111
111
  }
112
112
  Helper.setIncludes(this.includes);
113
- salla.lang.onLoaded(() => {
113
+ }
114
+ connectedCallback() {
115
+ this.langUnsubscribe = salla.lang.subscribe(() => {
114
116
  this.placeholderText = salla.lang.get('pages.categories.no_products');
115
117
  this.endOfText = salla.lang.get('common.elements.end_of_content');
116
118
  this.failedLoadMore = salla.lang.get('common.elements.failed_to_load_more');
117
119
  this.currentPage = salla.config.get('page');
118
120
  });
119
- }
120
- connectedCallback() {
121
121
  //Override browser scroll restoration default behaviour
122
122
  if ('scrollRestoration' in history)
123
123
  history.scrollRestoration = 'manual';
@@ -128,6 +128,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
128
128
  salla.event.on('wishlist::storage.synced', this.onWishlistStorageSynced);
129
129
  }
130
130
  disconnectedCallback() {
131
+ this.langUnsubscribe?.();
131
132
  window.removeEventListener('DOMContentLoaded', this.boundScrollToLastViewedProduct);
132
133
  window.removeEventListener('scroll', this.boundHandleScroll);
133
134
  salla.event.off('wishlist::removed', this.onWishlistItemRemoved);
@@ -9,6 +9,9 @@ const SallaProgressBar = /*@__PURE__*/ proxyCustomElement(class SallaProgressBar
9
9
  constructor() {
10
10
  super();
11
11
  this.__registerHost();
12
+ // set when the constructor builds the donation-target labels, so the subscriber can rebuild them
13
+ this.hasDonationTarget = false;
14
+ this.donationEndDate = null;
12
15
  /**
13
16
  * Set height for the wrapper.
14
17
  */
@@ -20,6 +23,8 @@ const SallaProgressBar = /*@__PURE__*/ proxyCustomElement(class SallaProgressBar
20
23
  donationJson.target_end_date = donationJson.target_end_date == '0000-00-00' ? null : donationJson.target_end_date;
21
24
  this.value = donationJson.collected_amount;
22
25
  this.target = donationJson.target_amount;
26
+ this.hasDonationTarget = true;
27
+ this.donationEndDate = donationJson.target_end_date;
23
28
  this.header = salla.lang.get('pages.products.target');
24
29
  this.message = donationJson.target_end_date ? salla.lang.get('pages.products.donation_target_date') + ' ' + donationJson.target_end_date : '';
25
30
  }
@@ -34,10 +39,6 @@ const SallaProgressBar = /*@__PURE__*/ proxyCustomElement(class SallaProgressBar
34
39
  catch (e) {
35
40
  salla.log('Wrong donation json');
36
41
  }
37
- salla.lang.onLoaded(() => {
38
- this.header = this.header?.replace('pages.products.target', salla.lang.get('pages.products.target'));
39
- this.message = this.message?.replace('pages.products.donation_target_date', salla.lang.get('pages.products.donation_target_date'));
40
- });
41
42
  salla.onReady(() => {
42
43
  this.color = this.color || salla.config.get('theme.color.primary', "#ffd5c4");
43
44
  if (!this.unit) {
@@ -45,6 +46,21 @@ const SallaProgressBar = /*@__PURE__*/ proxyCustomElement(class SallaProgressBar
45
46
  }
46
47
  });
47
48
  }
49
+ connectedCallback() {
50
+ this.langUnsubscribe = salla.lang.subscribe(() => {
51
+ if (this.hasDonationTarget) {
52
+ // rebuilt each time: once translated, the text no longer holds the keys replaced below
53
+ this.header = salla.lang.get('pages.products.target');
54
+ this.message = this.donationEndDate ? salla.lang.get('pages.products.donation_target_date') + ' ' + this.donationEndDate : '';
55
+ return;
56
+ }
57
+ this.header = this.header?.replace('pages.products.target', salla.lang.get('pages.products.target'));
58
+ this.message = this.message?.replace('pages.products.donation_target_date', salla.lang.get('pages.products.donation_target_date'));
59
+ });
60
+ }
61
+ disconnectedCallback() {
62
+ this.langUnsubscribe?.();
63
+ }
48
64
  getPercentage() {
49
65
  return (this.value / this.target) * 100;
50
66
  }
@@ -1888,10 +1888,15 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
1888
1888
  });
1889
1889
  return true;
1890
1890
  };
1891
- salla.lang.onLoaded(() => {
1891
+ }
1892
+ connectedCallback() {
1893
+ this.langUnsubscribe = salla.lang.subscribe(() => {
1892
1894
  this.quickBuy = salla.lang.get('pages.products.buy_now');
1893
1895
  });
1894
1896
  }
1897
+ disconnectedCallback() {
1898
+ this.langUnsubscribe?.();
1899
+ }
1895
1900
  quickBuyHandler() {
1896
1901
  if (salla.config.isGuest() && !this.isGuestCheckout()) {
1897
1902
  this.requireLogin.emit({ productId: this.productId });
@@ -75,7 +75,9 @@ const SallaQuickOrder$1 = /*@__PURE__*/ proxyCustomElement(class SallaQuickOrder
75
75
  salla.onReady(() => {
76
76
  this.productId = this.productId || salla.config.get('page.id');
77
77
  });
78
- salla.lang.onLoaded(() => {
78
+ }
79
+ connectedCallback() {
80
+ this.langUnsubscribe = salla.lang.subscribe(() => {
79
81
  this.placeHolderEmail = salla.lang.get('common.elements.email');
80
82
  this.emailOptional = salla.lang.get('common.elements.optional');
81
83
  this.agreementShowText = salla.lang.get('pages.checkout.show_full_agreement');
@@ -83,6 +85,9 @@ const SallaQuickOrder$1 = /*@__PURE__*/ proxyCustomElement(class SallaQuickOrder
83
85
  this.userNameLabel = salla.lang.get('pages.products.your_name');
84
86
  });
85
87
  }
88
+ disconnectedCallback() {
89
+ this.langUnsubscribe?.();
90
+ }
86
91
  getBtnColor() {
87
92
  return this.quickOrderStyle === 'default' ? 'light' : 'primary';
88
93
  }
@@ -9,6 +9,7 @@ import { M as MailIcon } from './mail.js';
9
9
  import { d as defineCustomElement$4, S as ShippingFast, a as Star } from './salla-rating-modal-v22.js';
10
10
  import { W as WhatsappIcon } from './whatsapp2.js';
11
11
  import { H as Helper } from './Helper.js';
12
+ import { s as setTranslationDefault } from './translate.js';
12
13
  import { d as defineCustomElement$a } from './salla-attachment-view2.js';
13
14
  import { d as defineCustomElement$9 } from './salla-button2.js';
14
15
  import { d as defineCustomElement$8 } from './salla-file-upload2.js';
@@ -98,11 +99,13 @@ const SallaRatingModal = /*@__PURE__*/ proxyCustomElement(class SallaRatingModal
98
99
  salla.onReady(() => {
99
100
  this.orderId = salla.config.get('page.id');
100
101
  });
101
- salla.lang.onLoaded(() => {
102
+ }
103
+ connectedCallback() {
104
+ this.langUnsubscribe = salla.lang.subscribe(() => {
102
105
  this.contactUsLabel = salla.lang.get('blocks.footer.social');
103
106
  const setNestedAsync = (lang, key, value) => {
104
107
  return new Promise((resolve) => {
105
- salla.helpers.setNested(salla.lang.messages[lang], key, value);
108
+ setTranslationDefault(lang, key, value);
106
109
  resolve(true);
107
110
  });
108
111
  };
@@ -152,6 +155,9 @@ const SallaRatingModal = /*@__PURE__*/ proxyCustomElement(class SallaRatingModal
152
155
  setTranslations();
153
156
  });
154
157
  }
158
+ disconnectedCallback() {
159
+ this.langUnsubscribe?.();
160
+ }
155
161
  getV2Ref() {
156
162
  return this.v2Ref ?? this.host.querySelector('salla-rating-modal-v2');
157
163
  }
@@ -16,24 +16,24 @@ const SallaRatingStars = /*@__PURE__*/ proxyCustomElement(class SallaRatingStars
16
16
  this.reviewLabel = '';
17
17
  this.selectedStar = 0;
18
18
  /**
19
- * Sets input name.
20
- */
19
+ * The name attribute for the rating input (used in forms). Default is 'rating'.
20
+ */
21
21
  this.name = 'rating';
22
22
  /**
23
- * Sets the height and width of the component. Defaults to medium.
24
- */
23
+ * The size of the star icons. Can be 'large', 'medium', 'small', or 'mini'. Default is 'medium'.
24
+ */
25
25
  this.size = 'medium';
26
26
  /**
27
- * Number of reviews to display.
28
- */
27
+ * The number of reviews to display next to the stars. Default is 0 (hidden).
28
+ */
29
29
  this.reviews = 0;
30
30
  /**
31
- * Render the description label before the stars instead of after.
32
- */
31
+ * Render the description label before the stars instead of after.
32
+ */
33
33
  this.labelBeforeStars = false;
34
34
  /**
35
- * Allows the rating to be editable.
36
- */
35
+ * Whether the rating is interactive/editable by the user. Default is false (display-only).
36
+ */
37
37
  this.editable = false;
38
38
  this.tag = true;
39
39
  }
@@ -172,7 +172,7 @@ const SallaReviewCard = /*@__PURE__*/ proxyCustomElement(class SallaReviewCard e
172
172
  return (h("a", { href: this.review?.product?.url, class: "s-review-card-product-container" }, h("img", { alt: product.image?.alt || "Product", src: product.image?.url, class: "s-review-card-product-image", width: 60, height: 60, loading: "lazy", decoding: "async", draggable: false }), h("div", { class: "s-review-card-product-details" }, h("p", { class: "s-review-card-product-details-name" }, product.name), this.showPurchaseCount ? h("p", { class: "s-review-card-product-details-purchase-count" }, h("span", { innerHTML: IconFire2 }), this.purchasedCount) : null)));
173
173
  }
174
174
  render() {
175
- return h("div", { key: '44589734c0a8ab8211a50e89e306de7dd53ad679', class: "s-review-card-container" }, this.renderSlider(), this.renderSingleImage(), renderDivider(), h("div", { key: '14e57255f40beab2e4b92724f26f171cdaaf69f4', class: "s-review-card-content" }, this.renderHeader(), h("p", { key: '8f27f7f13b5611a71164dba288f53e53e10e67f0', class: "s-review-card-review-content", innerHTML: this.review?.content }), renderDivider(), this.renderProductInfo()));
175
+ return h("div", { key: '5d214b55ba611ae39a8a3352e67c1c0c74749cae', class: "s-review-card-container" }, this.renderSlider(), this.renderSingleImage(), renderDivider(), h("div", { key: '8f761e54645173d887eaecc50bbc6e1f9664a861', class: "s-review-card-content" }, this.renderHeader(), h("p", { key: 'a75cbc58c4631f96aa112f9cd522a7ad43629b27', class: "s-review-card-review-content", innerHTML: this.review?.content }), renderDivider(), this.renderProductInfo()));
176
176
  }
177
177
  get el() { return this; }
178
178
  static get style() { return sallaReviewCardCss; }
@@ -65,11 +65,16 @@ const SallaReviews$1 = /*@__PURE__*/ proxyCustomElement(class SallaReviews exten
65
65
  this.displayAllURL = salla.url.get('testimonials');
66
66
  this.isRTL = salla.config.get('theme.is_rtl', true);
67
67
  });
68
- salla.lang.onLoaded(() => {
68
+ }
69
+ connectedCallback() {
70
+ this.langUnsubscribe = salla.lang.subscribe(() => {
69
71
  this.testimonialText = salla.lang.get('blocks.home.testimonials');
70
72
  this.displayAllLinkText = salla.lang.get('blocks.home.display_all');
71
73
  });
72
74
  }
75
+ disconnectedCallback() {
76
+ this.langUnsubscribe?.();
77
+ }
73
78
  fetchReviews() {
74
79
  if (this.source === 'json') {
75
80
  return Promise.resolve(JSON.parse(this.sourceValue));
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
4
+ import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
5
  import { S as Search } from './search.js';
6
6
  import { d as defineCustomElement$7 } from './salla-button2.js';
7
7
  import { d as defineCustomElement$6 } from './salla-list-tile2.js';
@@ -65,10 +65,17 @@ const SallaScopees = /*@__PURE__*/ proxyCustomElement(class SallaScopees extends
65
65
  salla.event.on('scopes::open', ({ mode = null, product_id = null } = {}) => {
66
66
  this.open(mode, product_id);
67
67
  });
68
- salla.lang.onLoaded(() => {
68
+ }
69
+ connectedCallback() {
70
+ this.langUnsubscribe = salla.lang.subscribe(() => {
69
71
  this.translationLoaded = true;
72
+ // translationLoaded is already true on later calls, so force the render that refreshes the labels read in render()
73
+ forceUpdate(this);
70
74
  });
71
75
  }
76
+ disconnectedCallback() {
77
+ this.langUnsubscribe?.();
78
+ }
72
79
  /**
73
80
  * Whether to hand scope selection to the native app instead of rendering the web modal.
74
81
  * Delegates only inside the native SPA webview (Salla.mobile.isSpaWebview() — bridge live AND
@@ -10,16 +10,16 @@ const SallaSkeleton = /*@__PURE__*/ proxyCustomElement(class SallaSkeleton exten
10
10
  super();
11
11
  this.__registerHost();
12
12
  /**
13
- * Set the shape type of the skeleton is it circle or normal
14
- */
13
+ * The shape type of the skeleton. 'circle' for circular skeletons (e.g., avatars), 'normal' for rectangular shapes. Default is 'normal'.
14
+ */
15
15
  this.type = 'normal';
16
16
  /**
17
- * Set the skeleton width
18
- */
17
+ * The width of the skeleton. Can be any CSS width value (e.g., '100%', '50px', '2rem'). Default is '100%'.
18
+ */
19
19
  this.width = '100%';
20
20
  /**
21
- * Set the skeleton height
22
- */
21
+ * The height of the skeleton. Can be any CSS height value (e.g., '100%', '50px', '2rem'). Default is '100%'.
22
+ */
23
23
  this.height = '100%';
24
24
  }
25
25
  render() {
@@ -27,7 +27,7 @@ const SallaSkeleton = /*@__PURE__*/ proxyCustomElement(class SallaSkeleton exten
27
27
  's-skeleton-item': true,
28
28
  's-skeleton-item-circular': this.type == 'circle',
29
29
  };
30
- return (h(Host, { key: 'b6ea2f9ba293c4c5922a5abf48f05845d02a8590', class: "s-skeleton-wrapper", style: { width: this.width, height: this.height } }, h("div", { key: '8fa3bed8b7aa80e01742d6c2496bc0578aabe7f1', class: classes }, "\u00A0")));
30
+ return (h(Host, { key: '7a1ce16742202fd5e2e37eded505d94e03079137', class: "s-skeleton-wrapper", style: { width: this.width, height: this.height } }, h("div", { key: '8fb06aebef2322b52ad83f7524f42d8908c4b5b0', class: classes }, "\u00A0")));
31
31
  }
32
32
  static get style() { return sallaSkeletonCss; }
33
33
  }, [0, "salla-skeleton", {
@@ -10129,14 +10129,16 @@ const SallaSlider = /*@__PURE__*/ proxyCustomElement(class SallaSlider extends H
10129
10129
  isStaticWhenSingle() {
10130
10130
  return this.staticWhenSingle && this.host.querySelector('[slot="items"]')?.children?.length === 1;
10131
10131
  }
10132
+ connectedCallback() {
10133
+ this.langUnsubscribe = salla.lang.subscribe(() => {
10134
+ this.displayAllTitle = salla.lang.get('blocks.home.display_all');
10135
+ });
10136
+ }
10132
10137
  async componentWillLoad() {
10133
10138
  if (this.isStaticWhenSingle()) {
10134
10139
  this.host.classList.add('s-slider-single-mode');
10135
10140
  return;
10136
10141
  }
10137
- salla.lang.onLoaded(() => {
10138
- this.displayAllTitle = salla.lang.get('blocks.home.display_all');
10139
- });
10140
10142
  this.hasThumbSlot = !!this.host.querySelector('[slot="thumbs"]');
10141
10143
  if (this.listenToThumbnailsOption) {
10142
10144
  salla.event.on('product-options::change', data => {
@@ -10421,6 +10423,7 @@ const SallaSlider = /*@__PURE__*/ proxyCustomElement(class SallaSlider extends H
10421
10423
  this.viewportMediaQuery.addEventListener('change', this.onViewportChange);
10422
10424
  }
10423
10425
  disconnectedCallback() {
10426
+ this.langUnsubscribe?.();
10424
10427
  if (this.isStaticWhenSingle()) {
10425
10428
  return;
10426
10429
  }
@@ -42,10 +42,15 @@ const SallaSocial$1 = /*@__PURE__*/ proxyCustomElement(class SallaSocial extends
42
42
  this.iconsList = { instagram, twitter, facebook, youtube, snapchat, tiktok };
43
43
  this.socialSlot = this.host.querySelector('[slot="social-item"]')?.innerHTML ||
44
44
  `<a href={link} rel="noopener" target="_blank" title={type} aria-label={type}><span class="s-social-icon">{icon}</span></a>`;
45
- salla.lang.onLoaded(() => {
45
+ }
46
+ connectedCallback() {
47
+ this.langUnsubscribe = salla.lang.subscribe(() => {
46
48
  this.links = salla.config.get('store.social');
47
49
  });
48
50
  }
51
+ disconnectedCallback() {
52
+ this.langUnsubscribe?.();
53
+ }
49
54
  getLinksArray() {
50
55
  return this.links ? Object.entries(this.links)
51
56
  .filter(([key, value]) => !!value && key !== 'whatsapp')
@@ -56,7 +61,7 @@ const SallaSocial$1 = /*@__PURE__*/ proxyCustomElement(class SallaSocial extends
56
61
  }
57
62
  render() {
58
63
  const linksArray = this.getLinksArray();
59
- return (h(Host, { key: '4b8d92800f475d314d5637e290c1fa95c78335f5' }, h("ul", { key: 'b6134f221891e28484155c55d3bcf0182bcb967a', class: "s-social-list" }, linksArray.map((link) => (h("li", { class: "s-social-link" }, h("div", { id: "social-slot", innerHTML: this.socialSlot
64
+ return (h(Host, { key: 'ce42d3f37cc3c9b9753f9431b43267e4a49153a3' }, h("ul", { key: '515e3effaf234de3b639bc5276559f05de06e755', class: "s-social-list" }, linksArray.map((link) => (h("li", { class: "s-social-link" }, h("div", { id: "social-slot", innerHTML: this.socialSlot
60
65
  .replace(/\{icon\}/g, this.iconsList[link.type])
61
66
  .replace(/\{type\}/g, link.type)
62
67
  .replace(/\{link\}/g, link.value.toString()) })))))));
@@ -16,8 +16,8 @@ const SallaTabHeader = /*@__PURE__*/ proxyCustomElement(class SallaTabHeader ext
16
16
  this.tabSelected = createEvent(this, "tabSelected", 7);
17
17
  this.id = generateRandomId();
18
18
  /**
19
- * The class applied to the currently active(selected) tab
20
- */
19
+ * The class applied to the currently active(selected) tab
20
+ */
21
21
  this.activeClass = undefined;
22
22
  /**
23
23
  * Set the height of the tab bar
@@ -58,7 +58,7 @@ const SallaTabHeader = /*@__PURE__*/ proxyCustomElement(class SallaTabHeader ext
58
58
  's-tabs-active': this.isSelected,
59
59
  };
60
60
  return [
61
- h("div", { key: '04bb51760a3e43aed1645cf724b90e21ee2631bf', class: classes, onClick: this.onClick.bind(this) }, h("slot", { key: 'c9d5fc5dbc0a45712c9aa5e03becc613590011ea' })),
61
+ h("div", { key: '1169c14eb00246f521ccb3929f7167d605d18a7e', class: classes, onClick: this.onClick.bind(this) }, h("slot", { key: '33d608f80ee3ff772bae744c20caa70755334463' })),
62
62
  ];
63
63
  }
64
64
  static get style() { return sallaTabHeaderCss; }
@@ -6,23 +6,6 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
6
6
  const sallaTelInputCss = "/*!twlt*/.iti{width:100%;position:relative;display:inline-block}.iti *{box-sizing:border-box;-moz-box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=text],.iti input[type=tel]{position:relative;z-index:0;direction:ltr !important;margin-top:0 !important;margin-bottom:0 !important;padding-left:95px !important;padding-right:15px !important;margin-left:0 !important}.iti__country-container{width:100%;position:absolute;top:0;bottom:0;left:0;padding:1px}.iti__selected-country{width:80px;z-index:1;position:relative;display:flex;align-items:center;height:100%;float:left;padding:0 15px;box-shadow:none !important;outline:none !important;background:transparent;border:0}.ltr .iti__selected-country,[dir=ltr] .iti__selected-country{justify-content:flex-end}.iti__selected-country:before{content:\"\";display:block;width:1px;height:70%;background:#eee;position:absolute;top:15%;right:0}.iti__selected-country .iti__flag{display:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%}.iti__arrow{width:15px;height:15px;line-height:15px;position:absolute;left:10px;top:50%;transform:translateY(-50%)}.iti__arrow:after{content:url(\"data:image/svg+xml,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><title>keyboard_arrow_down</title><path d='M9.875 11.104l6.125 6.125 6.125-6.125 1.875 1.875-8 8-8-8z'></path></svg>\");font-size:16px;color:#999;opacity:0.65}.iti__arrow--up:after{transform:rotate(180deg)}.iti__country-list{width:100%;max-height:160px;position:absolute;top:100%;left:0;z-index:2;list-style:none;margin:0;padding:0;margin:5px 0 0 0;border-radius:5px;box-shadow:0px 2px 4px 2px rgba(0, 0, 0, 0.05);border:1px solid #f5f7f9;background-color:white;white-space:nowrap;overflow:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.iti__country-list::-webkit-scrollbar{width:4px}.dark .iti__country-list{background-color:rgb(82, 82, 91);border-color:rgb(82, 82, 91)}.iti__country-list li{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;padding:8px 10px;transition:background-color 0.3s}.iti__country-list li span{font-size:12px}.iti__country-list li:hover,.iti__country-list li.highlighted{background-color:rgba(0, 0, 0, 0.05)}.iti__country-list--dropup{bottom:100%;top:unset;margin:0 0 5px 0}@media (max-width: 500px){.iti__country-list{white-space:normal}}.iti__country .iti__flag{display:inline-block;width:20px;margin:0 0 0 5px;flex-shrink:0}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #eee}.iti__country{padding:5px 10px;outline:none}.iti__dial-code{font-family:Arial;color:#999;unicode-bidi:plaintext;letter-spacing:1px}.iti__country.iti__highlight{background-color:rgba(0, 0, 0, 0.05)}.iti__country .iti__flag,.iti__country-name,.iti__dial-code{vertical-align:middle}.iti__country-name{flex:auto;margin:0;padding:0 10px;white-space:normal;line-height:1.3}.iti--allow-dropdown .iti__country-container{left:0}.iti--allow-dropdown .iti__country-container:hover{cursor:pointer}.iti--allow-dropdown input[disabled]+.iti__country-container:hover,.iti--allow-dropdown input[readonly]+.iti__country-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__country-container:hover .iti__selected-country,.iti--allow-dropdown input[readonly]+.iti__country-container:hover .iti__selected-country{background-color:transparent}.iti__selected-dial-code{unicode-bidi:plaintext;direction:ltr;letter-spacing:1px;font-family:\"Arial\", serif;font-size:13px}.iti--container{top:-18px !important;left:0 !important;padding:1px}.iti--container:hover{cursor:pointer}.iti--container.iti--fullscreen-popup{inset:0;margin:20px;width:calc(100% - 40px);position:fixed;z-index:9999}.iti--container.iti--fullscreen-popup .iti__country-list{max-height:100%;width:100%;inset:0}.iti--container.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi){.iti__flag{background-size:5652px 15px}}.iti__flag.iti__ac{height:10px;background-position:0px 0px}.iti__flag.iti__ad{height:14px;background-position:-22px 0px}.iti__flag.iti__ae{height:10px;background-position:-44px 0px}.iti__flag.iti__af{height:14px;background-position:-66px 0px}.iti__flag.iti__ag{height:14px;background-position:-88px 0px}.iti__flag.iti__ai{height:10px;background-position:-110px 0px}.iti__flag.iti__al{height:15px;background-position:-132px 0px}.iti__flag.iti__am{height:10px;background-position:-154px 0px}.iti__flag.iti__ao{height:14px;background-position:-176px 0px}.iti__flag.iti__aq{height:14px;background-position:-198px 0px}.iti__flag.iti__ar{height:13px;background-position:-220px 0px}.iti__flag.iti__as{height:10px;background-position:-242px 0px}.iti__flag.iti__at{height:14px;background-position:-264px 0px}.iti__flag.iti__au{height:10px;background-position:-286px 0px}.iti__flag.iti__aw{height:14px;background-position:-308px 0px}.iti__flag.iti__ax{height:13px;background-position:-330px 0px}.iti__flag.iti__az{height:10px;background-position:-352px 0px}.iti__flag.iti__ba{height:10px;background-position:-374px 0px}.iti__flag.iti__bb{height:14px;background-position:-396px 0px}.iti__flag.iti__bd{height:12px;background-position:-418px 0px}.iti__flag.iti__be{height:15px;background-position:-440px 0px}.iti__flag.iti__bf{height:14px;background-position:-460px 0px}.iti__flag.iti__bg{height:12px;background-position:-482px 0px}.iti__flag.iti__bh{height:12px;background-position:-504px 0px}.iti__flag.iti__bi{height:12px;background-position:-526px 0px}.iti__flag.iti__bj{height:14px;background-position:-548px 0px}.iti__flag.iti__bl{height:14px;background-position:-570px 0px}.iti__flag.iti__bm{height:10px;background-position:-592px 0px}.iti__flag.iti__bn{height:10px;background-position:-614px 0px}.iti__flag.iti__bo{height:14px;background-position:-636px 0px}.iti__flag.iti__bq{height:14px;background-position:-658px 0px}.iti__flag.iti__br{height:14px;background-position:-680px 0px}.iti__flag.iti__bs{height:10px;background-position:-702px 0px}.iti__flag.iti__bt{height:14px;background-position:-724px 0px}.iti__flag.iti__bv{height:15px;background-position:-746px 0px}.iti__flag.iti__bw{height:14px;background-position:-768px 0px}.iti__flag.iti__by{height:10px;background-position:-790px 0px}.iti__flag.iti__bz{height:14px;background-position:-812px 0px}.iti__flag.iti__ca{height:10px;background-position:-834px 0px}.iti__flag.iti__cc{height:10px;background-position:-856px 0px}.iti__flag.iti__cd{height:15px;background-position:-878px 0px}.iti__flag.iti__cf{height:14px;background-position:-900px 0px}.iti__flag.iti__cg{height:14px;background-position:-922px 0px}.iti__flag.iti__ch{height:15px;background-position:-944px 0px}.iti__flag.iti__ci{height:14px;background-position:-961px 0px}.iti__flag.iti__ck{height:10px;background-position:-983px 0px}.iti__flag.iti__cl{height:14px;background-position:-1005px 0px}.iti__flag.iti__cm{height:14px;background-position:-1027px 0px}.iti__flag.iti__cn{height:14px;background-position:-1049px 0px}.iti__flag.iti__co{height:14px;background-position:-1071px 0px}.iti__flag.iti__cp{height:14px;background-position:-1093px 0px}.iti__flag.iti__cr{height:12px;background-position:-1115px 0px}.iti__flag.iti__cu{height:10px;background-position:-1137px 0px}.iti__flag.iti__cv{height:12px;background-position:-1159px 0px}.iti__flag.iti__cw{height:14px;background-position:-1181px 0px}.iti__flag.iti__cx{height:10px;background-position:-1203px 0px}.iti__flag.iti__cy{height:14px;background-position:-1225px 0px}.iti__flag.iti__cz{height:14px;background-position:-1247px 0px}.iti__flag.iti__de{height:12px;background-position:-1269px 0px}.iti__flag.iti__dg{height:10px;background-position:-1291px 0px}.iti__flag.iti__dj{height:14px;background-position:-1313px 0px}.iti__flag.iti__dk{height:15px;background-position:-1335px 0px}.iti__flag.iti__dm{height:10px;background-position:-1357px 0px}.iti__flag.iti__do{height:14px;background-position:-1379px 0px}.iti__flag.iti__dz{height:14px;background-position:-1401px 0px}.iti__flag.iti__ea{height:14px;background-position:-1423px 0px}.iti__flag.iti__ec{height:14px;background-position:-1445px 0px}.iti__flag.iti__ee{height:13px;background-position:-1467px 0px}.iti__flag.iti__eg{height:14px;background-position:-1489px 0px}.iti__flag.iti__eh{height:10px;background-position:-1511px 0px}.iti__flag.iti__er{height:10px;background-position:-1533px 0px}.iti__flag.iti__es{height:14px;background-position:-1555px 0px}.iti__flag.iti__et{height:10px;background-position:-1577px 0px}.iti__flag.iti__eu{height:14px;background-position:-1599px 0px}.iti__flag.iti__fi{height:12px;background-position:-1621px 0px}.iti__flag.iti__fj{height:10px;background-position:-1643px 0px}.iti__flag.iti__fk{height:10px;background-position:-1665px 0px}.iti__flag.iti__fm{height:11px;background-position:-1687px 0px}.iti__flag.iti__fo{height:15px;background-position:-1709px 0px}.iti__flag.iti__fr{height:14px;background-position:-1731px 0px}.iti__flag.iti__ga{height:15px;background-position:-1753px 0px}.iti__flag.iti__gb{height:10px;background-position:-1775px 0px}.iti__flag.iti__gd{height:12px;background-position:-1797px 0px}.iti__flag.iti__ge{height:14px;background-position:-1819px 0px}.iti__flag.iti__gf{height:14px;background-position:-1841px 0px}.iti__flag.iti__gg{height:14px;background-position:-1863px 0px}.iti__flag.iti__gh{height:14px;background-position:-1885px 0px}.iti__flag.iti__gi{height:10px;background-position:-1907px 0px}.iti__flag.iti__gl{height:14px;background-position:-1929px 0px}.iti__flag.iti__gm{height:14px;background-position:-1951px 0px}.iti__flag.iti__gn{height:14px;background-position:-1973px 0px}.iti__flag.iti__gp{height:14px;background-position:-1995px 0px}.iti__flag.iti__gq{height:14px;background-position:-2017px 0px}.iti__flag.iti__gr{height:14px;background-position:-2039px 0px}.iti__flag.iti__gs{height:10px;background-position:-2061px 0px}.iti__flag.iti__gt{height:13px;background-position:-2083px 0px}.iti__flag.iti__gu{height:11px;background-position:-2105px 0px}.iti__flag.iti__gw{height:10px;background-position:-2127px 0px}.iti__flag.iti__gy{height:12px;background-position:-2149px 0px}.iti__flag.iti__hk{height:14px;background-position:-2171px 0px}.iti__flag.iti__hm{height:10px;background-position:-2193px 0px}.iti__flag.iti__hn{height:10px;background-position:-2215px 0px}.iti__flag.iti__hr{height:10px;background-position:-2237px 0px}.iti__flag.iti__ht{height:12px;background-position:-2259px 0px}.iti__flag.iti__hu{height:10px;background-position:-2281px 0px}.iti__flag.iti__ic{height:14px;background-position:-2303px 0px}.iti__flag.iti__id{height:14px;background-position:-2325px 0px}.iti__flag.iti__ie{height:10px;background-position:-2347px 0px}.iti__flag.iti__il{height:15px;background-position:-2369px 0px}.iti__flag.iti__im{height:10px;background-position:-2391px 0px}.iti__flag.iti__in{height:14px;background-position:-2413px 0px}.iti__flag.iti__io{height:10px;background-position:-2435px 0px}.iti__flag.iti__iq{height:14px;background-position:-2457px 0px}.iti__flag.iti__ir{height:12px;background-position:-2479px 0px}.iti__flag.iti__is{height:15px;background-position:-2501px 0px}.iti__flag.iti__it{height:14px;background-position:-2523px 0px}.iti__flag.iti__je{height:12px;background-position:-2545px 0px}.iti__flag.iti__jm{height:10px;background-position:-2567px 0px}.iti__flag.iti__jo{height:10px;background-position:-2589px 0px}.iti__flag.iti__jp{height:14px;background-position:-2611px 0px}.iti__flag.iti__ke{height:14px;background-position:-2633px 0px}.iti__flag.iti__kg{height:12px;background-position:-2655px 0px}.iti__flag.iti__kh{height:13px;background-position:-2677px 0px}.iti__flag.iti__ki{height:10px;background-position:-2699px 0px}.iti__flag.iti__km{height:12px;background-position:-2721px 0px}.iti__flag.iti__kn{height:14px;background-position:-2743px 0px}.iti__flag.iti__kp{height:10px;background-position:-2765px 0px}.iti__flag.iti__kr{height:14px;background-position:-2787px 0px}.iti__flag.iti__kw{height:10px;background-position:-2809px 0px}.iti__flag.iti__ky{height:10px;background-position:-2831px 0px}.iti__flag.iti__kz{height:10px;background-position:-2853px 0px}.iti__flag.iti__la{height:14px;background-position:-2875px 0px}.iti__flag.iti__lb{height:14px;background-position:-2897px 0px}.iti__flag.iti__lc{height:10px;background-position:-2919px 0px}.iti__flag.iti__li{height:12px;background-position:-2941px 0px}.iti__flag.iti__lk{height:10px;background-position:-2963px 0px}.iti__flag.iti__lr{height:11px;background-position:-2985px 0px}.iti__flag.iti__ls{height:14px;background-position:-3007px 0px}.iti__flag.iti__lt{height:12px;background-position:-3029px 0px}.iti__flag.iti__lu{height:12px;background-position:-3051px 0px}.iti__flag.iti__lv{height:10px;background-position:-3073px 0px}.iti__flag.iti__ly{height:10px;background-position:-3095px 0px}.iti__flag.iti__ma{height:14px;background-position:-3117px 0px}.iti__flag.iti__mc{height:15px;background-position:-3139px 0px}.iti__flag.iti__md{height:10px;background-position:-3160px 0px}.iti__flag.iti__me{height:10px;background-position:-3182px 0px}.iti__flag.iti__mf{height:14px;background-position:-3204px 0px}.iti__flag.iti__mg{height:14px;background-position:-3226px 0px}.iti__flag.iti__mh{height:11px;background-position:-3248px 0px}.iti__flag.iti__mk{height:10px;background-position:-3270px 0px}.iti__flag.iti__ml{height:14px;background-position:-3292px 0px}.iti__flag.iti__mm{height:14px;background-position:-3314px 0px}.iti__flag.iti__mn{height:10px;background-position:-3336px 0px}.iti__flag.iti__mo{height:14px;background-position:-3358px 0px}.iti__flag.iti__mp{height:10px;background-position:-3380px 0px}.iti__flag.iti__mq{height:14px;background-position:-3402px 0px}.iti__flag.iti__mr{height:14px;background-position:-3424px 0px}.iti__flag.iti__ms{height:10px;background-position:-3446px 0px}.iti__flag.iti__mt{height:14px;background-position:-3468px 0px}.iti__flag.iti__mu{height:14px;background-position:-3490px 0px}.iti__flag.iti__mv{height:14px;background-position:-3512px 0px}.iti__flag.iti__mw{height:14px;background-position:-3534px 0px}.iti__flag.iti__mx{height:12px;background-position:-3556px 0px}.iti__flag.iti__my{height:10px;background-position:-3578px 0px}.iti__flag.iti__mz{height:14px;background-position:-3600px 0px}.iti__flag.iti__na{height:14px;background-position:-3622px 0px}.iti__flag.iti__nc{height:10px;background-position:-3644px 0px}.iti__flag.iti__ne{height:15px;background-position:-3666px 0px}.iti__flag.iti__nf{height:10px;background-position:-3686px 0px}.iti__flag.iti__ng{height:10px;background-position:-3708px 0px}.iti__flag.iti__ni{height:12px;background-position:-3730px 0px}.iti__flag.iti__nl{height:14px;background-position:-3752px 0px}.iti__flag.iti__no{height:15px;background-position:-3774px 0px}.iti__flag.iti__np{height:15px;background-position:-3796px 0px}.iti__flag.iti__nr{height:10px;background-position:-3811px 0px}.iti__flag.iti__nu{height:10px;background-position:-3833px 0px}.iti__flag.iti__nz{height:10px;background-position:-3855px 0px}.iti__flag.iti__om{height:10px;background-position:-3877px 0px}.iti__flag.iti__pa{height:14px;background-position:-3899px 0px}.iti__flag.iti__pe{height:14px;background-position:-3921px 0px}.iti__flag.iti__pf{height:14px;background-position:-3943px 0px}.iti__flag.iti__pg{height:15px;background-position:-3965px 0px}.iti__flag.iti__ph{height:10px;background-position:-3987px 0px}.iti__flag.iti__pk{height:14px;background-position:-4009px 0px}.iti__flag.iti__pl{height:13px;background-position:-4031px 0px}.iti__flag.iti__pm{height:14px;background-position:-4053px 0px}.iti__flag.iti__pn{height:10px;background-position:-4075px 0px}.iti__flag.iti__pr{height:14px;background-position:-4097px 0px}.iti__flag.iti__ps{height:10px;background-position:-4119px 0px}.iti__flag.iti__pt{height:14px;background-position:-4141px 0px}.iti__flag.iti__pw{height:13px;background-position:-4163px 0px}.iti__flag.iti__py{height:11px;background-position:-4185px 0px}.iti__flag.iti__qa{height:8px;background-position:-4207px 0px}.iti__flag.iti__re{height:14px;background-position:-4229px 0px}.iti__flag.iti__ro{height:14px;background-position:-4251px 0px}.iti__flag.iti__rs{height:14px;background-position:-4273px 0px}.iti__flag.iti__ru{height:14px;background-position:-4295px 0px}.iti__flag.iti__rw{height:14px;background-position:-4317px 0px}.iti__flag.iti__sa{height:14px;background-position:-4339px 0px}.iti__flag.iti__sb{height:10px;background-position:-4361px 0px}.iti__flag.iti__sc{height:10px;background-position:-4383px 0px}.iti__flag.iti__sd{height:10px;background-position:-4405px 0px}.iti__flag.iti__se{height:13px;background-position:-4427px 0px}.iti__flag.iti__sg{height:14px;background-position:-4449px 0px}.iti__flag.iti__sh{height:10px;background-position:-4471px 0px}.iti__flag.iti__si{height:10px;background-position:-4493px 0px}.iti__flag.iti__sj{height:15px;background-position:-4515px 0px}.iti__flag.iti__sk{height:14px;background-position:-4537px 0px}.iti__flag.iti__sl{height:14px;background-position:-4559px 0px}.iti__flag.iti__sm{height:15px;background-position:-4581px 0px}.iti__flag.iti__sn{height:14px;background-position:-4603px 0px}.iti__flag.iti__so{height:14px;background-position:-4625px 0px}.iti__flag.iti__sr{height:14px;background-position:-4647px 0px}.iti__flag.iti__ss{height:10px;background-position:-4669px 0px}.iti__flag.iti__st{height:10px;background-position:-4691px 0px}.iti__flag.iti__sv{height:12px;background-position:-4713px 0px}.iti__flag.iti__sx{height:14px;background-position:-4735px 0px}.iti__flag.iti__sy{height:14px;background-position:-4757px 0px}.iti__flag.iti__sz{height:14px;background-position:-4779px 0px}.iti__flag.iti__ta{height:10px;background-position:-4801px 0px}.iti__flag.iti__tc{height:10px;background-position:-4823px 0px}.iti__flag.iti__td{height:14px;background-position:-4845px 0px}.iti__flag.iti__tf{height:14px;background-position:-4867px 0px}.iti__flag.iti__tg{height:13px;background-position:-4889px 0px}.iti__flag.iti__th{height:14px;background-position:-4911px 0px}.iti__flag.iti__tj{height:10px;background-position:-4933px 0px}.iti__flag.iti__tk{height:10px;background-position:-4955px 0px}.iti__flag.iti__tl{height:10px;background-position:-4977px 0px}.iti__flag.iti__tm{height:14px;background-position:-4999px 0px}.iti__flag.iti__tn{height:14px;background-position:-5021px 0px}.iti__flag.iti__to{height:10px;background-position:-5043px 0px}.iti__flag.iti__tr{height:14px;background-position:-5065px 0px}.iti__flag.iti__tt{height:12px;background-position:-5087px 0px}.iti__flag.iti__tv{height:10px;background-position:-5109px 0px}.iti__flag.iti__tw{height:14px;background-position:-5131px 0px}.iti__flag.iti__tz{height:14px;background-position:-5153px 0px}.iti__flag.iti__ua{height:14px;background-position:-5175px 0px}.iti__flag.iti__ug{height:14px;background-position:-5197px 0px}.iti__flag.iti__um{height:11px;background-position:-5219px 0px}.iti__flag.iti__un{height:14px;background-position:-5241px 0px}.iti__flag.iti__us{height:11px;background-position:-5263px 0px}.iti__flag.iti__uy{height:14px;background-position:-5285px 0px}.iti__flag.iti__uz{height:10px;background-position:-5307px 0px}.iti__flag.iti__va{height:15px;background-position:-5329px 0px}.iti__flag.iti__vc{height:14px;background-position:-5346px 0px}.iti__flag.iti__ve{height:14px;background-position:-5368px 0px}.iti__flag.iti__vg{height:10px;background-position:-5390px 0px}.iti__flag.iti__vi{height:14px;background-position:-5412px 0px}.iti__flag.iti__vn{height:14px;background-position:-5434px 0px}.iti__flag.iti__vu{height:12px;background-position:-5456px 0px}.iti__flag.iti__wf{height:14px;background-position:-5478px 0px}.iti__flag.iti__ws{height:10px;background-position:-5500px 0px}.iti__flag.iti__xk{height:15px;background-position:-5522px 0px}.iti__flag.iti__ye{height:14px;background-position:-5544px 0px}.iti__flag.iti__yt{height:14px;background-position:-5566px 0px}.iti__flag.iti__za{height:14px;background-position:-5588px 0px}.iti__flag.iti__zm{height:14px;background-position:-5610px 0px}.iti__flag.iti__zw{height:10px;background-position:-5632px 0px}.iti__flag{height:15px;box-shadow:0px 0px 1px 0px #888;background-image:url(\"https://cdn.salla.network/images/flags.png\");background-repeat:no-repeat;background-color:#f5f7f9;background-position:20px 0}@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi){.iti__flag{background-image:url(\"https://cdn.salla.network/images/flags@2x.png\")}}.iti__flag.iti__np{background-color:transparent}.hidden{display:none}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-has-error{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-has-error:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-has-error{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}.s-ltr{direction:ltr}.s-gifting-tel-input .s-tel-input-control{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.s-gifting-tel-input .s-tel-input-error-msg{display:none}.s-gifting-step-two .s-form-group.s-form-has-error .s-tel-input-control{--tw-border-opacity:1 !important;border-color:rgb(255 68 58 / var(--tw-border-opacity, 1)) !important}.s-tel-input-control{height:2.5rem;width:100%;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-tel-input-control:focus{border-color:var(--color-primary)}.s-tel-input-control:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.s-tel-input-error-msg{display:block;font-size:0.75rem;line-height:1rem;--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-tel-input-error-msg:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.s-tel-input-error-msg{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}";
7
7
 
8
8
  const SallaTelInput = /*@__PURE__*/ proxyCustomElement(class SallaTelInput extends HTMLElement {
9
- /**
10
- * Lazy load intl-tel-input library
11
- * This reduces initial bundle size by ~80-90KB
12
- */
13
- async loadTelInput() {
14
- if (this.TelInput)
15
- return;
16
- try {
17
- const telInputModule = await import('./intlTelInput.js').then(function (n) { return n.i; });
18
- this.TelInput = telInputModule.default;
19
- }
20
- catch (error) {
21
- console.error('Failed to load Tel Input:', error);
22
- salla.notify?.error?.('Failed to load phone input. Please refresh the page.');
23
- throw error;
24
- }
25
- }
26
9
  constructor() {
27
10
  super();
28
11
  this.__registerHost();
@@ -46,7 +29,26 @@ const SallaTelInput = /*@__PURE__*/ proxyCustomElement(class SallaTelInput exten
46
29
  this.invalidCountryCode = salla.lang.get('common.errors.invalid_value', { attribute: this.countryCodeLabel });
47
30
  this.invalidNumber = salla.lang.get('common.errors.invalid_value', { attribute: this.mobileLabel });
48
31
  this.errorMap = [this.invalidNumber, this.invalidCountryCode, this.tooShort, this.tooLong, this.invalidNumber];
49
- salla.lang.onLoaded(() => {
32
+ }
33
+ /**
34
+ * Lazy load intl-tel-input library
35
+ * This reduces initial bundle size by ~80-90KB
36
+ */
37
+ async loadTelInput() {
38
+ if (this.TelInput)
39
+ return;
40
+ try {
41
+ const telInputModule = await import('./intlTelInput.js').then(function (n) { return n.i; });
42
+ this.TelInput = telInputModule.default;
43
+ }
44
+ catch (error) {
45
+ console.error('Failed to load Tel Input:', error);
46
+ salla.notify?.error?.('Failed to load phone input. Please refresh the page.');
47
+ throw error;
48
+ }
49
+ }
50
+ connectedCallback() {
51
+ this.langUnsubscribe = salla.lang.subscribe(() => {
50
52
  this.mobileLabel = salla.lang.get('common.elements.mobile');
51
53
  this.countryCodeLabel = salla.lang.get('common.elements.country_code');
52
54
  this.invalidNumber = salla.lang.get('common.errors.invalid_value', { attribute: this.mobileLabel });
@@ -57,6 +59,9 @@ const SallaTelInput = /*@__PURE__*/ proxyCustomElement(class SallaTelInput exten
57
59
  this.errorMap = [this.invalidNumber, this.invalidCountryCode, this.tooShort, this.tooLong, this.invalidNumber];
58
60
  });
59
61
  }
62
+ disconnectedCallback() {
63
+ this.langUnsubscribe?.();
64
+ }
60
65
  // Init is async and v26 loads the validation utils lazily; both must settle.
61
66
  async whenReady() {
62
67
  await this.initPromise;
@@ -144,7 +149,7 @@ const SallaTelInput = /*@__PURE__*/ proxyCustomElement(class SallaTelInput exten
144
149
  }
145
150
  }
146
151
  render() {
147
- return (h(Host, { key: 'd03d6361922175ab55e0f58fd54cbbc09f89e5e6', class: "s-tel-input" }, h("input", { key: '69a1fea1c843d4d36d6b0dd59131fa82f0cb62b6', type: "tel", disabled: this.disabled, name: this.name, value: this.phone, onChange: (event) => this.handleCountryInput(event), ref: el => this.phoneInput = el, enterkeyhint: "next", autocomplete: "tel", class: "s-tel-input-control tel-input s-ltr" }), h("span", { key: 'd627bceaf3d7e812a8bc727a12359495350d51b8', class: "s-tel-input-error-msg", ref: el => this.errorMsg = el }), h("input", { key: '013c643d29f51c5ff35cd94ab62e4fcffbb8df0c', type: "hidden", name: "country_code", value: this.countryCode, ref: el => this.countryCodeInput = el, class: "country_code" })));
152
+ return (h(Host, { key: '3b574317d312de0e81facdcc3c470adcccfa1b14', class: "s-tel-input" }, h("input", { key: '6884be98619d7c86a14ac091cbbcc8bbbf78404f', type: "tel", disabled: this.disabled, name: this.name, value: this.phone, onChange: (event) => this.handleCountryInput(event), ref: el => this.phoneInput = el, enterkeyhint: "next", autocomplete: "tel", class: "s-tel-input-control tel-input s-ltr" }), h("span", { key: '670676e296168ebd3771b50fbd1fde9d1d3e27fc', class: "s-tel-input-error-msg", ref: el => this.errorMsg = el }), h("input", { key: '1c69b4e169c37a71a86cc479b06c08dc6a9d190b', type: "hidden", name: "country_code", value: this.countryCode, ref: el => this.countryCodeInput = el, class: "country_code" })));
148
153
  }
149
154
  componentDidLoad() {
150
155
  this.initPromise = this.initTelInput();
@@ -83,13 +83,18 @@ const SallaTieredOffer$1 = /*@__PURE__*/ proxyCustomElement(class SallaTieredOff
83
83
  this.handleTabClick = (tierName) => {
84
84
  this.activeTabTier = tierName;
85
85
  };
86
- salla.lang.onLoaded(() => {
86
+ }
87
+ connectedCallback() {
88
+ this.langUnsubscribe = salla.lang.subscribe(() => {
87
89
  this.loyaltyProgramText = salla.lang.get('blocks.tiered_offer.program_title');
88
90
  this.currentTierText = salla.lang.get('blocks.tiered_offer.current_tier');
89
91
  this.discountText = salla.lang.get('blocks.tiered_offer.discount');
90
92
  this.benefitText = salla.lang.get('blocks.tiered_offer.tier_description');
91
93
  });
92
94
  }
95
+ disconnectedCallback() {
96
+ this.langUnsubscribe?.();
97
+ }
93
98
  async componentWillLoad() {
94
99
  try {
95
100
  await salla.onReady();