@salla.sa/twilight-components 2.14.598 → 2.14.600

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 (385) hide show
  1. package/dist/cjs/{filepond-Yrcu23Ew.js → filepond-DVmQ7csb.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-DRez16xM.js → filepond-plugin-file-poster-DMSpzTqe.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-H6Ijvhk2.js → filepond-plugin-file-validate-size-D_ptbEIk.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-ozbX9Tb-.js → filepond-plugin-file-validate-type-0yFqmcfN.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-CynCgK8H.js → filepond-plugin-image-edit-E7sYYAWn.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-C18fCqoh.js → filepond-plugin-image-exif-orientation-DbrEAQoa.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-FiRPNiZp.js → filepond-plugin-image-preview-DO_tpcG1.js} +1 -1
  8. package/dist/cjs/{index-CpkvCUQ3.js → index-Bw9ZFzBG.js} +2 -2
  9. package/dist/cjs/{intlTelInput-dW1ObsSS.js → intlTelInput-DxYQu3W_.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +4 -4
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
  13. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +2 -2
  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 +50 -19
  19. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +22 -13
  20. package/dist/cjs/salla-badge.cjs.entry.js +2 -2
  21. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-form_9.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +60 -29
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-options-modal.cjs.entry.js +5 -5
  73. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-totals-card.cjs.entry.js +49 -7
  76. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-scopes.cjs.entry.js +3 -3
  91. package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-search.cjs.entry.js +12 -2
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tab-content_3.cjs.entry.js +24 -8
  97. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  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/ssr-helpers-BjD2_F8m.js +48 -0
  107. package/dist/cjs/twilight.cjs.js +2 -2
  108. package/dist/cjs/{vanilla-picker-CSaDVE6R.js → vanilla-picker-CcRVM0uV.js} +1 -1
  109. package/dist/collection/collection-manifest.json +1 -1
  110. package/dist/collection/components/salla-accordion/salla-accordion-body.js +1 -1
  111. package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
  112. package/dist/collection/components/salla-accordion/salla-accordion.js +1 -1
  113. package/dist/collection/components/salla-alert/salla-alert.js +1 -1
  114. package/dist/collection/components/salla-apps-icons/salla-apps-icons.css +3 -0
  115. package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +108 -32
  116. package/dist/collection/components/salla-apps-icons/salla-apps-icons.types.js +1 -0
  117. package/dist/collection/components/salla-badge/salla-badge.js +1 -1
  118. package/dist/collection/components/salla-booking-field/salla-booking-field.js +21 -6
  119. package/dist/collection/components/salla-contacts/salla-contacts.js +114 -37
  120. package/dist/collection/components/salla-contacts/salla-contacts.types.js +1 -0
  121. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
  122. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +4 -4
  123. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +76 -7
  124. package/dist/collection/components/salla-scopes/salla-scopes.css +14 -0
  125. package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
  126. package/dist/collection/components/salla-search/salla-search.js +11 -1
  127. package/dist/collection/components/salla-tabs/salla-tab-content.js +9 -2
  128. package/dist/collection/components/salla-tabs/salla-tabs.js +36 -8
  129. package/dist/collection/utils/ssr-helpers.js +105 -0
  130. package/dist/components/index.js +2 -2
  131. package/dist/components/salla-accordion-body2.js +1 -1
  132. package/dist/components/salla-accordion-head2.js +2 -2
  133. package/dist/components/salla-accordion2.js +1 -1
  134. package/dist/components/salla-alert.js +1 -1
  135. package/dist/components/salla-apps-icons.js +53 -20
  136. package/dist/components/salla-badge2.js +1 -1
  137. package/dist/components/salla-booking-field2.js +12 -3
  138. package/dist/components/salla-contacts.js +62 -30
  139. package/dist/components/salla-order-options-modal2.js +4 -4
  140. package/dist/components/salla-order-totals-card.js +50 -6
  141. package/dist/components/salla-scopes.js +2 -2
  142. package/dist/components/salla-search.js +11 -1
  143. package/dist/components/salla-tab-content2.js +8 -1
  144. package/dist/components/salla-tabs2.js +17 -7
  145. package/dist/components/ssr-helpers.js +46 -0
  146. package/dist/docs.json +255 -34
  147. package/dist/esm/{filepond-Cqatu146.js → filepond-CMtCLsIc.js} +1 -1
  148. package/dist/esm/{filepond-plugin-file-poster-DbVXhgv4.js → filepond-plugin-file-poster-OjOFU-jw.js} +1 -1
  149. package/dist/esm/{filepond-plugin-file-validate-size-BpJPambh.js → filepond-plugin-file-validate-size-BFCz_KY1.js} +1 -1
  150. package/dist/esm/{filepond-plugin-file-validate-type-3Qrskyxw.js → filepond-plugin-file-validate-type-BaPcxnrR.js} +1 -1
  151. package/dist/esm/{filepond-plugin-image-edit-Cjy7cOV1.js → filepond-plugin-image-edit-D_tfXMIg.js} +1 -1
  152. package/dist/esm/{filepond-plugin-image-exif-orientation-DYM12Yp-.js → filepond-plugin-image-exif-orientation-DS2k4xg9.js} +1 -1
  153. package/dist/esm/{filepond-plugin-image-preview-C9nMEHVX.js → filepond-plugin-image-preview-B6bJkNCH.js} +1 -1
  154. package/dist/esm/{index-noRE1pbw.js → index-C670SYee.js} +2 -2
  155. package/dist/esm/{intlTelInput-CiinYrbq.js → intlTelInput-BUOxAmWZ.js} +1 -1
  156. package/dist/esm/loader.js +3 -3
  157. package/dist/esm/salla-accordion-body_2.entry.js +4 -4
  158. package/dist/esm/salla-accordion_6.entry.js +2 -2
  159. package/dist/esm/salla-add-product-button_5.entry.js +1 -1
  160. package/dist/esm/salla-advertisement.entry.js +1 -1
  161. package/dist/esm/salla-alert_2.entry.js +2 -2
  162. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  163. package/dist/esm/salla-applied-filters.entry.js +1 -1
  164. package/dist/esm/salla-apps-icons.entry.js +50 -19
  165. package/dist/esm/salla-attachment-view_9.entry.js +22 -13
  166. package/dist/esm/salla-badge.entry.js +2 -2
  167. package/dist/esm/salla-basket-gap.entry.js +1 -1
  168. package/dist/esm/salla-bullet-delivery_3.entry.js +1 -1
  169. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  170. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  171. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  172. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  173. package/dist/esm/salla-comment-factors.entry.js +1 -1
  174. package/dist/esm/salla-comment-form_9.entry.js +1 -1
  175. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  176. package/dist/esm/salla-contacts.entry.js +60 -29
  177. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  178. package/dist/esm/salla-count-down.entry.js +1 -1
  179. package/dist/esm/salla-custom-fields.entry.js +1 -1
  180. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  181. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  182. package/dist/esm/salla-filters-widget.entry.js +1 -1
  183. package/dist/esm/salla-filters.entry.js +1 -1
  184. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  185. package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
  186. package/dist/esm/salla-gifting.entry.js +1 -1
  187. package/dist/esm/salla-hook.entry.js +1 -1
  188. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  189. package/dist/esm/salla-installment.entry.js +1 -1
  190. package/dist/esm/salla-list-tile.entry.js +1 -1
  191. package/dist/esm/salla-localization-modal.entry.js +1 -1
  192. package/dist/esm/salla-login-modal.entry.js +1 -1
  193. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  194. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  195. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  196. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  197. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  198. package/dist/esm/salla-loyalty.entry.js +1 -1
  199. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  200. package/dist/esm/salla-map_3.entry.js +1 -1
  201. package/dist/esm/salla-menu.entry.js +1 -1
  202. package/dist/esm/salla-metadata.entry.js +1 -1
  203. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  204. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  205. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  206. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  207. package/dist/esm/salla-notification-item_2.entry.js +1 -1
  208. package/dist/esm/salla-offer-modal.entry.js +1 -1
  209. package/dist/esm/salla-offer.entry.js +1 -1
  210. package/dist/esm/salla-order-branch.entry.js +1 -1
  211. package/dist/esm/salla-order-cancel.entry.js +1 -1
  212. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  213. package/dist/esm/salla-order-details-options.entry.js +1 -1
  214. package/dist/esm/salla-order-details.entry.js +1 -1
  215. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  216. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  217. package/dist/esm/salla-order-edit.entry.js +1 -1
  218. package/dist/esm/salla-order-options-modal.entry.js +5 -5
  219. package/dist/esm/salla-order-shipments.entry.js +1 -1
  220. package/dist/esm/salla-order-summary.entry.js +1 -1
  221. package/dist/esm/salla-order-totals-card.entry.js +49 -7
  222. package/dist/esm/salla-orders.entry.js +1 -1
  223. package/dist/esm/salla-payments.entry.js +1 -1
  224. package/dist/esm/salla-placeholder.entry.js +1 -1
  225. package/dist/esm/salla-price-range.entry.js +1 -1
  226. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  227. package/dist/esm/salla-product-card.entry.js +1 -1
  228. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  229. package/dist/esm/salla-products-list.entry.js +1 -1
  230. package/dist/esm/salla-products-slider.entry.js +1 -1
  231. package/dist/esm/salla-quick-order.entry.js +1 -1
  232. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  233. package/dist/esm/salla-rating-modal.entry.js +1 -1
  234. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  235. package/dist/esm/salla-review-order-item.entry.js +1 -1
  236. package/dist/esm/salla-scopes.entry.js +3 -3
  237. package/dist/esm/salla-search-product-card.entry.js +1 -1
  238. package/dist/esm/salla-search.entry.js +12 -2
  239. package/dist/esm/salla-skeleton.entry.js +1 -1
  240. package/dist/esm/salla-social-share.entry.js +1 -1
  241. package/dist/esm/salla-social.entry.js +1 -1
  242. package/dist/esm/salla-tab-content_3.entry.js +24 -8
  243. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  244. package/dist/esm/salla-trust-badges.entry.js +1 -1
  245. package/dist/esm/salla-user-menu.entry.js +1 -1
  246. package/dist/esm/salla-user-profile.entry.js +1 -1
  247. package/dist/esm/salla-user-settings.entry.js +1 -1
  248. package/dist/esm/salla-verify.entry.js +1 -1
  249. package/dist/esm/salla-wallet.entry.js +1 -1
  250. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  251. package/dist/esm/salla-wishlist-summary.entry.js +1 -1
  252. package/dist/esm/ssr-helpers-BJN-DTdN.js +46 -0
  253. package/dist/esm/twilight.js +3 -3
  254. package/dist/esm/{vanilla-picker-BWBrgMJQ.js → vanilla-picker-vQxevRSA.js} +1 -1
  255. package/dist/twilight/{p-8e248aa7.entry.js → p-0116fc35.entry.js} +1 -1
  256. package/dist/twilight/{p-c589a326.entry.js → p-02946cf5.entry.js} +1 -1
  257. package/dist/twilight/{p-341a7ab8.entry.js → p-07453f6c.entry.js} +1 -1
  258. package/dist/twilight/{p-5110433d.entry.js → p-0c6290e0.entry.js} +1 -1
  259. package/dist/twilight/{p-fc717703.entry.js → p-0cb5d9c6.entry.js} +1 -1
  260. package/dist/twilight/{p-2eea4245.entry.js → p-0f68e660.entry.js} +1 -1
  261. package/dist/twilight/{p-a2de7999.entry.js → p-132d9742.entry.js} +1 -1
  262. package/dist/twilight/p-157873ee.entry.js +4 -0
  263. package/dist/twilight/{p-4d482ee4.entry.js → p-161fce7a.entry.js} +1 -1
  264. package/dist/twilight/{p-3b4f66d3.entry.js → p-167a9c58.entry.js} +1 -1
  265. package/dist/twilight/{p-f03f893c.entry.js → p-19b7fccb.entry.js} +1 -1
  266. package/dist/twilight/{p-88f650da.entry.js → p-19d9b193.entry.js} +1 -1
  267. package/dist/twilight/{p-6e53afc6.entry.js → p-1c75de1e.entry.js} +1 -1
  268. package/dist/twilight/p-1c7999c9.entry.js +4 -0
  269. package/dist/twilight/{p-a8408d51.entry.js → p-1ea04494.entry.js} +1 -1
  270. package/dist/twilight/{p-5360d082.entry.js → p-1f3d5e3e.entry.js} +1 -1
  271. package/dist/twilight/{p-03e89cb1.entry.js → p-22fc1505.entry.js} +1 -1
  272. package/dist/twilight/{p-ce120ce6.entry.js → p-27d94a42.entry.js} +1 -1
  273. package/dist/twilight/{p-be7dcc25.entry.js → p-2a865b0b.entry.js} +1 -1
  274. package/dist/twilight/{p-221e47a5.entry.js → p-2bb95112.entry.js} +1 -1
  275. package/dist/twilight/{p-7f0bdf0e.entry.js → p-2d8d9829.entry.js} +1 -1
  276. package/dist/twilight/{p-9fcc7eeb.entry.js → p-2df4e63a.entry.js} +1 -1
  277. package/dist/twilight/{p-64158678.entry.js → p-316be8a7.entry.js} +1 -1
  278. package/dist/twilight/{p-0859fe23.entry.js → p-321022f5.entry.js} +1 -1
  279. package/dist/twilight/{p-1fe92c36.entry.js → p-34ab84e2.entry.js} +1 -1
  280. package/dist/twilight/{p-454b32f0.entry.js → p-36ddb8db.entry.js} +1 -1
  281. package/dist/twilight/{p-c41c1eff.entry.js → p-3b45e21a.entry.js} +1 -1
  282. package/dist/twilight/{p-826ed1c6.entry.js → p-3eface57.entry.js} +1 -1
  283. package/dist/twilight/{p-856ed222.entry.js → p-46334bbe.entry.js} +1 -1
  284. package/dist/twilight/{p-16072449.entry.js → p-4678b6d7.entry.js} +1 -1
  285. package/dist/twilight/{p-52a7dbb7.entry.js → p-4ea3a8a1.entry.js} +1 -1
  286. package/dist/twilight/{p-cab2f22a.entry.js → p-56d064c0.entry.js} +1 -1
  287. package/dist/twilight/{p-1930b915.entry.js → p-57768c0e.entry.js} +1 -1
  288. package/dist/twilight/{p-0b54834f.entry.js → p-57ddfcfe.entry.js} +1 -1
  289. package/dist/twilight/{p-87dcc9d8.entry.js → p-60e920c6.entry.js} +1 -1
  290. package/dist/twilight/{p-3f730d01.entry.js → p-62690afe.entry.js} +1 -1
  291. package/dist/twilight/{p-6f66a0f2.entry.js → p-6339c31f.entry.js} +1 -1
  292. package/dist/twilight/{p-138d6214.entry.js → p-660271f5.entry.js} +1 -1
  293. package/dist/twilight/{p-88d64b87.entry.js → p-6b28397a.entry.js} +1 -1
  294. package/dist/twilight/{p-40c8b553.entry.js → p-6bacaa30.entry.js} +1 -1
  295. package/dist/twilight/{p-517807b2.entry.js → p-6cfb6628.entry.js} +1 -1
  296. package/dist/twilight/{p-4962d869.entry.js → p-6cffd732.entry.js} +1 -1
  297. package/dist/twilight/{p-0ca1a782.entry.js → p-6eb365f3.entry.js} +1 -1
  298. package/dist/twilight/{p-c5d4682b.entry.js → p-73125aab.entry.js} +1 -1
  299. package/dist/twilight/{p-ce981b2f.entry.js → p-73189ed2.entry.js} +1 -1
  300. package/dist/twilight/{p-5a6c4fdf.entry.js → p-744c8337.entry.js} +1 -1
  301. package/dist/twilight/{p-4d1582f8.entry.js → p-82430d31.entry.js} +1 -1
  302. package/dist/twilight/{p-2636c473.entry.js → p-8359286c.entry.js} +1 -1
  303. package/dist/twilight/{p-27712ed1.entry.js → p-84ed92e9.entry.js} +1 -1
  304. package/dist/twilight/p-84ee1884.entry.js +4 -0
  305. package/dist/twilight/{p-07dc637e.entry.js → p-87feddeb.entry.js} +1 -1
  306. package/dist/twilight/{p-d986aa18.entry.js → p-8d119291.entry.js} +1 -1
  307. package/dist/twilight/{p-5ac2e6ab.entry.js → p-8f1789f7.entry.js} +1 -1
  308. package/dist/twilight/{p-950634d1.entry.js → p-90765c65.entry.js} +1 -1
  309. package/dist/twilight/{p-d09b6b8c.entry.js → p-94f18d97.entry.js} +1 -1
  310. package/dist/twilight/p-9a7da6d0.entry.js +4 -0
  311. package/dist/twilight/{p-d13f5256.entry.js → p-9ab10a2f.entry.js} +1 -1
  312. package/dist/twilight/{p-53bf1d54.entry.js → p-9ace9fc5.entry.js} +1 -1
  313. package/dist/twilight/{p-141218a3.entry.js → p-9b9c2adf.entry.js} +1 -1
  314. package/dist/twilight/p-BJN-DTdN.js +4 -0
  315. package/dist/twilight/{p-noRE1pbw.js → p-C670SYee.js} +1 -1
  316. package/dist/twilight/{p-B867dk1j.js → p-CcijNXaY.js} +1 -1
  317. package/dist/twilight/{p-D98H4WeK.js → p-D-pGRpnm.js} +1 -1
  318. package/dist/twilight/{p-CyV163V_.js → p-D33qIToB.js} +1 -1
  319. package/dist/twilight/{p-CbJEogz0.js → p-DEtbzT0x.js} +1 -1
  320. package/dist/twilight/{p-CADeV7A-.js → p-DIJHCILO.js} +1 -1
  321. package/dist/twilight/{p-DomdkzLW.js → p-DOJsGUE-.js} +1 -1
  322. package/dist/twilight/{p-DWkNp24H.js → p-DYkb22mH.js} +1 -1
  323. package/dist/twilight/p-Kqe2HSSB.js +9 -0
  324. package/dist/twilight/{p-475d01e2.entry.js → p-af525459.entry.js} +1 -1
  325. package/dist/twilight/{p-d306b947.entry.js → p-afc17688.entry.js} +1 -1
  326. package/dist/twilight/{p-78b86647.entry.js → p-b124899c.entry.js} +1 -1
  327. package/dist/twilight/{p-18aff2d5.entry.js → p-b13efdf9.entry.js} +1 -1
  328. package/dist/twilight/{p-b1a35349.entry.js → p-b2da9ea7.entry.js} +1 -1
  329. package/dist/twilight/{p-f5f0246f.entry.js → p-b3f0b7e3.entry.js} +1 -1
  330. package/dist/twilight/{p-3c45c49f.entry.js → p-b40466ae.entry.js} +1 -1
  331. package/dist/twilight/p-b59eab4f.entry.js +4 -0
  332. package/dist/twilight/{p-c631e2cd.entry.js → p-b6674eab.entry.js} +1 -1
  333. package/dist/twilight/{p-c6af4f05.entry.js → p-b7f5a180.entry.js} +1 -1
  334. package/dist/twilight/p-bf95f806.entry.js +4 -0
  335. package/dist/twilight/{p-9ce917a6.entry.js → p-c6f677aa.entry.js} +1 -1
  336. package/dist/twilight/{p-8876efa6.entry.js → p-c7728312.entry.js} +1 -1
  337. package/dist/twilight/{p-4ce97595.entry.js → p-c840c67c.entry.js} +1 -1
  338. package/dist/twilight/{p-f6f633fc.entry.js → p-cba57487.entry.js} +1 -1
  339. package/dist/twilight/{p-919dd049.entry.js → p-ccd75cf6.entry.js} +1 -1
  340. package/dist/twilight/{p-87b3c231.entry.js → p-ce8bdea8.entry.js} +1 -1
  341. package/dist/twilight/{p-ba76a96a.entry.js → p-d2b41e2d.entry.js} +1 -1
  342. package/dist/twilight/{p-82d59bf3.entry.js → p-d897273e.entry.js} +1 -1
  343. package/dist/twilight/{p-ba9ee435.entry.js → p-d923ecda.entry.js} +1 -1
  344. package/dist/twilight/{p-9e084610.entry.js → p-da9b84ee.entry.js} +1 -1
  345. package/dist/twilight/p-de0ce00a.entry.js +4 -0
  346. package/dist/twilight/{p-76d11b5c.entry.js → p-dfcb0978.entry.js} +1 -1
  347. package/dist/twilight/{p-0c9f5232.entry.js → p-dff87ddc.entry.js} +1 -1
  348. package/dist/twilight/{p-7f882abf.entry.js → p-e1b853b2.entry.js} +1 -1
  349. package/dist/twilight/{p-16b2f58b.entry.js → p-e4ba8208.entry.js} +1 -1
  350. package/dist/twilight/{p-9ed52621.entry.js → p-e506fbee.entry.js} +1 -1
  351. package/dist/twilight/p-e80bc0ce.entry.js +4 -0
  352. package/dist/twilight/{p-4333c630.entry.js → p-e8f7ed7b.entry.js} +1 -1
  353. package/dist/twilight/{p-67ecb74a.entry.js → p-ea4e6f55.entry.js} +1 -1
  354. package/dist/twilight/{p-721819ee.entry.js → p-ea82cbb3.entry.js} +1 -1
  355. package/dist/twilight/{p-15b8fa7f.entry.js → p-ef9567bd.entry.js} +1 -1
  356. package/dist/twilight/{p-f9fbcb8d.entry.js → p-f106d1e8.entry.js} +1 -1
  357. package/dist/twilight/{p-15f5d424.entry.js → p-f37cc89b.entry.js} +1 -1
  358. package/dist/twilight/p-f52c49c8.entry.js +4 -0
  359. package/dist/twilight/{p-1cbbdcea.entry.js → p-f5f448b7.entry.js} +1 -1
  360. package/dist/twilight/{p-BT5AJCX9.js → p-r8T0WY8a.js} +1 -1
  361. package/dist/twilight/twilight.esm.js +1 -1
  362. package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +26 -13
  363. package/dist/types/components/salla-apps-icons/salla-apps-icons.types.d.ts +4 -0
  364. package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +5 -1
  365. package/dist/types/components/salla-contacts/salla-contacts.d.ts +26 -14
  366. package/dist/types/components/salla-contacts/salla-contacts.types.d.ts +7 -0
  367. package/dist/types/components/salla-order-totals-card/interfaces.d.ts +27 -0
  368. package/dist/types/components/salla-order-totals-card/salla-order-totals-card.d.ts +12 -4
  369. package/dist/types/components/salla-scopes/interfaces.d.ts +1 -0
  370. package/dist/types/components/salla-search/salla-search.d.ts +3 -1
  371. package/dist/types/components/salla-tabs/salla-tab-content.d.ts +3 -2
  372. package/dist/types/components/salla-tabs/salla-tabs.d.ts +8 -3
  373. package/dist/types/components.d.ts +90 -22
  374. package/dist/types/utils/ssr-helpers.d.ts +73 -0
  375. package/package.json +5 -5
  376. package/dist/twilight/p-0cb548be.entry.js +0 -4
  377. package/dist/twilight/p-3263103c.entry.js +0 -4
  378. package/dist/twilight/p-540a7588.entry.js +0 -4
  379. package/dist/twilight/p-DN2opqoB.js +0 -9
  380. package/dist/twilight/p-a030da8e.entry.js +0 -4
  381. package/dist/twilight/p-aabc57e3.entry.js +0 -4
  382. package/dist/twilight/p-c8d269df.entry.js +0 -4
  383. package/dist/twilight/p-e4c88bee.entry.js +0 -4
  384. package/dist/twilight/p-e7fc0d63.entry.js +0 -4
  385. package/dist/twilight/p-eef846fa.entry.js +0 -4
@@ -1,28 +1,41 @@
1
+ import { AppsIconsConfig } from './salla-apps-icons.types';
1
2
  /**
2
3
  * @slot app - Replaces app item, has replaceable props `{icon}`, `{name}`.
3
4
  */
4
5
  export declare class SallaAppsIcons {
5
- private langUnsubscribe;
6
- constructor();
7
- connectedCallback(): void;
8
- disconnectedCallback(): void;
9
- private readonly appSlot;
10
6
  host: HTMLElement;
11
- apps: any;
12
7
  /**
13
- * Flag to show or hide title.
8
+ * Apps URLs in object format {appstore, googleplay}.
9
+ * When not provided, uses SDK config 'store.apps'.
14
10
  */
15
- hideTitle: boolean;
11
+ apps?: AppsIconsConfig;
16
12
  /**
17
- * The title to display.
13
+ * The title to display above icons.
14
+ * When not provided, uses SDK lang 'blocks.footer.download_apps'.
18
15
  */
19
- appsTitle: string;
16
+ appsTitle?: string;
17
+ /**
18
+ * Flag to hide the title.
19
+ */
20
+ hideTitle: boolean;
20
21
  /**
21
- * Display flag to horizontal/vertical.
22
+ * Display icons vertically instead of horizontally.
22
23
  */
23
24
  vertical: boolean;
25
+ /**
26
+ * Custom slot template HTML with placeholders {icon}, {name}.
27
+ * Used for SSR. Client-side can use slot="app" instead.
28
+ */
29
+ slotTemplate?: string;
30
+ private sdkApps;
31
+ private appSlot;
32
+ private langUnsubscribe?;
33
+ private langTitle;
34
+ private getDefaultSlot;
35
+ connectedCallback(): void;
36
+ disconnectedCallback(): void;
24
37
  private getAppsArray;
25
- componentWillLoad(): Promise<unknown>;
26
- render(): any;
38
+ private getCdnUrl;
27
39
  componentDidRender(): void;
40
+ render(): any;
28
41
  }
@@ -0,0 +1,4 @@
1
+ export interface AppsIconsConfig {
2
+ appstore?: string;
3
+ googleplay?: string;
4
+ }
@@ -1,5 +1,9 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { Option, Reservation } from './interfaces';
3
+ export interface SallaBookingFieldInvalidInputEvent {
4
+ target: HTMLInputElement;
5
+ validity: ValidityState;
6
+ }
3
7
  export declare class SallaBookingField {
4
8
  private langUnsubscribe;
5
9
  /**
@@ -22,7 +26,7 @@ export declare class SallaBookingField {
22
26
  /**
23
27
  * Event emitted when the input is invalid.
24
28
  */
25
- invalidInput: EventEmitter<any>;
29
+ invalidInput: EventEmitter<SallaBookingFieldInvalidInputEvent>;
26
30
  private modal;
27
31
  private iframe;
28
32
  constructor();
@@ -1,17 +1,19 @@
1
+ import { ContactsConfig } from './salla-contacts.types';
1
2
  /**
2
- * @slot contact - Replaces contact item, has replaceable props `{icon}`, `{value}`.
3
+ * @slot contact - Replaces contact item, has replaceable props `{icon}`, `{value}`, `{link}`.
3
4
  */
4
5
  export declare class SallaContacts {
5
- private langUnsubscribe;
6
- private langTitle;
7
- constructor();
8
- connectedCallback(): void;
9
- disconnectedCallback(): void;
10
- private readonly contactSlot;
6
+ host: HTMLElement;
7
+ /**
8
+ * Contact information in object format {whatsapp, mobile, phone, email, telegram}.
9
+ * When not provided, uses SDK config 'store.contacts'.
10
+ */
11
+ contacts?: ContactsConfig;
11
12
  /**
12
13
  * Section title for social block of footer.
14
+ * When not provided, uses SDK lang 'blocks.footer.social'.
13
15
  */
14
- contactsTitle: string;
16
+ contactsTitle?: string;
15
17
  /**
16
18
  * Flag to toggle title visibility.
17
19
  */
@@ -25,16 +27,26 @@ export declare class SallaContacts {
25
27
  */
26
28
  horizontal: boolean;
27
29
  /**
28
- * Flag condition to show icon only or icon with label
30
+ * Flag condition to show icon only or icon with label.
29
31
  */
30
32
  iconsOnly: boolean;
31
- host: HTMLElement;
32
- contacts: any;
33
- iconsList: any;
33
+ /**
34
+ * Custom slot template HTML with placeholders {icon}, {value}, {link}.
35
+ * Used for SSR. Client-side can use slot="contact" instead.
36
+ */
37
+ slotTemplate?: string;
38
+ private sdkContacts;
39
+ private contactSlot;
40
+ private langUnsubscribe?;
41
+ private langTitle;
42
+ private iconsList;
43
+ private getDefaultSlot;
44
+ connectedCallback(): void;
45
+ disconnectedCallback(): void;
46
+ private getContactsData;
34
47
  private getContactsArray;
35
48
  private getContactLink;
36
49
  private getContactIcon;
37
- componentWillLoad(): Promise<unknown>;
38
- render(): any;
39
50
  componentDidRender(): void;
51
+ render(): any;
40
52
  }
@@ -0,0 +1,7 @@
1
+ export interface ContactsConfig {
2
+ whatsapp?: string;
3
+ mobile?: string;
4
+ phone?: string;
5
+ email?: string;
6
+ telegram?: string;
7
+ }
@@ -7,6 +7,33 @@ export interface Discount {
7
7
  name: string;
8
8
  discount: number;
9
9
  }
10
+ export interface AmountsDiscount {
11
+ title: string;
12
+ type?: string;
13
+ code?: string;
14
+ discount: string | number;
15
+ currency?: string;
16
+ discounted_shipping?: string;
17
+ hasMarketing?: boolean;
18
+ }
19
+ export interface AmountsTax {
20
+ percent: string | number;
21
+ amount: Total;
22
+ }
23
+ /**
24
+ * Amounts prop shape (from theme's Moneys interface)
25
+ */
26
+ export interface Amounts {
27
+ sub_total?: Total;
28
+ shipping_cost?: Total;
29
+ cash_on_delivery?: Total;
30
+ tax?: AmountsTax;
31
+ discounts?: AmountsDiscount[];
32
+ total?: Total;
33
+ paid_amount?: Total;
34
+ remaining_amount?: Total;
35
+ refund_amount?: Total;
36
+ }
10
37
  export interface OrderSummary {
11
38
  sub_total?: Total;
12
39
  options?: OrderProduct[];
@@ -1,14 +1,22 @@
1
1
  import { Order } from '../salla-orders/interface';
2
- import { OrderSummary } from './interfaces';
2
+ import { Amounts, OrderSummary } from './interfaces';
3
3
  export declare class SallaOrderTotalsCard {
4
4
  /**
5
- * Order summary object. Accepts a JSON string or object containing the order totals.
5
+ * Order totals object (new schema). Accepts a JSON string or object with amounts.
6
+ */
7
+ amounts?: string | Amounts;
8
+ /**
9
+ * Legacy order object for backward compatibility. Prefer using `amounts` instead.
6
10
  */
7
11
  order?: string | Order;
8
12
  summary?: OrderSummary;
9
- protected handleOrderChange(newValue?: string | OrderSummary): void;
13
+ private refreshSummary;
14
+ protected handleAmountsChange(): void;
15
+ protected handleOrderChange(): void;
10
16
  componentWillLoad(): Promise<void>;
11
- private setSummaryFromProp;
17
+ private normalizeAmounts;
18
+ private setSummaryFromAmounts;
19
+ private setSummaryFromOrder;
12
20
  private renderTotalRow;
13
21
  private renderDiscountRow;
14
22
  private renderRefundRow;
@@ -2,6 +2,7 @@ export interface Scope {
2
2
  id: number;
3
3
  name: string;
4
4
  selected: boolean;
5
+ icon?: string | null;
5
6
  }
6
7
  export declare enum ModeType {
7
8
  DEFAULT = "default",
@@ -3,7 +3,9 @@ import SearchProductsResponse from './search-response';
3
3
  import { SearchLabels, SearchTrendingCategory, SearchTrendingProduct } from './interfaces';
4
4
  export declare class SallaSearch {
5
5
  host: HTMLStencilElement | undefined;
6
- constructor();
6
+ private searchOpenListener;
7
+ connectedCallback(): void;
8
+ disconnectedCallback(): void;
7
9
  private modal;
8
10
  private searchInput;
9
11
  private hasTrackedFocus;
@@ -3,11 +3,11 @@
3
3
  */
4
4
  export declare class SallaTabContent {
5
5
  /**
6
- * Set name of the tab content. Mainly used as a key to s
7
- * ynchronize the content with it's respective header.
6
+ * Set name of the tab content. Mainly used as a key to synchronize the content with its respective header.
8
7
  */
9
8
  name: string;
10
9
  isSelected: boolean;
10
+ host: HTMLElement;
11
11
  /**
12
12
  * Expose self for the parent.
13
13
  */
@@ -16,6 +16,7 @@ export declare class SallaTabContent {
16
16
  unselect: any;
17
17
  name: string;
18
18
  }>;
19
+ componentWillLoad(): void;
19
20
  unselect(): void;
20
21
  selected(): void;
21
22
  render(): any;
@@ -8,15 +8,20 @@ export declare class SallaTabs {
8
8
  tabsContent: ISallaTabContentData[];
9
9
  tabGroup: ISallaTabGroup[];
10
10
  /**
11
- * Background color
11
+ * Background color for the tabs header section. Accepts any CSS color value.
12
12
  */
13
13
  backgroundColor: string;
14
14
  /**
15
- * Align tabs vertically.
15
+ * Whether to display tabs in a vertical layout. Default is false (horizontal layout).
16
16
  */
17
17
  vertical: boolean;
18
+ /**
19
+ * Initial active tab name for SSR. When provided, child components (salla-tab-header/salla-tab-content)
20
+ * will use this value to set their initial active state. If not provided, first tab becomes active after hydration.
21
+ */
22
+ activeTab?: string;
18
23
  host: HTMLElement;
19
- componentWillLoad(): void;
24
+ componentDidLoad(): void;
20
25
  onSelectedTab(event: CustomEvent): void;
21
26
  createGroup(): Promise<void>;
22
27
  selectGroup(group: ISallaTabGroup): void;
@@ -5,13 +5,16 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { AppsIconsConfig } from "./components/salla-apps-icons/salla-apps-icons.types";
8
9
  import { Attachment } from "./components/salla-attachment-view/salla-attachment-view";
9
10
  import { Attachment as Attachment1 } from "./components/salla-attachment-view/salla-attachment-view";
10
11
  import { Option } from "./components/salla-booking-field/interfaces";
12
+ import { SallaBookingFieldInvalidInputEvent } from "./components/salla-booking-field/salla-booking-field";
11
13
  import { AddressCreatedEvent, BulletDeliveryConfirmedEvent, HeaderContextUpdateEvent } from "./components/salla-bullet-delivery/interfaces";
12
14
  import { Coupon } from "./components/salla-cart-coupons/interfaces";
13
15
  import { Color, Options } from "./components/salla-color-picker/interfaces";
14
16
  import { Comment, CommentSort, CommentType, ReviewFactor } from "./components/salla-comments/interfaces";
17
+ import { ContactsConfig } from "./components/salla-contacts/salla-contacts.types";
15
18
  import { CustomField } from "./components/salla-user-profile/interfaces";
16
19
  import { DateLimit, DateOption, LocaleKey } from "./components/salla-datetime-picker/interfaces";
17
20
  import { FilePondFile } from "./components/salla-file-upload/interfaces";
@@ -27,6 +30,7 @@ import { OrderProduct, ProductOption } from "./components/salla-order-details/in
27
30
  import { OrderEditItem, OrderEditProductOption, OrderEditSelectedOptions } from "./components/salla-order-edit/interfaces";
28
31
  import { Product } from "@salla.sa/twilight/types/common";
29
32
  import { FreeProductSelection, OrderOptionEntry } from "./components/salla-order-options-modal/salla-order-options-modal";
33
+ import { Amounts } from "./components/salla-order-totals-card/interfaces";
30
34
  import { Order, OrderQueryParameters } from "./components/salla-orders/interface";
31
35
  import { Donation, Option as Option1 } from "./components/salla-product-options/interfaces";
32
36
  import { SallaSliderProps } from "./components/salla-slider/salla-slider";
@@ -35,13 +39,16 @@ import { ReviewFactor as ReviewFactor1 } from "./components/salla-review-factors
35
39
  import { ReviewType, SortingOption, Source } from "./components/salla-reviews/interfaces";
36
40
  import { DropdownItem } from "./components/salla-searchable-dropdown/interfaces";
37
41
  import { Phone } from "./components/salla-tel-input/interfaces";
42
+ export { AppsIconsConfig } from "./components/salla-apps-icons/salla-apps-icons.types";
38
43
  export { Attachment } from "./components/salla-attachment-view/salla-attachment-view";
39
44
  export { Attachment as Attachment1 } from "./components/salla-attachment-view/salla-attachment-view";
40
45
  export { Option } from "./components/salla-booking-field/interfaces";
46
+ export { SallaBookingFieldInvalidInputEvent } from "./components/salla-booking-field/salla-booking-field";
41
47
  export { AddressCreatedEvent, BulletDeliveryConfirmedEvent, HeaderContextUpdateEvent } from "./components/salla-bullet-delivery/interfaces";
42
48
  export { Coupon } from "./components/salla-cart-coupons/interfaces";
43
49
  export { Color, Options } from "./components/salla-color-picker/interfaces";
44
50
  export { Comment, CommentSort, CommentType, ReviewFactor } from "./components/salla-comments/interfaces";
51
+ export { ContactsConfig } from "./components/salla-contacts/salla-contacts.types";
45
52
  export { CustomField } from "./components/salla-user-profile/interfaces";
46
53
  export { DateLimit, DateOption, LocaleKey } from "./components/salla-datetime-picker/interfaces";
47
54
  export { FilePondFile } from "./components/salla-file-upload/interfaces";
@@ -57,6 +64,7 @@ export { OrderProduct, ProductOption } from "./components/salla-order-details/in
57
64
  export { OrderEditItem, OrderEditProductOption, OrderEditSelectedOptions } from "./components/salla-order-edit/interfaces";
58
65
  export { Product } from "@salla.sa/twilight/types/common";
59
66
  export { FreeProductSelection, OrderOptionEntry } from "./components/salla-order-options-modal/salla-order-options-modal";
67
+ export { Amounts } from "./components/salla-order-totals-card/interfaces";
60
68
  export { Order, OrderQueryParameters } from "./components/salla-orders/interface";
61
69
  export { Donation, Option as Option1 } from "./components/salla-product-options/interfaces";
62
70
  export { SallaSliderProps } from "./components/salla-slider/salla-slider";
@@ -192,15 +200,25 @@ export namespace Components {
192
200
  }
193
201
  interface SallaAppsIcons {
194
202
  /**
195
- * The title to display.
203
+ * Apps URLs in object format {appstore, googleplay}. When not provided, uses SDK config 'store.apps'.
196
204
  */
197
- "appsTitle": string;
205
+ "apps"?: AppsIconsConfig;
198
206
  /**
199
- * Flag to show or hide title.
207
+ * The title to display above icons. When not provided, uses SDK lang 'blocks.footer.download_apps'.
208
+ */
209
+ "appsTitle"?: string;
210
+ /**
211
+ * Flag to hide the title.
212
+ * @default false
200
213
  */
201
214
  "hideTitle": boolean;
202
215
  /**
203
- * Display flag to horizontal/vertical.
216
+ * Custom slot template HTML with placeholders {icon}, {name}. Used for SSR. Client-side can use slot="app" instead.
217
+ */
218
+ "slotTemplate"?: string;
219
+ /**
220
+ * Display icons vertically instead of horizontally.
221
+ * @default false
204
222
  */
205
223
  "vertical": boolean;
206
224
  }
@@ -657,25 +675,37 @@ export namespace Components {
657
675
  }
658
676
  interface SallaContacts {
659
677
  /**
660
- * Section title for social block of footer.
678
+ * Contact information in object format {whatsapp, mobile, phone, email, telegram}. When not provided, uses SDK config 'store.contacts'.
661
679
  */
662
- "contactsTitle": string;
680
+ "contacts"?: ContactsConfig;
681
+ /**
682
+ * Section title for social block of footer. When not provided, uses SDK lang 'blocks.footer.social'.
683
+ */
684
+ "contactsTitle"?: string;
663
685
  /**
664
686
  * Flag to toggle title visibility.
687
+ * @default false
665
688
  */
666
689
  "hideTitle": boolean;
667
690
  /**
668
691
  * Flag to toggle list of contents whether vertical or horizontal.
692
+ * @default false
669
693
  */
670
694
  "horizontal": boolean;
671
695
  /**
672
- * Flag condition to show icon only or icon with label
696
+ * Flag condition to show icon only or icon with label.
697
+ * @default false
673
698
  */
674
699
  "iconsOnly": boolean;
675
700
  /**
676
701
  * Conditional flag to check whether the content is header or not.
702
+ * @default false
677
703
  */
678
704
  "isHeader": boolean;
705
+ /**
706
+ * Custom slot template HTML with placeholders {icon}, {value}, {link}. Used for SSR. Client-side can use slot="contact" instead.
707
+ */
708
+ "slotTemplate"?: string;
679
709
  }
680
710
  interface SallaCookiesBar {
681
711
  /**
@@ -2275,7 +2305,11 @@ export namespace Components {
2275
2305
  }
2276
2306
  interface SallaOrderTotalsCard {
2277
2307
  /**
2278
- * Order summary object. Accepts a JSON string or object containing the order totals.
2308
+ * Order totals object (new schema). Accepts a JSON string or object with amounts.
2309
+ */
2310
+ "amounts"?: string | Amounts;
2311
+ /**
2312
+ * Legacy order object for backward compatibility. Prefer using `amounts` instead.
2279
2313
  */
2280
2314
  "order"?: string | Order;
2281
2315
  }
@@ -3475,7 +3509,7 @@ export namespace Components {
3475
3509
  */
3476
3510
  "getChild": () => Promise<{ selected: any; unselect: any; name: string; }>;
3477
3511
  /**
3478
- * Set name of the tab content. Mainly used as a key to s ynchronize the content with it's respective header.
3512
+ * Set name of the tab content. Mainly used as a key to synchronize the content with its respective header.
3479
3513
  */
3480
3514
  "name": string;
3481
3515
  }
@@ -3506,12 +3540,16 @@ export namespace Components {
3506
3540
  }
3507
3541
  interface SallaTabs {
3508
3542
  /**
3509
- * Background color
3543
+ * Initial active tab name for SSR. When provided, child components (salla-tab-header/salla-tab-content) will use this value to set their initial active state. If not provided, first tab becomes active after hydration.
3544
+ */
3545
+ "activeTab"?: string;
3546
+ /**
3547
+ * Background color for the tabs header section. Accepts any CSS color value.
3510
3548
  * @default undefined
3511
3549
  */
3512
3550
  "backgroundColor": string;
3513
3551
  /**
3514
- * Align tabs vertically.
3552
+ * Whether to display tabs in a vertical layout. Default is false (horizontal layout).
3515
3553
  * @default false
3516
3554
  */
3517
3555
  "vertical": boolean;
@@ -3984,7 +4022,7 @@ declare global {
3984
4022
  new (): HTMLSallaBasketGapElement;
3985
4023
  };
3986
4024
  interface HTMLSallaBookingFieldElementEventMap {
3987
- "invalidInput": any;
4025
+ "invalidInput": SallaBookingFieldInvalidInputEvent;
3988
4026
  }
3989
4027
  interface HTMLSallaBookingFieldElement extends Components.SallaBookingField, HTMLStencilElement {
3990
4028
  addEventListener<K extends keyof HTMLSallaBookingFieldElementEventMap>(type: K, listener: (this: HTMLSallaBookingFieldElement, ev: SallaBookingFieldCustomEvent<HTMLSallaBookingFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -5694,15 +5732,25 @@ declare namespace LocalJSX {
5694
5732
  }
5695
5733
  interface SallaAppsIcons {
5696
5734
  /**
5697
- * The title to display.
5735
+ * Apps URLs in object format {appstore, googleplay}. When not provided, uses SDK config 'store.apps'.
5736
+ */
5737
+ "apps"?: AppsIconsConfig;
5738
+ /**
5739
+ * The title to display above icons. When not provided, uses SDK lang 'blocks.footer.download_apps'.
5698
5740
  */
5699
5741
  "appsTitle"?: string;
5700
5742
  /**
5701
- * Flag to show or hide title.
5743
+ * Flag to hide the title.
5744
+ * @default false
5702
5745
  */
5703
5746
  "hideTitle"?: boolean;
5704
5747
  /**
5705
- * Display flag to horizontal/vertical.
5748
+ * Custom slot template HTML with placeholders {icon}, {name}. Used for SSR. Client-side can use slot="app" instead.
5749
+ */
5750
+ "slotTemplate"?: string;
5751
+ /**
5752
+ * Display icons vertically instead of horizontally.
5753
+ * @default false
5706
5754
  */
5707
5755
  "vertical"?: boolean;
5708
5756
  }
@@ -5800,7 +5848,7 @@ declare namespace LocalJSX {
5800
5848
  /**
5801
5849
  * Event emitted when the input is invalid.
5802
5850
  */
5803
- "onInvalidInput"?: (event: SallaBookingFieldCustomEvent<any>) => void;
5851
+ "onInvalidInput"?: (event: SallaBookingFieldCustomEvent<SallaBookingFieldInvalidInputEvent>) => void;
5804
5852
  /**
5805
5853
  * The booking option configuration
5806
5854
  */
@@ -6131,25 +6179,37 @@ declare namespace LocalJSX {
6131
6179
  }
6132
6180
  interface SallaContacts {
6133
6181
  /**
6134
- * Section title for social block of footer.
6182
+ * Contact information in object format {whatsapp, mobile, phone, email, telegram}. When not provided, uses SDK config 'store.contacts'.
6183
+ */
6184
+ "contacts"?: ContactsConfig;
6185
+ /**
6186
+ * Section title for social block of footer. When not provided, uses SDK lang 'blocks.footer.social'.
6135
6187
  */
6136
6188
  "contactsTitle"?: string;
6137
6189
  /**
6138
6190
  * Flag to toggle title visibility.
6191
+ * @default false
6139
6192
  */
6140
6193
  "hideTitle"?: boolean;
6141
6194
  /**
6142
6195
  * Flag to toggle list of contents whether vertical or horizontal.
6196
+ * @default false
6143
6197
  */
6144
6198
  "horizontal"?: boolean;
6145
6199
  /**
6146
- * Flag condition to show icon only or icon with label
6200
+ * Flag condition to show icon only or icon with label.
6201
+ * @default false
6147
6202
  */
6148
6203
  "iconsOnly"?: boolean;
6149
6204
  /**
6150
6205
  * Conditional flag to check whether the content is header or not.
6206
+ * @default false
6151
6207
  */
6152
6208
  "isHeader"?: boolean;
6209
+ /**
6210
+ * Custom slot template HTML with placeholders {icon}, {value}, {link}. Used for SSR. Client-side can use slot="contact" instead.
6211
+ */
6212
+ "slotTemplate"?: string;
6153
6213
  }
6154
6214
  interface SallaCookiesBar {
6155
6215
  }
@@ -7700,7 +7760,11 @@ declare namespace LocalJSX {
7700
7760
  }
7701
7761
  interface SallaOrderTotalsCard {
7702
7762
  /**
7703
- * Order summary object. Accepts a JSON string or object containing the order totals.
7763
+ * Order totals object (new schema). Accepts a JSON string or object with amounts.
7764
+ */
7765
+ "amounts"?: string | Amounts;
7766
+ /**
7767
+ * Legacy order object for backward compatibility. Prefer using `amounts` instead.
7704
7768
  */
7705
7769
  "order"?: string | Order;
7706
7770
  }
@@ -8741,7 +8805,7 @@ declare namespace LocalJSX {
8741
8805
  }
8742
8806
  interface SallaTabContent {
8743
8807
  /**
8744
- * Set name of the tab content. Mainly used as a key to s ynchronize the content with it's respective header.
8808
+ * Set name of the tab content. Mainly used as a key to synchronize the content with its respective header.
8745
8809
  */
8746
8810
  "name"?: string;
8747
8811
  }
@@ -8772,12 +8836,16 @@ declare namespace LocalJSX {
8772
8836
  }
8773
8837
  interface SallaTabs {
8774
8838
  /**
8775
- * Background color
8839
+ * Initial active tab name for SSR. When provided, child components (salla-tab-header/salla-tab-content) will use this value to set their initial active state. If not provided, first tab becomes active after hydration.
8840
+ */
8841
+ "activeTab"?: string;
8842
+ /**
8843
+ * Background color for the tabs header section. Accepts any CSS color value.
8776
8844
  * @default undefined
8777
8845
  */
8778
8846
  "backgroundColor"?: string;
8779
8847
  /**
8780
- * Align tabs vertically.
8848
+ * Whether to display tabs in a vertical layout. Default is false (horizontal layout).
8781
8849
  * @default false
8782
8850
  */
8783
8851
  "vertical"?: boolean;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * SSR Helper Utilities
3
+ * These utilities provide a clean, reusable pattern for handling SSR-safe value resolution
4
+ * across components. The pattern: use provided prop value -> fallback to SDK when available -> use default.
5
+ */
6
+ /**
7
+ * Resolves a value using the SSR-safe pattern:
8
+ * 1. If prop value is provided, use it directly
9
+ * 2. If prop not provided and salla SDK is available, use SDK getter
10
+ * 3. If prop not provided and salla SDK not available (SSR), use fallback
11
+ *
12
+ * @param propValue - The value provided via component prop (can be undefined)
13
+ * @param sdkGetter - Function to get value from SDK when available
14
+ * @param fallback - Default value when neither prop nor SDK is available
15
+ * @returns The resolved value
16
+ *
17
+ * @example
18
+ * // Simple config value
19
+ * const color = getSdkValueOrFallback(
20
+ * this.color,
21
+ * () => salla.config.get('theme.color.primary', '#5dd5c4'),
22
+ * '#5dd5c4'
23
+ * );
24
+ *
25
+ * @example
26
+ * // With async SDK call
27
+ * const title = getSdkValueOrFallback(
28
+ * this.title,
29
+ * () => salla.lang.get('common.titles.products'),
30
+ * 'Products'
31
+ * );
32
+ */
33
+ export declare function getSdkValueOrFallback<T>(propValue: T | undefined, sdkGetter: () => T, fallback: T): T;
34
+ /**
35
+ * Async version for SDK calls that require onReady or async operations.
36
+ * Automatically calls salla.onReady() before executing sdkGetter.
37
+ *
38
+ * @param propValue - The value provided via component prop
39
+ * @param sdkGetter - Function to get value from SDK (onReady is called automatically)
40
+ * @param fallback - Default value when neither prop nor SDK is available
41
+ * @returns Promise resolving to the value
42
+ *
43
+ * @example
44
+ * const color = await getSdkValueOrFallbackAsync(
45
+ * this.color,
46
+ * () => salla.config.get('theme.color.primary', '#5dd5c4'),
47
+ * '#5dd5c4'
48
+ * );
49
+ */
50
+ export declare function getSdkValueOrFallbackAsync<T>(propValue: T | undefined, sdkGetter: () => T | Promise<T>, fallback: T): Promise<T>;
51
+ /**
52
+ * SSR-safe check for salla SDK availability.
53
+ * Returns true in client-side context where salla is loaded.
54
+ *
55
+ * @returns boolean indicating if salla SDK is available
56
+ */
57
+ export declare function isSallaSdkAvailable(): boolean;
58
+ /**
59
+ * Persists the active scope to both salla.storage and a cookie (same structure),
60
+ * so the scope is readable server-side. Use this everywhere the scope changes to
61
+ * keep storage and cookie in sync.
62
+ *
63
+ * @param scope - The scope object to persist (e.g. { type, id, ... })
64
+ */
65
+ export declare function setScope(scope: Record<string, any>): void;
66
+ /**
67
+ * SSR-safe document.dir access.
68
+ * Returns the document direction or fallback.
69
+ *
70
+ * @param fallback - Default direction ('rtl' or 'ltr')
71
+ * @returns The direction value
72
+ */
73
+ export declare function getDocumentDir(fallback?: 'rtl' | 'ltr'): 'rtl' | 'ltr';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salla.sa/twilight-components",
3
- "version": "2.14.598",
3
+ "version": "2.14.600",
4
4
  "license": "GPL-3.0",
5
5
  "author": "Salla Team <support@salla.dev> (https://salla.dev)",
6
6
  "bugs": {
@@ -82,9 +82,9 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@googlemaps/markerclusterer": "2.6.2",
85
- "@salla.sa/applepay": "2.14.598",
86
- "@salla.sa/twilight": "2.14.598",
87
- "@salla.sa/twilight-tailwind-theme": "2.14.598",
85
+ "@salla.sa/applepay": "2.14.600",
86
+ "@salla.sa/twilight": "2.14.600",
87
+ "@salla.sa/twilight-tailwind-theme": "2.14.600",
88
88
  "@salla.sa/ui-address-autocomplete-widget": "1.2.1",
89
89
  "@salla.sa/ui-google-map-render": "1.2.1",
90
90
  "@types/node": "^20.4.8",
@@ -105,5 +105,5 @@
105
105
  "vanilla-lazyload": "^17.9.0",
106
106
  "vanilla-picker": "^2.12.3"
107
107
  },
108
- "gitHead": "afa6e102037696ad6189091b5caa077d4e4c28a0"
108
+ "gitHead": "1fdf0f8daaea0ac30018d750492d9b09aeb3aaff"
109
109
  }