@salla.sa/twilight-components 2.14.596 → 2.14.597

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/dist/cjs/{filepond-MMeFYRaC.js → filepond-Dw1N5qBB.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-Dd1aobB-.js → filepond-plugin-file-poster-C1ipzdpz.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-Be46s5wp.js → filepond-plugin-file-validate-size-DbTJ1H8k.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-Cf3OjTHE.js → filepond-plugin-file-validate-type-CDOD2WKz.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-BDX5qgng.js → filepond-plugin-image-edit-CP7JkpKx.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-ilZNc8J4.js → filepond-plugin-image-exif-orientation-Bm5i6zMO.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-C9c7tVEB.js → filepond-plugin-image-preview-INllb63L.js} +1 -1
  8. package/dist/cjs/{index-zv0p1Eys.js → index-DIEWuq3M.js} +2 -2
  9. package/dist/cjs/{intlTelInput-C8hiSJ_i.js → intlTelInput-bnpl10H7.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +10 -18
  13. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +37 -15
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +26 -20
  16. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-apps-icons.cjs.entry.js +7 -2
  19. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +50 -36
  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 +44 -23
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +10 -3
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down.cjs.entry.js +17 -12
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +7 -4
  37. package/dist/cjs/salla-filters.cjs.entry.js +10 -5
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +12 -7
  41. package/dist/cjs/salla-hook.cjs.entry.js +2 -2
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +7 -2
  43. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-localization-modal.cjs.entry.js +14 -2
  46. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty.cjs.entry.js +12 -5
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-map_3.cjs.entry.js +39 -15
  55. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notification-item_2.cjs.entry.js +7 -2
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +14 -7
  63. package/dist/cjs/salla-offer.cjs.entry.js +14 -9
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +42 -4
  65. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-summary.cjs.entry.js +7 -4
  75. package/dist/cjs/salla-order-totals-card.cjs.entry.js +2 -2
  76. package/dist/cjs/salla-orders.cjs.entry.js +10 -6
  77. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-placeholder.cjs.entry.js +10 -3
  79. package/dist/cjs/salla-price-range.cjs.entry.js +7 -4
  80. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-product-card.cjs.entry.js +14 -9
  82. package/dist/cjs/salla-product-size-guide.cjs.entry.js +9 -4
  83. package/dist/cjs/salla-products-list.cjs.entry.js +5 -4
  84. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-quick-order.cjs.entry.js +7 -2
  86. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-rating-modal.cjs.entry.js +9 -3
  88. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-scopes.cjs.entry.js +9 -2
  91. package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +8 -8
  94. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social.cjs.entry.js +8 -3
  96. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  97. package/dist/cjs/salla-tiered-offer.cjs.entry.js +7 -2
  98. package/dist/cjs/salla-trust-badges.cjs.entry.js +8 -4
  99. package/dist/cjs/salla-user-menu.cjs.entry.js +7 -1
  100. package/dist/cjs/salla-user-profile.cjs.entry.js +7 -3
  101. package/dist/cjs/salla-user-settings.cjs.entry.js +8 -3
  102. package/dist/cjs/salla-verify.cjs.entry.js +13 -6
  103. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
  106. package/dist/cjs/translate-Cvomt6Jh.js +58 -0
  107. package/dist/cjs/twilight.cjs.js +2 -2
  108. package/dist/cjs/{vanilla-picker-DRrOfZz0.js → vanilla-picker-BaSDLxjI.js} +1 -1
  109. package/dist/collection/Helpers/translate.js +36 -0
  110. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +7 -2
  111. package/dist/collection/components/salla-alert/salla-alert.js +5 -5
  112. package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +6 -1
  113. package/dist/collection/components/salla-booking-field/salla-booking-field.js +10 -4
  114. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +23 -17
  115. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +2 -0
  116. package/dist/collection/components/salla-button/salla-button.js +19 -27
  117. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +10 -3
  118. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +2 -2
  119. package/dist/collection/components/salla-comment-form/salla-comment-form.js +10 -5
  120. package/dist/collection/components/salla-comments/salla-comment-item.js +8 -2
  121. package/dist/collection/components/salla-comments/salla-comments.js +9 -3
  122. package/dist/collection/components/salla-contacts/salla-contacts.js +9 -2
  123. package/dist/collection/components/salla-count-down/salla-count-down.js +23 -18
  124. package/dist/collection/components/salla-custom-fields/salla-custom-fields.js +4 -0
  125. package/dist/collection/components/salla-file-upload/salla-file-upload.js +8 -4
  126. package/dist/collection/components/salla-filters/salla-filters.js +10 -5
  127. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +6 -3
  128. package/dist/collection/components/salla-gifting/salla-gifting.js +11 -6
  129. package/dist/collection/components/salla-hook/salla-hook.js +5 -1
  130. package/dist/collection/components/salla-infinite-scroll/salla-infinite-scroll.js +6 -1
  131. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +15 -2
  132. package/dist/collection/components/salla-loyalty/salla-loyalty.js +12 -5
  133. package/dist/collection/components/salla-map/salla-map.js +12 -7
  134. package/dist/collection/components/salla-notifications/salla-notifications.js +6 -1
  135. package/dist/collection/components/salla-offer/salla-offer.js +12 -7
  136. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +13 -6
  137. package/dist/collection/components/salla-order-branch/salla-order-branch.css +35 -0
  138. package/dist/collection/components/salla-order-branch/salla-order-branch.js +40 -2
  139. package/dist/collection/components/salla-order-summary/salla-order-summary.js +6 -3
  140. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +1 -1
  141. package/dist/collection/components/salla-orders/salla-orders.js +9 -5
  142. package/dist/collection/components/salla-placeholder/salla-placeholder.js +10 -3
  143. package/dist/collection/components/salla-price-range/salla-price-range.js +6 -3
  144. package/dist/collection/components/salla-product-availability/salla-product-availability.js +16 -7
  145. package/dist/collection/components/salla-product-card/salla-product-card.js +22 -17
  146. package/dist/collection/components/salla-product-options/salla-product-options.js +9 -6
  147. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +8 -3
  148. package/dist/collection/components/salla-products-list/salla-products-list.js +4 -3
  149. package/dist/collection/components/salla-progress-bar/salla-progress-bar.js +20 -4
  150. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +6 -1
  151. package/dist/collection/components/salla-quick-order/salla-quick-order.js +6 -1
  152. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +8 -2
  153. package/dist/collection/components/salla-rating-stars/salla-rating-stars.js +16 -16
  154. package/dist/collection/components/salla-review-card/salla-review-card.js +5 -1
  155. package/dist/collection/components/salla-reviews/salla-reviews.js +6 -1
  156. package/dist/collection/components/salla-scopes/salla-scopes.js +9 -2
  157. package/dist/collection/components/salla-skeleton/salla-skeleton.js +10 -10
  158. package/dist/collection/components/salla-slider/salla-slider.js +6 -3
  159. package/dist/collection/components/salla-social/salla-social.js +7 -2
  160. package/dist/collection/components/salla-tabs/salla-tab-header.js +3 -3
  161. package/dist/collection/components/salla-tel-input/salla-tel-input.js +24 -19
  162. package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +6 -1
  163. package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +7 -3
  164. package/dist/collection/components/salla-user-menu/salla-user-menu.js +6 -0
  165. package/dist/collection/components/salla-user-profile/salla-user-profile.js +6 -2
  166. package/dist/collection/components/salla-user-settings/salla-user-settings.js +7 -2
  167. package/dist/collection/components/salla-verify/salla-verify.js +13 -6
  168. package/dist/components/index.js +2 -2
  169. package/dist/components/salla-add-product-button2.js +7 -2
  170. package/dist/components/salla-alert.js +2 -2
  171. package/dist/components/salla-apps-icons.js +6 -1
  172. package/dist/components/salla-booking-field2.js +10 -4
  173. package/dist/components/salla-bottom-alert.js +23 -17
  174. package/dist/components/salla-bullet-delivery.js +1 -1
  175. package/dist/components/salla-button2.js +9 -17
  176. package/dist/components/salla-cart-item-offers.js +10 -3
  177. package/dist/components/salla-cart-summary.js +1 -1
  178. package/dist/components/salla-comment-form2.js +10 -5
  179. package/dist/components/salla-comment-item2.js +8 -2
  180. package/dist/components/salla-comments.js +9 -3
  181. package/dist/components/salla-contacts.js +9 -2
  182. package/dist/components/salla-count-down2.js +16 -11
  183. package/dist/components/salla-file-upload2.js +8 -4
  184. package/dist/components/salla-filters-widget2.js +6 -3
  185. package/dist/components/salla-filters.js +9 -4
  186. package/dist/components/salla-gifting.js +11 -6
  187. package/dist/components/salla-hook.js +1 -1
  188. package/dist/components/salla-infinite-scroll.js +6 -1
  189. package/dist/components/salla-localization-modal.js +15 -2
  190. package/dist/components/salla-loyalty.js +12 -5
  191. package/dist/components/salla-map2.js +12 -7
  192. package/dist/components/salla-notifications.js +6 -1
  193. package/dist/components/salla-offer-modal.js +13 -6
  194. package/dist/components/salla-offer.js +12 -7
  195. package/dist/components/salla-order-branch.js +41 -3
  196. package/dist/components/salla-order-summary.js +6 -3
  197. package/dist/components/salla-order-totals-card.js +1 -1
  198. package/dist/components/salla-orders.js +9 -5
  199. package/dist/components/salla-placeholder2.js +10 -3
  200. package/dist/components/salla-price-range2.js +6 -3
  201. package/dist/components/salla-product-availability2.js +16 -7
  202. package/dist/components/salla-product-card2.js +13 -8
  203. package/dist/components/salla-product-options2.js +9 -6
  204. package/dist/components/salla-product-size-guide.js +8 -3
  205. package/dist/components/salla-products-list2.js +4 -3
  206. package/dist/components/salla-progress-bar2.js +20 -4
  207. package/dist/components/salla-quick-buy2.js +6 -1
  208. package/dist/components/salla-quick-order.js +6 -1
  209. package/dist/components/salla-rating-modal2.js +8 -2
  210. package/dist/components/salla-rating-stars2.js +10 -10
  211. package/dist/components/salla-review-card2.js +1 -1
  212. package/dist/components/salla-reviews.js +6 -1
  213. package/dist/components/salla-scopes.js +9 -2
  214. package/dist/components/salla-skeleton2.js +7 -7
  215. package/dist/components/salla-slider2.js +6 -3
  216. package/dist/components/salla-social.js +7 -2
  217. package/dist/components/salla-tab-header2.js +3 -3
  218. package/dist/components/salla-tel-input2.js +24 -19
  219. package/dist/components/salla-tiered-offer.js +6 -1
  220. package/dist/components/salla-trust-badges.js +7 -3
  221. package/dist/components/salla-user-menu.js +6 -0
  222. package/dist/components/salla-user-profile.js +6 -2
  223. package/dist/components/salla-user-settings.js +7 -2
  224. package/dist/components/salla-verify.js +13 -6
  225. package/dist/components/translate.js +37 -1
  226. package/dist/docs.json +44 -44
  227. package/dist/esm/{filepond-okemUEVJ.js → filepond-DfLkIBAw.js} +1 -1
  228. package/dist/esm/{filepond-plugin-file-poster-He-1QDcm.js → filepond-plugin-file-poster-D3ie06bz.js} +1 -1
  229. package/dist/esm/{filepond-plugin-file-validate-size-BoQ9OZHK.js → filepond-plugin-file-validate-size-C_S_eFQe.js} +1 -1
  230. package/dist/esm/{filepond-plugin-file-validate-type-BVxE-7xU.js → filepond-plugin-file-validate-type-BE7nqQRE.js} +1 -1
  231. package/dist/esm/{filepond-plugin-image-edit-DJnNmArQ.js → filepond-plugin-image-edit-C6jDcMnX.js} +1 -1
  232. package/dist/esm/{filepond-plugin-image-exif-orientation-CgkqV9g5.js → filepond-plugin-image-exif-orientation-nKXdF-ae.js} +1 -1
  233. package/dist/esm/{filepond-plugin-image-preview-DxbixTNR.js → filepond-plugin-image-preview-Dzl44GI1.js} +1 -1
  234. package/dist/esm/{index-C1mBhG6Z.js → index-BmRQjBRH.js} +2 -2
  235. package/dist/esm/{intlTelInput-wxpsRy0u.js → intlTelInput-dGrU4Iu9.js} +1 -1
  236. package/dist/esm/loader.js +3 -3
  237. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  238. package/dist/esm/salla-accordion_6.entry.js +10 -18
  239. package/dist/esm/salla-add-product-button_5.entry.js +37 -15
  240. package/dist/esm/salla-advertisement.entry.js +1 -1
  241. package/dist/esm/salla-alert_2.entry.js +26 -20
  242. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  243. package/dist/esm/salla-applied-filters.entry.js +1 -1
  244. package/dist/esm/salla-apps-icons.entry.js +7 -2
  245. package/dist/esm/salla-attachment-view_9.entry.js +50 -36
  246. package/dist/esm/salla-badge.entry.js +1 -1
  247. package/dist/esm/salla-basket-gap.entry.js +1 -1
  248. package/dist/esm/salla-bullet-delivery_3.entry.js +2 -2
  249. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  250. package/dist/esm/salla-cart-item-offers_2.entry.js +12 -5
  251. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  252. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  253. package/dist/esm/salla-comment-factors.entry.js +1 -1
  254. package/dist/esm/salla-comment-form_9.entry.js +44 -23
  255. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  256. package/dist/esm/salla-contacts.entry.js +10 -3
  257. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  258. package/dist/esm/salla-count-down.entry.js +17 -12
  259. package/dist/esm/salla-custom-fields.entry.js +1 -1
  260. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  261. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  262. package/dist/esm/salla-filters-widget.entry.js +7 -4
  263. package/dist/esm/salla-filters.entry.js +10 -5
  264. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  265. package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
  266. package/dist/esm/salla-gifting.entry.js +12 -7
  267. package/dist/esm/salla-hook.entry.js +2 -2
  268. package/dist/esm/salla-infinite-scroll.entry.js +7 -2
  269. package/dist/esm/salla-installment.entry.js +1 -1
  270. package/dist/esm/salla-list-tile.entry.js +1 -1
  271. package/dist/esm/salla-localization-modal.entry.js +14 -2
  272. package/dist/esm/salla-login-modal.entry.js +1 -1
  273. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  274. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  275. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  276. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  277. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  278. package/dist/esm/salla-loyalty.entry.js +12 -5
  279. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  280. package/dist/esm/salla-map_3.entry.js +39 -15
  281. package/dist/esm/salla-menu.entry.js +1 -1
  282. package/dist/esm/salla-metadata.entry.js +1 -1
  283. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  284. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  285. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  286. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  287. package/dist/esm/salla-notification-item_2.entry.js +7 -2
  288. package/dist/esm/salla-offer-modal.entry.js +14 -7
  289. package/dist/esm/salla-offer.entry.js +14 -9
  290. package/dist/esm/salla-order-branch.entry.js +42 -4
  291. package/dist/esm/salla-order-cancel.entry.js +1 -1
  292. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  293. package/dist/esm/salla-order-details-options.entry.js +1 -1
  294. package/dist/esm/salla-order-details.entry.js +1 -1
  295. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  296. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  297. package/dist/esm/salla-order-edit.entry.js +1 -1
  298. package/dist/esm/salla-order-options-modal.entry.js +1 -1
  299. package/dist/esm/salla-order-shipments.entry.js +1 -1
  300. package/dist/esm/salla-order-summary.entry.js +7 -4
  301. package/dist/esm/salla-order-totals-card.entry.js +2 -2
  302. package/dist/esm/salla-orders.entry.js +10 -6
  303. package/dist/esm/salla-payments.entry.js +1 -1
  304. package/dist/esm/salla-placeholder.entry.js +10 -3
  305. package/dist/esm/salla-price-range.entry.js +7 -4
  306. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  307. package/dist/esm/salla-product-card.entry.js +14 -9
  308. package/dist/esm/salla-product-size-guide.entry.js +9 -4
  309. package/dist/esm/salla-products-list.entry.js +5 -4
  310. package/dist/esm/salla-products-slider.entry.js +1 -1
  311. package/dist/esm/salla-quick-order.entry.js +7 -2
  312. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  313. package/dist/esm/salla-rating-modal.entry.js +9 -3
  314. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  315. package/dist/esm/salla-review-order-item.entry.js +1 -1
  316. package/dist/esm/salla-scopes.entry.js +9 -2
  317. package/dist/esm/salla-search-product-card.entry.js +1 -1
  318. package/dist/esm/salla-search.entry.js +1 -1
  319. package/dist/esm/salla-skeleton.entry.js +8 -8
  320. package/dist/esm/salla-social-share.entry.js +1 -1
  321. package/dist/esm/salla-social.entry.js +8 -3
  322. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  323. package/dist/esm/salla-tiered-offer.entry.js +7 -2
  324. package/dist/esm/salla-trust-badges.entry.js +8 -4
  325. package/dist/esm/salla-user-menu.entry.js +7 -1
  326. package/dist/esm/salla-user-profile.entry.js +7 -3
  327. package/dist/esm/salla-user-settings.entry.js +8 -3
  328. package/dist/esm/salla-verify.entry.js +13 -6
  329. package/dist/esm/salla-wallet.entry.js +1 -1
  330. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  331. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  332. package/dist/esm/translate-CxrJQ3Jf.js +54 -0
  333. package/dist/esm/twilight.js +3 -3
  334. package/dist/esm/{vanilla-picker-CQEJbE9K.js → vanilla-picker-DRghK0RD.js} +1 -1
  335. package/dist/twilight/p-00e1f5fd.entry.js +4 -0
  336. package/dist/twilight/{p-da9bd7f6.entry.js → p-12338d19.entry.js} +1 -1
  337. package/dist/twilight/p-1557d0ca.entry.js +4 -0
  338. package/dist/twilight/{p-160476f0.entry.js → p-15ab81d6.entry.js} +1 -1
  339. package/dist/twilight/p-182d7bab.entry.js +4 -0
  340. package/dist/twilight/p-1908ab44.entry.js +4 -0
  341. package/dist/twilight/p-19592be3.entry.js +4 -0
  342. package/dist/twilight/{p-c82f46a9.entry.js → p-1a8c7481.entry.js} +1 -1
  343. package/dist/twilight/p-1c8bf883.entry.js +4 -0
  344. package/dist/twilight/{p-d6d72996.entry.js → p-1c8dde1a.entry.js} +1 -1
  345. package/dist/twilight/p-1f2844db.entry.js +4 -0
  346. package/dist/twilight/{p-3a465851.entry.js → p-2cf7eb3b.entry.js} +1 -1
  347. package/dist/twilight/p-2de4c351.entry.js +4 -0
  348. package/dist/twilight/{p-fd787b30.entry.js → p-2de666d8.entry.js} +1 -1
  349. package/dist/twilight/p-33e769b3.entry.js +4 -0
  350. package/dist/twilight/{p-f8aa1b23.entry.js → p-3745be6d.entry.js} +1 -1
  351. package/dist/twilight/p-39a16468.entry.js +4 -0
  352. package/dist/twilight/{p-8eb75cf8.entry.js → p-3a996401.entry.js} +1 -1
  353. package/dist/twilight/{p-81596b48.entry.js → p-3bf933f6.entry.js} +1 -1
  354. package/dist/twilight/p-3d1842e4.entry.js +4 -0
  355. package/dist/twilight/p-3f373f1e.entry.js +4 -0
  356. package/dist/twilight/{p-b3abf071.entry.js → p-3f66f717.entry.js} +1 -1
  357. package/dist/twilight/p-3fdaf198.entry.js +4 -0
  358. package/dist/twilight/p-41248f5f.entry.js +4 -0
  359. package/dist/twilight/{p-ca7593c0.entry.js → p-4235b3c2.entry.js} +1 -1
  360. package/dist/twilight/{p-caee5b0d.entry.js → p-4aa07eca.entry.js} +1 -1
  361. package/dist/twilight/{p-1080831a.entry.js → p-4b111d7a.entry.js} +1 -1
  362. package/dist/twilight/{p-d75157e0.entry.js → p-51694dd2.entry.js} +1 -1
  363. package/dist/twilight/{p-8513fec2.entry.js → p-55b5158c.entry.js} +1 -1
  364. package/dist/twilight/{p-e4589779.entry.js → p-5617656f.entry.js} +1 -1
  365. package/dist/twilight/{p-ac20a6de.entry.js → p-58dcc966.entry.js} +1 -1
  366. package/dist/twilight/p-5f35b46a.entry.js +4 -0
  367. package/dist/twilight/{p-62653d93.entry.js → p-60e1fb1a.entry.js} +1 -1
  368. package/dist/twilight/{p-7ac91ace.entry.js → p-61956814.entry.js} +1 -1
  369. package/dist/twilight/p-6854e982.entry.js +4 -0
  370. package/dist/twilight/{p-fac4da2b.entry.js → p-68919916.entry.js} +1 -1
  371. package/dist/twilight/p-6b0d6b9b.entry.js +4 -0
  372. package/dist/twilight/p-71cbf7a4.entry.js +4 -0
  373. package/dist/twilight/{p-c28395c6.entry.js → p-730101ff.entry.js} +1 -1
  374. package/dist/twilight/p-737b93c2.entry.js +4 -0
  375. package/dist/twilight/p-74ccf675.entry.js +4 -0
  376. package/dist/twilight/{p-f47a1351.entry.js → p-7aa15258.entry.js} +1 -1
  377. package/dist/twilight/{p-d6508494.entry.js → p-7c7648d7.entry.js} +1 -1
  378. package/dist/twilight/p-7dfe99e6.entry.js +4 -0
  379. package/dist/twilight/{p-54bc613c.entry.js → p-7e724019.entry.js} +1 -1
  380. package/dist/twilight/p-8248cecd.entry.js +4 -0
  381. package/dist/twilight/p-844ebeb6.entry.js +4 -0
  382. package/dist/twilight/{p-8ec0fc03.entry.js → p-87cedb04.entry.js} +1 -1
  383. package/dist/twilight/p-8b21158b.entry.js +4 -0
  384. package/dist/twilight/{p-844176cb.entry.js → p-8c10cb85.entry.js} +1 -1
  385. package/dist/twilight/p-8e2488fe.entry.js +4 -0
  386. package/dist/twilight/{p-c89282b0.entry.js → p-9108e712.entry.js} +1 -1
  387. package/dist/twilight/p-91326a74.entry.js +4 -0
  388. package/dist/twilight/{p-60d06105.entry.js → p-96f9eb1f.entry.js} +1 -1
  389. package/dist/twilight/p-99463d58.entry.js +4 -0
  390. package/dist/twilight/p-9e196eb0.entry.js +4 -0
  391. package/dist/twilight/{p-CtcjG32v.js → p-B4fbRnFh.js} +1 -1
  392. package/dist/twilight/{p-BB23a2fo.js → p-BIToxPOg.js} +1 -1
  393. package/dist/twilight/{p-C1mBhG6Z.js → p-BmRQjBRH.js} +1 -1
  394. package/dist/twilight/{p-E2n9kJc8.js → p-C1XjCBHg.js} +1 -1
  395. package/dist/twilight/{p-DiU9tYvl.js → p-C48Rktr4.js} +1 -1
  396. package/dist/twilight/{p-Bm1ywp6t.js → p-CWismw4I.js} +1 -1
  397. package/dist/twilight/p-CxrJQ3Jf.js +4 -0
  398. package/dist/twilight/{p-CJPWrlxL.js → p-DYEGhE1O.js} +1 -1
  399. package/dist/twilight/{p-Gxv67UlH.js → p-DnZfyhH5.js} +1 -1
  400. package/dist/twilight/{p-pzi0Osm7.js → p-OCGvfvVA.js} +1 -1
  401. package/dist/twilight/{p-672a709e.entry.js → p-a80acba3.entry.js} +1 -1
  402. package/dist/twilight/{p-474997dd.entry.js → p-ab1d320f.entry.js} +1 -1
  403. package/dist/twilight/{p-dbc1e40c.entry.js → p-ac7d45b6.entry.js} +1 -1
  404. package/dist/twilight/{p-e43c49e9.entry.js → p-aeafb519.entry.js} +1 -1
  405. package/dist/twilight/p-b5499627.entry.js +4 -0
  406. package/dist/twilight/{p-e98835e3.entry.js → p-b5829615.entry.js} +1 -1
  407. package/dist/twilight/p-b6c5435e.entry.js +4 -0
  408. package/dist/twilight/{p-5e426c78.entry.js → p-baaa3e72.entry.js} +1 -1
  409. package/dist/twilight/{p-5e099f96.entry.js → p-bfdde3db.entry.js} +1 -1
  410. package/dist/twilight/p-c22ea75b.entry.js +4 -0
  411. package/dist/twilight/{p-1a5d0b25.entry.js → p-c3d33aee.entry.js} +1 -1
  412. package/dist/twilight/{p-f130c67f.entry.js → p-c5d4f71c.entry.js} +1 -1
  413. package/dist/twilight/{p-a11b77df.entry.js → p-cc46f297.entry.js} +1 -1
  414. package/dist/twilight/p-cca10a34.entry.js +4 -0
  415. package/dist/twilight/p-cdbb6758.entry.js +4 -0
  416. package/dist/twilight/{p-f643bf2f.entry.js → p-cf1cc0d1.entry.js} +1 -1
  417. package/dist/twilight/{p-67d3ee58.entry.js → p-d034a3ba.entry.js} +1 -1
  418. package/dist/twilight/{p-dcb5ceda.entry.js → p-d307d40a.entry.js} +1 -1
  419. package/dist/twilight/p-d37e6c2f.entry.js +4 -0
  420. package/dist/twilight/{p-21ba0eac.entry.js → p-d3be7885.entry.js} +1 -1
  421. package/dist/twilight/{p-9d434410.entry.js → p-d542e647.entry.js} +1 -1
  422. package/dist/twilight/{p-f3985cfd.entry.js → p-db9994c2.entry.js} +1 -1
  423. package/dist/twilight/p-dd4bcce0.entry.js +4 -0
  424. package/dist/twilight/{p-de55326d.entry.js → p-de3c5f91.entry.js} +1 -1
  425. package/dist/twilight/{p-342b31ba.entry.js → p-e2d1d888.entry.js} +1 -1
  426. package/dist/twilight/{p-6602a61a.entry.js → p-e6bc3cf4.entry.js} +1 -1
  427. package/dist/twilight/{p-12a2b743.entry.js → p-e8d94147.entry.js} +1 -1
  428. package/dist/twilight/{p-e00ed6c9.entry.js → p-e9319448.entry.js} +1 -1
  429. package/dist/twilight/{p-4bde9c4e.entry.js → p-ec1589cf.entry.js} +1 -1
  430. package/dist/twilight/{p-58058ae9.entry.js → p-ece1fecd.entry.js} +1 -1
  431. package/dist/twilight/{p-97bb12a6.entry.js → p-f0180034.entry.js} +1 -1
  432. package/dist/twilight/{p-4b0eaa16.entry.js → p-f348601d.entry.js} +1 -1
  433. package/dist/twilight/{p-c28c53c3.entry.js → p-f5afeed8.entry.js} +1 -1
  434. package/dist/twilight/p-f70fa2e9.entry.js +4 -0
  435. package/dist/twilight/{p-80699771.entry.js → p-f76349b3.entry.js} +1 -1
  436. package/dist/twilight/{p-5babb989.entry.js → p-fa600113.entry.js} +1 -1
  437. package/dist/twilight/p-fde4cf31.entry.js +4 -0
  438. package/dist/twilight/{p-cb770a9e.entry.js → p-fe3645b0.entry.js} +1 -1
  439. package/dist/twilight/{p-8bdb7f71.entry.js → p-feb068a2.entry.js} +1 -1
  440. package/dist/twilight/{p-C57CqqgQ.js → p-imI5he7m.js} +1 -1
  441. package/dist/twilight/twilight.esm.js +1 -1
  442. package/dist/types/Helpers/translate.d.ts +17 -0
  443. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -1
  444. package/dist/types/components/salla-alert/salla-alert.d.ts +3 -3
  445. package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +3 -0
  446. package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +3 -0
  447. package/dist/types/components/salla-bottom-alert/salla-bottom-alert.d.ts +3 -1
  448. package/dist/types/components/salla-button/salla-button.d.ts +10 -18
  449. package/dist/types/components/salla-cart-item-offers/salla-cart-item-offers.d.ts +3 -0
  450. package/dist/types/components/salla-cart-summary/salla-cart-summary.d.ts +2 -2
  451. package/dist/types/components/salla-comment-form/salla-comment-form.d.ts +3 -0
  452. package/dist/types/components/salla-comments/salla-comment-item.d.ts +3 -1
  453. package/dist/types/components/salla-comments/salla-comments.d.ts +3 -0
  454. package/dist/types/components/salla-contacts/salla-contacts.d.ts +4 -0
  455. package/dist/types/components/salla-count-down/salla-count-down.d.ts +17 -14
  456. package/dist/types/components/salla-custom-fields/salla-custom-fields.d.ts +4 -0
  457. package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +2 -0
  458. package/dist/types/components/salla-filters/salla-filters.d.ts +4 -1
  459. package/dist/types/components/salla-filters-widget/salla-filters-widget.d.ts +2 -0
  460. package/dist/types/components/salla-gifting/salla-gifting.d.ts +3 -0
  461. package/dist/types/components/salla-hook/salla-hook.d.ts +4 -0
  462. package/dist/types/components/salla-infinite-scroll/salla-infinite-scroll.d.ts +3 -0
  463. package/dist/types/components/salla-localization-modal/salla-localization-modal.d.ts +4 -0
  464. package/dist/types/components/salla-loyalty/salla-loyalty.d.ts +3 -0
  465. package/dist/types/components/salla-map/salla-map.d.ts +3 -0
  466. package/dist/types/components/salla-notifications/salla-notifications.d.ts +3 -1
  467. package/dist/types/components/salla-offer/salla-offer.d.ts +3 -0
  468. package/dist/types/components/salla-offer-modal/salla-offer-modal.d.ts +3 -0
  469. package/dist/types/components/salla-order-branch/interfaces.d.ts +1 -0
  470. package/dist/types/components/salla-order-branch/salla-order-branch.d.ts +10 -1
  471. package/dist/types/components/salla-order-summary/salla-order-summary.d.ts +2 -0
  472. package/dist/types/components/salla-order-totals-card/interfaces.d.ts +1 -0
  473. package/dist/types/components/salla-orders/salla-orders.d.ts +3 -1
  474. package/dist/types/components/salla-placeholder/salla-placeholder.d.ts +3 -1
  475. package/dist/types/components/salla-price-range/salla-price-range.d.ts +2 -0
  476. package/dist/types/components/salla-product-availability/salla-product-availability.d.ts +4 -0
  477. package/dist/types/components/salla-product-card/salla-product-card.d.ts +12 -9
  478. package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
  479. package/dist/types/components/salla-product-size-guide/salla-product-size-guide.d.ts +3 -0
  480. package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
  481. package/dist/types/components/salla-progress-bar/salla-progress-bar.d.ts +5 -0
  482. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +3 -1
  483. package/dist/types/components/salla-quick-order/salla-quick-order.d.ts +3 -0
  484. package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +3 -0
  485. package/dist/types/components/salla-rating-stars/salla-rating-stars.d.ts +14 -14
  486. package/dist/types/components/salla-review-card/salla-review-card.d.ts +4 -0
  487. package/dist/types/components/salla-reviews/salla-reviews.d.ts +3 -0
  488. package/dist/types/components/salla-scopes/salla-scopes.d.ts +3 -0
  489. package/dist/types/components/salla-skeleton/salla-skeleton.d.ts +6 -6
  490. package/dist/types/components/salla-slider/salla-slider.d.ts +2 -0
  491. package/dist/types/components/salla-social/salla-social.d.ts +3 -0
  492. package/dist/types/components/salla-tabs/salla-tab-header.d.ts +2 -2
  493. package/dist/types/components/salla-tel-input/salla-tel-input.d.ts +3 -1
  494. package/dist/types/components/salla-tiered-offer/salla-tiered-offer.d.ts +3 -1
  495. package/dist/types/components/salla-trust-badges/salla-trust-badges.d.ts +3 -1
  496. package/dist/types/components/salla-user-menu/salla-user-menu.d.ts +3 -0
  497. package/dist/types/components/salla-user-profile/salla-user-profile.d.ts +3 -1
  498. package/dist/types/components/salla-user-settings/salla-user-settings.d.ts +3 -0
  499. package/dist/types/components/salla-verify/salla-verify.d.ts +3 -0
  500. package/dist/types/components.d.ts +128 -80
  501. package/package.json +5 -5
  502. package/dist/cjs/translate-BeU1QX_r.js +0 -20
  503. package/dist/esm/translate-CrSV-tno.js +0 -18
  504. package/dist/twilight/p-020eb2a1.entry.js +0 -4
  505. package/dist/twilight/p-06799084.entry.js +0 -4
  506. package/dist/twilight/p-0a3abfd4.entry.js +0 -4
  507. package/dist/twilight/p-0ef388be.entry.js +0 -4
  508. package/dist/twilight/p-1f99db23.entry.js +0 -4
  509. package/dist/twilight/p-232c39e9.entry.js +0 -4
  510. package/dist/twilight/p-305ed224.entry.js +0 -4
  511. package/dist/twilight/p-3a4cf66c.entry.js +0 -4
  512. package/dist/twilight/p-3c4702bb.entry.js +0 -4
  513. package/dist/twilight/p-3dcb5129.entry.js +0 -4
  514. package/dist/twilight/p-43d0c80e.entry.js +0 -4
  515. package/dist/twilight/p-50bbbd18.entry.js +0 -4
  516. package/dist/twilight/p-51c26ce7.entry.js +0 -4
  517. package/dist/twilight/p-54054ab9.entry.js +0 -4
  518. package/dist/twilight/p-5c1a36ab.entry.js +0 -4
  519. package/dist/twilight/p-5cf3929c.entry.js +0 -4
  520. package/dist/twilight/p-8028be6f.entry.js +0 -4
  521. package/dist/twilight/p-82939afe.entry.js +0 -4
  522. package/dist/twilight/p-85cff524.entry.js +0 -4
  523. package/dist/twilight/p-8dfdd6c9.entry.js +0 -4
  524. package/dist/twilight/p-92f6aa52.entry.js +0 -4
  525. package/dist/twilight/p-CrSV-tno.js +0 -4
  526. package/dist/twilight/p-a4aac112.entry.js +0 -4
  527. package/dist/twilight/p-a52bfa57.entry.js +0 -4
  528. package/dist/twilight/p-a9aadc0b.entry.js +0 -4
  529. package/dist/twilight/p-bc26490f.entry.js +0 -4
  530. package/dist/twilight/p-bef93c52.entry.js +0 -4
  531. package/dist/twilight/p-c30bfc0b.entry.js +0 -4
  532. package/dist/twilight/p-cbcca1ff.entry.js +0 -4
  533. package/dist/twilight/p-d81bcfb3.entry.js +0 -4
  534. package/dist/twilight/p-e67b2aa8.entry.js +0 -4
  535. package/dist/twilight/p-e9ce8dec.entry.js +0 -4
  536. package/dist/twilight/p-eb718f6b.entry.js +0 -4
  537. package/dist/twilight/p-ec361a66.entry.js +0 -4
  538. package/dist/twilight/p-f32de457.entry.js +0 -4
  539. package/dist/twilight/p-f626ef96.entry.js +0 -4
  540. package/dist/twilight/p-f6df7f8a.entry.js +0 -4
  541. package/dist/twilight/p-fd3bb3f2.entry.js +0 -4
@@ -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();
@@ -2,6 +2,7 @@
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { s as setTranslationDefault } from './translate.js';
5
6
 
6
7
  const sallaTrustBadgesCss = "/*!twlt*/.s-trust-badges-wrapper{display:flex;align-items:center}.s-trust-badges-wrapper>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.s-trust-badges-wrapper:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-trust-badges-label{margin-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-trust-badges-number{font-size:0.875rem;line-height:1.25rem}";
7
8
 
@@ -16,18 +17,21 @@ const SallaTrustBadges$1 = /*@__PURE__*/ proxyCustomElement(class SallaTrustBadg
16
17
  this.commercialRegisterLabel = '';
17
18
  this.freelanceLabel = '';
18
19
  }
19
- componentWillLoad() {
20
+ connectedCallback() {
20
21
  this.initializeTranslations();
21
22
  }
23
+ disconnectedCallback() {
24
+ this.langUnsubscribe?.();
25
+ }
22
26
  // The badge image is a KSA-only legal requirement.
23
27
  isVisibilityEnforced() {
24
28
  return salla.config.get('store.store_country') === 'SA';
25
29
  }
26
30
  initializeTranslations() {
27
- salla.lang.onLoaded(() => {
31
+ this.langUnsubscribe = salla.lang.subscribe(() => {
28
32
  // Set translations synchronously
29
33
  const setTranslation = (lang, key, value) => {
30
- salla.helpers.setNested(salla.lang.messages[lang], key, value);
34
+ setTranslationDefault(lang, key, value);
31
35
  };
32
36
  // Add missing translations
33
37
  setTranslation('ar.trans', 'blocks.footer.commercial_register', 'السجل التجاري');
@@ -118,6 +118,12 @@ const SallaUserMenu$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserMenu ext
118
118
  profile: UserCircle
119
119
  };
120
120
  }
121
+ connectedCallback() {
122
+ this.langUnsubscribe = salla.lang.subscribe(() => this.loadTranslations());
123
+ }
124
+ disconnectedCallback() {
125
+ this.langUnsubscribe?.();
126
+ }
121
127
  async componentWillLoad() {
122
128
  await salla.onReady();
123
129
  await salla.lang.onLoaded();
@@ -11,7 +11,6 @@ import { d as defineCustomElement$2 } from './salla-tel-input2.js';
11
11
  const sallaUserProfileCss = "/*!twlt*/:host{display:block}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));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:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input: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))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.s-user-profile-wrapper{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5rem}@media (min-width: 640px){.s-user-profile-wrapper{grid-template-columns:repeat(2, minmax(0, 1fr));gap:2rem}}.s-user-profile-field-label{margin-bottom:0.5rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-user-profile-field-error{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-user-profile-submit{margin-top:1.5rem;width:100%}.s-user-profile-filepond-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center}.s-user-profile-filepond-placeholder-icon{margin-bottom:0.25rem}.s-user-profile-filepond-placeholder-icon svg{height:1.5rem;width:1.5rem;fill:#7c8082}.s-user-profile-skeleton-wrapper{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:repeat(3, minmax(0, 1fr));gap:3rem}";
12
12
 
13
13
  const SallaUserProfile$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserProfile extends HTMLElement {
14
- // Constructor
15
14
  constructor() {
16
15
  super();
17
16
  this.__registerHost();
@@ -41,8 +40,10 @@ const SallaUserProfile$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserProfi
41
40
  this.invalid_email_trans = salla.lang.get('pages.error.invalid_value', {
42
41
  attribute: 'email',
43
42
  });
43
+ }
44
+ connectedCallback() {
44
45
  // Localization setup when the language is loaded
45
- salla.lang.onLoaded(() => {
46
+ this.langUnsubscribe = salla.lang.subscribe(() => {
46
47
  // Assigning translated strings to state properties
47
48
  // These translations are fetched from the localization object
48
49
  this.first_name_trans = salla.lang.get('pages.profile.first_name');
@@ -64,6 +65,9 @@ const SallaUserProfile$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserProfi
64
65
  });
65
66
  });
66
67
  }
68
+ disconnectedCallback() {
69
+ this.langUnsubscribe?.();
70
+ }
67
71
  // Event handler for phone number field changes
68
72
  phoneNumberFieldEventHandler(data) {
69
73
  if (!data.detail.number) {
@@ -140,11 +140,16 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
140
140
  });
141
141
  }
142
142
  });
143
- salla.lang.onLoaded(() => {
143
+ }
144
+ connectedCallback() {
145
+ this.langUnsubscribe = salla.lang.subscribe(() => {
144
146
  this.registerTranslationDefaults();
145
147
  this.loadTranslations();
146
148
  });
147
149
  }
150
+ disconnectedCallback() {
151
+ this.langUnsubscribe?.();
152
+ }
148
153
  getDaysUntilExecution(executionAt) {
149
154
  const executionMs = executionAt > 1e12 ? executionAt : executionAt * 1000;
150
155
  return Math.max(0, Math.ceil((executionMs - Date.now()) / 86400000));
@@ -559,7 +564,7 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
559
564
  return (h("salla-button", { fill: "outline", color: "danger", shape: "btn", size: "medium", width: "normal", onClick: () => this.openDeleteModal() }, this.capitalizeText(this.deleteAccount)));
560
565
  }
561
566
  render() {
562
- return (h(Host, { key: '830b118e5ceabea1a2b14298d4aba796a040ec23', class: "s-user-settings-wrapper" }, this.canHideName && (h("div", { key: '3cf9e816c9757a8b60d6529091fe14df5ea32e4e', class: "s-user-settings-section" }, h("salla-list-tile", { key: '0ffb3e8f97d6b0af34fd57721f9430cc48cc67d2' }, h("div", { key: '702c5826f7f2fe9b4dcfe358f66cef306bafb5ab', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: 'e4ed4d6b03f1df675900b6a9ea6ea53b222414de', innerHTML: UserCancel })), h("div", { key: '4f6d392cdd4080ddff359381dfaf21847fdfba13', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.hideMyName)), h("div", { key: 'e786b26d5547e83bcab8df6dfa0c1697a1dc5727', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.hideMyNameDesc)), h("div", { key: 'a875a59062a1ff9e600b3b2cac9e1265467d45d6', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: '450801ab871d8603fc79b05a0b5b8bc4d7ce4457', class: "s-toggle" }, h("input", { key: '9b79c1e08008b3c839ffe2492bf160b0e51c30d8', class: "s-toggle-input", checked: this.isHiddenName, onChange: e => this.toggleSetting('is_hidden_name', e), type: "checkbox" }), h("div", { key: 'ca0807167186af65c389afd1f6db8487c61aa7cf', class: "s-toggle-switcher" })))))), h("div", { key: '57b71f67259053faad864b1c81a496b4cb0792f6', class: "s-user-settings-section" }, h("salla-list-tile", { key: '5f59cf890492310d734e3e3de92f5866280993c1' }, h("div", { key: 'a3d39ee7bc01fb41060e8447d566a721f0638673', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: 'ebe6f58818f3954091ec278f7dd0d5b947e6bf01', innerHTML: Bullhorn })), h("div", { key: '68f3f48970a343238d9a221cb5581584db5695a8', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.promotionalMsgs)), h("div", { key: '2b3edd4333a7730eae644023a021d49a57112fb9', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.promotionalMsgsDesc)), h("div", { key: '0f406c80ed900ab42b5eaa4148b27e3db6222a0a', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: 'e0b42fd7b6df963de51ca8e9ddd06a1710589760', class: "s-toggle" }, h("input", { key: 'e67b1189631ea46e58fa12228b4d357a621f4cc6', class: "s-toggle-input", checked: this.isNotifiable, onChange: e => this.toggleSetting('is_notifiable', e), type: "checkbox" }), h("div", { key: '52620a74be33301cbcb31d60d80919d99e342b2f', class: "s-toggle-switcher" }))))), this.isDeleteAccountEnabled ? (h("div", { class: "s-user-settings-section s-user-settings-section-delete-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, this.renderUserDeleteIcon()), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deleteAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.isDeletePending ? this.deleteAccountPending : this.deleteAccountDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, this.renderDeleteSectionAction())))) : (h("div", { class: "s-user-settings-section s-user-settings-section-deactivate-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, h("span", { innerHTML: UserOff })), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deactivateAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.deactivateDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, h("salla-button", { fill: "outline", color: "danger", shape: "btn", size: "medium", width: "normal", onClick: () => this.openDeactivateModal() }, this.capitalizeText(this.deactivateAccount)))))), this.isDeleteAccountEnabled ? (h("salla-modal", { id: "salla-user-settings-delete-modal", width: "xs", centered: true, showBack: this.currentStep === 'otp', isClosable: this.currentStep !== 'success', iconStyle: this.currentStep === 'success' ? 'success' : undefined, onModalVisibilityChanged: e => this.handleModalVisibilityChanged(e), onModalBack: () => this.goBackFromOtp(), ref: modal => (this.confirmationModal = modal) }, this.currentStep !== 'success' ? (h("span", { slot: "icon", class: "s-user-settings-delete-icon" }, this.renderUserDeleteIcon())) : null, h("div", { key: this.currentStep, class: "s-user-settings-delete-step" }, this.renderDeleteStep()))) : (h("salla-modal", { width: "sm", subTitle: this.capitalizeText(this.sorryForLeavingText), ref: modal => (this.confirmationModal = modal) }, h("span", { slot: "icon", class: "s-user-settings-confirmation-icon", innerHTML: UserOff }), h("div", { class: "s-user-settings-confirmation" }, h("div", { class: "s-user-settings-confirmation-warning" }, this.capitalizeText(this.warningText)), h("div", { class: "s-user-settings-confirmation-actions" }, h("salla-button", { width: "wide", onClick: () => this.confirmationModal.close() }, this.capitalizeText(this.keepAccount)), h("salla-button", { fill: "outline", loading: this.buttonLoading, width: "wide", onClick: () => this.confirmDeactivateAccount() }, this.capitalizeText(this.deactivateAccount))))))));
567
+ return (h(Host, { key: '371350c4fcfd92a9434000b1390cb5ab01a92cc5', class: "s-user-settings-wrapper" }, this.canHideName && (h("div", { key: '4e4ade371cc81d7e4c5750f5341f30bfcfc082a6', class: "s-user-settings-section" }, h("salla-list-tile", { key: 'fd23340814c525c686f9c94e17bc6a3d2182ac1e' }, h("div", { key: 'd0cfc9df3a6072335133ac2817ed9afa34ea489e', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: '17546bf4c7931fafdb769168c6cb1788303a6312', innerHTML: UserCancel })), h("div", { key: '09ec636514d69b741a3cd1a91d5599d0ff34cca1', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.hideMyName)), h("div", { key: 'f69abae297492ed509475590b2623745efb30f03', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.hideMyNameDesc)), h("div", { key: '17c0191aae2401b8a1cd22942a5acecc0dfe1c62', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: '6b55ddc3ec0a01767f870e279ae7bfad9f43663e', class: "s-toggle" }, h("input", { key: '18af334c71b48528543de61a9c3a71a73dc054b5', class: "s-toggle-input", checked: this.isHiddenName, onChange: e => this.toggleSetting('is_hidden_name', e), type: "checkbox" }), h("div", { key: 'c90548df6ff7dc5beceeb2347545923ea4de096e', class: "s-toggle-switcher" })))))), h("div", { key: 'c471b3a73abbfbc1a894e5f2c9fcb8af4ea085f5', class: "s-user-settings-section" }, h("salla-list-tile", { key: 'a906c43c0b227d6f757ec919047cfade9192cdc4' }, h("div", { key: '7e4c1375e64883c3465393f855a9faa987137bc1', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: '5d8ee4cb69ddf765ddb6c108594c7de4cbedd078', innerHTML: Bullhorn })), h("div", { key: '4e0e5b84822e98234be621eab4150c48581e104b', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.promotionalMsgs)), h("div", { key: 'ac8521a039e4e869cb1aeea7213df8b70ce87bb7', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.promotionalMsgsDesc)), h("div", { key: '6caa3b3d1fe8eadc194ad44a4e2299f9a95018ea', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: '37a26623047ef4cb98f7bbdb8715b515488c5ac0', class: "s-toggle" }, h("input", { key: 'f74fbb125afb8743fc981672ffa56b129c4ed2ed', class: "s-toggle-input", checked: this.isNotifiable, onChange: e => this.toggleSetting('is_notifiable', e), type: "checkbox" }), h("div", { key: '45b367693d63424e859d4dce5538a2ee37ff76a7', class: "s-toggle-switcher" }))))), this.isDeleteAccountEnabled ? (h("div", { class: "s-user-settings-section s-user-settings-section-delete-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, this.renderUserDeleteIcon()), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deleteAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.isDeletePending ? this.deleteAccountPending : this.deleteAccountDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, this.renderDeleteSectionAction())))) : (h("div", { class: "s-user-settings-section s-user-settings-section-deactivate-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, h("span", { innerHTML: UserOff })), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deactivateAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.deactivateDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, h("salla-button", { fill: "outline", color: "danger", shape: "btn", size: "medium", width: "normal", onClick: () => this.openDeactivateModal() }, this.capitalizeText(this.deactivateAccount)))))), this.isDeleteAccountEnabled ? (h("salla-modal", { id: "salla-user-settings-delete-modal", width: "xs", centered: true, showBack: this.currentStep === 'otp', isClosable: this.currentStep !== 'success', iconStyle: this.currentStep === 'success' ? 'success' : undefined, onModalVisibilityChanged: e => this.handleModalVisibilityChanged(e), onModalBack: () => this.goBackFromOtp(), ref: modal => (this.confirmationModal = modal) }, this.currentStep !== 'success' ? (h("span", { slot: "icon", class: "s-user-settings-delete-icon" }, this.renderUserDeleteIcon())) : null, h("div", { key: this.currentStep, class: "s-user-settings-delete-step" }, this.renderDeleteStep()))) : (h("salla-modal", { width: "sm", subTitle: this.capitalizeText(this.sorryForLeavingText), ref: modal => (this.confirmationModal = modal) }, h("span", { slot: "icon", class: "s-user-settings-confirmation-icon", innerHTML: UserOff }), h("div", { class: "s-user-settings-confirmation" }, h("div", { class: "s-user-settings-confirmation-warning" }, this.capitalizeText(this.warningText)), h("div", { class: "s-user-settings-confirmation-actions" }, h("salla-button", { width: "wide", onClick: () => this.confirmationModal.close() }, this.capitalizeText(this.keepAccount)), h("salla-button", { fill: "outline", loading: this.buttonLoading, width: "wide", onClick: () => this.confirmDeactivateAccount() }, this.capitalizeText(this.deactivateAccount))))))));
563
568
  }
564
569
  static get style() { return sallaUserSettingsCss; }
565
570
  }, [0, "salla-user-settings", {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
4
+ import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
5
  import { M as MailIcon } from './mail.js';
6
6
  import { d as defineCustomElement$4 } from './salla-button2.js';
7
7
  import { d as defineCustomElement$3 } from './salla-loading2.js';
@@ -43,11 +43,6 @@ const SallaVerify$1 = /*@__PURE__*/ proxyCustomElement(class SallaVerify extends
43
43
  * to use: `salla.api.auth.verify` or `salla.profile.verify`
44
44
  */
45
45
  this.isProfileVerify = false;
46
- salla.lang.onLoaded(() => {
47
- this.translationLoaded = true;
48
- this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);
49
- this.modal?.setTitle(this.title);
50
- });
51
46
  if (this.display == 'inline') {
52
47
  this.modal = { open: () => '', close: () => '', setTitle: () => '' };
53
48
  return;
@@ -73,6 +68,18 @@ const SallaVerify$1 = /*@__PURE__*/ proxyCustomElement(class SallaVerify extends
73
68
  this.timer.innerHTML = '30 : 00';
74
69
  });
75
70
  }
71
+ connectedCallback() {
72
+ this.langUnsubscribe = salla.lang.subscribe(() => {
73
+ this.translationLoaded = true;
74
+ this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);
75
+ this.modal?.setTitle(this.title);
76
+ // translationLoaded is already true on later calls, so force the render that refreshes the labels read in render()
77
+ forceUpdate(this);
78
+ });
79
+ }
80
+ disconnectedCallback() {
81
+ this.langUnsubscribe?.();
82
+ }
76
83
  splitNumber(e) {
77
84
  this.resetError();
78
85
  let data = e.data || e.target.value; // Chrome doesn't get the e.data, it's always empty, fallback to value then.
@@ -14,5 +14,41 @@ function translate(key, replacements, fallback) {
14
14
  const value = salla.lang.get(key, replacements);
15
15
  return !value || value === key ? fallback : value;
16
16
  }
17
+ /**
18
+ * The value stored for `key` in one locale bucket of `salla.lang.messages` (e.g. `'en.trans'`).
19
+ * Read the bucket directly: `salla.lang.get()` falls back to English, so it can't tell which locale is missing.
20
+ */
21
+ function getLocaleTranslation(locale, key) {
22
+ return key.split('.').reduce((node, part) => node?.[part], salla.lang.messages?.[locale]);
23
+ }
24
+ /**
25
+ * Register bundled ar/en defaults only where a locale has no translation for the key yet.
26
+ *
27
+ * `salla.lang.addBulk()` overwrites, and a `salla.lang.subscribe()` callback runs again on every
28
+ * `salla.lang.setMessages()`, so adding unconditionally would replace the store's own text for these keys.
29
+ */
30
+ function addMissingTranslations(defaults) {
31
+ const missing = Object.entries(defaults).reduce((acc, [key, translations]) => {
32
+ Object.entries(translations).forEach(([locale, value]) => {
33
+ if (getLocaleTranslation(`${locale}.trans`, key) === undefined) {
34
+ (acc[key] = acc[key] || {})[locale] = value;
35
+ }
36
+ });
37
+ return acc;
38
+ }, {});
39
+ if (Object.keys(missing).length) {
40
+ salla.lang.addBulk(missing);
41
+ }
42
+ }
43
+ /**
44
+ * Set a bundled default in one locale bucket of `salla.lang.messages` (e.g. `'en.trans'`), unless that key
45
+ * already has a value there. Same reason as {@link addMissingTranslations}: `setNested()` overwrites.
46
+ */
47
+ function setTranslationDefault(locale, key, value) {
48
+ const messages = salla.lang.messages?.[locale];
49
+ if (messages && getLocaleTranslation(locale, key) === undefined) {
50
+ salla.helpers.setNested(messages, key, value);
51
+ }
52
+ }
17
53
 
18
- export { translate as t };
54
+ export { addMissingTranslations as a, setTranslationDefault as s, translate as t };