@salla.sa/twilight-components 2.14.411 → 2.14.412

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 (299) hide show
  1. package/dist/cjs/{filepond-DmIUNeKc.js → filepond-BO-XBD1i.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-C8AOgqzV.js → filepond-plugin-file-poster-DJIG7vOj.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-C1uEA-N4.js → filepond-plugin-file-validate-size-Bhtuy-Ar.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-CAYEi5xZ.js → filepond-plugin-file-validate-type-BQhRvZvr.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-DeGtwB2d.js → filepond-plugin-image-edit-C4unOPfE.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-BL0bCUVQ.js → filepond-plugin-image-exif-orientation-QreJIoqS.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-Dih1Wn_X.js → filepond-plugin-image-preview-aiURUVDo.js} +1 -1
  8. package/dist/cjs/{functions-CcFdqlpK.js → functions-qbO9xyMC.js} +1 -1
  9. package/dist/cjs/{index-BBXwu2T_.js → index-BtHm_lmK.js} +1 -1
  10. package/dist/cjs/{index-PZNCZxVn.js → index-DR2nrv6V.js} +6 -6
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  14. package/dist/cjs/{salla-add-product-button_4.cjs.entry.js → salla-add-product-button_5.cjs.entry.js} +130 -1
  15. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
  21. package/dist/cjs/salla-bullet-delivery.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  43. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
  44. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  45. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  47. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-map.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
  78. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  93. package/dist/cjs/{tracked-promise-DDi0ylD7.js → tracked-promise-Dlrrx6bS.js} +1 -1
  94. package/dist/cjs/twilight.cjs.js +2 -2
  95. package/dist/cjs/{vanilla-picker-OPSqChB9.js → vanilla-picker-BgvVWFWW.js} +1 -1
  96. package/dist/collection/collection-manifest.json +2 -0
  97. package/dist/collection/components/salla-bought-together/interfaces.js +1 -0
  98. package/dist/collection/components/salla-bought-together/salla-bought-together.css +18 -0
  99. package/dist/collection/components/salla-bought-together/salla-bought-together.js +174 -0
  100. package/dist/components/index.js +2 -2
  101. package/dist/components/salla-bought-together.d.ts +11 -0
  102. package/dist/components/salla-bought-together.js +174 -0
  103. package/dist/esm/{filepond-905U04xY.js → filepond-BdAJ1Q3U.js} +1 -1
  104. package/dist/esm/{filepond-plugin-file-poster-BWkARu_j.js → filepond-plugin-file-poster-_P46glp3.js} +1 -1
  105. package/dist/esm/{filepond-plugin-file-validate-size-C0PJYzhi.js → filepond-plugin-file-validate-size-Cs7iDcpm.js} +1 -1
  106. package/dist/esm/{filepond-plugin-file-validate-type-Bglz2iC6.js → filepond-plugin-file-validate-type-BokfkNG5.js} +1 -1
  107. package/dist/esm/{filepond-plugin-image-edit-3aH_4pIL.js → filepond-plugin-image-edit-DqujritR.js} +1 -1
  108. package/dist/esm/{filepond-plugin-image-exif-orientation-B1h3s1nQ.js → filepond-plugin-image-exif-orientation-CTqsgDyW.js} +1 -1
  109. package/dist/esm/{filepond-plugin-image-preview-CAiiia6W.js → filepond-plugin-image-preview-zoBFIa44.js} +1 -1
  110. package/dist/esm/{functions-GzuwX5HS.js → functions-CEdm6lBq.js} +1 -1
  111. package/dist/esm/{index-xT-Vt0D7.js → index-DXkuZzsm.js} +1 -1
  112. package/dist/esm/{index-rIbWLXjW.js → index-eYsXdqjv.js} +6 -6
  113. package/dist/esm/loader.js +3 -3
  114. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  115. package/dist/esm/salla-accordion_6.entry.js +1 -1
  116. package/dist/esm/{salla-add-product-button_4.entry.js → salla-add-product-button_5.entry.js} +130 -2
  117. package/dist/esm/salla-advertisement.entry.js +1 -1
  118. package/dist/esm/salla-alert_2.entry.js +1 -1
  119. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  120. package/dist/esm/salla-apps-icons.entry.js +1 -1
  121. package/dist/esm/salla-badge.entry.js +1 -1
  122. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  123. package/dist/esm/salla-bullet-delivery.entry.js +1 -1
  124. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  125. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  126. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  127. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  128. package/dist/esm/salla-contacts.entry.js +1 -1
  129. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  130. package/dist/esm/salla-count-down.entry.js +1 -1
  131. package/dist/esm/salla-custom-fields.entry.js +1 -1
  132. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  133. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  134. package/dist/esm/salla-filters-widget.entry.js +1 -1
  135. package/dist/esm/salla-filters.entry.js +1 -1
  136. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  137. package/dist/esm/salla-gifting.entry.js +1 -1
  138. package/dist/esm/salla-hook.entry.js +1 -1
  139. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  140. package/dist/esm/salla-installment.entry.js +1 -1
  141. package/dist/esm/salla-list-tile.entry.js +1 -1
  142. package/dist/esm/salla-localization-modal.entry.js +1 -1
  143. package/dist/esm/salla-login-modal.entry.js +1 -1
  144. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  145. package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
  146. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  147. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  148. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  149. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  150. package/dist/esm/salla-loyalty.entry.js +1 -1
  151. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  152. package/dist/esm/salla-map.entry.js +1 -1
  153. package/dist/esm/salla-menu.entry.js +1 -1
  154. package/dist/esm/salla-metadata.entry.js +1 -1
  155. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  156. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  157. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  158. package/dist/esm/salla-notification-item.entry.js +1 -1
  159. package/dist/esm/salla-notifications.entry.js +1 -1
  160. package/dist/esm/salla-offer-modal.entry.js +1 -1
  161. package/dist/esm/salla-offer.entry.js +1 -1
  162. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  163. package/dist/esm/salla-order-details-options.entry.js +1 -1
  164. package/dist/esm/salla-order-details.entry.js +1 -1
  165. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  166. package/dist/esm/salla-order-edit.entry.js +1 -1
  167. package/dist/esm/salla-order-summary.entry.js +1 -1
  168. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  169. package/dist/esm/salla-orders.entry.js +1 -1
  170. package/dist/esm/salla-payments.entry.js +1 -1
  171. package/dist/esm/salla-placeholder.entry.js +1 -1
  172. package/dist/esm/salla-price-range.entry.js +1 -1
  173. package/dist/esm/salla-product-card_2.entry.js +1 -1
  174. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  175. package/dist/esm/salla-products-list.entry.js +1 -1
  176. package/dist/esm/salla-progress-bar.entry.js +1 -1
  177. package/dist/esm/salla-quick-order.entry.js +1 -1
  178. package/dist/esm/salla-rating-modal.entry.js +1 -1
  179. package/dist/esm/salla-reward-action_4.entry.js +3 -3
  180. package/dist/esm/salla-scopes.entry.js +1 -1
  181. package/dist/esm/salla-search.entry.js +1 -1
  182. package/dist/esm/salla-skeleton.entry.js +1 -1
  183. package/dist/esm/salla-slider.entry.js +1 -1
  184. package/dist/esm/salla-social-share.entry.js +1 -1
  185. package/dist/esm/salla-social.entry.js +1 -1
  186. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  187. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  188. package/dist/esm/salla-tooltip.entry.js +1 -1
  189. package/dist/esm/salla-trust-badges.entry.js +1 -1
  190. package/dist/esm/salla-user-menu.entry.js +1 -1
  191. package/dist/esm/salla-user-profile.entry.js +1 -1
  192. package/dist/esm/salla-user-settings.entry.js +1 -1
  193. package/dist/esm/salla-verify.entry.js +1 -1
  194. package/dist/esm/salla-wallet.entry.js +1 -1
  195. package/dist/esm/{tracked-promise-BQ3oDpFo.js → tracked-promise-DC9Saija.js} +1 -1
  196. package/dist/esm/twilight.js +3 -3
  197. package/dist/esm/{vanilla-picker-Cv_dc6oT.js → vanilla-picker-DdyyxtyV.js} +1 -1
  198. package/dist/twilight/{p-98862c7d.entry.js → p-040057c7.entry.js} +1 -1
  199. package/dist/twilight/{p-f2203ac6.entry.js → p-046ef0cf.entry.js} +1 -1
  200. package/dist/twilight/{p-80adbd86.entry.js → p-04a3bd3a.entry.js} +1 -1
  201. package/dist/twilight/{p-c3087e4b.entry.js → p-083bfceb.entry.js} +1 -1
  202. package/dist/twilight/{p-b003a630.entry.js → p-0b6cfdc6.entry.js} +1 -1
  203. package/dist/twilight/{p-9faa8a9e.entry.js → p-0c773a98.entry.js} +1 -1
  204. package/dist/twilight/{p-4aacfcb8.entry.js → p-0fee8df2.entry.js} +1 -1
  205. package/dist/twilight/p-12e78aef.entry.js +4 -0
  206. package/dist/twilight/{p-7dd1b438.entry.js → p-18046a80.entry.js} +1 -1
  207. package/dist/twilight/{p-fda57a16.entry.js → p-18428cad.entry.js} +1 -1
  208. package/dist/twilight/{p-62a8bf31.entry.js → p-18e4e822.entry.js} +1 -1
  209. package/dist/twilight/{p-15a53fe6.entry.js → p-1c2c212f.entry.js} +1 -1
  210. package/dist/twilight/{p-d6b4621a.entry.js → p-1d9e9e5e.entry.js} +1 -1
  211. package/dist/twilight/{p-0ad7c855.entry.js → p-1f18bb8c.entry.js} +1 -1
  212. package/dist/twilight/{p-c2c428e7.entry.js → p-24121404.entry.js} +1 -1
  213. package/dist/twilight/{p-24216a35.entry.js → p-28a276b7.entry.js} +1 -1
  214. package/dist/twilight/{p-6c84e2a0.entry.js → p-2beb780e.entry.js} +1 -1
  215. package/dist/twilight/{p-78bcabea.entry.js → p-2d29eae4.entry.js} +1 -1
  216. package/dist/twilight/{p-18b593a9.entry.js → p-2ea91f4d.entry.js} +1 -1
  217. package/dist/twilight/{p-dfa1ddc1.entry.js → p-371ea2ac.entry.js} +1 -1
  218. package/dist/twilight/{p-56f8e93f.entry.js → p-38df842f.entry.js} +1 -1
  219. package/dist/twilight/{p-a9f516c8.entry.js → p-3a0482aa.entry.js} +1 -1
  220. package/dist/twilight/{p-2a45676f.entry.js → p-3dd609ff.entry.js} +1 -1
  221. package/dist/twilight/{p-57a1bd5e.entry.js → p-473e829b.entry.js} +1 -1
  222. package/dist/twilight/{p-49457497.entry.js → p-4c7e5ca7.entry.js} +1 -1
  223. package/dist/twilight/{p-D-wDhUx5.js → p-4rGFyB1b.js} +1 -1
  224. package/dist/twilight/{p-ca62e17c.entry.js → p-543482d0.entry.js} +1 -1
  225. package/dist/twilight/{p-38b0d747.entry.js → p-569db60a.entry.js} +1 -1
  226. package/dist/twilight/{p-9adacf19.entry.js → p-63b091c3.entry.js} +1 -1
  227. package/dist/twilight/{p-cc551a73.entry.js → p-67b3a063.entry.js} +1 -1
  228. package/dist/twilight/{p-92863280.entry.js → p-6a50e4ab.entry.js} +1 -1
  229. package/dist/twilight/{p-5c3711fb.entry.js → p-6ffe96cf.entry.js} +1 -1
  230. package/dist/twilight/{p-d680ef32.entry.js → p-70e26072.entry.js} +1 -1
  231. package/dist/twilight/{p-c9e78561.entry.js → p-78b27b6f.entry.js} +1 -1
  232. package/dist/twilight/{p-1da1f13f.entry.js → p-809d8765.entry.js} +1 -1
  233. package/dist/twilight/{p-31a5bd84.entry.js → p-82d315dc.entry.js} +1 -1
  234. package/dist/twilight/{p-9b289072.entry.js → p-82fc9f8a.entry.js} +1 -1
  235. package/dist/twilight/{p-dcbd52a9.entry.js → p-86494434.entry.js} +1 -1
  236. package/dist/twilight/{p-09de8e38.entry.js → p-880974c0.entry.js} +1 -1
  237. package/dist/twilight/{p-d218c2ff.entry.js → p-914ef875.entry.js} +1 -1
  238. package/dist/twilight/{p-70e21348.entry.js → p-92c3525a.entry.js} +1 -1
  239. package/dist/twilight/{p-8afeb013.entry.js → p-92ee979a.entry.js} +1 -1
  240. package/dist/twilight/{p-a5a4a9c4.entry.js → p-98dfc58c.entry.js} +1 -1
  241. package/dist/twilight/{p-0c751ad3.entry.js → p-9da33e90.entry.js} +1 -1
  242. package/dist/twilight/p-9f51245d.entry.js +4 -0
  243. package/dist/twilight/{p-4c527044.entry.js → p-9fea03ff.entry.js} +1 -1
  244. package/dist/twilight/{p-BEG98TtY.js → p-B-gehnpX.js} +1 -1
  245. package/dist/twilight/{p-l3RnLhEs.js → p-BrL7ZFF-.js} +1 -1
  246. package/dist/twilight/{p-_9i6OtFf.js → p-Bt5MNLrr.js} +1 -1
  247. package/dist/twilight/{p-B6nHsUmY.js → p-C4iKSe6r.js} +1 -1
  248. package/dist/twilight/{p-_uYeO1XY.js → p-CZP8nF-D.js} +1 -1
  249. package/dist/twilight/{p-CTLj8xU3.js → p-CdKOsdhF.js} +1 -1
  250. package/dist/twilight/{p-B5aVfdOq.js → p-CdQPD_4N.js} +1 -1
  251. package/dist/twilight/{p-D0khSRlI.js → p-CkMgy4QX.js} +1 -1
  252. package/dist/twilight/{p-ba7hQHgb.js → p-DgUXy-oM.js} +1 -1
  253. package/dist/twilight/{p-8oz_tYCT.js → p-VP7525fx.js} +1 -1
  254. package/dist/twilight/{p-0362115c.entry.js → p-a0792c90.entry.js} +1 -1
  255. package/dist/twilight/{p-7179b561.entry.js → p-a74e2625.entry.js} +1 -1
  256. package/dist/twilight/{p-8b5ab33f.entry.js → p-a97da8bc.entry.js} +1 -1
  257. package/dist/twilight/p-aced00e2.entry.js +4 -0
  258. package/dist/twilight/{p-5f08ca5c.entry.js → p-b04f3b37.entry.js} +1 -1
  259. package/dist/twilight/{p-a492282a.entry.js → p-b258ef5c.entry.js} +1 -1
  260. package/dist/twilight/{p-c8dedc2d.entry.js → p-ba81b8d6.entry.js} +1 -1
  261. package/dist/twilight/{p-0d04fb8c.entry.js → p-bab9b1ad.entry.js} +1 -1
  262. package/dist/twilight/{p-dde28f2e.entry.js → p-c00c26f4.entry.js} +1 -1
  263. package/dist/twilight/{p-9f597738.entry.js → p-c0ea9ff2.entry.js} +1 -1
  264. package/dist/twilight/{p-a0c775b0.entry.js → p-c11f0af9.entry.js} +1 -1
  265. package/dist/twilight/{p-dfeeb15e.entry.js → p-c38311a2.entry.js} +1 -1
  266. package/dist/twilight/{p-cb77c16b.entry.js → p-c6a56a0c.entry.js} +1 -1
  267. package/dist/twilight/{p-1716e7bf.entry.js → p-c8821c21.entry.js} +1 -1
  268. package/dist/twilight/{p-9020d179.entry.js → p-c8b8ea5c.entry.js} +1 -1
  269. package/dist/twilight/{p-0a39c576.entry.js → p-c8f6bc81.entry.js} +1 -1
  270. package/dist/twilight/{p-78647833.entry.js → p-cb5fbe10.entry.js} +1 -1
  271. package/dist/twilight/{p-67ec0369.entry.js → p-cf4c9420.entry.js} +1 -1
  272. package/dist/twilight/{p-df55b402.entry.js → p-d400841e.entry.js} +1 -1
  273. package/dist/twilight/{p-aad3c860.entry.js → p-d49fd79d.entry.js} +1 -1
  274. package/dist/twilight/{p-ffeb8d66.entry.js → p-d6a5df0d.entry.js} +1 -1
  275. package/dist/twilight/{p-3134ec55.entry.js → p-d6a86efa.entry.js} +1 -1
  276. package/dist/twilight/{p-70b821e0.entry.js → p-dbe6cc9c.entry.js} +1 -1
  277. package/dist/twilight/{p-7ac1d258.entry.js → p-e2cec9f6.entry.js} +1 -1
  278. package/dist/twilight/{p-17bc3083.entry.js → p-e5e1574f.entry.js} +1 -1
  279. package/dist/twilight/{p-c39c381b.entry.js → p-e89e8a20.entry.js} +1 -1
  280. package/dist/twilight/{p-rIbWLXjW.js → p-eYsXdqjv.js} +1 -1
  281. package/dist/twilight/{p-03327bdb.entry.js → p-eadaf058.entry.js} +1 -1
  282. package/dist/twilight/{p-746b703c.entry.js → p-eae4b2c9.entry.js} +1 -1
  283. package/dist/twilight/p-ed6e8053.entry.js +4 -0
  284. package/dist/twilight/{p-464ebb66.entry.js → p-f267b033.entry.js} +1 -1
  285. package/dist/twilight/{p-d950df54.entry.js → p-f3105e54.entry.js} +1 -1
  286. package/dist/twilight/{p-6477aa16.entry.js → p-f3d76113.entry.js} +1 -1
  287. package/dist/twilight/{p-fb9806d9.entry.js → p-f91399b4.entry.js} +1 -1
  288. package/dist/twilight/{p-4597e9a0.entry.js → p-faae4443.entry.js} +1 -1
  289. package/dist/twilight/{p-941e5a4a.entry.js → p-fea8186b.entry.js} +1 -1
  290. package/dist/twilight/{p-05618953.entry.js → p-ff972c8b.entry.js} +1 -1
  291. package/dist/twilight/twilight.esm.js +1 -1
  292. package/dist/types/components/salla-bought-together/interfaces.d.ts +15 -0
  293. package/dist/types/components/salla-bought-together/salla-bought-together.d.ts +23 -0
  294. package/dist/types/components.d.ts +23 -0
  295. package/package.json +5 -5
  296. package/dist/twilight/p-4a549dd4.entry.js +0 -4
  297. package/dist/twilight/p-7ea9101c.entry.js +0 -4
  298. package/dist/twilight/p-d29c6154.entry.js +0 -4
  299. package/dist/twilight/p-e37fe440.entry.js +0 -4
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SallaBoughtTogether extends Components.SallaBoughtTogether, HTMLElement {}
4
+ export const SallaBoughtTogether: {
5
+ prototype: SallaBoughtTogether;
6
+ new (): SallaBoughtTogether;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,174 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { d as defineCustomElement$3 } from './salla-button2.js';
6
+ import { d as defineCustomElement$2 } from './salla-skeleton2.js';
7
+
8
+ const sallaBoughtTogetherCss = ":host{display:block}.s-bought-together-checkbox:checked~.s-bought-together-checkmark{background-color:var(--color-primary, #2ECC71);border-color:var(--color-primary, #2ECC71)}.s-bought-together-checkbox:checked~.s-bought-together-checkmark::after{content:\"\";display:block;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}";
9
+
10
+ // Read-only recommendations key confirmed safe for client-side use by the API team — no write access or sensitive scope.
11
+ const XSELL_API_KEY = 'VOL5WaZu2YROp0RplCZAr1RplhL9FFGQ';
12
+ const SallaBoughtTogether$1 = /*@__PURE__*/ proxyCustomElement(class SallaBoughtTogether extends HTMLElement {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ /**
17
+ * Maximum number of recommendations to fetch. Max is 4.
18
+ */
19
+ this.limit = 3;
20
+ this.recommendations = [];
21
+ this.selectedIds = new Set();
22
+ this.isLoading = true;
23
+ this.canRender = true;
24
+ this.isAdding = false;
25
+ this.title = salla.lang.get('pages.products.bought_together_title');
26
+ this.subtitle = salla.lang.get('pages.products.bought_together_subtitle');
27
+ this.buyTogetherFor = salla.lang.get('pages.products.buy_together_for');
28
+ this.resolvedProductId = 0;
29
+ salla.lang.onLoaded(() => {
30
+ this.title = salla.lang.get('pages.products.bought_together_title');
31
+ this.subtitle = salla.lang.get('pages.products.bought_together_subtitle');
32
+ this.buyTogetherFor = salla.lang.get('pages.products.buy_together_for');
33
+ });
34
+ }
35
+ componentWillLoad() {
36
+ salla.onReady()
37
+ .then(() => {
38
+ if (!salla.config.get('store.settings.product.bought_together')) {
39
+ this.canRender = false;
40
+ return;
41
+ }
42
+ const id = salla.config.get('page.id');
43
+ if (!id) {
44
+ this.canRender = false;
45
+ return;
46
+ }
47
+ this.resolvedProductId = id;
48
+ return salla.api.request('https://api.salla.dev/1/indexes/*/recommendations', {
49
+ requests: [{
50
+ indexName: 'products',
51
+ model: 'xsell-v1',
52
+ objectID: String(id),
53
+ maxRecommendations: this.limit,
54
+ }]
55
+ }, 'post', { headers: { 'X-Algolia-Api-Key': XSELL_API_KEY, 'X-Query-Enrichment': 'false', 'X-source': 'store' } });
56
+ })
57
+ .then((response) => {
58
+ if (!response)
59
+ return;
60
+ const hits = response?.results?.[0]?.hits ?? [];
61
+ if (!hits.length) {
62
+ this.canRender = false;
63
+ return;
64
+ }
65
+ const ids = [String(this.resolvedProductId), ...hits.map(h => h.objectID)];
66
+ return salla.product.fetch({ source: 'selected', source_value: ids });
67
+ })
68
+ .then((response) => {
69
+ if (!response)
70
+ return;
71
+ const products = response?.data ?? [];
72
+ if (!products.length) {
73
+ this.canRender = false;
74
+ return;
75
+ }
76
+ const mainProduct = products.find(p => String(p.id) === String(this.resolvedProductId));
77
+ const rest = products.filter(p => String(p.id) !== String(this.resolvedProductId));
78
+ if (!rest.length) {
79
+ this.canRender = false;
80
+ return;
81
+ }
82
+ this.recommendations = mainProduct ? [mainProduct, ...rest] : rest;
83
+ this.selectedIds = new Set(this.recommendations.map((p) => p.id));
84
+ })
85
+ .catch(() => {
86
+ this.canRender = false;
87
+ })
88
+ .finally(() => {
89
+ this.isLoading = false;
90
+ });
91
+ }
92
+ toggleProduct(id) {
93
+ const next = new Set(this.selectedIds);
94
+ next.has(id) ? next.delete(id) : next.add(id);
95
+ this.selectedIds = next;
96
+ }
97
+ get totalPrice() {
98
+ const total = this.recommendations
99
+ .filter(p => this.selectedIds.has(p.id))
100
+ // p.price is a plain float in the API response (e.g. 1150.58) — the TS type (any[]) is misleading.
101
+ .reduce((sum, p) => sum + (p.price ?? 0), 0);
102
+ return salla.money(total);
103
+ }
104
+ async addSelectedToCart() {
105
+ if (this.isAdding || !this.selectedIds.size)
106
+ return;
107
+ this.isAdding = true;
108
+ try {
109
+ // Intentional: quickAdd is used for all items including the main product without options — business decision by product team.
110
+ const results = await Promise.allSettled(Array.from(this.selectedIds).map(id => salla.cart.quickAdd(id)));
111
+ if (results.some(r => r.status === 'rejected')) {
112
+ salla.error(salla.lang.get('common.messages.error'));
113
+ }
114
+ }
115
+ finally {
116
+ this.isAdding = false;
117
+ }
118
+ }
119
+ getSkeletonView() {
120
+ return (h(Host, { class: "s-bought-together-entry" }, h("div", { class: "s-bought-together-skeleton" }, h("div", { class: "s-bought-together-skeleton-header" }, h("salla-skeleton", { height: "16px", width: "35%" }), h("salla-skeleton", { height: "10px", width: "60%" })), Array(4).fill(null).map((_, i) => (h("div", { key: i, class: "s-bought-together-skeleton-item" }, h("salla-skeleton", { height: "22px", width: "22px" }), h("salla-skeleton", { height: "48px", width: "48px" }), h("div", { class: "s-bought-together-skeleton-info" }, h("salla-skeleton", { height: "12px", width: "55%", style: { marginBottom: '3px' } }), h("salla-skeleton", { height: "10px", width: "25%" }))))), h("salla-skeleton", { height: "44px", width: "100%" }))));
121
+ }
122
+ render() {
123
+ if (!this.canRender)
124
+ return null;
125
+ if (this.isLoading)
126
+ return this.getSkeletonView();
127
+ if (!this.recommendations.length)
128
+ return null;
129
+ return (h(Host, { class: "s-bought-together-entry" }, h("div", { class: "s-bought-together-header" }, h("h3", { class: "s-bought-together-title" }, this.title), h("p", { class: "s-bought-together-subtitle" }, this.subtitle)), h("div", { class: "s-bought-together-list" }, this.recommendations.map((product) => (h("div", { key: product.id, class: `s-bought-together-item${!this.selectedIds.has(product.id) ? ' s-bought-together-item--unchecked' : ''}` }, h("label", { class: "s-bought-together-checkbox-label" }, h("input", { type: "checkbox", class: "s-bought-together-checkbox", checked: this.selectedIds.has(product.id), onChange: () => this.toggleProduct(product.id) }), h("span", { class: "s-bought-together-checkmark" })), h("a", { class: "s-bought-together-item-link", href: product.url }, h("img", { class: "s-bought-together-item-img", src: product.image?.url || salla.url.cdn('images/s-empty.png'), alt: product.image?.alt || product.name, loading: "lazy", decoding: "async", onError: e => {
130
+ e.currentTarget.onerror = null;
131
+ e.currentTarget.src = salla.url.cdn('images/s-empty.png');
132
+ } }), h("span", { class: "s-bought-together-item-name" }, product.name)), h("span", { class: "s-bought-together-item-price", innerHTML: salla.money(product.price) }))))), h("salla-button", { class: "s-bought-together-btn", disabled: !this.selectedIds.size || this.isAdding, loading: this.isAdding, onClick: () => this.addSelectedToCart() }, h("span", { innerHTML: `${this.buyTogetherFor} ${this.totalPrice}` }))));
133
+ }
134
+ static get style() { return sallaBoughtTogetherCss; }
135
+ }, [0, "salla-bought-together", {
136
+ "limit": [2],
137
+ "recommendations": [32],
138
+ "selectedIds": [32],
139
+ "isLoading": [32],
140
+ "canRender": [32],
141
+ "isAdding": [32],
142
+ "title": [32],
143
+ "subtitle": [32],
144
+ "buyTogetherFor": [32]
145
+ }]);
146
+ function defineCustomElement$1() {
147
+ if (typeof customElements === "undefined") {
148
+ return;
149
+ }
150
+ const components = ["salla-bought-together", "salla-button", "salla-skeleton"];
151
+ components.forEach(tagName => { switch (tagName) {
152
+ case "salla-bought-together":
153
+ if (!customElements.get(tagName)) {
154
+ customElements.define(tagName, SallaBoughtTogether$1);
155
+ }
156
+ break;
157
+ case "salla-button":
158
+ if (!customElements.get(tagName)) {
159
+ defineCustomElement$3();
160
+ }
161
+ break;
162
+ case "salla-skeleton":
163
+ if (!customElements.get(tagName)) {
164
+ defineCustomElement$2();
165
+ }
166
+ break;
167
+ } });
168
+ }
169
+ defineCustomElement$1();
170
+
171
+ const SallaBoughtTogether = SallaBoughtTogether$1;
172
+ const defineCustomElement = defineCustomElement$1;
173
+
174
+ export { SallaBoughtTogether, defineCustomElement };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { h } from './index-rIbWLXjW.js';
4
+ import { h } from './index-eYsXdqjv.js';
5
5
 
6
6
  function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
7
7
  return number < multipleOf ? number : number - (number % multipleOf);
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-rIbWLXjW.js';
4
+ import { d as getDefaultExportFromCjs } from './index-eYsXdqjv.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {