@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
@@ -5,16 +5,16 @@ import { Host, h } from "@stencil/core";
5
5
  export class SallaCountDown {
6
6
  constructor() {
7
7
  /**
8
- * The size of the count down
9
- * */
8
+ * The size of the countdown display. Can be 'sm', 'md', or 'lg'. Default is 'md'.
9
+ */
10
10
  this.size = 'md';
11
11
  /**
12
- * The color of the count down
13
- * */
12
+ * The color theme of the countdown. Can be 'primary', 'light', or 'dark'. Default is 'dark'.
13
+ */
14
14
  this.color = 'dark';
15
15
  /**
16
- * The digits lang to show in the count down
17
- * */
16
+ * The language/format for displaying digits. 'en' for English numerals, 'auto' for localized numerals. Default is 'auto'.
17
+ */
18
18
  this.digits = 'auto';
19
19
  /**
20
20
  * If true, hides days segment when days = 0, and hides hours segment when both days and hours = 0.
@@ -35,7 +35,12 @@ export class SallaCountDown {
35
35
  this.hours = this.number(0);
36
36
  this.minutes = this.number(0);
37
37
  this.seconds = this.number(0);
38
- salla.lang.onLoaded(() => {
38
+ if (this.date && this.isValidDate(this.date)) {
39
+ this.startCountDown();
40
+ }
41
+ }
42
+ connectedCallback() {
43
+ this.langUnsubscribe = salla.lang.subscribe(() => {
39
44
  this.daysLabel = salla.lang.getWithDefault('pages.checkout.day', 'يوم');
40
45
  this.hoursLabel = salla.lang.getWithDefault('pages.checkout.hour', 'ساعة');
41
46
  this.minutesLabel = salla.lang.getWithDefault('pages.checkout.minute', 'دقيقة');
@@ -43,9 +48,9 @@ export class SallaCountDown {
43
48
  this.secondsLabel = salla.lang.getWithDefault('pages.checkout.second', 'ثانية');
44
49
  this.endLabel = salla.lang.getWithDefault('pages.checkout.offer_ended', 'انتهت مدة العرض');
45
50
  });
46
- if (this.date && this.isValidDate(this.date)) {
47
- this.startCountDown();
48
- }
51
+ }
52
+ disconnectedCallback() {
53
+ this.langUnsubscribe?.();
49
54
  }
50
55
  /**
51
56
  * End the count down
@@ -229,7 +234,7 @@ export class SallaCountDown {
229
234
  return this.renderCountDown();
230
235
  }
231
236
  render() {
232
- return (h(Host, { key: 'a16b6dc8c000eea39b990588995b07d6361231b2', class: `s-count-down-wrapper ${this.preOrder && this.isValidDate(this.date) ? 's-count-down-pre-order' : ''} ${this.horizontal ? 's-count-down-horizontal' : ''} ${this.withButton ? 's-count-down-with-button' : ''} ${this.offerEnded ? 's-count-down-ended' : ''}` }, this.renderPrefixText(), this.renderContent(), this.offerEnded && this.renderOfferEnded(), this.renderButton()));
237
+ return (h(Host, { key: '6d42cb8b06464f722d078ab4eb7117c7f698f3c3', class: `s-count-down-wrapper ${this.preOrder && this.isValidDate(this.date) ? 's-count-down-pre-order' : ''} ${this.horizontal ? 's-count-down-horizontal' : ''} ${this.withButton ? 's-count-down-with-button' : ''} ${this.offerEnded ? 's-count-down-ended' : ''}` }, this.renderPrefixText(), this.renderContent(), this.offerEnded && this.renderOfferEnded(), this.renderButton()));
233
238
  }
234
239
  static get is() { return "salla-count-down"; }
235
240
  static get originalStyleUrls() {
@@ -414,7 +419,7 @@ export class SallaCountDown {
414
419
  "optional": false,
415
420
  "docs": {
416
421
  "tags": [],
417
- "text": "If true, the count down numbers will be appear in a boxes"
422
+ "text": "Whether to display countdown numbers in boxed containers. Default is false."
418
423
  },
419
424
  "getter": false,
420
425
  "setter": false,
@@ -433,7 +438,7 @@ export class SallaCountDown {
433
438
  "optional": false,
434
439
  "docs": {
435
440
  "tags": [],
436
- "text": "The size of the count down"
441
+ "text": "The size of the countdown display. Can be 'sm', 'md', or 'lg'. Default is 'md'."
437
442
  },
438
443
  "getter": false,
439
444
  "setter": false,
@@ -453,7 +458,7 @@ export class SallaCountDown {
453
458
  "optional": false,
454
459
  "docs": {
455
460
  "tags": [],
456
- "text": "The color of the count down"
461
+ "text": "The color theme of the countdown. Can be 'primary', 'light', or 'dark'. Default is 'dark'."
457
462
  },
458
463
  "getter": false,
459
464
  "setter": false,
@@ -473,7 +478,7 @@ export class SallaCountDown {
473
478
  "optional": false,
474
479
  "docs": {
475
480
  "tags": [],
476
- "text": "Show labels for each count down number"
481
+ "text": "Whether to show labels (day, hour, minute, second) below each countdown number. Default is false."
477
482
  },
478
483
  "getter": false,
479
484
  "setter": false,
@@ -492,7 +497,7 @@ export class SallaCountDown {
492
497
  "optional": false,
493
498
  "docs": {
494
499
  "tags": [],
495
- "text": "The text to show when the count down ends"
500
+ "text": "Custom text to display when the countdown ends. If not provided, uses the default localized message."
496
501
  },
497
502
  "getter": false,
498
503
  "setter": false,
@@ -568,7 +573,7 @@ export class SallaCountDown {
568
573
  "optional": false,
569
574
  "docs": {
570
575
  "tags": [],
571
- "text": "The digits lang to show in the count down"
576
+ "text": "The language/format for displaying digits. 'en' for English numerals, 'auto' for localized numerals. Default is 'auto'."
572
577
  },
573
578
  "getter": false,
574
579
  "setter": false,
@@ -588,7 +593,7 @@ export class SallaCountDown {
588
593
  "optional": false,
589
594
  "docs": {
590
595
  "tags": [],
591
- "text": "If true, the count down will end at the end of the day"
596
+ "text": "Whether to set the countdown end time to the end of the specified day (23:59:59). Default is false."
592
597
  },
593
598
  "getter": false,
594
599
  "setter": false,
@@ -4,6 +4,10 @@
4
4
  import { h, } from "@stencil/core";
5
5
  import CameraIcon from "../../assets/svg/camera.svg";
6
6
  import { FormFieldTypes, } from "../salla-user-profile/interfaces";
7
+ /**
8
+ * The `salla-custom-fields` component renders custom form fields with validation support.
9
+ * Supports text and file upload fields with real-time validation.
10
+ */
7
11
  export class SallaCustomFields {
8
12
  constructor() {
9
13
  /** Whether the fields can be edited by the user. */
@@ -5,6 +5,7 @@ import { h, Host } from "@stencil/core";
5
5
  import { formatDuration, formatBytesAsSize, getFilePondMaxFileSize, getMaxImagesCount, getMaxVideosCount, getTotalMaxFiles, getUploadErrorMessage, isImageMimeType, isVideoMimeType, parseSizeToBytes, shouldCountGalleryFile, shouldCountGalleryLimit, usesSplitCountLimits, } from "./upload-limits";
6
6
  import CancelIcon from "../../assets/svg/cancel.svg";
7
7
  import PlayIcon from "../../assets/svg/play-circle.svg";
8
+ import { setTranslationDefault } from "../../Helpers/translate";
8
9
  const VIDEO_METADATA_TIMEOUT_MS = 10000;
9
10
  export class SallaFileUpload {
10
11
  /**
@@ -195,7 +196,9 @@ export class SallaFileUpload {
195
196
  if (!this.name) {
196
197
  this.name = 'file';
197
198
  }
198
- salla.lang.onLoaded(() => {
199
+ }
200
+ connectedCallback() {
201
+ this.langUnsubscribe = salla.lang.subscribe(() => {
199
202
  this.host.querySelectorAll('.filepond--drop-label>label').forEach(label => label.innerHTML = this.getLabel());
200
203
  if (this.filepond) {
201
204
  this.filepond.labelFileTypeNotAllowed = salla.lang.get('common.uploader.invalid_type');
@@ -216,7 +219,7 @@ export class SallaFileUpload {
216
219
  }
217
220
  const setNestedAsync = (lang, key, value) => {
218
221
  return new Promise((resolve) => {
219
- salla.helpers.setNested(salla.lang.messages[lang], key, value);
222
+ setTranslationDefault(lang, key, value);
220
223
  resolve(true);
221
224
  });
222
225
  };
@@ -880,6 +883,7 @@ export class SallaFileUpload {
880
883
  }
881
884
  }
882
885
  disconnectedCallback() {
886
+ this.langUnsubscribe?.();
883
887
  if (this.previewFilesSyncRaf != null) {
884
888
  cancelAnimationFrame(this.previewFilesSyncRaf);
885
889
  this.previewFilesSyncRaf = null;
@@ -887,12 +891,12 @@ export class SallaFileUpload {
887
891
  this.revokeAllPreviewObjectUrls();
888
892
  }
889
893
  render() {
890
- return (h(Host, { key: '77ac3b040e8c7e2b3dcc0957cbb761675b667a83', class: {
894
+ return (h(Host, { key: '68b9fdc913b0e64080e71fe0e79d8bfb2e614ccb', class: {
891
895
  "s-file-upload": true,
892
896
  "s-file-upload-profile-image": this.profileImage,
893
897
  "s-file-upload-multiple": this.allowMultiple,
894
898
  "s-file-upload-has-gallery": this.usesGalleryPreview(),
895
- } }, h("input", { key: '8fdb2cc6f73427929a77a985018e5fc7df7cbd88', type: "file", name: this.name, ref: ele => this.fileUploader = ele, required: this.required, class: "s-file-upload-wrapper s-file-upload-input", accept: this.accept }), this.allowMultiple && this.showMaxCountHint ? h("div", { class: "s-file-upload-hint s-hidden" }, this.max_count_hint(this.getTotalMaxFiles())) : '', h("input", { key: 'dfc1c8e1315c8a73685b24cd869f8df47ac42a35', class: "s-hidden", name: 'hidden-' + this.name, required: this.required, value: this.getHiddenInputValue(), ref: input => this.hiddenInput = input }), this.renderPreviewGallery()));
899
+ } }, h("input", { key: '6594ba9b70d8b0be560ea461d32cf2d0139e75d3', type: "file", name: this.name, ref: ele => this.fileUploader = ele, required: this.required, class: "s-file-upload-wrapper s-file-upload-input", accept: this.accept }), this.allowMultiple && this.showMaxCountHint ? h("div", { class: "s-file-upload-hint s-hidden" }, this.max_count_hint(this.getTotalMaxFiles())) : '', h("input", { key: 'f462d17fa2ed78a95b486e1880f4d84a6cc937b3', class: "s-hidden", name: 'hidden-' + this.name, required: this.required, value: this.getHiddenInputValue(), ref: input => this.hiddenInput = input }), this.renderPreviewGallery()));
896
900
  }
897
901
  async componentDidLoad() {
898
902
  await Salla.onReady();
@@ -10,9 +10,6 @@ export class SallaFilters {
10
10
  this.isInitialFetch = true; //the base-category auto-append may only run on the first filters::fetched
11
11
  this.filtersData = {};
12
12
  salla.event.on('filters::hidden', () => this.host.style.display = 'none');
13
- salla.lang.onLoaded(() => {
14
- this.apply = salla.lang.get('pages.checkout.apply');
15
- });
16
13
  salla.event.on('filters::fetched', ({ filters }) => {
17
14
  this.host.style.display = '';
18
15
  let freshFilterData = {};
@@ -50,6 +47,14 @@ export class SallaFilters {
50
47
  this.host.childNodes.forEach(async (widget) => widget.setWidgetHeight && await widget.setWidgetHeight());
51
48
  });
52
49
  }
50
+ connectedCallback() {
51
+ this.langUnsubscribe = salla.lang.subscribe(() => {
52
+ this.apply = salla.lang.get('pages.checkout.apply');
53
+ });
54
+ }
55
+ disconnectedCallback() {
56
+ this.langUnsubscribe?.();
57
+ }
53
58
  async componentWillLoad() {
54
59
  try {
55
60
  const searchParams = new URLSearchParams(window.location.search);
@@ -211,7 +216,7 @@ export class SallaFilters {
211
216
  this.applyFilters();
212
217
  }
213
218
  render() {
214
- return h(Host, { key: 'ef7f2cf7241193cb8b2fe24fdb0713d8c92c04c9' }, this.filters?.map(option => h("salla-filters-widget", { option: option, filtersData: this.filtersData, onChanged: ({ detail: { event, option, value } }) => {
219
+ return h(Host, { key: '7e2df6367c28317e81c8904d545e79f39e80f132' }, this.filters?.map(option => h("salla-filters-widget", { option: option, filtersData: this.filtersData, onChanged: ({ detail: { event, option, value } }) => {
215
220
  this.handleOptionChange(event, option, value);
216
221
  } })));
217
222
  }
@@ -250,7 +255,7 @@ export class SallaFilters {
250
255
  "optional": true,
251
256
  "docs": {
252
257
  "tags": [],
253
- "text": "Array of filter options"
258
+ "text": "Array of filter options to display. Each filter contains key, label, type, and values for filtering products."
254
259
  },
255
260
  "getter": false,
256
261
  "setter": false
@@ -24,11 +24,14 @@ export class SallaFiltersWidget {
24
24
  salla.onReady(() => {
25
25
  this.page = salla.config.get('page');
26
26
  });
27
- salla.lang.onLoaded(() => {
27
+ this.langUnsubscribe = salla.lang.subscribe(() => {
28
28
  this.showMoreLabel = salla.lang.getWithDefault('common.titles.more', this.showMoreLabel);
29
29
  this.showLessLabel = salla.lang.getWithDefault('common.elements.show_less', this.showLessLabel);
30
30
  });
31
31
  }
32
+ disconnectedCallback() {
33
+ this.langUnsubscribe?.();
34
+ }
32
35
  componentDidLoad() {
33
36
  // Use fixed height per item for predictable calculations
34
37
  // Each item is approximately 20px, so we calculate based on item count
@@ -170,12 +173,12 @@ export class SallaFiltersWidget {
170
173
  return h("span", { class: "s-filters-option-name" }, label);
171
174
  }
172
175
  render() {
173
- return (h(Host, { key: 'd3d9731c163a78609bb1a2f4b01ef6c3db4fc7dc', class: "s-filters-widget-container" }, h("h3", { key: 'bf1c5a033860416035ad7c74f4d9082f4c8de282', class: "s-filters-widget-title", onClick: () => this.toggleWidget() }, h("span", { key: '2a94d9a6500b3137900136fd052c731f63b0acae' }, this.option.label), h("span", { key: '69b28fcad8ebc564dbbe907a4eb4044a0ee9d6ad', class: `s-filters-widget-plusminus ${this.isOpen ? 's-filters-widget-plusminus-active' : ''}` })), h("div", { key: 'fa20429b6b3399275eecbcac390d8895c3b01350', class: "s-filters-widget-content", ref: (el) => this.widgetContent = el }, Array.isArray(this.option.values) && this.option.values.length > 5 && (h("div", { key: '98c869541f0a1d61725048296af6296e603cfa2c', class: "s-filters-widget-search-wrapper", style: { padding: '8px 0', marginBottom: '8px' } }, h("input", { key: 'f5310cfdad6980e5d991bd03934d5c1a4a014f10', type: "text", class: "s-filters-widget-search-input", placeholder: salla.lang.get('blocks.header.search_placeholder') || 'بحث...', value: this.searchQuery, onInput: (e) => this.searchQuery = e.target.value }))), h("div", { key: '317bb4bcfae88596f8a8737b2454f5f2ecae5b0d', class: "s-filters-widget-values", ref: (el) => this.widgetValues = el }, h("slot", { key: '8620064a3526e686b95a0c21e39f5b15a8ea3133' }), this.option.type !== FilterOptionTypes.RANGE
176
+ return (h(Host, { key: '1e0a234fe279cd77dbdb957d1e9852d1f59b39f4', class: "s-filters-widget-container" }, h("h3", { key: 'b2b16a758d5e3c9fc97d2bfab8aee9e98cb3eae7', class: "s-filters-widget-title", onClick: () => this.toggleWidget() }, h("span", { key: 'af2738f683dc3455adc99d6e271ed7c5217c9626' }, this.option.label), h("span", { key: '6dd325fe1977e7e1cc3e72de495bcef51a4978b4', class: `s-filters-widget-plusminus ${this.isOpen ? 's-filters-widget-plusminus-active' : ''}` })), h("div", { key: '87f90e444bc15193c631a6223b45b5d5d82b512c', class: "s-filters-widget-content", ref: (el) => this.widgetContent = el }, Array.isArray(this.option.values) && this.option.values.length > 5 && (h("div", { key: 'bde65a20317127d415c66c06e6bc1d060f959751', class: "s-filters-widget-search-wrapper", style: { padding: '8px 0', marginBottom: '8px' } }, h("input", { key: '3c06b2b5158b59652a8f91649e18922111ba8f55', type: "text", class: "s-filters-widget-search-input", placeholder: salla.lang.get('blocks.header.search_placeholder') || 'بحث...', value: this.searchQuery, onInput: (e) => this.searchQuery = e.target.value }))), h("div", { key: 'b38f4c7033259152e950d3c86ee17aeea1fcfcb8', class: "s-filters-widget-values", ref: (el) => this.widgetValues = el }, h("slot", { key: '58a69066c1fd57b3f2d034d883b3c20c14df6154' }), this.option.type !== FilterOptionTypes.RANGE
174
177
  ? this.renderFilterOption(this.option)
175
178
  : h("salla-price-range", { onChanged: (event) => {
176
179
  this.changed.emit(event.detail);
177
180
  }, ref: price => this.priceRange = price, filtersData: this.filtersData, option: this.option })), this.withLoadMore && (!this.searchQuery || this.filteredCount > this.initialItemCount) &&
178
- h("a", { key: '8c9c93c3579578f1da4fe676d4758c0bbb5b4e21', class: "s-filters-widget-more", onClick: () => this.showMore() }, !this.isShowMore ? this.showMoreLabel : this.showLessLabel))));
181
+ h("a", { key: '5124f0e1f14cdec0af61106161b769d67dc8f82f', class: "s-filters-widget-more", onClick: () => this.showMore() }, !this.isShowMore ? this.showMoreLabel : this.showLessLabel))));
179
182
  }
180
183
  static get is() { return "salla-filters-widget"; }
181
184
  static get originalStyleUrls() {
@@ -104,7 +104,12 @@ export class SallaGifting {
104
104
  };
105
105
  this.handleCountryDropdownClosed = () => { };
106
106
  this.handleRegionDropdownClosed = () => { };
107
- salla.lang.onLoaded(() => {
107
+ salla.event.on(this.defaultEvent, () => {
108
+ this.open();
109
+ });
110
+ }
111
+ connectedCallback() {
112
+ this.langUnsubscribe = salla.lang.subscribe(() => {
108
113
  this.selectImageOrUpload = salla.lang.get('blocks.buy_as_gift.select_image_or_upload');
109
114
  this.selectImageForYourGift = salla.lang.get('blocks.buy_as_gift.select_image_for_your_gift');
110
115
  this.sectionTitle = salla.lang.get('blocks.buy_as_gift.gift_the_one_you_love');
@@ -138,9 +143,9 @@ export class SallaGifting {
138
143
  this.donationRequired = salla.lang.get('pages.products.donation_amount_required');
139
144
  this.currentLang = salla.lang.locale;
140
145
  });
141
- salla.event.on(this.defaultEvent, () => {
142
- this.open();
143
- });
146
+ }
147
+ disconnectedCallback() {
148
+ this.langUnsubscribe?.();
144
149
  }
145
150
  isPhysical() {
146
151
  return this.physicalProducts || this.physical;
@@ -852,7 +857,7 @@ export class SallaGifting {
852
857
  }
853
858
  render() {
854
859
  return [
855
- h("div", { key: '02f095cd71654941cc3d11f9c9be13e019247992' }, h("salla-list-tile", { key: '5dfefabc5e6fcb2f0193bf11dcd324c517b0e649', class: this.generateClass() }, h("div", { key: '35b5b8cbf54ccbf9368cdc95d2e0505ca317a555', slot: "title" }, this.vertical ? h("span", { innerHTML: GiftSharing }) : '', h("h3", { key: '2399e07a06a808b396cf57a5233be97938e7b9b5' }, !!this.widgetTitle ? this.widgetTitle : this.sectionTitle)), h("div", { key: '12f460ce1df5e294e77b25e07d00d85370b2b939', slot: "subtitle" }, h("div", { key: '28fd4125c6f18fb976bc271ffc7c731683757bfb' }, !!this.widgetSubtitle ? this.widgetSubtitle : this.sectionSubtitle)), h("div", { key: '2ccb5745341390a9aeb80c56b4d7bb171cc2940e', slot: "action" }, h("salla-button", { key: '4e74313bd4020ae32a1c2ba30b0133da0aaf410a', color: "primary", fill: "outline", width: "wide", class: "s-gifting-widget-action", onClick: () => this.handleGiftButtonClick() }, h("slot", { key: '85ef811160f391d2fc456b13a89120407d6e4c36', name: "widget-btn-content" }, h("div", { key: '6d4d1162f7147488f8ce11d7da1bf7b82bc407b0', class: "s-gifting-widget-action-content" }, h("span", { key: 'e7aa877309bc7346fe56227365ad75c0d7c1a8dc', innerHTML: GiftSharing }), " \u00A0", h("span", { key: '5c7f1a43fa84e8e5ba74a449063fc89576626db2' }, this.sectionBtnText)))))), h("salla-modal", { key: '1de82b1f9a7fc49321eb766b1451eacd2d210480', id: this.hostId, isLoading: true, class: "s-gifting-modal", width: "sm", ref: modal => this.modal = modal }, h("div", { key: 'f3a97db3aa3a2591a1d391af61efa15ab76f1c8c', slot: "loading" }, h("div", { key: '67fb44c701b3f2771e041b91a2a438a0419ed4dd', class: "s-gifting-skeleton" }, h("div", { key: '70b2841fbafff80879cf2d68550cc9659da140a2', class: "s-gifting-modal-header" }, h("salla-skeleton", { key: '8d337e1bfe29aea80e93ed2d1e172fa4fe23e1db', type: 'circle', height: '5rem', width: '5rem' }), h("h2", { key: 'b8586d28a3dda5abbdbc341830560c157efb566c', class: "s-gifting-modal-title" }, h("div", { key: '956ec550fd7ddeb6b11f174b92d0133408f95165', class: "s-gifting-modal-badge-wrapper" }, h("salla-skeleton", { key: 'f495e7ec761c8499efb7a6e7025bd205dca49f2c', height: '15px', width: '150px' })))), h("div", { key: '28e5ad1386cebcd93a5f9307bd812dca77a66188', class: "s-gifting-skeleton-content" }, h("salla-skeleton", { key: '951dbed5a03ab246d661dfd2a59ae099b468fa89', height: '10px', width: '150px' }), h("salla-skeleton", { key: 'f200d5a5a4a258fb0755b6adb48e25606ab93bb7', height: '230px' }), h("salla-skeleton", { key: '1b4f69321a13d1ddea4ad038bfad22385b3b51ed', height: '10px', width: '150px' }), h("salla-skeleton", { key: '5d9219d3826de28b8e585bada604bff60dfc80f8', height: '30px' }), h("salla-skeleton", { key: 'a248552e288bea2e9839f381ec2d96bdb0e53cdf', height: '40px' })))), h("slot", { key: '3c8f9965766d7ce17fb20b4df72a3e46c273b23a', name: "header" }), !!this.hasError ?
860
+ h("div", { key: '2b599846ae0abb92b699be0a3dbee0d3d5f3638a' }, h("salla-list-tile", { key: '1f08c01b96dab20e82a3260e23836d56f5bcf630', class: this.generateClass() }, h("div", { key: '1f4d04b7112be42587fc35a9fa6c322321a92482', slot: "title" }, this.vertical ? h("span", { innerHTML: GiftSharing }) : '', h("h3", { key: '8ce56efcb34d19433babde1f191e4301f4c2c8d0' }, !!this.widgetTitle ? this.widgetTitle : this.sectionTitle)), h("div", { key: '6f035a3ee40a77a554492bde74bc834caa2e9a9a', slot: "subtitle" }, h("div", { key: '1e454d9ae0b95fd5b4ee05401f3edf0161338d43' }, !!this.widgetSubtitle ? this.widgetSubtitle : this.sectionSubtitle)), h("div", { key: '98df402ea7ddda379fe10897453e61acf3166559', slot: "action" }, h("salla-button", { key: '7d7c49e3d0749cf8ed86ce17709f718fece6349c', color: "primary", fill: "outline", width: "wide", class: "s-gifting-widget-action", onClick: () => this.handleGiftButtonClick() }, h("slot", { key: '6411376640ba3de3d36277981e04253fdcaaf135', name: "widget-btn-content" }, h("div", { key: '8fef0671cfa1335d6a5ab028c2fc0e978eaa11e2', class: "s-gifting-widget-action-content" }, h("span", { key: '820674db5e37dd1f3e1c3f7708bff7396955960a', innerHTML: GiftSharing }), " \u00A0", h("span", { key: 'ef3ee899f2231863f984ca13708382e273e38e0a' }, this.sectionBtnText)))))), h("salla-modal", { key: '0728b976c0f20f3713c9363e1c06b9da528da9ca', id: this.hostId, isLoading: true, class: "s-gifting-modal", width: "sm", ref: modal => this.modal = modal }, h("div", { key: '924fad1dbb5cb1ff039328bed201c07608b5e95d', slot: "loading" }, h("div", { key: '35907d0949afb5ed389fc2ee147ef73f388dc962', class: "s-gifting-skeleton" }, h("div", { key: 'c2252de89f09c4bfc1e2691b6da246408cd98003', class: "s-gifting-modal-header" }, h("salla-skeleton", { key: '1440fcf0b2dc5c3dd1d209604636bca1d68b2fd2', type: 'circle', height: '5rem', width: '5rem' }), h("h2", { key: '80527a48ec97624873100e91806d206194f4666c', class: "s-gifting-modal-title" }, h("div", { key: '095732ce0ca81c125ff7664e215c4a286bba4cd6', class: "s-gifting-modal-badge-wrapper" }, h("salla-skeleton", { key: '9e385f2e21fa305782d7c7d40df31498dfab856d', height: '15px', width: '150px' })))), h("div", { key: 'e530926826192430f094cd227a11bb9c6aee38f7', class: "s-gifting-skeleton-content" }, h("salla-skeleton", { key: '35a5d4bd57461b5edf69c19f27a85da2131b0545', height: '10px', width: '150px' }), h("salla-skeleton", { key: '747893f9ab1cc35d7fccb62dbd64e7a3a57b4a98', height: '230px' }), h("salla-skeleton", { key: '80ddf6036a735901a1295c3abd5e208c0cc92ca7', height: '10px', width: '150px' }), h("salla-skeleton", { key: '98720c569e326a5d2d04a37839d2064688f00a47', height: '30px' }), h("salla-skeleton", { key: '65f9deca24700906e43d34612b01ed95c86fae00', height: '40px' })))), h("slot", { key: '82e3b8afc2a736bdee08ef906a1824fc4a16ce5a', name: "header" }), !!this.hasError ?
856
861
  h("salla-placeholder", { alignment: "center" }, h("span", { slot: "title" }, this.errorMessage || salla.lang.get('common.errors.empty_results')), h("span", { slot: "description" }, " "))
857
862
  :
858
863
  [
@@ -875,7 +880,7 @@ export class SallaGifting {
875
880
  h("div", { class: this.step2ItemClass(this.errors?.['receiver.city_id'] ? 's-form-group s-form-has-error' : 's-form-group') }, h("label", { class: "s-form-label", htmlFor: `${this.hostId}-city` }, this.receiverCityFieldLabel), h("salla-searchable-dropdown", { placeholder: this.selectCity, items: this.displayedCities, selectedItem: this.selectedCity, loading: this.loadingCities, searching: this.searchingCities, disabled: this.loadingCities || (this.isKSA && !this.selectedRegionId), required: true, inputId: `${this.hostId}-city`, searchQuery: this.citySearchQuery, clientSearch: !this.enableCityAjaxSearch, dropUp: true, keepParentScroll: true, onItemSelected: (e) => this.handleCitySelected(e.detail), onSearchInput: (e) => this.handleCitySearch(e.detail), onDropdownClosed: () => this.handleCityDropdownClosed() }), this.errors && this.errors['receiver.city_id'] ?
876
881
  h("span", { class: "s-gifting-error" }, this.errors['receiver.city_id']) : ''), this.isPhysical() && this.cityNoticeText() &&
877
882
  h("div", { class: this.step2ItemClass('s-gifting-info') }, h("span", { innerHTML: Alert }), h("span", null, this.cityNoticeText())), !this.isPhysical() && h("div", { class: this.step2ItemClass() }, h("label", { class: "s-gifting-schedule s-gifting-clickable", htmlFor: `schedule-${this.hostId}` }, h("input", { type: "checkbox", name: 'schedule', id: `schedule-${this.hostId}`, onChange: () => this.toggleCalendar(), class: "s-checkbox" }), h("span", { class: "s-form-label" }, " ", this.sendLater, " "))), h("div", { class: this.getCalendarClasses(), ref: (el) => this.calendarFormGroup = el }, h("label", { class: "s-form-label" }, this.selectSendDateAndTime), h("salla-datetime-picker", { value: this.deliveryDate, placeholder: this.selectSendDateAndTime, "enable-time": true, "date-format": "Y-m-d h:i K", onPicked: (event) => this.handleDateTimePicker(event) }), h("span", { class: "s-gifting-calendar-hint" }, this.canNotEditOrderAfterSelectDate)), h("div", { class: this.step2ItemClass('s-gifting-step-two-footer') }, !this.skipStep1() && h("a", { href: "#!", innerHTML: LeftArrow, onClick: (e) => this.goToStep1(e) }), h("salla-button", { onClick: () => this.submitForm(), color: "primary", width: 'wide' }, h("span", null, this.sendGift)))))
878
- ], h("slot", { key: '688de0af2e48acc0d91d128a321856197861eb16', name: "footer" })))
883
+ ], h("slot", { key: '1d08c0a88ae9d95dd4c740d42451ddab1fffcfdc', name: "footer" })))
879
884
  ];
880
885
  }
881
886
  static get is() { return "salla-gifting"; }
@@ -2,6 +2,10 @@
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
+ /**
6
+ * The `salla-hook` component serves as a placeholder for dynamic content injection.
7
+ * Used by the Salla hooks system to mount elements at specific locations.
8
+ */
5
9
  export class SallaHook {
6
10
  /**
7
11
  * Mounts a given HTML element into the hook position.
@@ -11,7 +15,7 @@ export class SallaHook {
11
15
  this.host.before(element);
12
16
  }
13
17
  render() {
14
- return h(Host, { key: '579b0abf0784c9396f636da50b1fed156e5a0600' });
18
+ return h(Host, { key: '7784823f34808c715180741263cf7e7edf9c9d5f' });
15
19
  }
16
20
  async componentDidLoad() {
17
21
  // Register this component for hooks system, already on it logic to run componentDidLoad trigger
@@ -34,12 +34,17 @@ export class SallaInfiniteScroll {
34
34
  <span class="s-button-loader s-button-loader-center s-infinite-scroll-btn-loader" style="display: none"></span>
35
35
  </a>`;
36
36
  this.btnLoader = this.status.querySelector('.s-button-loader');
37
- salla.lang.onLoaded(() => {
37
+ }
38
+ connectedCallback() {
39
+ this.langUnsubscribe = salla.lang.subscribe(() => {
38
40
  this.status.querySelector('.s-button-text').innerHTML = this.loadMoreText ? this.loadMoreText : salla.lang.get('common.elements.load_more');
39
41
  this.status.querySelector('.s-infinite-scroll-last').innerHTML = salla.lang.get('common.elements.end_of_content');
40
42
  this.status.querySelector('.s-infinite-scroll-error').innerHTML = salla.lang.get('common.elements.failed_to_load_more');
41
43
  });
42
44
  }
45
+ disconnectedCallback() {
46
+ this.langUnsubscribe?.();
47
+ }
43
48
  loading(isLoading = true) {
44
49
  let btnText = this.status.querySelector('.s-button-text');
45
50
  Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { h } from "@stencil/core";
4
+ import { h, forceUpdate } from "@stencil/core";
5
5
  /**
6
6
  * @slot header - The top of the modal.
7
7
  * @slot footer - Replaces the bottom button.
@@ -87,6 +87,7 @@ export class SallaLocalizationModal {
87
87
  };
88
88
  //here we will used the currency code instead of the symbol when current language is not arabic
89
89
  this.arabicCurrencies = ["SAR", "AED", "KWD", "BHD", "QAR", "OMR", "EGP", "IQD", "LBP", "SYP", "TND", "DZD", "MAD", "YER"];
90
+ this.translationLoaded = false;
90
91
  this.languages = [];
91
92
  this.currencies = [];
92
93
  this.hasError = false;
@@ -106,6 +107,17 @@ export class SallaLocalizationModal {
106
107
  this.languageSlot = this.host.querySelector('[slot="language"]')?.innerHTML || '<label class="s-localization-modal-label" for="lang-{code}"><span>{name}</span></label>';
107
108
  this.currencySlot = this.host.querySelector('[slot="currency"]')?.innerHTML || '<label class="s-localization-modal-label" for="currency-{code}"><span>{name}</span><small class="s-localization-modal-currency">{symbol}</small></label>';
108
109
  }
110
+ connectedCallback() {
111
+ // re-render whenever translations (re)load, so the labels read via salla.lang.get() stay current
112
+ this.langUnsubscribe = salla.lang.subscribe(() => {
113
+ this.translationLoaded = true;
114
+ // translationLoaded is already true on later calls, so force the render that refreshes the labels read in render()
115
+ forceUpdate(this);
116
+ });
117
+ }
118
+ disconnectedCallback() {
119
+ this.langUnsubscribe?.();
120
+ }
109
121
  async componentWillLoad() {
110
122
  await Salla.onReady();
111
123
  await Salla.lang.onLoaded();
@@ -244,7 +256,7 @@ export class SallaLocalizationModal {
244
256
  this.showTrigger
245
257
  ? h("button", { type: "button", onClick: () => this.open(), class: "s-localization-modal-trigger-btn" }, h("span", null, this.getLanguageName()), h("span", { class: "s-localization-modal-trigger-separator" }, "|"), " ", h("span", { innerHTML: this.getCurrencySymbol() }))
246
258
  : '',
247
- h("salla-modal", { key: '1400a13aa9490e0f5f96259bea6bfcf3f98ee829', isLoading: true, class: "s-hidden", ref: modal => this.modal = modal, width: "xs" }, h("div", { key: 'b31041e8d245ce30f41d4221418856e886200848', slot: 'loading' }, h("div", { key: '5531d672f7c5e8fb8a6b06fa5ae5328f4efcf3fe', class: "s-localization-modal-skeleton" }, h("salla-skeleton", { key: '61b8fa69733a4e970e1f72ef5b09e773781e45ae', width: '25%', height: '15px' }), h("div", { key: '20dd0f3444f0a6e05730266bf964b74f307e9aab', class: "s-localization-modal-skeleton-content" }, [...Array(4)].map(() => h("div", { class: "s-localization-modal-skeleton-item" }, h("div", { class: "s-localization-modal-skeleton-item-flex" }, h("salla-skeleton", { type: 'circle', height: '16px', width: '16px' }), h("salla-skeleton", { height: '10px', width: '100px' })), h("salla-skeleton", { height: '15px', width: '20px' })))), h("salla-skeleton", { key: '5b8b4b760f741e0cd56c07ff341205e9ec7fe4d3', width: '25%', height: '15px' }), h("div", { key: '0a3f5dbfca2d6cd81effef5d873e03c9aef57d0b', class: "s-localization-modal-skeleton-content" }, [...Array(4)].map(() => h("div", { class: "s-localization-modal-skeleton-item" }, h("div", { class: "s-localization-modal-skeleton-item-flex" }, h("salla-skeleton", { type: 'circle', height: '16px', width: '16px' }), h("salla-skeleton", { height: '10px', width: '100px' })), h("salla-skeleton", { height: '15px', width: '20px' })))), h("salla-skeleton", { key: 'b068f327b3335b3f9154ac20f7f6de95864dde9a', height: '40px', width: '100%' }))), !!this.hasError ?
259
+ h("salla-modal", { key: '90691a08e6f504621d486093e0b4ce4dd6ade603', isLoading: true, class: "s-hidden", ref: modal => this.modal = modal, width: "xs" }, h("div", { key: '09c20e2dcf5840609eb6e1e124c2d8d3ceca0519', slot: 'loading' }, h("div", { key: '078f414c5c966000da4691000080912ab9e9d6e6', class: "s-localization-modal-skeleton" }, h("salla-skeleton", { key: 'd34d24597d5dca4f6e987b82886749388e118454', width: '25%', height: '15px' }), h("div", { key: '5350cec15f6091450b297ed7114638440bd4da16', class: "s-localization-modal-skeleton-content" }, [...Array(4)].map(() => h("div", { class: "s-localization-modal-skeleton-item" }, h("div", { class: "s-localization-modal-skeleton-item-flex" }, h("salla-skeleton", { type: 'circle', height: '16px', width: '16px' }), h("salla-skeleton", { height: '10px', width: '100px' })), h("salla-skeleton", { height: '15px', width: '20px' })))), h("salla-skeleton", { key: '255dd34dc36801e78ea0dd83dd9825e58de3c20f', width: '25%', height: '15px' }), h("div", { key: '2f1d1acbb0734b72f6806d3ec229ffd8fc71f9f5', class: "s-localization-modal-skeleton-content" }, [...Array(4)].map(() => h("div", { class: "s-localization-modal-skeleton-item" }, h("div", { class: "s-localization-modal-skeleton-item-flex" }, h("salla-skeleton", { type: 'circle', height: '16px', width: '16px' }), h("salla-skeleton", { height: '10px', width: '100px' })), h("salla-skeleton", { height: '15px', width: '20px' })))), h("salla-skeleton", { key: '8ffa9e5ddfe05ca91032e29f24ef9eaedd73980d', height: '40px', width: '100%' }))), !!this.hasError ?
248
260
  h("salla-placeholder", { alignment: "center" }, h("span", { slot: "description" }, this.errorMessage)) :
249
261
  h("div", { class: "s-localization-modal-inner" }, this.languages.length > 1 ?
250
262
  h("div", { class: "s-localization-modal-section" }, h("label", { class: "s-localization-modal-title" }, Salla.lang.get('common.titles.language')), h("div", { class: "s-localization-modal-section-inner" }, this.languages.length < 6 ?
@@ -346,6 +358,7 @@ export class SallaLocalizationModal {
346
358
  }
347
359
  static get states() {
348
360
  return {
361
+ "translationLoaded": {},
349
362
  "languages": {},
350
363
  "currencies": {},
351
364
  "hasError": {},
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { h } from "@stencil/core";
4
+ import { h, forceUpdate } from "@stencil/core";
5
5
  import Star2 from "../../assets/svg/star2.svg";
6
6
  import Star3 from "../../assets/svg/star3.svg";
7
7
  import CancelIcon from "../../assets/svg/cancel.svg";
@@ -34,16 +34,23 @@ export class SallaLoyalty {
34
34
  salla.onReady(() => {
35
35
  this.is_loggedin = salla.config.isUser();
36
36
  });
37
- salla.lang.onLoaded(() => {
38
- this.guestMessage = salla.lang.get('pages.loyalty_program.guest_message');
39
- this.translationLoaded = true;
40
- });
41
37
  salla.cart.event.onUpdated(cart => {
42
38
  this.prizePoints = cart.loyalty.prize?.points;
43
39
  this.prizeTitle = cart.loyalty.prize?.title;
44
40
  this.customerPoints = cart.loyalty.customer_points || this.customerPoints;
45
41
  });
46
42
  }
43
+ connectedCallback() {
44
+ this.langUnsubscribe = salla.lang.subscribe(() => {
45
+ this.guestMessage = salla.lang.get('pages.loyalty_program.guest_message');
46
+ this.translationLoaded = true;
47
+ // translationLoaded is already true on later calls, so force the render that refreshes the labels read in render()
48
+ forceUpdate(this);
49
+ });
50
+ }
51
+ disconnectedCallback() {
52
+ this.langUnsubscribe?.();
53
+ }
47
54
  onTabSelected(event) {
48
55
  const prize = this.loyaltyProgram?.prizes.find(p => p.title === event.detail?.name);
49
56
  if (prize)
@@ -46,16 +46,21 @@ export class SallaMap {
46
46
  * Sets map style.
47
47
  */
48
48
  this.theme = 'light';
49
- salla.lang.onLoaded(() => {
49
+ salla.onReady(() => {
50
+ this.apiKey = salla.config.get('store.settings.keys.maps');
51
+ });
52
+ }
53
+ connectedCallback() {
54
+ this.langUnsubscribe = salla.lang.subscribe(() => {
50
55
  this.modalActivityTitle = salla.lang.get('pages.checkout.select_your_address_from_map');
51
56
  this.confirmButtonTitle = salla.lang.get('pages.checkout.confirm_address');
52
57
  this.locateButtonTitle = salla.lang.get('pages.cart.detect_location');
53
58
  this.locateButtonEdit = salla.lang.get('common.elements.edit');
54
59
  this.searchPlaceholder = salla.lang.get('pages.checkout.search_for_address');
55
60
  });
56
- salla.onReady(() => {
57
- this.apiKey = salla.config.get('store.settings.keys.maps');
58
- });
61
+ }
62
+ disconnectedCallback() {
63
+ this.langUnsubscribe?.();
59
64
  }
60
65
  formatAddress(address) {
61
66
  return address.length > 25 ? address.substring(0, 25) + '...' : address;
@@ -327,11 +332,11 @@ export class SallaMap {
327
332
  }
328
333
  // render
329
334
  render() {
330
- return (h(Host, { key: 'a1c17b249dca7f6bf172e235b1960c634fba4e02', class: "s-map-wrapper" }, h("salla-modal", { key: 'd896fd882de7598dfe9ea1fddff571d5bd43b8ec', class: "s-map-modal-wrapper", noPadding: true, ref: modal => {
335
+ return (h(Host, { key: '3200387d0b18f6ecc5f5b6c2a464cb02516268f9', class: "s-map-wrapper" }, h("salla-modal", { key: '1a0b0181945dc1c5fa3950f7bcdf56f4aed2be1c', class: "s-map-modal-wrapper", noPadding: true, ref: modal => {
331
336
  this.locationModal = modal;
332
- } }, this.getLocationModal()), h("slot", { key: 'bf70602eba04f09ea904c0cc4cdda37ef9bc3988', name: "button" }, h("salla-button", { key: 'e9ab67288c8bc4a8ffeff9f49683b57421aaaaef', onClick: () => {
337
+ } }, this.getLocationModal()), h("slot", { key: '474ba510d9c5cbf0abc473151674e6627f374458', name: "button" }, h("salla-button", { key: '3a08552e4be8f1306f679fd44231743a377064ea', onClick: () => {
333
338
  this.open();
334
- }, color: "primary", class: "s-map-location-button" }, h("span", { key: '9e8d2a788cf5e209f00b73280b5b54701f354171', class: "s-map-location-icon", innerHTML: this.formattedAddress ? Edit : Location }), this.formattedAddress ? (h("div", null, this.locateButtonEdit, " | ", this.formatAddress(this.formattedAddress))) : (this.locateButtonTitle))), h("input", { key: '8c07eaa39a6f881147bda89f683e1ae3d9fc0a0f', class: "s-map-value-input", name: this.name, required: this.required, value: this.getLatLng(), tabIndex: -1, "aria-hidden": "true", ref: input => (this.mapInput = input) })));
339
+ }, color: "primary", class: "s-map-location-button" }, h("span", { key: '0b17fd41e0563c52e7826534877df00adcbce777', class: "s-map-location-icon", innerHTML: this.formattedAddress ? Edit : Location }), this.formattedAddress ? (h("div", null, this.locateButtonEdit, " | ", this.formatAddress(this.formattedAddress))) : (this.locateButtonTitle))), h("input", { key: 'b097866bd2d4b29af0212064897d3fc5311534e2', class: "s-map-value-input", name: this.name, required: this.required, value: this.getLatLng(), tabIndex: -1, "aria-hidden": "true", ref: input => (this.mapInput = input) })));
335
340
  }
336
341
  static get is() { return "salla-map"; }
337
342
  static get originalStyleUrls() {
@@ -11,11 +11,16 @@ export class SallaNotifications {
11
11
  this.itemPerPage = 10;
12
12
  this.no_notifications_trans = salla.lang.get('blocks.header.no_notifications');
13
13
  this.load_more_text_trans = salla.lang.get('common.elements.load_more');
14
- salla.lang.onLoaded(() => {
14
+ }
15
+ connectedCallback() {
16
+ this.langUnsubscribe = salla.lang.subscribe(() => {
15
17
  this.no_notifications_trans = salla.lang.get('blocks.header.no_notifications');
16
18
  this.load_more_text_trans = salla.lang.get('common.elements.load_more');
17
19
  });
18
20
  }
21
+ disconnectedCallback() {
22
+ this.langUnsubscribe?.();
23
+ }
19
24
  // Show/hide loading
20
25
  loading(isLoading = true) {
21
26
  let btnText = this.status?.querySelector('.s-button-text');
@@ -52,8 +52,16 @@ export class SallaOffer {
52
52
  this.get_from_text = translate('pages.offer.get_from_categories', {}, 'احصل من:');
53
53
  this.payment_methods_text = translate('pages.offer.payment_methods', {}, 'طرق الدفع');
54
54
  this.product_text = salla.lang.get('common.elements.product', 'منتج');
55
+ salla.onReady(() => {
56
+ this.currentPage = salla.config.get('page.slug');
57
+ const currencies = salla.config.get('currencies') || {};
58
+ const currencyCode = salla.config.get('user.currency_code');
59
+ this.userCurrency = currencies[currencyCode] || { symbol: '', code: currencyCode || 'SAR', name: '' };
60
+ });
61
+ }
62
+ connectedCallback() {
55
63
  // Language
56
- salla.lang.onLoaded(() => {
64
+ this.langUnsubscribe = salla.lang.subscribe(() => {
57
65
  this.offer_with_price_text = salla.lang.get('pages.offer.with_price');
58
66
  this.with_discount_text = salla.lang.get('pages.products.with_a_discount');
59
67
  this.product_discount_text = salla.lang.get('pages.products.discount');
@@ -69,12 +77,9 @@ export class SallaOffer {
69
77
  this.payment_methods_text = translate('pages.offer.payment_methods', {}, 'طرق الدفع');
70
78
  this.product_text = salla.lang.get('common.elements.product', 'منتج');
71
79
  });
72
- salla.onReady(() => {
73
- this.currentPage = salla.config.get('page.slug');
74
- const currencies = salla.config.get('currencies') || {};
75
- const currencyCode = salla.config.get('user.currency_code');
76
- this.userCurrency = currencies[currencyCode] || { symbol: '', code: currencyCode || 'SAR', name: '' };
77
- });
80
+ }
81
+ disconnectedCallback() {
82
+ this.langUnsubscribe?.();
78
83
  }
79
84
  async getEndpointByPageName() {
80
85
  if (this.currentPage == PageType.Cart) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { h } from "@stencil/core";
4
+ import { h, forceUpdate } from "@stencil/core";
5
5
  import { translate } from "../../Helpers/translate";
6
6
  import SpecialDiscountIcon from "../../assets/svg/special-discount.svg";
7
7
  import Tag from "../../assets/svg/tag.svg";
@@ -18,10 +18,6 @@ export class SallaOfferModal {
18
18
  this.translationLoaded = false;
19
19
  this.addToCartLabel = salla.lang.get("pages.cart.add_to_cart");
20
20
  salla.event.on('offer-modal::open', product_id => this.open(product_id));
21
- salla.lang.onLoaded(() => {
22
- this.addToCartLabel = salla.lang.get("pages.cart.add_to_cart");
23
- this.translationLoaded = true;
24
- });
25
21
  this.categorySlot = this.host.querySelector('[slot="category"]')?.innerHTML || `<span class="s-offer-modal-badge-icon">{tagIcon}</span><span class="s-offer-modal-badge-text">{name}</span>`;
26
22
  // this.productSlot = this.host.querySelector('[slot="product"]')?.innerHTML || this.defaultProductSlot();
27
23
  salla.event.on('offer-modal::open', product_id => this.open(product_id));
@@ -33,6 +29,17 @@ export class SallaOfferModal {
33
29
  this.open(offer.product_id);
34
30
  });
35
31
  }
32
+ connectedCallback() {
33
+ this.langUnsubscribe = salla.lang.subscribe(() => {
34
+ this.addToCartLabel = salla.lang.get("pages.cart.add_to_cart");
35
+ this.translationLoaded = true;
36
+ // translationLoaded is already true on later calls, so force the render that refreshes the labels read in render()
37
+ forceUpdate(this);
38
+ });
39
+ }
40
+ disconnectedCallback() {
41
+ this.langUnsubscribe?.();
42
+ }
36
43
  /**
37
44
  * Emits a promotion viewed event for analytics tracking
38
45
  * @param offer - The offer being viewed in the modal
@@ -230,7 +237,7 @@ export class SallaOfferModal {
230
237
  // '</div>';
231
238
  // }
232
239
  render() {
233
- return h("salla-modal", { key: 'b41e4389d7bd3ba89f7cfd10d9e2e7a8ddafbb3d', "has-skeleton": true, "sub-title": this.offer_message, ref: modal => this.modal = modal, isLoading: true, class: `s-offer-modal-type-${this.offer_type ? this.offer_type : ''}` }, h("div", { key: '2beaa53d150ba7d17e1d66d6f5a5619ff03dd7f8', slot: 'loading' }, h("div", { key: '6a35aa5676449dd74ed50e48ee62fe3dc604eb82', class: "s-offer-modal-skeleton" }, h("div", { key: 'eb0458bbe6bef1c7931ef1b29c7831b6fdd8cf94', class: "s-offer-modal-skeleton-header" }, h("salla-skeleton", { key: 'ba0dfd74e0e279633fbfa1536a1232f7b88d09c4', type: 'circle', height: '80px', width: '80px' }), h("salla-skeleton", { key: '41a501b4179488e1346a12aaf76407dfeeaa233b', height: '15px', width: '50%' }), h("salla-skeleton", { key: '60e56666921a9a1e28d070ee26864c3df488cdfb', height: '10px', width: '30%' })), h("div", { key: '7079a1b0d16c373004fc2abd7e3240349061975f', class: "s-offer-modal-skeleton-items" }, [...Array(3)].map(() => h("div", { class: "s-offer-modal-skeleton-item" }, h("salla-skeleton", { height: '9rem' }), h("div", { class: "s-offer-modal-skeleton-item-title" }, h("salla-skeleton", { height: '15px', width: '100%' })), h("div", { class: "s-offer-modal-skeleton-item-subtitle" }, h("salla-skeleton", { height: '9px', width: '50%' }), h("div", { innerHTML: Cart2 }))))), h("div", { key: '63dda9415de1c0eacced5a1135bc6193290106c7', class: "s-offer-modal-skeleton-footer" }, h("salla-skeleton", { key: '4e39d82ff6e2145f5a651747423c86929b703f6f', height: '15px', width: '50%' }), h("salla-skeleton", { key: '55115403e6710254d6f8637f05ce3f8733f7101b', height: '15px', width: '30%' })))), !this.hasError && this.offer !== null
240
+ return h("salla-modal", { key: 'beed061e843a93ff4dff12234d5bac13dde06023', "has-skeleton": true, "sub-title": this.offer_message, ref: modal => this.modal = modal, isLoading: true, class: `s-offer-modal-type-${this.offer_type ? this.offer_type : ''}` }, h("div", { key: '390f86b1c8fa2b2c278576784e0623051dddf969', slot: 'loading' }, h("div", { key: '923ac23aa2038cf64476af0b99a93a38bdd86766', class: "s-offer-modal-skeleton" }, h("div", { key: '3ec7335437554217a22aafcfe7d11b7ebf648335', class: "s-offer-modal-skeleton-header" }, h("salla-skeleton", { key: '48e244848f5c49c5b0d8406289ef71fc8dac3a90', type: 'circle', height: '80px', width: '80px' }), h("salla-skeleton", { key: 'c0663ea07d3afa6e70645f4ceb8610f595d5f4ed', height: '15px', width: '50%' }), h("salla-skeleton", { key: '152b319f3932dea0bb5bb2f55cd9c43904ee412d', height: '10px', width: '30%' })), h("div", { key: 'c91455f90f133d346b71c6c7ac9d78c6d645f264', class: "s-offer-modal-skeleton-items" }, [...Array(3)].map(() => h("div", { class: "s-offer-modal-skeleton-item" }, h("salla-skeleton", { height: '9rem' }), h("div", { class: "s-offer-modal-skeleton-item-title" }, h("salla-skeleton", { height: '15px', width: '100%' })), h("div", { class: "s-offer-modal-skeleton-item-subtitle" }, h("salla-skeleton", { height: '9px', width: '50%' }), h("div", { innerHTML: Cart2 }))))), h("div", { key: '0657191d93e3929f74734c90b082fc272f189a83', class: "s-offer-modal-skeleton-footer" }, h("salla-skeleton", { key: '2ac022a4ca2b18182e24dd10124061d9ff068094', height: '15px', width: '50%' }), h("salla-skeleton", { key: '029fca022c898eb4b519fa8f0808ca9dba1bd07a', height: '15px', width: '30%' })))), !this.hasError && this.offer !== null
234
241
  ? [h("span", { slot: 'icon', class: "s-offer-modal-header-icon", innerHTML: SpecialDiscountIcon }), this.getOfferContent(),
235
242
  this.getOfferConditions(), h("div", { class: "s-offer-modal-footer", slot: "footer" }, this.offer.formatted_date ?
236
243
  h("p", { class: "s-offer-modal-expiry" }, salla.lang.get('pages.products.offer_expires_in'), " ", this.offer.formatted_date)