@salla.sa/twilight-components 2.14.467 → 2.14.469

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 (364) hide show
  1. package/dist/cjs/{filepond-Li5IcLEr.js → filepond-CG7dNZgq.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-CXgEvsrj.js → filepond-plugin-file-poster-B1zrjwgr.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-DISjKBXN.js → filepond-plugin-file-validate-size-BqZtoWbe.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-BeDqb2RU.js → filepond-plugin-file-validate-type-BGmGKK9L.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-CTKgasCY.js → filepond-plugin-image-edit-CYeh6qmG.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-BqvyVbfM.js → filepond-plugin-image-exif-orientation-BEVpo-ZQ.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-DfX-wD-s.js → filepond-plugin-image-preview-C7MMEZFE.js} +1 -1
  8. package/dist/cjs/{functions-DXNacMtu.js → functions-CnBVKKGk.js} +1 -1
  9. package/dist/cjs/{index-2n84VIdz.js → index-BNOCK3IN.js} +1 -1
  10. package/dist/cjs/{index-JuURs8Nc.js → index-inmL4H71.js} +9 -5
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{mail-Bgvt2hc9.js → mail-C9D8MHae.js} +2 -2
  13. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +29 -84
  16. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-booking-field_7.cjs.entry.js +11 -11
  22. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +91 -7
  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-cashback-banner.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
  29. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-gifting.cjs.entry.js +85 -31
  38. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-login-modal.cjs.entry.js +32 -2
  44. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  45. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +4 -4
  46. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  47. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  51. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  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.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.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-branch.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-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-card_2.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-products-list.cjs.entry.js +259 -64
  82. package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
  84. package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
  85. package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
  86. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-social-share.cjs.entry.js +252 -32
  91. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  93. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  95. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  99. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  100. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +329 -0
  102. package/dist/cjs/{tracked-promise-BdbqBT_O.js → tracked-promise-DvLhM2Sx.js} +1 -1
  103. package/dist/cjs/twilight.cjs.js +2 -2
  104. package/dist/cjs/{vanilla-picker-Cj5ogibZ.js → vanilla-picker-DtuN6WGq.js} +1 -1
  105. package/dist/collection/collection-manifest.json +2 -1
  106. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +90 -6
  107. package/dist/collection/components/salla-gifting/salla-gifting.css +18 -0
  108. package/dist/collection/components/salla-gifting/salla-gifting.js +91 -31
  109. package/dist/collection/components/salla-login-modal/salla-login-modal.js +31 -1
  110. package/dist/collection/components/salla-product-options/salla-product-options.css +0 -3
  111. package/dist/collection/components/salla-product-options/salla-product-options.js +28 -84
  112. package/dist/collection/components/salla-products-list/salla-products-list.css +76 -0
  113. package/dist/collection/components/salla-products-list/salla-products-list.js +387 -65
  114. package/dist/collection/components/salla-social-share/salla-social-share.css +161 -0
  115. package/dist/collection/components/salla-social-share/salla-social-share.js +316 -50
  116. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  117. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  118. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  119. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  120. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  121. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  122. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.css +65 -0
  123. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +432 -0
  124. package/dist/components/index.js +5 -5
  125. package/dist/components/salla-bullet-delivery.js +90 -6
  126. package/dist/components/salla-gifting.js +86 -30
  127. package/dist/components/salla-login-modal2.js +31 -1
  128. package/dist/components/salla-product-options2.js +28 -84
  129. package/dist/components/salla-products-list2.js +266 -64
  130. package/dist/components/salla-social-share.js +1 -189
  131. package/dist/components/salla-social-share2.js +420 -0
  132. package/dist/components/salla-tab-content2.js +1 -1
  133. package/dist/components/salla-tab-header2.js +1 -1
  134. package/dist/components/salla-tabs2.js +1 -1
  135. package/dist/components/salla-tel-input2.js +1 -1
  136. package/dist/components/salla-tooltip2.js +1 -1
  137. package/dist/components/salla-user-settings.js +1 -1
  138. package/dist/components/salla-wishlist-actions.d.ts +11 -0
  139. package/dist/components/salla-wishlist-actions.js +375 -0
  140. package/dist/esm/{filepond-Cpf2HNH9.js → filepond-D4dDq1wa.js} +1 -1
  141. package/dist/esm/{filepond-plugin-file-poster-CVurRtjC.js → filepond-plugin-file-poster-CcnsMPSH.js} +1 -1
  142. package/dist/esm/{filepond-plugin-file-validate-size-Dw2xFbfx.js → filepond-plugin-file-validate-size-qgEgRYkk.js} +1 -1
  143. package/dist/esm/{filepond-plugin-file-validate-type-D6seJVa2.js → filepond-plugin-file-validate-type-BuFGnco8.js} +1 -1
  144. package/dist/esm/{filepond-plugin-image-edit-CBikW78V.js → filepond-plugin-image-edit-kS2Sie2d.js} +1 -1
  145. package/dist/esm/{filepond-plugin-image-exif-orientation-5yNhe9TO.js → filepond-plugin-image-exif-orientation-Bjoh_of2.js} +1 -1
  146. package/dist/esm/{filepond-plugin-image-preview-PlAAXB7f.js → filepond-plugin-image-preview-b_VEHHGf.js} +1 -1
  147. package/dist/esm/{functions-Egzz8fEM.js → functions-ISZQDw0y.js} +1 -1
  148. package/dist/esm/{index-Do4FV1UZ.js → index-CqC4wD_f.js} +1 -1
  149. package/dist/esm/{index-a4x9urdK.js → index-Cqh-ta1v.js} +9 -5
  150. package/dist/esm/loader.js +3 -3
  151. package/dist/esm/{mail-DLNIOD9t.js → mail-DzAIgzdz.js} +2 -2
  152. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  153. package/dist/esm/salla-accordion_6.entry.js +1 -1
  154. package/dist/esm/salla-add-product-button_5.entry.js +29 -84
  155. package/dist/esm/salla-advertisement.entry.js +1 -1
  156. package/dist/esm/salla-alert_2.entry.js +1 -1
  157. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  158. package/dist/esm/salla-apps-icons.entry.js +1 -1
  159. package/dist/esm/salla-badge.entry.js +1 -1
  160. package/dist/esm/salla-booking-field_7.entry.js +11 -11
  161. package/dist/esm/salla-bullet-delivery_2.entry.js +91 -7
  162. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  163. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  164. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  165. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  166. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  167. package/dist/esm/salla-contacts.entry.js +3 -3
  168. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  169. package/dist/esm/salla-count-down.entry.js +1 -1
  170. package/dist/esm/salla-custom-fields.entry.js +1 -1
  171. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  172. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  173. package/dist/esm/salla-filters-widget.entry.js +1 -1
  174. package/dist/esm/salla-filters.entry.js +1 -1
  175. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  176. package/dist/esm/salla-gifting.entry.js +85 -31
  177. package/dist/esm/salla-hook.entry.js +1 -1
  178. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  179. package/dist/esm/salla-installment.entry.js +1 -1
  180. package/dist/esm/salla-list-tile.entry.js +1 -1
  181. package/dist/esm/salla-localization-modal.entry.js +1 -1
  182. package/dist/esm/salla-login-modal.entry.js +32 -2
  183. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  184. package/dist/esm/salla-loyalty-hero_2.entry.js +4 -4
  185. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  186. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  187. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  188. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  189. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  190. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  191. package/dist/esm/salla-loyalty.entry.js +1 -1
  192. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  193. package/dist/esm/salla-map.entry.js +1 -1
  194. package/dist/esm/salla-menu.entry.js +1 -1
  195. package/dist/esm/salla-metadata.entry.js +1 -1
  196. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  197. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  198. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  199. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  200. package/dist/esm/salla-notification-item.entry.js +1 -1
  201. package/dist/esm/salla-notifications.entry.js +1 -1
  202. package/dist/esm/salla-offer-modal.entry.js +1 -1
  203. package/dist/esm/salla-offer.entry.js +1 -1
  204. package/dist/esm/salla-order-branch.entry.js +1 -1
  205. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  206. package/dist/esm/salla-order-details-options.entry.js +1 -1
  207. package/dist/esm/salla-order-details.entry.js +1 -1
  208. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  209. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  210. package/dist/esm/salla-order-edit.entry.js +1 -1
  211. package/dist/esm/salla-order-summary.entry.js +1 -1
  212. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  213. package/dist/esm/salla-orders.entry.js +1 -1
  214. package/dist/esm/salla-payments.entry.js +1 -1
  215. package/dist/esm/salla-placeholder.entry.js +1 -1
  216. package/dist/esm/salla-price-range.entry.js +1 -1
  217. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  218. package/dist/esm/salla-product-card_2.entry.js +1 -1
  219. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  220. package/dist/esm/salla-products-list.entry.js +259 -64
  221. package/dist/esm/salla-progress-bar.entry.js +1 -1
  222. package/dist/esm/salla-quick-order.entry.js +3 -3
  223. package/dist/esm/salla-rating-modal.entry.js +3 -3
  224. package/dist/esm/salla-reward-action_4.entry.js +3 -3
  225. package/dist/esm/salla-scopes.entry.js +1 -1
  226. package/dist/esm/salla-search.entry.js +1 -1
  227. package/dist/esm/salla-skeleton.entry.js +1 -1
  228. package/dist/esm/salla-slider.entry.js +1 -1
  229. package/dist/esm/salla-social-share.entry.js +252 -32
  230. package/dist/esm/salla-social.entry.js +1 -1
  231. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  232. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  233. package/dist/esm/salla-tooltip.entry.js +2 -2
  234. package/dist/esm/salla-trust-badges.entry.js +1 -1
  235. package/dist/esm/salla-user-menu.entry.js +1 -1
  236. package/dist/esm/salla-user-profile.entry.js +1 -1
  237. package/dist/esm/salla-user-settings.entry.js +2 -2
  238. package/dist/esm/salla-verify.entry.js +3 -3
  239. package/dist/esm/salla-wallet.entry.js +1 -1
  240. package/dist/esm/salla-wishlist-actions.entry.js +327 -0
  241. package/dist/esm/{tracked-promise-BX5clCDX.js → tracked-promise-CH_UyK-l.js} +1 -1
  242. package/dist/esm/twilight.js +3 -3
  243. package/dist/esm/{vanilla-picker-DB0pDHa7.js → vanilla-picker-PE31tu9y.js} +1 -1
  244. package/dist/twilight/{p-afcb0117.entry.js → p-054c9462.entry.js} +1 -1
  245. package/dist/twilight/{p-78020271.entry.js → p-06372aeb.entry.js} +1 -1
  246. package/dist/twilight/p-06c06719.entry.js +4 -0
  247. package/dist/twilight/{p-16bcc5ab.entry.js → p-0c7efc0b.entry.js} +1 -1
  248. package/dist/twilight/{p-53cbb271.entry.js → p-0cca1b63.entry.js} +1 -1
  249. package/dist/twilight/{p-ad19661d.entry.js → p-1415eb5e.entry.js} +1 -1
  250. package/dist/twilight/{p-a53d5944.entry.js → p-14a3277b.entry.js} +1 -1
  251. package/dist/twilight/{p-92b02f3c.entry.js → p-15b3f969.entry.js} +1 -1
  252. package/dist/twilight/{p-241bd42e.entry.js → p-16b64bb5.entry.js} +1 -1
  253. package/dist/twilight/{p-37457147.entry.js → p-16c64a38.entry.js} +1 -1
  254. package/dist/twilight/{p-f5135cb5.entry.js → p-17920aa7.entry.js} +1 -1
  255. package/dist/twilight/{p-ec5ae058.entry.js → p-196fad8d.entry.js} +1 -1
  256. package/dist/twilight/{p-5803c158.entry.js → p-19fe2b27.entry.js} +1 -1
  257. package/dist/twilight/{p-316135f8.entry.js → p-1c0f9fd9.entry.js} +1 -1
  258. package/dist/twilight/{p-1130d4b7.entry.js → p-1db8b515.entry.js} +1 -1
  259. package/dist/twilight/{p-d0340e11.entry.js → p-219b14c4.entry.js} +1 -1
  260. package/dist/twilight/{p-127ee640.entry.js → p-227d11a0.entry.js} +1 -1
  261. package/dist/twilight/p-293a6d6b.entry.js +4 -0
  262. package/dist/twilight/{p-0c748664.entry.js → p-2ba603bc.entry.js} +1 -1
  263. package/dist/twilight/p-2dbb3b49.entry.js +4 -0
  264. package/dist/twilight/{p-5b365561.entry.js → p-31bd852c.entry.js} +1 -1
  265. package/dist/twilight/{p-92f3ea44.entry.js → p-32a7cb85.entry.js} +1 -1
  266. package/dist/twilight/{p-1a37b959.entry.js → p-32d5d279.entry.js} +1 -1
  267. package/dist/twilight/{p-91363b7e.entry.js → p-36884c05.entry.js} +1 -1
  268. package/dist/twilight/{p-13a033fa.entry.js → p-38a791cb.entry.js} +1 -1
  269. package/dist/twilight/{p-0b169d4e.entry.js → p-3b198162.entry.js} +1 -1
  270. package/dist/twilight/{p-735fafef.entry.js → p-3d517178.entry.js} +1 -1
  271. package/dist/twilight/{p-d9d4ea5b.entry.js → p-3e5a57cc.entry.js} +1 -1
  272. package/dist/twilight/{p-fa1cc092.entry.js → p-40eb9556.entry.js} +6 -6
  273. package/dist/twilight/{p-1ce817c2.entry.js → p-49181c4a.entry.js} +1 -1
  274. package/dist/twilight/p-4a81a708.entry.js +4 -0
  275. package/dist/twilight/{p-35ac1fc9.entry.js → p-4b20872a.entry.js} +1 -1
  276. package/dist/twilight/{p-e27363dd.entry.js → p-4c370853.entry.js} +1 -1
  277. package/dist/twilight/{p-e1205d19.entry.js → p-4ee20a54.entry.js} +1 -1
  278. package/dist/twilight/{p-b0bf7a5b.entry.js → p-51c30ec2.entry.js} +1 -1
  279. package/dist/twilight/{p-2bcfb4f3.entry.js → p-5334222c.entry.js} +1 -1
  280. package/dist/twilight/{p-c0380d40.entry.js → p-559bdcca.entry.js} +1 -1
  281. package/dist/twilight/{p-03d13b9f.entry.js → p-5701244a.entry.js} +1 -1
  282. package/dist/twilight/{p-0da78d4e.entry.js → p-5d364fc2.entry.js} +1 -1
  283. package/dist/twilight/{p-DiWHgCMH.js → p-5fxCpxw5.js} +1 -1
  284. package/dist/twilight/{p-08b2c781.entry.js → p-61ad2660.entry.js} +1 -1
  285. package/dist/twilight/p-6590acee.entry.js +4 -0
  286. package/dist/twilight/{p-b8ab7da8.entry.js → p-681f8874.entry.js} +1 -1
  287. package/dist/twilight/{p-d17596ff.entry.js → p-6b6f9822.entry.js} +1 -1
  288. package/dist/twilight/{p-4d393389.entry.js → p-6d23fd92.entry.js} +1 -1
  289. package/dist/twilight/p-6e723d46.entry.js +4 -0
  290. package/dist/twilight/{p-d33203b7.entry.js → p-71f2ba66.entry.js} +1 -1
  291. package/dist/twilight/{p-c8fd03c0.entry.js → p-732bd9fb.entry.js} +1 -1
  292. package/dist/twilight/{p-42a0b54a.entry.js → p-73d9e4c8.entry.js} +1 -1
  293. package/dist/twilight/{p-e90d18b2.entry.js → p-74e0d0c2.entry.js} +1 -1
  294. package/dist/twilight/{p-52fe97c8.entry.js → p-77d2312a.entry.js} +1 -1
  295. package/dist/twilight/{p-635347c9.entry.js → p-78ff445c.entry.js} +1 -1
  296. package/dist/twilight/{p-74a61155.entry.js → p-798fb3c7.entry.js} +1 -1
  297. package/dist/twilight/{p-e726123e.entry.js → p-79c20964.entry.js} +1 -1
  298. package/dist/twilight/{p-C4aFleDM.js → p-7FtjQghq.js} +1 -1
  299. package/dist/twilight/{p-0405f5e8.entry.js → p-7afe6e1a.entry.js} +1 -1
  300. package/dist/twilight/{p-b80adb19.entry.js → p-7e185acf.entry.js} +1 -1
  301. package/dist/twilight/{p-f684d7bf.entry.js → p-8b538bd7.entry.js} +1 -1
  302. package/dist/twilight/{p-bfbf8121.entry.js → p-8bcc3b86.entry.js} +1 -1
  303. package/dist/twilight/{p-a068fff4.entry.js → p-8db52fe9.entry.js} +1 -1
  304. package/dist/twilight/{p-89f11893.entry.js → p-93ec294d.entry.js} +1 -1
  305. package/dist/twilight/p-9785f314.entry.js +4 -0
  306. package/dist/twilight/{p-ff270706.entry.js → p-9a3f27e9.entry.js} +1 -1
  307. package/dist/twilight/{p-DSBkBAFI.js → p-B0uENqSF.js} +1 -1
  308. package/dist/twilight/{p-B7KW0zhB.js → p-C3kw3FEZ.js} +1 -1
  309. package/dist/twilight/{p-BVqg7xd9.js → p-CUfwD9kr.js} +1 -1
  310. package/dist/twilight/{p-a4x9urdK.js → p-Cqh-ta1v.js} +2 -2
  311. package/dist/twilight/{p-fCaOxwGH.js → p-DZ18vMT2.js} +1 -1
  312. package/dist/twilight/{p-EPfEwqOC.js → p-DyQ5MH6F.js} +1 -1
  313. package/dist/twilight/{p-DLNIOD9t.js → p-DzAIgzdz.js} +1 -1
  314. package/dist/twilight/{p-pOgjUtf9.js → p-J_27I63T.js} +1 -1
  315. package/dist/twilight/{p-10e0936d.entry.js → p-a85d80b5.entry.js} +1 -1
  316. package/dist/twilight/{p-6d47892b.entry.js → p-a918b812.entry.js} +1 -1
  317. package/dist/twilight/{p-ba1199ba.entry.js → p-aec0a2df.entry.js} +1 -1
  318. package/dist/twilight/{p-9b639078.entry.js → p-b16d8b19.entry.js} +1 -1
  319. package/dist/twilight/{p-ee605cef.entry.js → p-b295c1f1.entry.js} +1 -1
  320. package/dist/twilight/{p-0957f323.entry.js → p-b6c0aa79.entry.js} +1 -1
  321. package/dist/twilight/{p-0bdf58a4.entry.js → p-b7727021.entry.js} +1 -1
  322. package/dist/twilight/{p-e8a82952.entry.js → p-badf4c9d.entry.js} +1 -1
  323. package/dist/twilight/{p-fe506679.entry.js → p-c6be8afd.entry.js} +1 -1
  324. package/dist/twilight/{p-ec073354.entry.js → p-ccd8c960.entry.js} +1 -1
  325. package/dist/twilight/{p-3fbd88d0.entry.js → p-ce0410d5.entry.js} +1 -1
  326. package/dist/twilight/{p-ef8fb222.entry.js → p-cee7a8ad.entry.js} +1 -1
  327. package/dist/twilight/{p-f6bb956c.entry.js → p-d0c8435f.entry.js} +1 -1
  328. package/dist/twilight/{p-59f815bc.entry.js → p-d23eeb0c.entry.js} +1 -1
  329. package/dist/twilight/{p-f170aff7.entry.js → p-d63f2cbd.entry.js} +1 -1
  330. package/dist/twilight/{p-6d87b134.entry.js → p-d6b6a8ad.entry.js} +1 -1
  331. package/dist/twilight/{p-b0ed6a9f.entry.js → p-d823cbcd.entry.js} +1 -1
  332. package/dist/twilight/{p-9df5c9a7.entry.js → p-d8f22e4b.entry.js} +1 -1
  333. package/dist/twilight/{p-CsMnvJkR.js → p-dKdk2xpB.js} +1 -1
  334. package/dist/twilight/p-dbdbb882.entry.js +4 -0
  335. package/dist/twilight/{p-d905fbca.entry.js → p-dc8555bf.entry.js} +1 -1
  336. package/dist/twilight/{p-fbfacb11.entry.js → p-dca3b67e.entry.js} +1 -1
  337. package/dist/twilight/{p-056400a1.entry.js → p-e0671ff1.entry.js} +1 -1
  338. package/dist/twilight/{p-59f7f014.entry.js → p-e06e37c1.entry.js} +1 -1
  339. package/dist/twilight/{p-c60c302f.entry.js → p-e265d626.entry.js} +1 -1
  340. package/dist/twilight/{p-61b1fd3b.entry.js → p-f0e96875.entry.js} +1 -1
  341. package/dist/twilight/p-f64168cc.entry.js +4 -0
  342. package/dist/twilight/{p-0b1970c2.entry.js → p-f67639df.entry.js} +1 -1
  343. package/dist/twilight/{p-fa039238.entry.js → p-fd180bd3.entry.js} +1 -1
  344. package/dist/twilight/{p-D9ni3BuG.js → p-m2p-QAbu.js} +1 -1
  345. package/dist/twilight/{p-CkA6UKAD.js → p-yyvPGK6r.js} +2 -2
  346. package/dist/twilight/twilight.esm.js +1 -1
  347. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +16 -0
  348. package/dist/types/components/salla-gifting/gift-schema.d.ts +4 -0
  349. package/dist/types/components/salla-gifting/salla-gifting.d.ts +5 -1
  350. package/dist/types/components/salla-login-modal/salla-login-modal.d.ts +2 -0
  351. package/dist/types/components/salla-product-options/salla-product-options.d.ts +0 -11
  352. package/dist/types/components/salla-products-list/salla-products-list.d.ts +60 -6
  353. package/dist/types/components/salla-social-share/salla-social-share.d.ts +39 -2
  354. package/dist/types/components/salla-wishlist-actions/salla-wishlist-actions.d.ts +93 -0
  355. package/dist/types/components.d.ts +172 -18
  356. package/package.json +5 -5
  357. package/dist/twilight/p-234fdf72.entry.js +0 -4
  358. package/dist/twilight/p-7a1cfd65.entry.js +0 -4
  359. package/dist/twilight/p-865c602e.entry.js +0 -4
  360. package/dist/twilight/p-9dc0fec4.entry.js +0 -4
  361. package/dist/twilight/p-e485d0b8.entry.js +0 -4
  362. package/dist/twilight/p-f5072671.entry.js +0 -4
  363. package/dist/twilight/p-fb7904e6.entry.js +0 -4
  364. package/dist/twilight/p-fdde8399.entry.js +0 -4
@@ -27,7 +27,6 @@ export class SallaProductOptions {
27
27
  this.availableDigitalCardValues = [];
28
28
  this.userInitiatedValidation = false;
29
29
  this.isCartMode = false;
30
- this.availabilityMap = {};
31
30
  this.outSkus = [];
32
31
  /**
33
32
  * Avoid selection of previous default or selected card value option
@@ -118,14 +117,12 @@ export class SallaProductOptions {
118
117
  */
119
118
  async setOptionsData(optionsData) {
120
119
  this.optionsData = optionsData;
121
- this.outSkus = [];
122
- this.optionsData[0]?.details?.forEach(detail => {
120
+ const that = this;
121
+ this.optionsData[0]?.details?.forEach(function (detail) {
123
122
  Object.entries(detail.skus_availability || {})
124
- .filter(([, available]) => !available)
125
- .forEach(([sku]) => this.outSkus.push(Number(sku)));
123
+ .filter(sku => !sku[1])
124
+ .map(sku => that.outSkus.push(Number(sku[0])));
126
125
  });
127
- this.fillSelectedOptions();
128
- this.computeAvailability();
129
126
  }
130
127
  /**
131
128
  * Get the current options state, including selected values/details.
@@ -311,9 +308,8 @@ export class SallaProductOptions {
311
308
  */
312
309
  setSelectedSkus() {
313
310
  this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))
314
- .reduce((p, c) => p.filter(e => c.includes(e)), [])
311
+ .reduce((p, c) => p.filter(e => c.includes(e)), []) // Initialize accumulator as an empty array
315
312
  .map(sku => Number(sku));
316
- this.computeAvailability();
317
313
  }
318
314
  handleRequiredMultipleOptions(option) {
319
315
  if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {
@@ -642,7 +638,6 @@ export class SallaProductOptions {
642
638
  this.disableCardValue = false;
643
639
  this.canDisabled = true;
644
640
  this.fillSelectedOptions();
645
- this.computeAvailability();
646
641
  }
647
642
  /**
648
643
  * Enable user-initiated validation mode so invalid fields will scroll into view
@@ -753,59 +748,22 @@ export class SallaProductOptions {
753
748
  //and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol
754
749
  return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
755
750
  }
756
- /**
757
- * Builds a per-detail availability map by intersecting SKUs across all currently
758
- * selected option groups. Supports any number of option groups generically.
759
- *
760
- * Status values:
761
- * 'available' – at least one in-stock SKU exists for this detail + current selections
762
- * 'out_of_stock'– all matching SKUs are out of stock
763
- * 'impossible' – no SKU exists for this detail + current selections (invalid combination)
764
- */
765
- computeAvailability() {
766
- const map = {};
767
- if (!this.optionsData?.length) {
768
- this.availabilityMap = map;
769
- return;
751
+ isOptionDetailOut(detail) {
752
+ if (detail.is_out || !detail.skus_availability || !this.selectedSkus?.length) {
753
+ return detail.is_out;
770
754
  }
771
- const variantGroups = this.optionsData.filter(opt => opt.details?.some(d => d.skus_availability && Object.keys(d.skus_availability).length > 0));
772
- const isSingleGroup = variantGroups.length <= 1;
773
- for (const optionGroup of variantGroups) {
774
- const otherSelected = this.selectedOptions.filter(s => s.option_id !== optionGroup.id);
775
- for (const detail of optionGroup.details) {
776
- if (detail.is_out) {
777
- map[detail.id] = 'out_of_stock';
778
- continue;
779
- }
780
- const skusAvail = detail.skus_availability;
781
- if (!skusAvail || !Object.keys(skusAvail).length) {
782
- map[detail.id] = 'available';
783
- continue;
784
- }
785
- const detailSkus = Object.keys(skusAvail).map(Number);
786
- // No cross-group context yet — evaluate this detail's own SKUs directly
787
- if (isSingleGroup || otherSelected.length === 0) {
788
- map[detail.id] = detailSkus.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
789
- continue;
790
- }
791
- // Intersect this detail's SKUs with the SKUs of each other selected detail
792
- let candidates = detailSkus;
793
- for (const other of otherSelected) {
794
- const otherSkus = Object.keys(other.skus_availability || {}).map(Number);
795
- candidates = candidates.filter(sku => otherSkus.includes(sku));
796
- }
797
- if (!candidates.length) {
798
- map[detail.id] = 'impossible';
799
- continue;
800
- }
801
- map[detail.id] = candidates.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
802
- }
755
+ const isDetailSelected = this.selectedOptions.filter(option => option.id === detail.id).length;
756
+ //if the current options is the only selected option, so we are sure that it's not out, because there is no other options selected yet
757
+ if (isDetailSelected && this.selectedOptions.length === 1) {
758
+ return false;
803
759
  }
804
- this.availabilityMap = map;
805
- }
806
- isOptionDetailOut(detail) {
807
- const status = this.availabilityMap[detail.id];
808
- return status !== undefined ? status !== 'available' : (detail.is_out ?? false);
760
+ //if current details has sku in the possible outSkus it's out for sure
761
+ if (isDetailSelected) {
762
+ //here we will get the possible outSkus for current selected options
763
+ const outSelectableSkus = this.selectedSkus.filter(sku => this.outSkus.includes(sku));
764
+ return Object.keys(detail.skus_availability).some(sku => outSelectableSkus.includes(Number(sku)));
765
+ }
766
+ return this.selectedOptions.some(option => option.is_out && option.option_id !== detail.option_id);
809
767
  }
810
768
  /**
811
769
  * Renders a single input element (radio or checkbox) for an option detail.
@@ -818,15 +776,10 @@ export class SallaProductOptions {
818
776
  */
819
777
  renderInput(type, detail, option, isRequired, name, buttonStyle) {
820
778
  const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);
821
- const isOutOfStock = this.isOptionDetailOut(detail);
779
+ const isDisabled = this.isOptionDetailOut(detail);
822
780
  return (h("label", { class: {
823
- "s-product-options-disabled": this.canDisabled && isOutOfStock,
824
- "s-product-options-option-stock-out": isOutOfStock,
825
- } }, h("input", { id: id, type: type, name: name, value: detail.id, disabled: this.canDisabled && isOutOfStock, required: isRequired, checked: detail.is_selected, onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("div", { class: {
826
- "s-product-options-grid-mode-span": buttonStyle,
827
- "s-product-options-disabled": this.canDisabled && isOutOfStock,
828
- "s-product-options-option-stock-out": isOutOfStock,
829
- } }, this.getOptionDetailName(detail))));
781
+ "s-product-options-disabled": isDisabled,
782
+ } }, h("input", { id: id, type: type, name: name, value: detail.id, disabled: isDisabled, required: isRequired, checked: detail.is_selected, onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("div", { class: { "s-product-options-grid-mode-span": buttonStyle, "s-product-options-disabled": isDisabled } }, this.getOptionDetailName(detail))));
830
783
  }
831
784
  /**
832
785
  * Renders a collection of input elements for all details of an option.
@@ -899,22 +852,15 @@ export class SallaProductOptions {
899
852
  }
900
853
  //@ts-ignore
901
854
  colorOption(option) {
902
- return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => {
903
- const isOutOfStock = this.isOptionDetailOut(detail);
904
- return (h("div", { class: {
905
- "s-product-options-colors-item": true,
906
- "s-product-options-option-stock-out": isOutOfStock,
907
- }, key: detail.id }, h("input", { type: "radio", value: detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option), "data-img-id": detail.option_value }), h("label", { htmlFor: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), "data-img-id": detail.option_value }, h("span", { style: { backgroundColor: detail.color } }), h("div", { innerHTML: this.getOptionDetailName(detail, true, option.type) }))));
908
- })));
855
+ return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => (h("div", { class: "s-product-options-colors-item", key: detail.id }, h("input", { type: "radio", value: detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), disabled: this.canDisabled && this.isOptionDetailOut(detail), id: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option), "data-img-id": detail.option_value }), h("label", { htmlFor: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), "data-img-id": detail.option_value }, h("span", { style: { backgroundColor: detail.color } }), h("div", { innerHTML: this.getOptionDetailName(detail, true, option.type) })))))));
909
856
  }
910
857
  //@ts-ignore
911
858
  thumbnailOption(option) {
912
859
  return h("div", { class: "s-product-options-thumbnails-wrapper" }, option.details.map((detail) => {
913
- const isOutOfStock = this.isOptionDetailOut(detail);
914
- return h("div", { key: detail.id, class: { "s-product-options-option-stock-out": isOutOfStock } }, h("input", { type: "radio", value: detail.id, "data-itemid": detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), "data-img-id": detail.option_value, disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("label", { htmlFor: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), "data-img-id": detail.option_value, class: "go-to-slide" }, h("img", { "data-src": detail.image, src: detail.image, title: detail.name, alt: detail.name }), h("span", { innerHTML: CheckCircleIcon, class: "s-product-options-thumbnails-icon" }), isOutOfStock ?
860
+ return h("div", { key: detail.id }, h("input", { type: "radio", value: detail.id, "data-itemid": detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), "data-img-id": detail.option_value, disabled: this.canDisabled && this.isOptionDetailOut(detail), id: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("label", { htmlFor: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), "data-img-id": detail.option_value, class: "go-to-slide" }, h("img", { "data-src": detail.image, src: detail.image, title: detail.name, alt: detail.name }), h("span", { innerHTML: CheckCircleIcon, class: "s-product-options-thumbnails-icon" }), this.isOptionDetailOut(detail) ?
915
861
  [
916
- h("small", { key: `badge-${detail.id}`, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
917
- this.canDisabled ? h("div", { key: `overlay-${detail.id}`, class: "s-product-options-thumbnails-badge-overlay" }) : '',
862
+ h("small", { key: detail.id, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
863
+ this.canDisabled ? h("div", { key: detail.id, class: "s-product-options-thumbnails-badge-overlay" }) : '',
918
864
  ]
919
865
  : ''), h("p", null, this.getOptionDetailName(detail, false), " "));
920
866
  }));
@@ -929,8 +875,7 @@ export class SallaProductOptions {
929
875
  }
930
876
  countryOption(option) {
931
877
  return h("div", { class: "s-product-options-digital-card-wrapper" }, option.details.map((detail) => {
932
- const isOutOfStock = this.isOptionDetailOut(detail);
933
- return h("label", { htmlFor: this.generateUniqueKey(detail.id.toString()), key: detail.id, class: { "s-product-options-digital-card-option": true, "s-product-options-digital-card-option-stock-out": isOutOfStock, "s-product-options-option-stock-out": isOutOfStock } }, h("input", { id: this.generateUniqueKey(detail.id.toString()), type: "radio", class: "s-form-control s-product-options-digital-card-input", value: detail.id, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, required: !option.visibility_condition && option.required, onInvalid: (e) => this.invalidHandler(e, option), onChange: e => this.changedHandler(e, option), onClick: () => { this.disableCardValue = false; }, ...(salla.url.is_page("cart") ? { defaultChecked: this.getSelectedDigitalCardOptions(option)?.id === detail.id } : {}) }), h("img", { loading: "lazy", alt: detail.code, height: 24, width: 24, class: "s-product-options-country-flag", src: `https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(detail.code).toLocaleLowerCase()}.svg`, onError: e => {
878
+ return h("label", { htmlFor: this.generateUniqueKey(detail.id.toString()), key: detail.id, class: { "s-product-options-digital-card-option": true, "s-product-options-digital-card-option-stock-out": detail.is_out } }, h("input", { id: this.generateUniqueKey(detail.id.toString()), type: "radio", class: "s-form-control s-product-options-digital-card-input", value: detail.id, name: this.generateInputName(option.id), disabled: detail.is_out, required: !option.visibility_condition && option.required, onInvalid: (e) => this.invalidHandler(e, option), onChange: e => this.changedHandler(e, option), onClick: () => { this.disableCardValue = false; }, ...(salla.url.is_page("cart") ? { defaultChecked: this.getSelectedDigitalCardOptions(option)?.id === detail.id } : {}) }), h("img", { loading: "lazy", alt: detail.code, height: 24, width: 24, class: "s-product-options-country-flag", src: `https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(detail.code).toLocaleLowerCase()}.svg`, onError: e => {
934
879
  e.currentTarget.onerror = null;
935
880
  e.currentTarget.src =
936
881
  salla.url.cdn('images/globe.svg');
@@ -1082,8 +1027,7 @@ export class SallaProductOptions {
1082
1027
  "disableCardValue": {},
1083
1028
  "availableDigitalCardValues": {},
1084
1029
  "userInitiatedValidation": {},
1085
- "isCartMode": {},
1086
- "availabilityMap": {}
1030
+ "isCartMode": {}
1087
1031
  };
1088
1032
  }
1089
1033
  static get events() {
@@ -0,0 +1,76 @@
1
+ .s-products-list-selectable-item {
2
+ position: relative;
3
+ border-radius: 0.5rem;
4
+ transition: box-shadow 0.15s ease-in-out;
5
+ }
6
+
7
+ .s-products-list-item-selected {
8
+ box-shadow: 0 0 0 2px var(--color-primary);
9
+ }
10
+
11
+ .s-products-list-select-control {
12
+ position: absolute;
13
+ top: 10px;
14
+ inset-inline-start: 10px;
15
+ z-index: 5;
16
+ display: inline-flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ cursor: pointer;
20
+ }
21
+
22
+ .s-products-list-select-checkbox {
23
+ appearance: none;
24
+ -webkit-appearance: none;
25
+ -moz-appearance: none;
26
+ position: relative;
27
+ width: 22px;
28
+ height: 22px;
29
+ margin: 0;
30
+ cursor: pointer;
31
+ color: var(--color-primary);
32
+ border: 1px solid rgba(0, 0, 0, 0.15);
33
+ border-radius: 6px;
34
+ background-color: #fff;
35
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
36
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
37
+ }
38
+
39
+ .s-products-list-select-checkbox:hover {
40
+ border-color: var(--color-primary);
41
+ }
42
+
43
+ .s-products-list-select-checkbox:focus,
44
+ .s-products-list-select-checkbox:focus-visible {
45
+ outline: none;
46
+ border-color: var(--color-primary);
47
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent);
48
+ }
49
+
50
+ .s-products-list-select-checkbox:checked,
51
+ .s-products-list-select-checkbox:checked:hover,
52
+ .s-products-list-select-checkbox:checked:focus {
53
+ background-color: var(--color-primary);
54
+ border-color: var(--color-primary);
55
+ }
56
+
57
+ .s-products-list-select-checkbox:checked::after {
58
+ content: "";
59
+ position: absolute;
60
+ top: 50%;
61
+ left: 50%;
62
+ width: 5px;
63
+ height: 10px;
64
+ border: solid #fff;
65
+ border-width: 0 2px 2px 0;
66
+ transform: translate(-50%, -60%) rotate(45deg);
67
+ }
68
+
69
+ .s-products-list-row-cards .s-products-list-select-control {
70
+ top: 50%;
71
+ inset-inline-start: 14px;
72
+ transform: translateY(-50%);
73
+ }
74
+ .s-products-list-row-cards .s-products-list-selectable-item > :not(.s-products-list-select-control) {
75
+ padding-inline-start: 2.75rem;
76
+ }