@salla.sa/twilight-components 2.14.481 → 2.14.483

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 (315) hide show
  1. package/dist/cjs/{filepond-BU-jXTBl.js → filepond-B7JshNP-.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-RwughT8q.js → filepond-plugin-file-poster-Bxw84EJ9.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-0cnmN22U.js → filepond-plugin-file-validate-size-D7z9bzxr.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-CO8O6m_X.js → filepond-plugin-file-validate-type-CImB-IPQ.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-D6jx4Pjj.js → filepond-plugin-image-edit-CUJXTddu.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-axIyzrDe.js → filepond-plugin-image-exif-orientation-C3mcn9KI.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-BMgsi5If.js → filepond-plugin-image-preview-BI1YsBYj.js} +1 -1
  8. package/dist/cjs/{functions-Dtg2mNd5.js → functions-JdrYDQKu.js} +1 -1
  9. package/dist/cjs/{index-BDebUujt.js → index-D3Wa_I8P.js} +1 -1
  10. package/dist/cjs/{index-DUmFkKsZ.js → index-UdJx6iBO.js} +2 -2
  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_5.cjs.entry.js +66 -7
  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_2.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-cashback-banner.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  44. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
  45. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  46. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  50. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  51. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notifications.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-details-multiple-bundle-product.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-options-modal_3.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
  84. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  100. package/dist/cjs/{tracked-promise-DQbPZz8j.js → tracked-promise-DENdU5n-.js} +1 -1
  101. package/dist/cjs/twilight.cjs.js +2 -2
  102. package/dist/cjs/{vanilla-picker-Cf0IEAxU.js → vanilla-picker-CMF_WtgH.js} +1 -1
  103. package/dist/collection/components/salla-product-options/availability-utils.js +46 -4
  104. package/dist/collection/components/salla-product-options/salla-product-options.js +39 -2
  105. package/dist/components/index.js +2 -2
  106. package/dist/components/salla-product-options2.js +66 -6
  107. package/dist/esm/{filepond-DEIVYCk8.js → filepond-DwduE1q7.js} +1 -1
  108. package/dist/esm/{filepond-plugin-file-poster-DDPFacpf.js → filepond-plugin-file-poster-Cg5uryRV.js} +1 -1
  109. package/dist/esm/{filepond-plugin-file-validate-size-BK6TTAk0.js → filepond-plugin-file-validate-size-CI1Sj8kr.js} +1 -1
  110. package/dist/esm/{filepond-plugin-file-validate-type-BeLdDHir.js → filepond-plugin-file-validate-type-JUm4bC13.js} +1 -1
  111. package/dist/esm/{filepond-plugin-image-edit-BdSsbhWf.js → filepond-plugin-image-edit-BrJ55gLP.js} +1 -1
  112. package/dist/esm/{filepond-plugin-image-exif-orientation-CspYVPJR.js → filepond-plugin-image-exif-orientation-BkQECx1u.js} +1 -1
  113. package/dist/esm/{filepond-plugin-image-preview-B1Rdh0IW.js → filepond-plugin-image-preview-nIxzaSJG.js} +1 -1
  114. package/dist/esm/{functions-C_5-G0lf.js → functions-BzIvfM0W.js} +1 -1
  115. package/dist/esm/{index-DLNCyofS.js → index-CFOfZPpP.js} +1 -1
  116. package/dist/esm/{index-BFfD9GlY.js → index-CPL9CY3o.js} +2 -2
  117. package/dist/esm/loader.js +3 -3
  118. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  119. package/dist/esm/salla-accordion_6.entry.js +1 -1
  120. package/dist/esm/salla-add-product-button_5.entry.js +66 -7
  121. package/dist/esm/salla-advertisement.entry.js +1 -1
  122. package/dist/esm/salla-alert_2.entry.js +1 -1
  123. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  124. package/dist/esm/salla-apps-icons.entry.js +1 -1
  125. package/dist/esm/salla-badge.entry.js +1 -1
  126. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  127. package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
  128. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  129. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  130. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  131. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  132. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  133. package/dist/esm/salla-contacts.entry.js +1 -1
  134. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  135. package/dist/esm/salla-count-down.entry.js +1 -1
  136. package/dist/esm/salla-custom-fields.entry.js +1 -1
  137. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  138. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  139. package/dist/esm/salla-filters-widget.entry.js +1 -1
  140. package/dist/esm/salla-filters.entry.js +1 -1
  141. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  142. package/dist/esm/salla-gifting.entry.js +1 -1
  143. package/dist/esm/salla-hook.entry.js +1 -1
  144. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  145. package/dist/esm/salla-installment.entry.js +1 -1
  146. package/dist/esm/salla-list-tile.entry.js +1 -1
  147. package/dist/esm/salla-localization-modal.entry.js +1 -1
  148. package/dist/esm/salla-login-modal.entry.js +1 -1
  149. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  150. package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
  151. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  152. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  153. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  154. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  155. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  156. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  157. package/dist/esm/salla-loyalty.entry.js +1 -1
  158. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  159. package/dist/esm/salla-map_2.entry.js +1 -1
  160. package/dist/esm/salla-menu.entry.js +1 -1
  161. package/dist/esm/salla-metadata.entry.js +1 -1
  162. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  163. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  164. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  165. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  166. package/dist/esm/salla-notification-item.entry.js +1 -1
  167. package/dist/esm/salla-notifications.entry.js +1 -1
  168. package/dist/esm/salla-offer-modal.entry.js +1 -1
  169. package/dist/esm/salla-offer.entry.js +1 -1
  170. package/dist/esm/salla-order-branch.entry.js +1 -1
  171. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  172. package/dist/esm/salla-order-details-options.entry.js +1 -1
  173. package/dist/esm/salla-order-details.entry.js +1 -1
  174. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  175. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  176. package/dist/esm/salla-order-edit.entry.js +1 -1
  177. package/dist/esm/salla-order-options-modal_3.entry.js +1 -1
  178. package/dist/esm/salla-order-summary.entry.js +1 -1
  179. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  180. package/dist/esm/salla-orders.entry.js +1 -1
  181. package/dist/esm/salla-payments.entry.js +1 -1
  182. package/dist/esm/salla-placeholder.entry.js +1 -1
  183. package/dist/esm/salla-price-range.entry.js +1 -1
  184. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  185. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  186. package/dist/esm/salla-products-list.entry.js +1 -1
  187. package/dist/esm/salla-quick-order.entry.js +1 -1
  188. package/dist/esm/salla-rating-modal.entry.js +1 -1
  189. package/dist/esm/salla-reward-action_4.entry.js +3 -3
  190. package/dist/esm/salla-scopes.entry.js +1 -1
  191. package/dist/esm/salla-search.entry.js +1 -1
  192. package/dist/esm/salla-skeleton.entry.js +1 -1
  193. package/dist/esm/salla-slider.entry.js +1 -1
  194. package/dist/esm/salla-social-share.entry.js +1 -1
  195. package/dist/esm/salla-social.entry.js +1 -1
  196. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  197. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  198. package/dist/esm/salla-tooltip.entry.js +1 -1
  199. package/dist/esm/salla-trust-badges.entry.js +1 -1
  200. package/dist/esm/salla-user-menu.entry.js +1 -1
  201. package/dist/esm/salla-user-profile.entry.js +1 -1
  202. package/dist/esm/salla-user-settings.entry.js +1 -1
  203. package/dist/esm/salla-verify.entry.js +1 -1
  204. package/dist/esm/salla-wallet.entry.js +1 -1
  205. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  206. package/dist/esm/{tracked-promise-BFrCUkRf.js → tracked-promise-CoSLxVRo.js} +1 -1
  207. package/dist/esm/twilight.js +3 -3
  208. package/dist/esm/{vanilla-picker-k4dXuf_r.js → vanilla-picker-BNfzIAYB.js} +1 -1
  209. package/dist/twilight/{p-b0b9de4f.entry.js → p-00ac20ac.entry.js} +1 -1
  210. package/dist/twilight/{p-fcebdd50.entry.js → p-05509b03.entry.js} +1 -1
  211. package/dist/twilight/{p-34860b2b.entry.js → p-0696998f.entry.js} +1 -1
  212. package/dist/twilight/{p-b51ba869.entry.js → p-073299af.entry.js} +1 -1
  213. package/dist/twilight/{p-697792ed.entry.js → p-0e8ffb12.entry.js} +1 -1
  214. package/dist/twilight/{p-a6aa3a35.entry.js → p-0f1c9e60.entry.js} +1 -1
  215. package/dist/twilight/{p-473c6e01.entry.js → p-10a86f9e.entry.js} +1 -1
  216. package/dist/twilight/{p-319983e1.entry.js → p-110e5099.entry.js} +1 -1
  217. package/dist/twilight/{p-cbf1c2e1.entry.js → p-120cbae1.entry.js} +1 -1
  218. package/dist/twilight/{p-6a9062fe.entry.js → p-12a111fe.entry.js} +1 -1
  219. package/dist/twilight/{p-942a93e8.entry.js → p-158ddb37.entry.js} +1 -1
  220. package/dist/twilight/{p-a49b621f.entry.js → p-1b33acf6.entry.js} +1 -1
  221. package/dist/twilight/{p-e461afb0.entry.js → p-1e71fea1.entry.js} +1 -1
  222. package/dist/twilight/{p-55fc6c69.entry.js → p-208e0041.entry.js} +1 -1
  223. package/dist/twilight/{p-1bcb6681.entry.js → p-257fbf4d.entry.js} +1 -1
  224. package/dist/twilight/{p-db0c8a1e.entry.js → p-25d87b51.entry.js} +1 -1
  225. package/dist/twilight/{p-c97836ec.entry.js → p-27d113b9.entry.js} +1 -1
  226. package/dist/twilight/{p-9f32f1f0.entry.js → p-29fd2c2e.entry.js} +1 -1
  227. package/dist/twilight/{p-1ea3e01d.entry.js → p-2def11f1.entry.js} +1 -1
  228. package/dist/twilight/{p-2ae4c174.entry.js → p-2f1d030d.entry.js} +1 -1
  229. package/dist/twilight/{p-f0aece35.entry.js → p-2f38b7e4.entry.js} +1 -1
  230. package/dist/twilight/{p-3445cd8c.entry.js → p-3161b8ae.entry.js} +1 -1
  231. package/dist/twilight/{p-18ba0468.entry.js → p-324a7ef6.entry.js} +1 -1
  232. package/dist/twilight/{p-e9db8f68.entry.js → p-32c59462.entry.js} +1 -1
  233. package/dist/twilight/{p-b05efe57.entry.js → p-33afa437.entry.js} +1 -1
  234. package/dist/twilight/{p-3d0cf0b3.entry.js → p-340dd50d.entry.js} +1 -1
  235. package/dist/twilight/{p-e806cb75.entry.js → p-348e706d.entry.js} +1 -1
  236. package/dist/twilight/{p-190339c7.entry.js → p-34a187cf.entry.js} +1 -1
  237. package/dist/twilight/{p-89c54a03.entry.js → p-3607b38e.entry.js} +1 -1
  238. package/dist/twilight/{p-56419305.entry.js → p-3b958e78.entry.js} +1 -1
  239. package/dist/twilight/{p-b401a024.entry.js → p-3c04469e.entry.js} +1 -1
  240. package/dist/twilight/{p-c50e24d7.entry.js → p-3dee0f70.entry.js} +1 -1
  241. package/dist/twilight/{p-a61c84d6.entry.js → p-3fde1a58.entry.js} +1 -1
  242. package/dist/twilight/{p-ef35051f.entry.js → p-456ac86d.entry.js} +1 -1
  243. package/dist/twilight/{p-6978b18f.entry.js → p-4804edb7.entry.js} +1 -1
  244. package/dist/twilight/{p-a7333036.entry.js → p-4970584a.entry.js} +1 -1
  245. package/dist/twilight/{p-ab284e93.entry.js → p-4a79b461.entry.js} +1 -1
  246. package/dist/twilight/{p-1be97b58.entry.js → p-5a1797c8.entry.js} +1 -1
  247. package/dist/twilight/{p-364661cc.entry.js → p-5b6a819a.entry.js} +1 -1
  248. package/dist/twilight/{p-dc0d8c24.entry.js → p-5f10dcbb.entry.js} +1 -1
  249. package/dist/twilight/{p-edb9b391.entry.js → p-60024239.entry.js} +1 -1
  250. package/dist/twilight/{p-c34719c9.entry.js → p-63626e90.entry.js} +1 -1
  251. package/dist/twilight/{p-b5a4b20a.entry.js → p-666611e5.entry.js} +1 -1
  252. package/dist/twilight/{p-7b125382.entry.js → p-74a9bc1e.entry.js} +1 -1
  253. package/dist/twilight/{p-3c16c6b8.entry.js → p-75f932ca.entry.js} +1 -1
  254. package/dist/twilight/{p-e5d5414e.entry.js → p-7645015f.entry.js} +1 -1
  255. package/dist/twilight/{p-aedee164.entry.js → p-7aa2cb4d.entry.js} +1 -1
  256. package/dist/twilight/{p-764fbd77.entry.js → p-7cdb34ae.entry.js} +1 -1
  257. package/dist/twilight/p-7d55faee.entry.js +4 -0
  258. package/dist/twilight/{p-d1d6ba0d.entry.js → p-80f079b3.entry.js} +1 -1
  259. package/dist/twilight/{p-80a0774d.entry.js → p-822715db.entry.js} +1 -1
  260. package/dist/twilight/{p-2765e4ec.entry.js → p-866ae3dc.entry.js} +1 -1
  261. package/dist/twilight/{p-6e352c13.entry.js → p-909275e1.entry.js} +1 -1
  262. package/dist/twilight/{p-58d198ed.entry.js → p-931481f2.entry.js} +1 -1
  263. package/dist/twilight/{p-9db3081f.entry.js → p-976fe135.entry.js} +1 -1
  264. package/dist/twilight/{p-e51e3e84.entry.js → p-9b98eda2.entry.js} +1 -1
  265. package/dist/twilight/{p-18d3976e.entry.js → p-9df9f164.entry.js} +1 -1
  266. package/dist/twilight/{p-2fda9f30.entry.js → p-9eed2e81.entry.js} +1 -1
  267. package/dist/twilight/{p-DZapUZRi.js → p-BbzxbdV_.js} +1 -1
  268. package/dist/twilight/{p-CvPfojZm.js → p-Bvu4BGoi.js} +1 -1
  269. package/dist/twilight/{p-CgPACEOg.js → p-BzPtXZ8b.js} +1 -1
  270. package/dist/twilight/{p-BFfD9GlY.js → p-CPL9CY3o.js} +1 -1
  271. package/dist/twilight/{p-C5ES8RmQ.js → p-CSKE9PmZ.js} +1 -1
  272. package/dist/twilight/{p-CsdaeDEP.js → p-ChXaJaVQ.js} +1 -1
  273. package/dist/twilight/{p-DlqVqj-B.js → p-DArQ56Y5.js} +1 -1
  274. package/dist/twilight/{p-BAyOlChZ.js → p-DW5X0KUQ.js} +1 -1
  275. package/dist/twilight/p-Da1jq8Qo.js +4 -0
  276. package/dist/twilight/{p-CTlsIWU4.js → p-Jx-87Pvn.js} +1 -1
  277. package/dist/twilight/{p-CYUz6ssw.js → p-_Jg561eU.js} +1 -1
  278. package/dist/twilight/{p-0e21c689.entry.js → p-a4f5a886.entry.js} +1 -1
  279. package/dist/twilight/{p-09d4cdc7.entry.js → p-a8551a6e.entry.js} +1 -1
  280. package/dist/twilight/{p-4763b0d3.entry.js → p-a92022bc.entry.js} +1 -1
  281. package/dist/twilight/{p-05573ec1.entry.js → p-b4079e50.entry.js} +1 -1
  282. package/dist/twilight/{p-af139470.entry.js → p-b57981d4.entry.js} +1 -1
  283. package/dist/twilight/{p-b071c543.entry.js → p-b6c15b67.entry.js} +1 -1
  284. package/dist/twilight/{p-fd373a93.entry.js → p-bdeb8fdc.entry.js} +1 -1
  285. package/dist/twilight/{p-8d963f16.entry.js → p-c07e239e.entry.js} +1 -1
  286. package/dist/twilight/{p-10ef7d8a.entry.js → p-c37d3334.entry.js} +1 -1
  287. package/dist/twilight/{p-9b53b934.entry.js → p-cdbf3ed7.entry.js} +1 -1
  288. package/dist/twilight/{p-5bd5b1db.entry.js → p-ce12be93.entry.js} +1 -1
  289. package/dist/twilight/{p-56b806ac.entry.js → p-cec8779e.entry.js} +1 -1
  290. package/dist/twilight/{p-d2486369.entry.js → p-d0e713bf.entry.js} +1 -1
  291. package/dist/twilight/{p-a53b463a.entry.js → p-d27249b5.entry.js} +1 -1
  292. package/dist/twilight/{p-b4d80c1d.entry.js → p-d2fb2da6.entry.js} +1 -1
  293. package/dist/twilight/{p-d7f1567d.entry.js → p-d7a88a71.entry.js} +1 -1
  294. package/dist/twilight/{p-9a9e8efe.entry.js → p-dd0d6d13.entry.js} +1 -1
  295. package/dist/twilight/{p-edea7fcd.entry.js → p-ddc1bc0d.entry.js} +1 -1
  296. package/dist/twilight/{p-36242efb.entry.js → p-df1cdb0d.entry.js} +1 -1
  297. package/dist/twilight/{p-15f58bea.entry.js → p-e3d7e3c8.entry.js} +1 -1
  298. package/dist/twilight/{p-f1e59473.entry.js → p-e8d76141.entry.js} +1 -1
  299. package/dist/twilight/{p-4f1f71c6.entry.js → p-f174316c.entry.js} +1 -1
  300. package/dist/twilight/{p-ce86f94a.entry.js → p-f36bc567.entry.js} +1 -1
  301. package/dist/twilight/{p-6c7e6d1e.entry.js → p-f4906774.entry.js} +1 -1
  302. package/dist/twilight/{p-97d0a70f.entry.js → p-f7ebf444.entry.js} +1 -1
  303. package/dist/twilight/{p-2565dc64.entry.js → p-f93423c4.entry.js} +1 -1
  304. package/dist/twilight/{p-15c2aded.entry.js → p-f96a86a0.entry.js} +1 -1
  305. package/dist/twilight/{p-6e5e98d4.entry.js → p-f995bf04.entry.js} +1 -1
  306. package/dist/twilight/{p-10deb584.entry.js → p-fb469c8a.entry.js} +1 -1
  307. package/dist/twilight/{p-1c1aab79.entry.js → p-fc5654d2.entry.js} +1 -1
  308. package/dist/twilight/{p-AuwIE7o-.js → p-jKgGFpyH.js} +1 -1
  309. package/dist/twilight/twilight.esm.js +1 -1
  310. package/dist/types/components/salla-product-options/availability-utils.d.ts +8 -1
  311. package/dist/types/components/salla-product-options/salla-product-options.d.ts +11 -0
  312. package/dist/types/components.d.ts +10 -0
  313. package/package.json +5 -5
  314. package/dist/twilight/p-N2hoIVEP.js +0 -4
  315. package/dist/twilight/p-b47bbfd3.entry.js +0 -4
@@ -58,8 +58,15 @@ var Currency;
58
58
  *
59
59
  * skus_availability is always the authoritative source when present; is_out is
60
60
  * consulted only as a last resort when a detail has no SKU data at all.
61
+ *
62
+ * For unlimited products (no SKU data, or all SKUs false), all options default
63
+ * to available unless explicitly marked as out of stock.
64
+ *
65
+ * @param isProductAvailable – whether product is available at the parent level
66
+ * (e.g., quantity > 0 or -1 for unlimited). If true and all SKUs are false,
67
+ * treat as available (data is incomplete or product is unlimited).
61
68
  */
62
- function computeAvailabilityMap(optionsData, selectedOptions) {
69
+ function computeAvailabilityMap(optionsData, selectedOptions, isProductAvailable = true) {
63
70
  const map = {};
64
71
  if (!optionsData?.length)
65
72
  return map;
@@ -67,6 +74,22 @@ function computeAvailabilityMap(optionsData, selectedOptions) {
67
74
  const isSingleGroup = variantGroups.length <= 1;
68
75
  // Non-advance options carry no variant SKUs — never let them constrain the intersection.
69
76
  const nonAdvanceOptionIds = new Set(optionsData.filter(opt => opt.is_advance === false).map(opt => opt.id));
77
+ // Unlimited product (no SKU data) — all options default to available unless explicitly marked.
78
+ if (variantGroups.length === 0) {
79
+ for (const optionGroup of optionsData) {
80
+ for (const detail of optionGroup.details) {
81
+ map[detail.id] = detail.is_out ? 'out_of_stock' : 'available';
82
+ }
83
+ }
84
+ return map;
85
+ }
86
+ // The isProductAvailable fallback (promote all-false SKUs to 'available') is only safe
87
+ // when the product carries NO in-stock SKU anywhere — that signals placeholder/incomplete
88
+ // SKU data for an unlimited product. If ANY SKU in the product is in stock, the data is
89
+ // real and all-false details are genuinely out of stock; promoting them would let shoppers
90
+ // pick an unfulfillable variant of a partially-available limited product.
91
+ const productHasAnyTrueSku = variantGroups.some(opt => opt.details?.some(d => d.skus_availability && Object.values(d.skus_availability).some(Boolean)));
92
+ const allowUnlimitedFallback = isProductAvailable && !productHasAnyTrueSku;
70
93
  for (const optionGroup of variantGroups) {
71
94
  const otherSelected = selectedOptions.filter(s => s.option_id !== optionGroup.id);
72
95
  for (const detail of optionGroup.details) {
@@ -77,9 +100,17 @@ function computeAvailabilityMap(optionsData, selectedOptions) {
77
100
  continue;
78
101
  }
79
102
  const detailSkus = Object.keys(skusAvail).map(Number);
103
+ const hasAnyTrueSku = detailSkus.some(sku => skusAvail[sku]);
80
104
  // No cross-group context yet — evaluate this detail's own SKUs directly.
81
105
  if (isSingleGroup || otherSelected.length === 0) {
82
- map[detail.id] = detailSkus.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
106
+ // If product is available but all SKUs are false, treat as available
107
+ // (data incomplete or product is unlimited with placeholder SKU data).
108
+ if (!hasAnyTrueSku && allowUnlimitedFallback) {
109
+ map[detail.id] = 'available';
110
+ }
111
+ else {
112
+ map[detail.id] = hasAnyTrueSku ? 'available' : 'out_of_stock';
113
+ }
83
114
  continue;
84
115
  }
85
116
  // Intersect this detail's SKUs with those of each other selected detail.
@@ -90,11 +121,22 @@ function computeAvailabilityMap(optionsData, selectedOptions) {
90
121
  const otherSkus = new Set(Object.keys(other.skus_availability || {}).map(Number));
91
122
  candidates = candidates.filter(sku => otherSkus.has(sku));
92
123
  }
124
+ // Empty intersection normally means an unfulfillable combination. But when the
125
+ // unlimited fallback applies (no true SKU anywhere — placeholder data), there are
126
+ // no real stock constraints, so a non-overlapping SKU set is a data artifact, not
127
+ // an impossible combination.
93
128
  if (!candidates.length) {
94
- map[detail.id] = 'impossible';
129
+ map[detail.id] = allowUnlimitedFallback ? 'available' : 'impossible';
95
130
  continue;
96
131
  }
97
- map[detail.id] = candidates.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
132
+ const hasAvailableCandidate = candidates.some(sku => skusAvail[sku]);
133
+ // If product available but no candidates match true SKUs, treat as available.
134
+ if (!hasAvailableCandidate && allowUnlimitedFallback) {
135
+ map[detail.id] = 'available';
136
+ }
137
+ else {
138
+ map[detail.id] = hasAvailableCandidate ? 'available' : 'out_of_stock';
139
+ }
98
140
  }
99
141
  }
100
142
  return map;
@@ -134,6 +176,17 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
134
176
  this.userInitiatedValidation = false;
135
177
  this.isCartMode = false;
136
178
  this.availabilityMap = {};
179
+ /**
180
+ * Whether the product is available at the parent level (quantity > 0, or unlimited).
181
+ * Controls the unlimited-product fallback in computeAvailabilityMap: only when true is a
182
+ * detail with all-false SKUs treated as available (placeholder/incomplete data).
183
+ *
184
+ * The API path derives this automatically from `is_out_of_stock`. When options are supplied
185
+ * via the `options` prop, callers must set `product-available` explicitly — it defaults to
186
+ * false so genuinely out-of-stock products are never silently promoted to available.
187
+ * (Truly unlimited products with no SKU data are handled separately and don't need this.)
188
+ */
189
+ this.productAvailable = false;
137
190
  this.outSkus = [];
138
191
  /**
139
192
  * Avoid selection of previous default or selected card value option
@@ -220,7 +273,10 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
220
273
  this.setOptionsData([]);
221
274
  }
222
275
  if (this.productId && !salla.url.is_page('cart')) {
223
- salla.api.product.getDetails(this.productId, ['options']).then(resp => this.setOptionsData(resp.data.options));
276
+ salla.api.product.getDetails(this.productId, ['options']).then(resp => {
277
+ this.productAvailable = !resp.data.is_out_of_stock;
278
+ this.setOptionsData(resp.data.options);
279
+ });
224
280
  }
225
281
  }
226
282
  /**
@@ -574,6 +630,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
574
630
  }
575
631
  }
576
632
  this.outOfStockText = salla.lang.get('pages.products.out_of_stock');
633
+ // Props (e.g. product-available) are not set during the constructor, so recompute the
634
+ // availability map now that the prop value supplied on the options-prop path is applied.
635
+ this.computeAvailability();
577
636
  await salla.onReady();
578
637
  this.canDisabled = !salla.config.get('store.settings.product.notify_options_availability') || salla.url.is_page('cart');
579
638
  this.pasteHandler = this.handlePaste.bind(this);
@@ -886,7 +945,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
886
945
  return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
887
946
  }
888
947
  computeAvailability() {
889
- this.availabilityMap = computeAvailabilityMap(this.optionsData || [], this.selectedOptions || []);
948
+ this.availabilityMap = computeAvailabilityMap(this.optionsData || [], this.selectedOptions || [], this.productAvailable);
890
949
  }
891
950
  isOptionDetailOut(detail) {
892
951
  const status = this.availabilityMap[detail.id];
@@ -1026,6 +1085,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
1026
1085
  get host() { return this; }
1027
1086
  static get style() { return sallaProductOptionsCss; }
1028
1087
  }, [0, "salla-product-options", {
1088
+ "productAvailable": [1028, "product-available"],
1029
1089
  "productId": [8, "product-id"],
1030
1090
  "options": [1],
1031
1091
  "hideOutLabel": [1, "hide-out-label"],
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { h } from './index-CPL9CY3o.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-BFfD9GlY.js';
4
+ import { d as getDefaultExportFromCjs } from './index-CPL9CY3o.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {