@salla.sa/twilight-components 2.14.516 → 2.14.518

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 (330) hide show
  1. package/dist/cjs/{filepond-BVk_qugj.js → filepond-9vuLCcek.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-CevD4HdD.js → filepond-plugin-file-poster-CEj7iH7g.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-i7np7XCz.js → filepond-plugin-file-validate-size-CyiZTXc-.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-Gacna2VA.js → filepond-plugin-file-validate-type-DeJCL4Yd.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-0x2DeM-H.js → filepond-plugin-image-edit-B1x3Y_zU.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-Dmm3eMMZ.js → filepond-plugin-image-exif-orientation-BJaXZ40E.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-BSb1jOWO.js → filepond-plugin-image-preview-Di3BZCqQ.js} +1 -1
  8. package/dist/cjs/{functions-DfrV6G5_.js → functions-DMnGNEY0.js} +1 -1
  9. package/dist/cjs/{index-B6RWhkkR.js → index-BlM04jZj.js} +2 -2
  10. package/dist/cjs/{index-J4xGG6Hq.js → index-DpgcSE84.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  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 +96 -77
  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-basket-gap.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
  22. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down_2.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  47. package/dist/cjs/salla-loyalty-exchange-product-card_5.cjs.entry.js +3 -3
  48. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
  49. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  50. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  54. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
  55. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  93. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  104. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  105. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  106. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  107. package/dist/cjs/{tracked-promise-DfLohMkv.js → tracked-promise-Dzrn1HHw.js} +1 -1
  108. package/dist/cjs/twilight.cjs.js +1 -1
  109. package/dist/cjs/{vanilla-picker-FxKjXhjJ.js → vanilla-picker-DxM-y1YM.js} +1 -1
  110. package/dist/components/index.js +2 -2
  111. package/dist/components/salla-quick-buy2.js +95 -76
  112. package/dist/esm/{filepond-Bk0gHKob.js → filepond-DFcndQrC.js} +1 -1
  113. package/dist/esm/{filepond-plugin-file-poster-YSUKdGOX.js → filepond-plugin-file-poster-D_PB-IZU.js} +1 -1
  114. package/dist/esm/{filepond-plugin-file-validate-size-pjLAQAWV.js → filepond-plugin-file-validate-size-BDNeMPPZ.js} +1 -1
  115. package/dist/esm/{filepond-plugin-file-validate-type-DrrN5Zs4.js → filepond-plugin-file-validate-type-BVlfa6XH.js} +1 -1
  116. package/dist/esm/{filepond-plugin-image-edit-CWWdz9kB.js → filepond-plugin-image-edit-B4N_DIO8.js} +1 -1
  117. package/dist/esm/{filepond-plugin-image-exif-orientation-gUQtWcgV.js → filepond-plugin-image-exif-orientation-DltZqUg4.js} +1 -1
  118. package/dist/esm/{filepond-plugin-image-preview-D5Nm8BIl.js → filepond-plugin-image-preview-BaTVWxTU.js} +1 -1
  119. package/dist/esm/{functions-BWx2LhvF.js → functions-Bs_j7WYO.js} +1 -1
  120. package/dist/esm/{index-CDoLIl29.js → index-C2RHZyoj.js} +2 -2
  121. package/dist/esm/{index-CqOF4yoZ.js → index-CDmdUxH2.js} +1 -1
  122. package/dist/esm/loader.js +2 -2
  123. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  124. package/dist/esm/salla-accordion_6.entry.js +1 -1
  125. package/dist/esm/salla-add-product-button_5.entry.js +96 -77
  126. package/dist/esm/salla-advertisement.entry.js +1 -1
  127. package/dist/esm/salla-alert_2.entry.js +1 -1
  128. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  129. package/dist/esm/salla-apps-icons.entry.js +1 -1
  130. package/dist/esm/salla-badge.entry.js +1 -1
  131. package/dist/esm/salla-basket-gap.entry.js +1 -1
  132. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  133. package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
  134. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  135. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  136. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  137. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  138. package/dist/esm/salla-comment-factors.entry.js +1 -1
  139. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  140. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  141. package/dist/esm/salla-contacts.entry.js +1 -1
  142. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  143. package/dist/esm/salla-count-down_2.entry.js +1 -1
  144. package/dist/esm/salla-custom-fields.entry.js +1 -1
  145. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  146. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  147. package/dist/esm/salla-filters-widget.entry.js +1 -1
  148. package/dist/esm/salla-filters.entry.js +1 -1
  149. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  150. package/dist/esm/salla-gifting.entry.js +1 -1
  151. package/dist/esm/salla-hook.entry.js +1 -1
  152. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  153. package/dist/esm/salla-installment.entry.js +1 -1
  154. package/dist/esm/salla-list-tile.entry.js +1 -1
  155. package/dist/esm/salla-localization-modal.entry.js +1 -1
  156. package/dist/esm/salla-login-modal.entry.js +1 -1
  157. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  158. package/dist/esm/salla-loyalty-exchange-product-card_5.entry.js +3 -3
  159. package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
  160. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  161. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  162. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  163. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  164. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  165. package/dist/esm/salla-loyalty-reward.entry.js +2 -2
  166. package/dist/esm/salla-loyalty.entry.js +1 -1
  167. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  168. package/dist/esm/salla-map_2.entry.js +1 -1
  169. package/dist/esm/salla-menu.entry.js +1 -1
  170. package/dist/esm/salla-metadata.entry.js +1 -1
  171. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  172. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  173. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  174. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  175. package/dist/esm/salla-notification-item.entry.js +1 -1
  176. package/dist/esm/salla-notifications.entry.js +1 -1
  177. package/dist/esm/salla-offer-modal.entry.js +1 -1
  178. package/dist/esm/salla-offer.entry.js +1 -1
  179. package/dist/esm/salla-order-branch.entry.js +1 -1
  180. package/dist/esm/salla-order-cancel.entry.js +1 -1
  181. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  182. package/dist/esm/salla-order-details-options.entry.js +1 -1
  183. package/dist/esm/salla-order-details.entry.js +1 -1
  184. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  185. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  186. package/dist/esm/salla-order-edit.entry.js +1 -1
  187. package/dist/esm/salla-order-shipments.entry.js +1 -1
  188. package/dist/esm/salla-order-summary.entry.js +1 -1
  189. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  190. package/dist/esm/salla-orders.entry.js +1 -1
  191. package/dist/esm/salla-payments.entry.js +1 -1
  192. package/dist/esm/salla-placeholder.entry.js +1 -1
  193. package/dist/esm/salla-price-range.entry.js +1 -1
  194. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  195. package/dist/esm/salla-product-card_2.entry.js +1 -1
  196. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  197. package/dist/esm/salla-products-list.entry.js +1 -1
  198. package/dist/esm/salla-quick-order.entry.js +1 -1
  199. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  200. package/dist/esm/salla-rating-modal.entry.js +1 -1
  201. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  202. package/dist/esm/salla-scopes.entry.js +1 -1
  203. package/dist/esm/salla-search.entry.js +1 -1
  204. package/dist/esm/salla-skeleton.entry.js +1 -1
  205. package/dist/esm/salla-slider.entry.js +1 -1
  206. package/dist/esm/salla-social-share.entry.js +1 -1
  207. package/dist/esm/salla-social.entry.js +1 -1
  208. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  209. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  210. package/dist/esm/salla-tooltip.entry.js +1 -1
  211. package/dist/esm/salla-trust-badges.entry.js +1 -1
  212. package/dist/esm/salla-user-menu.entry.js +1 -1
  213. package/dist/esm/salla-user-profile.entry.js +1 -1
  214. package/dist/esm/salla-user-settings.entry.js +1 -1
  215. package/dist/esm/salla-verify.entry.js +1 -1
  216. package/dist/esm/salla-wallet.entry.js +1 -1
  217. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  218. package/dist/esm/{tracked-promise-B3rJfj6D.js → tracked-promise-Bac1d5rP.js} +1 -1
  219. package/dist/esm/twilight.js +2 -2
  220. package/dist/esm/{vanilla-picker-B0XMZPNF.js → vanilla-picker-DkDn1mCy.js} +1 -1
  221. package/dist/twilight/{p-2e0c4aba.entry.js → p-0562b11a.entry.js} +1 -1
  222. package/dist/twilight/{p-2a5baa1c.entry.js → p-07172f87.entry.js} +1 -1
  223. package/dist/twilight/{p-b578a997.entry.js → p-0bf8b901.entry.js} +1 -1
  224. package/dist/twilight/{p-e81fcaf5.entry.js → p-0c0b0f17.entry.js} +1 -1
  225. package/dist/twilight/{p-073ae9d0.entry.js → p-0f46096a.entry.js} +1 -1
  226. package/dist/twilight/{p-295e29ba.entry.js → p-14e4d573.entry.js} +1 -1
  227. package/dist/twilight/{p-fd4f51b0.entry.js → p-170b0b20.entry.js} +1 -1
  228. package/dist/twilight/{p-0414245a.entry.js → p-17f6d5e9.entry.js} +1 -1
  229. package/dist/twilight/{p-5d44bc7c.entry.js → p-19da2b5f.entry.js} +1 -1
  230. package/dist/twilight/{p-ad3ae322.entry.js → p-1a35503d.entry.js} +1 -1
  231. package/dist/twilight/{p-5b75d7a7.entry.js → p-1dc1808d.entry.js} +1 -1
  232. package/dist/twilight/{p-86678003.entry.js → p-1e264b7b.entry.js} +1 -1
  233. package/dist/twilight/{p-e4be3123.entry.js → p-1fbf48e4.entry.js} +1 -1
  234. package/dist/twilight/{p-bafeade1.entry.js → p-2093e47a.entry.js} +1 -1
  235. package/dist/twilight/{p-a4a2465c.entry.js → p-2461d714.entry.js} +1 -1
  236. package/dist/twilight/{p-f47a06bf.entry.js → p-25e4db15.entry.js} +1 -1
  237. package/dist/twilight/{p-fdbedc30.entry.js → p-27c7a2c9.entry.js} +1 -1
  238. package/dist/twilight/{p-d2e2db87.entry.js → p-2c562480.entry.js} +1 -1
  239. package/dist/twilight/{p-c7ae5ce3.entry.js → p-2c7ecbda.entry.js} +1 -1
  240. package/dist/twilight/{p-3b0dcbcb.entry.js → p-31b4d58b.entry.js} +1 -1
  241. package/dist/twilight/{p-3ab079ee.entry.js → p-35ec17e1.entry.js} +1 -1
  242. package/dist/twilight/{p-385698a7.entry.js → p-365bc069.entry.js} +1 -1
  243. package/dist/twilight/{p-ac9a1a33.entry.js → p-38daf7e5.entry.js} +1 -1
  244. package/dist/twilight/{p-3c77ac19.entry.js → p-413ed3a8.entry.js} +1 -1
  245. package/dist/twilight/{p-0a441ec3.entry.js → p-4f1b21ae.entry.js} +1 -1
  246. package/dist/twilight/{p-1505d5c0.entry.js → p-4f40c588.entry.js} +1 -1
  247. package/dist/twilight/{p-d2906cde.entry.js → p-52e08fdf.entry.js} +1 -1
  248. package/dist/twilight/{p-d345c7b2.entry.js → p-5516c00f.entry.js} +1 -1
  249. package/dist/twilight/{p-185da5d3.entry.js → p-5ccf3db9.entry.js} +1 -1
  250. package/dist/twilight/{p-ec3aedf8.entry.js → p-5d90d656.entry.js} +1 -1
  251. package/dist/twilight/{p-cf63495e.entry.js → p-5ffe3f2d.entry.js} +1 -1
  252. package/dist/twilight/{p-d58195a2.entry.js → p-6106b77f.entry.js} +1 -1
  253. package/dist/twilight/{p-4d725c13.entry.js → p-6383c0c9.entry.js} +1 -1
  254. package/dist/twilight/{p-d70f3b34.entry.js → p-6adfa24a.entry.js} +1 -1
  255. package/dist/twilight/{p-7cd4f855.entry.js → p-6e50105e.entry.js} +1 -1
  256. package/dist/twilight/{p-377578be.entry.js → p-6efbd4c4.entry.js} +1 -1
  257. package/dist/twilight/{p-a4469aa0.entry.js → p-709e6928.entry.js} +1 -1
  258. package/dist/twilight/{p-f8bb7a1b.entry.js → p-73b94072.entry.js} +1 -1
  259. package/dist/twilight/{p-938afc60.entry.js → p-75f96daa.entry.js} +1 -1
  260. package/dist/twilight/{p-6af0d2ca.entry.js → p-767d8982.entry.js} +1 -1
  261. package/dist/twilight/{p-3ab2c131.entry.js → p-79b8068e.entry.js} +1 -1
  262. package/dist/twilight/{p-39ed61d1.entry.js → p-7b774173.entry.js} +1 -1
  263. package/dist/twilight/{p-0e143834.entry.js → p-7c8f7654.entry.js} +1 -1
  264. package/dist/twilight/{p-0a6e70de.entry.js → p-7f4d38c3.entry.js} +1 -1
  265. package/dist/twilight/{p-852fd338.entry.js → p-810d4d3c.entry.js} +1 -1
  266. package/dist/twilight/{p-b3662c2a.entry.js → p-816fa850.entry.js} +1 -1
  267. package/dist/twilight/{p-b3cabdb3.entry.js → p-828d9df1.entry.js} +1 -1
  268. package/dist/twilight/p-850ee472.entry.js +4 -0
  269. package/dist/twilight/{p-ac428bc4.entry.js → p-85bf6531.entry.js} +1 -1
  270. package/dist/twilight/{p-8cb30cca.entry.js → p-899202da.entry.js} +1 -1
  271. package/dist/twilight/{p-58f8109b.entry.js → p-8a4ca0ae.entry.js} +1 -1
  272. package/dist/twilight/{p-6b70c316.entry.js → p-8ac8ae79.entry.js} +1 -1
  273. package/dist/twilight/{p-d279cb22.entry.js → p-8b673e8d.entry.js} +1 -1
  274. package/dist/twilight/{p-BRjoSniA.js → p-8pvTyiJe.js} +1 -1
  275. package/dist/twilight/{p-f2011a00.entry.js → p-9248fdf2.entry.js} +1 -1
  276. package/dist/twilight/{p-b66fe08b.entry.js → p-93f3e882.entry.js} +1 -1
  277. package/dist/twilight/{p-gBZJcPA-.js → p-BajcFLeO.js} +1 -1
  278. package/dist/twilight/{p-CUPXifBZ.js → p-Bq836xP-.js} +1 -1
  279. package/dist/twilight/{p-CDoLIl29.js → p-C2RHZyoj.js} +1 -1
  280. package/dist/twilight/{p-BN-W7MPg.js → p-CAX4v4uY.js} +1 -1
  281. package/dist/twilight/{p-hRifplWF.js → p-D3223Swj.js} +1 -1
  282. package/dist/twilight/{p-DMLBy1NO.js → p-DP7_3WjR.js} +1 -1
  283. package/dist/twilight/{p-C2UWOjWB.js → p-DPxh47LR.js} +1 -1
  284. package/dist/twilight/{p-BqtdPtV1.js → p-IiKvzpNh.js} +1 -1
  285. package/dist/twilight/{p-B2F0YSfq.js → p-QQHVhk5Y.js} +1 -1
  286. package/dist/twilight/{p-9c63ee4e.entry.js → p-a0e1c93b.entry.js} +1 -1
  287. package/dist/twilight/{p-d37ceff0.entry.js → p-a23e9a84.entry.js} +1 -1
  288. package/dist/twilight/{p-153729e1.entry.js → p-abaac4b2.entry.js} +1 -1
  289. package/dist/twilight/{p-0f54049f.entry.js → p-affa8fba.entry.js} +1 -1
  290. package/dist/twilight/{p-1351493b.entry.js → p-b09b6eac.entry.js} +1 -1
  291. package/dist/twilight/{p-39261863.entry.js → p-b9ca0260.entry.js} +1 -1
  292. package/dist/twilight/{p-d222cefc.entry.js → p-bd432397.entry.js} +1 -1
  293. package/dist/twilight/{p-ff8b92fe.entry.js → p-bdc4cf8a.entry.js} +1 -1
  294. package/dist/twilight/{p-f9ec6fd3.entry.js → p-beb10a19.entry.js} +1 -1
  295. package/dist/twilight/{p-f7e080d7.entry.js → p-bf8dc054.entry.js} +1 -1
  296. package/dist/twilight/{p-4acb81b8.entry.js → p-c410c308.entry.js} +1 -1
  297. package/dist/twilight/{p-7ef7e64b.entry.js → p-ca767303.entry.js} +1 -1
  298. package/dist/twilight/{p-fcf42564.entry.js → p-d0e105b6.entry.js} +1 -1
  299. package/dist/twilight/{p-22ac4488.entry.js → p-d3341f15.entry.js} +1 -1
  300. package/dist/twilight/{p-917e46be.entry.js → p-d341d13d.entry.js} +1 -1
  301. package/dist/twilight/{p-772aed9b.entry.js → p-d3f1c168.entry.js} +1 -1
  302. package/dist/twilight/{p-08dce1ce.entry.js → p-d4f95050.entry.js} +1 -1
  303. package/dist/twilight/{p-624897fa.entry.js → p-d6595f08.entry.js} +1 -1
  304. package/dist/twilight/{p-1a40876f.entry.js → p-d70dcd98.entry.js} +1 -1
  305. package/dist/twilight/{p-5aa34e28.entry.js → p-d7292a7d.entry.js} +1 -1
  306. package/dist/twilight/{p-bd8d866d.entry.js → p-dc62af21.entry.js} +1 -1
  307. package/dist/twilight/{p-2df8a90f.entry.js → p-e066ba8a.entry.js} +1 -1
  308. package/dist/twilight/{p-515699ab.entry.js → p-e0a7907c.entry.js} +1 -1
  309. package/dist/twilight/{p-133422b1.entry.js → p-e5a53d38.entry.js} +1 -1
  310. package/dist/twilight/{p-bcf9d2a2.entry.js → p-e6c22a1d.entry.js} +1 -1
  311. package/dist/twilight/{p-1cac4e8c.entry.js → p-e707b1b3.entry.js} +1 -1
  312. package/dist/twilight/{p-43cdcb03.entry.js → p-e7a63e62.entry.js} +1 -1
  313. package/dist/twilight/{p-2d97e204.entry.js → p-e7ce766b.entry.js} +1 -1
  314. package/dist/twilight/{p-5be1c192.entry.js → p-e9d45abb.entry.js} +1 -1
  315. package/dist/twilight/{p-984013c3.entry.js → p-eb1f64cd.entry.js} +1 -1
  316. package/dist/twilight/{p-ac0254de.entry.js → p-ebadf5db.entry.js} +1 -1
  317. package/dist/twilight/{p-d250c573.entry.js → p-edd24a95.entry.js} +1 -1
  318. package/dist/twilight/{p-d6ba436b.entry.js → p-f1aee1ed.entry.js} +1 -1
  319. package/dist/twilight/{p-3081cb55.entry.js → p-f6964426.entry.js} +1 -1
  320. package/dist/twilight/{p-bcd0be09.entry.js → p-f806661c.entry.js} +1 -1
  321. package/dist/twilight/{p-dc1adf40.entry.js → p-f9c442ef.entry.js} +1 -1
  322. package/dist/twilight/{p-0b8bc1b8.entry.js → p-fb79c232.entry.js} +1 -1
  323. package/dist/twilight/{p-c0bf2216.entry.js → p-fcfa3759.entry.js} +1 -1
  324. package/dist/twilight/{p-98ec6e04.entry.js → p-fe686d0e.entry.js} +1 -1
  325. package/dist/twilight/{p-029acfba.entry.js → p-ffb7f5e3.entry.js} +1 -1
  326. package/dist/twilight/{p-CVw6aBvl.js → p-rMqhG07q.js} +1 -1
  327. package/dist/twilight/{p-CMHTSC6o.js → p-tywMY7wu.js} +1 -1
  328. package/dist/twilight/twilight.esm.js +1 -1
  329. package/package.json +5 -5
  330. package/dist/twilight/p-c37406c2.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,h as s,H as l}from"./p-CDoLIl29.js";import{S as a}from"./p-CXRKXFgT.js";const o=t=>t?new Date(Number(t)).toLocaleDateString(salla.lang.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric"}):"",i=class{constructor(s){t(this,s),this.loyaltyPointsArray=[],this.balance=0,this.isLoadingLoyalty=!1,this.nextPageUrlLoyalty="",this.handleClick=()=>{this.loadMoreLoyaltyPoints()}}async componentWillLoad(){try{await salla.onReady(),await salla.lang.onLoaded(),await this.loadLoyaltyPoints()}catch(t){salla?.logger?.warn?.("salla-loyalty-points-history: init failed",t)}}async loadLoyaltyPoints(){this.isLoadingLoyalty=!0;try{let t="/balance/points?page=1",s=await salla.api.request(t);this.loyaltyPointsArray=s.data,this.balance=s.balance,this.nextPageUrlLoyalty=s.cursor.next}catch(t){console.error("Error loading loyalty points transactions",t)}finally{this.isLoadingLoyalty=!1}}async loadMoreLoyaltyPoints(){if(this.nextPageUrlLoyalty){this.isLoadingLoyalty=!0;try{let t=await salla.api.request(this.nextPageUrlLoyalty);this.loyaltyPointsArray=[...this.loyaltyPointsArray,...t.data],this.nextPageUrlLoyalty=t.cursor?.next||""}catch(t){console.error("Error loading more loyalty points",t)}finally{this.isLoadingLoyalty=!1}}}render(){return s(l,{key:"2d1ecb37f0cc74c3d6c3c29bc95d6043b373155f"},s("div",{key:"2c1a3e6af83fde1f55f6d5b5bed246a3206673c4"},this.isLoadingLoyalty?s("salla-loading",null):s("div",null,s("table",{class:"s-loyalty-points-history-table"},s("tbody",null,s("tr",null,s("td",null,s("div",{class:"s-loyalty-points-history-balance-container"},s("i",{class:"s-loyalty-points-history-balance-icon sicon-gift"}),s("div",null,s("div",{class:"s-loyalty-points-history-balance-value"},this.balance," ",salla.lang.get("pages.loyalty_program.point")),s("div",{class:"s-loyalty-points-history-balance-label"},salla.lang.get("pages.loyalty_program.your_points")))))))),this.loyaltyPointsArray.length>0?s("div",null,s("table",{class:"s-loyalty-points-history-table"},s("thead",{class:"s-loyalty-points-history-table-head"},s("tr",null,s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.points")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.date")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.expiry_date")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("common.elements.note")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("common.elements.status")))),s("tbody",null,this.loyaltyPointsArray.map((t=>s("tr",{class:"s-loyalty-points-history-table-tbody-tr"},s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.points"),":"),s("span",null,"plus"===t?.type?"+":"",t?.amount||""," ",salla.lang.get("pages.loyalty_program.point")))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.date"),":"),s("span",null,o(t?.created_at?1e3*Number(t.created_at):void 0)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.expiry_date"),":"),s("span",null,o(t?.expires_at?1e3*Number(t.expires_at):void 0)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("common.elements.note"),":"),s("span",null,(t=>{if(!t)return"";try{const s=t.toLowerCase(),l=salla.lang.get(`pages.loyalty_program.${s}`);return l===`pages.loyalty_program.${s}`?t:l}catch{return t}})(t?.key)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("common.elements.status"),":"),s("div",{class:{"s-loyalty-points-history-table-transaction-status":!0,"s-loyalty-points-history-table-transaction-status-pending":"pending"===t?.status_key,"s-loyalty-points-history-table-transaction-status-revoked":"revoked"===t?.status_key,"s-loyalty-points-history-table-transaction-status-used":"used"===t?.status_key,"s-loyalty-points-history-table-transaction-status-expired":"expired"===t?.status_key}},t?.status)))))))),s("div",{class:"s-loyalty-points-history-load-more"},!!this.nextPageUrlLoyalty&&s("salla-button",{onClick:this.handleClick,loading:this.isLoadingLoyalty},salla.lang.get("common.elements.load_more")))):s("div",{class:"s-loyalty-points-history-table-empty-state"},s("span",{innerHTML:a}),s("div",{class:"s-loyalty-points-history-table-placeholder-title"},salla.lang.get("pages.loyalty_program.no_loyality_points_title")),s("div",{class:"s-loyalty-points-history-table-placeholder-sub-title"},salla.lang.get("pages.loyalty_program.no_loyality_points_sub_title"))))))}};export{i as salla_loyalty_points_history}
4
+ import{r as t,h as s,H as l}from"./p-C2RHZyoj.js";import{S as a}from"./p-CXRKXFgT.js";const o=t=>t?new Date(Number(t)).toLocaleDateString(salla.lang.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric"}):"",i=class{constructor(s){t(this,s),this.loyaltyPointsArray=[],this.balance=0,this.isLoadingLoyalty=!1,this.nextPageUrlLoyalty="",this.handleClick=()=>{this.loadMoreLoyaltyPoints()}}async componentWillLoad(){try{await salla.onReady(),await salla.lang.onLoaded(),await this.loadLoyaltyPoints()}catch(t){salla?.logger?.warn?.("salla-loyalty-points-history: init failed",t)}}async loadLoyaltyPoints(){this.isLoadingLoyalty=!0;try{let t="/balance/points?page=1",s=await salla.api.request(t);this.loyaltyPointsArray=s.data,this.balance=s.balance,this.nextPageUrlLoyalty=s.cursor.next}catch(t){console.error("Error loading loyalty points transactions",t)}finally{this.isLoadingLoyalty=!1}}async loadMoreLoyaltyPoints(){if(this.nextPageUrlLoyalty){this.isLoadingLoyalty=!0;try{let t=await salla.api.request(this.nextPageUrlLoyalty);this.loyaltyPointsArray=[...this.loyaltyPointsArray,...t.data],this.nextPageUrlLoyalty=t.cursor?.next||""}catch(t){console.error("Error loading more loyalty points",t)}finally{this.isLoadingLoyalty=!1}}}render(){return s(l,{key:"2d1ecb37f0cc74c3d6c3c29bc95d6043b373155f"},s("div",{key:"2c1a3e6af83fde1f55f6d5b5bed246a3206673c4"},this.isLoadingLoyalty?s("salla-loading",null):s("div",null,s("table",{class:"s-loyalty-points-history-table"},s("tbody",null,s("tr",null,s("td",null,s("div",{class:"s-loyalty-points-history-balance-container"},s("i",{class:"s-loyalty-points-history-balance-icon sicon-gift"}),s("div",null,s("div",{class:"s-loyalty-points-history-balance-value"},this.balance," ",salla.lang.get("pages.loyalty_program.point")),s("div",{class:"s-loyalty-points-history-balance-label"},salla.lang.get("pages.loyalty_program.your_points")))))))),this.loyaltyPointsArray.length>0?s("div",null,s("table",{class:"s-loyalty-points-history-table"},s("thead",{class:"s-loyalty-points-history-table-head"},s("tr",null,s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.points")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.date")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("pages.wallet.expiry_date")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("common.elements.note")),s("th",{scope:"col",class:"s-loyalty-points-history-table-head-tr-th"},salla.lang.get("common.elements.status")))),s("tbody",null,this.loyaltyPointsArray.map((t=>s("tr",{class:"s-loyalty-points-history-table-tbody-tr"},s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.points"),":"),s("span",null,"plus"===t?.type?"+":"",t?.amount||""," ",salla.lang.get("pages.loyalty_program.point")))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.date"),":"),s("span",null,o(t?.created_at?1e3*Number(t.created_at):void 0)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("pages.wallet.expiry_date"),":"),s("span",null,o(t?.expires_at?1e3*Number(t.expires_at):void 0)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("common.elements.note"),":"),s("span",null,(t=>{if(!t)return"";try{const s=t.toLowerCase(),l=salla.lang.get(`pages.loyalty_program.${s}`);return l===`pages.loyalty_program.${s}`?t:l}catch{return t}})(t?.key)))),s("td",{class:"s-loyalty-points-history-table-tbody-tr-td"},s("div",{class:"s-loyalty-points-history-table-tbody-tr-td-content"},s("span",{class:"s-loyalty-points-history-mobile-title"},salla.lang.get("common.elements.status"),":"),s("div",{class:{"s-loyalty-points-history-table-transaction-status":!0,"s-loyalty-points-history-table-transaction-status-pending":"pending"===t?.status_key,"s-loyalty-points-history-table-transaction-status-revoked":"revoked"===t?.status_key,"s-loyalty-points-history-table-transaction-status-used":"used"===t?.status_key,"s-loyalty-points-history-table-transaction-status-expired":"expired"===t?.status_key}},t?.status)))))))),s("div",{class:"s-loyalty-points-history-load-more"},!!this.nextPageUrlLoyalty&&s("salla-button",{onClick:this.handleClick,loading:this.isLoadingLoyalty},salla.lang.get("common.elements.load_more")))):s("div",{class:"s-loyalty-points-history-table-empty-state"},s("span",{innerHTML:a}),s("div",{class:"s-loyalty-points-history-table-placeholder-title"},salla.lang.get("pages.loyalty_program.no_loyality_points_title")),s("div",{class:"s-loyalty-points-history-table-placeholder-sub-title"},salla.lang.get("pages.loyalty_program.no_loyality_points_sub_title"))))))}};export{i as salla_loyalty_points_history}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{r as t,c as s,h as i,H as e,a as n}from"./p-CDoLIl29.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"610ae038d4f9db109e3f25830e82b39a2b07a010"},i("salla-modal",{key:"b06c130448cd1862d2e879a0285fd385395cc11b",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"1f8b9ffa80a40f8240ede4b8996943f7eecf4098",slot:"loading"},i("salla-skeleton",{key:"26463b16022e1f66fd66f4e9cd8907521352bac1",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"bae60782cbe4ac7dc325fd666258198cd871a52e",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"998afc3297e89df7e0a6b2514a6d5f4f75152492",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"935a3d01a417926e904507d0a64da43c84924068",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"eeb710a27917f6134a2595ebb8e4ec485bb26254",slot:"footer"},i("div",{key:"2ae3d47c461b68d61fcaa1d8f279ae6402aedf2e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"436f64a89183f0e6d56b6800ad031449c49cc751",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"e473b6089ee0e7026dfec042462ed827dabd0083"},i("salla-slider",{key:"492187e1a1c105c21c48543aa227888d122cfa20",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"e40e816439f3b3e1bee12ebdcea60438a45fec12",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}
4
+ import{r as t,c as s,h as i,H as e,a as n}from"./p-C2RHZyoj.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"610ae038d4f9db109e3f25830e82b39a2b07a010"},i("salla-modal",{key:"b06c130448cd1862d2e879a0285fd385395cc11b",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"1f8b9ffa80a40f8240ede4b8996943f7eecf4098",slot:"loading"},i("salla-skeleton",{key:"26463b16022e1f66fd66f4e9cd8907521352bac1",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"bae60782cbe4ac7dc325fd666258198cd871a52e",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"998afc3297e89df7e0a6b2514a6d5f4f75152492",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"935a3d01a417926e904507d0a64da43c84924068",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"eeb710a27917f6134a2595ebb8e4ec485bb26254",slot:"footer"},i("div",{key:"2ae3d47c461b68d61fcaa1d8f279ae6402aedf2e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"436f64a89183f0e6d56b6800ad031449c49cc751",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"e473b6089ee0e7026dfec042462ed827dabd0083"},i("salla-slider",{key:"492187e1a1c105c21c48543aa227888d122cfa20",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"e40e816439f3b3e1bee12ebdcea60438a45fec12",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}